diff options
Diffstat (limited to 'mayor-orig/www/policy')
399 files changed, 20089 insertions, 0 deletions
diff --git a/mayor-orig/www/policy/parent/naplo/diakValaszto-pre.php b/mayor-orig/www/policy/parent/naplo/diakValaszto-pre.php new file mode 100644 index 00000000..90fa6df3 --- /dev/null +++ b/mayor-orig/www/policy/parent/naplo/diakValaszto-pre.php @@ -0,0 +1,34 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + require_once('include/modules/naplo/share/szulo.php'); + + $diakId = readVariable($_POST['diakId'],'id',null); + $SZULODIAKJAI = getSzuloDiakjai(); + + if (!is_array($SZULODIAKJAI) || count($SZULODIAKJAI)==0) { + $_SESSION['alert'][] = ':!E12:nincs_egy_diakja_se:'._USERACCOUNT.':'._POLICY; + } + if ($action == 'valaszt') { + for ($i=0; $i<count($SZULODIAKJAI); $i++) { + if ($SZULODIAKJAI[$i]['diakId']==$diakId) { + updateSessionParentDiakId($diakId) ; +// setcookie(_SESSIONID.'-diakIdOk', true, 0, '/'); + $_SESSION['szuloDiakIdOk']=true; + if ($DEFAULT_PSF['parent']['f'] != 'diakValaszto' || $DEFAULT_PSF['parent']['page'] != 'naplo') + header('Location: '.location('index.php?page='.$DEFAULT_PSF['parent']['page'].'&sub='.$DEFAULT_PSF['parent']['sub'].'&f='.$DEFAULT_PSF['parent']['f'])); + elseif ($DEFAULT_PSF['parent']['f'] == 'diakValaszto') + header('Refresh:0'); // a konstans előbb definiálódik + break; + } + } + //---- + } elseif (count($SZULODIAKJAI)==1) { + updateSessionParentDiakId($SZULODIAKJAI[0]['diakId']) ; +// setcookie(_SESSIONID.'-diakIdOk', true, 0, '/'); + $_SESSION['szuloDiakIdOk']=true; + if ($DEFAULT_PSF['parent']['f'] != 'diakValaszto' || $DEFAULT_PSF['parent']['page'] != 'naplo') + header('Location: '.location('index.php?page='.$DEFAULT_PSF['parent']['page'].'&sub='.$DEFAULT_PSF['parent']['sub'].'&f='.$DEFAULT_PSF['parent']['f'])); + } + +?> diff --git a/mayor-orig/www/policy/parent/naplo/diakValaszto.php b/mayor-orig/www/policy/parent/naplo/diakValaszto.php new file mode 100644 index 00000000..b64ee30c --- /dev/null +++ b/mayor-orig/www/policy/parent/naplo/diakValaszto.php @@ -0,0 +1,8 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + global $SZULODIAKJAI; + + putDiakValasztoForm($SZULODIAKJAI); + +?> diff --git a/mayor-orig/www/policy/parent/naplo/hirnok b/mayor-orig/www/policy/parent/naplo/hirnok new file mode 120000 index 00000000..56d56cc8 --- /dev/null +++ b/mayor-orig/www/policy/parent/naplo/hirnok @@ -0,0 +1 @@ +../../private/naplo/hirnok
\ No newline at end of file diff --git a/mayor-orig/www/policy/parent/naplo/naplo-pre.php b/mayor-orig/www/policy/parent/naplo/naplo-pre.php new file mode 100644 index 00000000..bec91f25 --- /dev/null +++ b/mayor-orig/www/policy/parent/naplo/naplo-pre.php @@ -0,0 +1,5 @@ +<?php + + header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=diak')); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/parent/naplo/naplo.php b/mayor-orig/www/policy/parent/naplo/naplo.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/parent/naplo/naplo.php diff --git a/mayor-orig/www/policy/private/naplo/admin/admin-pre.php b/mayor-orig/www/policy/private/naplo/admin/admin-pre.php new file mode 100644 index 00000000..5cb70fd2 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/admin-pre.php @@ -0,0 +1,5 @@ +<?php + + header('Location: '.location('index.php?page=naplo&sub=admin&f=import')); + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/admin.php b/mayor-orig/www/policy/private/naplo/admin/admin.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/admin.php diff --git a/mayor-orig/www/policy/private/naplo/admin/azonositok-pre.php b/mayor-orig/www/policy/private/naplo/admin/azonositok-pre.php new file mode 100644 index 00000000..19622167 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/azonositok-pre.php @@ -0,0 +1,133 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + + $tanev = readVariable($_POST['tanev'],'numeric',__TANEV); + $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/session/search/searchGroup.php'); + require_once('include/modules/session/search/searchAccount.php'); + require_once('include/modules/session/createAccount.php'); + + if (isset($osztalyId)) { + $osztalyAdat = getOsztalyAdat($osztalyId, $tanev, $lr); + $osztalyTagok = getOsztalyNevsorEsOid($osztalyId); + $oIds = $Tagok = array(); + for ($i = 0; $i < count($osztalyTagok); $i++) { + $oIds[] = $oId = $osztalyTagok[$i]['oId']; + $Tagok[$oId] = $osztalyTagok[$i]; + $osztalyTagok[$i]['userAccounts'] = array(); + if ($oId != '') { + $ret = searchAccount('studyId', $oId, array('userAccount'), 'private'); + if ($ret['count'] == 1) { + $osztalyTagok[$i]['userAccount'] = $ret[0]['userAccount'][0]; + } elseif ($ret['count'] > 1) { + $osztalyTagok[$i]['userAccounts'] = array(); + for ($j = 0; $j < $ret['count']; $j++) $osztalyTagok[$i]['userAccounts'][] = $ret[$j]['userAccount'][0]; + $_SESSION['alert'][] = "message:wrong_data:több account egy oId-hoz:oId=$oId:userAccount=".implode(',', $osztalyTagok[$i]['userAccounts']); + } + if (!isset($osztalyTagok[$i]['userAccount']) && count($osztalyTagok[$i]['userAccounts']) == 0) { + // Ha az oId alapján nem találtunk, akkor tovább keresünk név alapján + $ret = searchAccount('userCn', $osztalyTagok[$i]['diakNev'], array('userAccount','studyId'), 'private'); + if ($ret['count'] > 0) { + $osztalyTagok[$i]['userAccounts'] = $osztalyTagok[$i]['studyIds'] = array(); + for ($j = 0; $j < $ret['count']; $j++) { + $osztalyTagok[$i]['userAccounts'][] = $ret[$j]['userAccount'][0]; + $osztalyTagok[$i]['studyIds'][] = $ret[$j]['studyId'][0]; + } + } + // Javasolt azonosító generálása + $csNev = $osztalyTagok[$i]['viseltCsaladinev']; + $pos = mb_strpos($csNev, ' ', 0, 'UTF-8'); + if ($pos > 0 && mb_substr($csNev, $pos-2, 2, 'UTF-8') == 'né') { + $csNev = mb_substr($csNev,$pos+1,strlen($csNev)-$pos-1,'UTF-8'); + $pos = mb_strpos($csNev, ' ', 0, 'UTF-8'); + } + if ($pos > 0) $csNev = mb_substr($csNev, 0, $pos, 'UTF-8'); + $uNev = $osztalyTagok[$i]['viseltUtonev']; + $pos = mb_strpos($uNev, ' ', 0, 'UTF-8'); + if ($pos > 0) $uNev = mb_substr($uNev, 0, $pos, 'UTF-8'); + if ($AUTH[_POLICY]['unixStyleAccounts']) { + $csNev = ekezettelen(kisbetus($csNev)); + $uNev = ekezettelen(kisbetus($uNev)); + $osztalyTagok[$i]['generatedAccount'] = substr($csNev.$uNev[0], 0, 8); + } else { + $pos = mb_strpos($csNev, ' ', 0, 'UTF-8'); + $osztalyTagok[$i]['generatedAccount'] = $csNev.'.'.$uNev; + } + } + } + } + } + + if ($action == 'createAzonosito') { + $userPassword = readVariable($_POST['userPassword'], 'sql', null); + $CONTAINER = $AUTH['private'][ $AUTH['private']['backend'].'Containers']; + $container = readVariable($_POST['container'], 'enum', null, $CONTAINER); + if (is_array($CONTAINER) && count($CONTAINER) > 0 && !isset($container)) { + $_SESSION['alert'][] = 'message:empty_fields:container'; + } else { + define('__JELSZOGENERALAS', $userPassword == ''); + + if (is_array($_POST['userAccount'])) for ($i = 0; $i < count($_POST['userAccount']); $i++) { + $oId = readVariable($_POST['oId'][$i], 'number', null); + $userAccount = readVariable($_POST['userAccount'][$i], 'sql', null); + if (isset($oId) && isset($userAccount)) { + if (__JELSZOGENERALAS === true) { + $userPassword = $Tagok[$oId]['userPassword'] = sprintf("%u", crc32($Tagok[$oId]['viseltCsaladinev'])); + } + $userCn = $Tagok[$oId]['diakNev']; + createAccount($userCn, $userAccount, $userPassword, 'private', + $SET = array('category' => 'diák', 'container' => $container, 'groups' => '', 'policyAttrs' => array('studyId' => $oId)) + ); + // a settings táblában felvesszük, hogy melyik intézményhez van rendelve (ez persze nem korlátoz, csak egy alapértelmezés + $q = "DELETE FROM settings WHERE userAccount='%s' AND policy='%s'"; + db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array($userAccount, 'private'))); + $q = "INSERT INTO settings (userAccount,policy,intezmeny) VALUES ('%s','%s','%s')"; + db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array($userAccount, 'private', __INTEZMENY))); + } + } + } + + // Újraolvasás + $osztalyTagok = getOsztalyNevsorEsOid($osztalyId); + for ($i = 0; $i < count($osztalyTagok); $i++) { + $oId = $osztalyTagok[$i]['oId']; + $osztalyTagok[$i]['userAccounts'] = array(); + if ($oId != '') { + $ret = searchAccount('studyId', $oId, array('userAccount'), 'private'); + if ($ret['count'] == 1) { + $osztalyTagok[$i]['userAccount'] = $ret[0]['userAccount'][0]; + } elseif ($ret['count'] > 1) { + $osztalyTagok[$i]['userAccounts'] = array(); + for ($j = 0; $j < $ret['count']; $j++) $osztalyTagok[$i]['userAccounts'][] = $ret[$j]['userAccount'][0]; + } + if (!isset($osztalyTagok[$i]) && !is_array($osztalyTagok[$i]['userAccounts'])) { + // Ha az oId alapján nem találtunk, akkor tovább keresünk név alapján + $ret = searchAccount('userCn', $osztalyTagok[$i]['diakNev'], array('userAccount','studyId'), 'private'); + if ($ret['count'] > 0) { + $osztalyTagok[$i]['userAccounts'] = $osztalyTagok[$i]['studyIds'] = array(); + for ($j = 0; $j < $ret['count']; $j++) { + $osztalyTagok[$i]['userAccounts'][] = $ret[$j]['userAccount'][0]; + $osztalyTagok[$i]['studyIds'][] = $ret[$j]['studyId'][0]; + } + } + } + } + } // for - újraolvasás + } + + $TOOL['tanevSelect'] = array('tipus' => 'cella','tanev' => $tanev, 'paramName' => 'tanev', 'post' => array('osztalyId')); + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('igDt', 'tanev')); + getToolParameters(); + + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/azonositok.php b/mayor-orig/www/policy/private/naplo/admin/azonositok.php new file mode 100644 index 00000000..50df705e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/azonositok.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $osztalyId, $osztalyTagok, $Tagok, $ldapTagok, $tanev; + + if (is_array($osztalyTagok)) putCreateAzonositoForm($osztalyId, $osztalyTagok, $tanev, $Tagok); + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/checksql-pre.php b/mayor-orig/www/policy/private/naplo/admin/checksql-pre.php new file mode 100644 index 00000000..e952a01b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/checksql-pre.php @@ -0,0 +1,22 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN !== true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + /* Attach shared lib */ + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/file.php'); + + $Q_ERR = array(); + $queryFile = fileNameNormal(__INTEZMENY_DB_FILE); // __ALAP|__TANEV + $db = 'naplo_intezmeny'; + checkSqlConsistency($queryFile,$db,$Q_ERR); + + $queryFile = fileNameNormal(__TANEV_DB_FILE); // __ALAP|__TANEV + $db = 'naplo'; + checkSqlConsistency($queryFile,$db,$Q_ERR); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/checksql.php b/mayor-orig/www/policy/private/naplo/admin/checksql.php new file mode 100644 index 00000000..7ad8e3b9 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/checksql.php @@ -0,0 +1,15 @@ +<?php + + global $Q_ERR; + + if (is_array($Q_ERR) && count($Q_ERR)>0) { + echo '<table border="1">'; + for($i=0; $i<count($Q_ERR); $i++) { + echo '<tr><th>'.$i.'</th></tr><tr><td>'; + echo htmlDiff($Q_ERR[$i]['inDb'],$Q_ERR[$i]['inFile']); //filenamenormal checked + echo '</td><td>'; + echo '</td></tr>'."\n"; + } + echo '</table>'; + } +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/csoportok-pre.php b/mayor-orig/www/policy/private/naplo/admin/csoportok-pre.php new file mode 100644 index 00000000..63a1e0d5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/csoportok-pre.php @@ -0,0 +1,68 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN !== true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + + if (isset($_POST['osztalyId'])) { + $osztalyId = $_POST['osztalyId']; + $Csoportok = getCsoportok($osztalyId); + $Tankorok = getOsztalyTankorei($osztalyId); + } + if (isset($_POST['csoportId'])) { + $csoportId = $_POST['csoportId']; + $csoportAdatok = getCsoportAdatok($csoportId); + } + + if ($action == 'ujCsoport') { + + if (!is_array($_POST['tankorId'])) { + $_SESSION['alert'][] = 'message:empty_field:tankorId[]'; + } else { + $tankorIds = $_POST['tankorId']; + if ($_POST['csoportNev'] != '') { + $csoportNev = $_POST['csoportNev']; + } else { + $csNev = array(); + for ($i = 0; $i < count($Tankorok); $i++) { + if (in_array($Tankorok[$i]['tankorId'],$tankorIds)) { + $csNev[] = $Tankorok[$i]['tankorNev'] ; + } + } + $csoportNev = implode(', ',$csNev); + } + $csoportId = ujCsoport($csoportNev, $tankorIds); + $Csoportok = getCsoportok($osztalyId); + if ($csoportId) $csoportAdatok = getCsoportAdatok($csoportId); + } + } elseif ($action == 'csoportModositas') { + + if (!is_array($_POST['tankorId'])) { + $_SESSION['alert'][] = 'message:empty_field:tankorId[]'; + } else { + $tankorIds = $_POST['tankorId']; + if (csoportModositas($csoportId, $_POST['csoportNev'], $tankorIds)) { + $Csoportok = getCsoportok($osztalyId); + $csoportAdatok = getCsoportAdatok($csoportId); + } + } + } elseif ($action == 'csoportTorlese') { + + if (csoportTorles($csoportId)) { + $Csoportok = getCsoportok($osztalyId); + unset($csoportId); + unset($csoportAdatok); + } + + } + + + $TOOL['osztalySelect'] = array('tipus'=>'cella'); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/csoportok.php b/mayor-orig/www/policy/private/naplo/admin/csoportok.php new file mode 100644 index 00000000..6ad4d67a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/csoportok.php @@ -0,0 +1,14 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $osztalyId, $Csoportok, $csoportId, $Tankorok, $csoportAdatok; + + if (is_array($Csoportok) && count($Csoportok) > 0) putCsoportLista($Csoportok, $osztalyId, $csoportId); + if (isset($csoportId) && $csoportId != '') { + putCsoportModositoForm($csoportAdatok, $Tankorok, $osztalyId); + putCsoportTorlesForm($csoportId, $osztalyId); + } + putUjCsoportForm($osztalyId, $Tankorok); + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/fillhaladasi-pre.php b/mayor-orig/www/policy/private/naplo/admin/fillhaladasi-pre.php new file mode 100644 index 00000000..493b08fe --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/fillhaladasi-pre.php @@ -0,0 +1,30 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN !== true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + + $tolDt = readVariable($_POST['tolDt'],'date',$_TANEV['kezdesDt']); + $igDt = readVariable($_POST['igDt'],'date',date('Y-m-d')); + if ($action != '') { + $q = "SELECT DISTINCT dt FROM nap WHERE dt BETWEEN '%s' AND '%s' AND tipus='tanítási nap'"; + $NAPOK = db_query($q, array('fv'=>'fillhaladasi-pre','modul'=>'naplo','values'=>array($tolDt,$igDt),'result'=>'indexed')); + for ($i=0; $i<count($NAPOK);$i++) { + $res = (checkNaplo($NAPOK[$i]['dt'])); + if ($res===false) $_SESSION['alert'][] = '::hiba:'.$NAPOK[$i]['dt']; + else $SUCCESS[] = " + ".$NAPOK[$i]['dt']; + } + if (count($SUCCESS)>=1) $_SESSION['alert'][] = 'info:success:***'.implode('***',$SUCCESS); + } + + $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt', + 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $igDt, + 'hanyNaponta' => '1' + ); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/fillhaladasi.php b/mayor-orig/www/policy/private/naplo/admin/fillhaladasi.php new file mode 100644 index 00000000..c6d1a8c0 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/fillhaladasi.php @@ -0,0 +1,6 @@ +<?php + + global $tolDt, $igDt; + fillHaladasiForm($tolDt, $igDt); + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/import-pre.php b/mayor-orig/www/policy/private/naplo/admin/import-pre.php new file mode 100644 index 00000000..bb34046f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/import-pre.php @@ -0,0 +1,49 @@ +<?php + +if (_RIGHTS_OK !== true) die(); + +require_once('include/modules/naplo/share/file.php'); + +if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'message:insufficient_access'; +} else { + + $mezo_elvalaszto = ' '; + if (isset($_POST['dbtable'])) { + $dbtable = $_POST['dbtable']; + list($db,$table) = explode(':',$dbtable); + } + //IDEIGLENESEN if (isset($_POST['fileName'])) $fileName = fileNameNormal($_POST['fileName']); + if (isset($_POST['fileName'])) $fileName = ($_POST['fileName']); + $ADATOK = array(); + + if (isset($table)) { + if ($fileName != '') { + define('_SKIP_ON_DUP',readVariable($_POST['skipOnDup'],'bool')); + + if (file_exists($fileName)) { + $MEZO_LISTA = $_POST['MEZO_LISTA']; + $KULCS_MEZOK = $_POST['KULCS_MEZOK']; + if (!is_array($MEZO_LISTA)) { + + $ADATOK = readUpdateFile($fileName); + if (count($ADATOK) > 0) $attrList = getTableFields($table, $db); + else $_SESSION['alert'][] = 'message:wrong_data'; + + } else { + updateTable($table, $fileName, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto, readVariable($_POST['rovatfej'], 'bool'), $db); + + } // MEZO_LISTA tömb + } else { + $_SESSION['alert'][] = 'message:file_not_found:'.$fileName; + } // A file létezik-e + + } // van file + } // van $table ($db) + +} // naploadmin + +$TOOL['TableSelect'] = array('tipus'=>'cella','paramName' => 'dbtable', 'post'=>array()); +getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/import.php b/mayor-orig/www/policy/private/naplo/admin/import.php new file mode 100644 index 00000000..8edc7d3e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/import.php @@ -0,0 +1,19 @@ +<?php + +if (_RIGHTS_OK !== true) die(); + +global $table, $dbtable, $fileName, $ADATOK, $attrList, $MEZO_LISTA; + +if (isset($table)) { + if ($fileName == '') { + putFileSelectForm($dbtable); + } elseif ($MEZO_LISTA == '') { + if (count($ADATOK) > 0) + putFieldSelectForm($fileName, $ADATOK, $attrList, $dbtable); + else + echo 'NINCS ADAT!'; + } else { + echo 'Adatfeldolgozás kész.'; + } +} else { echo 'nincs table'; } +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/install-pre.php b/mayor-orig/www/policy/private/naplo/admin/install-pre.php new file mode 100644 index 00000000..1a655c4e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/install-pre.php @@ -0,0 +1,47 @@ +<?php + + if (_RIGHTS_OK !== true) die(); +// if (__NAPLO_INSTALLED !== false) die('A __NAPLO_INSTALLED konstans már true? ('._CONFIGDIR.'/module-naplo/config.php)'); + + function checkInstall($force = false) { + + global $group_ok, $admin_ok, $db_ok, $MYSQL_DATA; + + // naploadmin? + $group_ok = true; + $admin_ok = memberOf(_USERACCOUNT,'naploadmin'); + + if (!$admin_ok) { + if (strpos($_SESSION['alert'][count($_SESSION['alert'])-1], 'no_group:naploadmin')) { + $group_ok = false; + array_pop($_SESSION['alert']); + } + // Nincs naploadmin csoport + if (!$group_ok && $force===true) { + require_once('include/modules/session/createGroup.php'); + if (createGroup('naploadmin','Napló adminisztrátorok',_USERACCOUNT,'egyéb')) { + $group_ok = true; + $admin_ok = true; + } + } + } + + // mayor_naplo adatbázis van? + $db_ok = db_connect('naplo_base'); + if ($db_ok) db_close($db_ok); + else $_SESSION['alert'][] = '::naplo_base'; + + } + + if ($action === 'createDatabase') { + + require_once('include/modules/naplo/share/mysql.php'); + $dbNev = $MYSQL_DATA['naplo_base']['db']; + //createDatabase($dbNev, __ALAP_DB_FILE, $_POST['rootUser'], $_POST['rootPassword']); + + } + + checkInstall(); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/install.php b/mayor-orig/www/policy/private/naplo/admin/install.php new file mode 100644 index 00000000..11400c3c --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/install.php @@ -0,0 +1,31 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $db_ok, $admin_ok, $group_ok; + +if (defined('__NAPLO_INSTALLED') && __NAPLO_INSTALLED === false) { + if (!$admin_ok) { + echo 'Nem vagy a <code>naploadmin</code> csoport tagja!</p>'; + } + if (!$group_ok) { + echo '<p>Még nem hoztál létre <q>naploadmin</q> csoportot!</p>'; + echo '<p>Hozd létre a <q>Felhasználói adatok/Új csoport</q> menüpont alatt!</p>'; + } elseif (!$db_ok) { + echo '<p>Létre kell hoznunk a naplo modul alap adatbázisát!</p>'; + echo '<p>Ehhez szükség lesz a MySQL root jelszó megadására.</p>'; + echo '<form method="post" action="">'; // --TODO + echo '<input type="hidden" name="action" value="createDatabase" />'; + echo 'User: '; + echo '<input type="text" name="rootUser" value="root" /><br/>'; + echo 'Jelszó: '; + echo '<input type="password" name="rootPassword" value="" /><br/>'; + echo '<input type="submit" value="OK" />'; + echo '</form>'; // --TODO + } else { + echo '<p>Úgy tűnik a modul telepítése kész. Az <code>base/config.php</code>-ben módosítsuk a <code>__NAPLO_INSTALLED</code> értékét true-ra és kész.</p>'; + } +} else { + echo '<p>Már telepítve!</p>'; +} +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/intezmenyek-pre.php b/mayor-orig/www/policy/private/naplo/admin/intezmenyek-pre.php new file mode 100644 index 00000000..e2dcc43d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/intezmenyek-pre.php @@ -0,0 +1,79 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/modules/naplo/share/file.php'); + $ADAT['fenntartok'] = getEnumField('naplo_base', 'intezmeny', 'fenntarto'); + $ADAT['intezmeny'] = $intezmeny = readVariable($_POST['intezmeny'], 'strictstring', defined('__INTEZMENY') ? __INTEZMENY : null); + + if ($action == 'ujIntezmeny') { + + require_once('include/modules/naplo/share/mysql.php'); + + $rovidnev = readVariable($_POST['rovidnev'], 'strictstring', null); + if (isset($rovidnev)) { + $dbNev = intezmenyDbNev($rovidnev); + $rootUser = readVariable($_POST['rootUser'], 'strictstring', null); + $rootPassword = readVariable($_POST['rootPassword'], 'string', null); // nincs ellenőrzés! + if (createDatabase($dbNev, __INTEZMENY_DB_FILE, $rootUser, $rootPassword)) { + $OMKod = readVariable($_POST['OMKod'], 'numeric unsigned', null); + $nev = readVariable($_POST['nev'], 'sql', null); + $rovidnev = readVariable($_POST['rovidnev'], 'strictstring', null); + intezmenyBejegyzese($OMKod, $nev, $rovidnev); + updateNaploSession($sessionID,$rovidnev); + header('Location: ' . location('index.php?page=naplo&sub=admin&f=tanevek')); + } + } + + } elseif ($action == 'intezmenyModositas') { + + $ADAT['nev'] = readVariable($_POST['nev'], 'sql', null); + $ADAT['OMKod'] = readVariable($_POST['OMKod'], 'numeric unsigned', null); + $ADAT['alapertelmezett'] = readVariable($_POST['alapertelmezett'], 'numeric unsigned', 0, array(0,1)); + $ADAT['fenntarto'] = readVariable($_POST['fenntarto'], 'enum','állami',$ADAT['fenntartok']); + // A readVariable hívások a függvénybe kerültek! + intezmenyModositas($ADAT); + + } elseif ($action == 'intezmenyTorles') { + + intezmenyTorles(__INTEZMENY); + require_once('include/modules/naplo/share/intezmenyek.php'); + if (updateSessionIntezmeny('')) { + header('Location: '.location('index.php?page=naplo&sub=admin&f=intezmenyek')); + } + header('Location: '.location('index.php?page=naplo&sub=admin&f=intezmenyek')); + + } elseif ($action == 'intezmenyValasztas') { + + if (isset($intezmeny) && $intezmeny !== __INTEZMENY) { + require_once('include/modules/naplo/share/intezmenyek.php'); + if (updateSessionIntezmeny($intezmeny)) { + header('Location: '.location('index.php?page=naplo&sub=admin&f=intezmenyek')); + } + } + } elseif ($action == 'telephelyModositas') { + + telephelyModositas($_POST); + + } elseif ($action == 'ujTelephely') { + + ujTelephely($_POST); + + } // action + + // Az aktuális intézmény adatainak lekérdezése + if (defined('__INTEZMENY') and __INTEZMENY != '') { + $ADAT['intezmenyAdat'] = getIntezmeny(__INTEZMENY); + } + + $TOOL['intezmenySelect'] = array('tipus'=>'cella', 'action' => 'intezmenyValasztas', 'post'=>array()); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/intezmenyek.php b/mayor-orig/www/policy/private/naplo/admin/intezmenyek.php new file mode 100644 index 00000000..22c35361 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/intezmenyek.php @@ -0,0 +1,13 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (defined('__INTEZMENY') && __INTEZMENY != '') { + putIntezmenyModositasForm($ADAT); + putIntezmenyTorlesForm($ADAT); + } + putUjIntezmenyForm(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/rpcPrivilege-pre.php b/mayor-orig/www/policy/private/naplo/admin/rpcPrivilege-pre.php new file mode 100644 index 00000000..d33879c1 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/rpcPrivilege-pre.php @@ -0,0 +1,45 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/share/ssl/ssl.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/rpc.php'); + require_once('include/modules/naplo/share/file.php'); + + $ADAT['privileges'] = getSetField('naplo_base', 'rpcJogosultsag', 'priv'); + + $ADAT['nodes'] = reindex(getPublicDataFromLocalKeychain(), array('nodeId')); + $ADAT['intezmenyek'] = reindex(getIntezmenyek(), array('OMKod')); + $ADAT['privs'] = getRPCPrivileges(); + + if ($action == 'addNode') { + + $DATA['nodeId'] = readVariable($_POST['nodeId'], 'id'); + $DATA['userAccount'] = readVariable($_POST['userAccount'], 'string'); + $DATA['OMKod'] = readVariable($_POST['OMKod'], 'numeric unsigned'); + + addNodeToRPCPrivs($DATA); + $ADAT['privs'] = getRPCPrivileges(); + + } elseif ($action == 'setPriv') { + + $DATA['nodeId'] = readVariable($_POST['nodeId'], 'id'); + $DATA['userAccount'] = readVariable($_POST['userAccount'], 'string'); + $DATA['OMKod'] = readVariable($_POST['OMKod'], 'numeric unsigned'); + $DATA['priv'] = readVariable($_POST['priv'], 'enum', 'OMKod', $ADAT['privileges']); + + setPrivileges($DATA); + $ADAT['privs'] = getRPCPrivileges(); + + } + +//dump($ADAT['privileges']); + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/admin/rpcPrivilege.php b/mayor-orig/www/policy/private/naplo/admin/rpcPrivilege.php new file mode 100644 index 00000000..1f928d21 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/rpcPrivilege.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putAddNodeForm($ADAT); + putPrivilegesForm($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/admin/szemeszterek-pre.php b/mayor-orig/www/policy/private/naplo/admin/szemeszterek-pre.php new file mode 100644 index 00000000..6edd8674 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/szemeszterek-pre.php @@ -0,0 +1,80 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG) { + $_SESSION['alert'][] = "page:insufficient_access"; + } else { + +/* + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + BUG - zárás és írás időszak kezdődjön együtt!!!!!!!!! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +*/ + + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/file.php'); + + define('_TIME', time()); + $szemeszterId = readVariable($_POST['szemeszterId'], 'id', readVariable($_GET['szemeszterId'], 'id')); + // melyik szemeszter adatait nézzük +// if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') { +// $szemeszterId = $_POST['szemeszterId']; +// } elseif (!isset($_POST['szemeszterId'])) { + if (!isset($szemeszterId)) { + for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) { + if ( + strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME + && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME + ) { + $szemeszterId = $_POST['szemeszterId'] = $_TANEV['szemeszter'][$i]['szemeszterId']; + $tanev = $_TANEV['szemeszter'][$i]['tanev']; + $szemeszter = $_TANEV['szemeszter'][$i]['szemeszter']; + break; + } + } + } else { + // szándékosan nincs szemeszter beállítva + } + if (isset($szemeszterId)) $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + $ADAT['idoszakTipusok'] = getIdoszakTipusok(); + + // -------- action --------- // + if ($action != '') { + if ($action == 'idoszakModositas') { + for ($i = 0; $i < count($_POST['idoszakId']); $i++) + $Mod[ $_POST['idoszakId'][$i] ] = array('tolDt' => $_POST['tolDt'][$i], 'igDt' => $_POST['igDt'][$i]); + for ($i = 0; $i < count($_POST['torlendo']); $i++) $Mod[ $_POST['torlendo'][$i] ]['torlendo'] = true; + foreach ($ADAT['szemeszterAdat']['idoszak'] as $i => $iAdat) { + $iId = $iAdat['idoszakId']; + if ($Mod[$iId]['torlendo'] == true) { +// echo 'Torol: '.$iId.'<hr>'; + idoszakTorles($iId); + } elseif ( + $iAdat['tolDt'] != $Mod[$iId]['tolDt'] + || $iAdat['igDt'] != $Mod[$iId]['igDt'] + ) { +// echo '<br>'.$iId.' : '.$iAdat['tolDt'].' -- '.$_POST['tolDt'][$i].'<hr>'; + idoszakModositas($iId, $Mod[$iId]['tolDt'], $Mod[$iId]['igDt']); + } + + } + } elseif ($action == 'ujIdoszak') { + ujIdoszak( + $_POST['tolDt'], $_POST['igDt'], $_POST['tipus'], + $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter'], $ADAT['idoszakTipusok'] + ); + } + $ADAT['szemeszterAdat']['idoszak'] = getIdoszakByTanev(array('tanev' => $ADAT['szemeszterAdat']['tanev'], 'szemeszter' => $ADAT['szemeszterAdat']['szemeszter'])); + } + +// $TOOL['tanevSelect'] = array('tipus' => 'cella', 'action' => 'tanevValasztas', 'tervezett' => true, 'post' => array(), 'paramName'=>'tanev'); + $TOOL['szemeszterSelect'] = array('tipus' => 'cella', 'action' => 'szemeszterValasztas', 'post' => array(), 'paramName'=>'szemeszterId'); + getToolParameters(); + + + } + + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/szemeszterek.php b/mayor-orig/www/policy/private/naplo/admin/szemeszterek.php new file mode 100644 index 00000000..f5132dfd --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/szemeszterek.php @@ -0,0 +1,13 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (is_array($ADAT)) { + putSzemeszterAdat($ADAT); + putUjIdoszak($ADAT['szemeszterAdat']['szemeszterId'], $ADAT['idoszakTipusok']); + } + + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/szuloiAzonositok-pre.php b/mayor-orig/www/policy/private/naplo/admin/szuloiAzonositok-pre.php new file mode 100644 index 00000000..68dde965 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/szuloiAzonositok-pre.php @@ -0,0 +1,171 @@ +<?php + +if (_RIGHTS_OK !== true) die(); +if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; +} else { + + + $tanev = readVariable($_POST['tanev'],'numeric',__TANEV); + $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/session/search/searchGroup.php'); + require_once('include/modules/session/search/searchAccount.php'); + require_once('include/modules/session/createAccount.php'); + + if (isset($osztalyId)) { + + $osztalyTagok = getOsztalyNevsorEsSzulo($osztalyId); + $Tagok = array(); + for ($i = 0; $i < count($osztalyTagok); $i++) { + foreach (array('anya','apa') as $szulo) { + + $szuloId = $osztalyTagok[$i][$szulo.'Id']; + if ($szuloId == '') continue; + $szAdat = $osztalyTagok[$i][$szulo] = getSzuloAdat($szuloId); + $acc = $osztalyTagok[$i][$szulo]['userAccount']; + $Tagok[$szuloId] = $osztalyTagok[$i]; // Az adatrögzítés szuloId alapján megy + $Tagok[$szuloId]['szuloNev'] = $szAdat['szuloNev']; + $Tagok[$szuloId]['userPassword'] = $osztalyTagok[$i][$szulo]['userPassword'] = sprintf("%u", crc32($szAdat['csaladinev'])); + + if ($acc == '') $ret = array('count' => 0); + else $ret = searchAccount('userAccount', $acc, array('userAccount','userCn'), 'parent'); + + if ($ret['count'] > 0) { + for ($j = 0; $j < $ret['count']; $j++) { // csak a pontos egyezés jó - több pontos egyezés meg nem lehet + if ($ret[$j]['userAccount'][0] == $acc) { + $osztalyTagok[$i][$szulo.'Account'] = $ret[$j]['userAccount'][0]; + $osztalyTagok[$i][$szulo.'UserCn'] = $ret[$j]['userCn'][0]; + break; + } + } + } + if (!isset($osztalyTagok[$i][$szulo.'Account'])) { + // Ha az userAccount alapján nem találtunk, akkor tovább keresünk név alapján + $ret = searchAccount('userCn', $szAdat['szuloNev'], array('userAccount','userCn'), 'parent'); + if ($ret['count'] > 0) { + $osztalyTagok[$i][$szulo.'Accounts'] = $osztalyTagok[$i][$szulo.'Cns'] = array(); + for ($j = 0; $j < $ret['count']; $j++) { + $osztalyTagok[$i][$szulo.'Accounts'][] = $ret[$j]['userAccount'][0]; + $osztalyTagok[$i][$szulo.'Cns'][] = $ret[$j]['userCn'][0]; + } + } + // Javasolt azonosító generálása + $csNev = $szAdat['csaladinev']; + $pos = mb_strpos($csNev, ' ', 0, 'UTF-8'); + if ($pos > 0 && mb_substr($csNev, $pos-2, 2, 'UTF-8') == 'né') { + $csNev = mb_substr($csNev,$pos+1,strlen($csNev)-$pos-1,'UTF-8'); + $pos = mb_strpos($csNev, ' ', 0, 'UTF-8'); + } + if ($pos > 0) $csNev = mb_substr($csNev, 0, $pos, 'UTF-8'); + $uNev = $szAdat['utonev']; + $pos = mb_strpos($uNev, ' ', 0, 'UTF-8'); + if ($pos > 0) $uNev = mb_substr($uNev, 0, $pos, 'UTF-8'); + if ($AUTH['parent']['unixStyleAccounts']) { + $csNev = ekezettelen(kisbetus($csNev)); + $uNev = ekezettelen(kisbetus($uNev)); + $osztalyTagok[$i][$szulo.'GeneratedAccount'] = substr($csNev.$uNev[0], 0, 8); + } else { + $pos = mb_strpos($csNev, ' ', 0, 'UTF-8'); + $osztalyTagok[$i][$szulo.'GeneratedAccount'] = $csNev.'.'.$uNev; + } + } + } // anya | apa + } // osztály tagok + + if ($action == 'createAzonosito') { + $userPassword = readVariable($_POST['userPassword'], 'sql', null); + $CONTAINER = $AUTH['parent'][ $AUTH['parent']['backend'].'Containers']; + $container = readVariable($_POST['container'], 'enum', null, $CONTAINER); + if (is_array($CONTAINER) && count($CONTAINER) > 0 && !isset($container)) { + $_SESSION['alert'][] = 'message:empty_fields:container'; + } else { + define('__JELSZOGENERALAS', $userPassword == ''); + + if (is_array($_POST['userAccount'])) { + for ($i = 0; $i < count($_POST['userAccount']); $i++) { + $szuloId = readVariable($_POST['szuloId'][$i], 'id', null); + $userAccount = readVariable($_POST['userAccount'][$i], 'sql', null); + if (isset($szuloId) && $userAccount != '') { + if (__JELSZOGENERALAS === true) { + $userPassword = $Tagok[$szuloId]['userPassword'];// = sprintf("%u", crc32($szAdat['csaladinev'])); + } + $userCn = $Tagok[$szuloId]['szuloNev']; + $ret = createAccount($userCn, $userAccount, $userPassword, 'parent', + array('category' => null, 'container' => $container, 'groups' => '', 'policyAttrs' => array()) + ); + if ($ret === true) { + // a szulo.userAccount módosítása + $q = "UPDATE szulo SET userAccount='%s' WHERE szuloId=%u"; + $v = array($userAccount, $szuloId); + db_query($q, array('fv'=>'szuloiAzonositok-pre','modul'=>'naplo_intezmeny','values'=>$v)); + // a settings táblában felvesszük, hogy melyik intézményhez van rendelve (ez persze nem korlátoz, csak egy alapértelmezés + $q = "DELETE FROM settings WHERE userAccount='%s' AND policy='%s'"; + db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array($userAccount, 'parent'))); + $q = "INSERT INTO settings (userAccount,policy,intezmeny) VALUES ('%s','%s','%s')"; + db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array($userAccount, 'parent', __INTEZMENY))); + + } + } + } + + + // Újraolvasás + for ($i = 0; $i < count($osztalyTagok); $i++) { + foreach (array('anya','apa') as $szulo) { + + $szuloId = $osztalyTagok[$i][$szulo.'Id']; + if ($szuloId == '') continue; + $szAdat = $osztalyTagok[$i][$szulo] = getSzuloAdat($szuloId); + $acc = $osztalyTagok[$i][$szulo]['userAccount']; + $Tagok[$szuloId] = $osztalyTagok[$i]; // Az adatrögzítés szuloId alapján megy + $Tagok[$szuloId]['szuloNev'] = $szAdat['szuloNev']; + $Tagok[$szuloId]['userPassword'] = $osztalyTagok[$i][$szulo]['userPassword'] = sprintf("%u", crc32($szAdat['csaladinev'])); + + if ($acc == '') $ret = array('count' => 0); + else $ret = searchAccount('userAccount', $acc, array('userAccount','userCn'), 'parent'); + + if ($ret['count'] > 0) { + for ($j = 0; $j < $ret['count']; $j++) { // csak a pontos egyezés jó - több pontos egyezés meg nem lehet + if ($ret[$j]['userAccount'][0] == $acc) { + $osztalyTagok[$i][$szulo.'Account'] = $ret[$j]['userAccount'][0]; + $osztalyTagok[$i][$szulo.'UserCn'] = $ret[$j]['userCn'][0]; + break; + } + } + } + if (!isset($osztalyTagok[$i][$szulo.'Account'])) { + // Ha az userAccount alapján nem találtunk, akkor tovább keresünk név alapján + $ret = searchAccount('userCn', $szAdat['szuloNev'], array('userAccount','userCn'), 'parent'); + if ($ret['count'] > 0) { + $osztalyTagok[$i][$szulo.'Accounts'] = $osztalyTagok[$i][$szulo.'Cns'] = array(); + for ($j = 0; $j < $ret['count']; $j++) { + $osztalyTagok[$i][$szulo.'Accounts'][] = $ret[$j]['userAccount'][0]; + $osztalyTagok[$i][$szulo.'Cns'][] = $ret[$j]['userCn'][0]; + } + } + } + } // anya | apa + } // osztály tagok + // Újraolvasás vége + + + + + } // van elküldött userAccount + } + + } // action + + } // van osztály kiválasztva + + + $TOOL['tanevSelect'] = array('tipus' => 'cella','tanev' => $tanev, 'paramName' => 'tanev', 'post' => array('osztalyId')); + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('igDt', 'tanev')); + getToolParameters(); + + +} + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/szuloiAzonositok.php b/mayor-orig/www/policy/private/naplo/admin/szuloiAzonositok.php new file mode 100644 index 00000000..50df705e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/szuloiAzonositok.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $osztalyId, $osztalyTagok, $Tagok, $ldapTagok, $tanev; + + if (is_array($osztalyTagok)) putCreateAzonositoForm($osztalyId, $osztalyTagok, $tanev, $Tagok); + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/tanevek-pre.php b/mayor-orig/www/policy/private/naplo/admin/tanevek-pre.php new file mode 100644 index 00000000..a842f97e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/tanevek-pre.php @@ -0,0 +1,151 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN !== true) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include/modules/naplo/share/osztalyModifier.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/diakModifier.php'); + require_once('include/modules/naplo/share/tankorDiakModifier.php'); + require_once('include/modules/naplo/share/hianyzasModifier.php'); + require_once('include/modules/naplo/share/jegyModifier.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/mysql.php'); + + $Tanevek = getTanevek($tervezett = true); + $Intezmenyek = getIntezmenyek(); + $IntezmenyRoividNevek = array(); + for ($i = 0; $i < count($Intezmenyek); $i++) $IntezmenyRovidNevek[] = $Intezmenyek[$i]['rovidNev']; + $intezmeny = readVariable($_POST['intezmeny'], 'strictstring', defined('__INTEZMENY') ? __INTEZMENY : null, $IntezmenyRovidNevek); + + $tanev = readVariable($_POST['tanev'], 'numeric unsigned', null, $Tanevek); + if (!isset($tanev) && defined('__TANEV')) $tanev = __TANEV; + if (isset($tanev)) { + $ADAT['tanev'] = $tanev; + $ADAT['tanevAdat'] = getTanevAdat($tanev); + if ($ADAT['tanevAdat']['statusz'] == 'aktív') { + $Osztalyok = getOsztalyok($tanev); + $ADAT['vegzoOsztalyok'] = array(); + for ($i = 0; $i < count($Osztalyok); $i++) { + if ($Osztalyok[$i]['vegzoTanev'] == $tanev) $ADAT['vegzoOsztalyok'][] = $Osztalyok[$i]; + } + $ADAT['dt'] = readVariable($_POST['dt'], 'datetime', date('Y-m-d', strtotime('+7 days', strtotime($ADAT['tanevAdat']['zarasDt'])))); + } + } + $rootUser = readVariable($_POST['rootUser'], 'strictstring', 'root'); + $rootPassword = readVariable($_POST['rootPassword'], 'emptystringnull', null); // lehet benne bármilyen karakter + + if ( $action == 'ujTanev' ) { + + $tanev = readVariable($_POST['ujTanev'], 'numeric unsigned', null); + if ( isset($tanev) ) { + + $DATA = array(); $j = 0; + for ($i = 0; $i < count($_POST['kezdesDt']); $i++) { + $kezdesDt = readVariable($_POST['kezdesDt'][$i], 'datetime', null); + $zarasDt = readVariable($_POST['zarasDt' ][$i], 'datetime', null); + if (isset($kezdesDt) && isset($zarasDt)) { + $DATA[$j++] = array( + 'tanev' => $tanev, + 'szemeszter' => readVariable($_POST['szemeszter'][$i], 'numeric unsigned'), + 'kezdesDt' => $kezdesDt, + 'zarasDt' => $zarasDt, + 'statusz' => 'tervezett' + ); + } + } + for ($i = 0; $i < count($DATA); $i++) szemeszterBejegyzes($DATA[$i]); + $Tanevek = getTanevek($tervezett = true); + + } + + } elseif ($action == 'intezmenyValasztas') { + + if (isset($intezmeny) && $intezmeny !== __INTEZMENY) { + if (updateSessionIntezmeny($intezmeny)) { + header('Location: '.location('index.php?page=naplo&sub=admin&f=tanevek')); + } + } + + } elseif ($action == 'tanevAktival') { + $TA = getTanevAdat($tanev); + $dbNev = tanevDbNev(__INTEZMENY, $tanev); + if ($TA['statusz'] == 'tervezett') { + // hozzuk létre az adatbázist és adjunk megfelelő jogokat hozzá! + if ( + createDatabase($dbNev, __TANEV_DB_FILE, $rootUser, $rootPassword, array("%DB%" => intezmenyDbNev(__INTEZMENY)) ) + !== false) + { + // frissítsük az osztalyNaplo táblát + refreshOsztalyNaplo($dbNev,$tanev); + activateTanev($tanev); + } + } else { + grantWriteAccessToDb($dbNev, $rootUser, $rootPassword); + activateTanev($tanev); + } + } elseif ($action == 'tanevLezar' && $ADAT['tanevAdat']['statusz'] == 'aktív' && is_array($_POST['step'])) { + $ADAT['step'] = $_POST['step']; + $ADAT['vjlOsztaly'] = $_POST['vjlOsztaly']; + $ADAT['vatOsztaly'] = $_POST['vatOsztaly']; + if (closeTanev($ADAT) && in_array('tanevLezaras', $ADAT['step'])) + revokeWriteAccessFromDb(tanevDbNev(__INTEZMENY, $tanev), $rootUser, $rootPassword); + } elseif ($action == 'tanevLezar' && $ADAT['tanevAdat']['statusz'] == 'aktív' && !is_array($_POST['step'])) { + $_SESSION['alert'][] = 'message:nothing_to_do:'.$action; + } elseif ($action == 'tanevValasztas') { +// if ($_POST['tanev'] !== __TANEV) { +// require_once('include/modules/naplo/share/intezmenyek.php'); +// if (updateSessionTanev($_POST['tanev'])) { +// header('Location: '.location('index.php?page=naplo&sub=admin&f=tanevek')); +// } +// } + } elseif ($action == 'szemeszterTorles') { + // Szemeszterek kezdes és zaras dátumainak változtatása + $Szemeszterek = getTanevSzemeszterek($tanev); + if ( + is_array($_POST['kezdesDt']) && is_array($_POST['zarasDt']) && is_array($Szemeszterek) + && count($Szemeszterek) == count($_POST['kezdesDt']) + ) { + $ADAT['modSzemeszter'] = array(); + $elozoDt = ''; $rendezett = true; + for ($i = 0; $i < count($Szemeszterek); $i++) { + $kezdesDt = readVariable($_POST['kezdesDt'][$i],'datetime',''); + $zarasDt = readVariable($_POST['zarasDt'][$i],'datetime',''); + if ($elozoDt >= $kezdesDt || $kezdesDt >= $zarasDt) { + $rendezett = false; + $_SESSION['alert'][] = 'message:wrong_data:szemeszter dátum módosítás:'.$kezdesDt.'-'.$zarasDt; + break; + } elseif ($Szemeszterek[$i]['kezdesDt'] != $kezdesDt || $Szemeszterek[$i]['zarasDt'] != $zarasDt) { + $Szemeszterek[$i]['kezdesDt'] = $kezdesDt; $Szemeszterek[$i]['zarasDt'] = $zarasDt; + $ADAT['modSzemeszter'][] = $Szemeszterek[$i]; + } + $elozoDt = $zarasDt; + } + if ($rendezett && count($ADAT['modSzemeszter']) > 0) szemeszterModositas($ADAT['modSzemeszter']); + } + if (is_array($_POST['szemeszterId'])) szemeszterTorles($_POST['szemeszterId']); + } // action + updateNaploSession($sessionID,__INTEZMENY,$tanev); + + if (isset($tanev)) $Szemeszterek = getTanevSzemeszterek($tanev); + $i = 0; + while (($i < count($Szemeszterek)) && ($Szemeszterek[$i]['statusz'] != 'aktív')) $i++; + $aktivTanev = ($i < count($Szemeszterek)); + + $TOOL['intezmenySelect'] = array('tipus' => 'cella', 'action' => 'intezmenyValasztas', 'intezmenyek' => $Intezmenyek, 'post' => array()); + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'tanevek' => $Tanevek, 'action' => 'tanevValasztas', 'tervezett' => true, 'post' => array(), 'paramName'=>'tanev'); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/tanevek.php b/mayor-orig/www/policy/private/naplo/admin/tanevek.php new file mode 100644 index 00000000..769a1686 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/tanevek.php @@ -0,0 +1,13 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $Szemeszterek, $ADAT, $tanev, $aktivTanev; + + putUjTanevForm(); + putTanevSzemeszterekForm($Szemeszterek); + if ($aktivTanev) putTanevLezarasForm($ADAT); + else putTanevAktivalForm($tanev); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/tankorok-pre.php b/mayor-orig/www/policy/private/naplo/admin/tankorok-pre.php new file mode 100644 index 00000000..d1369674 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/tankorok-pre.php @@ -0,0 +1,39 @@ +<?php +{ + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + require_once('include/modules/naplo/share/file.php'); + + $mezo_elvalaszto = ' '; + if (isset($_POST['fileName'])) $fileName = fileNameNormal($_POST['fileName']); + $ADATOK = array(); + + if ($fileName != '') { + + if (file_exists($fileName)) { + + $MEZO_LISTA = $_POST['MEZO_LISTA']; + $KULCS_MEZOK = $_POST['KULCS_MEZOK']; + if (!is_array($MEZO_LISTA)) { + + $ADATOK = readUpdateFile($fileName); + if (count($ADATOK) > 0) $attrList = getTableFields('tankor', 'naplo_intezmeny',array('targyNev')); + else $_SESSION['alert'][] = 'message:wrong_data'; + + } else { + + updateTankor($fileName, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto, $_POST['rovatfej']); + + } // MEZO_LISTA tömb + } else { + $_SESSION['alert'][] = 'message:file_not_found:'.$fileName; + } // A file létezik-e + + } // van file + } + +} +?> diff --git a/mayor-orig/www/policy/private/naplo/admin/tankorok.php b/mayor-orig/www/policy/private/naplo/admin/tankorok.php new file mode 100644 index 00000000..d667b706 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/admin/tankorok.php @@ -0,0 +1,16 @@ +<?php +{ + if (_RIGHTS_OK !== true) die(); + + global $fileName, $ADATOK, $attrList, $MEZO_LISTA; + + if ($fileName == '') { + putFileSelectForm('naplo_intezmeny:tankor'); + } elseif ($MEZO_LISTA == '') { + if (count($ADATOK) > 0) putFieldSelectForm($fileName, $ADATOK, $attrList, 'naplo_intezmeny:tankor'); + else echo 'NINCS ADAT!'; + } else { + echo 'Adatfeldolgozás kész.'; + } +} +?> diff --git a/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesTipus-pre.php b/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesTipus-pre.php new file mode 100644 index 00000000..9277b65d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesTipus-pre.php @@ -0,0 +1,59 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/bejegyzes.php'); + + $dt = $ADAT['dt'] = readVariable($_POST['dt'], 'date', date('Y-m-d')); + $ADAT['jogosult'] = getSetField('naplo_intezmeny','bejegyzesTipus','jogosult'); + $ADAT['bejegyzesTipusok'] = getBejegyzesTipusok($dt); + + if ($action == 'modositas') { + + $M['btId'] = readVariable($_POST['bejegyzesTipusId'], 'id', null); + $M['btNev'] = readVariable($_POST['bejegyzesTipusNev'], 'string', ''); + for ($i = 0; $i < count($M['btId']); $i++) { + $btId = $M['btId'][$i]; + $B[$btId]['bejegyzesTipusNev'] = $M['btNev'][$i]; + + } + if (is_array($_POST['jogosult'])) foreach ($_POST['jogosult'] as $value) { + list($id, $jogosult) = explode('-', $value); + if (in_array($jogosult, $ADAT['jogosult'])) $B[$id]['jogosult'][] = $jogosult; + } + if (is_array($_POST['hianyzasDb'])) foreach ($_POST['hianyzasDb'] as $value) { + list($id, $hianyzasDb) = explode('-', $value); + $B[$id]['hianyzasDb'] = $hianyzasDb; + } + // Végigmenve a jelenlegi bejegyzesTipus-okon - van-e változás? + foreach ($ADAT['bejegyzesTipusok'] as $tipus => $tAdat) { + foreach ($tAdat as $btAdat) { + $mdb = 0; // módosítandó mezők száma + $btId = $btAdat['bejegyzesTipusId']; + if ($btAdat['bejegyzesTipusNev'] != $B[$btId]['bejegyzesTipusNev']) $mdb++; + if ($btAdat['tipus'] == 'fegyelmi' && intval($btAdat['hianyzasDb']) != $B[$btId]['hianyzasDb']) $mdb++; + if (explode(',',$btAdat['jogosult']) != $B[$btId]['jogosult']) { + if ($mdb == 0) { + jogosultValtoztatas($btId, $B[$btId]['jogosult']); + $mdb = 0; + } + } + if ($mdb > 0) bejegyzesTipusModositas($btId, $B[$btId], $dt); + } + // Fokozat-törlés - új fokozat + if (isset($_POST['del-'.ekezettelen($tipus)])) fokozatTorles($tipus, $dt); + elseif (isset($_POST['new-'.ekezettelen($tipus)])) ujFokozat($tipus, $dt); + } + $ADAT['bejegyzesTipusok'] = getBejegyzesTipusok($dt); + } + + $TOOL['datumSelect'] = array('tipus'=>'cella','paramName' => 'dt', 'post'=>array()); + getToolParameters(); + } +?> diff --git a/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesTipus.php b/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesTipus.php new file mode 100644 index 00000000..9213d95d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesTipus.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putBejegyzesTipusForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesek-pre.php b/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesek-pre.php new file mode 100644 index 00000000..42c0ba03 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesek-pre.php @@ -0,0 +1,73 @@ +<?php +/* + module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + if (!__DIAK && !__TANAR && !__VEZETOSEG && !__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/ertekeles.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tanar.php'); + + $tanarId = readVariable($_POST['tanarId'], 'id', null); + + $Osztalyok = getOsztalyok(__TANEV); + $osztalyIds = array(); for ($i = 0; $i < count($Osztalyok); $i++) $osztalyIds[] = $Osztalyok[$i]['osztalyId']; + if (!$tanarId) + $osztalyId = readVariable($_POST['osztalyId'], 'id', null, $osztalyIds); + + // TODO!!! + + $DIAKOK = getDiakok(array('tanev' => __TANEV, 'osztalyId' => $osztalyId, 'result'=>'assoc')); + $Diakok = getDiakok(array('tanev' => __TANEV, 'osztalyId' => $osztalyId)); + $diakIds = array(); for ($i = 0; $i < count($Diakok); $i++) $diakIds[] = $Diakok[$i]['diakId']; + if (!$tanarId) + $diakId = readVariable($_POST['diakId'], 'numeric unsigned', null, $diakIds); + + if (__DIAK) $diakId = __USERDIAKID; + + if ($action === 'delBejegyzes') { + + $bejegyzesId = readVariable($_POST['bejegyzesId'], 'numeric unsigned', 0); + $bejegyzesAdat = getBejegyzesAdatById($bejegyzesId); + if ( // Admin bármikor, tanár a beírás napján törölhet + __NAPLOADMIN || + ($bejegyzesAdat['tanarId'] = __USERTANARID && $bejegyzesAdat['beirasDt'] == date('Y-m-d')) + ) { + delBejegyzes($bejegyzesId); + } + + } + + if (isset($diakId)) $BEJEGYZESEK = getBejegyzesLista($diakId); + elseif (isset($osztalyId)) $osztalyBejegyzesek = getBejegyzesekByDiakIds($diakIds); + elseif (isset($tanarId)) $BEJEGYZESEK = getBejegyzesekByTanarId($tanarId); + + if (__TANAR || __VEZETOSEG || __NAPLOADMIN) { + $TOOL['tanarSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'tanarId', 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend') + ); + + $TOOL['osztalySelect'] = array( + 'tipus' => 'cella', 'paramName' => 'osztalyId', 'osztalyok' => $Osztalyok, 'post' => array('tolDt', 'igDt', 'targySorrend') + ); + $TOOL['diakSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'diakId', +// 'diakok' => $Diakok, + 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend'), + 'statusz' => array('vendégtanuló','jogviszonyban van','magántanuló','jogviszonya lezárva','jogviszonya felfüggesztve') + ); + if (isset($diakId)) + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=bejegyzesek&f=ujBejegyzes'), + 'titleConst' => array('_UJBEJEGYZES'), 'post' => array('osztalyId'), 'paramName'=>'diakId'); + + } + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesek.php b/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesek.php new file mode 100644 index 00000000..083bed25 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/bejegyzesek/bejegyzesek.php @@ -0,0 +1,15 @@ +<?php +/* + module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + global $diakId, $osztalyId, $tanarId, $BEJEGYZESEK, $osztalyBejegyzesek, $Diakok; + global $DIAKOK; + + if ($diakId != '') putBejegyzesLista($diakId, $BEJEGYZESEK); + elseif (isset($osztalyId)) putOsztalyBejegyzesek($osztalyBejegyzesek, $Diakok); + elseif (isset($tanarId)) putBejegyzesLista('',$BEJEGYZESEK, $DIAKOK); + +?> diff --git a/mayor-orig/www/policy/private/naplo/bejegyzesek/info-pre.php b/mayor-orig/www/policy/private/naplo/bejegyzesek/info-pre.php new file mode 100644 index 00000000..21d05060 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/bejegyzesek/info-pre.php @@ -0,0 +1,10 @@ +<?php + + + require_once('include/modules/naplo/share/bejegyzes.php'); + if (__DIAK) $diakId = $ADAT['diakId'] = __USERDIAKID; + + $ADAT['tolDt'] = date('Y-m-d 00:00:00', strtotime('-7 days')); + if (isset($ADAT['diakId'])) $ADAT['db'] = getDarabBejegyzes($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/bejegyzesek/info.php b/mayor-orig/www/policy/private/naplo/bejegyzesek/info.php new file mode 100644 index 00000000..c0e13920 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/bejegyzesek/info.php @@ -0,0 +1,5 @@ +<?php + + global $ADAT; + if (isset($ADAT['diakId'])) putBejegyzesInfo($ADAT); +?> diff --git a/mayor-orig/www/policy/private/naplo/bejegyzesek/ujBejegyzes-pre.php b/mayor-orig/www/policy/private/naplo/bejegyzesek/ujBejegyzes-pre.php new file mode 100644 index 00000000..c6db7843 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/bejegyzesek/ujBejegyzes-pre.php @@ -0,0 +1,60 @@ +<?php +/* + module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + if (!__TANAR && !__VEZETOSEG && !__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/bejegyzesModifier.php'); + require_once('include/modules/naplo/share/bejegyzes.php'); + + $diakId = readVariable($_POST['diakId'], 'id'); + $osztalyId = readVariable($_POST['osztalyId'], 'id'); + + + if (isset($diakId)) { + $DIAKOSZTALYAI = getDiakokOsztalyai(array($diakId)); + define(__OFO, ( is_array($_OSZTALYA) && count(array_intersect($DIAKOSZTALYAI[$diakId],$_OSZTALYA)) > 0 )); + + $jogosult = array(); + if (__TANAR) $jogosult[] = 'szaktanár'; + if (__OFO) $jogosult[] = 'osztályfőnök'; + if (__VEZETOSEG) $jogosult[] = 'vezetőség'; + if (__NAPLOADMIN) $jogosult[] = 'admin'; + $FOKOZATOK = getBejegyzesTipusokByJogosult($jogosult); + + if ($action == 'ujBejegyzes') { + + $bejegyzesTipusId = readVariable($_POST['bejegyzesTipusId'], 'id'); + $szoveg = readVariable($_POST['szoveg'], 'string', ''); + $evvegi = readVariable($_POST['evvegi'], 'bool', false); + if ($evvegi) { + // A tanév záró napjára dátumozott bejegyzések kerülnek a törzslapra + $referenciaDt = $_TANEV['zarasDt']; + } else { + $referenciaDt = readVariable($_POST['referenciaDt'],'datetime',''); + } + + if (isset($bejegyzesTipusId) && $szoveg != '') { + if (ujBejegyzes($bejegyzesTipusId, $szoveg, $referenciaDt, $diakId)) $_SESSION['alert'][] = 'info:success:ujBejegyzes'; + } else { $_SESSION['alert'][] = 'message:wrong_data:ujBejegyzes:szöveg='.$szoveg.', bejegyzesTipusId='.$bejegyzesTipusId; } + } + } // isset($diakId) + + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post'=>array('tolDt', 'igDt', 'targySorrend')); + $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend'), + 'statusz' => array('vendégtanuló','jogviszonyban van','magántanuló') + ); + if (isset($diakId)) + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'), + 'titleConst' => array('_BEJEGYZESEK'), 'post' => array('osztalyId'), 'paramName'=>'diakId'); + + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/bejegyzesek/ujBejegyzes.php b/mayor-orig/www/policy/private/naplo/bejegyzesek/ujBejegyzes.php new file mode 100644 index 00000000..0de20502 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/bejegyzesek/ujBejegyzes.php @@ -0,0 +1,12 @@ +<?php +/* + module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + global $diakId, $osztalyId; + + if (is_numeric($diakId)) putUjBejegyzesForm($diakId); + +?> diff --git a/mayor-orig/www/policy/private/naplo/error-pre.php b/mayor-orig/www/policy/private/naplo/error-pre.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/error-pre.php diff --git a/mayor-orig/www/policy/private/naplo/error.php b/mayor-orig/www/policy/private/naplo/error.php new file mode 100644 index 00000000..25d0f284 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/error.php @@ -0,0 +1,6 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + echo 'ERROR PAGE'; + +?> diff --git a/mayor-orig/www/policy/private/naplo/ertekeles/ertekeles-pre.php b/mayor-orig/www/policy/private/naplo/ertekeles/ertekeles-pre.php new file mode 100644 index 00000000..8e9903bd --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/ertekeles/ertekeles-pre.php @@ -0,0 +1,205 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + $tanev = __TANEV; + + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/kerdoiv.php'); + + if (_POLICY == 'parent') { + $cimzettTipusok = array('szulo','tankorSzulo','osztalySzulo'); + $feladoTipus = 'szulo'; + $feladoId = __USERSZULOID; + $diakId = __USERDIAKID; + $cimzett['szulo'] = array(__USERSZULOID); + $ret = getTankorByDiakId($diakId, $tanev); + $cimzett['tankorSzulo'] = array(); $tankorAdat = array(); + for ($i = 0; $i < count($ret); $i++) { + if (!in_array($ret[$i]['tankorId'], $cimzett['tankorSzulo'])) { + $cimzett['tankorSzulo'][] = $ret[$i]['tankorId']; + $tankorAdat[ $ret[$i]['tankorId'] ] = $ret[$i]; + } + } + $cimzett['osztaly'] = getDiakOsztalya($diakId, array('tanev' => $tanev, 'result' => 'csakid')); + + } elseif (__DIAK) { + $cimzettTipusok = array('diak','tankor','osztaly'); + $feladoTipus = 'diak'; + $feladoId = $diakId = __USERDIAKID; + $cimzett['diak'] = array(__USERDIAKID); + $cimzett['tankor'] = array(0); + $tankorAdat = array(); + $ret = getTankorByDiakId($diakId, $tanev); + if (is_array($ret)) for ($i = 0; $i < count($ret); $i++) { + if (!in_array($ret[$i]['tankorId'], $cimzett['tankor'])) { + $cimzett['tankor'][] = $ret[$i]['tankorId']; + $tankorAdat[ $ret[$i]['tankorId'] ] = $ret[$i]; + } + } + $cimzett['osztaly'] = getDiakOsztalya($diakId, array('tanev' => $tanev, 'result' => 'csakid')); + } elseif (__TANAR) { + $cimzettTipusok = array('tanar','munkakozosseg'); + $feladoTipus = 'tanar'; + $feladoId = __USERTANARID; + $cimzett['tanar'] = array(__USERTANARID); + $cimzett['munkakozosseg'] = getMunkakozossegByTanarId(__USERTANARID); + // Munkaközösségek lekérdezése, címzett listába felvevése... + } + if (__NAPLOADMIN) { + // Ez egy hack. Az admin kiválasztva egy diákon belebújhat annak a szerepébe... + $diakId = readVariable($_POST['diakId'], 'id'); + if (isset($diakId)) { + $cimzett['diak'] = array($diakId); + $cimzett['tankor'] = array(0); + $tankorAdat = array(); + $ret = getTankorByDiakId($diakId, $tanev); + if (is_array($ret)) for ($i = 0; $i < count($ret); $i++) { + if (!in_array($ret[$i]['tankorId'], $cimzett['tankor'])) { + $cimzett['tankor'][] = $ret[$i]['tankorId']; + $tankorAdat[ $ret[$i]['tankorId'] ] = $ret[$i]; + } + } + $cimzett['osztaly'] = getDiakOsztalya($diakId, array('tanev' => $tanev, 'result' => 'csakid')); + } + + } + + // A szóbajövő kérdőívek + $Kerdoiv = getKerdoiv($cimzett); + + $kerdoivIds = array(); + for ($i = 0; $i < count($Kerdoiv); $i++) $kerdoivIds[] = $Kerdoiv[$i]['kerdoivId']; + + // Kérdőív kiválasztás + $ADAT['kerdoivId'] = $kerdoivId = readVariable($_POST['kerdoivId'], 'numeric', null, $kerdoivIds); + if (!isset($kerdoivId) && count($Kerdoiv) == 1) $kerdoivId = $Kerdoiv[0]['kerdoivId']; + + // Ha van kiválasztott kérdőív + if (isset($kerdoivId)) { + $ADAT['kerdoivAdat'] = getKerdoivAdat($kerdoivId); + // mely címzettek közösek + if (is_array($cimzett)) foreach ($cimzett as $cimzettTipus => $cimzettIds) { + if (is_array($cimzettIds) && count($cimzettIds) > 0) { + if (is_array($ADAT['kerdoivAdat']['cimzett'][$cimzettTipus])) { + if (in_array(0, $ADAT['kerdoivAdat']['cimzett'][$cimzettTipus])) $cIds = $cimzettIds; + else $cIds = array_intersect($cimzettIds, $ADAT['kerdoivAdat']['cimzett'][$cimzettTipus]); + if (count($cIds) > 0) { + $kozosCimzett[$cimzettTipus] = array_values($cIds); + switch ($cimzettTipus) { + case 'tankor': + case 'tankorSzulo': + $Tankorok = array(); + foreach ($cIds as $index => $tankorId) $Tankorok[] = $tankorAdat[ $tankorId ]; + // ki van-e választva (tankorSelect) az értékelendő tankör + $ADAT['cimzettId'] = readVariable($_POST['tankorId'], 'numeric', null, $cIds); + if (isset($ADAT['cimzettId'])) { + $ADAT['cimzettTipus'] = $cimzettTipus; + $Nevek = array(); + foreach (getTankorTanaraiByInterval( $ADAT['cimzettId'] ) as $idx => $tAdat) $Nevek[] = $tAdat['tanarNev']; + $ADAT['cimzettLeiras'] = $tankorAdat[ $ADAT['cimzettId'] ]['tankorNev'].' ('.implode(', ', $Nevek).')'; + } + break; + case 'osztaly': + case 'osztalySzulo': + $Osztalyok = array(); + foreach ($cIds as $index => $osztalyId) $Osztalyok[] = $osztalyAdat[ $osztalyId ]; // Még nincsenek osztályok lekérdezve!! + // ki van-e választva (osztalySelect) az értékelendő osztály + $ADAT['cimzettId'] = readVariable($_POST['osztalyId'], 'numeric', null, $cIds); + if (isset($ADAT['cimzettId'])) $ADAT['cimzettTipus'] = $cimzettTipus; + break; + case 'munkakozosseg': + $Munkakozossegek = array(); + foreach ($cIds as $index => $mkId) $Munkakozossegek[] = $mkAdat[ $mkId ]; // Még nincsenek munkaközösségek lekérdezve!! + // ki van-e választva (munkakozossegSelect) az értékelendő munkaközösség + $ADAT['cimzettId'] = readVariable($_POST['mkId'], 'numeric', null, $cIds); + if (isset($ADAT['cimzettId'])) $ADAT['cimzettTipus'] = $cimzettTipus; + break; + } + } + } + } + } + // Ha már a kérdőív kitöltése folyik - ismert a cimzettTipus és cimzettId + if (!isset($ADAT['cimzettId'])) { + $ADAT['cimzettTipus'] = readVariable($_POST['cimzettTipus'], 'enum', null, $cimzettTipusok); + if (isset($ADAT['cimzettTipus'])) + $ADAT['cimzettId'] = readVariable($_POST['cimzettId'], 'numeric', null, $kozosCimzett[$ADAT['cimzettTipus']]); + } + // Ha egyik előző sem, de egyértelmű a címzett + if (!isset($ADAT['cimzettId']) && count($kozosCimzett) == 1) { + list($cTipus, $cIds) = each($kozosCimzett); + if (count($cIds) == 1) { + $ADAT['cimzettTipus'] = readVariable($cTipus, 'enum', null, $cimzettTipusok); + if (isset($ADAT['cimzettTipus'])) + $ADAT['cimzettId'] = readVariable($cIds[0], 'numeric', null, $kozosCimzett[$ADAT['cimzettTipus']]); + } + } + + unset($tankorId); unset($osztalyId); unset($mkId); + if (isset($ADAT['cimzettId'])) { + switch ($ADAT['cimzettTipus']) { + case 'tankor': + case 'tankorSzulo': $tankorId = $ADAT['cimzettId']; break; + case 'osztaly': + case 'osztalySzulo': $osztalyId = $ADAT['cimzettId']; break; + case 'munkakozosseg': $mkId = $ADAT['cimzettId']; + } + if ($action == 'ertekeles') { + // A válaszok rögzítése... + $ADAT['megvalaszoltKerdes'] = getMegvalaszoltKerdes($kerdoivId, $feladoId, $feladoTipus, $ADAT['cimzettId'], $ADAT['cimzettTipus']); + + // ------------------- + $lr = db_connect('naplo'); + db_start_trans($lr); + + for ($i = 0; $i < count($ADAT['kerdoivAdat']['kerdes']); $i++) { + $kerdesId = $ADAT['kerdoivAdat']['kerdes'][$i]['kerdesId']; + $valaszId = readVariable($_POST['valasz'.$kerdesId], 'numeric unsigned', null); + $szabadValasz = readVariable($_POST['szabadValasz'.$kerdesId], 'string', null); + if (!in_array($kerdesId, $ADAT['megvalaszoltKerdes']) && (isset($valaszId) || $szabadValasz != '')) { // Ha még nem válaszolt a kérdésre, és most van válasz + $q = "INSERT INTO kerdoivMegvalaszoltKerdes (feladoId,feladoTipus,kerdesId,cimzettId,cimzettTipus) VALUES (%u, '%s', %u, %u, '%s')"; + $v = array($feladoId, $feladoTipus, $kerdesId, $ADAT['cimzettId'], $ADAT['cimzettTipus']); + db_query($q, array('fv' => 'ertekeles', 'modul' => 'naplo', 'values' => $v), $lr); + + // Kérdezzük le, hogy van-e kerdoivValaszSzam bejegyzés az adott válaszhoz, címzetthez + $q = "SELECT COUNT(*) FROM kerdoivValaszSzam WHERE valaszId = %u AND cimzettId=%u AND cimzettTipus='%s'"; + $v = array($valaszId, $ADAT['cimzettId'], $ADAT['cimzettTipus']); + $db = db_query($q, array('fv' => 'ertekeles/volt-e már ez a válasz', 'result' => 'value', 'modul' => 'naplo', 'values' => $v), $lr); + if ($db == 0) { + $q = "INSERT INTO kerdoivValaszSzam (valaszId, cimzettId, cimzettTipus, szavazat) VALUES (%u,%u,'%s',1)"; + $v = array($valaszId, $ADAT['cimzettId'], $ADAT['cimzettTipus']); + db_query($q, array('fv' => 'ertekeles', 'modul' => 'naplo', 'values' => $v), $lr); + } else { + $q = "UPDATE kerdoivValaszSzam SET szavazat=szavazat+1 WHERE valaszId=%u AND cimzettId=%u AND cimzettTipus='%s'"; + $v = array($valaszId, $ADAT['cimzettId'], $ADAT['cimzettTipus']); + db_query($q, array('fv' => 'ertekeles', 'modul' => 'naplo', 'values' => $v), $lr); + } + } + if ($szabadValasz != '') { + $q = "INSERT INTO kerdoivSzabadValasz (kerdesId, szoveg) VALUES (%u, '%s')"; + $v = array($kerdesId, $szabadValasz); + db_query($q, array('fv' => 'ertekeles/szabadValasz', 'modul' => 'naplo', 'values' => $v), $lr); + } + } + db_commit($lr); + db_close($lr); + // ------------------- + + } + $ADAT['megvalaszoltKerdes'] = getMegvalaszoltKerdes($kerdoivId, $feladoId, $feladoTipus, $ADAT['cimzettId'], $ADAT['cimzettTipus']); + } + } + if (is_array($Kerdoiv)) + $TOOL['kerdoivSelect'] = array('tipus' => 'cella', 'kerdoiv' => $Kerdoiv, 'paramName' => 'kerdoivId', 'post' => array('diakId')); + if (__NAPLOADMIN) + $TOOL['diakSelect'] = array('tipus' => 'sor', 'paramName' => 'diakId', 'post' => array('kerdoivId','tankorId')); + if (is_array($Tankorok)) + $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $Tankorok, 'paramName' => 'tankorId', 'post' => array('kerdoivId','diakId')); + + getToolParameters(); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/ertekeles/ertekeles.php b/mayor-orig/www/policy/private/naplo/ertekeles/ertekeles.php new file mode 100644 index 00000000..e69607b7 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/ertekeles/ertekeles.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $kerdoivId, $ADAT; + + if (isset($kerdoivId) && isset($ADAT['cimzettId'])) putKerdoiv($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/ertekeles/export-pre.php b/mayor-orig/www/policy/private/naplo/ertekeles/export-pre.php new file mode 100644 index 00000000..df76b3d1 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/ertekeles/export-pre.php @@ -0,0 +1,33 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/kerdoiv.php'); + require_once('include/modules/naplo/share/file.php'); + + $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV); + + $ADAT['kerdoiv'] = getOsszesKerdoiv($tanev); + $ADAT['kerdoivIds'] = array(); + for ($i = 0; $i < count($ADAT['kerdoiv']); $i++) $ADAT['kerdoivIds'][] = $ADAT['kerdoiv'][$i]['kerdoivId']; + + $ADAT['kerdoivId'] = $kerdoivId = readVariable($_POST['kerdoivId'], 'numeric', null, $ADAT['kerdoivIds']); + if (isset($kerdoivId)) { + + $ADAT['stat'] = getKerdoivStat($kerdoivId, $tanev); + + } + + } +//echo '<pre>'; var_dump($ADAT['stat']['kerdes'][1]); echo '</pre>'; + + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array()); + $TOOL['kerdoivSelect'] = array('tipus' => 'cella', 'paramName' => 'kerdoivId', 'kerdoiv' => $ADAT['kerdoiv'], 'post' => array('tanev')); + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/ertekeles/export.php b/mayor-orig/www/policy/private/naplo/ertekeles/export.php new file mode 100644 index 00000000..f2f7171d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/ertekeles/export.php @@ -0,0 +1,27 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + function exportKerdoiv($ADAT) { + + formBegin(); + + echo '<textarea name="export" style="width: 80%; height: 200px;">'; + foreach ($ADAT['stat']['kerdes'] as $kerdesId => $kAdat) { + echo $kAdat['kerdes']."\n"; + foreach ($kAdat['valasz'] as $valaszId => $valasz) { + echo $valasz."\n"; + } + echo "\n"; + } + + echo '</textarea>'."\n"; + formEnd(); + + } + + exportKerdoiv($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/ertekeles/kerdoivBetoltes-pre.php b/mayor-orig/www/policy/private/naplo/ertekeles/kerdoivBetoltes-pre.php new file mode 100644 index 00000000..0d633fc8 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/ertekeles/kerdoivBetoltes-pre.php @@ -0,0 +1,149 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/szulo.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/kerdoiv.php'); + + $ADAT['feladoTipusok'] = array('tanar','diak','szulo'); + $ADAT['cimzettTipusok'] = array('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly'); + + $ADAT['feladoTipus'] = readVariable($_POST['feladoTipus'], 'enum', null, $ADAT['feladoTipusok']); + $ADAT['cimzettTipus'] = readVariable($_POST['cimzettTipus'], 'enum', null, $ADAT['cimzettTipusok']); +// !!!! + $kerdoivId = $ADAT['kerdoivId'] = readVariable($_POST['kerdoivId'], 'id'); + if (isset($kerdoivId)) { + $ADAT['kerdoivAdat'] = getKerdoivAdat($kerdoivId); + if (is_array($ADAT['kerdoivAdat']['cimzett']) && count($ADAT['kerdoivAdat']['cimzett']) > 0) + $ADAT['cimzettTipus'] = array_pop(array_keys($ADAT['kerdoivAdat']['cimzett'])); + $ADAT['cim'] = $ADAT['kerdoivAdat']['cim']; + } + + if (isset($ADAT['cimzettTipus'])) { +/* + switch ($ADAT['feladoTipus']) { + case 'tanar': + $T = getTanarok(array('tanev' => __TANEV)); + for ($i = 0; $i < count($T); $i++) { + $ADAT['feladok'][] = array('feladoId' => $T[$i]['tanarId'], 'feladoNev' => $T[$i]['tanarNev']); + $ADAT['feladoIds'][] = $T[$i]['tanarId']; + } + break; + case 'diak': + $T = getDiakok(array('tanev' => __TANEV)); + for ($i = 0; $i < count($T); $i++) { + $ADAT['feladok'][] = array('feladoId' => $T[$i]['diakId'], 'feladoNev' => $T[$i]['diakNev']); + $ADAT['feladoIds'][] = $T[$i]['diakId']; + } + break; + case 'szulo': + $T = getSzulok(array('result' => 'standard')); + for ($i = 0; $i < count($T); $i++) { + $ADAT['feladok'][] = array('feladoId' => $T[$i]['szuloId'], 'feladoNev' => $T[$i]['szuloNev']); + $ADAT['feladoIds'][] = $T[$i]['szuloId']; + } + break; + } +*/ + $ADAT['cimzettIds'] = array(0); + switch ($ADAT['cimzettTipus']) { + case 'tanar': + $T = getTanarok(array('tanev' => __TANEV)); + for ($i = 0; $i < count($T); $i++) { + $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['tanarId'], 'cimzettNev' => $T[$i]['tanarNev']); + $ADAT['cimzettIds'][] = $T[$i]['tanarId']; + } + break; + case 'diak': + $T = getDiakok(array('tanev' => __TANEV)); + for ($i = 0; $i < count($T); $i++) { + $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['diakId'], 'cimzettNev' => $T[$i]['diakNev']); + $ADAT['cimzettIds'][] = $T[$i]['diakId']; + } + break; + case 'szulo': + $T = getSzulok(array('result' => 'standard')); + for ($i = 0; $i < count($T); $i++) { + $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['szuloId'], 'cimzettNev' => $T[$i]['szuloNev']); + $ADAT['cimzettIds'][] = $T[$i]['szuloId']; + } + break; + case 'tankor': + case 'tankorSzulo': + case 'tankorTanar': + $T = getTankorok(array('tanev = '.__TANEV)); + for ($i = 0; $i < count($T); $i++) { + $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['tankorId'], 'cimzettNev' => $T[$i]['tankorNev']); + $ADAT['cimzettIds'][] = $T[$i]['tankorId']; + } + break; + case 'munkakozosseg': + $T = getMunkakozossegek(); + for ($i = 0; $i < count($T); $i++) { + $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['mkId'], 'cimzettNev' => $T[$i]['mkNev']); + $ADAT['cimzettIds'][] = $T[$i]['mkId']; + } + break; + case 'osztaly': + case 'osztalySzulo': + case 'osztalyTanar': + $T = getOsztalyok(__TANEV); + for ($i = 0; $i < count($T); $i++) { + $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['osztalyId'], 'cimzettNev' => $T[$i]['osztalyJel']); + $ADAT['cimzettIds'][] = $T[$i]['osztalyId']; + } + break; + } + } + + if ($action == 'kerdoivBetoltes1') { + $ADAT['cim'] = readVariable($_POST['cim'], 'sql', null); + $ADAT['tolDt'] = readVariable($_POST['tolDt'], 'datetime', null); + $ADAT['igDt'] = readVariable($_POST['igDt'], 'datetime', null); + $ADAT['megjegyzes'] = readVariable($_POST['megjegyzes'], 'string', null); + if (isset($ADAT['cim']) && isset($ADAT['tolDt']) && isset($ADAT['igDt']) && isset($ADAT['cimzettTipus'])) { + $kerdoivId = $ADAT['kerdoivId'] = ujKerdoiv($ADAT); + if ($kerdoivId) { + $ADAT['txt'] = explode("\n", $_POST['txt']); + kerdesValaszFelvetel($ADAT); + } + } else { + $_SESSION['alert'][] = 'message:empty_fields:ujKerdoiv:cim-tolDt-igDt'; + } + } elseif ($action == 'kerdoivBetoltes2') { + if (is_array($_POST['cimzettId']) && count($_POST['cimzettId']) > 0) { + //$kerdoivId = readVariable($_POST['kerdoivId'], 'numeric unsigned', null); + if (in_array(0, $_POST['cimzettId'])) $_POST['cimzettId'] = $ADAT['cimzettIds']; + for ($i = 0; $i < count($_POST['cimzettId']); $i++) { + $cimzettId = readVariable($_POST['cimzettId'][$i], 'numeric unsigned', null, $ADAT['cimzettIds']); + kerdoivCimzettFelvetel($kerdoivId, $cimzettId, $ADAT['cimzettTipus']); + } + } + if (is_array($_POST['torlendoCimzettId']) && count($_POST['torlendoCimzettId']) > 0) { + for ($i = 0; $i < count($_POST['torlendoCimzettId']); $i++) { + $cimzettId = readVariable($_POST['torlendoCimzettId'][$i], 'numeric unsigned', null, $ADAT['cimzettIds']); + kerdoivCimzettTorles($kerdoivId, $cimzettId, $ADAT['cimzettTipus']); + } + } + $ADAT['kerdoivAdat'] = getKerdoivAdat($kerdoivId); + if (is_array($ADAT['kerdoivAdat']['cimzett']) && count($ADAT['kerdoivAdat']['cimzett'])>0) { + $ADAT['cimzettTipus'] = array_pop(array_keys($ADAT['kerdoivAdat']['cimzett'])); + } + $ADAT['cim'] = $ADAT['kerdoivAdat']['cim']; + } + } + + $TOOL['kerdoivSelect'] = array('tipus' => 'cella', 'paramName' => 'kerdoivId', 'post' => array()); + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/ertekeles/kerdoivBetoltes.php b/mayor-orig/www/policy/private/naplo/ertekeles/kerdoivBetoltes.php new file mode 100644 index 00000000..4b7c5287 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/ertekeles/kerdoivBetoltes.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (!isset($ADAT['kerdoivId'])) putKerdoivForm($ADAT); + else putCimzettForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/ertekeles/osszesites-pre.php b/mayor-orig/www/policy/private/naplo/ertekeles/osszesites-pre.php new file mode 100644 index 00000000..0b537ffe --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/ertekeles/osszesites-pre.php @@ -0,0 +1,97 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__TANAR && !__NAPLOADMIN && !__VEZETOSEG) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/kerdoiv.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/share/print/pdf.php'); + + $ADAT['kerdoiv'] = getOsszesKerdoiv(); + $ADAT['kerdoivIds'] = array(); + for ($i = 0; $i < count($ADAT['kerdoiv']); $i++) $ADAT['kerdoivIds'][] = $ADAT['kerdoiv'][$i]['kerdoivId']; + + $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned'); + if (__TANAR && !__NAPLOADMIN && !__VEZETOSEG) $tanarId = __USERTANARID; + $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'], 'numeric unsigned'); + + $ADAT['kerdoivId'] = $kerdoivId = readVariable($_POST['kerdoivId'], 'numeric', null, $ADAT['kerdoivIds']); + + if (isset($kerdoivId)) { + + $ADAT['kerdoivStat'] = getKerdoivStat($kerdoivId); + +// if (isset($tankorId)) { +// } else { + $Table = array(); + foreach (array('tankor','tankorSzulo') as $key => $cimzettTipus) { + if (is_array($ADAT['kerdoivStat']['cimzett'][$cimzettTipus])) { // Ha tanköröket értékeltünk + // Elválasztó - a két címzettTípus között +// $Table[] = ''; $Table[] = $cimzettTipus; $Table[] = ''; + $sor = count($Table); // A következő sor + // táblázat elkészítése - két dimenziós tömb + // első sor: Tanár | Tankör | Kerdes |.|.|.| Kerdes |.|... + $Table[$sor] = array('Tanár/Tankör','Létszám'); + foreach ($ADAT['kerdoivStat']['kerdes'] as $kerdesId => $kAdat) { + $Table[$sor][] = $kAdat['kerdes'].' ('.$kerdesId.')'; + for ($i = 1; $i < count($kAdat['valasz']); $i++) $Table[$sor][] = ''; + } + // Második sor: | valasz1/1 | Valasz1/2 ... + $Table[$sor+1] = array('',''); + foreach ($ADAT['kerdoivStat']['kerdes'] as $kerdesId => $kAdat) { + $j=1; + foreach ($kAdat['valasz'] as $valaszId => $valasz) + $Table[$sor+1][] = ($j++).'. '.$valasz.' ('.$valaszId.')'; + } + // Tanáronként megyünk + if (isset($tanarId)) $Tanarok = array($tanarId => $ADAT['kerdoivStat']['tanarNev'][$tanarId]); + else $Tanarok = $ADAT['kerdoivStat']['tanarNev']; + foreach ($Tanarok as $tanarId => $tanarNev) { + $Table[] = array($tanarNev,''); // Ebbe a sorba lehetne esetleg átlagolni + // tanköröknként + for ($i = 0; $i < count($ADAT['kerdoivStat']['tanarTankorei'][$tanarId]); $i++) { + $tankorId = $ADAT['kerdoivStat']['tanarTankorei'][$tanarId][$i]; + $tankorNev = $ADAT['kerdoivStat']['tankorAdat'][$tankorId]['tankorNev']; + $Row = array($tankorNev.' ('.$tankorId.')', $ADAT['kerdoivStat']['tankorAdat'][$tankorId]['letszam']); + // Kérdésenként + foreach ($ADAT['kerdoivStat']['kerdes'] as $kerdesId => $kAdat) { + // Válszonként + foreach ($kAdat['valasz'] as $valaszId => $valasz) { + $Row[] = $ADAT['kerdoivStat']['szavazat'][$cimzettTipus][$tankorId][$valaszId]; + } + } + $Table[] = $Row; + } + } + + }} // if / foreach + + if (strstr($_SERVER["HTTP_USER_AGENT"], 'Linux')) { + $fileName = fileNameNormal('kerdoiv-'.$kerdoivId.'.csv'); + if (generateCSV($fileName, $Table, 'Kérdőív összesítés')) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/ertekeles/osszesites&file='.$fileName)); + } else { + $fileName = fileNameNormal('kerdoiv-'.$kerdoivId.'.xls'); + if (generateXLS($fileName, $Table, 'Kérdőív összesítés')) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/ertekeles/osszesites&file='.$fileName)); + } +// } // isset($tankorId) + } + + } + + if (__NAPLOADMIN || __VEZETOSEG) + $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('kerdoivId')); +// $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tolDt', 'igDt')); +// if (isset($osztalyId) || isset($tanarId)) +// $TOOL['tankorSelect'] = array('tipus' => 'sor', 'paramName' => 'tankorId', 'post' => array('osztalyId', 'tanarId', 'kerdoivId')); + + + $TOOL['kerdoivSelect'] = array('tipus' => 'cella', 'paramName' => 'kerdoivId', 'kerdoiv' => $ADAT['kerdoiv'], 'post' => array('tanarId', 'tankorId')); + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/ertekeles/osszesites.php b/mayor-orig/www/policy/private/naplo/ertekeles/osszesites.php new file mode 100644 index 00000000..c24a85d5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/ertekeles/osszesites.php @@ -0,0 +1,5 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/esemeny/esemeny-pre.php b/mayor-orig/www/policy/private/naplo/esemeny/esemeny-pre.php new file mode 100644 index 00000000..42808fe9 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/esemeny/esemeny-pre.php @@ -0,0 +1,7 @@ +<?php + + if (__DIAK) header('Location: '.location('index.php?page=naplo&sub=esemeny&f=jelentkezes')); + elseif (__NAPLOADMIN) header('Location: '.location('index.php?page=naplo&sub=esemeny&f=ujEsemeny')); + else header('Location: '.location('index.php?page=naplo&sub=esemeny&f=esemenyDiak')); + +?> diff --git a/mayor-orig/www/policy/private/naplo/esemeny/esemeny.php b/mayor-orig/www/policy/private/naplo/esemeny/esemeny.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/esemeny/esemeny.php diff --git a/mayor-orig/www/policy/private/naplo/esemeny/esemenyDiak-pre.php b/mayor-orig/www/policy/private/naplo/esemeny/esemenyDiak-pre.php new file mode 100644 index 00000000..080fb0ca --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/esemeny/esemenyDiak-pre.php @@ -0,0 +1,83 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/esemeny.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + $ADAT['esemenyKategoriak'] = getEnumField('naplo','esemeny','esemenyKategoria'); + $ADAT['esemenyId'] = readVariable($_POST['esemenyId'],'id', readVariable($_GET['esemenyId'],'id')); + $_POST['esemenyId'] = $ADAT['esemenyId']; + if ($ADAT['esemenyId'] != '') $ADAT['esemenyAdat'] = getEsemenyAdat($ADAT['esemenyId']); + define('__MODOSITHAT',( + __NAPLOADMIN || __VEZETOSEG + || ( + __TANAR + && ( $ADAT['esemenyId'] == '' || in_array(__USERTANARID, $ADAT['esemenyAdat']['tanarIds'])) + ) + )); + + if (__MODOSITHAT) { + if ($action == 'nevsorModositas') { + $ujDiakIds = readVariable($_POST['ujDiakId'], 'id'); + // TODO: ellenőrizni, hogy a diák jelentkezhet-e az eseményre (esemenyOsztaly, osztalyDiak) + if (is_array($ujDiakIds)) foreach ($ujDiakIds as $diakId) esemenyJelentkezes($diakId, $ADAT['esemenyId']); + $torolDiakId = readVariable($_POST['torolDiakId'], 'id'); + if (isset($torolDiakId)) esemenyLeadas($torolDiakId, $ADAT['esemenyId']); + + $jovahagyDiakId = readVariable($_POST['jovahagyDiakId'], 'id'); + if (isset($jovahagyDiakId)) jelentkezesJovahagyas($jovahagyDiakId, $ADAT['esemenyId']); + + $elutasitDiakId = readVariable($_POST['elutasitDiakId'], 'id'); + if (isset($elutasitDiakId)) jelentkezesElutasitas($elutasitDiakId, $ADAT['esemenyId']); + + } + } + + if ($ADAT['esemenyId'] != '') { + $ADAT['esemenyAdat'] = getEsemenyAdat($ADAT['esemenyId']); + $ADAT['tanarok'] = getTanarok(); + $ADAT['osztalyok'] = getosztalyok(); + + $ADAT['osztalyId2osztalyJel'] = array(); + foreach ($ADAT['esemenyAdat']['osztalyIds'] as $_osztalyId) { + // osztályJelek lekérdezése + $i=0; + while ($i < count($ADAT['osztalyok']) && $ADAT['osztalyok'][$i]['osztalyId'] != $_osztalyId) $i++; + if (count($i<$ADAT['osztalyok'])) $ADAT['osztalyId2osztalyJel'][$_osztalyId] = $ADAT['osztalyok'][$i]['osztalyJel']; + $statuszLista = array('jogviszonyban van','magántanuló'); + $tmp = getDiakokByOsztaly($_osztalyId, array('statusz' => $statuszLista)); + $ADAT['diakIds'][$_osztalyId] = array(); + foreach ($statuszLista as $statusz) + foreach ($tmp[$statusz] as $_diakId) { + $ADAT['diakok'][$_osztalyId][] = array( + 'diakId' => $_diakId, 'diakNev' => $tmp[$_diakId]['diakNev'], 'beDt' => $tmp[$_diakId]['beDt'], + 'kiDt' => $tmp[$_diakId]['kiDt'], 'statusz' => $statusz + ); + $ADAT['diakIds'][$_osztalyId][] = $_diakId; + $ADAT['diak2osztaly'][$_diakId] = $_osztalyId; + } + } + } + + $ADAT['esemenyek'] = getEsemenyLista(); + $TOOL['esemenySelect'] = array('tipus'=>'cella', + 'paramName'=>'esemenyId','paramDesc'=>'esemenyNev','esemenyId'=>$ADAT['esemenyId'],'adatok' => $ADAT['esemenyek'] + ); + if ($ADAT['esemenyId'] != '') { + $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=esemeny&f=ujEsemeny'), + 'titleConst' => array('_ESEMENYMODOSITAS'), 'post' => array('esemenyId'), + ); + } + + getToolParameters(); + + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/esemeny/esemenyDiak.php b/mayor-orig/www/policy/private/naplo/esemeny/esemenyDiak.php new file mode 100644 index 00000000..789fd5dd --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/esemeny/esemenyDiak.php @@ -0,0 +1,8 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if ($ADAT['esemenyId'] != '') esemenyNevsor($ADAT); +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/esemeny/jelentkezes-pre.php b/mayor-orig/www/policy/private/naplo/esemeny/jelentkezes-pre.php new file mode 100644 index 00000000..9d1de532 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/esemeny/jelentkezes-pre.php @@ -0,0 +1,45 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__DIAK) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/esemeny.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + if (__DIAK) $ADAT['diakId'] = __USERDIAKID; + else $ADAT['diakId'] = readVariable($_POST['diakId'], 'id'); + + if (isset($ADAT['diakId'])) { + $ADAT['diakOsztaly'] = getDiakokOsztalyai(array($ADAT['diakId'])); + $ADAT['esemenyek'] = getAktualisEsemenyByOsztaly($ADAT['diakOsztaly'][ $ADAT['diakId'] ]); + $ADAT['esemenyIds'] = array(); + if (is_array($ADAT['esemenyek'])) foreach ($ADAT['esemenyek'] as $eAdat) $ADAT['esemenyIds'][] = $eAdat['esemenyId']; + $ADAT['valasztottEsemenyek'] = getValasztottEsemenyek($ADAT['diakId'], array('esemenyIds' => $ADAT['esemenyIds'])); + $ADAT['jovahagyottEsemenyek'] = getJovahagyottEsemenyek($ADAT['diakId'], array('esemenyIds' => $ADAT['esemenyIds'])); + + if ($action == 'jelentkezes') { + + foreach ($_POST as $key => $val) { + if ($val == 'felvesz') { + $ADAT['esemenyId'] = readVariable(substr($key,7), 'id'); + // TODO: ellenőrizzük, hogy az adott eseményre jelentkezhet-e a diák... + esemenyJelentkezes($ADAT['diakId'], $ADAT['esemenyId']); + } elseif ($val == 'lead') { + $ADAT['esemenyId'] = readVariable(substr($key,4), 'id'); + esemenyLeadas($ADAT['diakId'], $ADAT['esemenyId']); + } + // Választott események újraolvasása... + $ADAT['esemenyek'] = getAktualisEsemenyByOsztaly($ADAT['diakOsztaly'][ $ADAT['diakId'] ]); + $ADAT['valasztottEsemenyek'] = getValasztottEsemenyek($ADAT['diakId'], array('esemenyIds' => $ADAT['esemenyIds'])); + $ADAT['jovahagyottEsemenyek'] = getJovahagyottEsemenyek($ADAT['diakId'], array('esemenyIds' => $ADAT['esemenyIds'])); + } + + } + + } + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/esemeny/jelentkezes.php b/mayor-orig/www/policy/private/naplo/esemeny/jelentkezes.php new file mode 100644 index 00000000..b6286bf4 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/esemeny/jelentkezes.php @@ -0,0 +1,8 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (is_array($ADAT['esemenyIds'])) putJelentkezesForm($ADAT); +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/esemeny/ujEsemeny-pre.php b/mayor-orig/www/policy/private/naplo/esemeny/ujEsemeny-pre.php new file mode 100644 index 00000000..c1bffff8 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/esemeny/ujEsemeny-pre.php @@ -0,0 +1,91 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/esemeny.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + $ADAT['esemenyKategoriak'] = getEnumField('naplo','esemeny','esemenyKategoria'); + $ADAT['esemenyId'] = readVariable($_POST['esemenyId'],'id'); + if ($ADAT['esemenyId'] != '') $ADAT['esemenyAdat'] = getEsemenyAdat($ADAT['esemenyId']); + + define('__MODOSITHAT',( + __NAPLOADMIN || __VEZETOSEG + || ( + __TANAR + && ( $ADAT['esemenyId'] == '' || in_array(__USERTANARID, $ADAT['esemenyAdat']['tanarIds'])) + ) + )); + + if ($action == 'esemenyTorles') { + + if (__MODOSITHAT && $ADAT['esemenyId'] != '') { + if (esemenyTorles($ADAT['esemenyId'])) { + $_SESSION['alert'][] = 'info:success'; + unset($ADAT); + } + } else { + $_SESSION['alert'][] = 'message:insufficient_access'; + } + + } elseif ($action != '') { + + $ADAT['esemenyRovidnev'] = readVariable($_POST['esemenyRovidnev'],'string'); + $ADAT['esemenyNev'] = readVariable($_POST['esemenyNev'],'string'); + $ADAT['esemenyKategoria'] = readVariable($_POST['esemenyKategoria'],'enum',null,$ADAT['esemenyKategoriak']); + $ADAT['esemenyLeiras'] = readVariable($_POST['esemenyLeiras'],'string'); + $ADAT['jelentkezesTolDt'] = readVariable($_POST['jelentkezesTolDt'],'datetime'); + $ADAT['jelentkezesIgDt'] = readVariable($_POST['jelentkezesIgDt'],'datetime'); + $ADAT['min'] = readVariable($_POST['min'],'numeric unsigned'); + $ADAT['max'] = readVariable($_POST['max'],'numeric unsigned'); + + if ( + $ADAT['esemenyRovidnev']!='' && $ADAT['esemenyKategoria']!='' && $ADAT['jelentkezesTolDt']!='' && $ADAT['jelentkezesIgDt']!='' + && ($action == 'ujEsemeny' || $ADAT['esemenyId']!='') + ) { + + if ($action == 'ujEsemeny') { + $ADAT['esemenyId'] = ujEsemeny($ADAT); + if (is_numeric($ADAT['esemenyId'])) $_SESSION['alert'][] = 'info:success'; + } elseif ($action == 'esemenyModositas') { + $ADAT['esemenyTanar'] = readVariable($_POST['esemenyTanar'],'id',array()); + $ADAT['esemenyOsztaly'] = readVariable($_POST['esemenyOsztaly'],'id',array()); + $ADAT['esemenyTanar'] = readVariable($_POST['esemenyTanar'],'id',array()); + // TODO: jogosultságok! Tanár csak a hozzárendeltet! + if (__MODOSITHAT) { + esemenyModositas($ADAT); + $_SESSION['alert'][] = 'info:success'; + } else $_SESSION['alert'][] = 'message:insufficient_access'; + } + + } else { + $_SESSION['alert'][] = 'message:wrong_data'; + } // wrong_data + } // action + + if ($ADAT['esemenyId'] != '') { + $ADAT['esemenyAdat'] = getEsemenyAdat($ADAT['esemenyId']); + $ADAT['tanarok'] = getTanarok(); + $ADAT['osztalyok'] = getosztalyok(); + } + $ADAT['esemenyek'] = getEsemenyLista(); + + $TOOL['esemenySelect'] = array('tipus'=>'cella', + 'paramName'=>'esemenyId','paramDesc'=>'esemenyNev','esemenyId'=>$ADAT['esemenyId'],'adatok' => $ADAT['esemenyek'] + ); + if ($ADAT['esemenyId'] != '') { + $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=esemeny&f=esemenyDiak'), + 'titleConst' => array('_ESEMENYJELENTKEZOK'), 'post' => array('esemenyId'), + ); + } + getToolParameters(); + + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/esemeny/ujEsemeny.php b/mayor-orig/www/policy/private/naplo/esemeny/ujEsemeny.php new file mode 100644 index 00000000..fdb37417 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/esemeny/ujEsemeny.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + esemenyForm($ADAT); + //if ($ADAT['esemenyId'] == '') esemenyLista($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/export/bizonyitvany-pre.php b/mayor-orig/www/policy/private/naplo/export/bizonyitvany-pre.php new file mode 100644 index 00000000..b71adf7b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/bizonyitvany-pre.php @@ -0,0 +1,114 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + define('_TIME',strtotime(date('Y-m-d'))); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/share/print/pdf.php'); + require_once('include/modules/naplo/osztalyozo/stat.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/szulo.php'); + require_once('include/modules/naplo/share/file.php'); + + $ADAT['formatum'] = readVariable($_POST['formatum'], 'enum', 'ods', array('csv','ods','xml')); + if ($ADAT['formatum'] == 'xml') $ADAT['mime'] = 'application/vnd.ms-excel'; + + if (file_exists($file = _MAYOR_DIR.'/export/module-naplo/'.__INTEZMENY.'/bizonyitvany.php')) + require_once($file); + elseif (file_exists($file = _MAYOR_DIR.'/export/module-naplo/default/bizonyitvany.php')) + require_once($file); + + $ADAT['magatartasIdk'] = getMagatartas(); + $ADAT['szorgalomIdk']= getSzorgalom(); + + // melyik szemeszter adatait nézzük + if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') { + $szemeszterId = $_POST['szemeszterId']; + } elseif (!isset($_POST['szemeszterId'])) { + for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) { + if ( + strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME + && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME + ) { + $_POST['szemeszterId'] = $szemeszterId = $_TANEV['szemeszter'][$i]['szemeszterId']; + break; + } + } + } + $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'bizonyítvány', array('bizonyitvany')); + + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id'); + if (!isset($osztalyId) && __OSZTALYFONOK) { $ADAT['osztalyId'] = $osztalyId = $_OSZTALYA[0]; } + + if (isset($szemeszterId)) { + + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + define('__ZARO_SZEMESZTER', $ADAT['szemeszterAdat']['szemeszter'] == $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']); + + $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev']); + if (isset($osztalyId) && $action == 'bizonyitvanyExport') { + + define('__OSZTALYFONOKE', (__OSZTALYFONOK === true && in_array($osztalyId, $_OSZTALYA))); + + // intézmény adatok + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); + // osztály statisztikák + $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['szemeszterAdat']['tanev']); + // Az adott szemeszterben létezik-e az osztály + for ($i = 0; ($i < count($Osztalyok) && $Osztalyok[$i]['osztalyId'] != $osztalyId); $i++); + if ($i < count($Osztalyok)) { + $Szulok = getSzulok(); + $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'])); + for ($i = 0; $i < count($ADAT['diakok']); $i++) { + $ADAT['diakIds'][] = intval($ADAT['diakok'][$i]['diakId']); + $ADAT['diakAdat'][ $ADAT['diakok'][$i]['diakId'] ] = getDiakAdatById( $ADAT['diakok'][$i]['diakId'] ); + foreach ($ADAT['diakAdat'] as $diakId => $dAdat) { + foreach (array('anya','apa','gondviselo') as $tipus) { + $szuloId = $dAdat[ $tipus.'Id' ]; + if (is_array($Szulok[$szuloId])) foreach ($Szulok[$szuloId] as $attr => $value) { + $ADAT['diakAdat'][$diakId][ $tipus . ucfirst($attr) ] = $value; + } elseif ($i == 0 && is_array($Szulok[1])) foreach ($Szulok[1] as $attr => $value) { + $ADAT['diakAdat'][$diakId][ $tipus . ucfirst($attr) ] = ''; + } + } + } + } + $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev); + //for ($i = 0; $i < count($ADAT['targyak']); $i++) $ADAT['targyAdat'][ $ADAT['targyak'][$i]['targyNev'] ] = $ADAT['targyak'][$i]['targyId']; + $ADAT['tanarok'] = getTanarokByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat']); + $ADAT['jegyek'] = getDiakZarojegyek($ADAT['diakIds'], $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter']); + $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszterAdat']); + + /* A pdfBizonyítvány ezeket használja: szemeszterAdat|intezmeny|diakok|jegyek|hianyzas|osztaly|targyAdat|targyak*/ + $file = fileNameNormal('bizonyitvany-'.$ADAT['szemeszterAdat']['tanev'].'-'.$ADAT['szemeszterAdat']['szemeszter'].'-' + .str_replace('/','',str_replace('.','',$ADAT['osztaly']['osztalyJel']))); // 9/ Ny.a --> 9Nya + if (exportBizonyitvany($file, $ADAT)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/bizonyitvany&file='.$file.'.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime'])); + } else { + unset($osztalyId); + } + + } + } + + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') ,'post' => array('sorrendNev', 'osztalyId')); + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev')); + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/export/bizonyitvany.php b/mayor-orig/www/policy/private/naplo/export/bizonyitvany.php new file mode 100644 index 00000000..b87c8a05 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/bizonyitvany.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putExportForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/export/diakExport-pre.php b/mayor-orig/www/policy/private/naplo/export/diakExport-pre.php new file mode 100644 index 00000000..eb3d95e5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/diakExport-pre.php @@ -0,0 +1,68 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/szulo.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/share/date/names.php'); + + $ADAT['formatum'] = isset($_POST['html'])?'html':(isset($_POST['csv'])?'csv':(isset($_POST['xml'])?'xml':null)); + if (is_null($ADAT['formatum'])) $ADAT['formatum'] = readVariable($_POST['formatum'], 'enum', null, array('csv','xml','html')); + $_POST['formatum'] = $ADAT['formatum']; + if ($ADAT['formatum'] == 'xml') { + $ADAT['mime'] = 'application/vnd.ms-excel'; + $ADAT['formatum'] = 'xml'; + } + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); + $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d')); + $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV); + if ($tanev != __TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV; + + $ret = getTableFields('diak','naplo_intezmeny',array('osztalyJel','diakNaploSorszam'), array('withType' => true)); + $ADAT['fields'] = $ret['names']; + $ADAT['types'] = $ret['types']; $ADAT['types']['osztalyJel'] = 'string'; $ADAT['types']['diakNaploSorszam'] = 'int'; + $ret = getTableFields('szulo','naplo_intezmeny',array(), array('withType' => true)); + $szuloMezok = $ret['names']; + foreach (array('anya','apa','gondviselő','nevelő') as $szulo) { + foreach ($szuloMezok as $attr => $attrNev) { + $ADAT['fields'][ekezettelen($szulo).ucfirst($attr)] = ucfirst($szulo).' '.kisbetus($attrNev); + $ADAT['types' ][ekezettelen($szulo).ucfirst($attr)] = $ret['types'][ $attrNev ]; + } + } + $ADAT['fields']['telephelyId'] = 'telephelyId'; + $ADAT['types' ]['telephelyId'] = 'int'; + + if (!is_array($_POST['mezok'])) $_POST['mezok'] = $exportFormatum['alapértelmezett']; + foreach ($_POST['mezok'] as $i => $attr) { + if (isset($ADAT['fields'][$attr])) $ADAT['mezok'][$attr] = $ADAT['fields'][$attr]; + } + + if (isset($ADAT['formatum'])) { + $ADAT['export'] = diakExport($ADAT); + if ($ADAT['formatum'] != 'html') { + + if (is_array($ADAT['export']) && createFile($ADAT)) { + header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=diakExport.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime'])); + } else { + echo 'HIBA'; + } + } + } + + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array('osztalyId')); + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post' => array('osztalyId', 'tanev'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])), + 'igDt' => $TA['zarasDt'], + ); + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tanev', 'dt','mezok','formatum')); + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/export/diakExport.php b/mayor-orig/www/policy/private/naplo/export/diakExport.php new file mode 100644 index 00000000..30066c3f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/diakExport.php @@ -0,0 +1,12 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putDiakExportForm($ADAT); + if (is_array($ADAT['export']) && count($ADAT['export']) > 0) { + putDiakTabla($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/export/kirBizonyitvanyExport-pre.php b/mayor-orig/www/policy/private/naplo/export/kirBizonyitvanyExport-pre.php new file mode 100644 index 00000000..0e0bd72f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/kirBizonyitvanyExport-pre.php @@ -0,0 +1,132 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + define('_TIME',strtotime(date('Y-m-d'))); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/share/print/pdf.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/osztalyozo/stat.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/targy.php'); + + $INTEZMENY = getIntezmenyByRovidnev(__INTEZMENY); + + { + $q = "SELECT targyId,kirTargyId FROM targy WHERE kirTargyId IS NOT NULL"; + $TARGYID2KIR = db_query($q, array('fv'=>'...','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'targyId')); + } + +// $ADAT['magatartasIds'] = getMagatartas(); +// $ADAT['szorgalomIds']= getSzorgalom(); + + // melyik szemeszter adatait nézzük + if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') { + $szemeszterId = $_POST['szemeszterId']; + } elseif (!isset($_POST['szemeszterId'])) { + for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) { + if ( + strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME + && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME + ) { + $_POST['szemeszterId'] = $szemeszterId = $_TANEV['szemeszter'][$i]['szemeszterId']; + break; + } + } + } + $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'bizonyítvány', array('napló','bizonyítvány','anyakönyv','ellenőrző','egyedi')); + + if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $_POST['osztalyId']; } + elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $_OSZTALYA[0]; $_POST['osztalyId'] = $osztalyId; } + + if (isset($szemeszterId)) { + + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + define('__ZARO_SZEMESZTER', $ADAT['szemeszterAdat']['szemeszter'] == $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']); + + $tanev = $ADAT['szemeszterAdat']['tanev']; + + $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev']); + if (isset($osztalyId)) { + + define('__OSZTALYFONOKE', (__OSZTALYFONOK === true && in_array($osztalyId, $_OSZTALYA))); + // $ADAT['evfolyamJel'] = getEvfolyamJelByOsztalyId($osztalyId,$tanev); + $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId,$tanev); + + // intézmény adatok + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); + // osztály statisztikák + $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['szemeszterAdat']['tanev']); + // Az adott szemeszterben létezik-e az osztály + for ($i = 0; ($i < count($Osztalyok) && $Osztalyok[$i]['osztalyId'] != $osztalyId); $i++); + if ($i < count($Osztalyok)) { + $ADAT['diakok'] = getDiakok(array( + 'result' => 'assoc', 'osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'], + 'tolDt' => $ADAT['szemeszterAdat']['zarasDt'], 'igDt' => $ADAT['szemeszterAdat']['zarasDt'], + 'extraAttrs' => 'oId' + ) + + ); + $ADAT['diakIds'] = array_keys($ADAT['diakok']); + $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev); + //for ($i = 0; $i < count($ADAT['targyak']); $i++) $ADAT['targyAdat'][ $ADAT['targyak'][$i]['targyNev'] ] = $ADAT['targyak'][$i]['targyId']; + $ADAT['jegyek'] = getDiakZarojegyekByEvfolyamJel($ADAT['diakIds'], $ADAT['evfolyamJel'], $ADAT['szemeszterAdat'], array('felevivel'=>true)); +// $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszterAdat']); +//var_dump($Osztalyok); + /* A pdfBizonyítvány ezeket használja: szemeszterAdat|intezmeny|diakok|jegyek|hianyzas|osztaly|targyAdat|targyak*/ + $FORPRINT['file'] = fileNameNormal('kir-'.$ADAT['szemeszterAdat']['tanev'].'-'.$ADAT['szemeszterAdat']['szemeszter'].'-'.str_replace('.','',$ADAT['osztaly']['osztalyJel'])); + $FORPRINT['base']['feleviE'] = ($ADAT['szemeszterAdat']['szemeszter']==1)?'true':'false'; // szöveggel + $FORPRINT['base']['omkod'] = substr($INTEZMENY['OMKod'],-6); + /* osztály adatok */ + $FORPRINT['base']['kirOsztalyJelleg'] = $ADAT['osztaly']['kirOsztalyJellegId']; + $FORPRINT['base']['telephelyId'] = str_pad($ADAT['osztaly']['telephelyId'],3,0,STR_PAD_LEFT); + $FORPRINT['base']['tanevJel'] = $tanev.'/'.($tanev+1); + $FORPRINT['base']['evfolyamJel'] = $ADAT['evfolyamJel']; + $FORPRINT['base']['diak'] = $ADAT['diakIds']; + + for ($i=0; $i<count($ADAT['diakIds']); $i++) { + $_diakId = $ADAT['diakIds'][$i]; + $FORPRINT['diak'][$_diakId]['oId'] = $ADAT['diakok'][$ADAT['diakIds'][$i]]['oId']; +// if (in_array($ADAT['jegyek']... + if (is_array($ADAT['jegyek'][$_diakId])) { + foreach ($ADAT['jegyek'][$_diakId] as $_targyId => $A) { + if (is_array($TARGYID2KIR[$_targyId])) { + $FORPRINT['diak'][$_diakId]['targy'][] = array( + 'kirTargyKod'=> $TARGYID2KIR[$_targyId]['kirTargyId'], + 'jegy'=>intval($A[0]['jegy']) // igaziból jegyTipus - tól függő a megjelenés + ); + } + } + } + } + nyomtatvanyKeszites($FORPRINT,'kirBizonyitvanyExport'); + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/kirBizonyitvanyExport&file='.$FORPRINT['file'].'.xml')); + } else { + unset($osztalyId); + } + + } + } + + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') ,'post' => array( 'osztalyId')); + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId')); + + + + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/export/kirBizonyitvanyExport.php b/mayor-orig/www/policy/private/naplo/export/kirBizonyitvanyExport.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/kirBizonyitvanyExport.php diff --git a/mayor-orig/www/policy/private/naplo/export/kreta-pre.php b/mayor-orig/www/policy/private/naplo/export/kreta-pre.php new file mode 100644 index 00000000..89129607 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/kreta-pre.php @@ -0,0 +1,176 @@ +<?php + +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'); + // !!!!!!!!!!!!!!!!!!!!!!!!!!!!! XROSS-LINK + require_once('include/modules/naplo/intezmeny/tankorTanarHozzarendeles.php'); // !!! link! + + $ADAT['telephelyId'] = $telephelyId = readVariable($_POST['telephelyId'], 'id'); + if (isset($telephelyId)) $filter = array('telephelyId'=>$telephelyId); + + $ADAT['csakOratervi'] = readVariable($_POST['csakOratervi'], 'bool', false); + + if ($ADAT['csakOratervi']==true) { + $q = "select tankorTipusId from tankorTipus WHERE oratervi='óratervi'"; + $exportalandoTankorTipusIdk = db_query($q, array('fv'=>'','modul'=>'naplo_intezmeny','result'=>'idonly')); + // array(1,2,3,11,13,14); + } else { + $q = "select tankorTipusId from tankorTipus"; + $exportalandoTankorTipusIdk = db_query($q, array('fv'=>'','modul'=>'naplo_intezmeny','result'=>'idonly')); + } + + // teszt + // $q = "select *,REVERSE(SUBSTRING(SUBSTRING_INDEX(REVERSE(tankorNev),'(',1) FROM 2)) AS tankorId FROM kretaEttfEllenor"; + // $ADAT['kretaEllenor'] = db_query($q, array('fv'=>'','modul'=>'naplo_intezmeny','result'=>'multiassoc','keyfield'=>'tankorId')); + //dump($ADAT['kretaEllenor']); + + /* EREDETI KIEMELHETŐ KÓD */ + $ADAT['szuro'] = array( + 'osztalyok' => getOsztalyok(), + 'munkakozossegek' => getMunkakozossegek(), + 'tanarok' => getTanarok(array('extraAttrs'=>'szuletesiIdo')), + 'targyak' => getTargyak(), + + 'osztalyIds'=>array_keys(reindex(getOsztalyok(__TANEV,$filter),array('osztalyId'))), +// 'mkIds'=>readVariable($_POST['mkIds'],'id',array()), +// 'tanarIds'=>array_keys(reindex(getTanarok(array('tanev'=>__TANEV)),array('tanarId'))), +// 'targyIds'=>array_keys(reindex(getTargyak(array('tanev'=>__TANEV)),array('targyId'))), + ); + + /* MÁSOLAT */ + foreach ($ADAT['szuro']['targyak'] as $idx => $tAdat) $ADAT['targyAdat'][ $tAdat['targyId'] ] = $tAdat; + + // A szűrőben beállítottnak megefelő tankörök lekérése + $ADAT['tankorok'] = getTankorokBySzuro($ADAT['szuro']); + $ADAT['szuro']['tankorTargyIds'] = array(); + foreach ($ADAT['tankorok'] as $ids => $tAdat) + if (!in_array($tAdat['targyId'], $ADAT['szuro']['tankorTargyIds'])) + $ADAT['szuro']['tankorTargyIds'][] = $tAdat['targyId']; + $ADAT['tanarok'] = getTanarokBySzuro($ADAT['szuro']); + // stat + $ADAT['keszTankorDb'] = 0; + foreach ($ADAT['tankorok'] as $tAdat) if (is_array($tAdat['tanarIds']) && count($tAdat['tanarIds'])>0) $ADAT['keszTankorDb']++; + $ADAT['tankorStat'] = getTankorStat(); + /* EREDETI KOD VEGE */ + + if ($action=='kretaTanarExport') { + $TANAROK = getTanarok(array('extraAttrs'=>'oId,viseltNevElotag,viseltCsaladinev,viseltUtonev,beDt,szuletesiHely,szuletesiIdo,szuleteskoriUtonev,szuleteskoriCsaladinev,szuleteskoriNevElotag')); +/* $EXPORT[0] = array('Oktazon','Viselt név előtag','Viselt név vezetéknév','Viselt név keresztnév','Viselt név névsorrend', + 'Anyja neve előtag','Anyja neve vezetéknév','Anyja neve keresztnév', 'Anyja neve névsorrend', + 'Születési dátum', 'Születési hely', 'Születési ország','1. állampolgárság','2. állampolgárság', + 'Végzettség szintje','Állandó lakcím', 'irányító szám','Állandó lakcím település','Állandó lakcím közterület név', + 'Állandó lakcím közterület jelleg', 'Állandó lakcím házszám','Állandó lakcím pontosítás', + 'Tartózkodási cím irányító szám','Tartózkodási cím település','Tartózkodási cím közterület név', + 'Tartózkodási cím közterület jelleg','Tartózkodási cím házszám','Tartózkodási cím pontosítás', + 'Szakmai gyakorlati évek száma','E-mail cím','Közoktatási intézmény neve','Közoktatási intézmény székhelye', + 'OM azonosító','Kiemelt feladatellátási hely','Vezetői beosztás','Jogviszony létrejötte','Jogviszony megszűnte', + 'Jogviszony típusa','Besorolási kategória','Fizetési osztály','Pótlék', + 'Munkakör kategória','Munkakör','Tantárgy','Szakképzettségek', + 'Tudományos fokozatok','Pedagógus szakvizsgák','Egyéb továbbképzések'); +*/ + $j = 1; + for ($i=0; $i<count($TANAROK); $i++) { + $EXPORT[$j][]=$TANAROK[$i]['oId']; + $EXPORT[$j][]=$TANAROK[$i]['viseltNevElotag']; + $EXPORT[$j][]=$TANAROK[$i]['viseltCsaladinev']; + $EXPORT[$j][]=$TANAROK[$i]['viseltUtonev']; + $EXPORT[$j][]=''; // névsorrend + $EXPORT[$j][]=''; // Anyja Neve + $EXPORT[$j][]=''; // Anyja Neve + $EXPORT[$j][]=''; // Anyja Neve + $EXPORT[$j][]=''; // Anyja Neve + $EXPORT[$j][]=strval($TANAROK[$i]['szuletesiIdo']); + $EXPORT[$j][]=strval($TANAROK[$i]['szuletesiHely']); + //for ($_x=count($EXPORT[$j]); $_x<count($EXPORT[0]); $_x++) $EXPORT[$j][]=''; + $j++; + } + $ADAT['EXPORT'] = $EXPORT; + //dump($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/kreta_mayor_TANAR_'.date('Ymd'); + if (exportKretaTanarAdat($file, $ADAT)) { + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/&file='.$file.'.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime'])); + } + } + + } elseif ($action=='tankorTanarExport') { + + /* KRÉTA tanárok */ + + // echo 'A KIR rendszerből az alábbi módon letöltött táblázat a megfelelő: A KIR rendszerben az Alkalmazott keresése menüpontra kattintva, a Keresés ablakban a keresés találatait az Összes találat listába gombbal rakja át a Kérelemhez felvett személyek ablakba. Az ott található lista alján kattintson az Adatok exportálása gombra. A felugró ablakban válassza ki mindhárom listát (Személyes adatok, Jogviszony adatok, Képzettségek), majd töltse le a dokumentumot.'; + /* KRÉTA hagyományos táblázat */ + /* + Az első oszlopba (A oszlop) az Osztály nevét kell beírni, abban az esetben, ha a tanóra a teljes + osztálynak kerül megtartásra. + A második oszlopba (B oszlop) a Csoport neveket kell beírni, abban az esetben, ha a tanóra + csoportbontásban kerül megtartásra. + A harmadik oszlopba (C oszlop) a Tantárgy nevét kell megadni. + A negyedik, Csoportbontás nevű oszlopban (D oszlop) lehet jelezni, ha a tanóra + csoportbontásban kerül megtartásra. Ennek jelzése az előzetes tantárgyfelosztás esetén nem + kötelező! + Az ötödik oszlopba (E oszlop) az egyes pedagógusok adott tantárgyra, ill. osztályra/csoportra + vonatkozó heti óraszámát kell megadni. + Az utolsó oszlop (F oszlop) a pedagógus nevét tartalmazza! + */ + + $q = "select tanarId FROM tanar WHERE CONCAT(viseltNevElotag,viseltCsaladinev,viseltUtonev) = (select CONCAT(viseltNevElotag,viseltCsaladinev,viseltUtonev) AS nev from tanar GROUP BY nev HAVING count(*)>1)"; + $utkozoNevuTanarok = db_query($q, array('fv'=>'','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'tanarId')); + $TANARADAT = (reindex($ADAT['szuro']['tanarok'],array('tanarId'))); + // schema + $EXPORT[0][] = 'Osztály'; + $EXPORT[0][] = 'Csoport'; + $EXPORT[0][] = 'Tantárgy'; + $EXPORT[0][] = 'Óraszám'; + $EXPORT[0][] = 'Tanár'; + // ------- + $j = 1; + for ($i=0; $i<count($ADAT['tankorok']); $i++) { + if ($ADAT['tankorok'][$i]['bontasOk']===false) { + $_SESSION['alert'][] = 'info:tankör bontás hiba:'.$ADAT['tankorok'][$i]['tankorNev']; + //dump($ADAT['tankorok'][$i]); + // ha azt szeretnénk, hogy ne legyenek benne a "hibás" (bontasOk===false), akkor ez kell: } else { + } + if ($ADAT['tankorok'][$i]['hetiOraszam'] == 0) continue; // a heti nullás órákat kihagyjuk + if (!in_array($ADAT['tankorok'][$i]['tankorTipusId'],$exportalandoTankorTipusIdk)) continue; + for ($t=0; $t<count($ADAT['tankorok'][$i]['tanarIds']); $t++) { + $_tanarId = $ADAT['tankorok'][$i]['tanarIds'][$t]; + $_szulDt = $TANARADAT[intval($_tanarId)][0]['szuletesiIdo']; + $_tanarNev = $TANARADAT[intval($_tanarId)][0]['tanarNev']; + $EXPORT[$j][] = ''; // A oszlop: egész osztály + $EXPORT[$j][] = $ADAT['tankorok'][$i]['tankorNev'] . ' ('.$ADAT['tankorok'][$i]['tankorId'].')'; // B oszlop: csoport név + $EXPORT[$j][] = $ADAT['targyAdat'][ $ADAT['tankorok'][$i]['targyId'] ]['targyNev']; // C oszlop: tantárgy neve + // $EXPORT[$j][] = ''; // D oszlop: TRUE/FALSE??? + $EXPORT[$j][] = $ADAT['tankorok'][$i]['hetiOraszam']/count($ADAT['tankorok'][$i]['tanarIds']); // E oszlop: heti óraszám + if (is_array($utkozoNevuTanarok[$_tanarId]) && $_szulDt != '0000-00-00' && $_szulDt != '') $_tanarNev .= ' ('.$_szulDt.')'; // E oszlop: pedagógus neve + $EXPORT[$j][] = $_tanarNev; // F oszlop + $j++; + } + } + $ADAT['EXPORT'] = $EXPORT; + + $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/kreta_ETTF_telephely'.intval($telephelyId).'_'.date('Ymd'); + if (exportTankorTanar($file, $ADAT)) { + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/&file='.$file.'.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime'])); + } + } + } // end of tankorTanarExport + + $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array()); + getToolParameters(); + +} + + +?> diff --git a/mayor-orig/www/policy/private/naplo/export/kreta.php b/mayor-orig/www/policy/private/naplo/export/kreta.php new file mode 100644 index 00000000..ea276fd1 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/kreta.php @@ -0,0 +1,11 @@ +<?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;"/>'; + putKretaTanarExportForm($ADAT); + putKretaTankorTanarExportForm($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/export/sulix-pre.php b/mayor-orig/www/policy/private/naplo/export/sulix-pre.php new file mode 100644 index 00000000..c0e961c2 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/sulix-pre.php @@ -0,0 +1,26 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/session/search/searchAccount.php'); + require_once('include/modules/naplo/share/file.php'); + + if ($action == 'sulixExport') { + $ADAT['diak'] = getDiakAccounts(); + $ADAT['tanar'] = getTanarAccounts(); + if (createTGZ($ADAT)) { + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/sulix&file=mayor2sulix.tgz&mimetype=text/csv')); + } + } + + + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/export/sulix.php b/mayor-orig/www/policy/private/naplo/export/sulix.php new file mode 100644 index 00000000..b87c8a05 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/sulix.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putExportForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/export/tanarOsztalyOraszam-pre.php b/mayor-orig/www/policy/private/naplo/export/tanarOsztalyOraszam-pre.php new file mode 100644 index 00000000..addd994f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/tanarOsztalyOraszam-pre.php @@ -0,0 +1,106 @@ +<?php +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'); + + + $lr = db_connect('naplo_intezmeny'); + + $OSZTALYOK = getOsztalyok(); + $TANAROK = getTanarok(); + $TARGYAK = getTargyak(); + $TARGYAK = reindex($TARGYAK,array('targyId')); +//dump($OSZTALYOK); + for ($i=0; $i<count($OSZTALYOK); $i++) { + $osztalyIdk[] = $OSZTALYOK[$i]['osztalyId']; + } + + $q = "SELECT tankorId, count(szemeszter), avg(oraszam), sum(oraszam)/count(szemeszter) AS szummaOra, targyId from tankorSzemeszter + LEFT JOIN tankor USING (tankorId) + WHERE oraszam!=0 AND tanev=".__TANEV.' GROUP BY tankorId'; + $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed')); +// dump($r); + for ($i=0; $i<count($r); $i++) { + $tankorAdat = $r[$i]; + $tankorId = $tankorAdat['tankorId']; + //dump($tankorAdat); + ($T_OSZTALY = getTankorOsztalyaiByTanev($tankorId,__TANEV, null, $lr)); + ($T_TANAR = getTankorTanaraiByInterval($tankorId,array('tanev'=>__TANEV),$lr)); + if (count($T_TANAR)==0) 'HIBÁS TANKÖR'.dump($tankorAdat); + $ADAT[$T_TANAR[0]['tanarId']][$tankorAdat['targyId']][$T_OSZTALY[0]['osztalyId']][] = $tankorAdat['szummaOra']; + if (!in_array($T_TANAR[0]['tanarId'].'_'.$tankorAdat['targyId'],$SOR)) $SOR[] = $T_TANAR[0]['tanarId'].'_'.$tankorAdat['targyId']; + } + + db_close($lr); + + for ($i=0; $i<count($TANAROK); $i++) { + $tanarId = $TANAROK[$i]['tanarId']; + $TANAR_ADATOK[$tanarId] = $TANAROK[$i]; + } + + /* HEADER */ + $EXPORT[0][] = 'Név'; + $EXPORT[0][] = 'MaYoR Tanár Id'; + $EXPORT[0][] = 'MaYoR Tárgy név'; + $EXPORT[0][] = 'MaYoR Tárgy Id'; + $EXPORT[0][] = 'MaYoR Státusz'; + $EXPORT[0][] = 'MaYoR heti kötelező óraszám'; + $EXPORT[0][] = 'MaYoR heti munkaóra'; + for ($i=0; $i<count($OSZTALYOK); $i++) { +// $osztalyIdk[] = $OSZTALYOK[$i]['osztalyId']; + $EXPORT[0][] = $OSZTALYOK[$i]['osztalyJel']; + } + $EXPORT[0][] = 'MaYoR Sorösszeg'; + + for ($i=0; $i<count($SOR); $i++) { + list($tanarId,$targyId) = explode('_',$SOR[$i]); + $tanarTargyak = array(); + foreach($ADAT[$tanarId] as $_targyId => $REST) { + $tanarTargyak[] = $_targyId; + } + // bázis adatok + $EXPORT[($i+1)][] = $TANAR_ADATOK[$tanarId]['tanarNev']; + $EXPORT[($i+1)][] =$tanarId; + $EXPORT[($i+1)][] =$TARGYAK[$targyId][0]['targyNev']; + $EXPORT[($i+1)][] =$targyId; + $EXPORT[($i+1)][] =$TANAR_ADATOK[$tanarId]['statusz']; + $EXPORT[($i+1)][] =$TANAR_ADATOK[$tanarId]['hetiKotelezoOraszam']; + $EXPORT[($i+1)][] =$TANAR_ADATOK[$tanarId]['hetiMunkaora']; + + $tanarSzum = 0; + // osztályonként + for ($j=0; $j<count($OSZTALYOK); $j++) { + $osztalyAdat = $OSZTALYOK[$j]; + $osztalyId = $osztalyAdat['osztalyId']; + $SZUM = 0; + for ($k=0; $k<count($ADAT[$tanarId][$targyId][$osztalyId]); $k++) { + $SZUM += $ADAT[$tanarId][$targyId][$osztalyId][$k]; + } + $EXPORT[($i+1)][] =$SZUM; + $tanarSzum += $SZUM; + } + $EXPORT[($i+1)][] = "=".$tanarSzum; + } + $ADAT['EXPORT'] = $EXPORT; + + + + $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/tanarOsztalyOraszam'.'_'.date('Ymd'); + if (exportTanarOsztalyOraszam($file, $ADAT)) { + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/&file='.$file.'.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime'])); + } + } + +} + +dump($EXPORT); +?> diff --git a/mayor-orig/www/policy/private/naplo/export/tanarOsztalyOraszam.php b/mayor-orig/www/policy/private/naplo/export/tanarOsztalyOraszam.php new file mode 100644 index 00000000..a31e1b9f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/tanarOsztalyOraszam.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + +// dump($ADAT); + putTanarOsztalyOraszamForm($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/export/tantargyFelosztas-pre.php b/mayor-orig/www/policy/private/naplo/export/tantargyFelosztas-pre.php new file mode 100644 index 00000000..9de0f8f6 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/tantargyFelosztas-pre.php @@ -0,0 +1,61 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/kepesites.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/file.php'); + + $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'])) { + + // tanárok + $ADAT['tanarok'] = getTanarok(array('extraAttrs'=> 'hetiKotelezoOraszam, besorolas')); + $ADAT['tanarKepesitesIds'] = getTanarKepesitesIds(); + $ADAT['kepesitesAdat'] = getKepesitesek(array('result' => 'assoc')); + for ($i = 0; $i < count($ADAT['tanarok']); $i++) { + $ADAT['tanarAdat'][ $ADAT['tanarok'][$i]['tanarId'] ] = $ADAT['tanarok'][$i]; + $ADAT['tanarAdat'][ $ADAT['tanarok'][$i]['tanarId'] ]['targyIds'] = getTargyIdsByTanarId($ADAT['tanarok'][$i]['tanarId']); + } + unset($ADAT['tanarok']); + // tankörök + $ADAT['tankorok'] = getTankorOraszamok(); + foreach ($ADAT['tankorok'] as $idx => $tAdat) { + $tankorId = $tAdat['tankorId']; + $targyId = $tAdat['targyId']; + $osztalyId = $tAdat['osztalyIds'][0]; // mi legyen a több osztályos tankörökkel??? + $szemeszter = $tAdat['szemeszter']; + $tanarDb = count($tAdat['tanarIds']); + $oraszam = $tAdat['oraszam'] / $tanarDb; + foreach ($tAdat['tanarIds'] as $tanarId) { + $ADAT['export'][$tanarId][$targyId][$osztalyId][$szemeszter] += $oraszam; + } + } + // tárgyak + $ADAT['targyak'] = getTargyak(); + foreach ($ADAT['targyak'] as $idx => $tAdat) $ADAT['targyAdat'][ $tAdat['targyId'] ] = $tAdat; + unset($ADAT['targyak']); + // osztalyok + $ADAT['osztalyok'] = getOsztalyok(); + +//dump($ADAT['export']); + + $file = fileNameNormal('tantargyFelosztas-'.__TANEV.'-'.date('Ymd')); + if (exportTantargyFelosztas($file, $ADAT)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/tantargyFelosztas&file='.$file.'.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime'])); + + } + + } +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/export/tantargyFelosztas.php b/mayor-orig/www/policy/private/naplo/export/tantargyFelosztas.php new file mode 100644 index 00000000..c75ffff4 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/export/tantargyFelosztas.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putExportForm($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/haladasi/elmaradas-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/elmaradas-pre.php new file mode 100644 index 00000000..ea3a2959 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/elmaradas-pre.php @@ -0,0 +1,17 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/modules/naplo/share/tanar.php'); + $Tanarok = getTanarok(array('tanev' => __TANEV, 'beDt'=>$_TANEV['kezdesDt'],'kiDt'=>$_TANEV['zarasDt'],'result' => 'assoc')); + $Elmaradas = getHaladasiElmaradas(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/elmaradas.php b/mayor-orig/www/policy/private/naplo/haladasi/elmaradas.php new file mode 100644 index 00000000..8b4019bf --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/elmaradas.php @@ -0,0 +1,12 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $Elmaradas, $Tanarok; + + if ( + (is_array($Elmaradas['lezart']) && count($Elmaradas['lezart']) > 0) + || (is_array($Elmaradas['beirando']) && count($Elmaradas['beirando']) > 0) + ) putElmaradas($Elmaradas, $Tanarok); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/elszamolas-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/elszamolas-pre.php new file mode 100644 index 00000000..37078c30 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/elszamolas-pre.php @@ -0,0 +1,59 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include/share/date/names.php'); + + $dt = readVariable($_POST['dt'],'date'); + $igDt = readVariable($_POST['igDt'],'date'); + $tolDt = readVariable($_POST['tolDt'],'date'); + if (!isset($dt) && !isset($tolDt) && !isset($igDt)) { + $dt = date('Y-m-d',strtotime('Saturday', strtotime(date('Y-m-d')))); + $igDt = $dt; + $tolDt = getTanitasiNapVissza(5,$dt);; + } elseif (isset($dt)) { + $igDt = $dt; + $tolDt = getTanitasiNapVissza(5,$dt);; + } else { + $igDt = readVariable($_POST['igDt'],'date',$_TANEV['zarasDt']); + $tolDt = readVariable($_POST['tolDt'],'date',$_TANEV['kezdesDt']); + } + + if (__VEZETOSEG || __NAPLOADMIN) { + $ADAT = getElszamolas($tolDt, $igDt); + } elseif (defined('__USERTANARID')) { + $ADAT = getElszamolas($tolDt, $igDt, __USERTANARID); + } else { + // hiba + } + $ADAT['tanarok'] = getTanarok(); + $ADAT['napTipusok'] = getNapTipusok(); + + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', + // 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'), + 'paramName' => 'dt', 'hanyNaponta' => 7, + 'tolDt' => date('Y-m-d', strtotime('Saturday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => date('Y-m-d', strtotime('next Saturday', strtotime($_TANEV['zarasDt']))), + 'override' => true + ); + $TOOL['datumTolIgSelect'] = array( + 'tipus' => 'sor', + 'tolParamName' => 'tolDt', + 'igParamName' => 'igDt', + 'tolDt' => $_TANEV['kezdesDt'], + 'igDt' => $_TANEV['zarasDt'], +// 'hanyNaponta' => 'havonta', + 'post' => array('tanarId', 'osztalyId', 'tankorId', 'sulyozas') + ); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/elszamolas.php b/mayor-orig/www/policy/private/naplo/haladasi/elszamolas.php new file mode 100644 index 00000000..8e2635d6 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/elszamolas.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putElszamolas($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/haladasi-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/haladasi-pre.php new file mode 100644 index 00000000..f6a59939 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/haladasi-pre.php @@ -0,0 +1,387 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__TANAR && !__DIAK && !__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/oraModifier.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include/modules/naplo/share/terem.php'); + require_once('include/modules/naplo/share/tanmenet.php'); + require_once('include/modules/naplo/share/hetes.php'); + require_once('include/modules/naplo/share/helyettesitesModifier.php'); + require_once('include/share/date/names.php'); + + + $ADAT['csakUres'] = $csakUres = readVariable($_POST['csakUres'],'bool',false,null); + $ADAT['teremId' ] = $teremId = readVariable($_POST['teremId'],'id'); + + +if ( $skin == 'ajax' + && $_TANEV['szemeszter'][1]['statusz'] == 'aktív' +// Év végén komoly gond, ha nem tudják a kollégák az utolsó napok óráit beírni... +// && ( __NAPLOADMIN || __VEZETOSEG || ((__TANAR || __VEZETOSEG ) && __FOLYO_TANEV)) + && ( __NAPLOADMIN || __VEZETOSEG || ((__TANAR || __VEZETOSEG ))) + && $action == 'haladasiNaploBeiras' && is_array($_POST['oraId']) +) { + $_JSON['result'] = true; //default + $oraIds = readVariable($_POST['oraId'],'id'); + $lr = db_connect('naplo'); + for ($i = 0; $i < count($oraIds); $i++) { + if (is_numeric($oraIds[$i])) { + $oraId = $oraIds[$i]; + $_ki = readVariable($_POST['K_'.$oraId], 'id', ''); + $_leiras = readVariable($_POST['L_'.$oraId],'string', ''); + $_csoportAdat = readVariable($_POST['M_'.$oraId], 'string', ''); + if (isset($_POST['L_'.$oraId])) + $_JSON['result'] = $_JSON['result'] && updateHaladasiNaploOra($oraId, $_leiras, $_csoportAdat, $_ki, $lr); + } + } + // ez DUPlikátum, a nem ajaxnál is ezt tesszük ám! + + $ORATOROL = readVariable($_POST['ORATOROL'],'id'); + for ($i=0; $i<count($ORATOROL); $i++) { + if ($ORATOROL[$i]!='') { + oraElmarad($ORATOROL[$i],$lr); + } + } + // szintén DUP + $TEREMVALT = readVariable($_POST['TEREMVALT'],'string'); + for ($i=0; $i<count($TEREMVALT); $i++) { + if ($TEREMVALT[$i]!='') { + //oraId_teremId + list($oraId,$teremId) = explode('_',$TEREMVALT[$i]); + haladasiTeremModositas($oraId,$teremId,$lr); + } + } + + db_close($lr); +} else { + + // Egy tankör haladási naplójához + $tankorId = readVariable($_POST['tankorId'],'id',readVariable($_GET['tankorId'],'id')); + + // Ha diák nézi, akkor csak a saját tanköreit láthatja + if (__DIAK) $diakId = __USERDIAKID; + else $diakId = readVariable($_POST['diakId'],'id'); + + $osztalyId = readVariable($_POST['osztalyId'],'id'); + + if (isset($diakId)) { + // A diák már nem határozza meg egyértelműen az osztályt! --> osztalyId-t nem állítunk - hagyjuk + if (isset($tankorId) and !tankorTagjaE($diakId, $tankorId)) { + unset($tankorId); + } + $ADAT['title'] = getDiakNevById($diakId); + } else { + if (isset($teremId)) { + } elseif (!isset($osztalyId)) { + if (!isset($tanarId)) $tanarId = readVariable($_POST['tanarId'],'id'); + if (!isset($tanarId)) $tanarId = readVariable($_GET['tanarId'],'id'); + if (!isset($tanarId) && __USERTANARID!==false && __TANAR) $tanarId = __USERTANARID; + define(__PLUSZBEIRHAT, + (__USERTANARID == $tanarId || __NAPLOADMIN===true || __VEZETOSEG===true) + ); + } + } + if (!defined('__PLUSZBEIRHAT')) define('__PLUSZBEIRHAT',false); + /* ------------------------------------------------- */ + + // lapozás, tól-ig beállítás + if (!isset($tankorId)) { + + // egy tanár ($tanarId) vagy osztály ($osztaly) összes órája --> lapozni kell + // reading sensitive data + $igDt = readVariable($_POST['igDt'], 'datetime', date('Y-m-d')); + $tolDt = readVariable($_POST['tolDt'], 'datetime'); + $lapoz = readVariable($_POST['lapoz'], 'enum', null, array('<<','>>','nextWeek','prevWeek')); + $lapoz1 = readVariable($_POST['lapoz1'], 'enum', null, array('<<','>>','nextWeek','prevWeek')); + + // set defaults ++ +// if (strtotime($igDt) > strtotime($_TANEV['zarasDt'])) $igDt = $_TANEV['zarasDt']; + $maxIgDt = date('Y-m-d', strtotime('next Saturday', strtotime($_TANEV['kovetkezoKezdesDt']))); + if (strtotime($igDt) > strtotime($maxIgDt)) $igDt = $maxIgDt; + elseif (strtotime($igDt) < strtotime($_TANEV['kezdesDt'])) $igDt = $_TANEV['kezdesDt']; + if (date('w', strtotime($igDt)) == 0) $igDt = date('Y-m-d',strtotime('-1 days',strtotime($igDt))); // Hogy vasárnap még a múltheti látszódjon + $eVas = date('Y-m-d',strtotime('Saturday',strtotime($igDt))); + + if ($igDt == '') $igDt = $eVas; + if ($tolDt == '') $tolDt = $eHet = date('Y-m-d',strtotime('last Monday 02:00',strtotime($eVas))); + + if (in_array($lapoz,array('<<','prevWeek')) or in_array($lapoz1,array('<<','prevWeek'))) { + $tolDt = date('Y-m-d',strtotime('last Monday 02:00',strtotime($eHet))); +// $igDt = date('Y-m-d',strtotime('Saturday',strtotime($tolDt))); +// Vasárnap + $igDt = date('Y-m-d',strtotime('Sunday',strtotime($tolDt))); + } elseif (in_array($lapoz,array('>>','nextWeek')) or in_array($lapoz1,array('>>','nextWeek'))) { + $tolDt = date('Y-m-d',strtotime('Monday 02:00',strtotime($eVas))); +// $igDt = date('Y-m-d',strtotime('Saturday',strtotime($tolDt))); +// Vasárnap + $igDt = date('Y-m-d',strtotime('Sunday',strtotime($tolDt))); + } + if ($csakUres || strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $tolDt = date('Y-m-d',strtotime($_TANEV['kezdesDt'])); + // Ha ezt kiveszem, akkor mindig kirakja a teljes hetet, de a jövőbeli órákat nem lehet beírni! + // Itt a post értékét nem használjuk fel, csak vizsgáljuk. + if ((!isset($_POST['igDt']) || $_POST['igDt'] == '')&& strtotime($igDt) > time()) $igDt = date('Y-m-d'); + define('_SHOW_DAYS_FROM',$tolDt); + define('_SHOW_DAYS_TO',$igDt); + + } else { + + // egy tanulócsoport órái (nem kell lapozni) + define('_SHOW_DAYS_FROM',date('Y-m-d',strtotime($_TANEV['kezdesDt']))); + define('_SHOW_DAYS_TO',date('Y-m-d')); + + } + + /* ------------------------------------------------- */ + // Jogosultság ellenőrzés, tanév aktív-e... + + // A megjelenítéshez + if (isset($osztalyId) && !isset($diakId)) { + $osztalyAdat = getOsztalyAdat($osztalyId); + $ADAT['title'] = $osztalyAdat['osztalyJel'].' ('.$osztalyAdat['osztalyfonok']['tanarNev'].')'; + // hetesek miatt + $ADAT['osztalyId'] = $osztalyId; + $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId)); + for ($i = 0; $i < count($ADAT['diakok']); $i++) $ADAT['diakNevek'][ $ADAT['diakok'][$i]['diakId'] ] = $ADAT['diakok'][$i]['diakNev']; + } elseif (isset($tanarId)) { + $ADAT['title'] = getTanarNevById($tanarId); + //DEPRECATED $ADAT['oraTerheles'] = getOraTerhelesByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt)); + $ADAT['oraTerheles'] = getOraTerhelesStatByTanarId(array('tanarId'=>$tanarId,'dt'=>_SHOW_DAYS_TO)); + } elseif (isset($teremId)) { + $ADAT['title'] = $teremId; + } elseif (isset($tankorId)) { + $ADAT['title'] = 'A tankör haladási naplója'; + } + + if ( + $_TANEV['szemeszter'][1]['statusz'] == 'aktív' // Csak aktív tanévben lehet módosítani + && ( + __NAPLOADMIN // adminnak vagy + || __VEZETOSEG // vezetőség - tanév végi pótlásokhoz kell! + || ((__TANAR || __VEZETOSEG )) // A tanároknak, vezetőségi tagoknak +// || ((__TANAR || __VEZETOSEG ) && __FOLYO_TANEV) // A tanév közben a tanároknak, vezetőségi tagoknak - az év végi napok problémásak így! + ) + ) { + // action + if ($action == 'haladasiNaploBeiras' && ( + is_array($_POST['oraId']) + ||is_array($_POST['UJORA']) + ||is_array($_POST['ORATOROL']) + )) { + + $oraIds = readVariable($_POST['oraId'],'numeric'); + // --FIXME :: a feldolgozást inkább végezzük máshol + $lr = db_connect('naplo'); + for ($i = 0; $i < count($oraIds); $i++) { + if (is_numeric($oraIds[$i])) { + $oraId = $oraIds[$i]; + // Ha egy órának több tanára is van, select + //EXPERIMENTAL: $_modTs = readVariable($_POST['T_'.$oraId], 'datetime', ''); + $_ki = readVariable($_POST['K_'.$oraId], 'numeric', ''); + $_leiras = readVariable($_POST['L_'.$oraId],'string', ''); //htmlspecialchars($_POST['L_'.$oraId]) + $_csoportAdat = readVariable($_POST['M_'.$oraId], 'string', ''); //numeric:numeric ??? + // paraméterek: $oraId, $leiras, $csoportAdat = 'csoportId:tankorId', $ki = '', $olr = '') + if (isset($_POST['L_'.$oraId])) // a biztonság kedvéért ellenőrizzük + updateHaladasiNaploOra($oraId, $_leiras, $_csoportAdat, $_ki, $lr); + //EXPERIMENTAL: updateHaladasiNaploOra($oraId, $_leiras, $_csoportAdat, $_ki, $_modTs, $lr); + } + } + $UJORA = readVariable($_POST['UJORA'],'string'); + for ($i=0; $i<count($UJORA); $i++) { + if ($UJORA[$i]!='') { + //2013-08-30_2_egyéb_1 + list($_dt,$_ora,$_tipus,$_feladatTipusId) = explode('_',$UJORA[$i]); + if (__VEZETOSEG===true || __NAPLOADMIN===true) { + $_eredet='órarend'; + $_ki = $tanarId; + } else { + $_eredet = 'plusz'; + $_ki = __USERTANARID; + } + $UJORAIDK[$_dt][$_ora] = ujOraFelvesz(array('dt'=>$_dt,'ora'=>$_ora,'ki'=> $_ki, 'tipus'=>$_tipus,'eredet'=>$_eredet,'feladatTipusId'=>$_feladatTipusId,'munkaido'=>'fennmaradó'),$lr); + } + } + //*** IDE JÖHET A BEÍRÁS + if (is_array($_POST)) foreach ($_POST as $_key => $_leiras) { + if (substr($_key,0,3) === 'LE_' && $_leiras!='' && is_numeric($UJORAIDK[$_dt][$_ora])) { + list($_rest, $_dt,$_ora) = explode('_',$_key); + updateHaladasiNaploOra($UJORAIDK[$_dt][$_ora],$_leiras,'',$tanarId,$lr); + } + } + //*** + $ORATOROL = readVariable($_POST['ORATOROL'],'id'); + for ($i=0; $i<count($ORATOROL); $i++) { + if ($ORATOROL[$i]!='') { + oraElmarad($ORATOROL[$i],$lr); + } + } + $TEREMVALT = readVariable($_POST['TEREMVALT'],'string'); + for ($i=0; $i<count($TEREMVALT); $i++) { + if ($TEREMVALT[$i]!='') { + //oraId_teremId + list($oraId,$teremId) = explode('_',$TEREMVALT[$i]); + haladasiTeremModositas($oraId,$teremId,$lr); + } + } + + db_close($lr); + + } elseif ($action == 'hetesFelvetel' && isset($osztalyId) && ((__OSZTALYFONOK===true && in_array($osztalyId, $_OSZTALYA)) || __NAPLOADMIN===true )) { + + $ADAT['dt'] = readVariable($_POST['dt'], 'date'); + $ADAT['hetes'][1] = readVariable($_POST['hetes1'], 'numeric unsigned'); + $ADAT['hetes'][2] = readVariable($_POST['hetes2'], 'numeric unsigned'); + hetesFelvetel($ADAT); + +// } elseif (strtotime($igDt)<=strtotime('+1 week')) { +// $_NAPOK = _genNapok($tolDt,$igDt); +// for ($i=0; $i<count($_NAPOK); $i++) { +// checkNaplo($_NAPOK[$i]); +// } + } + } + + if ((date('Y-m-d',strtotime($tolDt))==date('Y-m-d',strtotime('next Monday')) + || date('Y-m-d',strtotime($tolDt))==date('Y-m-d',strtotime('last Monday')) + ) && (__NAPLOADMIN || __VEZETOSEG)) { + $_NAPOK = _genNapok($tolDt,$igDt); + for ($i=0; $i<count($_NAPOK); $i++) { + checkNaplo($_NAPOK[$i]); + } + + } + /* ------------------------------------------------- */ + +// Ezt nem használja a getHaladási... + + if (isset($osztalyId) && !isset($diakId)) $ADAT['hetesek'] = getHetes($osztalyId, _SHOW_DAYS_FROM); + +/* + $_Porder = readVariable( $_POST['order'], 'enum', null, array('ASC','DESC') ); + $_PorderInvert = readVariable($_POST['orderInvert'], 'notempty'); + // rendezési záradék + if ( + ($_Porder == 'ASC' and $_PorderInvert == false) or + ($_Porder == 'DESC' and $_PorderInvert == true) + ) { + $orderBy = array('dt','ora'); // A lekérdezéshez + $order = 'ASC'; // A megjelenítéshez + } else { + $orderBy = array('dt DESC','ora DESC'); // A lekérdezéshez + $order = 'DESC'; // A megjelenítéshez + } +*/ + if (isset($tankorId)) $orderBy = array('dt DESC','ora DESC'); // A lekérdezéshez + else $orderBy = array('dt DESC','ora ASC'); + + // tankörök lekérdzése + if (isset($diakId)) { + $ADAT['haladasiTipus']='diakHaladasi'; + $Tankorok = getTankorByDiakId($diakId, __TANEV, array('tolDt'=>_SHOW_DAYS_FROM, 'igDt'=>_SHOW_DAYS_TO)); + $Osztalyok = getDiakOsztalya($diakId, array('tanev'=>__TANEV,'tolDt'=>$tolDt,'igDt'=>$igDt, 'result'=>'idonly')); + } elseif (isset($osztalyId)) { + $ADAT['haladasiTipus']='osztalyHaladasi'; + $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV); + $Osztalyok = array($osztalyId); + } elseif (isset($teremId)) { // --new + $ADAT['haladasiTipus']='teremHaladasi'; + $Tankorok = getTankorByTeremId($teremId, __TANEV); + $Osztalyok = array($osztalyId); + } elseif (isset($tanarId)) { + $Tankorok = getTankorByTanarId( + $tanarId, + __TANEV, + array('csakId' => false, 'tolDt' => _SHOW_DAYS_FROM, 'igDt' => _SHOW_DAYS_TO) + ); + $Osztalyok = getTanarOsztaly($tanarId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'idonly')); + } + $TankorokMutat = $Tankorok; + // Kell a munkaterv!! Ahhoz kell(enek) az osztály(ok)! + $ADAT['munkaterv'] = getMunkatervByOsztalyId($Osztalyok, array('result' => 'idonly')); + + // Tanmenet + if (is_array($Tankorok)) foreach ($Tankorok as $key => $tAdat) $ADAT['tankorIds'][] = $tAdat['tankorId']; + if (is_array($ADAT['tankorIds'])) { + $ADAT['tankorTanmenet'] = getTanmenetByTankorIds($ADAT['tankorIds'], array('tanev' => __TANEV, 'jovahagyva'=>!__TANAR)); + } + if (isset($tankorId)) { + if (__DIAK===true) { + $allowed=false; + for($i=0; $i<count($Tankorok); $i++) { + if ($tankorId == $Tankorok[$i]['tankorId']) { $allowed=true; break; } + } + } else $allowed = true; + if ($allowed) { + $Tankorok = getTankorById($tankorId, __TANEV); // felül kell írnunk + $ADAT['haladasi'] = getHaladasi($Tankorok, $ADAT['munkaterv'], $orderBy, $csakUres); + } + } elseif ($teremId!='') { + $ADAT['haladasi'] = getHaladasi($Tankorok, '', $orderBy, '', $csakUres,$teremId); + } else { + $ADAT['haladasi'] = getHaladasi($Tankorok, $ADAT['munkaterv'], $orderBy, $tanarId, $csakUres); + } + $ADAT['ORAIDK'] = array(); + if (is_array($ADAT['haladasi'])) { + reset($ADAT['haladasi']); + foreach($ADAT['haladasi'] as $_k => $_v) { + for ($i=0; $i<count($_v); $i++) { + if (!is_null($ADAT['haladasi'][$_k][$i]['oraId'])) $ADAT['ORAIDK'][] = $ADAT['haladasi'][$_k][$i]['oraId']; + } + } + } + $ADAT['oraLatogatasok'] = getOralatogatasByOraIds($ADAT['ORAIDK']); + foreach ($ADAT['oraLatogatasok'] as $olId => $olAdat) + foreach ($olAdat['tanarIds'] as $_tanarId) $ADAT['oraLatogatasok'][$olId]['tanarNevek'][] = getTanarNevById($_tanarId); + // Kell a munkaterv!! Ahhoz kell(enek) az osztály(ok)! + if (isset($diakId)) $O = getDiakOsztalya($diakId, array('tanev'=>__TANEV,'tolDt'=>$tolDt,'igDt'=>$igDt, 'result'=>'idonly')); + elseif (isset($osztalyId)) $O = array($osztalyId); + elseif (isset($tanarId)) $O = getTanarOsztaly($tanarId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'idonly')); + $ADAT['munkaterv'] = getMunkatervByOsztalyId($O, array('result' => 'idonly')); + + $ADAT['tanitasiNap'] = getTanitasiNapAdat(_genNapok($tolDt,$igDt), array('munkatervIds' => $ADAT['munkaterv'])); + $ADAT['diakId'] = $diakId; + $ADAT['osztalyId'] = $osztalyId; + $ADAT['tanarId'] = $tanarId; + $ADAT['tankorId'] = $tankorId; + $ADAT['terem'] = getTermek(array('result'=>'assoc')); + $ADAT['feladatTipus'] = getFeladatTipus(); + $ADAT['maxOra'] = 16; // Ha reggel 8-kor kezdődik a tanítás, akkor 24 óráig rendben vagyunk így... +// if ($tanarId>0) //$ADAT['oraTerheles'] = getOraTerhelesByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt)); +// $ADAT['oraTerheles'] = getOraTerhelesStatByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt)); + + $ADAT['szabadTermek'] = getSzabadTermekByDtInterval($tolDt,$igDt, null,'ora'); + $ADAT['tankorTipusok'] = getTankorTipusok(); + /* ------------------------------------------------- */ + // toolBar + $TOOL['datumSelect'] = array( + 'tipus'=>'sor', 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'), + 'paramName' => 'igDt', 'hanyNaponta' => 7, + 'tolDt' => date('Y-m-d', strtotime('Saturday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => $maxIgDt, + 'override' => true + ); + if (__NAPLOADMIN or __VEZETOSEG or __TANAR or __TITKARSAG) { + $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('igDt')); + $TOOL['teremSelect'] = array('tipus' => 'cella', 'post' => array('igDt')); + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('igDt')); + if (isset($osztalyId)) + $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'diakok' => $ADAT['diakok'], 'post' => array('osztalyId','igDt')); + if (isset($osztalyId) or isset($tanarId) or isset($diakId) or isset($tankorId)) + $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','tanarId','diakId','igDt')); + } elseif (__DIAK===true) { + $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','tanarId','diakId','igDt')); + } + getToolParameters(); + +} // end of skin ajax else + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/haladasi.php b/mayor-orig/www/policy/private/naplo/haladasi/haladasi.php new file mode 100644 index 00000000..11e1b8c3 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/haladasi.php @@ -0,0 +1,15 @@ +<?php +/* + module: naplo + version: 3.1 +*/ + + if (_RIGHTS_OK !== true) die(); + + global $ADAT,$skin; + + putHaladasiBejegyzesek($ADAT); + if ($ADAT['title']!='') { + if (isset($ADAT['osztalyId'])) putHetesForm($ADAT); + } +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/helyettesites-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/helyettesites-pre.php new file mode 100644 index 00000000..5f7d600c --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/helyettesites-pre.php @@ -0,0 +1,194 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN and !__VEZETOSEG) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/tankor.php'); // Mozgatás, csere + require_once('include/modules/naplo/share/diak.php'); // Mozgatás, csere + require_once('include/modules/naplo/share/helyettesitesModifier.php'); + require_once('include/modules/naplo/share/terem.php'); + + global $_TANEV; + + $napiMinOra = getMinOra(); + $napiMaxOra = getMaxOra(); + + $dt = readVariable($_POST['dt'], 'datetime', null); + if (!isset($dt)) $dt = readVariable($_GET['dt'], 'datetime', null); + if (!isset($dt)) $dt = date('Y-m-d'); + + if ($_TANEV['statusz']!='aktív') $_SESSION['alert'][] = 'page:wrong_data:nem aktív a tanev:'.$_TANEV['tanev']; + if (__FOLYO_TANEV || __NAPLOADMIN) { // Tanéven kívül már csak admin módosítson + + if ( + strtotime($_TANEV['kezdesDt']) <= strtotime($dt) + && strtotime($dt) <= strtotime($_TANEV['zarasDt']) + ) { + // itt egy ciklussal ellenőrizzük ne csak dt-t, hanem vissza a mai napig (ha jövő dátum van kiválasztva) + checkNaplo($dt); + $_dt = $dt; + while (strtotime($_dt)>time()) { + $_dt = date('Y-m-d',strtotime('-1 day',strtotime($_dt))); + checkNaplo($_dt); + } + } + // -------------- action --------------// + + if ($action == 'hianyzoModositas') { + + /* Régi megoldás + $hianyzok = $_POST['hianyzok']; + if (!is_array($hianyzok)) $hianyzok = array(); + $voltHianyzok = getHianyzok($dt); + + $ujHianyzok = array_diff($hianyzok, $voltHianyzok); + $toroltHianyzok = array_diff($voltHianyzok, $hianyzok); + */ + $ujHianyzok = readVariable($_POST['addHianyzo'], 'numeric unsigned'); + $toroltHianyzok = readVariable($_POST['delHianyzo'], 'numeric unsigned'); + + ujHianyzokFelvetele($ujHianyzok, $dt); + toroltHianyzokVisszaallitasa($toroltHianyzok, $dt); + + } elseif ($action == 'helyettesitesRogzitese') { + foreach ($_POST as $name => $value) { + list($gomb,$act,$id,$koord) = explode('_', $name); + if ($gomb == 'gomb' && isset($id) && in_array($act, array('manual','mozgat','csere'))) { + $$act = readVariable($id, 'numeric unsigned', null); + break; + } + } + $T = $_POST['T']; + + if (is_array($T)) helyettesitesRogzites($T); + + } elseif ($action == 'keziBeallitas') { + + $oraId = readVariable($_POST['oraId'], 'numeric unsigned'); + $ki = readVariable($_POST['ki'], 'numeric unsigned'); + $tipus = readVariable($_POST['tipus'], 'enum', null, array('elmarad','helyettesítés','felügyelet','összevonás','normál','normál máskor','elmarad máskor','egyéb')); + $teremId = readVariable($_POST['teremId'], 'numeric unsigned'); + if (isset($oraId) && isset($tipus)) keziBeallitas($oraId, $ki, $tipus, $teremId); + + } elseif ($action == 'oraMozgatas') { + + $mozgat = readVariable($_POST['mozgat'], 'numeric unsigned'); + $ujDt = readVariable($_POST['ujDt'], 'date'); + $ora = readVariable($_POST['ora'], 'numeric unsigned'); + $rogzit = isset($_POST['rogzit']); + + if ($rogzit && isset($ora) && isset($ujDt) && isset($mozgat)) { // kijelölte az óra új helyét és submit gombot nyomott + if (oraMozgatas($mozgat, $ujDt, $ora)) unset($mozgat); // visszatérés a helyettesítés oldalra, ha sikerült + } + + } elseif ($action == 'oraCsere') { + + $csDt = readVariable($_POST['csDt'], 'date'); + $csere = readVariable($_POST['csere'], 'numeric unsigned'); + $csId = readVariable($_POST['csId'], 'numeric unsigned'); + $rogzit = isset($_POST['rogzit']); + + if ($rogzit && isset($csId)) { + if (oraCsere($csere, $csId)) unset($csere); // visszatérés a napi helyettesítés oldalra + } + + } + // ------------ action vége -----------// + } // __FOLYO_TANEV + else { + $_SESSION['alert'][] = 'message:wrong_data:Nem folyó tanév és nem naplóadmin'; + } + + $lr = db_connect('naplo'); + if (isset($manual)) { + + // Kézi beállítás + $oraAdat = getOraadatById($manual, __TANEV, $lr); + $Termek = getSzabadTermek(array('dt' => $oraAdat['dt'], 'ora' => $oraAdat['ora'], 'ki' => $oraAdat['ki']), $lr); + if ($oraAdat['teremId']!='') { + for ($i = 0;($i < count($Termek) && $Termek[$i]['teremId'] != $oraAdat['teremId']); $i++); + if ($i >= count($Termek)) $Termek[] = array('teremId' => $oraAdat['teremId'], 'leiras' => $oraAdat['teremId']); + } else { + $Termek[] = array('teremId' => 'NULL', 'leiras' => '-'); + } + // Tanárnevek lekérése + $Tanarok = getTanarok(array('tanev' => __TANEV,'beDt'=>$dt,'kiDt'=>$dt), $lr); + + } elseif (isset($mozgat)) { + + // Mozgatás + $ujDt = readVariable($_POST['ujDt'], 'date', $dt); + if (isset($ujDt)) checkNaplo($ujDt); + + $oraAdat = getOraadatById($mozgat, __TANEV, $lr); + if (isset($oraAdat['kit']) && $oraAdat['kit'] != '') $tanarId = $oraAdat['kit']; + else $tanarId = $oraAdat['ki']; + $TANAR_DT_NAPI_ORAK = getTanarNapiOrak($tanarId, $dt, $lr); + $TANAR_UJDT_NAPI_ORAK = getTanarNapiOrak($tanarId, $ujDt, $lr); + + } elseif (isset($csere)) { + + // Csere + $csDt = readVariable($_POST['csDt'], 'date', $dt); + if (isset($csDt)) checkNaplo($csDt); + + $oraAdat = getOraadatById($csere, __TANEV, $lr); + if (isset($oraAdat['kit']) && $oraAdat['kit'] != '') $tanarId = $oraAdat['kit']; + else $tanarId = $oraAdat['ki']; + + if ($_POST['csTanarId'] == '') $csTanarId = $tanarId; + else $csTanarId = $_POST['csTanarId']; + + $Tanarok = getTanarok(array('tanev' => __TANEV,'kiDt'=>$dt,'beDt'=>$dt), $lr); + $TANAR_DT_NAPI_ORAK = getTanarNapiOrak($tanarId, $dt, $lr); + $CSTANAR_CSDT_NAPI_ORAK = getTanarNapiOrak($csTanarId, $csDt, $lr); + + } elseif (isset($_POST['csereAttekintes']) && $_POST['csereAttekintes'] != '') { + + $oraId = $_POST['csereAttekintes']; + $Orak = getCsereOraiByOraId($oraId, $lr); + + } elseif ($orarend != '') { + // Tanár órarendje + } else { + + // Normál helyettesítés kiíró + + // A beírt hiányzók, helyettesítések... + $HELYETTESITES = getHianyzoOrak($dt, $lr); // == ADAT! + $HELYETTESITES['tanarTerheles'] = getOraTerhelesStatByTanarId(array('dt'=>$dt)); + } + db_close($lr); + } + + // toolBar + if (__NAPLOADMIN) { + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post' => array('tanarId', 'diakId', 'osztalyId', 'tankorId'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])), +// 'igDt' => $_TANEV['zarasDt'], + 'igDt' => getTanitasiNap(array('direction'=>'elore', 'napszam'=>10, 'fromDt'=>'curdate()')), + 'napTipusok' => array('tanítási nap', 'speciális tanítási nap') + ); + } elseif (__VEZETOSEG) { + $TOOL['datumSelect'] = array( + 'tipus' => 'cella', 'post' => array('tanarId', 'diakId', 'osztalyId', 'tankorId'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime(_ZARAS_HATARIDO)), + 'igDt' => getTanitasiNap(array('direction'=>'elore', 'napszam'=>10, 'fromDt'=>'curdate()')), + 'napTipusok' => array('tanítási nap', 'speciális tanítási nap') + ); + } + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/helyettesites.php b/mayor-orig/www/policy/private/naplo/haladasi/helyettesites.php new file mode 100644 index 00000000..5707092c --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/helyettesites.php @@ -0,0 +1,46 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + global $dt, $HELYETTESITES; + global $manual, $Tanarok, $Termek; + global $mozgat, $csere, $orarend; + global $oraAdat, $ujDt, $TANAR_DT_NAPI_ORAK, $TANAR_UJDT_NAPI_ORAK, $tanarId; + global $csTanarId, $csDt, $CSTANAR_CSDT_NAPI_ORAK; + global $Orak; + global $tools; + global $_TANEV; + +if ($_TANEV['statusz']=='aktív') { + + if ($manual != '') { + + // Kézi adatmódosítás + + putKeziBeallitas($oraAdat, $Termek, $Tanarok); + + } elseif ($mozgat != '') { + + putMozgatas($tanarId, $oraAdat, $TANAR_DT_NAPI_ORAK, $ujDt, $TANAR_UJDT_NAPI_ORAK); + + } elseif ($csere != '') { + + putCsere($tanarId, $oraAdat, $TANAR_DT_NAPI_ORAK, $csTanarId, $csDt, $CSTANAR_CSDT_NAPI_ORAK, $Tanarok); + + } elseif (isset($_POST['csereAttekintes']) && $_POST['csereAttekintes'] != '') { + putCsereAttekintes($oraId, $Orak); + } elseif ($orarend != '') { + } else { + + // A szokásos helyettesítés oldal... +// putHianyzoTanarok($HELYETTESITES['tanarok'], $HELYETTESITES['helyettesites']['tanarIds'], $dt); + putHianyzoTanarForm($HELYETTESITES['tanarok'], $HELYETTESITES['helyettesites']['tanarIds'], $dt); + putHianyzoOrak($HELYETTESITES, $dt); + + } + +} +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/hetes-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/hetes-pre.php new file mode 100644 index 00000000..8adbc979 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/hetes-pre.php @@ -0,0 +1,260 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__TANAR && !__DIAK && !__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include/modules/naplo/share/terem.php'); + require_once('include/modules/naplo/share/tanmenet.php'); + require_once('include/modules/naplo/share/hetes.php'); + require_once('include/modules/naplo/share/helyettesitesModifier.php'); + require_once('include/share/date/names.php'); + + + $ADAT['csakUres'] = $csakUres = readVariable($_POST['csakUres'],'bool',false,null); + $ADAT['teremId' ] = $teremId = readVariable($_POST['teremId'],'id'); + + // Egy tankör haladási naplójához + $tankorId = readVariable($_POST['tankorId'],'id'); + + // Ha diák nézi, akkor csak a saját tanköreit láthatja + if (__DIAK) $diakId = __USERDIAKID; + else $diakId = readVariable($_POST['diakId'],'id'); + + $osztalyId = readVariable($_POST['osztalyId'],'id'); + + if (isset($diakId)) { + // A diák már nem határozza meg egyértelműen az osztályt! --> osztalyId-t nem állítunk - hagyjuk + if (isset($tankorId) and !tankorTagjaE($diakId, $tankorId)) { + unset($tankorId); + } + $ADAT['title'] = getDiakNevById($diakId); + } else { + if (isset($teremId)) { + } elseif (!isset($osztalyId)) { + if (!isset($tanarId)) $tanarId = readVariable($_POST['tanarId'],'id'); + if (!isset($tanarId)) $tanarId = readVariable($_GET['tanarId'],'id'); + if (!isset($tanarId) && __USERTANARID!==false && __TANAR) $tanarId = __USERTANARID; + define(__PLUSZBEIRHAT, + (__USERTANARID == $tanarId || __NAPLOADMIN===true || __VEZETOSEG===true) + ); + } + } + if (!defined('__PLUSZBEIRHAT')) define('__PLUSZBEIRHAT',false); + /* ------------------------------------------------- */ + + // lapozás, tól-ig beállítás + if (!isset($tankorId)) { + + // egy tanár ($tanarId) vagy osztály ($osztaly) összes órája --> lapozni kell + // reading sensitive data + $igDt = readVariable($_POST['igDt'], 'datetime', date('Y-m-d')); + $tolDt = readVariable($_POST['tolDt'], 'datetime'); + $lapoz = readVariable($_POST['lapoz'], 'enum', null, array('<<','>>','nextWeek','prevWeek')); + $lapoz1 = readVariable($_POST['lapoz1'], 'enum', null, array('<<','>>','nextWeek','prevWeek')); + + // set defaults ++ +// if (strtotime($igDt) > strtotime($_TANEV['zarasDt'])) $igDt = $_TANEV['zarasDt']; + if (strtotime($igDt) > strtotime($_TANEV['zarasDt'])) $igDt = date('Y-m-d', strtotime('next Saturday', strtotime($_TANEV['zarasDt']))); + elseif (strtotime($igDt) < strtotime($_TANEV['kezdesDt'])) $igDt = $_TANEV['kezdesDt']; + if (date('w', strtotime($igDt)) == 0) $igDt = date('Y-m-d',strtotime('-1 days',strtotime($igDt))); // Hogy vasárnap még a múltheti látszódjon + $eVas = date('Y-m-d',strtotime('Saturday',strtotime($igDt))); + + if ($igDt == '') $igDt = $eVas; + if ($tolDt == '') $tolDt = $eHet = date('Y-m-d',strtotime('last Monday 02:00',strtotime($eVas))); + + if (in_array($lapoz,array('<<','prevWeek')) or in_array($lapoz1,array('<<','prevWeek'))) { + $tolDt = date('Y-m-d',strtotime('last Monday 02:00',strtotime($eHet))); +// $igDt = date('Y-m-d',strtotime('Saturday',strtotime($tolDt))); +// Vasárnap + $igDt = date('Y-m-d',strtotime('Sunday',strtotime($tolDt))); + } elseif (in_array($lapoz,array('>>','nextWeek')) or in_array($lapoz1,array('>>','nextWeek'))) { + $tolDt = date('Y-m-d',strtotime('Monday 02:00',strtotime($eVas))); +// $igDt = date('Y-m-d',strtotime('Saturday',strtotime($tolDt))); +// Vasárnap + $igDt = date('Y-m-d',strtotime('Sunday',strtotime($tolDt))); + } + if ($csakUres || strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $tolDt = date('Y-m-d',strtotime($_TANEV['kezdesDt'])); + // Ha ezt kiveszem, akkor mindig kirakja a teljes hetet, de a jövőbeli órákat nem lehet beírni! + // Itt a post értékét nem használjuk fel, csak vizsgáljuk. + if ((!isset($_POST['igDt']) || $_POST['igDt'] == '')&& strtotime($igDt) > time()) $igDt = date('Y-m-d'); + define('_SHOW_DAYS_FROM',$tolDt); + define('_SHOW_DAYS_TO',$igDt); + + } else { + + // egy tanulócsoport órái (nem kell lapozni) + define('_SHOW_DAYS_FROM',date('Y-m-d',strtotime($_TANEV['kezdesDt']))); + define('_SHOW_DAYS_TO',date('Y-m-d')); + + } + /* ------------------------------------------------- */ + // Jogosultság ellenőrzés, tanév aktív-e... + + // A megjelenítéshez + if (isset($osztalyId) && !isset($diakId)) { + $osztalyAdat = getOsztalyAdat($osztalyId); + $ADAT['title'] = $osztalyAdat['osztalyJel'].' ('.$osztalyAdat['osztalyfonok']['tanarNev'].')'; + // hetesek miatt + $ADAT['osztalyId'] = $osztalyId; + $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId)); + for ($i = 0; $i < count($ADAT['diakok']); $i++) $ADAT['diakNevek'][ $ADAT['diakok'][$i]['diakId'] ] = $ADAT['diakok'][$i]['diakNev']; + } elseif (isset($tanarId)) { + $ADAT['title'] = getTanarNevById($tanarId); + //DEPRECATED $ADAT['oraTerheles'] = getOraTerhelesByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt)); + $ADAT['oraTerheles'] = getOraTerhelesStatByTanarId(array('tanarId'=>$tanarId,'dt'=>_SHOW_DAYS_TO)); + } elseif (isset($teremId)) { + $ADAT['title'] = $teremId; + } + + if ( + $_TANEV['szemeszter'][1]['statusz'] == 'aktív' // Csak aktív tanévben lehet módosítani + && ( + __NAPLOADMIN // adminnak vagy + || __VEZETOSEG // vezetőség - tanév végi pótlásokhoz kell! + || ((__TANAR || __VEZETOSEG )) // A tanároknak, vezetőségi tagoknak +// || ((__TANAR || __VEZETOSEG ) && __FOLYO_TANEV) // A tanév közben a tanároknak, vezetőségi tagoknak - az év végi napok problémásak így! + ) + ) { + // action + if ($action == 'haladasiNaploBeiras' && ( + is_array($_POST['oraId']) + ||is_array($_POST['UJORA']) + ||is_array($_POST['ORATOROL']) + )) { + } elseif ($action == 'hetesFelvetel' && isset($osztalyId) && ((__OSZTALYFONOK===true && in_array($osztalyId, $_OSZTALYA)) || __NAPLOADMIN===true )) { + $ADAT['dt'] = readVariable($_POST['dt'], 'date'); + $ADAT['hetes'][1] = readVariable($_POST['hetes1'], 'numeric unsigned'); + $ADAT['hetes'][2] = readVariable($_POST['hetes2'], 'numeric unsigned'); + hetesFelvetel($ADAT); + } + } + + if ((date('Y-m-d',strtotime($tolDt))==date('Y-m-d',strtotime('next Monday')) + || date('Y-m-d',strtotime($tolDt))==date('Y-m-d',strtotime('last Monday')) + ) && (__NAPLOADMIN || __VEZETOSEG)) { + $_NAPOK = _genNapok($tolDt,$igDt); + for ($i=0; $i<count($_NAPOK); $i++) { + checkNaplo($_NAPOK[$i]); + } + } + + /* ------------------------------------------------- */ + + //if (isset($osztalyId) && !isset($diakId)) + $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId,'result'=>'assoc','keyfield'=>'diakId')); + $ADAT['hetesek'] = getHetesek($osztalyId, _SHOW_DAYS_FROM); + $ADAT['osztalyok'] = getOsztalyok(__TANEV,array('result'=>'assoc')); + + if (isset($tankorId)) $orderBy = array('dt DESC','ora DESC'); // A lekérdezéshez + else $orderBy = array('dt DESC','ora ASC'); + + // tankörök lekérdzése + if (isset($diakId)) { + $ADAT['haladasiTipus']='diakHaladasi'; + $Tankorok = getTankorByDiakId($diakId, __TANEV, array('tolDt'=>_SHOW_DAYS_FROM, 'igDt'=>_SHOW_DAYS_TO)); + $Osztalyok = getDiakOsztalya($diakId, array('tanev'=>__TANEV,'tolDt'=>$tolDt,'igDt'=>$igDt, 'result'=>'idonly')); + } elseif (isset($osztalyId)) { + $ADAT['haladasiTipus']='osztalyHaladasi'; + $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV); + $Osztalyok = array($osztalyId); + } elseif (isset($teremId)) { // --new + $ADAT['haladasiTipus']='teremHaladasi'; + $Tankorok = getTankorByTeremId($teremId, __TANEV); + $Osztalyok = array($osztalyId); + } elseif (isset($tanarId)) { + $Tankorok = getTankorByTanarId( + $tanarId, + __TANEV, + array('csakId' => false, 'tolDt' => _SHOW_DAYS_FROM, 'igDt' => _SHOW_DAYS_TO) + ); + $Osztalyok = getTanarOsztaly($tanarId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'idonly')); + } + $TankorokMutat = $Tankorok; + // Kell a munkaterv!! Ahhoz kell(enek) az osztály(ok)! + $ADAT['munkaterv'] = getMunkatervByOsztalyId($Osztalyok, array('result' => 'idonly')); + + // Tanmenet + if (is_array($Tankorok)) foreach ($Tankorok as $key => $tAdat) $ADAT['tankorIds'][] = $tAdat['tankorId']; + if (is_array($ADAT['tankorIds'])) { + $ADAT['tankorTanmenet'] = getTanmenetByTankorIds($ADAT['tankorIds'], array('tanev' => __TANEV, 'jovahagyva'=>!__TANAR)); + } + if (isset($tankorId)) { + if (__DIAK===true) { + $allowed=false; + for($i=0; $i<count($Tankorok); $i++) { + if ($tankorId == $Tankorok[$i]['tankorId']) { $allowed=true; break; } + } + } else $allowed = true; + if ($allowed) { + $Tankorok = getTankorById($tankorId, __TANEV); // felül kell írnunk + //$ADAT['haladasi'] = getHaladasi($Tankorok, $ADAT['munkaterv'], $orderBy, $csakUres); + } + } elseif ($teremId!='') { + //$ADAT['haladasi'] = getHaladasi($Tankorok, '', $orderBy, '', $csakUres,$teremId); + } else { + //$ADAT['haladasi'] = getHaladasi($Tankorok, $ADAT['munkaterv'], $orderBy, $tanarId, $csakUres); + } + $ADAT['ORAIDK'] = array(); + if (is_array($ADAT['haladasi'])) { + reset($ADAT['haladasi']); + foreach($ADAT['haladasi'] as $_k => $_v) { + for ($i=0; $i<count($_v); $i++) { + if (!is_null($ADAT['haladasi'][$_k][$i]['oraId'])) $ADAT['ORAIDK'][] = $ADAT['haladasi'][$_k][$i]['oraId']; + } + } + } + $ADAT['oraLatogatasok'] = getOralatogatasByOraIds($ADAT['ORAIDK']); + foreach ($ADAT['oraLatogatasok'] as $olId => $olAdat) + foreach ($olAdat['tanarIds'] as $_tanarId) $ADAT['oraLatogatasok'][$olId]['tanarNevek'][] = getTanarNevById($_tanarId); + // Kell a munkaterv!! Ahhoz kell(enek) az osztály(ok)! + if (isset($diakId)) $O = getDiakOsztalya($diakId, array('tanev'=>__TANEV,'tolDt'=>$tolDt,'igDt'=>$igDt, 'result'=>'idonly')); + elseif (isset($osztalyId)) $O = array($osztalyId); + elseif (isset($tanarId)) $O = getTanarOsztaly($tanarId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'idonly')); + $ADAT['munkaterv'] = getMunkatervByOsztalyId($O, array('result' => 'idonly')); + + $ADAT['tanitasiNap'] = getTanitasiNapAdat(_genNapok($tolDt,$igDt), array('munkatervIds' => $ADAT['munkaterv'])); + $ADAT['diakId'] = $diakId; + $ADAT['osztalyId'] = $osztalyId; + $ADAT['tanarId'] = $tanarId; + $ADAT['tankorId'] = $tankorId; + $ADAT['terem'] = getTermek(array('result'=>'assoc')); + $ADAT['feladatTipus'] = getFeladatTipus(); + $ADAT['maxOra'] = 16; // Ha reggel 8-kor kezdődik a tanítás, akkor 24 óráig rendben vagyunk így... +// if ($tanarId>0) //$ADAT['oraTerheles'] = getOraTerhelesByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt)); +// $ADAT['oraTerheles'] = getOraTerhelesStatByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt)); + + $ADAT['szabadTermek'] = getSzabadTermekByDtInterval($tolDt,$igDt, null,'ora'); + $ADAT['tankorTipusok'] = getTankorTipusok(); + /* ------------------------------------------------- */ + + // toolBar + $TOOL['datumSelect'] = array( + 'tipus'=>'sor', 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'), + 'paramName' => 'igDt', 'hanyNaponta' => 7, + 'tolDt' => date('Y-m-d', strtotime('Saturday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => date('Y-m-d', strtotime('next Saturday', strtotime($_TANEV['zarasDt']))), + 'override' => true + ); + if (__NAPLOADMIN or __VEZETOSEG or __TANAR or __TITKARSAG) { +// $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('igDt')); +// $TOOL['teremSelect'] = array('tipus' => 'cella', 'post' => array('igDt')); + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('igDt')); + if (isset($osztalyId)) + $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'diakok' => $ADAT['diakok'], 'post' => array('osztalyId','igDt')); +// if (isset($osztalyId) or isset($tanarId) or isset($diakId)) +// $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','tanarId','diakId','igDt')); + } elseif (__DIAK===true) { +// $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','tanarId','diakId','igDt')); + } + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/hetes.php b/mayor-orig/www/policy/private/naplo/haladasi/hetes.php new file mode 100644 index 00000000..5aeb1001 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/hetes.php @@ -0,0 +1,9 @@ +<?php + if (_RIGHTS_OK !== true) die(); + + global $ADAT,$skin; + //if ($ADAT['title']!='') { + // if (isset($ADAT['osztalyId'])) + putHetesForm($ADAT); + //} +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/minuszora-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/minuszora-pre.php new file mode 100644 index 00000000..f2abcd4c --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/minuszora-pre.php @@ -0,0 +1,75 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + global $_TANEV; + if ($_TANEV['statusz']!='aktív') $_SESSION['alert'][] = 'page:nem_aktív_tanev:'.$_TANEV['tanev']; + + $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d')); +// $ora = readVariable($_POST['ora'], 'numeric unsigned', null); + $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', null); + if (!isset($tanarId)) $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); +// $tankorId = readVariable($_POST['tankorId'], 'numeric unsigned', null); +// $teremId = readVariable($_POST['teremId'], 'numeric unsigned', null); +// $SzabadOrak = ''; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/helyettesitesModifier.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/share/date/names.php'); + + $ADAT['napiMinOra'] = getMinOra(); + $ADAT['napiMaxOra'] = getMaxOra(); + + if (defined('__MAXORA_MINIMUMA') && $ADAT['napiMaxOra'] < __MAXORA_MINIMUMA) $ADAT['napiMaxOra'] = __MAXORA_MINIMUMA; // Hogy lehessen "törölni" későbbi órákat is + if (isset($dt)) { + + // órarendiÓrák betöltése - ha szükséges - a fv. maga ellenőrzi, hogy kell-e betölteni adatokat... + checkNaplo($dt); + + // órák lekérdezése + if (isset($tanarId)) $ADAT['orak'] = getTanarNapiOrak($tanarId, $dt); + elseif (isset($osztalyId)) $ADAT['orak'] = getOsztalyNapiOrak($osztalyId, $dt); + + // Action + if ($action == 'oraElmaradas') { + + if (is_array($_POST['oraId'])) { + for ($i = 0; $i < count($_POST['oraId']); $i++) { + $oraId = readVariable($_POST['oraId'][$i], 'numeric unsigned'); + if (isset($oraId)) { + oraElmarad($oraId); + // órák újra lekérdezése + if (isset($tanarId)) $ADAT['orak'] = getTanarNapiOrak($tanarId, $dt); + elseif (isset($osztalyId)) $ADAT['orak'] = getOsztalyNapiOrak($osztalyId, $dt); + } + } + } + } + } + + // toolBar + $TOOL['datumSelect'] = array( + 'tipus' => 'cella', 'post' => array('ora', 'tanarId', 'osztalyId', 'tankorId'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'napTipusok' => array('tanítási nap','speciális tanítási nap'), + ); + if (isset($dt)) { + if (!isset($osztalyId) || isset($tankorId)) $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarok' => $Tanarok, 'post' => array('dt', 'tankorId')); + if (!isset($tanarId)) $TOOL['osztalySelect'] = array('tipus'=>'sor','paramName' => 'osztalyId', 'post'=>array('dt', 'tankor')); + } + getToolParameters(); + + } // admin vagy igazgató + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/minuszora.php b/mayor-orig/www/policy/private/naplo/haladasi/minuszora.php new file mode 100644 index 00000000..b0c15eaf --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/minuszora.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['tanarId']) || isset($ADAT['osztalyId'])) putOrak($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/ora-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/ora-pre.php new file mode 100644 index 00000000..83f041cb --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/ora-pre.php @@ -0,0 +1,33 @@ +<?php + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG) { + $_SESSION['alert'][] = 'page:illegal_access'; + } else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/helyettesitesModifier.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/share/date/names.php'); + + $oraId = readVariable($_POST['oraId'],'id'); + $oraElmarad = readVariable($_POST['oraElmarad'],'string'); + $oraMegtartva = readVariable($_POST['oraMegtartva'],'string'); + if (isset($oraElmarad)) { + $_JSON['toDo'] = 'oraElmarad'; // processJSON js-ben használjuk + $_JSON['oraId'] = $oraId; + } elseif (isset($oraMegtartva)) { + $_JSON['toDo'] = 'oraMegtartva'; // processJSON js-ben használjuk + $_JSON['oraId'] = $oraId; + } + + $ADAT['oraAdat'] = getOraAdatById($oraId); +// $_JSON['html'] = putOraAdat($ADAT); + $ADAT['oraAdat']['debug'] = serialize($_POST); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/ora.php b/mayor-orig/www/policy/private/naplo/haladasi/ora.php new file mode 100644 index 00000000..95e6a821 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/ora.php @@ -0,0 +1,9 @@ +<?php +/* + module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + global $ADAT; + putOraAdat($ADAT); +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/oralatogatas-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/oralatogatas-pre.php new file mode 100644 index 00000000..810ee183 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/oralatogatas-pre.php @@ -0,0 +1,102 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access'; + + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/ora.php'); + +// $tankorId = readVariable($_POST['tankorId'], 'id'); + $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d')); + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id'); + if (!isset($osztalyId)) { + $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', $tanarId = readVariable($_GET['tanarId'],'numeric unsigned')); + if (!isset($tanarId) && __USERTANARID!==false && __TANAR) $ADAT['tanarId'] = $tanarId = __USERTANARID; + } + $ADAT['tanarok'] = getTanarok(array('tanev' => __TANEV)); + + // Adott napi órák lekérdezése + if (isset($osztalyId)) { + $ADAT['orak'] = getOsztalyNapiOrak($osztalyId, $dt); + } elseif ($tanarId) { + $ADAT['orak'] = getTanarNapiOrak($tanarId, $dt); + } + + // Az órákhoz tartozó látogatások és látogatók lekérdezése + $ADAT['oralatogatas'] = $ADAT['oraIds'] = array(); + if (is_array($ADAT['orak']) && count($ADAT['orak']) > 0) { + foreach ($ADAT['orak'] as $ora => $oAdat) { + foreach ($oAdat as $key => $oraAdat) { + $ADAT['oraIds'][] = $oraAdat['oraId']; + } + } + } + + // Jogosultság ellenőrzés, tanév aktív-e... + if ( + $_TANEV['szemeszter'][1]['statusz'] == 'aktív' // Csak aktív tanévben lehet módosítani + && ( + __NAPLOADMIN // adminnak vagy + || (__VEZETOSEG && __FOLYO_TANEV) // A tanév közben a vezetőségi tagoknak + ) + ) { + if ($action == 'oralatogatasBeiras') { + $_D['oraId'] = readVariable($_POST['oraId'], 'id'); + $_D['megjegyzes'] = readVariable($_POST['megjegyzes'], 'string'); + $_D['tanarIds'] = readVariable($_POST['tanarIds'], 'id'); + if (isset($_D['oraId'])) { + oralatogatasBeiras($_D); + } + foreach($_POST as $_key => $_val) { + if (substr($_key,0,6)=='delete') { + list($_rest,$_oraId) = explode('_',$_key); + oralatogatasTorles($_oraId); + } + } + } + } + + + $ADAT['oralatogatas'] = getOralatogatasByOraIds($ADAT['oraIds']); + + + /* ------------------------------------------------- */ + + // tankörök lekérdzése + if (isset($osztalyId)) { + $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV); + } elseif (isset($tanarId)) { + $Tankorok = getTankorByTanarId( + $tanarId, + __TANEV, + array('csakId' => false) + ); + } + +// $TankorokMutat = $Tankorok; +// +// if (isset($tankorId)) { +// $Tankorok = getTankorById($tankorId, __TANEV); // felül kell írnunk +// } + + /* ------------------------------------------------- */ + + // toolBar + $TOOL['datumSelect'] = array( + 'tipus'=>'sor', 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])), + 'igDt' => date('Y-m-d', strtotime($_TANEV['zarasDt'])), + 'override' => true + ); + $TOOL['tanarSelect'] = array('tipus' => 'cella', 'tanarok' => $ADAT['tanarok'], 'post' => array('igDt')); + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('igDt')); +// if (isset($osztalyId) or isset($tanarId) or isset($diakId)) +// $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','tanarId','diakId','igDt')); + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/oralatogatas.php b/mayor-orig/www/policy/private/naplo/haladasi/oralatogatas.php new file mode 100644 index 00000000..6fde9cb6 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/oralatogatas.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (is_array($ADAT['orak']) && count($ADAT['orak']) > 0) putOralatogatasForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/osszevonas-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/osszevonas-pre.php new file mode 100644 index 00000000..f140e7fd --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/osszevonas-pre.php @@ -0,0 +1,109 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + global $_TANEV; + if ($_TANEV['statusz'] != 'aktív') $_SESSION['alert'][] = 'page:nem_aktív_tanev:'.$_TANEV['tanev']; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/helyettesitesModifier.php'); + require_once('include/share/date/names.php'); + + $napiMinOra = getMinOra(); + $napiMaxOra = getMaxOra(); + + $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d')); + $ora = readVariable($_POST['ora'], 'numeric unsigned', null); + $tanarId = readVariable($_POST['tanarId'], 'id', null); + $tankorId = readVariable($_POST['tankorId'], 'id', null); + // $teremId = readVariable($_POST['teremId'], 'id', null); + + if (isset($dt)) { + checkNaplo($dt); // a fv. maga ellenőrzi, hogy kell-e, lehet-e órákat betölteni + if (isset($tankorId)) { + // A tankör tanárainak lekérdezése (tanarSelect számára) + $Tanarok = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'nevsor')); + if (isset($tanarId)) { + // A tanár a tankör tanára-e? + for ($i = 0; ($i < count($Tanarok) && $Tanarok[$i] != $tanarId); $i++); + if ($i > count($Tanarok)) { + $_SESSION['alert'][] = 'message:wrong_data:pluszOra:Nem a tankör tanára:$tankorId/$tanarId'; + unset($tanarId); unset($_POST['tanarId']); + } + } + // Ha csak egy tanarId van, akkor azt állítsuk be! + if (count($Tanarok) == 1) { + $tanarId = $Tanarok[0]['tanarId']; + if (isset($osztalyId)) unset($osztalyId); + } + } + + // Felvehető-e az óra + $ok = (isset($ora) && isset($tanarId) && isset($tankorId)); + + if (isset($tanarId)) { + // tanar Napi órái + $Orak = getTanarNapiOrak($tanarId, $dt); + } + if (isset($ora)) { + if (isset($tankorId)) { + $DIAKIDK = getTankorDiakjaiByInterval($tankorId, $tanev = __TANEV, $tolDt = $dt, $igDt = $dt); + $ADAT['torlendoTankorok'] = getOrakByDiakIdk($DIAKIDK['idk'], array('dt'=>$dt,'ora'=>$ora)); + for ($i=0; $i<count($ADAT['torlendoTankorok']); $i++) { + $ADAT['tankorIds'][] = $ADAT['torlendoTankorok'][$i]['tankorId']; + } + $ADAT['tankorok'] = getTankorAdatByIds($ADAT['tankorIds']); + } + $Tanarok = getFoglaltTanarok($dt,$ora); + } // ora + } // dt + + $ADAT['dt'] = $dt; + $ADAT['ora'] = $ora; + $ADAT['tanarId'] = $tanarId; + $ADAT['tankorId'] = $tankorId; + + // Action + if ($ok && $action == 'oraFelvetele') { + for ($i=0; $i<count($ADAT['torlendoTankorok']); $i++) { + $oraId = $ADAT['torlendoTankorok'][$i]['oraId']; + HianyzasEsJegyHozzarendelesTorles($oraId); + oraElmarad($oraId); + } + $eredet = 'plusz'; + $tipus = 'összevonás'; + if (oraFelvetele($dt, $ora, $tanarId, $tankorId, $teremId, $tipus, $eredet)) { + $_SESSION['alert'][] = 'info:change_success'; + $Orak = getTanarNapiOrak($tanarId, $dt); + } + } + + // toolBar + $TOOL['datumSelect'] = array( + 'tipus' => 'cella', 'post' => array('ora', 'tanarId', 'osztalyId', 'tankorId'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'napTipusok' => array('tanítási nap','speciális tanítási nap'), + ); + if (isset($dt)) { + $TOOL['oraSelect'] = array('tipus' => 'cella', 'post' => array('osztalyId', 'tanarId', 'tankorId', 'dt', 'ora')); + if (isset($ora) && (!isset($osztalyId) || isset($tankorId))) $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarok' => $Tanarok, 'post'=>array('dt', 'ora', 'tankorId', 'teremId' )); + if (isset($osztalyId) or isset($tanarId)) + $TOOL['tankorSelect'] = array('tipus'=>'sor', 'paramName'=>'tankorId', 'post'=>array('osztalyId','tanarId','dt','ora','teremId')); + // if (isset($ora)) $TOOL['teremSelect'] = array('tipus'=>'cella', 'paramName'=>'teremId', 'termek' => $Termek, 'post'=>array('osztalyId','tanarId','dt','ora','tankorId')); + } + getToolParameters(); + + } // admin vagy igazgató + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/osszevonas.php b/mayor-orig/www/policy/private/naplo/haladasi/osszevonas.php new file mode 100644 index 00000000..5d04f19b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/osszevonas.php @@ -0,0 +1,13 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ok, $dt, $ora, $tanarId, $tankorId, $teremId, $Orak; + global $ADAT; + + if ($ok) putOraFelvetelForm($ADAT); + + if (is_array($Orak)) if (isset($tanarId)) putOrak($Orak, _TANAR); + else putOrak($Orak, _OSZTALY); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/pluszora-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/pluszora-pre.php new file mode 100644 index 00000000..55914d4a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/pluszora-pre.php @@ -0,0 +1,177 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + global $_TANEV; + if ($_TANEV['statusz']!='aktív') $_SESSION['alert'][] = 'page:nem_aktív_tanev:'.$_TANEV['tanev']; + + $ADAT['dt']=$dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d')); + $ADAT['ora']=$ora = readVariable($_POST['ora'], 'numeric', null); + $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', null); + if (!isset($tanarId)) $osztalyId = readVariable($_POST['osztalyId'], 'id', null); + $tankorId = readVariable($_POST['tankorId'], 'id', null); + $blokkId = readVariable($_POST['tankorBlokkId'], 'id', null); + $teremId = readVariable($_POST['teremId'], 'id', null); + $SzabadOrak = ''; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/oraModifier.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/share/date/names.php'); + + $napiMinOra = getMinOra(); + $napiMaxOra = getMaxOra(); + + if ($napiMaxOra < __MAXORA_MINIMUMA) $napiMaxOra = __MAXORA_MINIMUMA; + $ADAT['napiMinOra'] = $napiMinOra; + $ADAT['napiMaxOra'] = $napiMaxOra; + + $ADAT['tanarok'] = getTanarok(); + $ADAT['feladatTipus'] = getFeladatTipus(); + + if (isset($dt)) { + // órarendiÓrák betöltése - ha szükséges - a fv. maga ellenőrzi, hogy kell-e/lehet-e órákat betölteni... + checkNaplo($dt); + + $ADAT['tankorBlokkok'] = getTankorBlokkok(); + + if (isset($tankorId)) { + // A tankör tanárainak lekérdezése (tanarSelect számára) + $Tanarok = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'nevsor')); + if (isset($tanarId)) { + // A tanár a tankör tanára-e? + for ($i = 0; ($i < count($Tanarok) && $Tanarok[$i]['tanarId'] != $tanarId); $i++); + if ($i >= count($Tanarok)) { + $_SESSION['alert'][] = 'info:not_member:pluszOra:Nem a tankör tanára:'."$tankorId/$tanarId"; + $Tanarok[] = array('tanarId' => $tanarId, 'tanarNev' => getTanarNevById($tanarId)); + $mkId = getTankorMkId($tankorId); + $tanarMkIds = getTanarMunkakozosseg($tanarId); + $ADAT['kit'] = $Tanarok[0]['tanarId']; + if (in_array($mkId, $tanarMkIds)) $ADAT['tipus'] = 'helyettesítés'; + else $ADAT['tipus'] = 'felügyelet'; +// unset($tanarId); unset($_POST['tanarId']); + } + } + // Ha csak egy tanarId van, akkor azt állítsuk be! + if (count($Tanarok) == 1 && !isset($tanarId)) { + $tanarId = $Tanarok[0]['tanarId']; + if (isset($osztalyId)) unset($osztalyId); + } + } + // Felvehető-e az óra + $ok = (isset($ora) && isset($tanarId) && isset($tankorId)); + + if (isset($tanarId)) { + // tanar Napi órái + $Orak = getTanarNapiOrak($tanarId, $dt); + // Szabad Órák + for ($i = $napiMinOra; $i <= $napiMaxOra; $i++) if (!is_array($Orak[$i])) $SzabadOrak[] = $i; + } elseif (isset($osztalyId)) { + // osztalyNapiOrai + $Orak = getOsztalyNapiOrak($osztalyId, $dt); + // Szabad Órák + for ($i = $napiMinOra; $i <= $napiMaxOra; $i++) if (!is_array($Orak[$i][0])) $SzabadOrak[] = $i; + } + if (isset($ora)) { + $Termek = getSzabadTermek(array('dt' => $dt, 'ora' => $ora)); + $szabadTankorok = getSzabadTankorok($dt, $ora); + if (isset($tankorId)) { + // Tankör tagok ütközés ellenőrzése + $TA = getTankorAdat($tankorId); + if ($TA[$tankorId][0]['jelenlet'] == 'kötelező' && !tankorTagokLukasOrajaE($tankorId, $dt, $ora)) { + $ok = false; + } + } elseif (!isset($osztalyId)) { + // Szabad tanárok lekérdezése? (tanarSelect számára) + $Tanarok = getSzabadTanarok($dt, $ora); + } + if (isset($tanarId)) { + // Tanár ütközés ellenőrzés + if (!tanarLukasOrajaE($tanarId, $dt, $ora, $lr)) { + $_SESSION['alert'][] = 'message:utkozes:1:?:'.$dt.':'.$ora.':'.$tanarId; +// unset($tanarId); $ok = false; + } + } + if (isset($teremId)) { + for ($i = 0; ($i < count($Termek) && $Termek[$i]['teremId'] != $teremId); $i++); + if ($i >= count($Termek)) { // nincs a szabad termek között + $_SESSION['alert'][] = 'message:wrong_data:pluszOra/terem:'.$ora.'. óra:'.$teremId; + unset($teremId); + } + } + } // ora + } // dt + + // Action + if ($ok && $action == 'oraFelvetele') { + $eredet = $_POST['eredet']; + if (isset($ADAT['tipus'])) $tipus = $ADAT['tipus']; + else $tipus = 'normál'; + if (oraFelvetele($dt, $ora, $tanarId, $tankorId, $teremId, $tipus, $eredet, $ADAT['kit'])) { + unset($_POST); + $_POST['dt'] = $dt; $_POST['tanarId'] = $tanarId; + unset($ora); unset($teremId); unset($tankorId); + $Orak = getTanarNapiOrak($tanarId, $dt); + $SzabadOrak = array(); + for ($i = $napiMinOra; $i <= $napiMaxOra; $i++) if (!is_array($Orak[$i])) $SzabadOrak[] = $i; + $_SESSION['alert'][] = 'info:change_success'; + } + } elseif ($action=='csoportos') { + $feladatTipusId = readVariable($_POST['feladatTipusId'],'id'); + $leiras = readVariable($_POST['leiras'],'string'); + $tanarIdk = readVariable($_POST['tanarIdk'],'id'); + $lr = db_connect('naplo'); + for ($i=0;$i<count($tanarIdk); $i++) { + $_ki=$tanarIdk[$i]; + $_tipus='egyéb'; + $_eredet='órarend'; + $UJORAIDK[] = ujOraFelvesz( + array('dt'=>$dt, + 'ora'=>$ora, + 'ki'=> $_ki, + 'tipus'=>$_tipus, + 'eredet'=>$_eredet, + 'leiras'=>$leiras, + 'feladatTipusId'=>$feladatTipusId, + 'munkaido'=>'fennmaradó'), + $lr); + } + db_close($lr); + $_SESSION['alert'][] = 'info:'.count($UJORAIDK).'db órát felvettem!'; + } + + $ADAT['munkakozossegek'] = getMunkakozossegek($FILTER=array(),$SET=array('result' => 'indexed')); + $ADAT['mkTanar'] = getMunkakozossegTanaraMatrix(); + + // toolBar + $TOOL['datumSelect'] = array( + 'tipus' => 'cella', 'post' => array('ora', 'tanarId', 'osztalyId', 'tankorId'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'napTipusok' => array('tanítási nap','speciális tanítási nap'), + ); + if (isset($dt)) { + $TOOL['oraSelect'] = array('tipus'=>'cella', 'orak' => $SzabadOrak, 'foglaltOrakkal' => true, 'post'=>array('osztalyId', 'tanarId', 'tankorId', 'dt', 'ora')); + if (!isset($osztalyId) || isset($tankorId)) $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarok' => $Tanarok, 'post' => array('dt', 'ora', 'tankorId', 'teremId' )); + if (!isset($tanarId)) $TOOL['osztalySelect'] = array('tipus'=>'sor','paramName' => 'osztalyId', 'post'=>array('dt', 'ora', 'tankor', 'teremId')); + if (isset($osztalyId) || isset($tanarId) || isset($ora)) { + $TOOL['tankorSelect'] = array('tipus'=>'sor', 'paramName'=>'tankorId', 'tankorok' => $szabadTankorok, 'tolDt'=>$dt, 'igDt'=>$dt, 'post'=>array('osztalyId','tanarId','dt','ora','teremId')); + } + if (isset($ora)) $TOOL['teremSelect'] = array('tipus'=>'cella', 'paramName'=>'teremId', 'termek' => $Termek, 'post'=>array('osztalyId','tanarId','dt','ora','tankorId')); + } + + getToolParameters(); + } // admin vagy igazgató + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/pluszora.php b/mayor-orig/www/policy/private/naplo/haladasi/pluszora.php new file mode 100644 index 00000000..abec9a9f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/pluszora.php @@ -0,0 +1,15 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ok, $dt, $ora, $tanarId, $tankorId, $teremId, $Orak, $ADAT; + + if ($ok) putOraFelvetelForm($tankorId ,$tanarId, $dt, $ora, $teremId, $ADAT); + + if (is_array($Orak)) if (isset($tanarId)) putOrak($Orak, _TANAR, $ADAT); + else { + putOrak($Orak, _OSZTALY, $ADAT); + } + if ($dt!='' && $ora!='') putLila($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/specialis-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/specialis-pre.php new file mode 100644 index 00000000..8b42b475 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/specialis-pre.php @@ -0,0 +1,95 @@ +<?php +/* + module: naplo + + TODO: + Egy-egy osztály hiányzását is meg lehetne valósítani - vegyük ki az osztályhoz - és csak az osztályhoz + tartozó órákat... +*/ + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG) { + $_SESSION['alert'][] = 'page:illegal_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/nap.php'); + + global $_TANEV; + if ($_TANEV['statusz']!='aktív') $_SESSION['alert'][] = 'page:nem_aktív_tanev:'.$_TANEV['tanev']; + + if (isset($_POST['dt']) && $_POST['dt'] != '') $dt = $_POST['dt']; + elseif (__FOLYO_TANEV) $dt = getTanitasiNap(array('direction'=>'előre', 'napszam'=>1)); + else $dt = $_TANEV['kezdesDt']; + + $napiMinOra = getMinOra(); + $napiMaxOra = getMaxOra(); + + $Hetek = getOrarendiHetek(); + $napTipusok = getNapTipusok(); + $napAdat = getNapAdat($dt); + + // csak a tanév alatt lehet speciális tanítási nap + $time = strtotime($dt); + if ( + (strtotime($_TANEV['kezdesDt']) <= $time) and + ($time <= strtotime($_TANEV['zarasDt'])) + ) { + + if ($time < time()) $_SESSION['alert'][] = 'message:visszamenoleges_modositas'; + + if ($action == 'napiOrakTorlese') { + $tipus = ($_POST['tipus'] === '')?'':readVariable($_POST['tipus'], 'enum', null, $napTipusok); + if (isset($tipus)) { + napiOrakTorlese($dt, $tipus); + $napAdat = getNapAdat($dt); + } else { + $_SESSION['alert'][] = 'message:wrong_data:napiOrakTorlese:hibás típus:'.$tipus; + } + } elseif ($action == 'orakBetoltese') { + $orarendiHet = $_POST['orarendiHet']; + if (in_array($orarendiHet, $Hetek)) { + orakBetoltese($dt, $orarendiHet); + $napAdat = getNapAdat($dt); + } else { + $_SESSION['alert'][] = 'message:wrong_data:orakBetoltese:hibás hét:'.$orarendiHet; + } + } elseif ($action == 'specialisNap') { + $celOra = $_POST['celOra']; + $het = $_POST['het']; + $nap = $_POST['nap']; + $ora = $_POST['ora']; + specialisNap($dt, $celOra, $het, $nap, $ora); + $napAdat = getNapAdat($dt); + } elseif ($action == 'orakTorlese') { + if (is_array($_POST['ora'])) { + orakTorlese($dt, $_POST['ora']); + $napAdat = getNapAdat($dt); + } + } + } + + $i = 0; + while ($i < count($napAdat) && strpos($napAdat[$i]['tipus'], 'tanítási nap') === false) $i++; + $vanTanitasiNap = ($i < count($napAdat)); + $szabadOrak = getSzabadOrak($dt); + $munkatervek = getMunkatervek(array('result'=>'assoc','keyfield'=>'munkatervId')); + + + // toolBar + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post'=>array(), 'paramName' => 'dt', 'hanyNaponta' => 1, 'tolDt' => $_TANEV['kezdesDt'], + 'igDt' => $_TANEV['zarasDt'], + +// 'napTipusok' => array('tanítási nap', 'speciális tanítási nap'), +// 'napokSzama' => 10 + ); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/specialis.php b/mayor-orig/www/policy/private/naplo/haladasi/specialis.php new file mode 100644 index 00000000..d855fd36 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/specialis.php @@ -0,0 +1,17 @@ +<?php +/* + module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + global $tools, $dt, $szabadOrak, $Hetek, $napTipusok, $napAdat, $vanTanitasiNap, $munkatervek; + + putNapInfo($napAdat, $munkatervek); + napiOrakTorleseForm($napAdat, $napTipusok); + if ($vanTanitasiNap) specialisNapForm($dt, $szabadOrak, $Hetek); + // Csak akkor tölthetünk be órát, ha nincs óra még az adott napon + if (count($szabadOrak) == getMaxOra() - getMinOra() + 1) orakBetolteseForm($napAdat, $Hetek); + else orakTorleseForm($dt, $szabadOrak); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/stat-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/stat-pre.php new file mode 100644 index 00000000..4596c54a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/stat-pre.php @@ -0,0 +1,54 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + // Az oldalt minden jogosultsági szinten látjuk + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/nap.php'); + + $tanarId = readVariable($_POST['tanarId'],'numeric unsigned'); + $osztalyId = readVariable($_POST['osztalyId'],'numeric unsigned'); + if (__DIAK) $diakId = __USERDIAKID; + else $diakId = readVariable($_POST['diakId'], 'numeric unsigned', readVariable($_GET['diakId'], 'numeric unsigned')); + + $tankorId = readVariable($_POST['tankorId'],'numeric unsigned'); + + if (!isset($tanarId) && !isset($diakId) && !isset($osztalyId) && __TANAR) $tanarId = __USERTANARID; + // tankörök lekérdzése + if (isset($diakId)) $Tankorok = getTankorByDiakId($diakId, __TANEV, array('tolDt' => $_TANEV['kezdesDt'])); + elseif (isset($osztalyId)) $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV); + elseif (isset($tanarId)) $Tankorok = getTankorByTanarId($tanarId, __TANEV); + + $tankorIds = array(); + for ($i = 0; $i < count($Tankorok); $i++) $tankorIds[] = $Tankorok[$i]['tankorId']; + + if (count($tankorIds) > 0) $tankorStat = getTankorStat($tankorIds); + if (isset($diakId)) { + $tankorStat['hianyzasStat'] = getDiakHianyzasStat($diakId, array('tankorIds'=>$tankorIds, 'tanev'=> __TANEV)); + if (!isset($osztalyId)) { + $OI = getDiakOsztalya($diakId); + $osztalyId = $OI[0]['osztalyId']; + } + } + if (__NAPLOADMIN or __VEZETOSEG or __TANAR or __TITKARSAG) { + $TOOL['tanarSelect'] = array('tipus'=>'cella', 'post'=>array('igDt')); + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post'=>array('igDt')); + if (isset($osztalyId)) { + $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('osztalyId','igDt')); + if (isset($diakId)) $TOOL['diakLapozo'] = array('tipus'=>'sor', 'paramName'=>'diakId', 'post'=>array('osztalyId','igDt')); + } + } + if (isset($diakId)) { + $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=hianyzas&f=diak&diakId='.$diakId,'index.php?page=naplo&sub=hianyzas&f=diakLista&diakId='.$diakId), + 'titleConst' => array('_DIAKHIANYZASNAPLO','_DIAKHIANYZASLISTA'), + 'post' => array('tanev','tolDt','igDt','ho','osztaly'), + 'paramName'=>'diakId'); + } + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/stat.php b/mayor-orig/www/policy/private/naplo/haladasi/stat.php new file mode 100644 index 00000000..5cce9b8e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/stat.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $Tankorok, $tankorIds, $tankorStat; + + if (is_array($tankorStat)) putTankorStat($tankorStat); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/tankor-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/tankor-pre.php new file mode 100644 index 00000000..afb9671b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/tankor-pre.php @@ -0,0 +1,29 @@ +<?php + if (_RIGHTS_OK !== true) die(); + + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/helyettesitesModifier.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/share/date/names.php'); + + $tankorId = readVariable($_POST['tankorId'],'id'); +/* $oraElmarad = readVariable($_POST['oraElmarad'],'string'); + $oraMegtartva = readVariable($_POST['oraMegtartva'],'string'); + if (isset($oraElmarad)) { + $_JSON['toDo'] = 'oraElmarad'; // processJSON js-ben használjuk + $_JSON['oraId'] = $oraId; + } elseif (isset($oraMegtartva)) { + $_JSON['toDo'] = 'oraMegtartva'; // processJSON js-ben használjuk + $_JSON['oraId'] = $oraId; + } +*/ + $ADAT['tankorStat'] = getOraStatByTankorId($tankorId); +// $_JSON['html'] = putOraAdat($ADAT); +// $ADAT['oraAdat']['debug'] = serialize($_POST); + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/tankor.php b/mayor-orig/www/policy/private/naplo/haladasi/tankor.php new file mode 100644 index 00000000..2841606e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/tankor.php @@ -0,0 +1,10 @@ +<?php +/* + module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + global $ADAT; + putTankorStat($ADAT); +echo '..'; +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/teremModositas-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/teremModositas-pre.php new file mode 100644 index 00000000..b7bcf782 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/teremModositas-pre.php @@ -0,0 +1,102 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + global $_TANEV; + if ($_TANEV['statusz']!='aktív') $_SESSION['alert'][] = 'page:nem_aktív_tanev:'.$_TANEV['tanev']; + + $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d')); + $ADAT['ora'] = $ora = readVariable($_POST['ora'], 'numeric', null); + $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', null); + if (!isset($tanarId)) $osztalyId = readVariable($_POST['osztalyId'], 'id', null); + $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'], 'id', null); + $ADAT['teremId'] = $teremId = readVariable($_POST['teremId'], 'id', null); + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/terem.php'); + require_once('include/share/date/names.php'); + + $ADAT['napiMinOra'] = $napiMinOra = getMinOra(); + $ADAT['napiMaxOra'] = $napiMaxOra = getMaxOra(); + + if (isset($dt)) { + // órarendiÓrák betöltése - ha szükséges + //checkNaplo($dt); + /* Az órákat nem töltjük itt be! */ + + if ($action=="teremModosit") { + $oraId = readVariable($_POST['oraId'],'id',null); + $ujTeremId = readVariable($_POST['ujTeremId'],'id',null); + $ADAT['oraAdat'] = getOraAdatById($oraId); + $lr = db_connect('naplo'); + db_start_trans($lr); + if (($x = checkHaladasiSzabadTerem($dt,$ora,$ujTeremId,$lr)) === true) + haladasiTeremModositas($oraId,$ujTeremId,$lr); + else + if ($ujTeremId != $ADAT['oraAdat']['teremId']) $_SESSION['alert'][] = 'info:nem_szabadTerem:'.$ADAT['oraAdat']['teremId'].' -- '.$ujTeremId; + db_commit($lr); + db_close($lr); + + } + + if (isset($tankorId)) { + // A tankör tanárainak lekérdezése (tanarSelect számára) + $Tanarok = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'nevsor')); + if (isset($tanarId)) { + // A tanár a tankör tanára-e? + for ($i = 0; ($i < count($Tanarok) && $Tanarok[$i]['tanarId'] != $tanarId); $i++); + if ($i >= count($Tanarok)) { + $_SESSION['alert'][] = 'message:wrong_data:pluszOra:Nem a tankör tanára:'."$tankorId/$tanarId"; + $Tanarok[] = array('tanarId' => $tanarId, 'tanarNev' => getTanarNevById($tanarId)); + $mkId = getTankorMkId($tankorId); + $tanarMkIds = getTanarMunkakozosseg($tanarId); + $ADAT['tanarId'] = $Tanarok[0]['tanarId']; + } + } + // Ha csak egy tanarId van, akkor azt állítsuk be! + if (count($Tanarok) == 1 && !isset($tanarId)) { + $tanarId = $Tanarok[0]['tanarId']; + if (isset($osztalyId)) unset($osztalyId); + } + } + + $ADAT['ki'] = $tanarId; + $ADAT['kit'] = $tanarId; + $ADAT['oraId'] = getOraIdByPattern($ADAT); + $ADAT['oraAdat'] = getOraAdatById($ADAT['oraId']); + $ADAT['szabadTerem'] = getSzabadTermek(array('dt' => $dt, 'ora' => $ora)); + $ADAT['tankorLetszam'] = getTankorLetszam($ADAT['oraAdat']['tankorId'], array('refDt'=>$ADAT['dt'])); + } + + // toolBar + $TOOL['datumSelect'] = array( + 'tipus' => 'cella', 'post' => array('ora', 'tanarId', 'osztalyId', 'tankorId'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'napTipusok' => array('tanítási nap','speciális tanítási nap'), + ); + if (isset($dt)) { + $TOOL['oraSelect'] = array('tipus'=>'cella', 'orak' => $SzabadOrak, 'foglaltOrakkal' => true, 'post'=>array('osztalyId', 'tanarId', 'tankorId', 'dt', 'ora')); + $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarok' => $Tanarok, 'post' => array('dt', 'ora', 'tankorId', 'teremId' )); + //if (!isset($osztalyId) || isset($tankorId)) $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarok' => $Tanarok, 'post' => array('dt', 'ora', 'tankorId', 'teremId' )); + //if (!isset($tanarId)) $TOOL['osztalySelect'] = array('tipus'=>'sor','paramName' => 'osztalyId', 'post'=>array('dt', 'ora', 'tankor', 'teremId')); + //if (isset($osztalyId) || isset($tanarId) || isset($ora)) { + // $TOOL['tankorSelect'] = array('tipus'=>'sor', 'paramName'=>'tankorId', 'tankorok' => $szabadTankorok, 'tolDt'=>$dt, 'igDt'=>$dt, 'post'=>array('osztalyId','tanarId','dt','ora','teremId')); + //} + //if (isset($ora)) $TOOL['teremSelect'] = array('tipus'=>'cella', 'paramName'=>'teremId', 'termek' => $Termek, 'post'=>array('osztalyId','tanarId','dt','ora','tankorId')); + } + + getToolParameters(); + } // admin vagy igazgató + +?> diff --git a/mayor-orig/www/policy/private/naplo/haladasi/teremModositas.php b/mayor-orig/www/policy/private/naplo/haladasi/teremModositas.php new file mode 100644 index 00000000..d1ddccb6 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/haladasi/teremModositas.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if ($ADAT['oraId']>0) putTeremModositas($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/diak-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/diak-pre.php new file mode 100644 index 00000000..adbf65d0 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/diak-pre.php @@ -0,0 +1,212 @@ +<?php +/* + Module: naplo +*/ + global $_TANEV; + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__TANAR && !__DIAK && !__VEZETOSEG && !__TITKARSAG) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/hianyzasModifier.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/nap.php'); + + require_once('skin/classic/module-naplo/html/share/hianyzas.phtml'); + + $napiMinOra = getMinOra(); + $napiMaxOra = getMaxOra(); + + if (__DIAK) { + $diakId = defined('__USERDIAKID') ? __USERDIAKID : null; + } else { + $diakId = readVariable($_POST['diakId'], 'numeric unsigned', readVariable($_GET['diakId'], 'numeric unsigned')); + $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', readVariable($_GET['osztalyId'], 'numeric unsigned')); + + if (!isset($osztalyId) && !isset($diakId) && __TANAR && __OSZTALYFONOK) $osztalyId = $_OSZTALYA[0]; + if ($diakId!='' && $osztalyId=='') { + $OI = getDiakOsztalya($diakId, array('tolDt'=>date('Y-m-d'),'tanev'=>__TANEV) ); //--ITT a mai napot vesszük alapul, ami osztályváltáskor nem jó sajnos...... + $osztalyId = $OI[0]['osztalyId']; + } + if ($osztalyId != '') { + $ADAT['osztalyId'] = $osztalyId; + $ADAT['osztaly'] = getOsztalyAdat($osztalyId); + } + } + + +if (isset($diakId) && $diakId != '') { + + // ez gyönyörű szép :) + $_POST['diakId'] = $ADAT['diakId'] = $diakId; + $_POST['osztalyId'] = $osztalyId; + $ADAT['diak']['nev'] = getDiakNevById($diakId); + + /* --- igDt, tolDt --- */ + $tolDt = readVariable($_POST['tolDt'],'date',date('Y-m-d', mktime(0,0,0,date('m'),1,date('Y')))); + + $igDt = $_TANEV['zarasDt']; + initTolIgDt(__TANEV, $tolDt, $igDt); + // $ho beállítása + if ($_tmp=readVariable($_POST['dt'],'date',readVariable($_GET['dt'],'date'))) { + $ho = intval(date('m',strtotime($_tmp))); + } else { + $ho = readVariable($_POST['ho'],'numeric','',array(1,2,3,4,5,6,7,8,9,10,11,12)); + if ($ho=='') $ho = readVariable($_GET['ho'],'numeric', + intval(date('m',strtotime($tolDt))), + array(1,2,3,4,5,6,7,8,9,10,11,12)); + } + $ADAT['ho'] = $ho; + /* --- */ + $DIAKOSZTALYAI = getDiakokOsztalyai(array($diakId),array('tanev'=>__TANEV,'tolDt'=>$tolDt,'igDt'=>$igDt)); // diakId => (o1, o2, ...) + $munkatervIds = getMunkatervByOsztalyId($DIAKOSZTALYAI[$diakId], array('result'=>'idonly')); // lehet esetleg több is neki! + define(__OFO, ( + is_array($_OSZTALYA) && + count(array_intersect($DIAKOSZTALYAI[$diakId],$_OSZTALYA)) > 0 )); + if ($_TANEV['statusz']=='aktív' && (__NAPLOADMIN || __OFO || __VEZETOSEG)) { + $ITIPUSOK = getIgazolasTipusLista(); + $ITIPUSOK['engedelyezett'][] = 'orvosi'; + if (__NAPLOADMIN || __OFO) $ITIPUSOK['engedelyezett'][] = 'szülői'; + if (__NAPLOADMIN || __OFO) $ITIPUSOK['engedelyezett'][] = 'osztályfőnöki'; + if (__NAPLOADMIN || __OFO || __VEZETOSEG) $ITIPUSOK['engedelyezett'][] = 'tanulmányi verseny'; + if (__NAPLOADMIN || __OFO || __VEZETOSEG) $ITIPUSOK['engedelyezett'][] = 'nyelvvizsga'; + if (__NAPLOADMIN || __VEZETOSEG) $ITIPUSOK['engedelyezett'][] = 'igazgatói'; + $ITIPUSOK['engedelyezett'][] = 'hatósági'; + $ITIPUSOK['engedelyezett'][] = 'pályaválasztás'; + $ADAT['igazolasTipusok']=$ITIPUSOK; + + $igazolas = readVariable($_POST['igazolas'],'emptystringnull','',$ITIPUSOK['engedelyezett']); + if ($igazolas=='') $igazolas = readVariable($_GET['igazolas'],'emptystringnull','',$ITIPUSOK['engedelyezett']); + if ($igazolas=='') $igazolas = 'orvosi'; + $_POST['igazolas'] = $igazolas; + //if (!in_array($igazolas,$ITIPUSOK['engedelyezett'])) + //$_SESSION['alert'][] = '::hibás beállítás('.$igazolas.')'; + + $ADAT['igazolas'] = $igazolas; + + // Hatarido + if (__NAPLOADMIN || __VEZETOSEG) define('__BEIRAS_HATARIDO',_ZARAS_HATARIDO); + elseif (__OFO) define('__BEIRAS_HATARIDO',_OFO_HIANYZAS_HATARIDO); + else define('__BEIRAS_HATARIDO',_HIANYZAS_HATARIDO); + + //$hatarido = _LEGKORABBI_IGAZOLHATO_HIANYZAS; + $hatarido = getNemIgazolhatoDt($diakId, $munkatervIds); + + if (__NAPLOADMIN || __VEZETOSEG) { + if (strtotime($hatarido) > strtotime(_ZARAS_HATARIDO)) + $hatarido = _ZARAS_HATARIDO; + } elseif (!__OFO) { + $hatarido = date('Y-m-d'); + } // else nem írjuk felül + + define('__STATUS_HATARIDO',$hatarido); + + // Beírások + /* + a beíró függvényeknek átadjuk, hogy mit szeretnénk elérni, + amik lekérdezik a szükséges adatokat, és esetleges jogosultságokat! (darabszám) + a határidőre vonatkozó beállításokat a -pre nek kell végeznie! + */ + if ($action == 'statusModositas') { + + $hianyzasId = readVariable($_GET['hianyzasId'],'id'); + if ($hianyzasId!='') + $_HDATA = getHianyzasById($hianyzasId); + // lekérdezzük, hogy mi a hiányzás dátuma, státusza? ($dt,$statusz) + if (is_array($_HDATA) && count($_HDATA)==1) { + if (strtotime(__STATUS_HATARIDO) < strtotime($_HDATA[0]['dt'])) { + if ($_HDATA[0]['statusz']=='igazolatlan') { + $_statusz = 'igazolt'; + $_igtip = $igazolas; + } else { + $_statusz = 'igazolatlan'; + $_igtip = ''; + } + $IGAZOLANDOK[] = array('id'=> $hianyzasId,'statusz'=>$_statusz,'igazolas'=>$_igtip); + hianyzasIgazolas($IGAZOLANDOK,$diakId); + } else { + $_SESSION['alert'][] = 'message:deadline_expired'.__STATUS_HATARIDO; + } + } else { // nincs hianyzasId megadva, vagy nincs hozzá mégsem (pl már kitörölték egyszer) bejegyzés. + + $_dt = readVariable($_GET['dt'],'date'); + $_ora = readVariable($_GET['ora'],'numeric'); + $_tipus = 'hiányzás'; + $_statusz = readVariable($_POST['status'],'emptystringnull','igazolatlan',array('igazolt','igazolatlan')); + + // ekkor vajon milyen oraId-jű orája volt a diakIdnek? + // esetleg több is! (regisztralando, de nem kötelező bejárnia) + if (strtotime(__BEIRAS_HATARIDO) <= strtotime($_dt)) { + oraHianyzasBeiras($_dt,$_ora,$diakId,array('tipus'=>$_tipus,'statusz'=>$_statusz)); + } else { + $_SESSION['alert'][] = 'message:deadline_expired:'.__BEIRAS_HATARIDO; + } + + } + + } elseif ($action == 'napiHianyzasBeiras') { + + // dt és diakId alapján lekérdezzük, beírjuk, nincs mese. + // illetve van mese: lehet hogy csak a statuszokat lehet módosítani... + + $_dt = readVariable($_POST['dt'],'date'); + $_tipus = 'hiányzás'; + $_statusz = readVariable($_POST['status'],'emptystringnull','igazolatlan',array('igazolt','igazolatlan')); + $_igazolas = ($_statusz=='igazolatlan') ? '' : $igazolas; + napiHianyzasBeiras($_dt,$diakId,array('tipus'=>$_tipus,'statusz'=>$_statusz,'igazolas'=>$_igazolas)); + + } elseif ($action == 'igazolasTipusValtas') { + // itt már elvileg nincs mit tennünk (v2.4) + } + + } else { + //define('__BEIRAS_HATARIDO',''); + //define('__STATUS_HATARIDO',''); + } + + /* --- tanuló hiányzásai (figyelem! dátumok!) --- */ + // --TODO: 9!!! + $ADAT['napok'] = getHonapNapjai($ho, $munkatervIds); + for ($i=0; $i<count($ADAT['napok']); $i++) + $_NAPOK[] = $ADAT['napok'][$i]['dt']; + $ADAT['hianyzasok'] = getHianyzasByDt(array($diakId),$_NAPOK); + $ADAT['diak']['kepzes'] = getKepzesByDiakId($diakId, array('result'=>'assoc','dt'=>$_NAPOK[count($_NAPOK)-1])); // dátum nélkül ez a korábbi összes képzését adná. Vegyük a hónap utolsó napján... + +} // ha van nem üres diakId + + if (!__DIAK) { + + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('ho','igazolas')); + $TOOL['diakSelect'] = array('tipus'=>'cella', 'diakId' => $diakId, 'post'=>array('tolDt','osztalyId','ho','igazolas')); + //$TOOL['tanarOraLapozo'] = array('tipus'=>'sor', 'oraId' => $oraId, 'post'=>array('tanarId')); + + } + if ($diakId != '') { + $TOOL['igazolasOsszegzo'] = array('tipus' => 'sor','paramName' => 'igazolasOsszegzo', 'post' => array()); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=hianyzas&f=diakLista','index.php?page=naplo&sub=haladasi&f=stat&diakId='.$diakId), + 'titleConst' => array('_DIAKHIANYZASLISTA','_HALADASISTATISZTIKA'), + 'post' => array('tanev','tolDt','igDt','ho','osztaly'), + 'paramName'=>'diakId'); + } + if (__POLICY == 'parent') $TOOL['pageHelp'] = 'PAGEHELP_SZULO'; + else $TOOL['pageHelp'] = 'PAGEHELP'; + if ($ho!='') $TOOL['honapLapozo'] = array('tipus'=>'sor', 'paramName' => 'ho', 'ho'=>$ho, + 'diakId'=>$diakId, // ideiglenesen! + 'post'=>array('diakId','osztalyId','igazolas')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/diak.php b/mayor-orig/www/policy/private/naplo/hianyzas/diak.php new file mode 100644 index 00000000..5eb61423 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/diak.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + global $tools,$tolDt,$igDt,$diakId,$igazolas; + + if (is_array($ADAT) && $diakId!='') putDiakHianyzasNaptar($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/diakIgazolatlan-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/diakIgazolatlan-pre.php new file mode 100644 index 00000000..5ffb0899 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/diakIgazolatlan-pre.php @@ -0,0 +1,26 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__TANAR && !__DIAK && !__VEZETOSEG) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id'); + $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'], 'id', readVariable($_GET['diakId'], 'id')); + + if (isset($diakId)) { + $ADAT['diakNev'] = getDiakNevById($diakId); + $ADAT['igazolatlan'] = getDiakIgazolatlan($diakId); + } + + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('ho')); + $TOOL['diakSelect'] = array('tipus'=>'cella', 'diakId' => $diakId, 'post'=>array('tolDt','osztalyId','ho')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/diakIgazolatlan.php b/mayor-orig/www/policy/private/naplo/hianyzas/diakIgazolatlan.php new file mode 100644 index 00000000..c934b7c8 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/diakIgazolatlan.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['diakId'])) putDiakIgazolatlan($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/diakLista-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/diakLista-pre.php new file mode 100644 index 00000000..4818d84d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/diakLista-pre.php @@ -0,0 +1,101 @@ +<?php +/* + Module: naplo + + --TODO :: check (diak-prev2? +*/ + global $_TANEV; + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__TANAR && !__DIAK && !__VEZETOSEG) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/hianyzasModifier.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/orarend.php'); + + require_once('skin/classic/module-naplo/html/share/hianyzas.phtml'); + + $napiMinOra = getMinOra(); + $napiMaxOra = getMaxOra(); + + if (__DIAK) { + $diakId = defined('__USERDIAKID') ? __USERDIAKID : 0; + } else { + $diakId = readVariable($_POST['diakId'], 'numeric unsigned', readVariable($_GET['diakId'], 'numeric unsigned')); + + $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', readVariable($_GET['osztalyId'], 'numeric unsigned')); + + if (!isset($osztalyId) && !isset($diakId) && __TANAR && __OSZTALYFONOK) $osztalyId = $_OSZTALYA[0]; + if (isset($diakId) && !isset($osztalyId)) { + $OI = getDiakOsztalya($diakId); + $_POST['osztalyId'] = $osztalyId = $OI[0]['osztalyId']; + } + if ($osztalyId!='') { + $ADAT['osztalyId'] = $osztalyId; + $ADAT['osztaly'] = getOsztalyAdat($osztalyId); + } + } + + +if (isset($diakId) && $diakId != '') { + + $_POST['diakId'] = $ADAT['diakId'] = $diakId; + $_POST['osztalyId'] = $ADAT['osztalyId'] = $osztalyId; + $ADAT['diak']['nev'] = getDiakNevById($diakId); + + /* --- igDt, tolDt --- */ + $tolDt = readVariable($_POST['tolDt'], 'datetime', date('Y-m-d', mktime(0,0,0,date('m'),1,date('Y')))); + $igDt = $_TANEV['zarasDt']; + initTolIgDt(__TANEV, $tolDt, $igDt); + // $ho beállítása + $ho = readVariable($_POST['ho'],'numeric','',array(1,2,3,4,5,6,7,8,9,10,11,12)); + if ($ho=='') $ho = readVariable($_GET['ho'],'numeric', + intval(date('m',strtotime($tolDt))), + array(1,2,3,4,5,6,7,8,9,10,11,12)); + $ADAT['ho'] = $ho; + /* --- */ + + $DIAKOSZTALYAI = getDiakokOsztalyai(array($diakId)); + define(__OFO, ( is_array($_OSZTALYA) && count(array_intersect($DIAKOSZTALYAI[$diakId],$_OSZTALYA)) > 0 )); + + /* --- tanuló hiányzásai (figyelem! dátumok!) --- */ + // --TODO: 9!!! + + $ADAT['napok'] = getHonapNapjai($ho); + for ($i=0; $i<count($ADAT['napok']); $i++) + $_NAPOK[] = $ADAT['napok'][$i]['dt']; + $ADAT['hianyzasok'] = getHianyzasByDt(array($diakId),$_NAPOK); + +} // ha van nem üres diakId + + if (!__DIAK) { + + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('ho')); + $TOOL['diakSelect'] = array('tipus'=>'cella', 'diakId' => $diakId, 'post'=>array('tolDt','osztalyId','ho')); + //$TOOL['tanarOraLapozo'] = array('tipus'=>'sor', 'oraId' => $oraId, 'post'=>array('tanarId')); + + } + if ($diakId != '') { + $TOOL['igazolasOsszegzo'] = array('tipus' => 'sor','paramName' => 'igazolasOsszegzo', 'post' => array()); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=hianyzas&f=diak','index.php?page=naplo&sub=haladasi&f=stat&diakId='.$diakId), + 'titleConst' => array('_DIAKHIANYZASNAPTAR','_HALADASISTATISZTIKA'), + 'post' => array('tanev','osztaly','tolDt','ho'), + 'paramName'=>'diakId'); + } + if ($ho != '') $TOOL['honapLapozo'] = array('tipus'=>'sor', 'paramName' => 'ho', 'ho'=>$ho, 'post'=>array('diakId','osztalyId')); + getToolParameters(); + + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/diakLista.php b/mayor-orig/www/policy/private/naplo/hianyzas/diakLista.php new file mode 100644 index 00000000..f85c9f9b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/diakLista.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + global $tools,$tolDt,$igDt,$diakId,$igazolas; + + if (is_array($ADAT) && $diakId!='') putDiakHianyzasLista($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/hianyzas-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/hianyzas-pre.php new file mode 100644 index 00000000..ea204c20 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/hianyzas-pre.php @@ -0,0 +1,7 @@ +<?php + + if (__DIAK) header('Location: '.location('index.php?page=naplo&sub=hianyzas&f=diak')); + elseif (__TITKARSAG) header('Location: '.location('index.php?page=naplo&sub=hianyzas&f=info')); + else header('Location: '.location('index.php?page=naplo&sub=hianyzas&f=osztaly')); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/hianyzas.php b/mayor-orig/www/policy/private/naplo/hianyzas/hianyzas.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/hianyzas.php diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/info-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/info-pre.php new file mode 100644 index 00000000..0ee4c280 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/info-pre.php @@ -0,0 +1,32 @@ +<?php + + require_once('include/modules/naplo/share/hianyzas.php'); + + $SSSHH .= '<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js" async defer></script>'; + + $dt = $refTolDt = readVariable($_POST['refTolDt'],'date',date('Y-m-d',strtotime('-7 day'))); + $refIgDt = readVariable($_POST['refIgDt'],'date',date('Y-m-d')); + + $datediff = strtotime($refIgDt) - strtotime($refTolDt); + $dbNap = floor($datediff / (60 * 60 * 24)); + + $ADAT = array(); + + if (strtotime($dt) <= strtotime($refIgDt)) { + while (strtotime($dt)<= strtotime($refIgDt)) { + if (date('N',strtotime($dt))<=5) $ADAT[$dt] = getDarabDiakHianyzas($dt); + $dt = date('Y-m-d',strtotime('+1 day',strtotime($dt))); + } + } + + $TOOL['datumTolIgSelect'] = array( + 'tipus' => 'sor', 'title' => 'REFDT', + 'post'=>array('tolDt','tanarId','osztalyId','tankorId','mkId','diakId','telephely'), + 'tolParamName' => 'refTolDt', 'igParamName' => 'refIgDt', 'hanyNaponta' => 1, + 'tolDt' => $_TANEV['elozoZarasDt'], + 'igDt' => $_TANEV['kovetkezoKezdesDt'], + 'override' => true, + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => $_TANEV['zarasDt'], + ); +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/info.php b/mayor-orig/www/policy/private/naplo/hianyzas/info.php new file mode 100644 index 00000000..ab5bb381 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/info.php @@ -0,0 +1,5 @@ +<?php + + global $ADAT; + putDiakHianyzasInfo($ADAT); +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/nap-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/nap-pre.php new file mode 100644 index 00000000..7eb2592a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/nap-pre.php @@ -0,0 +1,161 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + if (!__TANAR && !__NAPLOADMIN && !__DIAK && !__VEZETOSEG) + $_SESSION['alert'][] = 'page:illegal_access'; + + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/hianyzasModifier.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/share/date/names.php'); + + require_once('skin/classic/module-naplo/html/share/hianyzas.phtml'); + + if (__DIAK) $diakId = __USERDIAKID; + else { + $diakId = readVariable($_POST['diakId'],'numeric',readVariable($_GET['diakId'],'id')); + if ($diakId=='') return false; + } + $ADAT['diakId'] = $diakId; + + $dt = readVariable($_POST['dt'],'datetime',readVariable($_GET['dt'],'datetime')); + if ($dt=='') return false; + $nap = date('w',strtotime($dt)); + + define('__MAX_ORA',getMaxOra()); + define('__MIN_ORA',getMinOra()); + + $ADAT['nevsor'] = array( + 'idk' => array($diakId), + 'adatok' => getTankorByDiakId($diakId,__TANEV,array('tolDt'=>$dt,'igDt'=>$dt)), + 'nevek' => getDiakokById(array($diakId)) + ); + + { + /* jogosultság */ + //$DIAKOSZTALYAI = getDiakokOsztalyai(array($diakId)); + //define(__OFO, (is_array($_OSZTALYA) && count(array_intersect($DIAKOSZTALYAI[$diakId],$_OSZTALYA)) > 0 )); + + /* --- */ + $TANKORIDK = getTankorByDiakId($diakId, __TANEV, $SET = array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt)); + + $tmpOrak = getOrak($TANKORIDK,array('tolDt'=>$dt,'igDt'=>$dt,'elmaradokNelkul'=>true)); + $ADAT['orak'] = $tmpOrak['orak']; + if (is_array($ADAT['orak']) && count($ADAT['orak'])>0) + foreach($ADAT['orak'] as $tankorId => $OA1) + foreach($OA1 as $ora => $OA2) + foreach($OA2 as $tankorId => $OA) + $ORAI[] = $OA; + $ADAT['jogosultsag'] = getHianyzasJogosultsag($ORAI, array('idk'=>array($diakId))); + unset($ORAI); + + /* rögzítés */ + if ($action == 'hianyzokRogzitese' && (__TANAR || __NAPLOADMIN || __VEZETOSEG)) { + //$EDDIG = getHianyzasByOraId($ORAADAT['oraId'],array('csakId'=>true)); + $EDDIG = getHianyzasByDt(array($diakId),array($dt),array('csakId'=>true)); + $MARADNAK = $H = $TORLENDOK = array(); + // először vizsgáljuk meg, hogy hol hiányzott (mert ekkor f betűs nem lehet) + reset($_POST); + foreach($_POST as $_kulcs => $_ertek) { + if (substr($_kulcs,0,8)=='HIANYZOK') { + list($_mi,$_oraId) = explode('_',$_kulcs); + list($_diakId,$_dt,$_ora,$_tipus,$_hid) = explode('/',$_ertek); + if ($_tipus=='hiányzás') { // akkor f betűsök nem lehetnek + $H[$_diakId][$_dt][$_ora] = true; + $H2[$_diakId][$_oraId] = true; + } + } + } + // majd állítsuk elő a tömböket + reset($_POST); + foreach($_POST as $_kulcs => $_ertek) { + if (substr($_kulcs,0,8)=='HIANYZOK') { + /* Itt az __id most oraId */ + list($__r1,$__id,$__r2) = explode('_',$_kulcs); + list($_diakId,$_dt,$_ora,$_tipus,$_hid) = explode('/',$_ertek); +// if (!isset($H[$_diakId][$_dt][$_ora]) || $_tipus=='hiányzás') { + if (!isset($H2[$_diakId][$__id]) || $_tipus=='hiányzás') { + if ($_hid!='') { + $MARADNAK[] = $_hid; + if ($_tipus=='késés') $PERCEK[$_hid]=intval($_POST['PERC_'.$__id]); + } elseif ($_tipus!='') { + $_perc = intval($_POST['PERC_'.$__id]); + //$_oraId = $ADAT['orak'][$dt]; + //list($_tankorId,$OA) = each($ADAT['orak'][$dt][$_ora]); + // EZ HIBÁS! Egy időben több óra is lehet! Az adat postként rendelkezsére áll, használjuk azt fel! + $BEIRANDOK[] = array('diakId'=>$_diakId,'tipus'=>$_tipus,'id'=>$_hid,'dt'=>$_dt,'ora'=>$_ora,'perc'=>$_perc,'oraId'=>$__id); + } + } + } + } + $TORLENDOK = (is_array($EDDIG)) ? array_diff($EDDIG,$MARADNAK) : array(); + reset($_POST); + foreach($_POST as $_kulcs => $_ertek) { + if (substr($_kulcs,0,8) == 'IGAZOLAS') { + for ($i=0; $i<count($_ertek); $i++) { + list($_diakId,$ures1,$ures2,$_igtip,$_hid) = explode('/',$_ertek[$i]); + if ($_hid!='' && !in_array($_hid,$TORLENDOK)) { + if ($_igtip!='') $_statusz='igazolt' ; else $_statusz ='igazolatlan'; + $IGAZOLANDOK[] = array('id'=> $_hid,'diakId'=>$_diakId,'statusz'=>$_statusz,'igazolas'=>$_igtip); + } + } + } + } + // végül töröljünk, regisztráljunk, igazoljunk + // esetleg okosan kitalálhatjuk, hogy ha egy időpontban van órája, akkor csak egy helyen lehet? (Pl ahol kötelezően kellene lennie...) + if (is_array($EDDIG) && is_array($MARADNAK)) { + hianyzasTorles($TORLENDOK); + } + hianyzasRegisztralas(array(),$BEIRANDOK); + hianyzasIgazolas($IGAZOLANDOK); + hianyzasPercUpdate($PERCEK); + + } + // lekérdezés #2 + // $ADAT['nevsor'] // lásd feljebb + $ADAT['hianyzok'] = array($diakId); + $ADAT['hianyzasok'] = getHianyzasByDt(array($diakId),array('dt'=>$dt)); + $ADAT['tankorok'] = getTankorByDiakId($diakId, __TANEV, $SET = array('csakId' => false, 'tolDt' => $dt, 'igDt' => $dt,'result'=>'multiassoc')); + $ADAT['tankorTipus'] = getTankorTipusok(); + // ez így egy kicsit túl megengedő. Ha pl egy tárgyból csak az első órán van felmentve, de ugyanaz a tankör szerepel később is (pl második), akkor ida is felmentett lesz... + // holott arról nincs fm-tése... Óránként külön kellene vizsgálni... :( + $ADAT['felmentett'] = getTankorDiakFelmentes($diakId, __TANEV, array('result'=>'multiassoc','tolDt' => $dt, 'igDt' => $dt, 'nap'=>$nap)); // !!! + $ADAT['dt'] = $dt; + $ADAT['diak']['nev'] = getDiakNevById($diakId); + $OI = getDiakOsztalya($diakId); + $osztalyId = $OI[0]['osztalyId']; + $ADAT['osztaly'] = getOsztalyAdat($osztalyId); + $ADAT['napiMinOra'] = getMinOra(); + $ADAT['napiMaxOra'] = getMaxOra(); + + } + $_diakJogviszony=getDiakJogviszonyByDts( array($ADAT['diakId']), array($ADAT['dt']) ); + $ADAT['diakJogviszony'] = $_diakJogviszony[$ADAT['diakId']][$ADAT['dt']]['statusz']; + // tanarSelect tul képpen csak readnly + $TOOL['datumSelect'] = array( + 'tipus' => 'sor', 'post' => array('diakId'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])), + 'napTipusok' => array('tanítási nap', 'speciális tanítási nap'), + 'lapozo' => true + ); +// $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('ho')); + if (!__DIAK) $TOOL['diakSelect'] = array('tipus' => 'cella', 'diakId' => $diakId, 'post' => array('dt')); + if ($diakId!='') $TOOL['igazolasOsszegzo'] = array('tipus' => 'cella','paramName' => 'igazolasOsszegzo', 'post' => array()); + +// $TOOL['tanuloNapLapozo'] = array('tipus'=>'sor', 'dt' => $dt, 'post'=>array('diakId','dt')); + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/nap.php b/mayor-orig/www/policy/private/naplo/hianyzas/nap.php new file mode 100644 index 00000000..de542e68 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/nap.php @@ -0,0 +1,14 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__TANAR && !__NAPLOADMIN && !__DIAK) + $_SESSION['alert'][] = 'page:illegal_access'; + + + global $ORAADAT,$ADAT; + + if (is_array($ADAT)) + putHianyzok($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/oktstat-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/oktstat-pre.php new file mode 100644 index 00000000..2fce3e26 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/oktstat-pre.php @@ -0,0 +1,33 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + if (!__TANAR && !__NAPLOADMIN && !__DIAK && !__VEZETOSEG) + $_SESSION['alert'][] = 'page:illegal_access'; + +# require_once('include/modules/naplo/share/ora.php'); +# require_once('include/modules/naplo/share/orarend.php'); +# require_once('include/modules/naplo/share/tankor.php'); +# require_once('include/modules/naplo/share/diak.php'); +# require_once('include/modules/naplo/share/tanar.php'); +# require_once('include/modules/naplo/share/hianyzas.php'); +# require_once('include/modules/naplo/share/hianyzasModifier.php'); +# require_once('include/modules/naplo/share/szemeszter.php'); +# require_once('include/modules/naplo/share/osztaly.php'); +# require_once('include/modules/naplo/share/kepzes.php'); +# require_once('include/share/date/names.php'); +# +# require_once('skin/classic/module-naplo/html/share/hianyzas.phtml'); + + $tanev = readVariable($_POST['tanev'],'numeric unsigned',__TANEV); + + $ADAT = getOktoberiStatisztika($tanev); + + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'action' => 'tanevValasztas', 'post' => array('tanev')); + + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/oktstat.php b/mayor-orig/www/policy/private/naplo/hianyzas/oktstat.php new file mode 100644 index 00000000..ec4b017a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/oktstat.php @@ -0,0 +1,12 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__TANAR && !__NAPLOADMIN && !__DIAK && !__VEZETOSEG) + $_SESSION['alert'][] = 'page:illegal_access'; + + global $ADAT; + + if (is_array($ADAT)) + putOktoberiStatisztika($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/ora-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/ora-pre.php new file mode 100644 index 00000000..9a472287 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/ora-pre.php @@ -0,0 +1,165 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + if (__VEZETOSEG !==true && __TANAR!==true && __NAPLOADMIN!==true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/hianyzasModifier.php'); + require_once('include/modules/naplo/share/tankorDiakModifier.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/share/date/names.php'); + + require_once('skin/classic/module-naplo/html/share/hianyzas.phtml'); + + $napiMaxOra = getMaxOra(); + $napiMinOra = getMinOra(); + + $oraId = readVariable($_POST['oraId'],'id',readVariable($_GET['oraId'],'id')); + $tanarId = readVariable($_POST['tanarId'],'id',readVariable($_GET['tanarId'],'id')); + + if (is_null($oraId) && !is_null($tanarId)) { + $_tolDt = $_igDt = date('Y-m-d'); + $tanarOrak = getTanarOrak( + $tanarId,array('tolDt' => $_tolDt, 'igDt' => $_igDt, 'tipus' => array('normál','normál máskor','helyettesítés','felügyelet','összevonás')) + ); + $oraId = $_POST['oraId'] = $tanarOrak[0]['oraId']; + } + + if (isset($oraId)) { + + $ORAADAT = getOraAdatById($oraId); + + $nap = date('w',strtotime($ORAADAT['dt'])); + $ora = $ORAADAT['ora']; + + $tanarId = $ORAADAT['ki']; + $tolDt = $igDt = $ORAADAT['dt']; + + /* tankör adatai - óratervi-e */ + $TA = getTankorAdat($ORAADAT['tankorId'], __TANEV); + $ADAT['tankorAdat'] = $TA[$ORAADAT['tankorId']][0]; + $ORAADAT['tankorTipus'] = $ADAT['tankorAdat']['tankorTipus']; + $ADAT['tagokFelvehetok'] = ($ADAT['tankorAdat']['nevsor']=='változtatható'); + /* a tankör tagságának bővítése, ha lehet */ + if ($action!='' && $ADAT['tagokFelvehetok']===true) { + $D['diakId'] = readVariable($_POST['diakId'],id); + if ($D['diakId']!=0) { + $D['tankorId'] = $ORAADAT['tankorId']; + $D['igDt'] = $D['tolDt'] = $ORAADAT['dt']; + tankorDiakFelvesz($D); + } + } + + /* lekérdezés #1 */ + $ADAT['nevsor'] = getTankorDiakjaiByInterval($ORAADAT['tankorId'], __TANEV, $ORAADAT['dt'], $ORAADAT['dt']); + for ($i=0; $i<count($ADAT['nevsor']['idk']); $i++) { + $_diakId = ($ADAT['nevsor']['idk'][$i]); + $ADAT['felmentes'][$_diakId] = getTankorDiakFelmentes($_diakId,__TANEV,array('csakId'=>true,'tolDt'=>$tolDt, 'igDt'=>$igDt, 'nap'=>$nap, 'ora'=>$ora)); + } + $ADAT['diakJogviszony'] = getDiakJogviszonyByDts($ADAT['nevsor']['idk'], array($ORAADAT['dt'])); +//dump($ADAT['nevsor']['idk']); +//dump($ORAADAT['dt']); +//dump($ADAT['diakJogviszony']); + if ($ORAADAT['tipus'] == 'elmarad') { + $_SESSION['alert'][] = 'page:elmaradt_ora'; + } else { + /* jogosultság */ + $ADAT['jogosultsag'] = getHianyzasJogosultsag(array($ORAADAT) , $ADAT['nevsor']); + /* rögzítés */ + if ($action == 'hianyzokRogzitese') { + $EDDIG = getHianyzasByOraId($ORAADAT['oraId'],array('csakId'=>true)); + $MARADNAK = $H = $TORLENDOK = array(); + // először vizsgáljuk meg, hogy hol hiányzott (mert ekkor f betűs nem lehet) + reset($_POST); + foreach($_POST as $_kulcs => $_ertek) { + if (substr($_kulcs,0,8)=='HIANYZOK') { + list($_diakId,$_dt,$_ora,$_tipus,$_hid) = explode('/',$_ertek); + if ($_tipus=='hiányzás') { // akkor f betűsök nem lehetnek + $H[$_diakId][$_dt][$_ora] = true; + } + } + } + // majd állítsuk elő a tömböket + reset($_POST); + foreach($_POST as $_kulcs => $_ertek) { + if (substr($_kulcs,0,8)=='HIANYZOK') { + // ez volt!!!! figyelem!!!list($_diakId,$_tipus,$_hid) = explode('/',$_ertek); + list($__r1,$__id,$__r2) = explode('_',$_kulcs); + list($_diakId,$_dt,$_ora,$_tipus,$_hid) = explode('/',$_ertek); + if (!isset($H[$_diakId][$_dt][$_ora]) || $_tipus=='hiányzás') { + if ($_hid!='') { + $MARADNAK[] = $_hid; + if ($_tipus=='késés') $PERCEK[$_hid]=intval($_POST['PERC_'.$__id]); + } elseif ($_tipus!='') { + $_perc = intval($_POST['PERC_'.$__id]); + $BEIRANDOK[] = array('diakId'=>$_diakId,'tipus'=>$_tipus,'id'=>$_hid,'dt'=>$_dt,'ora'=>$_ora,'perc'=>$_perc); + } + } + } + } + $TORLENDOK = array_diff($EDDIG,$MARADNAK); + reset($_POST); + foreach($_POST as $_kulcs => $_ertek) { + if (substr($_kulcs,0,8) == 'IGAZOLAS') { + for ($i=0; $i<count($_ertek); $i++) { + list($_diakId,$ures1,$ures2,$_igtip,$_hid) = explode('/',$_ertek[$i]); + if ($_hid!='' && !in_array($_hid,$TORLENDOK)) { + if ($_igtip!='') $_statusz='igazolt' ; else $_statusz ='igazolatlan'; + $IGAZOLANDOK[] = array('id'=> $_hid,'diakId'=>$_diakId,'statusz'=>$_statusz,'igazolas'=>$_igtip); + } + } + } + } + + //végül töröljünk, regisztráljunk, igazoljunk + if (is_array($EDDIG) && is_array($MARADNAK)) { + hianyzasTorles($TORLENDOK); + } + hianyzasRegisztralas($ORAADAT,$BEIRANDOK); + hianyzasIgazolas($IGAZOLANDOK); + hianyzasPercUpdate($PERCEK); + + + + } + /* --- */ + + // lekérdezés #2 + // $ADAT['nevsor'] // lásd feljebb + $ADAT['hianyzok'] = getHianyzasByOraId($ORAADAT['oraId']); + $ADAT['napiHianyzasok'] = getHianyzasByDt($ADAT['nevsor']['idk'],$ORAADAT['dt']); + + if ($ADAT['tagokFelvehetok']===true) { + $_to = getTankorOsztalyaiByTanev($ORAADAT['tankorId'], __TANEV, array('result' => 'id', 'tagokAlapjan' => false)); + $ADAT['diakok'] = getDiakok(array('osztalyId'=>$_to)); + + } + } + } // Ha van oraId + + $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarId' => $tanarId); + $TOOL['vissza'] = array('tipus'=>'vissza', + 'paramName'=>'vissza', + 'icon'=>'', + 'postOverride' => array('igDt'=>$igDt,'tanarId'=>$tanarId,'page'=>'naplo','sub'=>'haladasi','f'=>'haladasi') + ); + if (isset($oraId)) $TOOL['tanarOraLapozo'] = array('tipus'=>'sor', 'oraId' => $oraId, 'post'=>array('tanarId')); + getToolParameters(); + + } // Ha jogosult az oldal megtekintésére + + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/ora.php b/mayor-orig/www/policy/private/naplo/hianyzas/ora.php new file mode 100644 index 00000000..5c1acffc --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/ora.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ORAADAT,$ADAT; + + if (is_array($ORAADAT) && is_array($ADAT)) + putHianyzok($ORAADAT,$ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/osztaly-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/osztaly-pre.php new file mode 100644 index 00000000..9e7e9418 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/osztaly-pre.php @@ -0,0 +1,124 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG) { + + $_SESSION['alert'][] = 'page:illegal_access'; + + } elseif (!_TANKOROK_OK) { + + $_SESSION['alert'][] = 'page:hianyzo_tankorok:'._HIANYZO_TANKOROK_SZAMA; + + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/ertekeles.php'); + require_once('include/modules/naplo/share/bejegyzesModifier.php'); + require_once('include/modules/naplo/share/bejegyzes.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include//share/date/names.php'); + + global $_TANEV; + + + $ADAT['nevsor'] = $nevsor = readVariable($_POST['nevsor'],'emptystringnull','aktualis',array('aktualis','teljes')); + $osztalyId = readVariable($_POST['osztalyId'],'numeric', readVariable($_GET['osztalyId'],'numeric')); + if (!isset($osztalyId) && __TANAR && __OSZTALYFONOK) $osztalyId = $_OSZTALYA[0]; + $ADAT['tolDt'] = $tolDt = readVariable($_POST['tolDt'], 'date', $_TANEV['kezdesDt']); + $ADAT['igDt'] = $igDt = readVariable($_POST['igDt'], 'date', date('Y-m-d')); + + //if (isset($_POST['referenciaDt']) && strtotime($_POST['referenciaDt'])>0) + $ADAT['referenciaDt'] = $referenciaDt = readVariable($_POST['referenciaDt'],'datetime',null); + + +// -------------------------------- + + if (isset($osztalyId)) { + $ADAT['osztalyId'] = $osztalyId; + define(__OFO, ( is_array($_OSZTALYA) && in_array($osztalyId, $_OSZTALYA))); + + $jogosult = array(); + if (__TANAR) $jogosult[] = 'szaktanár'; + if (__OFO) $jogosult[] = 'osztályfőnök'; + if (__VEZETOSEG) $jogosult[] = 'vezetőség'; + if (__NAPLOADMIN) $jogosult[] = 'admin'; + + $ADAT['jogosult fokozatok'] = getBejegyzesTipusokByJogosult($jogosult, array('tipus' => array('fegyelmi'), 'hianyzas' => true)); + $ADAT['összes fokozat'] = getBejegyzesTipusokByJogosult(array('szaktanár','osztályfőnök','vezetőség','admin'), array('tipus' => array('fegyelmi'), 'hianyzas' => true)); + $ADAT['fokozat2bejegyzesTipus'] = $ADAT['bejegyzesTipusok'] = $ADAT['bejegyzesTipusIds'] = array(); + foreach ($ADAT['összes fokozat'] as $key => $fAdat) { + $ADAT['bejegyzesTipusok'][ $fAdat['bejegyzesTipusId'] ] = $fAdat; + } + foreach ($ADAT['jogosult fokozatok'] as $key => $fAdat) { + $bejegyzesTipusIds[] = $fAdat['bejegyzesTipusId']; + } + $_TMP = getBejegyzesTipusokByJogosult(array('szaktanár','osztályfőnök','vezetőség','admin'), array('tipus' => array('fegyelmi'), 'hianyzas' => false)); + foreach ($_TMP as $key => $fAdat) { + $ADAT['fokozat2bejegyzesTipus'][ $fAdat['fokozat'] ] = $fAdat; + } + + if ( + $_TANEV['statusz']=='aktív' + && (__NAPLOADMIN || __VEZETOSEG || (__TANAR && __OSZTALYFONOK && in_array($osztalyId, $_OSZTALYA))) + ) { + if ($action == 'fegyelmiRogzitese') { + + $diakId = readVariable($_POST['diakId'], 'id'); + $bejegyzesTipusId = readVariable($_POST['bejegyzesTipusId'], 'id', null, $bejegyzesTipusIds); + $referenciaDt = readVariable($_POST['ujReferenciaDt'], 'date'); + $hianyzasDb = readVariable($_POST['hianyzasDb'], 'numeric unsigned'); + + $szoveg = 'Tisztelt Szülő! Értesítem, hogy gyermeke - igazolatlan hiányzásainak száma ('.$hianyzasDb.') alapján - elérte a(z) "' + .$ADAT['bejegyzesTipusok'][$bejegyzesTipusId]['bejegyzesTipusNev'].'" fegyelmi fokozatot.'; + + if (isset($bejegyzesTipusId) && isset($diakId)) ujBejegyzes($bejegyzesTipusId, $szoveg, $referenciaDt, $diakId, $hianyzasDb); + else $_SESSION['alert'][] = 'message:insufficient_access:a fegyelmi nem rögzíthető (bejegyzesTipusId='.$bejegyzesTipusId.'; hianyzasDb='.$hianyzasDb.')'; + + } + } + + // -------------------------------- + + //$osztalyAdat = getOsztalyAdat($osztalyId); + + if ($tolDt != $_TANEV['kezdesDt'] || $igDt != date('Y-m-d')) { + $OPT = array('hozott','lezárt','igazolható','összes'); + $View = readVariable($_POST['View'], 'enum', array('összes'), $OPT); + } else { + $OPT = array('hozott','lezárt','igazolható','összes','fegyelmi utáni','fegyelmi fokozatok'); + $View = readVariable($_POST['View'], 'enum', ($skin != 'pda')?array('összes','fegyelmi fokozatok'):array('összes'), $OPT); + } + +// elseif ($skin != 'pda') $View = array('összes','fegyelmi fokozatok'); +// else $View = array('összes'); + + if ($nevsor=='aktualis') { + $ADAT['stat'] = getHianyzok($ADAT,array('dt'=>date("Y-m-d"))); + } else { + $ADAT['stat'] = getHianyzok($ADAT); + } +// $ADAT['hianyzasmentesNapokSzama'] = getHianyzasmentesNapokSzama($osztalyId); + + foreach($ADAT['stat']['névsor'] as $_diakId => $_D) { + $ADAT['hozottHianyzas'][$_diakId] = getDiakHozottHianyzas($_diakId); + } + + } // isset(osztalyId) + +// $TOOL['vissza'] = array('tipus'=>'vissza','paramName'=>'','icon'=>'','post'=>array('page'=>'naplo','sub'=>'haladasi','f'=>'haladasi')); + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('tolDt','igDt','View')); + getToolParameters(); + $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt', + 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'hanyNaponta' => 1, 'post' => array('osztalyId', 'View') + ); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/osztaly.php b/mayor-orig/www/policy/private/naplo/hianyzas/osztaly.php new file mode 100644 index 00000000..50f5873a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/osztaly.php @@ -0,0 +1,13 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + global $ADAT, $View; + + if (isset($ADAT['osztalyId']) && count($ADAT['stat']['névsor']) > 0) + putOsztalyOsszesito($ADAT, $View); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/osztalyNap-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/osztalyNap-pre.php new file mode 100644 index 00000000..608f94d4 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/osztalyNap-pre.php @@ -0,0 +1,53 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG) { + + $_SESSION['alert'][] = 'page:illegal_access'; + + } elseif (!_TANKOROK_OK) { + + $_SESSION['alert'][] = 'page:hianyzo_tankorok:'._HIANYZO_TANKOROK_SZAMA; + + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/tankor.php'); + + $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id'); + if (!isset($osztalyId) && __TANAR && __OSZTALYFONOK) $osztalyId = $_OSZTALYA[0]; + + $dt = $ADAT['dt'] = readVariable($_POST['dt'], 'date', date('Y-m-d')); + + if (isset($dt) && isset($osztalyId)) { + + $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'assoc', 'tanev' => __TANEV, 'tolDt' => $dt, 'igDt' => $dt)); + $ADAT['diakIds'] = array_keys($ADAT['diakok']); + $H = getHianyzasByDiakIds($ADAT['diakIds'], array('result' => 'multiassoc', 'keyfield' => 'ora', 'tolDt' => $dt, 'igDt' => $dt)); + foreach ($H as $ora => $hAdat) { + for ($i = 0; $i < count($hAdat); $i++) { + $_H = $hAdat[$i]; + $ADAT['hianyzas'][$ora][$_H['tankorId']][] = $_H; + $ADAT['diakHianyzott'][$_H['diakId']][$_H['hTipus']][$_H['statusz']][$_H['tankorTipus']]['db']++; + } + } + if (is_array($ADAT['hianyzas'])) $ADAT['tankorIds'] = array_keys($ADAT['hianyzas']); + $ADAT['tankorok'] = getTankorByOsztalyId($osztalyId, __TANEV, array('tanarral' => true, 'result' => 'assoc')); + } + $TOOL['datumSelect'] = array( + 'tipus' => 'sor', 'post' => array('osztalyId'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])), + 'napTipusok' => array('tanítási nap', 'speciális tanítási nap'), + 'lapozo' => true + ); + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('dt')); + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/osztalyNap.php b/mayor-orig/www/policy/private/naplo/hianyzas/osztalyNap.php new file mode 100644 index 00000000..10534428 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hianyzas/osztalyNap.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (is_array($ADAT['hianyzas']) && count($ADAT['hianyzas'])>0) { + putOsztalyHianyzas($ADAT); + } +?> diff --git a/mayor-orig/www/policy/private/naplo/hibabejelento/admin-pre.php b/mayor-orig/www/policy/private/naplo/hibabejelento/admin-pre.php new file mode 100644 index 00000000..60de869a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hibabejelento/admin-pre.php @@ -0,0 +1,80 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/kerelem.php'); + + $_telephelyIdDefault = (isset($_POST['telephelyId'])?null:__TELEPHELYID); + $telephelyId = readVariable($_POST['telephelyId'],'id', $_telephelyIdDefault); + $kerelemId = readVariable($_POST['kerelemId'],'id',readVariable($_GET['kerelemId'],'id')); + $tolDt = readVariable($_POST['tolDt'],'date',date('Y-m-d')); + + if ($action == 'hibabejelentes') { + $ADAT['txt'] = readVariable($_POST['txt'], 'string'); + $ADAT['kategoria'] = readVariable($_POST['kategoria'],'string','', $KERELEM_TAG); + $ADAT['telephelyId'] = $telephelyId; + if ( $ADAT['txt'] != '' && ($kerelemId = hibabejelentes($ADAT)) ) $_SESSION['alert'][] ='info:success:'.$kerelemId; + } + + if ((is_array($hibaAdmin) && in_array(_USERACCOUNT,$hibaAdmin)) || (!is_array($hibaAdmin) && (__VEZETOSEG || __NAPLOADMIN))) { + define('__HIBAADMIN',true); + } else { + define('__HIBAADMIN',false); + } + if (__HIBAADMIN === TRUE) { + + if ($action == 'hibaAdminRogzites') { + $_ADAT['kerelemId'] = $kerelemId; + $_ADAT['kerelemTelephelyId'] = $_ADAT['telephelyId'] = $telephelyId; + $_ADAT['valasz'] = readVariable($_POST['valasz'],'string'); + $_ADAT['jovahagy'] = readVariable($_POST['jovahagy'],'string'); + $_ADAT['nemHagyJova'] = readVariable($_POST['nemHagyJova'],'string'); + $_ADAT['lezar'] = readVariable($_POST['lezar'],'string'); + $_ADAT['kategoria'] = readVariable($_POST['kategoria'],'string','', $KERELEM_TAG); + hibaAdminRogzites($_ADAT); + + //if ($_ADAT['lezar']) + unset($kerelemId); + unset($_ADAT); + } + + // Összes lezáratlan kérelem lekérdezése + if ($kerelemId>0) { + $Kerelmek = getKerelmek('',$kerelemId,$tolDt); + } else { + $Kerelmek = getKerelmek($telephelyId,null,$tolDt); + } + } else { + if ($action == 'hibaAdminRogzites') { + $_ADAT['kerelemId'] = $kerelemId; + $_ADAT['kerelemTelephelyId'] = $_ADAT['telephelyId'] = $telephelyId; + $_ADAT['valasz'] = readVariable($_POST['valasz'],'string'); + $_ADAT['kategoria'] = readVariable($_POST['kategoria'],'string','', $KERELEM_TAG); + hibaAdminRogzites($_ADAT); + + //if ($_ADAT['lezar']) + unset($kerelemId); + unset($_ADAT); + } + // Saját kérelmek lekérdezése + $Kerelmek = getSajatKerelmek($telephelyId); + } + + $TELEPHELY = getTelephelyek(); + +// $TOOL['kerelemStat'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array()); + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post'=>array('telephelyId'), + 'paramName' => 'tolDt', 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => date('Y-m-d'), + ); + $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array()); + $TOOL['vissza'] = array('tipus'=>'vissza','paramName'=>'','icon'=>'inbox','post'=>array('telephelyId')); + if ($kerelemId!='') { + $TOOL['vissza']['icon'] = 'arrow-left'; + } + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hibabejelento/admin.php b/mayor-orig/www/policy/private/naplo/hibabejelento/admin.php new file mode 100644 index 00000000..f34d5eed --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hibabejelento/admin.php @@ -0,0 +1,16 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $Kerelmek,$telephelyId,$TELEPHELY; + + if ($skin=='classic') putHibabejelento($telephelyId); + + if (is_array($Kerelmek) && count($Kerelmek)>0) { + if ($_GET['view']==2){ + putKerelmekValasszal($Kerelmek,$telephelyId,$TELEPHELY); + } else { + putKerelmek($Kerelmek,$telephelyId,$TELEPHELY); + } + } +?> diff --git a/mayor-orig/www/policy/private/naplo/hibabejelento/hibabejelento-pre.php b/mayor-orig/www/policy/private/naplo/hibabejelento/hibabejelento-pre.php new file mode 100644 index 00000000..da2f215e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hibabejelento/hibabejelento-pre.php @@ -0,0 +1,24 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/modules/naplo/share/kerelem.php'); + $telephelyId = readVariable($_POST['telephelyId'],'id',__TELEPHELYID); + $kerelemId = readVariable($_GET['kerelemId'],'id'); + + if ($action == 'hibabejelentes') { + + $ADAT['telephelyId'] = readVariable($_POST['kerelemTelephelyId'], 'id', $telephelyId); + $ADAT['txt'] = readVariable($_POST['txt'], 'string'); + $ADAT['kategoria'] = readVariable($_POST['kategoria'],'string','', $KERELEM_TAG); + if ( $ADAT['txt'] != '' && ($kerelemId = hibabejelentes($ADAT)) ) $_SESSION['alert'][] ='info:success:'.$kerelemId; + + } + + if ($kerelemId>0) $Kerelmek = getKerelmek('',$kerelemId); + +// $TOOL['kerelemStat'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array()); + $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array()); + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/hibabejelento/hibabejelento.php b/mayor-orig/www/policy/private/naplo/hibabejelento/hibabejelento.php new file mode 100644 index 00000000..dffac292 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hibabejelento/hibabejelento.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $telephelyId; + + putHibabejelento($telephelyId); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/hirnok/cronFutar-pre.php b/mayor-orig/www/policy/private/naplo/hirnok/cronFutar-pre.php new file mode 100644 index 00000000..5691de0f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hirnok/cronFutar-pre.php @@ -0,0 +1,32 @@ +<?php + + if (_RUNLEVEL!=='cron') die('not valid RUNLEVEL! Exiting.'); + if (__EMAIL_ENABLED!==true) die('EMAIL_ENABLED is false! Exiting.'); + + require_once('include/modules/naplo/share/hirnok.php'); + require_once('include/share/net/phpmailer.php'); + + global $_TANEV; + + $refDt = date('Y-m-d H:i:s'); + $q = "SELECT naploId,naploTipus,utolsoEmailDt,userAccount,policy,email FROM hirnokFeliratkozas WHERE utolsoEmailDt IS NULL or utolsoEmailDt<'%s'"; + $v = array($refDt); + $r = db_query($q,array('fv'=>'cron','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v)); + + for ($i=0; $i<count($r); $i++) { + $d = $r[$i]; + $TOLDTBYUSER[$d['naploTipus']][$d['naploId']] = ($d['utolsoEmailDt']=='') ? $_TANEV['kezdesDt'] : $d['utolsoEmailDt']; // setDt + if (!in_array($d['naploId'],$USER[$d['naploTipus']])) $USER[$d['naploTipus']][] = $d['naploId']; + $ADAT['feliratkozas'][$d['naploTipus']][$d['naploId']][] = array('userAccount'=>$d['userAccount'], 'policy'=>$d['policy'], 'email'=>$d['email'], 'setDt'=> $refDt); + } + + // Megszorítás: egy naplóbeli entitás utolsoEmailDt-je együtt kell, hogy mozogjon ebben a feldolgozási rendszerben. + // Javítható: hirnokWrapper() függvény sokszoros használatával + $ADAT['hirnokFolyam'] = hirnokWrapper(array('tolDt'=>$tolDt, + 'diakId'=>$USER['diak'], + 'tanarId'=>$USER['tanar'], + 'tolDtByUser'=>$TOLDTBYUSER + )); + + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/hirnok/cronFutar.php b/mayor-orig/www/policy/private/naplo/hirnok/cronFutar.php new file mode 100644 index 00000000..605e8eaa --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hirnok/cronFutar.php @@ -0,0 +1,45 @@ +<?php + + global $ADAT; + require_once('skin/classic/module-naplo/html/hirnok/hirnok.phtml'); + require_once('skin/classic/module-naplo/html/share/email.phtml'); + + for ($i=0; $i<count($ADAT['hirnokFolyam']); $i++) { + $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;; + + $body = generateFutarEmailTorzs(array('hirnokFolyam'=>array($D))); + if ($body !='') { + echo "Email cím: ".$_toEmail."\n"; + $mail = new PHPMailer(); + $mail->CharSet = 'UTF-8'; + $mail->SetFrom(__SUPPORT_EMAIL_ADDRESS, ''._SITE.''); + $mail->AddReplyTo(__SUPPORT_EMAIL_ADDRESS,'MaYoR Support'); + $mail->AddAddress($_toEmail, $cn); + $mail->Subject = "[MaYoR] Értesítés – ".$cn; + $mail->MsgHTML(emailHead(array( + 'skin/classic/module-naplo/css/hirnok/hirnok.css', + 'skin/classic/module-naplo/css/hirnok/cronFutar.css' + )).$body.emailFoot()); + if(!$mail->Send()) { + echo "PHP Mailer Error: " . $mail->ErrorInfo . "\n"; + } 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')); + echo "Email elküldve: ".$_toEmail." - ".$cn." - ".date('Y-m-d H:i:s')."\n"; + } + + } else { + // echo "Nincs mit küldeni.\n"; + } + } + + } +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/hirnok/hirnok-pre.php b/mayor-orig/www/policy/private/naplo/hirnok/hirnok-pre.php new file mode 100644 index 00000000..adc18ddc --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hirnok/hirnok-pre.php @@ -0,0 +1,53 @@ +<?php + + require_once('include/modules/naplo/share/hirnok.php'); + global $_TANEV; + + if (isset($_SESSION['lastLogin']) && strtotime(getTanitasinapvissza(2))>strtotime($_SESSION['lastLogin'])) $rDt = $_SESSION['lastLogin']; + else $rDt = getTanitasiNapVissza(2); + $tolDt = readVariable($_POST['tolDt'],'date', + readVariable($_GET['tolDt'], 'date', + $rDt + ) + ); + if (strtotime($tolDt)>strtotime(date('Y-m-d H:i:s'))) $tolDt = date('Y-m-d',strtotime('-10 day')); + + $osztalyId = readVariable($_POST['osztalyId'], 'id'); + if (__NAPLOADMIN === true) { // csak adminnak engedjük kiválasztani - lásd még include + $diakId = readVariable($_POST['diakId'], 'id', readVariable($_GET['diakId'], 'id')); + $tanarId = readVariable($_POST['tanarId'], 'id', readVariable($_GET['tanarId'], 'id')); + $feliratkozott = getHirnokFeliratkozasok(); + if ($diakId==0 && count($feliratkozott['diak'])>0) $diakId = $feliratkozott['diak']; + if ($tanarId==0 && count($feliratkozott['tanar'])>0) $tanarId = $feliratkozott['tanar']; + if ($tanarId==0 && defined('__USERTANARID')) $tanarId = __USERTANARID; + } else { + if (__DIAK===true) { // diák nézet + $diakId = __USERDIAKID; + } elseif (__TANAR ===true) { // tanár nézet + $tanarId = __USERTANARID; + } + } + + $ADAT['hirnokFolyam'] = hirnokWrapper(array('tolDt'=>$tolDt,'diakId'=>$diakId,'tanarId'=>$tanarId)); + $ADAT['tolDt'] = $tolDt; + $ADAT['igDt'] = $igDt = date('Y-m-d'); + + if (__NAPLOADMIN===true) { + $TOOL['vissza'] = array('tipus'=>'vissza','paramName'=>'','icon'=>'bullhorn'); + $TOOL['tanarSelect'] = array('tipus'=>'cella','paramName'=>'tanarId', 'post'=>array('tolDt', 'igDt')); + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post'=>array('tolDt', 'igDt')); + $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'osztalyId')); + if ($diakId>0)$TOOL['diakLapozo'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'osztalyId')); + } + $TOOL['datumTolIgSelect'] = array( + 'tipus' => 'sor', 'title' => '', + 'post'=>array('tolDt','tanarId','osztalyId','tankorId','mkId','diakId','telephely'), + 'tolParamName' => 'tolDt', 'igParamName' => 'igDt', 'hanyNaponta' => 1, + 'override' => true, + 'tolDt' => $_TANEV['kezdesDt'], + 'igDt' => $igDt, + ); + + getToolParameters(); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/hirnok/hirnok.php b/mayor-orig/www/policy/private/naplo/hirnok/hirnok.php new file mode 100644 index 00000000..ce3b7f72 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hirnok/hirnok.php @@ -0,0 +1,6 @@ +<?php + + global $ADAT; + putHirnokFolyam($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/hirnok/hirnokFeliratkozas-pre.php b/mayor-orig/www/policy/private/naplo/hirnok/hirnokFeliratkozas-pre.php new file mode 100644 index 00000000..d8fb3d33 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hirnok/hirnokFeliratkozas-pre.php @@ -0,0 +1,47 @@ +<?php + + require_once('include/modules/naplo/share/hirnok.php'); + global $_TANEV; + + if (__EMAIL_ENABLED!==true) $_SESSION['alert'][] = 'page:hiba:az e-mail küldés nincs engedélyezve, keresd az üzemeltetőt!'; + + $tolDt = readVariable($_POST['tolDt'],'date',readVariable($_GET['tolDt'], 'date', getTanitasinapvissza(7))); + if (strtotime($tolDt)>strtotime(date('Y-m-d'))) $tolDt = date('Y-m-d',strtotime('-10 day')); + + $osztalyId = readVariable($_POST['osztalyId'], 'id'); + if (__NAPLOADMIN === true) { // csak adminnak engedjük kiválasztani - lásd még include + if ($action=='hirnokFeliratkozas') { + $S['naploId'] = readVariable($_POST['naploId'],'numeric'); + $S['naploTipus'] = readVariable($_POST['naploTipus'],'string',null,array('tanar','diak')); + $S['email'] = readVariable($_POST['email'],'email'); + $S['hirnokFeliratkozasId'] = readVariable($_POST['hirnokFeliratkozasId'],'numeric'); + if ($S['hirnokFeliratkozasId']>0) delHirnokFeliratkozas($S); + elseif ($S['email']!='') addHirnokFeliratkozas($S); + } + $ADAT['hirnokFeliratkozas'] = $feliratkozott = getHirnokFeliratkozasok(true); +// if ($diakId==0 && count($feliratkozott['diak'])>0) $diakId = $feliratkozott['diak']; +// if ($tanarId==0 && count($feliratkozott['tanar'])>0) $tanarId = $feliratkozott['tanar']; +// if ($tanarId==0 && defined('__USERTANARID')) $tanarId = __USERTANARID; + } else { + if (__DIAK===true) { // diák nézet + szülő? + $diakId = $naploId = __USERDIAKID; + $naploTipus = 'diak'; // szulo??? + } elseif (__TANAR ===true) { // tanár nézet + $tanarId = $naploId = __USERTANARID; + $naploTipus = 'tanar'; + } + if ($action=='hirnokFeliratkozas') { + $S['email'] = readVariable($_POST['email'],'email'); + $S['naploId'] = $naploId; + $S['naploTipus'] = $naploTipus; + + $S['hirnokFeliratkozasId'] = readVariable($_POST['hirnokFeliratkozasId'],'numeric'); + if ($S['hirnokFeliratkozasId']>0) delHirnokFeliratkozas($S); + elseif ($S['email']!='') addHirnokFeliratkozas($S); + } + $ADAT['email'] = ''; // lekérdezhetnénk az objektum e-mail címét később + $ADAT['hirnokFeliratkozas'] = $feliratkozott = getHirnokFeliratkozasok(true); + + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/hirnok/hirnokFeliratkozas.php b/mayor-orig/www/policy/private/naplo/hirnok/hirnokFeliratkozas.php new file mode 100644 index 00000000..a5c9056b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/hirnok/hirnokFeliratkozas.php @@ -0,0 +1,7 @@ +<?php + + global $ADAT; + if (__NAPLOADMIN ===true) putHirnokFeliratkozas($ADAT); + else putHirnokFeliratkozas_user($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diak-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/diak-pre.php new file mode 100644 index 00000000..09d59501 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diak-pre.php @@ -0,0 +1,247 @@ +<?php + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && !__DIAK) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/share/net/upload.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/szulo.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/jegy.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/diakModifier.php'); + require_once('include/modules/naplo/share/tankorDiakModifier.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/hianyzasModifier.php'); + require_once('include/modules/naplo/share/jegyModifier.php'); + require_once('include/modules/naplo/share/osztalyModifier.php'); + require_once('include/share/print/pdf.php'); + + global $_JSON; + + $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', defined('__TANEV')?__TANEV:null ); + if (__DIAK) $ADAT['diakId'] = $diakId = readVariable(__USERDIAKID,'id',null); + else $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'],'id',readVariable($_GET['diakId'],'id',null)); + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'],'id'); + + $ADAT['szocialisHelyzet'] = getSetField('naplo_intezmeny', 'diak', 'szocialisHelyzet'); + $ADAT['penzugyiStatusz'] = getEnumField('naplo_intezmeny', 'diak', 'penzugyiStatusz'); + $ADAT['lakohelyiJellemzo'] = getEnumField('naplo_intezmeny', 'diak', 'lakohelyiJellemzo'); + $ADAT['torvenyesKepviselo'] = getSetField('naplo_intezmeny', 'diak', 'torvenyesKepviselo'); + $ADAT['fogyatekossag'] = getSetField('naplo_intezmeny', 'diak', 'fogyatekossag'); + $ADAT['kozteruletJelleg'] = getEnumField('naplo_intezmeny', 'diak', 'lakhelyKozteruletJelleg'); + $ADAT['statusz'] = getEnumField('naplo_intezmeny', 'diak', 'statusz'); +// EZ MI???? + $ADAT['zaradek'] = $ZaradekIndex['jogviszony megnyitás']; + $ADAT['iktatoszam'] = readVariable($_POST['iktatoszam'], 'string' ); + //$ZaradekIndex['jogviszony']['megnyitas'|'változás'|'lezárás'] + + $ADAT['bekerulesModja'] = array_keys($ADAT['zaradek']); + array_push($ADAT['bekerulesModja'],'beiratkozásra vár','vendégtanuló'); + define('_MODOSITHAT',(__NAPLOADMIN || __TITKARSAG)); + //define('_KERELMEZHET',(__DIAK===true)); + define('_KERELMEZHET',false); + if (isset($diakId)) { + // A SET típusú attribútumok string reprezentációja + if ($action == 'diakSzocialisAdatModositas') { + $tk = $szH = $fgy = array(); // ilyenkor kell definiálni - legalább üresként - így lehet törölni + if (isset($_POST['szocialisHelyzet'])) { + $szH = readVariable($_POST['szocialisHelyzet'], 'enum', null, $ADAT['szocialisHelyzet']); + } + if (isset($_POST['fogyatekossag'])) { + $fgy = readVariable($_POST['fogyatekossag'], 'enum', null, $ADAT['fogyatekossag']); + } + if (isset($_POST['torvenyesKepviselo'])) { + $tk = readVariable($_POST['torvenyesKepviselo'], 'enum', null, $ADAT['torvenyesKepviselo']); + } + // A törlés miatt mindenképp kell legyen beállítva valami + $_POST['szocialisHelyzet'] = is_array($szH) ? implode(',', $szH) : null; + $_POST['fogyatekossag'] = is_array($fgy) ? implode(',', $fgy) : null; + $_POST['torvenyesKepviselo'] = is_array($tk) ? implode(',', $tk) : null; + } + // diák adatainak lekérdezése + $ADAT['diakAdat'] = getDiakAdatById($diakId); // csak a státusz miatt kell... + // action + if (_MODOSITHAT) { + $LZI = array_values($ZaradekIndex['jogviszony lezárás']); + $ADAT['jogviszonyLezarasZaradek'] = getZaradekokByIndexes($LZI); + if ($action == 'jogviszonyValtas') { + $ADAT['jogviszonyValtasDt'] = readVariable($_POST['jogviszonyValtasDt'], 'datetime'); + $ADAT['ujStatusz'] = readVariable($_POST['statusz'], 'enum', null, $ADAT['statusz']); + if ($ADAT['ujStatusz'] == 'jogviszonya felfüggesztve') { + $ADAT['felfuggesztesOk'] = readVariable($_POST['felfuggesztesOk'], 'string'); + $ADAT['felfuggesztesIgDt'] = readVariable($_POST['felfuggesztesIgDt'], 'string'); + } elseif ($ADAT['ujStatusz'] == 'jogviszonya lezárva') { + /* A lezárás záradékolása sokféle lehet, userinterakció */ + $ADAT['lezarasZaradekIndex'] = readVariable($_POST['lezarasZaradekIndex'], 'numeric unsigned', null, $LZI); + $ADAT['lezarasIgazolatlanOrakSzama'] = readVariable($_POST['lezarasIgazolatlanOrakSzama'], 'numeric unsigned'); + $ADAT['lezarasIskola'] = readVariable($_POST['lezarasIskola'], 'string'); + } + diakJogviszonyValtas($ADAT); + } elseif ( $action == 'diakAlapadatModositas' + || $action == 'diakSzuletesiAdatModositas' + || $action == 'diakCimModositas' + || $action == 'diakElerhetoseg' + || $action == 'diakElerhetosegModositas' + || $action == 'diakTanulmanyiAdatModositas' + || $action == 'diakSzocialisAdatModositas' + ) { + $_JSON['result'] = diakAdatModositas($_POST); + } elseif ($action== 'diakHozottHianyzas') { + diakHozottHianyzas($_POST); + } elseif ($action== 'diakTorol' && $ADAT['diakAdat']['statusz'] == 'felvételt nyert' ) { // csak a felvételt nyert + if (diakTorol($ADAT['diakAdat'])) { // csak a felvételt nyert + unset($ADAT['diakAdat']); + unset($diakId); + } + } elseif ($action == 'diakKepUpload') { + // --TODO könyvtár létrehozás? + mayorFileUpload(array('subdir'=>_DOWNLOADDIR.'/private/naplo/face/'.__TANEV,'filename'=>$diakId.'.jpg')); + } elseif ($action == 'sulixREST') { +/* + require('include/share/net/rest.php'); + //$server = 'mayor1.ulx.hu'; + $server = 'localhost'; + $port = 8888; + + if (isset($_POST['createAccount'])) { + $resource = '/Users/Create'; + $method = 'PUT'; + $params = array( + 'params' => array( + 'sn'=> $ADAT['diakAdat']['viseltCsaladinev'], + 'givenname' => $ADAT['diakAdat']['viseltUtonev'], + 'birth_year' => explode('-', $ADAT['diakAdat']['szuletesiIdo'])[0], + 'birth_month' => explode('-', $ADAT['diakAdat']['szuletesiIdo'])[1], + 'birth_day' => explode('-', $ADAT['diakAdat']['szuletesiIdo'])[2], + 'employeeNumber' => $ADAT['diakAdat']['oId'] + ) + ); + } elseif (isset($_POST['deleteAccount'])) { + $resource = '/Users/Delete/Eduid/'.$ADAT['diakAdat']['oId']; + $method = 'DELETE'; + } + $uri = 'https://'.$server.':'.$port.$resource; + try { + $ret = restRequest($uri, $method, $params); + } catch (Exception $e) { + dump($e->getMessage()); + } + if ($ret['http']['status'] == 200) { +//dump('Success'); + } else { +//dump($ret['http']['status']); +//dump($ret); + } +*/ + } + } + } else { + //$ADAT['zaradek'] = array('felvétel' => 1,'átvétel' => 2, 'áthelyezés' => 3, 'beiratkozásra vár' => null); + if (isset($osztalyId)) { + $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $tanev); + $ADAT['zaradek']['felvétel'] = $ZaradekIndex['jogviszony']['megnyitás']['felvétel osztályba']; // 1 helyett --> 67 ??? + } + } // van diakId / nincs diakId + + + if (_MODOSITHAT===true && $action == 'ujDiak') { + $kotelezoParamOk = (isset($_POST['viseltCsaladinev']) && $_POST['viseltCsaladinev'] != ''); + $kotelezoParamOk &= (isset($_POST['kezdoTanev']) && $_POST['kezdoTanev'] != ''); + $kotelezoParamOk &= (isset($_POST['kezdoSzemeszter']) && $_POST['kezdoSzemeszter'] != ''); + $kotelezoParamOk &= ($_POST['felvetelTipus']=='beiratkozásra vár' || (isset($_POST['jogviszonyKezdete']) && $_POST['jogviszonyKezdete'] != '')); + if ($kotelezoParamOk) { + $_POST['zaradek'] = $ADAT['zaradek']; // felülírjuk a post-ot... remek + $_POST['osztaly'] = $ADAT['osztaly']; + $diakId = ujDiak($_POST); + } else { + $_SESSION['alert'][] = 'message:empty_field:(viseltCsaladinev,kezdoTanev,kezdoSzemeszter,jogviszonyKezdete)'; + } + } + + if (isset($diakId)) { + // diák adatainak lekérdezése + $Szulok = getSzulok(); + $ADAT['diakAdat'] = getDiakAdatById($diakId); + switch ($ADAT['diakAdat']['statusz']) { + case 'felvételt nyert': + $ADAT['valthatoStatusz'] = array('jogviszonyban van'); + break; + case 'jogviszonya lezárva': + $ADAT['valthatoStatusz'] = array('jogviszonyban van', 'vendégtanuló'); + break; + case 'vendégtanuló': + $ADAT['valthatoStatusz'] = array('jogviszonya lezárva'); + break; + default: + $ADAT['valthatoStatusz'] = array_diff($ADAT['statusz'],array($ADAT['diakAdat']['statusz'],'felvételt nyert')); + break; + } + $ADAT['diakAdat']['anyaNev'] = $Szulok[ $ADAT['diakAdat']['anyaId'] ]['szuleteskoriCsaladinev']? + trim(implode(' ', array( + $Szulok[ $ADAT['diakAdat']['anyaId'] ]['szuleteskoriNevElotag'], + $Szulok[ $ADAT['diakAdat']['anyaId'] ]['szuleteskoriCsaladinev'], + $Szulok[ $ADAT['diakAdat']['anyaId'] ]['szuleteskoriUtonev'] + ))):$Szulok[ $ADAT['diakAdat']['anyaId'] ]['szuloNev']; + $ADAT['diakAdat']['apaNev'] = + trim(implode(' ', array( + $Szulok[ $ADAT['diakAdat']['apaId'] ]['szuleteskoriNevElotag'], + $Szulok[ $ADAT['diakAdat']['apaId'] ]['szuleteskoriCsaladinev'], + $Szulok[ $ADAT['diakAdat']['apaId'] ]['szuleteskoriUtonev'] + ))) . ' - ' . $Szulok[ $ADAT['diakAdat']['apaId'] ]['szuloNev']; + $ADAT['diakAdat']['gondviseloNev'] = $Szulok[ $ADAT['diakAdat']['gondviseloId'] ]['szuleteskoriCsaladinev']? + trim(implode(' ', array( + $Szulok[ $ADAT['diakAdat']['gondviseloId'] ]['szuleteskoriNevElotag'], + $Szulok[ $ADAT['diakAdat']['gondviseloId'] ]['szuleteskoriCsaladinev'], + $Szulok[ $ADAT['diakAdat']['gondviseloId'] ]['szuleteskoriUtonev'] + ))):$Szulok[ $ADAT['diakAdat']['gondviseloId'] ]['szuloNev']; + + $ADAT['diakAdat']['osztaly'] = getDiakOsztalya($diakId,array('tanev'=>$tanev)); + $ADAT['diakAdat']['mindenOsztaly'] = getDiakMindenOsztaly($diakId); + $ADAT['diakJogviszony'] = getDiakJogviszony($diakId); + $ADAT['hozottHianyzas'] = getDiakHozottHianyzas($diakId,array('tanev'=>$tanev)); + $ADAT['diakKepzes'] = getKepzesByDiakId($diakId); + + } + + + $ADAT['osztalyok'] = getOsztalyok($tanev,array('result'=>'assoc', 'minden'=>true)); + + // ToolBar + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'action' => 'tanevValasztas', 'post' => array('tanev','diakId')); + if (!__DIAK) { + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'tanev' => $tanev, 'post' => array('tanev')); + $TOOL['diakSelect'] = array('tipus'=>'cella', 'tanev'=>$tanev, 'osztalyId' => $osztalyId, + 'statusz' => $ADAT['statusz'], + 'post' => array('tanev','osztalyId') + ); + } + if (isset($osztalyId) || isset($diakId)) { + $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella', 'url'=>'index.php?page=naplo&sub=nyomtatas&f=diakAdatlap','post' => array('osztalyId','diakId','tanev')); + if (!__DIAK) { + $TOOL['diakLapozo'] = array('tipus'=>'sor', 'tanev'=>$tanev, 'osztalyId' => $osztalyId, + 'statusz' => $ADAT['statusz'], + 'post' => array('tanev','osztalyId') + ); + } + } + if (__NAPLOADMIN === true) { + $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=intezmeny&f=diakStatusz'), + 'titleConst' => array('_DIAKSTATUSZ'), + 'post' => array('diakId'), + ); + } + + getToolParameters(); + } // naploadmin / vezetőség / titkárság / tanár + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diak.php b/mayor-orig/www/policy/private/naplo/intezmeny/diak.php new file mode 100644 index 00000000..b6ca1349 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diak.php @@ -0,0 +1,30 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && !__DIAK) { + return; + } + + global $fileName, $ADATOK, $MEZO_LISTA, $Szulok, $tanev, $magantanuloUtkozes, $tolDt, $igDt, $ADAT; + global $osztalyId,$diakId; + + + if (is_array($ADAT['diakAdat']) && $skin!='ajax') { + putBizonyitvanyTorzslap($ADAT); + putDiakAdatForm($ADAT, $Szulok, $tanev); + if (_MODOSITHAT===true) { + putDiakJogviszonyValtozas($ADAT); //['diakAdat'] + if ($ADAT['diakAdat']['statusz']=='felvételt nyert') putDiakTorol($ADAT); + } + if (__NAPLOADMIN && __ALLOW_SULIX_REST===true) putSuliXRESTForm($ADAT); + + } elseif (_MODOSITHAT) { + // Új diák felvétele + putUjDiak($ADAT); + } + if (_MODOSITHAT===true || _VEZETOSEG===true) { + putDiakExportForm($ADAT); + } + + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakExport-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakExport-pre.php new file mode 100644 index 00000000..05d8f5d8 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakExport-pre.php @@ -0,0 +1,56 @@ +<?php + + return true; + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/szulo.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/share/date/names.php'); + + $ADAT['formatum'] = readVariable($_POST['formatum'], 'emptystringnull', 'csv', array('csv','xml','pdf')); + if ($ADAT['formatum'] == 'xml') { + $ADAT['mime'] = 'application/vnd.ms-excel'; + $ADAT['formatum'] = 'xml'; + } + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); + $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d')); + $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV); + if ($tanev != __TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV; + + $ADAT['fields'] = getTableFields('diak','naplo_intezmeny',array('osztalyJel','diakNaploSorszam')); + $szuloMezok = getTableFields('szulo'); + foreach (array('anya','apa','gondviselő','nevelő') as $szulo) + foreach ($szuloMezok as $attr => $attrNev) + $ADAT['fields'][ekezettelen($szulo).ucfirst($attr)] = ucfirst($szulo).' '.kisbetus($attrNev); + $ADAT['fields']['telephelyId'] = 'telephelyId'; + foreach ($ADAT['fields'] as $attr => $attrNev) + if (!is_array($_POST['mezok']) || in_array($attr, $_POST['mezok'])) $ADAT['mezok'][$attr] = $attrNev; + + $ADAT['export'] = diakExport($ADAT); + if ($action == 'diakExport') { + + if (is_array($ADAT['export']) && createFile($ADAT)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=diakExport.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime'])); + else echo 'SEMMI: '.__DIAK_EXPORT_FILE; + + } + + + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array('osztalyId')); + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post' => array('osztalyId', 'tanev'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])), + 'igDt' => $TA['zarasDt'], + ); + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tanev', 'dt')); + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakExport.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakExport.php new file mode 100644 index 00000000..fd1c30f9 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakExport.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + +// putDiakExportForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakFelmentes-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakFelmentes-pre.php new file mode 100644 index 00000000..d08aa5f6 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakFelmentes-pre.php @@ -0,0 +1,325 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && !__DIAK) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorDiakModifier.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/share/date/names.php'); + + $ADAT['dt'] = $dt = readVariable($_POST['dt'],'date',date('Y-m-d')); + + if (__DIAK===true) { + $ADAT['diakId'] = $diakId = __USERDIAKID; + } else { + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'],'id'); + $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'],'id'); + if ($diakId!='') { + $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'],'id'); + } else { + $ADAT['diakId'] = $_POST['diakId'] = $diakId = readVariable($_GET['diakId'],'id'); + if ($diakId!='') { + $_r = getDiakOsztalya($diakId,array('result'=>'idonly')); + $ADAT['osztalyId'] = $_POST['osztalyId'] = $osztalyId = $_r[0]; + } + } + } + if ($diakId!='') { + $tolDt = readVariable($_POST['tolDt'],'date',$dt); + $targyId = readVariable($_POST['targyId'],'id'); + $ADAT['diakAdat'] = getDiakAdatById($diakId); + $ADAT['diakTargy'] = getTargyakByDiakId($diakId,array('tolDt'=>$dt,'result'=>'indexed')); + $ADAT['diakTankor'] = getTankorByDiakId($diakId,__TANEV,array('tolDt'=>$dt,'igDt'=>$_TANEV['zarasDt'])); + $ADAT['diakTankorFelmentes'] = getTankorDiakFelmentes($diakId, __TANEV, array('csakId' => true, + 'tolDt' => $_TANEV['kezdesDt'], 'igDt'=>$_TANEV['zarasDt'], 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól','értékelés alól'))); + } + + if (__NAPLOADMIN === true || __VEZETOSEG===true) { + + /* ACTION */ + /* + + 1-es típus a részénél: értékelés alól FM (egész tnév) + záradék + b: záradék + */ + + if ($action=='tipus1' && $targyId!='') { + + $altipus = readVariable($_POST['t1altipus'],'numeric unsigned',null,array(1,2)); + $igDt = readVariable($_POST['igDt'],'date',$_TANEV['zarasDt']); + $iktatoszam = readVariable($_POST['iktatoszam'],'string'); + + if ($altipus=='1') { + // felmentés értékelés alól tolDt-től minden tankörben ahol a tárgy adott + $SQL_fail=false; + $lr = db_connect('naplo_intezmeny'); + db_start_trans($lr); + /* 1. FM rögzítés */ + for($i=0;$i<count($ADAT['diakTankor']); $i++) { + if ($ADAT['diakTankor'][$i]['targyId'] == $_POST['targyId']) { + $_tankorId = $ADAT['diakTankor'][$i]['tankorId']; + $FM = array('diakId'=>$diakId, 'tankorId'=>$_tankorId, 'tolDt'=>$tolDt, 'igDt'=>$igDt, 'felmentesTipus'=>'értékelés alól','iktatoszam'=>$iktatoszam); + $result = tankorDiakFelmentesFelvesz($FM,$lr); + if ($result===false) $SQL_fail = true; + } + } + /* 2. írjuk be neki az FM bejegyzést */ + //találjuk ki milyen félévekre kell beírnunk: + $q = "SELECT szemeszter,zarasDt FROM szemeszter WHERE zarasDt>='%s' AND tanev=%s"; + $v = array($tolDt,__TANEV); + $SZEMESZTEREK = db_query($q, array('fv'=>'-pre','values'=>$v,'result'=>'indexed','modul'=>'naplo_intezmeny'), $lr); + for ($i=0; $i<count($SZEMESZTEREK); $i++) { + $_szemeszter = $SZEMESZTEREK[$i]['szemeszter']; + $_hivatalosDt = $SZEMESZTEREK[$i]['zarasDt']; + $_evfolyamJel = generateDiakEvfolyamJel($diakId,__TANEV,$szemeszter); + // ellenőrizzük a zárójegy táblát, van-e bejegyzése, DE csak a beírandó szemeszter számít + { + $q = "SELECT count(zaroJegyId) AS db FROM zaroJegy WHERE diakId=%u AND targyId=%u AND evfolyamJel='%s' AND felev=%u AND hivatalosDt='%s'"; + $v = array($diakId,$targyId,$_evfolyamJel,$_szemeszter,$_hivatalosDt); + $count = db_query($q, array('fv'=>'-pre','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v), $lr); + } + if ($count==0) { + $JEGY = array(array('targyId'=>$targyId,'zaroJegyId'=>null, 'diakId'=> $diakId, 'jegyTipus'=>'nem értékelhető', 'jegy'=>'1.0', 'tanev'=>__TANEV, 'szemeszter'=>$_szemeszter, 'felev'=>$_szemeszter)); + if (($zaroJegyek=zaroJegyBeiras($JEGY,$lr))===false) { + $_SESSION['alert'][] = 'info:wrong_data:Hiba a jegy rögzítéskor'; + $SQL_fail=true; + } else { + // rögzített zárójegyek idjei... $zaroJegyek + // ezt elmenthetjük az esetleges kapcsolatok megőrzésére + } + } else { + $_SESSION['alert'][] = 'info:wrong_data:A megadott félévre már van rögzítve zárójegye!:'.$_szemeszter; + $SQL_fail=true ; + } + + } // szemeszterek + /* 3. Most már a megfelelő záradékot is rögzíthetjük akár */ + $targyAdat = getTargyById($targyId); + $ZARADEK = array('iktatoszam'=>$iktatoszam,'diakId'=>$diakId, 'dt'=>date('Y-m-d'), 'zaradekIndex'=>$ZaradekIndex['felmentés']['értékelés alól'],'csere'=>array('%tantárgy%'=>$targyAdat['targyNev'])); + if (($zaradekId = zaradekRogzites($ZARADEK,$lr))===false) { + $_SESSION['alert'][] = 'info::Hiba a záradék rögzítésekor!'; + $SQL_fail=true; + } else { + // rögzített záradék idje: $zaradekId + // ezt elmenthetjük az esetleges kapcsolatok megőrzésére + } + if ($SQL_fail===true) db_rollback($lr); + else { + $_SESSION['alert'][] = 'info:success'; + db_commit($lr); + } + db_close($lr); + + } elseif ($altipus=='2') { + // csak záradék rögzítése + $mi = readVariable($_POST['zaradekTxt2'],'string'); + $miatt = readVariable($_POST['zaradekTxt1'],'string'); + $ZARADEK = array('iktatoszam'=>$iktatoszam,'diakId'=>$diakId, 'dt'=>date('Y-m-d'), 'zaradekIndex'=>$ZaradekIndex['felmentés']['értékelés és minősítés alól'],'csere'=>array('%miatt%'=>$miatt,'%mi%'=>$mi)); + if (($zaradekId = zaradekRogzites($ZARADEK,$lr))===false) { + $_SESSION['alert'][] = 'info::Hiba a záradék rögzítésekor!'; + } else { + $_SESSION['alert'][] = 'info:success'; + } + + } + + } elseif ($action=='tipus2' && $tankorId!='') { + + $igDt = readVariable($_POST['igDt'],'date',$_TANEV['zarasDt']); + $nap = readVariable($_POST['nap'],'numeric unsigned'); + $ora = readVariable($_POST['ora'],'numeric unsigned'); + $iktatoszam = readVariable($_POST['iktatoszam'],'string'); + + $ovi = ($_POST['ovi']==='1'); + $forceDel = ($_POST['forceDel']==='1'); + $skipZaradek = ($_POST['skipZaradek']==='1'); + if ($_POST['ovi']==='1') + if (strtotime($tolDt)>strtotime($igDt)) { + $_SESSION['alert'][] = 'info:wrong_data:igDt<tolDt'; + unset($igDt); + } + if ($igDt=='') + $_SESSION['alert'][] = 'info:wrong_data:kötelező igDt paraméter'; + else { + + $SQL_fail=false; + $lr = db_connect('naplo_intezmeny'); + db_start_trans($lr); + + // Teendő: * tankörben FM: óralátogatás alól és értékelés alól, de zárójegyet kap (!) + $FM = array('diakId'=>$diakId, 'tankorId'=>$tankorId, 'tolDt'=>$tolDt, 'igDt'=>$igDt, 'felmentesTipus'=>'óralátogatás alól','nap'=>$nap,'ora'=>$ora,'iktatoszam'=>$iktatoszam); + if ($forceDel===true) $FM['utkozes'] = 'torles'; + $result = tankorDiakFelmentesFelvesz($FM,$lr); + if ($result===false) $SQL_fail = true; + if ($ovi=='1') { + $FM = array('diakId'=>$diakId, 'tankorId'=>$tankorId, 'tolDt'=>$tolDt, 'igDt'=>$igDt, 'felmentesTipus'=>'értékelés alól','iktatoszam'=>$iktatoszam); + if ($forceDel===true) $FM['utkozes'] = 'torles'; + $result = tankorDiakFelmentesFelvesz($FM,$lr); + if ($result===false) $SQL_fail = true; + } + if ($skipZaradek===false) { + $tankorNev = getTankorNevById($tankorId); + $targyAdat = getTargyById((getTankorTargyId($tankorId))); + $targyNev = $targyAdat['targyNev']; + $ZaradekIndex['felmentés'] = ($ovi) ? $ZaradekIndex['felmentés']['óra látogatása alól osztályozóvizsgával'] : $ZaradekIndex['felmentés']['óra látogatása alól']; + if (isset($nap)) $napOraStr[] = ($aHetNapjai[$nap-1]).'i'; + if (isset($ora)) $napOraStr[] = $ora.'.'; + $ZARADEK = array('iktatoszam'=>$iktatoszam,'diakId'=>$diakId, 'dt'=>date('Y-m-d'), 'zaradekIndex'=>$ZaradekIndex['felmentés'],'csere'=>array( + '%tantárgy%'=> "$targyNev ($tankorNev)", + '%ezen óráinak%'=> @implode(' ',$napOraStr), + '%tólDt%'=> $tolDt, + '%igDt%'=> $igDt + )); + if (($zaradekId = zaradekRogzites($ZARADEK,$lr))===false) { + $_SESSION['alert'][] = 'info::Hiba a záradék rögzítésekor!'; + $SQL_fail=true; + } else { + // rögzített záradék idje: $zaradekId (ez nem kell most, kösz) + } + } + + if ($SQL_fail===true) db_rollback($lr); + else db_commit($lr); + db_close($lr); + + } + + + + } elseif ($action=='tipus3' && $targyId!='') { + $iktatoszam = readVariable($_POST['iktatoszam'],'string'); + + $SQL_fail=false; + $lr = db_connect('naplo_intezmeny'); + db_start_trans($lr); + /* 1. léptessük ki a tanköreiből véglegesen */ + for($i=0;$i<count($ADAT['diakTankor']); $i++) { + /* Jó lenne azért ellenőrizni, hogy van-e már ilyen felmentése */ + if ($ADAT['diakTankor'][$i]['targyId'] == $_POST['targyId']) { + $_SESSION['alert'][] = 'info::Kiléptettük:'.$ADAT['diakTankor'][$i]['tankorNev']; + $_tankorId = $ADAT['diakTankor'][$i]['tankorId']; + $DEL = array( + 'tolDt'=>$tolDt,'igDt'=>null,'diakId'=>$diakId, + 'utkozes'=>'torles', + 'tankorId'=>$_tankorId, + 'MIN_CONTROL'=>false + ); + + // meg kell szüntetnünk a tankörcsoportot a jövőbeli tanévekben is... + //$q = "SELECT DISTINCT tanev FROM szemeszter WHERE kezdesDt>='%s' AND statusz='aktív'"; + //$v = array($tolDt); + //$r = db_query($q, array('fv'=>'tankorDiakTorol/getTanev','modul'=>'naplo_intezmeny','values'=>$v, 'result'=>'idonly'),$lr); + $q = "SELECT count(*) AS db FROM ".__TANEVDBNEV.".`tankorCsoport` WHERE tankorId=%u"; + $erintettTankorCsoport = db_query($q, array('debug'=>false,'fv'=>'-pre/tankorCsoport','modul'=>'naplo','result'=>'value','values'=>array($_tankorId)),$lr); + if ($erintettTankorCsoport > 0) $_SESSION['alert'][] = 'info::A tankör ('.$_tankorId.') a tankörcsoportot/okat elhagyta.'; + + $q = "DELETE FROM ".__TANEVDBNEV.".`tankorCsoport` WHERE tankorId=%u"; + $r = db_query($q, array('debug'=>false,'fv'=>'-pre/tankorCsoport','modul'=>'naplo','values'=>array($_tankorId)),$lr); + + if (tankorDiakTorol($DEL,$lr) === false) { + $_SESSION['alert'][] = 'info:wrong_data:Hiba a tankörből való kiléptetéskor'; + $SQL_fail=true; + } + // a tankorDiakFelmentes táblával ebben az esetben mi legyen? a tankorDiakTorol függvénynek + // azzal is kéne foglalkoznia? - talán igen + } + } + /* 2. írjuk be neki az FM bejegyzést */ + //találjuk ki milyen félévekre kell beírnunk: + $q = "SELECT szemeszter,zarasDt FROM szemeszter WHERE zarasDt>='%s' AND tanev=%s"; + $v = array($tolDt,__TANEV); + $SZEMESZTEREK = db_query($q, array('fv'=>'-pre','values'=>$v,'result'=>'indexed','modul'=>'naplo_intezmeny'), $lr); + for ($i=0; $i<count($SZEMESZTEREK); $i++) { + $_szemeszter = $SZEMESZTEREK[$i]['szemeszter']; + $_hivatalosDt= $SZEMESZTEREK[$i]['zarasDt']; + $_evfolyamJel = generateDiakEvfolyamJel($diakId,__TANEV,$szemeszter); + // ellenőrizzük a zárójegy táblát, van-e bejegyzése + { + $q = "SELECT count(zaroJegyId) AS db FROM zaroJegy WHERE diakId=%u AND targyId=%u AND evfolyamJel='%s' AND felev=%u AND hivatalosDt='%s'"; + $v = array($diakId,$targyId,$_evfolyamJel,$_szemeszter,$_hivatalosDt); + $count = db_query($q, array('fv'=>'-pre','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v), $lr); + } + if ($count==0) { + $JEGY = array(array('targyId'=>$targyId,'zaroJegyId'=>null, 'diakId'=> $diakId, 'jegyTipus'=>'nem értékelhető', 'jegy'=>'1.0', 'tanev'=>__TANEV, 'szemeszter'=>$_szemeszter, 'felev'=>$_szemeszter)); + if (($zaroJegyek=zaroJegyBeiras($JEGY,$lr))===false) { + $_SESSION['alert'][] = 'info:wrong_data:Hiba a jegy rögzítéskor'; + $SQL_fail=true; + } else { + // rögzített zárójegyek idjei... $zaroJegyek + } + } else { + $_SESSION['alert'][] = 'info:wrong_data:A megadott félévre már van rögzítve zárójegye!:'.$_szemeszter; + $SQL_fail=true ; + } + + } // szemeszterek + /* 3. Most már a megfelelő záradékot is rögzíthetjük akár */ + $targyAdat = getTargyById($targyId); + $ZARADEK = array('iktatoszam'=>$iktatoszam,'diakId'=>$diakId, 'dt'=>date('Y-m-d'), 'zaradekIndex'=>$ZaradekIndex['felmentés']['tárgy tanulása alól'],'csere'=>array('%tantárgyak neve%'=>$targyAdat['targyNev'])); + if (($zaradekId = zaradekRogzites($ZARADEK,$lr))===false) { + $_SESSION['alert'][] = 'info::Hiba a záradék rögzítésekor!'; + $SQL_fail=true; + } else { + // rögzített záradék idje: $zaradekId + } + + if ($SQL_fail===true) db_rollback($lr); + else db_commit($lr); + db_close($lr); + + /* ReReading Data */ + $ADAT['diakAdat'] = getDiakAdatById($diakId); + $ADAT['diakTargy'] = getTargyakByDiakId($diakId,array('tolDt'=>$dt,'result'=>'indexed')); + $ADAT['diakTankor'] = getTankorByDiakId($diakId,__TANEV,array('tolDt'=>$dt)); + + } // action 3 + elseif ($action=="tankorDiakFelmentesTorol") { + $SQL_fail=false; + $lr = db_connect('naplo_intezmeny'); + db_start_trans($lr); + + $DELFMID = readVariable($_POST['DELFM'],'id'); + for ($i=0; $i<count($DELFMID); $i++) { + tankorDiakFelmentesLezar(array('tankorDiakFelmentesId'=>$DELFMID[$i], 'kiDt'=>$dt), $lr); + $ZARADEK = array('iktatoszam'=>$iktatoszam,'diakId'=>$diakId, 'dt'=>date('Y-m-d'), 'zaradekIndex'=>$ZaradekIndex['felmentés']['törlés'],'csere'=>array('%tankorDiakFelmentesId%'=>$DELFMID[$i],'%dt%'=>$dt)); + if (($zaradekId = zaradekRogzites($ZARADEK,$lr))===false) { + $_SESSION['alert'][] = 'info::Hiba a záradék rögzítésekor!'; + $SQL_fail=true; + } + } + if ($SQL_fail===true) db_rollback($lr); + else db_commit($lr); + db_close($lr); + } + } + /* End of ACTION */ + $ADAT['diakZaradek'] = getDiakZaradekok($diakId, array('tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'])); + $ADAT['tankorDiakFelmentes'] = getTankorDiakFelmentes($diakId, __TANEV,array('csakId' => false, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól','értékelés alól')) ); + + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post' => array('osztalyId', 'tanev'), + 'paramName' => 'dt', + 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])), + 'igDt' => $_TANEV['zarasDt'], + 'post'=>array('osztalyId','diakId') + ); + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('dt')); + $TOOL['diakSelect'] = array('tipus'=>'cella', 'tanev'=>$tanev, 'osztalyId' => $osztalyId, +// 'statusz' => $ADAT['statusz'], + 'post' => array('osztalyId','dt') + ); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=felmentes'), + 'titleConst' => array('_FELMENTES'), 'post' => array('diakId','osztalyId')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakFelmentes.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakFelmentes.php new file mode 100644 index 00000000..5628ebe8 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakFelmentes.php @@ -0,0 +1,13 @@ +<?php + + global $ADAT; + + if ($ADAT['diakId']!='') { + if (__NAPLOADMIN===true || __VEZETOSEG===true) { + putDiakFelmentesForm($ADAT); + } else { + putDiakFelmentesAdatok($ADAT); + } + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakStatusz-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakStatusz-pre.php new file mode 100644 index 00000000..6e8e23b3 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakStatusz-pre.php @@ -0,0 +1,117 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__TITKARSAG) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/diakModifier.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/zaradek.php'); + + $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', defined('__TANEV')?__TANEV:null ); + $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'],'id', readVariable($_GET['diakId'], 'id')); + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'],'numeric unsigned'); + $ADAT['statusz'] = getEnumField('naplo_intezmeny', 'diak', 'statusz'); + + if (isset($diakId)) { + + $ADAT['statusz2zaradek'] = array( + 'jogviszonyban van' => array_values($ZaradekIndex['jogviszony megnyitás']), + 'magántanuló' => array($ZaradekIndex['jogviszony változás']['magántanuló']), + 'vendégtanuló' => array(), + 'jogviszonya felfüggesztve' => array($ZaradekIndex['jogviszony változás']['felfüggesztés']), + 'jogviszonya lezárva' => array_values($ZaradekIndex['jogviszony lezárás']) + ); + $ADAT['jogviszonyZaradekok'] = array_merge( + $ADAT['statusz2zaradek']['jogviszonyban van'], + $ADAT['statusz2zaradek']['magántanuló'], + $ADAT['statusz2zaradek']['jogviszonya felfüggesztve'], + $ADAT['statusz2zaradek']['jogviszonya lezárva'] + ); + + if ($action == 'diakAdatModositas') { + $Param = array( + 'diakId' => $diakId, + 'jogviszonyKezdete' => readVariable($_POST['jogviszonyKezdete'], 'date') + ); + //if (isset($Param['jogviszonyKezdete'])) + diakAdatModositas($Param); + } elseif ($action == 'diakJogviszonyTorles') { + $Param = array( + 'diakId' => $diakId, + 'dt' => readVariable($_POST['dt'], 'date'), + 'statusz' => readVariable($_POST['statusz'], 'enum', null, $ADAT['statusz']), + 'zaradekId' => readVariable($_POST['zaradekId'], 'id') + ); + diakJogviszonyBejegyzesTorles($Param); + } elseif ($action == 'diakZaradek') { + $Param = array( + 'diakId' => $diakId, + 'dt' => readVariable($_POST['dt'], 'date'), + 'zaradekIndex' => readVariable($_POST['zaradekIndex'], 'numeric unsigned', null, $ADAT['jogviszonyZaradekok']), + 'zaradekId' => readVariable($_POST['zaradekId'], 'id'), + 'values' => readVariable($_POST['values'], 'string') + ); + $ok = true; + $tmp = explode('%', $Zaradek[ $Param['zaradekIndex'] ]['szoveg']); + $Param['params'] = array(); + for ($i=1; $i < count($tmp); $i = $i+2) $Param['params'][] = $tmp[$i]; + $Param['csere'] = array(); + for ($i = 0; $i < count($Param['params']); $i++) { + $Param['csere'][ '%'.$Param['params'][$i].'%' ] = $Param['values'][$i]; + if ($Param['values'][$i] == '') $ok = false; + } + if ($ok) { + if (zaradekRogzites($Param)) { $_SESSION['alert'][] = 'info:success'; } + } else { + $_SESSION['alert'][] = 'message:empty_field'; + } + } + + $ADAT['diakAdat'] = getDiakAdatById($diakId); + $ADAT['diakStatusz'] = getDiakJogviszony($diakId); + $ADAT['diakZaradekok'] = getDiakZaradekok($diakId, array('result' => 'multiassoc', 'keyfield' => 'dt')); + $ADAT['zaradekok'] = getZaradekok(); + + // záradékok státusz változásokhoz rendelése + foreach ($ADAT['diakStatusz'] as $index => $djAdat) { + if (is_array($ADAT['diakZaradekok'][ $djAdat['dt'] ])) { + foreach ($ADAT['diakZaradekok'][ $djAdat['dt'] ] as $j => $zAdat) { + if (in_array($zAdat['zaradekIndex'], $ADAT['statusz2zaradek'][ $djAdat['statusz'] ])) { + $ADAT['diakStatusz'][$index]['zaradek'] = $zAdat; + unset($ADAT['diakZaradekok'][ $djAdat['dt'] ][$j]); + break; + } + } + } + } + + } else { + + $ADAT['hibas'] = getHibasJogviszony(); + + } + + // ToolBar + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'action' => 'tanevValasztas', 'post' => array('tanev','diakId')); + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'tanev' => $tanev, 'post' => array('tanev')); + $TOOL['diakSelect'] = array('tipus'=>'cella', 'tanev'=>$tanev, 'osztalyId' => $osztalyId, + 'statusz' => $ADAT['statusz'], + 'post' => array('tanev','osztalyId') + ); +// EZ MI?! (maxValue?!) + $TOOL['szamSelect'] = array('tipus' => 'cella', 'title' => 'DIAKIDTITLE', 'minValue' => 1, 'maxValue' => 3000, 'paramName' => 'diakId', 'post' => array('tanev','osztalyId')); +/* $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=intezmeny&f=diak'), + 'titleConst' => array('_DIAKADATLAP'), + 'post' => array('diakId'), + ); +*/ getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakStatusz.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakStatusz.php new file mode 100644 index 00000000..68403bac --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakStatusz.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['diakId'])) putDiakJogviszonyForm($ADAT); + else putHibasJogviszony($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakSzulo-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakSzulo-pre.php new file mode 100644 index 00000000..f16dc808 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakSzulo-pre.php @@ -0,0 +1,98 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && !__DIAK) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/szulo.php'); + + $Tipusok = array('anya','apa','gondviselo','nevelo'); + $ADAT['statuszTipusok'] = getEnumField('naplo_intezmeny', 'szulo', 'statusz'); + + if (__DIAK===true) $ADAT['diakId'] = $diakId = __USERDIAKID; + else $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'], 'numeric unsigned', readVariable($_GET['diakId'], 'numeric unsigned', null)); + $ADAT['$szuloId'] = $szuloId = readVariable($_POST['szuloId'], 'numeric unsigned', readVariable($_GET['szuloId'], 'numeric unsigned', null)); + $ADAT['tipus'] = $tipus = readVariable($_POST['tipus'], 'enum', readVariable($_GET['tipus'], 'enum', null, $Tipusok), $Tipusok); + $ADAT['kozteruletJelleg'] = getEnumField('naplo_intezmeny', 'diak', 'lakhelyKozteruletJelleg'); + + if (isset($szuloId)) { + $ret = getSzulokDiakjai(array($szuloId)); + $ADAT['szuloDiakjai'] = $ret[$szuloId]; + $szDiakIds = array(); + for ($i = 0; $i < count($ADAT['szuloDiakjai']); $i++) $szDiakIds[] = $ADAT['szuloDiakjai'][$i]['diakId']; + if (!isset($diakId)) $ADAT['diakId'] = $diakId = $ADAT['szuloDiakjai'][0]['diakId']; + elseif (!in_array($diakId, $szDiakIds)) { + unset($szuloId); unset($ADAT['$szuloId']); unset($_POST['szuloId']); unset($ADAT['szuloDiakjai']); + } + } + if (isset($diakId)) { + $diakAdat = getDiakAdatById($diakId); + if (isset($szuloId) && $diakAdat[$tipus.'Id'] != $szuloId) { + if ($diakAdat['anyaId'] == $szuloId) $tipus='anya'; + elseif ($diakAdat['apaId'] == $szuloId) $tipus='apa'; + elseif ($diakAdat['gondviseloId'] == $szuloId) $tipus='gondviselo'; + elseif ($diakAdat['neveloId'] == $szuloId) $tipus='nevelo'; + } + } + + if (!isset($_POST['semmi'])) { + if (isset($_POST['anya'])) $tipus = 'anya'; + elseif (isset($_POST['apa'])) $tipus = 'apa'; + elseif (isset($_POST['gondviselo'])) $tipus = 'gondviselo'; + elseif (isset($_POST['nevelo'])) $tipus = 'nevelo'; + } + $ADAT['$szuloId'] = $szuloId = $_POST['szuloId'] = $diakAdat[$tipus.'Id']; + + define('_MODOSITHAT',(__NAPLOADMIN || __TITKARSAG)); + // ------------- action ------------------ // + if (_MODOSITHAT && $action=='diakSzuloModositas') { + + if ( + !isset($_POST['semmi']) && + (isset($_POST['anya']) || isset($_POST['apa']) || isset($_POST['gondviselo']) || isset($_POST['nevelo'])) + ) { + // echo 'lap váltás'; + } else { + +// if (!isset($_POST['szuloId']) || $_POST['szuloId'] == '') { + $FIELDS = getTableFields('szulo'); + foreach ($FIELDS as $attr => $name) { + if (!isset($ADAT[$attr])) + if ($attr == 'szuletesiEv') $ADAT[$attr] = readVariable($_POST[$attr], 'numeric unsigned', null, array(), '1900<$return && $return<2100'); + else $ADAT[$attr] = readVariable($_POST[$attr], 'sql', null); + } + if (!isset($szuloId)) { + $ujSzuloId = readVariable($_POST['ujSzuloId'], 'numeric unsigned', null); + if (isset($ujSzuloId)) { + $szuloId = szuloHozzarendeles($diakId, $tipus, $ujSzuloId); + } else { + $szuloId = ujSzulo($ADAT, $FIELDS); // ez rendben van, de ajaxnál??? + } + if ($szuloId) $diakAdat[$tipus.'Id'] = $szuloId; + } else { + if (!isset($_POST['semmi']) && isset($_POST['torles'])) { + if (szuloHozzarendelesTorlese($diakId, $tipus)) unset($diakAdat[$tipus.'Id']); + } else { + if (__NAPLOADMIN !== true) unset($ADAT['userAccount']); + szuloAdatModositas($ADAT, $FIELDS); + } + } + + } + + } + // ------------- action ------------------ // + + $Szulok = getSzulok(); + + $TOOL['diakSelect'] = array('tipus'=>'cella', 'post'=>array('szuloId','tipus')); + $TOOL['szuloSelect'] = array('tipus'=>'cella', 'szulok'=>$Szulok, 'post'=>array('')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakSzulo.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakSzulo.php new file mode 100644 index 00000000..12a53b54 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakSzulo.php @@ -0,0 +1,13 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $Szulok, $tipus, $diakAdat, $ADAT; + + if (is_array($diakAdat)) putDiakSzulo($diakAdat, $Szulok, $tipus, $ADAT); +// if (isset($tipus)); +// else +// echo 'KERESŐ, vagy ÚJ'; + + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakTankor-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakTankor-pre.php new file mode 100644 index 00000000..f4ef9295 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakTankor-pre.php @@ -0,0 +1,116 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/diak.php'); +# require_once('include/modules/naplo/share/targy.php'); +# require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/tankorDiakModifier.php'); + require_once('include/modules/naplo/share/hianyzasModifier.php'); + require_once('include/modules/naplo/share/jegyModifier.php'); + require_once('include/modules/naplo/share/jegy.php'); + + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/share/date/names.php'); + + $refDt = readVariable($_POST['refDt'],'datetime',$_TANEV['kezdesDt']); + $osztalyId = readVariable($_POST['osztalyId'],'id',null); + $ADAT['osztalyId'] = $osztalyId; + $forceDel = (readVariable($_POST['forceDel'],'numeric unsigned',null)=='1') ? true:false; + + $diakId = readVariable($_POST['diakId'], 'id', readVariable($_GET['diakId'],'id')); + $ADAT['diakId'] = $diakId; + if (isset($_POST['tanev']) && $_POST['tanev'] != '') $tanev = $_POST['tanev']; + if (!isset($tanev)) $tanev=__TANEV; + $ADAT['tanev'] = $tanev; + + //$igDt = date('Y-m-d', strtotime('-1day',strtotime($refDt))); + + if ($tanev!=__TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV; + +if (isset($refDt)) { + + $ADAT['refDt'] = $refDt; + + define('__MODOSITHATO',(( (__NAPLOADMIN || __VEZETOSEG) && ($TA['statusz']=='aktív' || (__FOLYO_TANEV && $tanev==__TANEV))))); + + if ($action=='do' && __MODOSITHATO) { + for($i=0; $i<count($_POST['UJtankorId']); $i++) { + $_D = array('tankorId'=>$_POST['UJtankorId'][$i],'diakId'=>$diakId,'tolDt'=>$refDt,'jelenlet'=>'kötelező','kovetelmeny'=>'jegy'); + tankorDiakFelvesz($_D); + } + for($i=0; $i<count($_POST['DELtankorId']); $i++) { + $_D = array('tankorId'=>$_POST['DELtankorId'][$i],'diakId'=>$diakId,'tolDt'=>$refDt); + if ($forceDel===true) { + $_D['utkozes'] = 'torles'; + define('__VEZETOSEG_TOROLHET_HIANYZAST',true); // Hiányzást - adminon kívül - alap helyzetben csak a rögzítő tanár törölhet! + } + $_result = tankorDiakTorol($_D); + if ($_result===true) $_SESSION['alert'][] = 'info:done:'.$_POST['DELtankorId'][$i]; + else $_SESSION['alert'][] = 'alert:rollback:tankorId='.$_POST['DELtankorId'][$i]; + } + for ($i=0; $i<count($result); $i++) { + + } + + } elseif ($action=='do') { + $_SESSION['alert'][] = 'info:deadline_expired:'; + } + + + if ($diakId!='') { + $ADAT['osztalyok'] = $osztalyIdk = getDiakOsztalya($diakId, array('tanev'=>$tanev,'tolDt'=>$refDt)); + $ADAT['tankorok']['diake'] = getTankorByDiakId($diakId,$tanev,array('tolDt'=>$refDt,'igDt'=>$refDt)); + /* Óraszámok megállapítása */ + $sum = 0; + if (is_array($ADAT['tankorok']['diake'])) + foreach ($ADAT['tankorok']['diake'] as $_ti => $TA) { + $_tankorId = $TA['tankorId']; + $a = getTankorOraszamByTanev($tanev,$_tankorId); + $ADAT['diakTankorOraszam'][$TA['tankorTipus']] += $a[$_tankorId]; + $sum += $a[$_tankorId]; + $ADAT['tankorok']['diake'][$_ti]['hetiOraszam'] = $a[$_tankorId]; + } + /* --- */ + $ADAT['diakOsszOraszam'] = ($sum); + } + if (is_array($osztalyIdk)) { + for ($i=0; $i<count($osztalyIdk); $i++) { + $ADAT['tankorok']['osztalye'][ $osztalyIdk[$i]['osztalyId'] ] = getTankorByOsztalyId($osztalyIdk[$i]['osztalyId'],$tanev,array('tanarral'=>true)); + } + } + +} + + // ------------------------------------------------------------------------- + + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post'=>array('diakId','tanev','osztalyId'), + 'paramName' => 'refDt', 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])), + 'igDt' => $TA['zarasDt'], +// 'napTipusok' => array('tanítási nap', 'speciális tanítási nap') + ); + + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'tanev' => $tanev, 'post' => array('tanev','refDt')); + $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('tanev','refDt','osztalyId')); + // $TOOL['tanarSelect'] = array('tipus'=>'sor','paramName'=>'tanarId', 'post'=>array()); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=tankor'), + 'titleConst' => array('_TANKOR'), 'post' => array('tankorId','mkId','targyId')); + + $TOOL['tanevLapozo'] = array('tipus'=>'sor','paramName'=>'tanev', 'post'=>array('diakId'), + 'tanev'=>$tanev); + + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakTankor.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakTankor.php new file mode 100644 index 00000000..de5d2785 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakTankor.php @@ -0,0 +1,13 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (__USERADMIN || __VEZETOSEG || __TANAR) { + + if (is_array($ADAT['osztalyok'])) putDiakTankorForm($ADAT); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakTankorJelentkezes-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakTankorJelentkezes-pre.php new file mode 100644 index 00000000..0c6f8821 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakTankorJelentkezes-pre.php @@ -0,0 +1,113 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__DIAK && !__TANAR) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/tankorDiakModifier.php'); + require_once('include/share/date/names.php'); + + if (__DIAK) $diakId = __USERDIAKID; + else $diakId = readVariable($_POST['diakId'],'id'); + + $ADAT['diakId'] = $diakId; + + global $_TANEV; + + if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') + $szemeszterId = readVariable($_POST['szemeszterId'],'id'); + else { + if (__FOLYO_TANEV) $_felev = getFelevByDt(date('Y-m-d')); else $_felev = count($_TANEV['szemeszter']); + $szemeszterId = getKovetkezoSzemeszterId($_TANEV['szemeszter'][$_felev]['tanev'],$_TANEV['szemeszter'][$_felev]['szemeszter'], true); + if (is_null($szemeszterId)) $szemeszterId = getSzemeszterIdByDt(date('Y-m-d')); + } + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + $ADAT['tanev'] = $tanev = $ADAT['szemeszterAdat']['tanev']; + $ADAT['szemeszterId'] = $szemeszterId; + + //igaziból nem kéne blokkba szervezni... var_dump($ADAT['szemeszterAdat']['statusz']=='aktív'); + $refDt = ($ADAT['szemeszterAdat']['kezdesDt']); + // csak a félévhez tartozó időszakok érnek, a tanév más szemesztereihez nem! + $IDO = getIdoszakByTanev(array('tanev' => $tanev, 'szemeszter'=> $ADAT['szemeszterAdat']['szemeszter'],'tipus' => array('előzetes tárgyválasztás','tárgyválasztás'), 'tolDt' => '', 'igDt' => '', 'return' => 'assoc')); + if (__VEZETOSEG===true || __NAPLOADMIN===true) { + define('__TARGYVALASZTAS',true); define('__MINCONTROL',false); + } else { + if (is_array($IDO) && count($IDO)>0) { + foreach ( $IDO as $idoszakId => $IDATA ) { + if ( strtotime($IDATA['előzetes tárgyválasztás'][0]['tolDt']) <= time() && time()<=strtotime($IDATA['előzetes tárgyválasztás'][0]['igDt'])) { + define('__TARGYVALASZTAS',true); define('__MINCONTROL',false); break; + } elseif ( strtotime($IDATA['tárgyválasztás'][0]['tolDt']) <= time() && time()<=strtotime($IDATA['tárgyválasztás'][0]['igDt'])) { + define('__TARGYVALASZTAS',true); define('__MINCONTROL',true); break; + } else { + // loop(); + } + } + } + } + if (!defined('__TARGYVALASZTAS')) { define('__TARGYVALASZTAS',false); define('__MINCONTROL',false); } + + if (__TARGYVALASZTAS===true) { + + } else { + $_SESSION['alert'][] = 'info:nem_targyvalasztasi_idoszak:'; + } + + /* Képzésre vonatkozó beállítások */ + $ADAT['diakKepzes'] = getKepzesByDiakId($diakId, array('result'=>'assoc','dt'=>$refDt)); + for ($i=0; $i<count($ADAT['diakKepzes'][$diakId]); $i++) { + $K = $ADAT['diakKepzes'][$diakId][$i]; + /* Évfolyam meghatározás ha lehet (adott tanév!) */ + $ADAT['diakOsztaly'] = getDiakokOsztalyai(array($diakId), array('tanev' => $tanev)); + for($j=0; $j<count($ADAT['diakOsztaly'][$diakId]); $j++) { + $ADAT['diakEvfolyam'][] = getEvfolyam($ADAT['diakOsztaly'][$diakId][$j], $tanev); + } + if (count($ADAT['diakEvfolyam'])>1) $_SESSION['alert'][] = ':multi_evfolyam:'; + $ADAT['kepzesOraszam'][$K['kepzesId']] = getOraszamByKepzes($K['kepzesId'],array('evfolyam'=>$ADAT['diakEvfolyam'][0], 'szemeszter'=>$ADAT['szemeszterAdat']['szemeszter'])); + } + //var_dump($ADAT['kepzesOraszam']['kötelezően választható']['sum']); + //var_dump($ADAT['kepzesOraszam']['szabadon választható']['sum']); + /* Képzés vége */ + + //define('__MODOSITHATO',(( (__NAPLOADMIN || __VEZETOSEG) && ($ADAT['szemeszterAdat']['statusz']=='aktív' || (__FOLYO_TANEV && $tanev==__TANEV))))); + + if ($action=='do' && __TARGYVALASZTAS===true && (__VEZETOSEG===true || __NAPLOADMIN===true || __DIAK===true)) { + foreach($_POST as $pNev => $pErtek) { + if (substr($pNev,0,strlen("UJTANKORID")) == 'UJtankorId') { + $_D = array('tankorId'=>intval(substr($pNev,10)),'diakId'=>$diakId,'tolDt'=> $refDt); + tankorDiakFelvesz($_D); + } elseif (substr($pNev,0,strlen("DELTANKORID")) == 'DELtankorId') { + $_D = array('tankorId'=>intval(substr($pNev,11)),'diakId'=>$diakId,'tolDt'=>$refDt,'MIN_CONTROL'=>__MINCONTROL); + tankorDiakTorol($_D); + } + } + } elseif ($action=='do') { + $_SESSION['alert'][] = 'info:deadline_expired:'; + } + + if ($diakId!='') { + $ADAT['osztalyok'] = $osztalyIdk = getDiakOsztalya($diakId, array('tanev'=>$tanev,'result'=>'csakid')); + $ADAT['tankorok']['diake'] = getTankorByDiakId($diakId,$tanev,array('tolDt'=>$refDt,'igDt'=>$refDt)); + } + $ADAT['tankorBlokkok'] = getTankorBlokkok($tanev); + if ($diakId=='' OR ($diakId!='' && is_array($ADAT['osztalyok']) && count($ADAT['osztalyok'])!=0)) + $ADAT['tankorok']['valaszthato'] = getValaszthatoTankorok($tanev,$ADAT['szemeszterAdat']['szemeszter'], $ADAT['osztalyok']); + if (__DIAK!==true) $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('tanev','szemeszterId','refDt')); + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName'=>'szemeszterId', 'post'=>array('diakId'), + 'tanev'=>$tanev, 'statusz'=>array('aktív')); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=tankor'), + 'titleConst' => array('_TANKOR'), 'post' => array('tankorId','mkId','targyId')); + + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/diakTankorJelentkezes.php b/mayor-orig/www/policy/private/naplo/intezmeny/diakTankorJelentkezes.php new file mode 100644 index 00000000..52819ca3 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/diakTankorJelentkezes.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putDiakTankorJelentkezesForm($ADAT); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/felmentes-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/felmentes-pre.php new file mode 100644 index 00000000..3dfae44a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/felmentes-pre.php @@ -0,0 +1,67 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && !__DIAK) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorDiakModifier.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/share/date/names.php'); + + $ADAT['dt'] = $dt = readVariable($_POST['dt'],'date',date('Y-m-d')); + + if (__DIAK===true) { + $ADAT['diakId'] = $diakId = __USERDIAKID; + } else { + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'],'id'); + $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'],'id'); + $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'],'id'); + } + $tolDt = readVariable($_POST['tolDt'],'date',$dt); + + $ADAT['diakAdat'] = getDiakok(array('result'=>'assoc')); + + if ($osztalyId!='') { + //$targyId = readVariable($_POST['targyId'],'id'); + //$ADAT['diakAdat'] = getDiakAdatById($diakId); + //$ADAT['diakTargy'] = getTargyakByDiakId($diakId,array('tolDt'=>$dt,'result'=>'indexed')); + //$ADAT['diakTankor'] = getTankorByDiakId($diakId,__TANEV,array('tolDt'=>$dt,'igDt'=>$_TANEV['zarasDt'])); + $ADAT['felmentes'] = getFelmentes(array('csakId' => false, + 'osztalyId'=>$osztalyId, + 'tolDt' => $_TANEV['kezdesDt'], 'igDt'=>$_TANEV['zarasDt'], 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól','értékelés alól'))); + } else { + $ADAT['felmentes'] = getFelmentes(array('csakId' => false, + 'tolDt' => $_TANEV['kezdesDt'], 'igDt'=>$_TANEV['zarasDt'], 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól','értékelés alól'))); + } + if (__NAPLOADMIN === true || __VEZETOSEG===true) { + } +/* ------------- */ + $ADAT['diakZaradek'] = getDiakZaradekok($diakId, array('tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'])); + $ADAT['tankorDiakFelmentes'] = getTankorDiakFelmentes($diakId, __TANEV,array('csakId' => false, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól','értékelés alól')) ); + +/* + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post' => array('osztalyId', 'tanev'), + 'paramName' => 'dt', + 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])), + 'igDt' => $_TANEV['zarasDt'], + 'post'=>array('osztalyId','diakId') + ); +*/ + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('dt')); + $TOOL['diakSelect'] = array('tipus'=>'cella', 'tanev'=>$tanev, 'osztalyId' => $osztalyId, +// 'statusz' => $ADAT['statusz'], + 'post' => array('osztalyId','dt') + ); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/felmentes.php b/mayor-orig/www/policy/private/naplo/intezmeny/felmentes.php new file mode 100644 index 00000000..84bcb21d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/felmentes.php @@ -0,0 +1,11 @@ +<?php + + global $ADAT; + + if (__NAPLOADMIN===true || __VEZETOSEG===true) { + putFelmentes($ADAT); + } else { + //putFelmentes($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/intezmeny-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/intezmeny-pre.php new file mode 100644 index 00000000..46805e9e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/intezmeny-pre.php @@ -0,0 +1,5 @@ +<?php + + header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas')); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/intezmeny.php b/mayor-orig/www/policy/private/naplo/intezmeny/intezmeny.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/intezmeny.php diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/kepesitesek-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/kepesitesek-pre.php new file mode 100644 index 00000000..2fc0ba1c --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/kepesitesek-pre.php @@ -0,0 +1,92 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/kepesites.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tanar.php'); + + $ADAT['targyak'] = getTargyak(); + foreach ($ADAT['targyak'] as $idx => $tAdat) $ADAT['targyIds'][] = $tAdat['targyId']; + $ADAT['tanarok'] = getTanarok(); + foreach ($ADAT['tanarok'] as $idx => $tAdat) $ADAT['tanarIds'][] = $tAdat['tanarId']; + $ADAT['vegzettsegek'] = getEnumField('naplo_intezmeny', 'kepesites', 'vegzettseg'); + $ADAT['fokozatok'] = getEnumField('naplo_intezmeny', 'kepesites', 'fokozat'); + $ADAT['specializaciok'] = getEnumField('naplo_intezmeny', 'kepesites', 'specializacio'); + foreach ($ADAT['kepesitesek'] as $idx => $kAdat) $ADAT['kepesitesIds'][] = $kAdat['kepesitesId']; + + $ADAT['kepesitesId'] = $kepesitesId = readVariable($_POST['kepesitesId'], 'id', null, $ADAT['kepesitesIds']); + if (isset($kepesitesId)) { + + if ($action == 'kepesitesModositas') { + // Alap adatok módosítása + $kepesitesNev = readVariable($_POST['kepesitesNev'], 'string'); + $vegzettseg = readVariable($_POST['vegzettseg'], 'enum', null, $ADAT['vegzettsegek']); + $fokozat = readVariable($_POST['fokozat'], 'enum', null, $ADAT['fokozatok']); + $specializacio = readVariable($_POST['specializacio'], 'enum', null, $ADAT['specializaciok']); + if (isset($kepesitesNev) && isset($vegzettseg) && isset($fokozat) && isset($specializacio)) { + $ok = kepesitesModositas($kepesitesId, $vegzettseg, $fokozat, $specializacio, $kepesitesNev); + if ($ok) $_SESSION['alert'][] = 'info:success'; + } + // Tárgy hozzárendelés + $targyId = readVariable($_POST['targyId'], 'id', null, $ADAT['targyIds']); + if (isset($targyId)) { + $ok = kepesitesTargyHozzarendeles($kepesitesId, $targyId); + if ($ok) $_SESSION['alert'][] = 'info:success'; + } + // Tanár hozzárendelés + $tanarId = readVariable($_POST['tanarId'], 'id', null, $ADAT['tanarIds']); + if (isset($tanarId)) { + $ok = tanarKepesitesHozzarendeles($tanarId, $kepesitesId); + if ($ok) $_SESSION['alert'][] = 'info:success'; + } + } elseif ($action == 'delTargy') { + + $targyId = readVariable($_POST['targyId'], 'id', null, $ADAT['targyIds']); + $ok = kepesitesTargyTorles($kepesitesId, $targyId); + $_JSON = array( + 'result' => ($ok?'success':'fail'), + 'targyId' => $targyId, + 'kepesitesId' => $kepesitesId + ); + + } elseif ($action == 'delTanar') { + + $tanarId = readVariable($_POST['tanarId'], 'id', null, $ADAT['tanarIds']); + $ok = tanarKepesitesTorles($tanarId, $kepesitesId); + $_JSON = array( + 'result' => ($ok?'success':'fail'), + 'tanarId' => $tanarId, + 'kepesitesId' => $kepesitesId + ); + + } + + } elseif ($action == 'ujKepesites') { + $kepesitesNev = readVariable($_POST['kepesitesNev'], 'string'); + $vegzettseg = readVariable($_POST['vegzettseg'], 'enum', null, $ADAT['vegzettsegek']); + $fokozat = readVariable($_POST['fokozat'], 'enum', null, $ADAT['fokozatok']); + $specializacio = readVariable($_POST['specializacio'], 'enum', null, $ADAT['specializaciok']); + if (isset($kepesitesNev) && isset($vegzettseg) && isset($fokozat) && isset($specializacio)) { + $ADAT['kepesitesId'] = $kepesitesId = ujKepesites($vegzettseg, $fokozat, $specializacio, $kepesitesNev); + if ($kepesitesId) $_SESSION['alert'][] = 'info:success'; + } + } + + + $ADAT['kepesitesek'] = getKepesitesek(); + if (isset($kepesitesId)) { + $i=0; + while ($i < count($ADAT['kepesitesek']) && $ADAT['kepesitesek'][$i]['kepesitesId'] != $kepesitesId) $i++; + $ADAT['kepesitesAdat'] = $ADAT['kepesitesek'][$i]; + $ADAT['kepesitesAdat']['targyak'] = getKepesitesTargy($kepesitesId); + $ADAT['kepesitesAdat']['tanarok'] = getKepesitesTanar($kepesitesId); + } + + $TOOL['kepesitesSelect'] = array('tipus'=>'cella', 'paramName'=>'kepesitesId','paramDesc'=>'kepesitesNev','title'=>'KEPESITES','adatok'=>$ADAT['kepesitesek'],'post' => array()); + + } +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/kepesitesek.php b/mayor-orig/www/policy/private/naplo/intezmeny/kepesitesek.php new file mode 100644 index 00000000..76b8e11b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/kepesitesek.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['kepesitesId'])) putKepesitesAdat($ADAT); + else putUjKepesites($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/kepzes-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/kepzes-pre.php new file mode 100644 index 00000000..152e8e75 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/kepzes-pre.php @@ -0,0 +1,60 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + $tanev = __TANEV; + + $kepzesId = readVariable($_POST['kepzesId'], 'numeric unsigned', null); + if (isset($kepzesId)) { + $ADAT['kepzesAdat'] = getKepzesAdatById($kepzesId); + } + $ADAT['osztalyok'] = getOsztalyok($tanev, array('result' => 'assoc', 'minden'=>true)); + $ADAT['osztalyJelleg'] = getOsztalyJellegek(); + + if ($action == 'ujKepzes') { + $kepzesNev = readVariable($_POST['kepzesNev'], 'string', null); + $tolTanev = readVariable($_POST['tolTanev'], 'numeric unsigned', null); + $osztalyJellegId = readVariable($_POST['osztalyJellegId'], 'id', null); + if (isset($kepzesNev) && isset($tolTanev) && isset($osztalyJellegId)) $kepzesId = ujKepzes($kepzesNev, $tolTanev, $osztalyJellegId); + else $_SESSION['alert'][] = 'message:wrong_data'; + if ($kepzesId) { + $ADAT['kepzesAdat'] = getKepzesAdatById($kepzesId); + } + } elseif ($action == 'kepzesModositas') { + $kepzesNev = readVariable($_POST['kepzesNev'], 'string', null); + $tolTanev = readVariable($_POST['tolTanev'], 'numeric unsigned', null); + $osztalyJellegId = readVariable($_POST['osztalyJellegId'], 'id', null); + $osztalyIds = readVariable($_POST['osztalyId'], 'id'); + $delOsztalyIds = readVariable($_POST['delOsztalyId'], 'id'); + if (isset($kepzesNev) && isset($tolTanev)) + $MODOSIT = array('kepzesId'=>$kepzesId, + 'kepzesNev'=>$kepzesNev, + 'tolTanev'=>$tolTanev, + 'osztalyIds'=>$osztalyIds, + 'delOsztalyIds'=>$delOsztalyIds, + 'osztalyJellegId'=>$osztalyJellegId + ); + if (isset($kepzesNev) && isset($tolTanev)) kepzesModositas($MODOSIT); + else $_SESSION['alert'][] = 'message:wrong_data'; + $ADAT['kepzesAdat'] = getKepzesAdatById($kepzesId); + } elseif ($action == 'kepzesEles') { + $kepzesEles = readVariable($_POST['kepzesEles'],'bool',null); // bool + kepzesEles($kepzesId,(($kepzesEles-1)*(-1))); + $ADAT['kepzesAdat'] = getKepzesAdatById($kepzesId); + } + + $TOOL['kepzesSelect'] = array('tipus'=>'cella', 'post' => array()); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=osztaly','index.php?page=naplo&sub=intezmeny&f=kepzesOraterv'), + 'titleConst' => array('_OSZTALYHOZ','_KEPZESORATERVHEZ'), 'post' => array('kepzesId'), + 'paramName'=>'kepzesId'); // paramName ? + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/kepzes.php b/mayor-orig/www/policy/private/naplo/intezmeny/kepzes.php new file mode 100644 index 00000000..c55395ac --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/kepzes.php @@ -0,0 +1,14 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (is_array($ADAT['kepzesAdat'])) { + putKepzesForm($ADAT); + kepzesElesForm($ADAT); + } + ujKepzesForm($ADAT); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/kepzesOraterv-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/kepzesOraterv-pre.php new file mode 100644 index 00000000..f82ea1cf --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/kepzesOraterv-pre.php @@ -0,0 +1,114 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/file.php'); + + $tanev = __TANEV; + $ADAT['kepzesId'] = $kepzesId = readVariable($_POST['kepzesId'], 'id', null); + + $ADAT['kepzesOraterv.kovetelmeny'] = getEnumField('naplo_intezmeny','kepzesOraterv','kovetelmeny'); + $KOT = $ADAT['kepzesOraterv.tipus'] = getEnumField('naplo_intezmeny','kepzesOraterv','tipus'); + + function _escape($val,$A=null) { + global $KOT; + if (is_null($A) || !is_array($A)) $A = $KOT; + for ($i=0; $i<count($A); $i++) { + if ($A[$i]==$val) { return 'E'.$i; } + } + } + function _unescape($val,$A=null) { + global $KOT; + if (!is_array($A)) $A = $KOT; + for ($i=0; $i<count($A); $i++) { + if ($i==intval(substr($val,1))) { return $A[$i]; } + } + } + + if ($action == 'oratervMasolas') { + $masolandoKepzesId = readVariable($_POST['masolandoKepzesId'],'id'); + if (isset($masolandoKepzesId) && isset($kepzesId)) kepzesOratervMasolas($masolandoKepzesId, $kepzesId); + } else if ($action == 'do') { + // prepare for walk + $submit_done = false; + reset($_POST); + foreach($_POST as $key => $value) { + if (substr($key,0,6)=='torol_') { + list($_rest, $_tipus, $_targyId) = explode('_',$key); + $_tipus = _unescape(readVariable($_tipus,'strictstring')); + $_targyId = readVariable($_targyId,'id'); + dropKepzesOratervRekord($kepzesId,$_tipus,$_targyId); + $submit_done = true; + } + } + if (!$submit_done) { + list($tipus,$targyId) = explode('_',readVariable($_POST['UJ_targyTipusId'],'string')); + $UJtipus = (substr($tipus,0,1)=='E') ? _unescape(readVariable($tipus,'strictstring')) : ''; + $UJtargyId = readVariable($targyId,'id'); + unset($tipus); unset($targyId); + reset($_POST); + foreach($_POST as $key => $value) { + if (substr($key,0,3) == 'MO_') {//MAX ÓRASZÁM + list($skey, $evfolyamJel) = explode('_',$key); + if (is_numeric($value)) $DDATA['oraszamok'][$evfolyamJel]['max'] = $value; + } elseif (substr($key,0,3) == 'KO_') {//KÖT ÓRASZÁM + list($skey, $evfolyamJel) = explode('_',$key); + if (is_numeric($value)) $DDATA['oraszamok'][$evfolyamJel]['kotelezo'] = $value; + } elseif (substr($key,0,2) == 'T_') {// a tárgyhoz tartozó óraszám + list($tipus, $targyId, $val, $evfolyamJel, $szemeszter) = explode('_',substr($key,2)); + $tipus = _unescape($tipus); + $targyId = readVariable($targyId,'id'); + //if (intval($targyId)==0) $targyId = _unescape($targyId,$ADAT['kepzesOraterv.tipus']); + if ($val=='O') { // heti óraszám + $DDATA['adatok'][$tipus][$targyId][$evfolyamJel][$szemeszter]['oraszam'] = $value; + } elseif ($val=='K') { // követelmény + $DDATA['adatok'][$tipus][$targyId][$evfolyamJel][$szemeszter]['kovetelmeny'] = $value; + } + /* Ha az új tárgyhoz tartozó adatok jönnek, pakoljuk a megfelelő tömbbe */ + } elseif (substr($key,0,4) == 'UJ_O' && $UJtipus!='') {// az új tárgyhoz tartozó óraszám + list($skey1, $skey2, $evfolyamJel, $szemeszter) = explode('_',$key); + if (is_numeric($value)) $DDATA['adatok'][$UJtipus][$UJtargyId][$evfolyamJel][$szemeszter]['oraszam'] = $value; + } elseif (substr($key,0,4) == 'UJ_K' && $UJtipus!='') {// az új tárgyhoz tartozó óraszám + list($skey1, $skey2, $evfolyamJel, $szemeszter) = explode('_',$key); + $DDATA['adatok'][$UJtipus][$UJtargyId][$evfolyamJel][$szemeszter]['kovetelmeny'] = $value; + } + } + modifyKepzesOraterv($DDATA,$kepzesId); + } + + } + + if (isset($kepzesId)) { + $ADAT['kepzesAdat'] = getKepzesAdatById($kepzesId); + $ADAT['oraszam'] = getKepzesOraszam($kepzesId); + $ADAT['oraterv'] = getKepzesOraterv($kepzesId); + $ADAT['targyak'] = getTargyak(); + if ($ADAT['oraterv']==array()) { + // A kiválasztottal azonos osztályJelleghez tartozó képzések listája - ebbe benne van maga a kiválasztott képzés is! + $ADAT['hasonloKepzesek'] = getKepzesByOsztalyJelleg($ADAT['kepzesAdat']['osztalyJellegId']); + } + } + $ADAT['osztalyok'] = getOsztalyok($tanev, array('result' => 'assoc','minden'=>true)); + +// $ADAT['kepzesOraszam'] = getKepzesOraszam($kepzesId); +// $ADAT['kepzesOraterv'] = getKepzesOraterv($kepzesId); + + if (isset($kepzesId) && !is_numeric($ADAT['kepzesAdat']['osztalyJelleg']['osztalyJellegId'])) + $_SESSION['alert'][] = 'error:nincs megadva osztály jelleg!'; + + + + $TOOL['kepzesSelect'] = array('tipus'=>'cella', 'post' => array()); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=osztaly','index.php?page=naplo&sub=intezmeny&f=kepzes'), + 'titleConst' => array('_OSZTALYHOZ','_KEPZESHEZ'), 'post' => array('kepzesId'), + 'paramName'=>'kepzesId'); // paramName ? + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/kepzesOraterv.php b/mayor-orig/www/policy/private/naplo/intezmeny/kepzesOraterv.php new file mode 100644 index 00000000..d56f4019 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/kepzesOraterv.php @@ -0,0 +1,12 @@ +<?php + + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + +// putKepzesInfo($ADAT); + if ($ADAT['oraterv']==array() && count($ADAT['hasonloKepzesek']) > 1) putOratervMasolas($ADAT); + putKepzesOraterv($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php new file mode 100644 index 00000000..f8524925 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php @@ -0,0 +1,110 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/file.php'); + + $ADAT['targyJellegENUM'] = getEnumField('naplo_intezmeny','targy','targyJelleg'); + $ADAT['targy.evkoziKovetelmeny'] = getEnumField('naplo_intezmeny','targy','evkoziKovetelmeny'); + $ADAT['targy.zaroKovetelmeny'] = getEnumField('naplo_intezmeny','targy','zaroKovetelmeny'); + + $ADAT['mkId'] = $mkId = readVariable($_POST['mkId'],'id'); + $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'],'id'); + $ADAT['targyJelleg'] = $targyJelleg = readVariable($_POST['targyJelleg'],'sql'); + + $ADAT['kirTargyak'] = getKirTargyak(); + + if (__NAPLOADMIN) { + switch ($action) { + case 'ujMunkakozosseg': + if ($_POST['leiras'] != '') + if ( ($mkId=ujMunkakozosseg($_POST['leiras'],$_POST['mkVezId']))===false ) + unset($mkId); unset($ADAT['mkId']); + break; + case 'modMunkakozosseg': + if ($_POST['mkId']!='' && $_POST['leiras'] != '') + modMunkakozosseg($_POST['mkId'],$_POST['leiras'],$_POST['mkVezId'],$_POST['mkUjTagok'],$_POST['mkTagok']); + break; + case 'ujTargy': + if ($_POST['targyleiras']!='') { + $_ADAT['mkId'] = readVariable($_POST['mkId'],'id'); + $_ADAT['leiras']=readVariable($_POST['targyleiras'],'string'); + $_ADAT['targyJelleg']=readVariable($_POST['targyJelleg'],'string'); + $_ADAT['evkoziKovetelmeny']=readVariable($_POST['evkoziKovetelmeny'],'string'); + $_ADAT['zaroKovetelmeny']=readVariable($_POST['zaroKovetelmeny'],'string'); + $_ADAT['kirTargyId'] = readVariable($_POST['kirTargyId'],'id',null, $ADAT['kirTargyak']); + $_ti=ujTargy($_ADAT); + if ($_ti!==false && is_numeric($_ti)) $targyId=$_ti; + unset($_ti); + unset($_ADAT); + } + break; + case 'targyValtoztat': + $_ADAT['targyId'] = $targyId; + $_ADAT['targyJelleg'] = $targyJelleg; + $_ADAT['evkoziKovetelmeny'] = readVariable($_POST['evkoziKovetelmeny'],'sql'); + $_ADAT['zaroKovetelmeny'] = readVariable($_POST['zaroKovetelmeny'],'sql'); + $_ADAT['targyRovidNev'] = readVariable($_POST['targyRovidNev'],'sql'); + $_ADAT['kirTargyId'] = readVariable($_POST['kirTargyId'],'id',null); + targyModosit($_ADAT); + break; + case 'targyTorol': + if (targyTorol($_POST['targyId'],$_POST['mkId'])) + unset($targyId); + break; + case 'munkakozossegTorol': + if (munkakozossegTorol($_POST['mkId'])) + unset($mkId); unset($ADAT['mkId']); + break; + case 'targyAtnevezes': + $ADAT['ujTargyNev'] = readVariable($_POST['ujTargyNev'],'string'); + if ($ADAT['ujTargyNev'] != '') targyAtnevezes($ADAT); + break; + case 'targyMkValtas': + $ADAT['befogadoMkId'] = readVariable($_POST['befogadoMkId'], 'id'); + if (targyMkValtas($ADAT)) { + unset($mkId); unset($ADAT['mkId']); + } + break; + case 'targyBeolvasztas': + $ADAT['befogadoTargyId'] = readVariable($_POST['befogadoTargyId'], 'id'); + $ADAT['tankorJeloles'] = readVariable($_POST['tankorJeloles'], 'enum', null, array_values($TANKOR_TIPUS)); + if (isset($ADAT['befogadoTargyId'])) { + if (targyBeolvasztas($ADAT)) { + $_SESSION['alert'][] = 'info:success'; + unset($targyId); unset($ADAT['targyId']); + } + } + break; + } + } + + $TANAROK = getTanarok(); + + // ha csak tággyId adott, kérdezzük le a mkId-t is... + + $ADAT['munkakozossegek'] = getMunkakozossegek(); + $ADAT['targyTargy'] = getTargyTargy(); + if ($targyId!='') { + $ADAT['targyAdat'] = getTargyById($targyId); + if ($mkId=='') $ADAT['mkId'] = $mkId = $ADAT['targyAdat']['mkId']; + } + + if (isset($mkId) && $mkId!='') { + if (defined('__TANEV')) $__TANEV = __TANEV; else $__TANEV = ''; + $TANAROK_INMK = getTanarok(array('mkId' => $mkId, 'tanev' => $__TANEV)); + $ADAT['mkAdat'] = getMunkakozossegById($mkId); + $ADAT['targyak'] = getTargyakByMkId($mkId); + } else { + $TANAROK_INMK = array(); + } + + + $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','munkakozossegek'=>$ADAT['munkakozossegek'],'paramName' => 'mkId', 'post'=>array()); + $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'post'=>array('mkId')); + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/munkakozosseg.php b/mayor-orig/www/policy/private/naplo/intezmeny/munkakozosseg.php new file mode 100644 index 00000000..82ca17ea --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/munkakozosseg.php @@ -0,0 +1,27 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $targyId; + global $TANAROK,$TANAROK_INMK; + global $ADAT; + + if (__NAPLOADMIN) { + if (isset($targyId) && $targyId!='') { + putTargyValtoztatForm($ADAT); + putTargyAtnevezes($ADAT); + putTargyMkValtas($ADAT); + putTargyTorolForm($targyId,$ADAT['mkId']); + putTargyBeolvasztasForm($ADAT); + putTargyTargyForm($ADAT); + } else { + putUjMunkakozossegForm($TANAROK); + if (isset($ADAT['mkId']) && $ADAT['mkId']!='') { + putMunkakozossegForm($ADAT['mkAdat'],$TANAROK,$TANAROK_INMK); + putMunkakozossegTorolForm($ADAT['mkId']); + putUjTargyForm($ADAT['mkId'], $ADAT); + } + } + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/osztaly-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/osztaly-pre.php new file mode 100644 index 00000000..ddc17765 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/osztaly-pre.php @@ -0,0 +1,323 @@ +<?php + +if (_RIGHTS_OK !== true) die(); + +if (__NAPLOADMIN!==true) $_SESSION['alert'][]='page:insufficient_access'; + +require_once('include/share/date/names.php'); +require_once('include/modules/naplo/share/file.php'); +require_once('include/modules/naplo/share/osztaly.php'); +require_once('include/modules/naplo/share/osztalyModifier.php'); +require_once('include/modules/naplo/share/intezmenyek.php'); +require_once('include/modules/naplo/share/diak.php'); +require_once('include/modules/naplo/share/tanar.php'); +require_once('include/modules/naplo/share/kepzes.php'); +require_once('include/modules/naplo/share/szemeszter.php'); +require_once('include/modules/naplo/share/tankor.php'); +require_once('include/modules/naplo/share/tankorModifier.php'); +require_once('include/modules/naplo/share/tankorDiakModifier.php'); +require_once('include/modules/naplo/share/hianyzasModifier.php'); +require_once('include/modules/naplo/share/jegyModifier.php'); +require_once('include/modules/naplo/share/jegy.php'); + + +if (defined('__INTEZMENY') and __INTEZMENY != '') { + $ADAT['tanevek'] = getTanevek(true); + $ADAT['tanarok'] = getTanarok(); + $ADAT['kepzesek'] = getKepzesek(); + $ADAT['telephely'] = getTelephelyek(); + $ADAT['telephelyIds'] = array(); + foreach ($ADAT['telephely'] as $i => $tAdat) $ADAT['telephelyIds'][] = $tAdat['telephelyId']; + $ADAT['osztalyJellegek'] = getOsztalyJellegek(array('result'=>'assoc')); // Ez mondjuk nem intézmény függő... +} + +$ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV, $ADAT['tanevek']); +$ADAT['telephelyId'] = $telephelyId = readVariable($_POST['telephelyId'], 'id', (isset($_POST['telephelyId'])?null:readVariable(__TELEPHELYID,'id')), $ADAT['telephelyIds']); +$ADAT['osztalyId'] = $osztalyId = $_POST['osztalyId'] = readVariable($_POST['osztalyId'], 'id', readVariable($_GET['osztalyId'],'id',null)); +if ($tanev != __TANEV) $TA = getTanevAdat($tanev); +else $TA = $_TANEV; + +/* -------- */ +// Adatok frissítése adatállományból + +if (__NAPLOADMIN && isset($_POST['fileName']) && $_POST['fileName'] != '') { + define('_SKIP_ON_DUP',readVariable($_POST['skipOnDup'],'bool')); + $mezo_elvalaszto = ' '; // "\t" +// $fileName = fileNameNormal($_POST['fileName']); + $fileName = ($_POST['fileName']); // TODO + $ADATOK = array(); + + if (file_exists($fileName)) { + + if (!is_array($_POST['MEZO_LISTA'])) { + + $ADATOK = readUpdateFile($fileName); + if (count($ADATOK) > 0) $attrList = getTableFields('diak', 'naplo_intezmeny',array('beDt','kiDt')); + else $_SESSION['alert'][] = 'message:wrong_data'; + + } else { + + $MEZO_LISTA = $_POST['MEZO_LISTA']; + $KULCS_MEZOK = $_POST['KULCS_MEZOK']; + updateOsztaly($osztalyId, $fileName, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto, readVariable($_POST['rovatfej'], 'bool')); + + } // MEZO_LISTA tömb + } else { + $_SESSION['alert'][] = 'message:file_not_found:'.$fileName; + } // A file létezik-e + +} // van file +/* -------- */ + +if (isset($osztalyId)) { + $_evfolyamSzamElteres = getOsztalyEvfolyamSzamElteres($osztalyId); + if ($_evfolyamSzamElteres>0) $_SESSION['alert'][] = 'alert:hibás évfolyam beállítás! Az osztály jellege kevesebb évfolyamot ír elő! (Ellenőrizd, hogy végzés tanéve jól van-e beállítva!)'; + elseif ($_evfolyamSzamElteres<0) $_SESSION['alert'][] = 'info:kevesebb évfolyam alatt végez az osztály, mint az osztály jellege előírná. Ez megszűnő, vagy később belépő osztályoknál megengedett.'; + + if ( in_date_interval(date('Y-m-d'),$TA['elozoZarasDt'],$TA['kovetkezoKezdesDt']) ) { + $dt = $ADAT['dt'] = readVariable($_POST['dt'], 'date', date('Y-m-d')); + } else { + $dt = $ADAT['dt'] = $TA['elozoZarasDt']; + } + $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev); + + if (!($ADAT['osztalyAdat']["kezdoTanev"]<=$tanev && $ADAT['osztalyAdat']["vegzoTanev"]>=$tanev)) $_SESSION['alert'][]='error:hibás tanév beállítás'; + + $diakIds = $ADAT['osztalyAdat']['kepzesIds'] = array(); + if (is_array($ADAT['osztalyAdat']['kepzes'])) + for ($i = 0; $i < count($ADAT['osztalyAdat']['kepzes']); $i++) $ADAT['osztalyAdat']['kepzesIds'][] = $ADAT['osztalyAdat']['kepzes'][$i]['kepzesId']; + $OsztalyNevsor = getDiakokByOsztaly($osztalyId, array('tanev' => $tanev)); + + foreach ($OsztalyNevsor as $key => $value) if (is_numeric($key)) { + $diakIds[] = $key; + $ADAT['osztalyNevsor'][$key] = $value; + } + + $ADAT['diakKepzes'] = getKepzesByDiakId($diakIds, array('result' => 'assoc')); + $ADAT['diakok'] = getDiakok(array('tanev' => $tanev)); +} + +if ($action == 'osztalyAdatModositas' && __NAPLOADMIN) { + + $leiras = readVariable($_POST['leiras'], 'string'); + $ofoTanarId = readVariable($_POST['ofoTanarId'], 'id'); + $ofoBeDt = readVariable($_POST['ofoBeDt'], 'date'); + $ofoKiDt = readVariable($_POST['ofoKiDt'], 'date', ''); + $tanarId = readVariable($_POST['tanarId'], 'id'); + $beDt = readVariable($_POST['beDt'], 'date'); + $kiDt = readVariable($_POST['kiDt'], 'date'); + $ADAT['telephelyId'] = readVariable($_POST['telephelyId'], 'id', null, $ADAT['telephelyIds']); + $ADAT['osztalyJellegId'] = readVariable($_POST['osztalyJellegId'],'id',null); + $ADAT['kezdoEvfolyamSorszam'] = readVariable($_POST['kezdoEvfolyamSorszam'],'numeric unsigned', $ADAT['osztalyAdat']['kezdoEvfolyamSorszam'], + range(1, count($ADAT['osztalyAdat']['evfolyamJelek'])-$ADAT['osztalyAdat']['vegzoTanev']+$ADAT['osztalyAdat']['kezdoTanev']) + ); + + $lr = db_connect('naplo_intezmeny'); + // leírás/telephely megadása, módosítása + if ( + (isset($leiras) && $leiras != $ADAT['osztalyAdat']['leiras']) + || (isset($ADAT['telephelyId']) && $ADAT['telephelyId'] != $ADAT['osztalyAdat']['telephelyId']) + || (isset($ADAT['kezdoEvfolyamSorszam']) && $ADAT['kezdoEvfolyamSorszam'] != $ADAT['osztalyAdat']['kezdoEvfolyamSorszam']) + + || (isset($ADAT['osztalyJellegId']) && $ADAT['osztalyJellegId'] != $ADAT['osztalyAdat']['osztalyJellegId']) + ) { + osztalyLeirasTelephelyModositas($osztalyId, $leiras, $ADAT['telephelyId'], $ADAT['osztalyJellegId'], $ADAT['kezdoEvfolyamSorszam'], $ADAT['osztalyAdat'], $lr); + $_SESSION['alert'][] = 'info:done'; + } + // Osztályfőnöki kinevezés lezárása + for ($i = 0; $i < count($ofoTanarId); $i++) { + if ($ofoKiDt[$i] != '') osztalyfonokKileptetes($osztalyId, $ofoTanarId[$i], $ofoBeDt[$i], $ofoKiDt[$i], $lr); + } + // Új osztályfőnök felvétele + if ($tanarId != '' and $beDt != '') osztalyfonokKinevezes($osztalyId, $tanarId, $beDt, $lr); + // A módosított adatok lekérdezése + $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev, $lr); + $ADAT['osztalyAdat']['kepzesIds'] = array(); + if (is_array($ADAT['osztalyAdat']['kepzes'])) + for ($i = 0; $i < count($ADAT['osztalyAdat']['kepzes']); $i++) $ADAT['osztalyAdat']['kepzesIds'][] = $ADAT['osztalyAdat']['kepzes'][$i]['kepzesId']; + db_close($lr); + +} elseif ($action == 'nyekOsztalyLeptetes' && __NAPLOADMIN) { +// EZ MÁR ELAVULT! TODO +/* + $ADAT['ujOsztaly']['tanevek'] = $ADAT['tanevek']; +// $ADAT['ujOsztaly']['kezdoTanev'] = $ADAT['osztalyAdat']['vegzoTanev']+1; +// $ADAT['ujOsztaly']['vegzoTanev'] = readVariable($_POST['vegzoTanev'], 'numeric unsigned', null, $ADAT['tanevek']); +// $ADAT['ujOsztaly']['kezdoEvfolyam'] = $ADAT['osztalyAdat']['kezdoEvfolyam']; + $ADAT['ujOsztaly']['jel'] = readVariable($_POST['osztalyJel'], 'string'); + $ADAT['ujOsztaly']['leiras'] = $ADAT['osztalyAdat']['leiras']; + $ADAT['ujOsztaly']['telephelyId'] = $ADAT['osztalyAdat']['telephelyId']; + $ADAT['ujOsztaly']['osztalyJellegId'] = $ADAT['osztalyJellegek'][ $ADAT['osztalyAdat']['osztalyJellegId'] ]['kovOsztalyJellegId']; // NyEK osztály + // Új osztály létrehozása +// if (isset($ADAT['ujOsztaly']['kezdoTanev']) && isset($ADAT['ujOsztaly']['vegzoTanev']) && isset($ADAT['ujOsztaly']['kezdoEvfolyam']) && isset($ADAT['ujOsztaly']['jel'])) { +// $ujOsztalyId = ujOsztaly($ADAT['ujOsztaly']); +// } + // Képzés hozzárendelés + setOsztalyKepzesei($ujOsztalyId, $ADAT['osztalyAdat']['kepzesIds']); + // A jelen év végétől kinevezzük az osztályfőnököt + if (__TANEV == $ADAT['osztalyAdat']['vegzoTanev']) $beDt = date('Y-m-d', strtotime('next month', strtotime($_TANEV['zarasDt']))); + else $beDt = $ADAT['ujOsztaly']['kezdoTanev'].'-08-01'; + osztalyfonokKinevezes($ujOsztalyId, $ADAT['osztalyAdat']['osztalyfonok']['tanarId'], $beDt); + // osztálytagok felvétele + $diakIds = array_merge($OsztalyNevsor['jogviszonyban van'], $OsztalyNevsor['magántanuló']); + foreach ($diakIds as $diakId) { + ujTag($ujOsztalyId, $diakId, $beDt, null); + osztalyDiakTorol(array('osztalyId' => $osztalyId, 'diakId' => $diakId, 'tolDt' => $beDt, 'igDt' => null, 'zaradekkal' => false)); + } + // TODO: régi osztályhoz rendelt tankörök hozzárendelése az új osztályhoz és átnevezés +*/ +} elseif ($action == 'osztalyJelVegzesModositas' && __NAPLOADMIN) { + // TODO: nem szabadna akárhogy változtatni a tanéveket! Nem lehet vtanev<ktanev és nem lehet az osztály évfolyamok száma > az osztalyJelleg evfolyamok számánál + $ujKezdoTanev = readVariable($_POST['ujKezdoTanev'], 'numeric unsigned'); + $ujVegzoTanev = readVariable( + $_POST['ujVegzoTanev'], 'numeric unsigned',null,array(), + '$return>='.$ujKezdoTanev.' && $return-'.$ujKezdoTanev.'+'.$ADAT['osztalyAdat']['kezdoEvfolyamSorszam'].'<='.count($ADAT['osztalyAdat']['evfolyamJelek']) + ); + $ujOsztalyJel = readVariable($_POST['ujOsztalyJel'], 'string'); + if (is_null($ujKezdoTanev) || is_null($ujVegzoTanev) || $ujOsztalyJel == '') { + $_SESSION['alert'][] = 'message:wrong_data:kezdoTanev='.$_POST['ujKezdoTanev'].', vegzoTanev='.$_POST['ujVegzoTanev'].', jel='.$_POST['ujOsztalyJel']; + } else { + $lr = db_connect('naplo_intezmeny'); + db_start_trans($lr); + $r = array(); + if ($ujVegzoTanev!='') { + $q = "UPDATE osztaly SET vegzoTanev=%u WHERE osztalyId=%u"; + $v = array($ujVegzoTanev,$osztalyId); + $r[] = db_query($q, array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr); + } + if ($ujKezdoTanev!='') { + $q = "UPDATE osztalyDiak SET beDt = (SELECT kezdesDt FROM szemeszter WHERE tanev=%u AND szemeszter=1) WHERE osztalyId=%u AND beDt<(SELECT kezdesDt FROM szemeszter WHERE tanev=%u AND szemeszter=1)"; + $v = array($ujKezdoTanev,$osztalyId,$ujKezdoTanev); + $r[] = db_query($q, array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr); + + $q = "UPDATE osztaly SET kezdoTanev=%u WHERE osztalyId=%u"; + $v = array($ujKezdoTanev,$osztalyId); + $r[] = db_query($q, array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr); + } + + if ($ujOsztalyJel=='') { + $q = "SELECT jel FROM osztaly WHERE osztalyId = %u"; + $v = array($osztalyId); + $osztalyJel = db_query($q, array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v), $lr); + $ujOsztalyJel = $osztalyJel; + } else { + $osztalyJel=$ujOsztalyJel; + $q = "UPDATE osztaly SET jel='%s' WHERE osztalyId=%u"; + $v = array($ujOsztalyJel,$osztalyId); + $r[] = db_query($q, array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr); + } + $OSZTALYADAT = getOsztalyAdat($osztalyId,__TANEV,$lr); + + // az osztalyNaplo.osztalyJelet is módosítani kell, minden érintett tanévben! + $r[] = updateosztalyNev($osztalyId, $lr); + + if (!in_array(false,$r)) db_commit($lr); + else db_rollback($lr); + db_close($lr); + } // ha van kezdoTanev, zaroTanev, jel + +} elseif ($action == 'ujOsztaly' && __NAPLOADMIN) { + + $ADAT['kezdoTanev'] = readVariable($_POST['kezdoTanev'], 'numeric unsigned', null, $ADAT['tanevek']); + $ADAT['vegzoTanev'] = readVariable($_POST['vegzoTanev'], 'numeric unsigned', null, $ADAT['tanevek']); + $ADAT['kezdoEvfolyamSorszam'] = readVariable($_POST['kezdoEvfolyamSorszam'], 'numeric unsigned',1); + $ADAT['jel'] = readVariable($_POST['jel'], 'string'); + $ADAT['leiras'] = readVariable($_POST['leiras'], 'string'); + $ADAT['telephelyId'] = readVariable($_POST['telephelyId'], 'id', null, $ADAT['telephelyIds']); + $ADAT['osztalyJellegId'] = readVariable($_POST['osztalyJellegId'],'id',null); + if (isset($ADAT['osztalyJellegId']) && isset($ADAT['kezdoTanev']) && isset($ADAT['vegzoTanev']) && isset($ADAT['kezdoEvfolyamSorszam']) && isset($ADAT['jel'])) { + $osztalyId = $ADAT['osztalyId'] = ujOsztaly($ADAT); + if ($osztalyId) { + $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev); + $diakIds = $ADAT['osztalyAdat']['kepzesIds'] = array(); + if (is_array($ADAT['osztalyAdat']['kepzes'])) + for ($i = 0; $i < count($ADAT['osztalyAdat']['kepzes']); $i++) $ADAT['osztalyAdat']['kepzesIds'][] = $ADAT['osztalyAdat']['kepzes'][$i]['kepzesId']; + $ADAT['diakok'] = getDiakok(array('tanev' => $tanev)); + } + } else { + $_SESSION['alert'][] = 'message:empty_field:'."${ADAT['kezdoTanev']}, ${ADAT['vegzoTanev']}, ${ADAT['kezdoEvfolyamSorszam']}, ${ADAT['jel']}"; + } +} elseif ($action == 'osztalyNevsor' && (__NAPLOADMIN || __VEZETOSEG || _TITKARSAG)) { + $kepzesMod = array(); + if (is_array($_POST['diakKepzes'])) foreach ($_POST['diakKepzes'] as $index => $kepzes) { + list($_diakId,$kepzesId) = explode('/', $kepzes); + // kirakjuk az osztályhoz nem tartozó képzéseit is - hogy könnyebb legyen kezelni... + if (in_array($_diakId, $diakIds)) { + $kepzesMod[$kepzesId][] = $_diakId; + } + } + diakKepzesModositas($diakIds, $kepzesMod, $dt); + $ADAT['diakKepzes'] = getKepzesByDiakId($diakIds, array('result' => 'assoc')); +} elseif ($action == 'ujTag' && (__NAPLOADMIN || __VEZETOSEG || __TITKARSAG)) { + $diakId = readVariable($_POST['diakId'], 'id'); + $beDt = readVariable($_POST['beDt'], 'date'); + $kiDt = readVariable($_POST['kiDt'], 'date'); + if (isset($diakId) && isset($beDt)) { + if (ujTag($osztalyId, $diakId, $beDt, $kiDt)) { + $OsztalyNevsor = getDiakokByOsztaly($osztalyId, array('tanev' => $tanev)); + foreach ($OsztalyNevsor as $key => $value) if (is_numeric($key)) { + $ADAT['osztalyNevsor'][$key] = $value; + } + $diakIds = array_keys($ADAT['osztalyNevsor']); + } + } +} elseif ($action == 'tagTorles' && __NAPLOADMIN) { + $elozoTanev = getTanevAdat(intval(__TANEV)-1); $elozoTanevZarasTime = strtotime($elozoTanev['zarasDt']); + $PARAM['diakId'] = readVariable($_POST['diakId'], 'id'); +// $PARAM['tolDt'] = readVariable($_POST['tolDt'], 'date', null, array(), 'strtotime($return) > '.$elozoTanevZarasTime); + $PARAM['tolDt'] = readVariable($_POST['tolDt'], 'date'); + $PARAM['igDt'] = readVariable($_POST['igDt'], 'date', null, array(), 'strtotime('."'${PARAM['tolDt']}'".') < strtotime($return)'); + $PARAM['osztalyId'] = $ADAT['osztalyId']; + $PARAM['zaradekkal'] = false; + if (isset($PARAM['osztalyId']) && isset($PARAM['diakId']) && isset($PARAM['tolDt'])) { + if (osztalyDiakTorol($PARAM)) { + $OsztalyNevsor = getDiakokByOsztaly($osztalyId, array('tanev' => $tanev)); + foreach ($OsztalyNevsor as $key => $value) if (is_numeric($key)) { + $ADAT['osztalyNevsor'][$key] = $value; + } + $diakIds = array_keys($ADAT['osztalyNevsor']); + } + } else { $_SESSION['alert'][] = 'message:empty_field'; } +} elseif ($action == 'osztalyTorles' && __NAPLOADMIN) { + if (osztalyTorles($osztalyId)) { + unset($osztalyId); + $ADAT['osztalyAdat'] = array(); + } +} + +/* ------------------------------------------------- */ +/* REFRESH */ + +if (isset($osztalyId)) { + $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev); + $diakIds = $ADAT['osztalyAdat']['kepzesIds'] = array(); + if (is_array($ADAT['osztalyAdat']['kepzes'])) + for ($i = 0; $i < count($ADAT['osztalyAdat']['kepzes']); $i++) $ADAT['osztalyAdat']['kepzesIds'][] = $ADAT['osztalyAdat']['kepzes'][$i]['kepzesId']; + $OsztalyNevsor = getDiakokByOsztaly($osztalyId, array('tanev' => $tanev)); + $ADAT['osztalyNevsor'] = array(); + foreach ($OsztalyNevsor as $key => $value) if (is_numeric($key)) { + $diakIds[] = $key; + $ADAT['osztalyNevsor'][$key] = $value; + } + $ADAT['diakKepzes'] = getKepzesByDiakId($diakIds, array('result' => 'assoc')); + $ADAT['diakok'] = getDiakok(array('tanev' => $tanev)); + + for ($_ev = $ADAT['osztalyAdat']['kezdoTanev']; $_ev<=$ADAT['osztalyAdat']['vegzoTanev']; $_ev++) { + $ADAT['osztalyJelek'][$_ev] = getOsztalyJel($osztalyId,$_ev,$ADAT['osztalyAdat']); + } +} + +// írjuk ezt felül, nekünk minden eddigi ofő bejegyzésre szükségünk van +if (isset($osztalyId)) $ADAT['osztalyAdat']['osztalyfonokok'] = getOsztalyfonokok($osztalyId); + +$TOOL['tanevSelect'] = array('tipus'=>'cella','paramName' => 'tanev', 'tervezett' => true, 'action' => 'tanevValtas', 'post'=>array('telephelyId')); +$TOOL['telephelySelect'] = array('tipus'=>'cella','paramName' => 'telephelyId', 'post' => array('tanev','dt')); +$TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post'=>array('tanev','telephelyId','dt'), 'telephelyId' => $telephelyId); +$TOOL['datumSelect'] = array('tipus'=>'sor','paramName'=>'dt','tolDt'=>$TA['elozoZarasDt'],'igDt'=>$TA['kovetkezoKezdesDt'],'override'=>true,'post'=>array('tanev','telephelyId','osztalyId')); +$TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=kepzes'), + 'titleConst' => array('_KEPZES'), 'post' => array(''), + 'paramName'=>'kepzesId'); // paramName ? + +getToolParameters(); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/osztaly.php b/mayor-orig/www/policy/private/naplo/intezmeny/osztaly.php new file mode 100644 index 00000000..c4f0ca80 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/osztaly.php @@ -0,0 +1,40 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT, $fileName, $ADATOK, $MEZO_LISTA, $attrList; + + // Osztályhoz rendelés + if (isset($ADAT['osztalyId']) && ($ADAT['osztalyAdat']["kezdoTanev"]<=$ADAT['tanev'] && $ADAT['osztalyAdat']["vegzoTanev"]>=$ADAT['tanev'])) { + + putOsztalyAdatokForm($ADAT); + + if ($ADAT['osztalyJellegek'][ $ADAT['osztalyAdat']['osztalyJellegId'] ]['kovOsztalyJellegId'] != 0) { // NyEK évfolyam + putOsztalyLeptetes($ADAT); + } + if (is_array($ADAT['osztalyNevsor'])) { + putOsztalyNevsor($ADAT); + putTagTorlesForm($ADAT); + } + putUjTagForm($ADAT); + + if (__NAPLOADMIN) { + if ($fileName == '') { + putFileSelectForm('naplo_intezmeny:diak',array('osztalyId','tanev')); + } elseif ($MEZO_LISTA == '') { + if (count($ADATOK) > 0) + putFieldSelectForm($fileName, $ADATOK, $attrList, 'naplo_intezmeny:diak',array('osztalyId','tanev')); + else + echo 'NINCS ADAT!'; + } else { + echo 'Adatfeldolgozás kész.'; + } + // osztalyTorlesForm($ADAT['osztalyId']); + } + } elseif (__NAPLOADMIN) { + putUjOsztalyForm($ADAT); + } + + + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/szulo-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/szulo-pre.php new file mode 100644 index 00000000..a54ad8aa --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/szulo-pre.php @@ -0,0 +1,15 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (isset($_POST['szuloId']) && $_POST['szuloId'] != '') $szuloId = $_POST['szuloId']; + elseif (isset($_GET['szuloId']) && $_GET['szuloId'] != '') $szuloId = $_GET['szuloId']; + + if (isset($_POST['attr']) && $_POST['attr'] != '') $attr = $_POST['attr']; + elseif (isset($_GET['attr']) && $_GET['attr'] != '') $attr = $_GET['attr']; + + require_once('include/modules/naplo/share/szulo.php'); + + $Szulok = getSzulok(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/szulo.php b/mayor-orig/www/policy/private/naplo/intezmeny/szulo.php new file mode 100644 index 00000000..25b61d7f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/szulo.php @@ -0,0 +1,24 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $Szulok, $szuloId, $attr; + + if ($skin == 'ajax') { + putSzuloSelect($Szulok, $szuloId, $attr); + } else echo $skin; + + function putSzuloSelect($Szulok, $value, $attr) { + formBegin(); + echo '<select name="'.$attr.'">'."\n"; + $SEL = array($value => ' selected="selected" '); + echo '<option value="NULL"> - </option>'."\n"; + for ($i = 0; $i < count($Szulok['szuloIds']); $i++) { + $szuloId = $Szulok['szuloIds'][$i]; + echo '<option value="'.$szuloId.'"'.$SEL[$szuloId].'>'. + $Szulok[$szuloId]['szuloNev'].'</option>'."\n"; + } + echo '</select>'."\n"; + formEnd(); + } +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tanar-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/tanar-pre.php new file mode 100644 index 00000000..daa02fef --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tanar-pre.php @@ -0,0 +1,108 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + + if (!__NAPLOADMIN && !__VEZETOSEG) { + $_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/kepesites.php'); + + $tanarId = readVariable($_POST['tanarId'],'id',readVariable($_GET['tanarId'],'id')); + // Adatok frissítése adatállományból + if ($action == 'kepUpload') { + mayorFileUpload(array('subdir'=>_DOWNLOADDIR.'/private/naplo/face/tanar/','filename'=>$tanarId.'.jpg')); + } elseif (isset($_POST['fileName']) && $_POST['fileName'] != '') { + + $mezo_elvalaszto = ' '; + $fileName = fileNameNormal($_POST['fileName']); + $ADATOK = array(); + if (file_exists($fileName)) { + + if (!is_array($_POST['MEZO_LISTA'])) { + + $ADATOK = readUpdateFile($fileName); + if (count($ADATOK) > 0) $attrList = getTableFields('tanar', 'naplo_intezmeny', $extraAttrs = array()); + else $_SESSION['alert'][] = 'message:wrong_data'; + + } else { + + $MEZO_LISTA = $_POST['MEZO_LISTA']; + $KULCS_MEZOK = $_POST['KULCS_MEZOK']; + updateTable('tanar', $fileName, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto, $_POST['rovatfej']); + + } // MEZO_LISTA tömb + } else { + $_SESSION['alert'][] = 'message:file_not_found:'.$fileName; + } // A file létezik-e + + } // van file + + if ($action == 'ujTanar') { + $kotelezoParamOk = (isset($_POST['viseltCsaladinev']) && $_POST['viseltCsaladinev'] != ''); + $kotelezoParamOk &= (isset($_POST['beDt']) && $_POST['beDt'] != ''); + if ($kotelezoParamOk) { + $tanarId = ujTanar($_POST); + if ($tanarId) list($ADAT['tanarAdat']) = getTanarAdatById($tanarId); + } else { + $_SESSION['alert'][] = 'message:empty_field:(viseltCsaladinev,beDt)'; + } + } + if (isset($tanarId)) { + + $ADAT['tanarId'] = $tanarId; + $ADAT['kepesitesek'] = getKepesitesek(); + foreach ($ADAT['kepesitesek'] as $idx => $kAdat) $ADAT['kepesitesIds'][] = $kAdat['kepesitesId']; + $ADAT['besorolasok'] = getEnumField('naplo_intezmeny', 'tanar', 'besorolas'); + $ADAT['vegzettsegek'] = getEnumField('naplo_intezmeny', 'kepesites', 'vegzettseg'); + $ADAT['fokozatok'] = getEnumField('naplo_intezmeny', 'kepesites', 'fokozat'); + $ADAT['specializaciok'] = getEnumField('naplo_intezmeny', 'kepesites', 'specializacio'); + $ADAT['statuszok'] = getEnumField('naplo_intezmeny', 'tanar', 'statusz'); + + if ( + $action == 'tanarAlapadatModositas' || + $action == 'tanarSzuletesiAdatModositas' || + $action == 'tanarJogviszonyModositas' + ) { + + $ok = tanarAdatModositas($_POST); + + } elseif ($action == 'tanarKepesitesModositas') { + $addKepesitesId = readVariable($_POST['addKepesitesId'], 'id',null, $ADAT['kepesitesIds']); + if (isset($addKepesitesId)) { + tanarKepesitesHozzarendeles($tanarId, $addKepesitesId); + } else { + $vegzettseg = readVariable($_POST['vegzettseg'], 'enum', null, $ADAT['vegzettsegek']); + $fokozat = readVariable($_POST['fokozat'], 'enum', null, $ADAT['fokozatok']); + $specializacio = readVariable($_POST['specializacio'], 'enum', null, $ADAT['specializaciok']); + $kepesitesNev = readVariable($_POST['kepesitesNev'], 'string'); + if (isset($vegzettseg) && isset($fokozat) && isset($specializacio) && isset($kepesitesNev)) { + $kepesitesId = ujKepesites($vegzettseg, $fokozat, $specializacio, $kepesitesNev); + if ($kepesitesId !== false) tanarKepesitesHozzarendeles($tanarId, $kepesitesId); + } else { + $_SESSION['alert'][] = 'message:wrong_data:'.implode(',', array($vegzettseg, $fokozat, $specializacio, $kepesitesNev)); + } + } + } + list($ADAT['tanarAdat']) = getTanarAdatById($tanarId); + $ADAT['tanarAdat']['kepesites'] = getTanarKepesites($tanarId); + + + } + + // ToolBar + // $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post'=>array()); + $TOOL['tanarSelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'beDt' => '1900-01-01', 'kiDt' => date('Y-m-d'), 'összes'=>true, 'override'=> true, 'post'=>array('mkId')); + getToolParameters(); + + + } // naploadmin / vezetőség + + + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tanar.php b/mayor-orig/www/policy/private/naplo/intezmeny/tanar.php new file mode 100644 index 00000000..604f1d48 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tanar.php @@ -0,0 +1,27 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $fileName, $ADATOK, $MEZO_LISTA, $attrList; + global $ADAT; + + if (is_array($ADAT) && $skin != 'ajax') { + + putTanarAdatForm($ADAT); + + } else { + putUjTanar(); + if ($fileName == '') { + putFileSelectForm('naplo_intezmeny:tanar',array('mkId','tanev')); + } elseif ($MEZO_LISTA == '') { + if (count($ADATOK) > 0) + putFieldSelectForm($fileName, $ADATOK, $attrList, 'naplo_intezmeny:tanar',array('mkId','tanev')); + else + echo 'NINCS ADAT!'; + } else { + echo 'Adatfeldolgozás kész.'; + } + } + + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankor-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankor-pre.php new file mode 100644 index 00000000..d6c92121 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankor-pre.php @@ -0,0 +1,219 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorModifier.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/helyettesitesModifier.php'); + require_once('include/modules/naplo/share/hianyzasModifier.php'); + require_once('include/modules/naplo/share/file.php'); + + $ADAT['mkId'] = $mkId = readVariable($_POST['mkId'],'id',null); + $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'],'id',null); + $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'],'id',readVariable($_GET['tankorId'],'id',null)); + $_POST['tanev'] = $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'],'numeric unsigned',__TANEV); + + if ($tanev!=__TANEV) $_SESSION['alert'][] = 'info:nem az alapértelmezett tanévben vagyunk!'; + + $ADAT['tankor.kovetelmeny'] = getEnumField('naplo_intezmeny','tankor','kovetelmeny'); + if (defined('__AKG_TANKORNEV') && __AKG_TANKORNEV === true) { + $ADAT['tankorNevMegorzes'] = $_POST['tankorNevMegorzes'] = readVariable($_POST['tankorNevMegorzes'],'bool',false); + } + /* */ + //$_TA = getTanevAdat($tanev); + //$_TA['statusz']; + + if (__NAPLOADMIN || __VEZETOSEG) { + switch ($action) { + case 'ujTankor': // VAGY MÓDOSÍTÁS!!! + if ($tanev != '') { + $ADAT['tankorId'] = $tankorId = ujTankor($_POST); + if (readVariable($_POST['forceTankorTipusValtas'],'id')==1) { + $ADAT['tankorTipusId'] = readVariable($_POST['tankorTipusId'],'id'); + $erintettHianyzasDb = hianyzasTankorTipusValtas($ADAT['tankorId'],$ADAT['tankorTipusId'],array('tanev'=>$ADAT['tanev'])); + if ($erintettHianyzasDb>0) $_SESSION['alert'][] = 'info:db_hianyzas_tipus_modositas:'.$erintettHianyzasDb; + } + } + break; + case 'tankorTargyModositas': + $ADAT['targyIds'] = getTargyakByMkId($mkId, array('result'=>'idonly')); + $ADAT['ujTargyId'] = readVariable($_POST['ujTargyId'], 'id', null, $ADAT['targyIds']); + if (isset($ADAT['ujTargyId']) && isset($tankorId) && $targyId != $ADAT['ujTargyId']) { + if (tankorTargyModositas($ADAT)) $_SESSION['alert'][] = 'info:success:tankorTargyModositas'; + } + break; + case 'tankorTorol': + if ($tankorId != '') { + $biztosTorol = readVariable($_POST['biztosTorol'],'id',null); + if ($biztosTorol=='1') { + tankorTorol($tankorId); + unset($tankorId); + } else { + $_SESSION['alert'][] = 'info:not_changed'; + } + } + break; + case 'setTankorNev': + if ($tankorId != '') { + $tagokAlapjan = readVariable($_POST['setTankorNevTagokAlapjan'],'bool',false); + if ($tagokAlapjan) { + setTankorNevByDiakok($tankorId); + } else { + setTankorNev($tankorId); + $_SESSION['alert'][] = 'info:not_changed'; + } + } + break; + case 'tankorLezar': + if ($tankorId != '') { + $biztosTorol = readVariable($_POST['biztosLezar'],'id',null); + $lezarDt = readVariable($_POST['lezarDt'],'date',null); + if ($biztosTorol=='1' && !is_null($lezarDt)) { + $lr = db_connect('naplo_intezmeny'); + db_start_trans($lr); + + $v = array($lezarDt, $tankorId); + + // tanár kiléptet + $q = "UPDATE tankorTanar SET kiDt=('%s' - INTERVAL 1 DAY) WHERE tankorId=%u"; + $r[] = db_query($q, array('fv'=>'tankorTanarLezar', 'values'=>$v), $lr); + // diákok kiléptet + $q = "UPDATE tankorDiak SET kiDt=('%s' - INTERVAL 1 DAY) WHERE tankorId=%u"; + $r[] = db_query($q, array('fv'=>'tankorDiakLezar', 'values'=>$v), $lr); + // tankör szemeszter kiléptet + $q = "DELETE tankorSzemeszter.* FROM tankorSzemeszter LEFT JOIN szemeszter USING (tanev,szemeszter) WHERE kezdesDt>'%s' AND tankorId=%u"; + $r[] = db_query($q, array('fv'=>'tankorDiakLezar', 'values'=>$v), $lr); + +// $r[] = false; + + // órarendióra lezár (minden tanev adatbázisában, ami aktív + $q = "SELECT distinct tanev FROM szemeszter WHERE statusz='aktív'"; + $_tanevek = db_query($q, array('fv'=>'tankorDiakLezar', 'result'=>'idonly'), $lr); + for ($i=0; $i<count($_tanevek); $i++) { + $_tanev = $_tanevek[$i]; + $_tanevDb = tanevDbNev(__INTEZMENY, $_tanev); + + // A lezárási dátum utáni bejegyzések törlése + $q = "DELETE FROM $_tanevDb.orarendiOra WHERE tolDt >= '%s' AND (tanarId,osztalyJel,targyJel) IN ( + SELECT tanarId,osztalyJel,targyJel FROM $_tanevDb.orarendiOraTankor WHERE tankorId = %u + )"; + $v = array($lezarDt,$tankorId); + $r[] = db_query($q, array('fv' => 'vegzosOrarendLezaras', 'values' => $v),$lr); + + // A lezárás dátuma után végződő bejegyzáések igDt-inek beállítása + $q = "UPDATE $_tanevDb.orarendiOra LEFT JOIN $_tanevDb.orarendiOraTankor USING (tanarId,osztalyJel,targyJel) SET igDt=('%s' - INTERVAL 1 DAY) + WHERE igDt > '%s' AND tankorId = %u"; + $v = array($lezarDt,$lezarDt,$tankorId); + $r[] = db_query($q, array('fv' => 'vegzosOrarendLezarads', 'values' => $v),$lr); + + // óra elmarad + $q = "SELECT oraId FROM $_tanevDb.ora WHERE tankorId=%u AND dt>='%s' AND tipus NOT IN ('elmarad','elmarad máskor')"; + $v = array($tankorId,$lezarDt); + $_oraIdk = db_query($q, array('fv'=>'tankorDiakLezar', 'result'=>'idonly', 'values'=>$v), $lr); + for ($j=0; $j<count($_oraIdk); $j++) { + $r[] = oraElmarad($_oraIdk[$j], $lr, $_tanev); + } + + // jegyek törlése + $q = "DELETE FROM $_tanevDb.jegy WHERE tankorId = %u AND dt>='%s'"; + $v = array($tankorId,$lezarDt); + $r[] = db_query($q, array('fv'=>'tankorDiakLezar', 'values'=>$v), $lr); + } + + if (in_array(false,$r)) db_rollback($lr); + else db_commit($lr); + + db_close($lr); + + //unset($tankorId); + } else { + $_SESSION['alert'][] = 'info:not_changed'; + } + } + break; + } + } + + if (isset($tankorId) && $tankorId != '' && $tankorId !== false) { + // force all variables to refresh! + //$TANKORADAT = getTankorById($tankorId); + $TANKORADAT = getTankorAdat($tankorId,$tanev); + $TANKORADAT = $TANKORADAT[$tankorId]; + $ADAT['targyId'] = $targyId = $TANKORADAT[0]['targyId']; + $TSZEMESZTEREK = getTankorSzemeszterei($tankorId); + $TOSZTALYOK = getTankorOsztalyai($tankorId, array('result' => 'assoc')); + $TARGYADAT = getTargyById($targyId); + $ADAT['mkId'] = $mkId=$TARGYADAT['mkId']; + } elseif ($targyId != '') { + $TARGYADAT = getTargyById($targyId); + if ($mkId == '') $mkId=$TARGYADAT['mkId']; + } + + if (defined('__TANEV')) $__TANEV = __TANEV; else $__TANEV = ''; + if (isset($targyId) && $targyId!='') { + $TANAROK = getTanarok(array('targyId' => $targyId, 'tanev' => $__TANEV)); + } + if (isset($mkId) && $mkId != '') { + // csak konkrét tárgy esetén veszünk fel tankört... + //$TANAROK = getTanarok(array('mkId' => $mkId, 'tanev' => $__TANEV)); + $MKADAT = getMunkakozossegById($mkId); + $ADAT['targyak'] = getTargyak(array('mkId' => $mkId)); + } else { + // csak konkrét tárgy esetén veszünk fel tankört... + //$TANAROK = getTanarok(); + } + + $TOPOST['tanev'] = $tanev; + $TOPOST['mkId'] = $mkId; + $TOPOST['targyId'] = $targyId; + $TOPOST['osztalyok'] = $TOSZTALYOK; + $TOPOST['szemeszterek'] = $TSZEMESZTEREK; + $TOPOST['tankorTipusId'] = $_POST['tankorTipusId']; + $TOPOST['tankorId'] = $tankorId; + $TOPOST['tankoradat'] = $TANKORADAT[0]; + if ($tankorId!='') { + $TOPOST['tankortanar'] = getTankorTanaraiByInterval($tankorId,array('tanev'=>$tanev,'result'=>'nevsor')); + $TOPOST['tankorcsoport']['idk'] = getTankorCsoportTankoreiByTankorId($tankorId); + $TOPOST['tankorcsoport']['adat'] = getTankorAdatByIds($TOPOST['tankorcsoport']['idk']); + } elseif ($TOPOST['tankorTipusId']!='') { + $TOPOST['tankoradat']['tankorTipusId'] = $TOPOST['tankorTipusId']; // hozzáírjuk ezt is + $TOPOST['tankoradat']['kovetelmeny'] = $_POST['kovetelmeny']; // hozzáírjuk ezt is + $TOPOST['tankoradat']['tipus'] = $_POST['tipus']; // hozzáírjuk ezt is + $TOPOST['osztalyok'][0]['osztalyId'] = $_POST['osztalyId']; // hozzáírjuk ezt is + } + $OSZTALYOK = getOsztalyok($tanev); + + $ADAT['tankorTipusok'] = getTankorTipusok(); + $ADAT['tankorId'] = $tankorId; + $ADAT['tanev'] = $tanev; + $ADAT['tankorOsztalyok'] = getTankorOsztalyaiByTanev($tankorId, $tanev, array('tagokAlapjan'=>true,'result'=>'id')); + $ADAT['tankorCsoportok'] = getTankorCsoport($tanev); // ezt nem használjuk most semmire! + + if ($tanev != '') $SZEMESZTEREK = getSzemeszterek(array('filter' => array("tanev>=$tanev",'tanev<='.($tanev+7)))); + + + $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', 'mkId' => $mkId, 'targyak' => $ADAT['targyak'], 'post' => array('mkId', 'tanev')); +// $TOOL['diakSelect'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array()); +// $TOOL['tanarSelect'] = array('tipus'=>'sor','paramName'=>'tanarId', 'post'=>array()); + $TOOL['tankorSelect'] = array('tipus' => 'cella','paramName' => 'tankorId', 'post' => array('tanev', 'mkId', 'targyId')); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=intezmeny&f=tankorDiak', + 'index.php?page=naplo&sub=intezmeny&f=tankorTanar'), + 'titleConst' => array('_TANKORDIAK'), 'post' => array('tanev'), + 'paramName'=>'tankorId'); + $TOOL['tanevLapozo'] = array('tipus' => 'sor', 'paramName' => 'tanev', + 'post' => array('mkId', 'targyId', 'tankorId'), 'tanev' => $tanev); + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankor.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankor.php new file mode 100644 index 00000000..998fafec --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankor.php @@ -0,0 +1,20 @@ +<?php + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN || __VEZETOSEG) { + + global $mkId,$targyId,$tankorId, $tanev; + global $MKADAT,$TARGYADAT,$TANAROK,$OSZTALYOK,$SZEMESZTEREK,$TOPOST; + global $ADAT; + + if (isset($tankorId) && $tankorId!='' && $ADAT['tanev']==__TANEV) { + putTankornevForm($ADAT); + } + putUjTankorForm($MKADAT,$TARGYADAT,$TANAROK,$OSZTALYOK,$SZEMESZTEREK,$TOPOST,$ADAT); + if (isset($tankorId) && $tankorId!='') { + putTankorTargyForm($ADAT); + putTankorLezarForm($tankorId, $mkId, $targyId, $tanev); + putTankorTorolForm($tankorId, $mkId, $targyId, $tanev); + + } + } +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankorDiak-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankorDiak-pre.php new file mode 100644 index 00000000..70e5df7b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankorDiak-pre.php @@ -0,0 +1,162 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + require_once('include/modules/naplo/share/kepzes.php'); + + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/tankorDiakModifier.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/jegy.php'); + require_once('include/modules/naplo/share/jegyModifier.php'); + require_once('include/modules/naplo/share/hianyzasModifier.php'); + + require_once('include/share/date/names.php'); + + if (isset($_POST['mkId']) && $_POST['mkId'] != '') $mkId = $_POST['mkId']; + if (isset($_POST['targyId']) && $_POST['targyId'] != '') $targyId = $_POST['targyId']; + if (isset($_POST['tankorId']) && $_POST['tankorId'] != '') $tankorId = $_POST['tankorId']; + elseif (isset($_GET['tankorId']) && $_GET['tankorId'] != '') $tankorId = $_GET['tankorId']; + if (isset($_POST['tanev']) && $_POST['tanev'] != '') $tanev = $_POST['tanev']; + + if (!isset($tanev)) $tanev=__TANEV; + $dt = date('Y-m-d'); + $ret = getIdoszakByTanev(array('tanev' => $tanev, 'tipus' => array('tankörnévsor módosítás'), 'tolDt' => $dt, 'igDt' => $dt)); + $modositasiIdoszak = (is_array($ret) && count($ret) > 0); + + $ADAT['diakSelected']=$_POST['diaktorol']; + + if ($tanev!=__TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV; + + $ADAT['tanev'] = $tanev; + + /* Dátumok */ + if (isset($_POST['refDt']) && $_POST['refDt'] != '') $refDt = $_POST['refDt']; + elseif (time()<strtotime($TA['kezdesDt'])) $refDt = $TA['kezdesDt']; + else $refDt = date('Y-m-d'); + + $ADAT['refDt'] = $refDt; + + if (isset($_POST['igDt']) && $_POST['igDt'] != '') $ADAT['igDt'] = $igDt = $_POST['igDt']; + $_POST['tolDt']=$_POST['refDt']; + + + // Le kell kérdeznünk, hogy tanára-e a tankörnek... + if (isset($tankorId) && checkTankorInTanev($tankorId, $tanev)) { + $ADAT['tankor']['tanarai'] = getTankorTanaraiByInterval($tankorId,array('tanev'=>$tanev,'result'=>'nevsor')); + $tanarIds = array(); + for ($i = 0; $i < count($ADAT['tankor']['tanarai']); $i++) + if ($tankorId == $ADAT['tankor']['tanarai'][$i]['tankorId']) + $tanarIds[] = $ADAT['tankor']['tanarai'][$i]['tanarId']; + define('__TANARA',(__TANAR && in_array(__USERTANARID, $tanarIds))); + if ( + $_TANEV['statusz'] == 'aktív' + && ( + __NAPLOADMIN || __VEZETOSEG + || ( + $modositasiIdoszak + && ( __TANARA ) + ) + ) + ) define('__MODOSITHATO', true); + else define('__MODOSITHATO', false); + } // van tankör + if (defined('__MODOSITHATO') && __MODOSITHATO) { + switch ($action) { + case 'tankorUjDiak': + if ($_POST['diakId'] != '') + tankorDiakFelvesz($_POST); + break; + case 'tankorUjDiakMulti': + if ($_POST['diakId'] != '') + for ($i=0; $i<count($_POST['diakId']); $i++) { + $D = $_POST; + $D['diakId'] = $_POST['diakId'][$i]; + tankorDiakFelvesz($D); + } + break; + case 'tankorDiakMod': + $oldCount = count($_SESSION['alert']); + tankorDiakModify($_POST); // és törlés + $ADAT['voltUtkozes'] = ($oldCount < count($_SESSION['alert'])); + break; + } // switch + } // __NAPLOADMIN - mégegyszer - hátha később két szinten szét akarjuk bontani + + // force variables to reload + if (isset($tankorId)) { + $TANKORADAT = getTankorAdat($tankorId,$tanev); + $TANKORADAT[0] = $TANKORADAT[$tankorId][0]; + $ADAT['tankorAdat'] = $TANKORADAT[0]; + $targyId = $TANKORADAT[0]['targyId']; + } + if (isset($targyId)) { + $TARGYADAT = getTargyById($targyId); + $mkId = $TARGYADAT['mkId']; + } + + if (isset($tankorId) && checkTankorInTanev($tankorId, $tanev)) { + $ADAT['tankorId'] = $tankorId; + $ADAT['tanevadat'] = getTanevAdat($tanev); + $ADAT['tankor']['diakjai'] = getTankorDiakjaiByInterval($tankorId, $tanev, $ADAT['refDt'], $ADAT['refDt']); + $ADAT['tankor']['osztalyai'] = getTankorOsztalyaiByTanev($tankorId, $tanev, array('tagokAlapjan' => false, 'result' => 'id')); + $ADAT['tankor']['szemeszterei'] = getTankorSzemeszterei($tankorId); + // !!! Ez az aktuális státuszt és osztály tagságot nézi csak... + // $ADAT['diakok'] = getDiakokByOsztalyId( $ADAT['tankor']['osztalyai'], array('tanev'=>$tanev,'result'=>'assoc')); + // !!! Így a $ADAT['refDt'] szerinti névsort kérdezzük le, megfelelő jogviszony státusszal! + $ADAT['diakok'] = array(); $statuszLista = array('jogviszonyban van', 'magántanuló'); + foreach ($ADAT['tankor']['osztalyai'] as $_osztalyId) { + $tmp = getDiakokByOsztaly($_osztalyId, array('tolDt' => $ADAT['refDt'], 'igDt' => $ADAT['refDt'], 'statusz' => $statuszLista)); + foreach ($statuszLista as $statusz) + foreach ($tmp[$statusz] as $_diakId) + $ADAT['diakok'][$_osztalyId][] = array( + 'diakId' => $_diakId, 'diakNev' => $tmp[$_diakId]['diakNev'], 'beDt' => $tmp[$_diakId]['beDt'], + 'kiDt' => $tmp[$_diakId]['kiDt'], 'statusz' => $statusz + ); + } + $ADAT['diakok']['vendegTanulok'] = getDiakok(array('tolDt' => $ADAT['refDt'], 'igDt' => $ADAT['refDt'], 'statusz' => array('vendégtanuló'))); + foreach($ADAT['diakok'] as $_o=>$_D) for ($i=0; $i<count($_D); $i++) $DIAKIDK[] = $_D[$i]['diakId']; + $ADAT['diakOsztaly'] = getDiakokOsztalyai($ADAT['tankor']['diakjai']['idk'], array('tanev'=>__TANEV)); + $ADAT['diakKepzes'] = getKepzesByDiakId($DIAKIDK, array('result'=>'assoc','dt'=>$ADAT['refDt'])); + $ADAT['diakAdat'] = getDiakAdatById($DIAKIDK,array('result'=>'assoc','keyfield'=>'diakId')); + $ADAT['osztaly'] = getOsztalyok($tanev,array('result'=>'assoc')); + } + // ------------------------------------------------------------------------- + $TOOL['tanevSelect'] = array('tipus'=>'cella','paramName' => 'tanev', + 'tervezett'=>true, + 'post'=>array('mkId','targyId','tankorId','dt')); + $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post'=>array('tanev','dt')); + $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'post'=>array('mkId','tanev','dt')); + $TOOL['tankorSelect'] = array('tipus'=>'cella','paramName'=>'tankorId', 'post'=>array('tanev','mkId','targyId','dt','refDt')); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=tankor'), + 'titleConst' => array('_TANKOR'), 'post' => array('tankorId','mkId','targyId','dt','tanev')); + + $TOOL['tanevLapozo'] = array('tipus'=>'sor','paramName'=>'tanev', 'post'=>array('mkId','targyId','tankorId','dt'), + 'tanev'=>$tanev); + // megj: ha nincs munkaterv, akkor a selectben nem lesz kiválasztva semmi... + $TOOL['datumSelect'] = array( + 'tipus'=>'sor', + 'paramName' => 'refDt', + 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])), + 'igDt' => $TA['zarasDt'], +// 'napTipusok' => array('tanítási nap', 'speciális tanítási nap'), + 'post'=>array('mkId','targyId','tankorId','tanev') + ); + + + getToolParameters(); + + } +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankorDiak.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankorDiak.php new file mode 100644 index 00000000..e2b054df --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankorDiak.php @@ -0,0 +1,17 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (__MODOSITHATO === true) { + if (is_array($ADAT)) { + putTankorDiakForm($ADAT); + putUjDiakForm($ADAT); + putUjDiakForm2($ADAT); + } + } elseif (is_numeric($ADAT['tankorId'])) { + putTankorDiakTablazat($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankorLetszam-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankorLetszam-pre.php new file mode 100644 index 00000000..fce99fcb --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankorLetszam-pre.php @@ -0,0 +1,101 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/jegy.php'); + require_once('include/modules/naplo/share/jegyModifier.php'); //???? + require_once('include/share/date/names.php'); + + $mkId = readVariable($_POST['mkId'],'id'); + $targyId = readVariable($_POST['targyId'],'id'); + $tankorId = readVariable($_POST['tankorId'],'id', readVariable($_GET['tankorId'],'id') ); + $tanev = readVariable($_POST['tanev'],'numeric'); + + $ADAT['osztalyonkent'] = readVariable($_POST['osztalyonkent'],'bool'); + $ADAT['tankorLetszamLimit'] = readVariable($_POST['tankorLetszamLimit'],'numeric'); + $ADAT['targyId'] = readVariable($_POST['targyId'],'id'); + $ADAT['mkId'] = readVariable($_POST['mkId'],'id'); + + if (!isset($tanev)) $tanev=__TANEV; + + if ($tanev!=__TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV; + + $ADAT['tanev'] = $tanev; + + /* Dátumok */ + if (isset($_POST['refDt']) && $_POST['refDt'] != '') $refDt = $_POST['refDt']; + elseif (time()<strtotime($TA['kezdesDt'])) $refDt = $TA['kezdesDt']; + else $refDt = date('Y-m-d'); + + $ADAT['refDt'] = $refDt; + + if (isset($_POST['igDt']) && $_POST['igDt'] != '') $ADAT['igDt'] = $igDt = $_POST['igDt']; + $_POST['tolDt']=$_POST['refDt']; + + // tankörök lekérdzése + if (isset($mkId)) { + $ADAT['tankorok'] = getTankorByMkId($mkId, $tanev); + } elseif (isset($targyId)) { + $ADAT['tankorok'] = getTankorByTargyId($targyId, $tanev, array('idonly'=>false)); + } elseif (isset($osztalyId)) { + $ADAT['tankorok'] = getTankorByOsztalyId($osztalyId, $tanev, array('tanarral' => true)); + } elseif (isset($tanarId)) { + $ADAT['tankorok'] = getTankorByTanarId($tanarId, $tanev, + array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'tanarral' => true) + ); + } else { + // ez kicsit sokáig tart sajnos + $ADAT['tankorok'] = getTankorByTanev($tanev); + } + $lr = db_connect('naplo_intezmeny'); + + for ($i=0; $i<count($ADAT['tankorok']); $i++) { + $_tankorId = $ADAT['tankorok'][$i]['tankorId']; + $ADAT['tankorok'][$i]['letszam'] = getTankorLetszam($_tankorId, array('refDt'=>$ADAT['refDt']), $lr ); + if ($ADAT['osztalyonkent']==1 && $ADAT['tankorok'][$i]['letszam']!=0) $ADAT['tankorok'][$i]['letszamOsztaly'] = getTankorLetszamOsztalyonkent($_tankorId, array('tanev'=>$tanev,'refDt'=>$ADAT['refDt']), $lr ); + //$ADAT['tankorok'][$i]['osztalyai'] = getTankorOsztalyaiByTanev($_tankorId, $tanev, array('result' => 'id', 'tagokAlapjan' => true)); + $ADAT['tankorok'][$i]['tanarai'] = getTankorTanarai($_tankorId, $lr); + } + + db_close($lr); + + //$ADAT['osztaly'] = getOsztalyok($tanev,array('result'=>'assoc')); + // ------------------------------------------------------------------------- + $TOOL['tanevSelect'] = array('tipus'=>'cella','paramName' => 'tanev', + 'tervezett'=>false, + 'post'=>array('mkId','targyId','tankorId','dt')); + $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post'=>array('tanev','dt')); + $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'post'=>array('mkId','tanev','dt')); +// $TOOL['tankorSelect'] = array('tipus'=>'cella','paramName'=>'tankorId', 'post'=>array('tanev','mkId','targyId','dt')); +// $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=tankor'), +// 'titleConst' => array('_TANKOR'), 'post' => array('tankorId','mkId','targyId','dt','tanev')); + + $TOOL['tanevLapozo'] = array('tipus'=>'sor','paramName'=>'tanev', 'post'=>array('mkId','targyId','tankorId','dt'), + 'tanev'=>$tanev,'tervezett'=>false); + + // megj: ha nincs munkaterv, akkor a selectben nem lesz kiválasztva semmi... + $TOOL['datumSelect'] = array( + 'tipus'=>'sor', + 'paramName' => 'refDt', + 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])), + 'igDt' => $TA['zarasDt'], +// 'napTipusok' => array('tanítási nap', 'speciális tanítási nap'), + 'post'=>array('mkId','targyId','tankorId','tanev') + ); + getToolParameters(); + } +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankorLetszam.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankorLetszam.php new file mode 100644 index 00000000..a1e7e6ef --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankorLetszam.php @@ -0,0 +1,8 @@ +<?php + + global $ADAT; + + putTankorLetszam($ADAT); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankorSzemeszter-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankorSzemeszter-pre.php new file mode 100644 index 00000000..d2131894 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankorSzemeszter-pre.php @@ -0,0 +1,122 @@ +<?php + +// 3.1 + + if (_RIGHTS_OK !== true) die(); + + if (__NAPLOADMIN) { + /* Including shared libraries */ + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/intezmeny/tankorTanar.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + + /* Input Variables */ + $mkId = readVariable($_POST['mkId'],'numeric unsigned'); + $tanarId = readVariable($_POST['tanarId'],'numeric unsigned'); + $osztalyId = readVariable($_POST['osztalyId'],'numeric unsigned'); + $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV); + + /* Setting default data */ + if ($tanev != __TANEV) $TA = getTanevAdat($tanev); + else $TA = $_TANEV; + + $ADAT['tanev'] = $tanev; + + // tankörök lekérdzése + if (isset($mkId)) { + $TANKOROK = getTankorByMkId($mkId, $tanev); + } elseif (isset($osztalyId)) { + $TANKOROK = getTankorByOsztalyId($osztalyId, $tanev, array('tanarral' => true)); + } elseif (isset($tanarId)) { + $TANKOROK = getTankorByTanarId($tanarId, $tanev, + array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'tanarral' => true) + ); + } + + // kiegészítő: tankorSzemeszter tábla és szemeszterek lekérdezése + if (is_array($TANKOROK)) { + + $tankorIds = array(); + for ($i = 0; $i < count($TANKOROK); $i++) $tankorIds[] = $TANKOROK[$i]['tankorId']; + $tankorSzemeszterek = getTankorSzemeszterek($tankorIds); + $tankorSzemeszter = array(); + foreach ($tankorSzemeszterek as $tankorId => $tankorAdat) { + for ($i = 0; $i < count($tankorAdat); $i++) { + $tankorSzemeszter[$tankorId][$tankorAdat[$i]['tanev']][$tankorAdat[$i]['szemeszter']] = $tankorAdat[$i]; + } + } + + $ADAT['tankorSzemeszter'] = $tankorSzemeszter; + + $ADAT['szemeszterek'] = $Szemeszterek = getSzemeszterek_spec($tanev-1); + + + // -------- action ------------ // + if ($action == 'tankorSzemeszter') { + if (is_array($_POST['T'])) { + $T = $_POST['T']; + $M = array(); + for ($i = 0; $i < count($T); $i++) { + list($tankorId, $szTanev, $szSzemeszter) = explode('/', $T[$i]); + $name = 'O_'.$tankorId.'_'.$szTanev.'_'.$szSzemeszter; + // Ha kötelezővé akarjuk tenni az óraszám megadását: + // if (isset($_POST[$name]) && $_POST[$name] != '') $M[] = array( +//if (isset($_POST[$name]) && $_POST[$name] != '') $oraszam = readVariable($_POST[$name],'string'); // numeric? + $oraszam = readVariable($_POST[$name], 'float unsigned', 0); +// else $oraszam = 0; + $M[] = array( + 'tankorId' => $tankorId, + 'tanev' => $szTanev, + 'szemeszter' => $szSzemeszter, + 'oraszam' => $oraszam + ); + } + + $tankorNevek = array(); + for ($i = 0; $i < count($TANKOROK); $i++) + $tankorNevek[$TANKOROK[$i]['tankorId']] = $TANKOROK[$i]['tankorNev']; + if (tankorSzemeszterModositas($M, $tankorSzemeszter, $tankorNevek, $Szemeszterek, $TA['zarasDt'])) { + // tankor szemesztereinek újraolvasása + $tankorSzemeszterek = getTankorSzemeszterek($tankorIds); + $tankorSzemeszter = array(); + foreach ($tankorSzemeszterek as $tankorId => $tankorAdat) { + for ($i = 0; $i < count($tankorAdat); $i++) { + $tankorSzemeszter[$tankorId][$tankorAdat[$i]['tanev']][$tankorAdat[$i]['szemeszter']] = $tankorAdat[$i]; + } + } + $ADAT['tankorSzemeszter'] = $tankorSzemeszter; + + } + } + } + + // -------- action ------------ // + + $ADAT['tankorok'] = $TANKOROK; + if (is_array($ADAT['tankorok'])) { + for($i=0; $i<count($ADAT['tankorok']); $i++) { + $_tankorId=$ADAT['tankorok'][$i]['tankorId']; + $ADAT['tankorTanarok'][$_tankorId] = getTankorTanarai($_tankorId); + } + } + + } // van Tankorok + + + // ToolBar + $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['tanarSelect'] = array('tipus'=>'sor','paramName'=>'tanarId', 'post'=>array('tanev')); + $TOOL['osztalySelect'] = array('tipus'=>'sor','paramName'=>'osztalyId', 'post'=>array('tanev')); + getToolParameters(); + + } // NAPLOADMIN +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankorSzemeszter.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankorSzemeszter.php new file mode 100644 index 00000000..c9b5209a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankorSzemeszter.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (is_array($ADAT['tankorok'])) putTankorSzemeszterForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanar-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanar-pre.php new file mode 100644 index 00000000..19fa11ba --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanar-pre.php @@ -0,0 +1,114 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/intezmeny/tankorTanar.php'); + require_once('include/share/date/names.php'); + + $kuuk = $_COOKIE['mayorNaploUzen']; + + $tanev = $ADAT['tanev'] = readVariable($_POST['tanev'], 'numeric unsigned', readVariable($_GET['tanev'], 'numeric unsigned', __TANEV)); + if ($tanev == __TANEV) $TA = $_TANEV; + else $TA = getTanevAdat($tanev); + +//?? Ez mi is ?? + if ($kuuk==$_GET['kuuk']) { + $_POST['tankorId'] = $ADAT['tankorId'] = $tankorId = readVariable($_GET['tankorId'],'numeric'); + } else { + $_POST['tankorId'] = $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'], 'id', readVariable($_GET['tankorId'], 'id')); + } + + if (isset($ADAT['tankorId'])) { + $_POST['mkId'] = $ADAT['mkId'] = $mkId = getTankorMkId($ADAT['tankorId']); + $tmp = current(getTankorAdat($tankorId)); + $ADAT['tankorAdat'] = $tmp[0]; + } else { + $_POST['mkId'] = $ADAT['mkId'] = $mkId = readVariable($_POST['mkId'], 'id', readVariable($_GET['mkId'], 'id')); + } + + /* Dátumok */ + $_POST['refDt'] = $ADAT['refDt'] = $refDt = readVariable($_POST['refDt'], 'date', readVariable($_GET['refDt'], 'date', $TA['kezdesDt'])); + +// if (isset($_POST['igDt']) && $_POST['igDt'] != '') $ADAT['igDt'] = $igDt = $_POST['igDt']; +// else $ADAT['igDt'] = $igDt = $TA['zarasDt']; + $ADAT['igDt'] = $igDt = readVariable($_POST['igDt'], 'date', $TA['zarasDt']); + if (strtotime($igDt) < strtotime($refDt)) $ADAT['igDt'] = $igDt = $refDt; + + $tankorIds = $_POST['tankorok']; + $tankorTanarIds = array(); + foreach ($_POST as $name => $value) if (substr($name, 0, 2) == 'TA') { + $_tankorId = substr($name, 2); + $tankorTanarIds[$_tankorId] = $value; + } + + if (__NAPLOADMIN===true || __VEZETOSEG===true) { + switch ($action) { + case 'tankorTanarAssoc': + if (isset($tanev)) + tankorTanarFelvesz($tankorIds, $tankorTanarIds, $TA, $refDt, $igDt); + break; + case 'tankorTanarTorol': + if ($kuuk == $_GET['kuuk']) { + list($_tankorId,$_tanarId,$_beDt,$_kiDt) = explode('|',readVariable($_GET['tt'],'string')); + tankorTanarTorol($_tankorId,$_tanarId,$_beDt,$_kiDt); + } + break; + case 'tankorTanarJavit': + if ($kuuk == $_GET['kuuk']) { + list($_tankorId,$_tanarId,$_beDt,$_kiDt) = explode('|',readVariable($_GET['tt'],'string')); + tankorTanarJavit($_tankorId,$_tanarId,$_beDt,$refDt); + } + break; + } + } + + if (isset($ADAT['mkId'])) { + if (!isset($tankorId)) { + $ADAT['tanarok'] = getTanarok(array('mkId' => $ADAT['mkId'], 'tanev' => $tanev)); + $ADAT['tankorok'] = getTankorByMkId($ADAT['mkId'], $tanev, array('datumKenyszeritessel' => true, 'tolDt' => $refDt, 'igDt' => $refDt)); + } else { + $ADAT['tanarok'] = getTanarok(array('targyId' => $ADAT['tankorAdat']['targyId'], 'tanev' => $tanev)); + $ADAT['tankorok'] = getTankorByMkId( + $ADAT['mkId'], $tanev, array('filter' => array("tankor.tankorId=$tankorId"), 'datumKenyszeritessel' => true, 'tolDt' => $refDt, 'igDt' => $refDt) + ); + } + } + if (is_array($ADAT['tankorok'])) { + for($i=0; $i<count($ADAT['tankorok']); $i++) { + $_tankorId=$ADAT['tankorok'][$i]['tankorId']; + $ADAT['tankorTanarok'][$_tankorId] = getTankorTanarai($_tankorId); + $ADAT['tankorTanarBejegyzesek'][$_tankorId] = getTankorTanarBejegyzesek($_tankorId); + } + } + + $ADAT['kuuk'] = rand(); + setcookie('mayorNaploUzen',$ADAT['kuuk']); + + $tolDt = (strtotime($TA['kezdesDt'])<time()) ? date('Y-m-d', strtotime('-1 month', strtotime($TA['kezdesDt']))) : date('Y-m-d'); + + $TOOL['tanevSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'tanev', + 'tervezett' => true, 'post' => array('mkId','targyId','tankorId'), 'get'=>array() + ); + $TOOL['munkakozossegSelect'] = array('tipus' => 'cella', 'paramName' => 'mkId', 'post' => array('tanev','refDt'), 'get'=>array()); + $TOOL['tankorSelect'] = array('tipus' => 'cella', 'paramName' => 'tankorId', 'post' => array('tanev','mkId','targyId','refDt'), 'get'=>array()); + $TOOL['datumSelect'] = array( + 'override' => true, + 'tipus' => 'sor', 'paramName' => 'refDt', 'hanyNaponta' => 1, + 'tolDt' => $tolDt, 'igDt' => $TA['zarasDt'], 'post' => array('tanev','mkId','targyId','tankorId'), + ); + + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanar.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanar.php new file mode 100644 index 00000000..b8ce04ec --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanar.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putTankorTanarForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles-pre.php new file mode 100644 index 00000000..3b5f5133 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles-pre.php @@ -0,0 +1,64 @@ +<?php + + 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/tankorModifier.php'); + + $ADAT['szuro'] = array( + 'osztalyok' => getOsztalyok(), + 'munkakozossegek' => getMunkakozossegek(), + 'tanarok' => getTanarok(), + 'targyak' => getTargyak(), + + 'osztalyIds'=>readVariable($_POST['osztalyIds'],'id',array()), + 'mkIds'=>readVariable($_POST['mkIds'],'id',array()), + 'tanarNelkuliTankorok' => readVariable($_POST['tanarNelkuliTankorok'],'bool'), + 'tanarIds'=>readVariable($_POST['tanarIds'],'id',array()), + 'targyIds'=>readVariable($_POST['targyIds'],'id',array()), + ); + foreach ($ADAT['szuro']['targyak'] as $idx => $tAdat) $ADAT['targyAdat'][ $tAdat['targyId'] ] = $tAdat; + + // A szűrőben beállítottnak megefelő tankörök lekérése + $ADAT['tankorok'] = getTankorokBySzuro($ADAT['szuro']); + $ADAT['szuro']['tankorTargyIds'] = array(); + foreach ($ADAT['tankorok'] as $ids => $tAdat) + if (!in_array($tAdat['targyId'], $ADAT['szuro']['tankorTargyIds'])) + $ADAT['szuro']['tankorTargyIds'][] = $tAdat['targyId']; + $ADAT['tanarok'] = getTanarokBySzuro($ADAT['szuro']); + // stat + $ADAT['keszTankorDb'] = 0; + foreach ($ADAT['tankorok'] as $tAdat) if (is_array($tAdat['tanarIds']) && count($tAdat['tanarIds'])>0) $ADAT['keszTankorDb']++; + $ADAT['tankorStat'] = getTankorStat(); + + if ($action == 'tankorTanarFelvesz') { + + $tankorId = readVariable($_POST['tankorId'],'id'); + $tanarId = readVariable($_POST['tanarId'],'id'); + $_JSON = array( + 'post' => $_POST, + 'result' => tankorTanarModosit($tankorId, $tanarId, array('tanev'=>__TANEV)) + ); + + } elseif ($action == 'tankorTanarTorol') { + + $_tankorId = readVariable($_POST['tankorId'],'id'); + $_tanarId = readVariable($_POST['tanarId'],'id'); + tankorTanarTorol($_tankorId,$_tanarId,array('tanev'=>$tanev)); + + $_JSON = array( + 'post' => $_POST, + ); + } + +//dump($ADAT['tanarok']); + + + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles.php b/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles.php new file mode 100644 index 00000000..5b19149a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putStatuszSor($ADAT); + + if (is_array($ADAT['tankorok']) && count($ADAT['tankorok'])>0) putTankorTanarMatrix($ADAT); +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tantargyFelosztas.php b/mayor-orig/www/policy/private/naplo/intezmeny/tantargyFelosztas.php new file mode 100644 index 00000000..d8124253 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tantargyFelosztas.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (is_array($ADAT['tankorok'])) putTankorTanarMatrix($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/terem-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/terem-pre.php new file mode 100644 index 00000000..2fc6e2de --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/terem-pre.php @@ -0,0 +1,42 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/terem.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + + $ADAT['telephelyAdat'] = getTelephelyek(array('result' => 'assoc', 'keyfield' => 'telephelyId')); + $ADAT['telephelyIds'] = array_keys($ADAT['telephelyAdat']); + $ADAT['telephelyId'] = $telephelyId = readVariable($_GET['telephelyId'], 'id', readVariable( + $_POST['telephelyId'], 'id', (isset($_POST['telephelyId'])?null:readVariable(__TELEPHELYID,'id')), $ADAT['telephelyIds'] + ), $ADAT['telephelyId']); + $ADAT['teremAdat'] = getTermek(array('result' => 'assoc', 'keyfield' => 'teremId')); + $ADAT['teremIds'] = array_keys($ADAT['teremAdat']); + $ADAT['teremTipusok'] = getSetField('naplo_intezmeny','terem','tipus'); + $ADAT['teremId'] = readVariable($_POST['teremId'], 'id', readVariable($_GET['teremId'], 'id', null, $ADAT['teremIds']), $ADAT['teremIds']); + + if ($action == 'teremAdatModositas' || $action=='ujTerem') { + + $D['teremId'] = $ADAT['teremId']; + $D['leiras'] = readVariable($_POST['leiras'], 'string'); + $D['ferohely'] = readVariable($_POST['ferohely'], 'numeric unsigned'); + $D['tipus'] = readVariable($_POST['tipus'], 'enum', $ADAT['teremTipusok']); + $D['telephelyId'] = readVariable($_POST['telephelyId'], 'id', readVariable($_GET['telephelyId'], 'id', null, $ADAT['telephelyIds']), $ADAT['telephelyIds']); +//echo '<pre>'; var_dump($ADAT['teremIds']); echo '</pre>'; + + teremAdatModositas($D,($action=='ujTerem')); + + unset($ADAT['teremId']); + } + + $ADAT['teremAdat'] = getTermek(array('result' => 'assoc', 'keyfield' => 'teremId', 'telephelyId' => $telephelyId)); + + $TOOL['telephelySelect'] = array('tipus'=>'cella','paramName' => 'telephelyId', 'post' => array('tanev')); + getToolParameters(); + } +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/terem.php b/mayor-orig/www/policy/private/naplo/intezmeny/terem.php new file mode 100644 index 00000000..f36fb11b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/terem.php @@ -0,0 +1,13 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['teremId'])) { + putTeremForm($ADAT); + } else { + putTeremLista($ADAT); +//NEM TESZTELT! putTeremForm($ADAT); + } +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tovabbkepzes-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/tovabbkepzes-pre.php new file mode 100644 index 00000000..f2eacf29 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tovabbkepzes-pre.php @@ -0,0 +1,112 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN!==true && __TANAR!==true && __VEZETOSEG!==true) $_SESSION['alert'][]='page:insufficient_access'; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/tanarModifier.php'); + + global $SSSHH; + $SSSHH .= "<script type=\"text/javascript\" src=\"https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['timeline','corechart']}]}\"></script>\n"; + + $tanev = $ADAT['tanev'] = readVariable($_POST['tanev'],'numeric',__TANEV); + + if (__TANAR) $tanarId = __USERTANARID; + if (__VEZETOSEG || __NAPLOADMIN) define('__MODOSITHAT',true); + else define('__MODOSITHAT',false); + +/* ------------------------------------------------- */ + if (__MODOSITHAT) { + if ($action=='modTanarTovabbkepzesForduloDt') { + $_tanarId = readVariable($_POST['tanarId'],'id'); + $_forduloDt = readVariable($_POST['forduloDt'],'date'); + $_JSON['result'] = true; + $_JSON['tanarId'] = $_tanarId; + $_JSON['forduloDt'] = $_dt; + $_JSON['result'] = updateTanarAdat($_tanarId,array('tovabbkepzesForduloDt'=>$_forduloDt)); + } elseif ($action=='ujTovabbkepzes') { + $ADAT['tovabbkepzoIntezmenyId'] = readVariable($_POST['tovabbkepzoIntezmenyId'],'id',null); + if (is_null($ADAT['tovabbkepzoIntezmenyId'])) { + $UJINTEZMENY['intezmenyRovidNev'] = readVariable($_POST['intezmenyRovidNev'],'string',null); + $UJINTEZMENY['intezmenyNev'] = readVariable($_POST['intezmenyNev'],'string',null); + if ($UJINTEZMENY['intezmenyRovidNev']!='' && $UJINTEZMENY['intezmenyNev']!='') $ADAT['tovabbkepzoIntezmenyId'] = ujTovabbkepzoIntezmeny($UJINTEZMENY); + } + if ($ADAT['tovabbkepzoIntezmenyId']>0) { + $ADAT['tovabbkepzesNev'] = readVariable($_POST['tovabbkepzesNev'],'string',null); + $ADAT['oraszam'] = intval(readVariable($_POST['oraszam'],'numeric unsigned',null)); + $ADAT['kategoria'] = readVariable($_POST['kategoria'],'string',null); + $ADAT['akkreditalt'] = ($ADAT['kategoria']=='egyéb') ? 0:1; + ujTovabbkepzes($ADAT); + } + } elseif ($action=='modTovabbkepzes') { + $MOD = readVariable($_POST['tovabbkepzesId'],'id',null); + for ($i=0; $i<count($MOD); $i++) { + $ADAT['tovabbkepzesId'] = $MOD[$i]; + $ADAT['tovabbkepzesNev'] = readVariable($_POST['tovabbkepzesNev_'.$MOD[$i]],'string',null); + $ADAT['oraszam'] = intval(readVariable($_POST['oraszam_'.$MOD[$i]],'numeric unsigned',null)); + $ADAT['kategoria'] = readVariable($_POST['kategoria_'.$MOD[$i]],'string',null); + $ADAT['akkreditalt'] = ($ADAT['kategoria']=='egyéb') ? 0:1; + modTovabbkepzes($ADAT); + } + } elseif ($action=='ujTovabbkepzesTanar') { // az egész táblázat egyszerre módosul - lehetne máshogy is + $ADAT['tovabbkepzesId'] = readVariable($_POST['tovabbkepzesId'],'id',null); + $ADAT['tanarId'] = readVariable($_POST['tanarId'],'id',null); + $ADAT['tolDt'] = readVariable($_POST['tolDt'],'date',null); + $ADAT['igDt'] = readVariable($_POST['igDt'],'date',null); + $ADAT['tanusitvanyDt'] = readVariable($_POST['tanusitvanyDt'],'date',null); + $ADAT['tanusitvanySzam'] = readVariable($_POST['tanusitvanySzam'],'string',null); + if ($ADAT['tovabbkepzesId']>0 && $ADAT['tanarId']>0) + ujTovabbkepzesTanar($ADAT); + $MOD = readVariable($_POST['tovabbkepzesTanar'],'string',null); + if (is_array($MOD) && count($MOD)>0) { + for ($i=0;$i<count($MOD); $i++) { + list($_tovabbkepzesId,$_tanarId) = explode('_',$MOD[$i]); + $M = array(); + $M['tovabbkepzesId'] = $_tovabbkepzesId; + $M['tanarId'] = $_tanarId; + $M['tolDt'] = readVariable($_POST['tolDt_'.$_tovabbkepzesId.'_'.$_tanarId],'date',null); + $M['igDt'] = readVariable($_POST['igDt_'.$_tovabbkepzesId.'_'.$_tanarId],'date',null); + $M['tanusitvanyDt'] = readVariable($_POST['tanusitvanyDt_'.$_tovabbkepzesId.'_'.$_tanarId],'date',null); + $M['tanusitvanySzam'] = readVariable($_POST['tanusitvanySzam_'.$_tovabbkepzesId.'_'.$_tanarId],'string',null); + if ($_POST['tovabbkepzesTorles_'.$_tovabbkepzesId.'_'.$_tanarId]=='-') { + delTovabbkepzesTanar($M); + } else { + modTovabbkepzesTanar($M); + } + } + } + } elseif ($action == 'ujTovabbkepzesTE') { + $U = readVariable($_POST['TE'],'string',null); + for ($i=0; $i<count($U); $i++) { + list($_D['tovabbkepzesId'],$_D['tanarId'],$_D['tanev']) = explode('_',$U[$i]); + $_D['reszosszeg'] = readVariable($_POST['reszosszeg_'.$U[$i]],'numeric unsigned',0); + $_D['tamogatas'] = readVariable($_POST['tamogatas_'.$U[$i]],'numeric unsigned',0); + $_D['tovabbkepzesStatusz'] = readVariable($_POST['TE_statusz_'.$U[$i]],'enum','',array('','terv','jóváhagyott','elutasított','megszűnt','megszakadt','teljesített')); +// $_D['tovabbkepzesStatusz'] = readVariable($_POST['TE_statusz_'.$U[$i]],'string',''); + $_D['tavollet'] = readVariable($_POST['tavollet_'.$U[$i]],'string',''); + $_D['helyettesitesRendje'] = readVariable($_POST['helyettesitesRendje_'.$U[$i]],'string',''); + $_D['prioritas'] = readVariable($_POST['prioritas_'.$U[$i]],'string',''); + if ($_D['tovabbkepzesStatusz']=='') delTovabbkepzesTE($_D); + else modTovabbkepzesTE($_D); + } + $keretOsszeg = readVariable($_POST['keretOsszeg'],'numeric unsigned',0); + modKeretOsszeg($ADAT['tanev'],$keretOsszeg); + } + + } +/* ------------------------------------------------- */ + + $ADAT['tovabbkepzoIntezmenyek'] = getTovabbkepzoIntezmenyek(); + $ADAT['tovabbkepzesek'] = getTovabbkepzesek(); + $ADAT['tovabbkepzesTanar'] = getTanarTovabbkepzesek(); + $ADAT['lehetsegesTovabbkepzesek'] = getTanarTovabbkepzesByEv($ADAT['tanev']); + $ADAT['tovabbkepzesTerv'] = getTovabbkepzesTerv($ADAT['tanev']); + $ADAT['tanarok'] = getTanarok( + array('extraAttrs'=>'tovabbkepzesForduloDt','összes'=>true) + ); + $ADAT['tanarTovabbkepzesCiklus'] = getTanarTovabbkepzesCiklus(); + $ADAT['keretOsszeg'] = getKeretosszeg($ADAT['tanev']); + $ADAT['tovabbkepzesFolyamat']=getTanarTovabbkepzesFolyamat(); + $TOOL['tanevSelect'] = array('tipus'=>'cella', 'action' => 'tanevValasztas', 'post' => array(), 'tervezett' => true); + getToolParameters(); +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/tovabbkepzes.php b/mayor-orig/www/policy/private/naplo/intezmeny/tovabbkepzes.php new file mode 100644 index 00000000..160d944b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/tovabbkepzes.php @@ -0,0 +1,12 @@ +<?php + global $ADAT; + + if ($skin != 'ajax') { + putTovabbkepzesTerv($ADAT); + putTovabbkepzesek($ADAT); + if (__NAPLOADMIN || __VEZETOSEG) { + putTanarokTovabbkepzesAdatai($ADAT); + putUjTovabbkepzes($ADAT); + } + } +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/valtas-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/valtas-pre.php new file mode 100644 index 00000000..ec39cdc5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/valtas-pre.php @@ -0,0 +1,58 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + + $intezmeny = readVariable($_POST['intezmeny'], 'strictstring', defined('__INTEZMENY') ? __INTEZMENY : null ); + if ($action == 'intezmenyValasztas') { + if (isset($intezmeny) && $intezmeny !== __INTEZMENY) { + if (updateSessionIntezmeny($intezmeny)) { + if (updateNaploSettings($intezmeny)) + header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas')); + } + } + } + + if (defined('__INTEZMENY') and __INTEZMENY != '') { + $Tanevek = getTanevek(); + $Telephelyek = getTelephelyek(); + $telephelyIds = array(); + if (is_array($Telephelyek)) foreach ($Telephelyek as $index => $tAdat) $telephelyIds[] = $tAdat['telephelyId']; + $tanev = readVariable($_POST['tanev'], 'id', defined('__TANEV') ? __TANEV : null, $Tanevek); + $telephelyId = readVariable($_POST['telephelyId'], 'id', defined('__TELEPHELYID') ? __TELEPHELYID : null, $telephelyIds); + if ($action == 'tanevValasztas') { + if (isset($tanev) && $tanev !== __TANEV) { + if (updateSessionTanev($tanev)) { + header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas')); + } + } + } elseif ($action == 'telephelyValasztas') { + if (isset($telephelyId) && $telephelyId != __TELEPHELYID) { + if (updateSessionTelephelyId($telephelyId)) { + header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas')); + } + } + } + } + $ADAT['tanarok'] = getTanarok(array('extraAttrs'=>'titulus')); + $lr = db_connect('naplo_intezmeny'); + for($i=0; $i<count($ADAT['tanarok']); $i++) { + $_tanarId = $ADAT['tanarok'][$i]['tanarId']; + $ADAT['tanarOsztaly'][$_tanarId] = getOsztalyIdsByTanarId($_tanarId, array('tanev'=>__TANEV,'csakId'=>true),$lr); + $ADAT['tanarMunkakozosseg'][$_tanarId] = getVezetettMunkakozossegByTanarId($_tanarId,array('result'=>'assoc'),$lr); + } + $ADAT['osztalyok'] = getOsztalyok(__TANEV,array('result'=>'assoc'),$lr); + db_close($lr); + + $TOOL['intezmenySelect'] = array('tipus'=>'cella', 'action' => 'intezmenyValasztas', 'post' => array()); + $TOOL['telephelySelect'] = array('tipus'=>'cella', 'action' => 'telephelyValasztas', 'post' => array()); + $TOOL['tanevSelect'] = array('tipus'=>'cella', 'action' => 'tanevValasztas', 'post' => array()); + + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/valtas.php b/mayor-orig/www/policy/private/naplo/intezmeny/valtas.php new file mode 100644 index 00000000..3d15f4de --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/valtas.php @@ -0,0 +1,7 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + global $ADAT; + putTanarLista($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/verseny-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/verseny-pre.php new file mode 100644 index 00000000..e0554b55 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/verseny-pre.php @@ -0,0 +1,54 @@ +<?php + + + if (_RIGHTS_OK !== true) die(); + + + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/verseny.php'); +// $ADAT['versenyek'] = getVersenyek(); +// $ADAT['targyak'] = getTargyak(); + +/* + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + + $intezmeny = readVariable($_POST['intezmeny'], 'strictstring', defined('__INTEZMENY') ? __INTEZMENY : null ); + if ($action == 'intezmenyValasztas') { + if (isset($intezmeny) && $intezmeny !== __INTEZMENY) { + if (updateSessionIntezmeny($intezmeny)) { + if (updateNaploSettings($intezmeny)) + header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas')); + } + } + } + + if (defined('__INTEZMENY') and __INTEZMENY != '') { + $Tanevek = getTanevek(); + $Telephelyek = getTelephelyek(); + $telephelyIds = array(); + if (is_array($Telephelyek)) foreach ($Telephelyek as $index => $tAdat) $telephelyIds[] = $tAdat['telephelyId']; + $tanev = readVariable($_POST['tanev'], 'id', defined('__TANEV') ? __TANEV : null, $Tanevek); + $telephelyId = readVariable($_POST['telephelyId'], 'id', defined('__TELEPHELYID') ? __TELEPHELYID : null, $telephelyIds); + if ($action == 'tanevValasztas') { + if (isset($tanev) && $tanev !== __TANEV) { + if (updateSessionTanev($tanev)) { + header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas')); + } + } + } elseif ($action == 'telephelyValasztas') { + if (isset($telephelyId) && $telephelyId != __TELEPHELYID) { + if (updateSessionTelephelyId($telephelyId)) { + header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas')); + } + } + } + } + + $TOOL['intezmenySelect'] = array('tipus'=>'cella', 'action' => 'intezmenyValasztas', 'post' => array()); + $TOOL['telephelySelect'] = array('tipus'=>'cella', 'action' => 'telephelyValasztas', 'post' => array()); + $TOOL['tanevSelect'] = array('tipus'=>'cella', 'action' => 'tanevValasztas', 'post' => array()); + + getToolParameters(); +*/ +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/verseny.php b/mayor-orig/www/policy/private/naplo/intezmeny/verseny.php new file mode 100644 index 00000000..71d8dd36 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/verseny.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; +// putVersenyek($ADAT); + +// putUjVerseny($ADAT['targyak']); + +?> diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/zaradek-pre.php b/mayor-orig/www/policy/private/naplo/intezmeny/zaradek-pre.php new file mode 100644 index 00000000..f03fbf46 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/zaradek-pre.php @@ -0,0 +1,76 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__TANAR && !__VEZETOSEG && !__NAPLOADMIN && !__TITKARSAG) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/share/date/names.php'); + + $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'numeric unsigned'); + $diakId = $ADAT['diakId'] = readVariable($_POST['diakId'], 'numeric unsigned'); + $ADAT['iktatoszam'] = readVariable($_POST['iktatoszam'], 'string'); + $dt = $ADAT['dt'] = readVariable($_POST['dt'], 'datetime'); + $zaradekIndex = $ADAT['zaradekIndex'] = readVariable($_POST['zaradekIndex'], 'numeric unsigned'); + + if (isset($zaradekIndex)) { + $tmp = explode('%', $Zaradek[$zaradekIndex]['szoveg']); + $ADAT['zaradek'] = $Zaradek[$zaradekIndex]; + $ADAT['params'] = array(); + for ($i=1; $i < count($tmp); $i = $i+2) $ADAT['params'][] = $tmp[$i]; + + if ($action == 'zaradekRogzites') { + $ok = true; + $values = readVariable($_POST['values'], 'string', ''); + $ADAT['csere'] = array(); + for ($i = 0; $i < count($ADAT['params']); $i++) { + $ADAT['csere'][ '%'.$ADAT['params'][$i].'%' ] = $values[$i]; + if ($values[$i] == '') $ok = false; + } + if ($ok) { + if (zaradekRogzites($ADAT)) { + $_SESSION['alert'][] = 'info:success'; + unset($zaradekIndex); unset($ADAT['zaradekIndex']); + } + } else { + $_SESSION['alert'][] = 'message:empty_field'; + } + } + } + if ($action=='zaradekTorles') { + foreach ($_POST as $key => $val) { + list($akt, $zaradekId) = explode('-',$key); + if ($akt == 'del') zaradekTorles($zaradekId); + } + + } + if (isset($diakId)) { + $diakZaradekok = getDiakZaradekok($diakId); + if ($diakZaradekok) $ADAT['diakZaradekok'] = $diakZaradekok; + } + + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('dt')); + $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'post' => array('osztalyId','dt'), + 'statusz' => array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + ); + $TOOL['datumSelect'] = array( + 'tipus'=>'sor', 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'), + 'paramName' => 'dt', 'hanyNaponta' => 1, +// 'tolDt' => date('Y-m-d', strtotime('-1 month', strtotime($_TANEV['kezdesDt']))), + 'tolDt' => $_TANEV['elozoZarasDt'], + 'igDt' => $_TANEV['kovetkezoKezdesDt'], + 'override' => true + ); + if (isset($diakId) && isset($dt)) + $TOOL['zaradekSelect'] = array('tipus' => 'sor', 'paramName' => 'zaradekIndex', 'post' => array('osztalyId', 'diakId', 'dt')); + + + getToolParameters(); + + } diff --git a/mayor-orig/www/policy/private/naplo/intezmeny/zaradek.php b/mayor-orig/www/policy/private/naplo/intezmeny/zaradek.php new file mode 100644 index 00000000..cb55caaa --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/intezmeny/zaradek.php @@ -0,0 +1,11 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['zaradekIndex'])) { + putZaradekForm($ADAT); + } elseif (is_array($ADAT['diakZaradekok']) && count($ADAT['diakZaradekok']) > 0) { + putDiakZaradekok($ADAT); + } diff --git a/mayor-orig/www/policy/private/naplo/koszi/esemenyAdmin-pre.php b/mayor-orig/www/policy/private/naplo/koszi/esemenyAdmin-pre.php new file mode 100644 index 00000000..a74a12e3 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/koszi/esemenyAdmin-pre.php @@ -0,0 +1,83 @@ +<?php + +if (_RIGHTS_OK !== true) die(); + +if (!defined('__KOSZIADMIN')) define('__KOSZIADMIN',memberOf(_USERACCOUNT,'kosziadmin')); + +if (!(__KOSZIADMIN || __NAPLOADMIN)) { /* vagy naploadmin vagy kosziadmin (ez a csoport opcionális!) */ + $_SESSION['alert'][] = 'page:insufficient_access'; +} else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/koszi.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/file.php'); + + $ADAT['kosziEsemenyTipusok'] = getEnumField('naplo_intezmeny', 'kosziEsemeny', 'kosziEsemenyTipus'); + $ADAT['kosziPontTipusok'] = getEnumField('naplo_intezmeny', 'kosziPont', 'kosziPontTipus'); + $ADAT['kosziIgazolok'] = getEnumField('naplo', 'koszi', 'igazolo'); + $ADAT['kosziEsemenyId'] = readVariable($_POST['kosziEsemenyId'], 'id'); + + if ($action=='ujKosziEsemeny') { + + $P['kosziEsemenyTipus'] = readVariable($_POST['kosziEsemenyTipus'],'enum',null,$ADAT['kosziEsemenyTipusok']); + $P['kosziEsemenyNev'] = readVariable($_POST['kosziEsemenyNev'],'string') ; + $P['kosziEsemenyLeiras'] = readVariable($_POST['kosziEsemenyLeiras'],'string') ; + + $ADAT['kosziEsemenyId'] = ujEsemeny($P); + + } elseif ( $action== 'ujPont') { + $P['kosziEsemenyId'] = $ADAT['kosziEsemenyId']; + $P['kosziPontTipus'] = readVariable($_POST['kosziPontTipus'],'enum',null,$ADAT['kosziPontTipusok']); + $P['kosziPont'] = readVariable($_POST['kosziPont'],'id'); + $P['kosziHelyezes'] = readVariable($_POST['kosziHelyezes'],'id'); + + ujKosziPont($P); + } elseif ( $action== 'delKoszi') { + + $P['kosziId'] = readVariable($_POST['kosziId'],'id'); + + delKoszi($P['kosziId']); + + } elseif ( $action== 'ujKoszi') { + + $P['kosziEsemenyId'] = $ADAT['kosziEsemenyId']; + $P['dt'] = readVariable($_POST['dt'],'date'); + $P['tolDt'] = readVariable($_POST['tolDt'],'datetime'); + $P['igDt'] = readVariable($_POST['igDt'],'datetime'); + $P['felev'] = readVariable($_POST['felev'],'id'); + $P['igazolo'] = @implode(',',readVariable($_POST['igazolo'],'enum',null,$ADAT['kosziIgazolok'])); + + $P['diakId'] = readVariable($_POST['diakId'],'id'); + $P['tanarId'] = readVariable($_POST['tanarId'],'id'); + $P['targyId'] = readVariable($_POST['targyId'],'id'); + $P['osztalyfonokId'] = readVariable($_POST['osztalyfonokId'],'id'); + + $kosziId = ujKoszi($P); + + // ez a rész nincs használatban igaziból, de megtartjuk + if (is_array($P['diakId'])) $ig[] = 'diák'; + if (is_array($P['tanarId'])) $ig[] = 'tanár'; + if (is_array($P['osztalyfonokId'])) $ig[] = 'osztályfőnök'; + if (is_array($ig) && isset($kosziId)) { + $P['igazolo'] = implode(',',$ig); + if (is_array($P['diakId'])) kosziIgazolo($kosziId, $P['diakId'],'Diak'); + if (is_array($P['tanarId'])) kosziIgazolo($kosziId, $P['tanarId'],'Tanar'); + if (is_array($P['osztalyfonokId'])) kosziIgazolo($kosziId, $P['osztalyfonokId'],'Of'); + } + } + + if (is_numeric($ADAT['kosziEsemenyId'])) { + $ADAT['kosziPont'] = getKosziPont($ADAT['kosziEsemenyId']); + $ADAT['koszi'] = getKoszi($ADAT['kosziEsemenyId']); + } + $ADAT['kosziEsemenyek'] = getKosziEsemenyek(); + $ADAT['tanarok'] = getTanarok(); + $ADAT['osztalyok'] = getOsztalyok(); + //$ADAT['diakok'] = getDiakok(); + $ADAT['targyak'] = getTargyak(); + +} + +?> diff --git a/mayor-orig/www/policy/private/naplo/koszi/esemenyAdmin.php b/mayor-orig/www/policy/private/naplo/koszi/esemenyAdmin.php new file mode 100644 index 00000000..8dbc95c0 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/koszi/esemenyAdmin.php @@ -0,0 +1,21 @@ +<?php + + global $ADAT; + + echo '<h2>'._ESEMENYMINTAK.'</h2>'; + echo '<div class="kosziline"></div>'; + putKosziEsemenyek($ADAT); + + if (is_numeric($ADAT['kosziEsemenyId'])) { + putKosziPont($ADAT); + + echo '<h2>'._ESEMENYEK_TANEVBEN.'</h2>'; + echo '<div class="kosziline"></div>'; + putUjKoszi($ADAT); + putKoszi($ADAT); + } else { + putUjKosziEsemeny($ADAT); + } + + +?> diff --git a/mayor-orig/www/policy/private/naplo/koszi/koszi-pre.php b/mayor-orig/www/policy/private/naplo/koszi/koszi-pre.php new file mode 100644 index 00000000..8fc1264f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/koszi/koszi-pre.php @@ -0,0 +1,49 @@ +<?php + +if (_RIGHTS_OK !== true) die(); +if (!__DIAK) $_SESSION['alert'][] = 'page:insufficient_access'; +else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/koszi.php'); + require_once('include/modules/naplo/share/file.php'); + + $ADAT['kosziEsemenyTipusok'] = getEnumField('naplo_intezmeny', 'kosziEsemeny', 'kosziEsemenyTipus'); + $ADAT['kosziPontTipusok'] = getEnumField('naplo_intezmeny', 'kosziPont', 'kosziPontTipus'); + $ADAT['kosziIgazolok'] = getEnumField('naplo', 'koszi', 'kosziIgazolo'); + + $ADAT['kosziId'] = readVariable($_POST['kosziId'],'id'); + $ADAT['kosziEsemenyId'] = readVariable($_POST['kosziEsemenyId'], 'id'); + + if ($action=='ujKosziDiak') { + + $P['kosziId'] = readVariable($_POST['kosziId'],'id'); + $P['kosziPontId'] = readVariable($_POST['kosziPontId'],'id') ; + $P['diakId'] = __USERDIAKID; + + if (isset($P['kosziPontId']) && isset($P['kosziId'])) + $result = ujKosziDiak($P); + + } + + $ADAT['koszi'] = getKosziLista(); // tanev + $ADAT['kosziDiakLista'] = getKosziDiakLista(__USERDIAKID); + + if (is_numeric($ADAT['kosziId'])) { + $ADAT['kosziEsemenyId'] = getKosziEsemenyIdByKosziId($ADAT['kosziId']); // template Id - t lekérdezzük a valós esemény által. (béna az elnevezés!!!) + } + + if (is_numeric($ADAT['kosziEsemenyId'])) { + $ADAT['kosziPont'] = getKosziPont($ADAT['kosziEsemenyId']); + } + +} + +/* + $ADAT['tanarok'] = getTanarok(); + $ADAT['osztalyok'] = getOsztalyok(); + $ADAT['diakok'] = getDiakok(); +*/ + +?> diff --git a/mayor-orig/www/policy/private/naplo/koszi/koszi.php b/mayor-orig/www/policy/private/naplo/koszi/koszi.php new file mode 100644 index 00000000..01c7f1c7 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/koszi/koszi.php @@ -0,0 +1,8 @@ +<?php + + global $ADAT; + + putKosziLista($ADAT); + putKosziDiakLista($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/koszi/kosziAdmin-pre.php b/mayor-orig/www/policy/private/naplo/koszi/kosziAdmin-pre.php new file mode 100644 index 00000000..4ad1d537 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/koszi/kosziAdmin-pre.php @@ -0,0 +1,93 @@ +<?php + +//$_SESSION['alert'][] = 'page:insufficient_access'; + + +if (_RIGHTS_OK !== true) die(); +if (!__DIAK && !__TANAR && !__VEZETOSEG && !__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; +} else { + +/* + DESCIPTION + + Az adminisztrátor (kosziIgazoloDiak, kosziIgazoloOf, kosziIgazoloTanar) jóváhagy, elutasítás-ra kattintva + egyesével nyilatkozik a jelentkezés jogosságáról. Esetleg szűrhető konkrét eseményre vagy eseménytípusra. + +*/ + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/koszi.php'); + require_once('include/modules/naplo/share/file.php'); + + define('__KOSZIADMIN',memberOf(_USERACCOUNT,'kosziAdmin')); + + $ADAT['kosziId'] = readVariable($_POST['kosziId'],'id'); + if ($action=='igazol') { + + $P['kosziId'] = readVariable($_POST['kosziId'],'id'); + $P['diakId'] = readVariable($_POST['diakId'],'id'); + $P['accept'] = readVariable($_POST['accept'],'bool'); + $P['decline'] = readVariable($_POST['decline'],'bool'); + $P['kosziPontId'] = readVariable($_POST['kosziPontId'],'id') ; + + /* ellenőrizzük a jogosultságokat is először */ + $kosziJovahagyhato = ( __KOSZIADMIN===true || ( __TANAR===true && kosziJovahagyhatoByTanarId($P['kosziId'],__USERTANARID)) || (__DIAK===true && kosziJovahagyhatoByDiakId($P['kosziId'],__USERDIAKID)) ) ? true : false; + + if ($kosziJovahagyhato===true) { + if ($P['decline']===true) { + kosziElutasit($P['kosziId'],$P['diakId']); + } elseif ($P['accept']===true) { + kosziJovahagy($P['kosziId'],$P['diakId']); + } + } else { + $_SESSION['alert'][] = 'info:insufficient_access'; + } + } + + + $ADAT['kosziIgazolando'] = getKosziDiakIgazolandoLista('',array('diakId'=>__USERDIAKID,'tanarId'=>__USERTANARID,'kosziadmin'=>__KOSZIADMIN)); + $ADAT['diak'] = getDiakok(array('result'=>'assoc')); + + +// -------------------------------------------- + $ADAT['kosziEsemenyTipusok'] = getEnumField('naplo_intezmeny', 'kosziEsemeny', 'kosziEsemenyTipus'); + $ADAT['kosziPontTipusok'] = getEnumField('naplo_intezmeny', 'kosziPont', 'kosziPontTipus'); + $ADAT['kosziIgazolok'] = getEnumField('naplo', 'koszi', 'kosziIgazolo'); + + $ADAT['kosziId'] = readVariable($_POST['kosziId'],'id'); + $ADAT['kosziEsemenyId'] = readVariable($_POST['kosziEsemenyId'], 'id'); + + if ($action=='ujKosziDiak') { + + $P['kosziId'] = readVariable($_POST['kosziId'],'id'); + $P['kosziPontId'] = readVariable($_POST['kosziPontId'],'id') ; + $P['diakId'] = __USERDIAKID; + + if (isset($P['kosziPontId']) && isset($P['kosziId'])) + $result = ujKosziDiak($P); + + } + + $ADAT['koszi'] = getKosziLista(); // tanev + $ADAT['kosziDiakLista'] = getKosziDiakLista(__USERDIAKID); + + if (is_numeric($ADAT['kosziId'])) { + $ADAT['kosziEsemenyId'] = getKosziEsemenyIdByKosziId($ADAT['kosziId']); // template Id - t lekérdezzük a valós esemény által. (béna az elnevezés!!!) + } + + if (is_numeric($ADAT['kosziEsemenyId'])) { + $ADAT['kosziPont'] = getKosziPont($ADAT['kosziEsemenyId']); + } + + +/* + $ADAT['tanarok'] = getTanarok(); + $ADAT['osztalyok'] = getOsztalyok(); + $ADAT['diakok'] = getDiakok(); +*/ + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/koszi/kosziAdmin.php b/mayor-orig/www/policy/private/naplo/koszi/kosziAdmin.php new file mode 100644 index 00000000..8c0bbae1 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/koszi/kosziAdmin.php @@ -0,0 +1,10 @@ +<?php + + global $ADAT; + +// putKosziLista($ADAT); +// putKosziDiakLista($ADAT); + + putKosziIgazolandoLista($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/naplo-pre.php b/mayor-orig/www/policy/private/naplo/naplo-pre.php new file mode 100644 index 00000000..85dfa076 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/naplo-pre.php @@ -0,0 +1,22 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/modules/naplo/share/intezmenyek.php'); + + $intezmeny = readVariable($_POST['intezmeny'], 'strictstring', defined('__INTEZMENY') ? __INTEZMENY : null); + if ($action == 'intezmenyValasztas') { + if (isset($intezmeny) && $intezmeny !== __INTEZMENY) { + if (updateSessionIntezmeny($intezmeny)) { + header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas')); + } + } + } + + /* TOOL */ + $TOOL['intezmenySelect'] = array('tipus' => 'sor', 'post' => array(), 'action' => 'intezmenyValasztas'); + + getToolParameters(); + if (__TANAR) $beirasiAdatok['beiratlan'] = getBeirasiAdatok(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/naplo.php b/mayor-orig/www/policy/private/naplo/naplo.php new file mode 100644 index 00000000..0d3fc41d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/naplo.php @@ -0,0 +1,15 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $beirasiAdatok; + // if (__TANAR) putBeirasiAdatok($beirasiAdatok); + // else putBeirasiAdatokDiak(); + + echo '<script type="text/javascript">includeCSS(\'/skin/classic/module-naplo/css/hirnok/hirnok.css\')</script>'; + echo ajaxUpdaterForm('hirnok','index.php?page=naplo&sub=hirnok&f=hirnok',array(),'post',true); + + echo '<script type="text/javascript">includeCSS(\'/skin/classic/module-naplo/css/uzeno/uzeno.css\')</script>'; + echo ajaxUpdaterForm('uzenoKozep','index.php?page=naplo&sub=uzeno&f=uzeno',array(),'post',true); + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/beiskolazasiTerv-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/beiskolazasiTerv-pre.php new file mode 100644 index 00000000..d7b85953 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/beiskolazasiTerv-pre.php @@ -0,0 +1,37 @@ +<?php + if (_RIGHTS_OK !== true) die(); + + define('_TIME',strtotime(date('Y-m-d'))); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + $ADAT['tanev'] = $tanev = readVariable($_GET['tanev'], 'numeric unsigned', 2015); + + if (isset($tanev)) { // input ok + + require_once('include/share/print/pdf.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/file.php'); + + // Adatok lekérdezése + $ADAT['file'] = fileNameNormal('beiskolazasiTerv-'.$tanev.'-'.date('Y-m-d')); + $ADAT['tanarok'] = getTanarok(array('result'=>'assoc','összes'=>true)); + $ADAT['tanulmanyiEgyseg'] = getBeiskolazasiTerv($tanev); + + $printFile = beiskolazasNyomtatvanyKeszites($ADAT); + $printFile = fileNameNormal($printFile); + + if ($printFile !== false && file_exists(_DOWNLOADDIR."/$policy/$page/$sub/$f/$printFile")) + header('Location: '.location('index.php?page=session&f=download&download=true&dir='.$page.'/'.$sub.'/'.$f.'&file='.$printFile)); + + + } + + } +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/beiskolazasiTerv.php b/mayor-orig/www/policy/private/naplo/nyomtatas/beiskolazasiTerv.php new file mode 100644 index 00000000..bc70f948 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/beiskolazasiTerv.php @@ -0,0 +1,6 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas-pre.php new file mode 100644 index 00000000..0143e7e9 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas-pre.php @@ -0,0 +1,88 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + define('_TIME',strtotime(date('Y-m-d'))); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/share/print/pdf.php'); + require_once('include/modules/naplo/osztalyozo/stat.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/targy.php'); + + $ADAT['magatartasIdk'] = getMagatartas(); + $ADAT['szorgalomIdk']= getSzorgalom(); + + // melyik szemeszter adatait nézzük + if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') { + $szemeszterId = $_POST['szemeszterId']; + } elseif (!isset($_POST['szemeszterId'])) { + for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) { + if ( + strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME + && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME + ) { + $_POST['szemeszterId'] = $szemeszterId = $_TANEV['szemeszter'][$i]['szemeszterId']; + break; + } + } + } + if (isset($_POST['sorrendNev']) && $_POST['sorrendNev'] != '') $ADAT['sorrendNev'] = $sorrendNev = $_POST['sorrendNev']; + + if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $_POST['osztalyId']; } + elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $_OSZTALYA[0]; $_POST['osztalyId'] = $osztalyId; } + + if (isset($szemeszterId)) { + + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + define('__ZARO_SZEMESZTER', $ADAT['szemeszterAdat']['szemeszter'] == $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']); + + $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev']); + if (isset($osztalyId)) { + + define('__OSZTALYFONOKE', (__OSZTALYFONOK === true && in_array($osztalyId, $_OSZTALYA))); + + // intézmény adatok + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); + // osztály statisztikák + $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['szemeszterAdat']['tanev']); + // Az adott szemeszterben létezik-e az osztály + for ($i = 0; ($i < count($Osztalyok) && $Osztalyok[$i]['osztalyId'] != $osztalyId); $i++); + if ($i < count($Osztalyok)) { + $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'])); + for ($i = 0; $i < count($ADAT['diakok']); $i++) $ADAT['diakIds'][] = $ADAT['diakok'][$i]['diakId']; + $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev); + //for ($i = 0; $i < count($ADAT['targyak']); $i++) $ADAT['targyAdat'][ $ADAT['targyak'][$i]['targyNev'] ] = $ADAT['targyak'][$i]['targyId']; + $ADAT['tanarok'] = getTanarokByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat']); + $ADAT['jegyek'] = getDiakZarojegyek($ADAT['diakIds'], $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter']); + $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszterAdat']); + + /* A pdfBizonyítvány ezeket használja: szemeszterAdat|intezmeny|diakok|jegyek|hianyzas|osztaly|targyAdat|targyak*/ + $file = fileNameNormal('bizonyitvany-'.$ADAT['szemeszterAdat']['tanev'].'-'.$ADAT['szemeszterAdat']['szemeszter'].'-'.str_replace('.','',$ADAT['osztaly']['osztalyJel'])); + if (pdfBizonyitvany($file, $ADAT)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/bizonyitvanyNyomtatas&file='.$file.'.pdf')); + } else { + unset($osztalyId); + } + + } + } + + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') ,'post' => array('sorrendNev', 'osztalyId')); + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev')); + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas.php b/mayor-orig/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas.php diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/diakAdatlap-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/diakAdatlap-pre.php new file mode 100644 index 00000000..3219920b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/diakAdatlap-pre.php @@ -0,0 +1,135 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__TITKARSAG && !__TANAR) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/szulo.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/share/date/names.php'); + require_once('include/share/str/tex.php'); + require_once('include/share/print/pdf.php'); + + $fields = array( + 'anyaszuloId','anyanevElotag','anyacsaladinev','anyautonev','anyaszuleteskoricsaladinev','anyaszuleteskoriutonev','anyanem','anyacimOrszag', + 'anyacimIrsz','anyacimHelyseg','anyacimKozteruletNev','anyacimKozteruletJelleg','anyacimHazszam','anyacimEmelet','anyacimAjto','anyamobil', + 'anyatelefon','anyaemail','anyauserAccount','anyafoglalkozas','anyamunkahely','anyaszuletesiEv','anyaszuloNev','anyaStat','anyastatusz', + + 'apaszuloId','apanevElotag','apacsaladinev','apautonev','apaszuleteskoricsaladinev','apaszuleteskoriutonev','apanem','apacimOrszag', + 'apacimIrsz','apacimHelyseg','apacimKozteruletNev','apacimKozteruletJelleg','apacimHazszam','apacimEmelet','apacimAjto','apamobil', + 'apatelefon','apaemail','apauserAccount','apafoglalkozas','apamunkahely','apaszuletesiEv','apaszuloNev','apaStat','apastatusz', + + 'gondviseloszuloId','gondviselonevElotag','gondviselocsaladinev','gondviseloutonev','gondviseloszuleteskoricsaladinev','gondviseloszuleteskoriutonev','gondviselonem','gondviselocimOrszag', + 'gondviselocimIrsz','gondviselocimHelyseg','gondviselocimKozteruletNev','gondviselocimKozteruletJelleg','gondviselocimHazszam','gondviselocimEmelet','gondviselocimAjto','gondviselomobil', + 'gondviselotelefon','gondviseloemail','gondviselouserAccount','gondviselofoglalkozas','gondviselomunkahely','gondviseloszuletesiEv','gondviseloszuloNev','gondviseloStat','gondviselostatusz', + + 'neveloszuloId','nevelonevElotag','nevelocsaladinev','neveloutonev','neveloszuleteskoricsaladinev','neveloszuleteskoriutonev','nevelonem','nevelocimOrszag', + 'nevelocimIrsz','nevelocimHelyseg','nevelocimKozteruletNev','nevelocimKozteruletJelleg','nevelocimHazszam','nevelocimEmelet','nevelocimAjto','nevelomobil', + 'nevelotelefon','neveloemail','nevelouserAccount','nevelofoglalkozas','nevelomunkahely','neveloszuletesiEv','neveloszuloNev','neveloStat','nevelostatusz', + ); + $ADAT['base'] = array_fill_keys($fields, ''); + + $tanev = readVariable($_POST['tanev'], 'numeric unsigned', defined('__TANEV')?__TANEV:null ); + if ($tanev != __TANEV) $TA = getTanevAdat($tanev); + else $TA = $_TANEV; + $diakId = readVariable($_POST['diakId'],'id'); + $osztalyId = readVariable($_POST['osztalyId'],'id'); + + $ADAT['szocialisHelyzet'] = getSetField('naplo_intezmeny', 'diak', 'szocialisHelyzet'); + $ADAT['penzugyiStatusz'] = getEnumField('naplo_intezmeny', 'diak', 'penzugyiStatusz'); + $ADAT['fogyatekossag'] = getSetField('naplo_intezmeny', 'diak', 'fogyatekossag'); + $ADAT['kozteruletJelleg'] = getEnumField('naplo_intezmeny', 'diak', 'lakhelyKozteruletJelleg'); + + if (isset($diakId)) { + $ADAT['base']['diak'] = array($diakId); + } elseif (isset($osztalyId)) { + $_DIAKOK = getDiakok(array('osztalyId'=>$osztalyId,'tanev'=>$tanev,'result'=>'csakId')); // Ennek a függvénynek a szerkezete nyáron megváltozott! + for ($i=0; $i<count($_DIAKOK); $i++) + $ADAT['base']['diak'][] = $_DIAKOK[$i]['diakId']; + } + list($ADAT['base']['ev'],$ADAT['base']['honap'],$ADAT['base']['nap']) = explode('-', date('Y-m-d')); + $intezmeny = getIntezmenyByRovidnev(__INTEZMENY); + foreach ($intezmeny as $attr => $value) $ADAT['base']['intezmeny'.$attr] = $value; + $Szulok = getSzulok(); + $Osztalyok = getOsztalyok($tanev, array('result' => 'assoc')); + $ADAT['base']['hoNev'] = kisbetus($Honapok[ $ADAT['base']['honap'] - 1 ]); + $ADAT['file'] = 'diakAdatlap'; + + if (is_array($ADAT['base']['diak'])) + for ($i=0; $i<count($ADAT['base']['diak']); $i++) { + $diakId = $ADAT['base']['diak'][$i]; + $diakAdat = getDiakAdatById($diakId); + + // Lekérdezzük a diák tényleges jogviszony adatait... + $DJ = getDiakJogviszony($diakId); + $diakAdat['jogviszony'] = array(); + // Összes bejegyzés ("ciklussal" iratható ki) + foreach ($DJ as $key => $jAdat) $diakAdat['jogviszony'][] = array('dt' => dateToString($jAdat['dt']), 'statusz' => $jAdat['statusz']); + // Max. 5 bejegyzés (külön-külön, fix 10 db mező) + for ($j = 0; $j < 5; $j++) $diakAdat['jvDt'.$j] = $diakAdat['jvStat'.$j] = ''; + foreach ($DJ as $key => $jAdat) { + $diakAdat['jvDt'.$key] = dateToString($jAdat['dt']); + $diakAdat['jvStat'.$key] = $jAdat['statusz']; + } + foreach ($diakAdat as $attr => $value) if (!is_array($value)) $diakAdat[$attr] = LaTeXSpecialChars($value); + list($diakAdat['szuletesiEv'],$diakAdat['szuletesiHonap'],$diakAdat['szuletesiNap']) = explode('-', $diakAdat['szuletesiIdo']); + $diakAdat['szuletesiHoNev'] = kisbetus($Honapok[ $diakAdat['szuletesiHonap'] - 1 ]); + list($diakAdat['jogviszonyKEv'],$diakAdat['jogviszonyKHonap'],$diakAdat['jogviszonyKNap']) = explode('-', $diakAdat['jogviszonyKezdete']); + $diakAdat['jogviszonyKHoNev'] = kisbetus($Honapok[ $diakAdat['jogviszonyKHonap'] - 1 ]); + list($diakAdat['jogviszonyVEv'],$diakAdat['jogviszonyVHonap'],$diakAdat['jogviszonyVNap']) = explode('-', $diakAdat['jogviszonyVege']); + $diakAdat['jogviszonyVHoNev'] = kisbetus($Honapok[ $diakAdat['jogviszonyVHonap'] - 1 ]); + $diakAdat['torvenyesKepviselo'] = str_replace(',', ', ', $diakAdat['torvenyesKepviselo']); + $diakAdat['anyaNev'] = $Szulok[ $diakAdat['anyaId'] ]['szuleteskoriCsaladinev']? + trim(implode(' ', array( + $Szulok[ $diakAdat['anyaId'] ]['szuleteskoriNevElotag'], + $Szulok[ $diakAdat['anyaId'] ]['szuleteskoriCsaladinev'], + $Szulok[ $diakAdat['anyaId'] ]['szuleteskoriUtonev'] + ))):$Szulok[ $diakAdat['anyaId'] ]['szuloNev']; + foreach (array('anya','apa','gondviselo','nevelo') as $szt) { // szt=szuloTipus + $szulo = $Szulok[ $diakAdat[$szt.'Id'] ]; + if (is_array($szulo)) { + foreach ($szulo as $attr => $value) $diakAdat[$szt.$attr] = LaTeXSpecialChars($value); + if ($diakAdat[$szt.'statusz']=='elhunyt') $diakAdat[$szt.'Stat'] = '\dag'; + elseif ($diakAdat[$szt.'statusz']=='házas') $diakAdat[$szt.'Stat'] = '$\infty$'; + elseif ($diakAdat[$szt.'statusz']=='egyedülálló') $diakAdat[$szt.'Stat'] = '$\odot$'; + elseif ($diakAdat[$szt.'statusz']=='hajadon / nőtlen') $diakAdat[$szt.'Stat'] = '$\oslash$'; + elseif ($diakAdat[$szt.'statusz']=='elvált') $diakAdat[$szt.'Stat'] = '$\triangleleft\ominus\triangleright$'; + elseif ($diakAdat[$szt.'statusz']=='özvegy') $diakAdat[$szt.'Stat'] = '$\oplus$'; + elseif ($diakAdat[$szt.'statusz']=='élettársi kapcsolatban él') $diakAdat[$szt.'Stat'] = '$\circ\circ$'; + else $diakAdat[$szt.'Stat'] = $diakAdat[$szt.'statusz'].''; + } + } + $diakAdat['fogyatekossag'] = str_replace(',',', ',$diakAdat['fogyatekossag']); + $diakAdat['szocialisHelyzet'] = str_replace(',',', ',$diakAdat['szocialisHelyzet']); + $diakAdat['osztaly'] = getDiakOsztalya($diakId, array('tanev'=>$tanev)); + $diakAdat['osztalyJel'] = $Osztalyok[ $diakAdat['osztaly'][0]['osztalyId'] ]['kezdoTanev'].'-'. + ($Osztalyok[ $diakAdat['osztaly'][0]['osztalyId'] ]['vegzoTanev']+1).'/'.nagybetus($Osztalyok[ $diakAdat['osztaly'][0]['osztalyId'] ]['jel']); + + $ADAT['diak'][ $diakId ] = $diakAdat; + + } + if (count($ADAT['diak']) > 0) { + $printFile = fileNameNormal(nyomtatvanyKeszites($ADAT)); + if ($printFile !== false && file_exists(_DOWNLOADDIR."/$policy/$page/$sub/$f/$printFile")) + header('Location: '.location("index.php?page=session&f=download&download=true&dir=$page/$sub/$f/&file=$printFile")); + } + + + // ToolBar + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'action' => 'tanevValasztas', 'post' => array('tanev','diakId')); + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'tanev' => $tanev, 'post' => array('tanev')); + $TOOL['diakSelect'] = array('tipus'=>'cella', 'tanev'=>$tanev, 'osztalyId' => $osztalyId, + 'statusz' => array('jogviszonyban van','vendégtanuló','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva'), + 'post' => array('tanev','osztalyId') + ); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/diakAdatlap.php b/mayor-orig/www/policy/private/naplo/nyomtatas/diakAdatlap.php new file mode 100644 index 00000000..05d4467e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/diakAdatlap.php @@ -0,0 +1,8 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes-pre.php new file mode 100644 index 00000000..77912c56 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes-pre.php @@ -0,0 +1,71 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/share/date/names.php'); + require_once('include/share/print/pdf.php'); + + global $_TANEV, $Honapok; + + $ADAT['leadasiHatarido'] = '2008. június 9.'; + list($ev, $ho, $nap) = explode('-', readVariable($_POST['leadasiHatarido'], 'date')); + $ADAT['leadasiHatarido'] = "$ev. ".kisbetus($Honapok[$ho-1])." $nap."; + $ADAT['osztalyIds'] = readVariable($_POST['osztalyId'], 'numeric unsigned'); + if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') { + $szemeszterId = $_POST['szemeszterId']; + } else { + $_felev = getFelevByDt(date('Y-m-d')); + $szemeszterId = getKovetkezoSzemeszterId($_TANEV['szemeszter'][$_felev]['tanev'],$_TANEV['szemeszter'][$_felev]['szemeszter']); + } + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + $ADAT['tanev'] = $tanev = $ADAT['szemeszterAdat']['tanev']; + $ADAT['szemeszterId'] = $szemeszterId; + //igaziból nem kéne blokkba szervezni... var_dump($ADAT['szemeszterAdat']['statusz']=='aktív'); + // intézmény adatok + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); +// $refDt = ($ADAT['szemeszterAdat']['kezdesDt']); + $ADAT['tankorBlokkok'] = getTankorBlokkok($tanev); + $ADAT['valasztott'] = getValasztottTankorok($tanev, $ADAT['szemeszterAdat']['szemeszter'], $ADAT['osztalyIds']); + $ADAT['diakIds'] = array(); + if (is_array($ADAT['valasztott']['felvett'])) foreach ($ADAT['valasztott']['felvett'] as $diakId => $tankorIds) { + $ADAT['diakIds'][] = $diakId; + } + $ADAT['diakAdat'] = getDiakokById($ADAT['diakIds']); + $ADAT['diakOsztaly'] = getDiakokOsztalyai($ADAT['diakIds'], array('tanev' => $tanev)); + $ADAT['osztalyok'] = getOsztalyok($tanev, array('result'=>'assoc')); + + // A TeX forrás generálása - A5-ös méretben + if ($action == 'pdfGeneralas') { + $TeX = texLevelGeneralas($ADAT); + if (pdfLaTeX($TeX, 'faktJelentkezes-A5-'.date('Y-m-d'))) { + + // Az A5-ös lapok A4-es lapra helyezése + $TeX = '\documentclass[a4paper,landscape]{article}'."\n"; + $TeX .= '\usepackage[final]{pdfpages}'."\n"; + $TeX .= '\begin{document}'."\n"; + $TeX .= '\includepdf[nup=2x1, pages={-}]{faktJelentkezes-A5-'.date('Y-m-d').'.pdf}'."\n"; + $TeX .= '\end{document}'."\n"; + $fileName = fileNameNormal('faktJelentkezes-A4-'.date('Y-m-d')); + if (pdfLaTeX($TeX, $fileName)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/diakTankorJelentkezes&file='.$fileName.'.pdf')); + } + } + + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName'=>'szemeszterId', 'post'=>array('diakId'), + 'tanev'=>$tanev); + + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes.php b/mayor-orig/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes.php new file mode 100644 index 00000000..f57afdc5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes.php @@ -0,0 +1,12 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + +global $ADAT; + + putNyomtatasiBeallitasok($ADAT); +//echo '<pre>'; +//var_dump($ADAT['osztalyok']); +//echo '</pre>'; + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/ertesito-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/ertesito-pre.php new file mode 100644 index 00000000..53e644f1 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/ertesito-pre.php @@ -0,0 +1,101 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + define('_TIME',strtotime(date('Y-m-d'))); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/share/print/pdf.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/osztalyozo/stat.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/targy.php'); + + $ADAT['magatartasIds'] = getMagatartas(); + $ADAT['szorgalomIds']= getSzorgalom(); + + // melyik szemeszter adatait nézzük + if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') { + $szemeszterId = $_POST['szemeszterId']; + } elseif (!isset($_POST['szemeszterId'])) { + for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) { + if ( + strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME + && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME + ) { + $_POST['szemeszterId'] = $szemeszterId = $_TANEV['szemeszter'][$i]['szemeszterId']; + break; + } + } + } + $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'bizonyítvány', array('napló','bizonyítvány','anyakönyv','ellenőrző','egyedi')); + + if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $_POST['osztalyId']; } + elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $_OSZTALYA[0]; $_POST['osztalyId'] = $osztalyId; } + + if (isset($szemeszterId)) { + + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + define('__ZARO_SZEMESZTER', $ADAT['szemeszterAdat']['szemeszter'] == $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']); + + $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev']); + if (isset($osztalyId)) { + + define('__OSZTALYFONOKE', (__OSZTALYFONOK === true && in_array($osztalyId, $_OSZTALYA))); + $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId, $ADAT['szemeszterAdat']['tanev']); // TODO: ellenőrzés: evfolyam --> evfolyamJel + + // intézmény adatok + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); + // osztály statisztikák + $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['szemeszterAdat']['tanev']); + // Az adott szemeszterben létezik-e az osztály + for ($i = 0; ($i < count($Osztalyok) && $Osztalyok[$i]['osztalyId'] != $osztalyId); $i++); + if ($i < count($Osztalyok)) { + $ADAT['diakok'] = getDiakok(array( + 'result' => 'assoc', 'osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'], + 'tolDt' => $ADAT['szemeszterAdat']['zarasDt'], 'igDt' => $ADAT['szemeszterAdat']['zarasDt']) + ); + $ADAT['diakIds'] = array_keys($ADAT['diakok']); + $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev); + $ADAT['jegyek'] = getDiakZarojegyekByEvfolyamJel($ADAT['diakIds'], $ADAT['evfolyamJel'], $ADAT['szemeszterAdat'], array('felevivel'=>true)); // TODO: ellenőrzés + $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszterAdat']); + + for ($i=0; $i<count($ADAT['diakIds']); $i++) { + $diakId = intval($ADAT['diakIds'][$i]); + $hianyzasAdat = $ADAT['hianyzas'][$diakId]; + $ADAT['hianyzas'][$diakId]['igazolatlan'] + = $hianyzasAdat['igazolatlan'] + = floor($hianyzasAdat['kesesPercOsszeg']/45)+intval($hianyzasAdat['igazolatlan']); + } + + /* A pdfBizonyítvány ezeket használja: szemeszterAdat|intezmeny|diakok|jegyek|hianyzas|osztaly|targyAdat|targyak*/ + $ADAT['file'] = fileNameNormal('ertesito-'.$ADAT['szemeszterAdat']['tanev'].'-'.$ADAT['szemeszterAdat']['szemeszter'].'-'.str_replace('.','',$ADAT['osztaly']['osztalyJel'])); + if ($fileName = pdfErtesito($ADAT)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/ertesito&file='.$fileName)); + } else { + unset($osztalyId); + } + + } + } + + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') ,'post' => array('sorrendNev', 'osztalyId')); + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev')); + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId')); + + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/ertesito.php b/mayor-orig/www/policy/private/naplo/nyomtatas/ertesito.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/ertesito.php diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/haladasinaplo-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/haladasinaplo-pre.php new file mode 100644 index 00000000..1943dc92 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/haladasinaplo-pre.php @@ -0,0 +1,212 @@ +<?php + +if (_RIGHTS_OK !== true) die(); + +if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) { + $_SESSION['alert'][] = 'page:insufficient_access'; +} else { + + $ADAT['tanev'] = $tanev = __TANEV; + $ADAT['tanevAdat'] = $_TANEV; + $tolDt = $ADAT['tanevAdat']['kezdesDt']; + $igDt = $ADAT['tanevAdat']['zarasDt']; + // Mert hétfőtől, vagy csütörtöktől kezdődik a nyomtatott napló!!! +//$tolDt='2011-11-31'; + if (date('w',strtotime($tolDt)) > 4 || date('w',strtotime($tolDt))==0) $tolDt=date('Y-m-d',strtotime('LAST Thursday',strtotime($tolDt))); + elseif (date('w',strtotime($tolDt))!=1) $tolDt=date('Y-m-d',strtotime('LAST MONDAY',strtotime($tolDt))); + + if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') $osztalyId = $_POST['osztalyId']; + + require_once('include/modules/naplo/share/osztaly.php'); + + if (isset($osztalyId)) { + + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/nyomtatas/tex.php'); + require_once('include/share/date/names.php'); + require_once('include/share/str/hyphen.php'); + require_once('include/share/str/tex.php'); + + + $ADAT['intezmenyAdat'] = getIntezmenyByRovidnev(__INTEZMENY); + // Tanárok adatai + $ADAT['tanarok'] = getTanarok($Param = array('tanev' => $tanev, 'result' => 'assoc')); + // osztály adatainak lekérdezése + $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId); + $ADAT['munkatervId'] = getMunkatervByOsztalyId($osztalyId); + $ADAT['nevsor'] = getDiakok(array( + 'osztalyId' => $osztalyId, 'tanev' => $tanev, + 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + )); + $ADAT['tankorok'] = getTankorByOsztalyId($osztalyId, $ADAT['tanev'], array('csakId' => false, 'tanarral' => true)); + $ADAT['naploTankor'] = getNaploTankorei($osztalyId); + $ADAT['tankorNaploja'] = getTankorokNaploja(); + $ADAT['napok'] = reindex(getTanevNapjai( getMunkatervByOsztalyId($osztalyId) ), array('dt')); + // osztályok lekérdezése + $ADAT['osztalyId'] = $osztalyId; + $ADAT['osztalyok'] = getOsztalyok(); + $ADAT['osztalyJele'] = array(); + for ($i =0; $i < count($ADAT['osztalyok']); $i++) { + $ADAT['osztalyJele'][ $ADAT['osztalyok'][$i]['osztalyId'] ] = $ADAT['osztalyok'][$i]['osztalyJel']; + if ($osztalyId == $ADAT['osztalyok'][$i]['osztalyId']) { + $ADAT['osztalyJel'] = $ADAT['osztalyok'][$i]['osztalyJel']; + $ADAT['ofo'] = $ADAT['osztalyok'][$i]['osztalyfonokNev']; + } + } + for ($i = 0; $i < count($ADAT['tankorok']); $i++) { + $_tankorId = $ADAT['tankorok'][$i]['tankorId']; + $_osztalyId = $ADAT['tankorNaploja'][$_tankorId]; + if ($_osztalyId!==null) { + $targyNev .= ' ('.$ADAT['osztalyJele'][$_osztalyId].')'; + $tmp = $ADAT['tankorok'][$i]; $tmp['tanarok'] = array(); + foreach ($ADAT['tankorok'][$i]['tanarok'] as $tanarAdat) $tmp['tanarok'][] = $tanarAdat['tanarNev']; + $ADAT['tankorokNaploElejere'][] = $tmp; + } + } +//-----------------------------------------------------------------------/ + $ret = getTargyakByOsztalyId($osztalyId, $tanev); + $ADAT['magatartasId'] = getMagatartas(array('result' => 'value')); + $ADAT['szorgalomId'] = getSzorgalom(array('result' => 'value')); + $ADAT['ofoTargyId'] = getOsztalyfonoki(array('result' => 'value')); +//echo '<pre>'; var_dump($ADAT['ofoTargyId']); echo '</pre>'; + for ($i = 0; $i < count($ret); $i++) { + $ADAT['targyAdat'][ $ret[$i]['targyId'] ] = $ret[$i]; + $szavak = explode(' ', ($huHyphen->hyphen(trim($ret[$i]['targyNev'])))); + $ADAT['targyAdat'][ $ret[$i]['targyId'] ]['tordeltTargyNev'] = tordel($szavak); + $ADAT['targyAdat'][ $ret[$i]['targyId'] ]['tankor'] = array(); + //if ($ret[$i]['targyNev'] == 'osztályfőnöki') $ADAT['ofoTargyId'] = $ret[$i]['targyId']; + } + for ($i = 0; $i < count($ADAT['tankorok']); $i++) { + $ADAT['targyAdat'][ $ADAT['tankorok'][$i]['targyId'] ]['db']++; + $tankorId = $ADAT['tankorok'][$i]['tankorId']; + $targyId = $ADAT['tankorok'][$i]['targyId']; + if (is_array($ADAT['naploTankor']) && in_array($tankorId, $ADAT['naploTankor'])) { +// $ADAT['naploTargyak'][$targyId][] = $tankorId; + $ADAT['targyAdat'][$targyId]['tankor'][] = $tankorId; + $ADAT['tankorTargy'][$tankorId] = $targyId; + if ($ADAT['tankorok'][$i]['targyId'] == $ADAT['ofoTargyId']) $ADAT['ofoTankorId'] = $tankorId; +// else $ADAT['oszlopTankore'][] = $tankorId; + } + } + $ADAT['targyFejlec'] = $ADAT['oszlopTankore'] = array(); $db = 0; + $ADAT['helyek'] = array(6,15,15,15); $Foglalt = array(0,0,0,0); $lap = 0; + foreach ($ADAT['targyAdat'] as $targyId => $tAdat) { + + if ( + count($tAdat['tankor']) == 0 + || $targyId == $ADAT['ofoTargyId'] + || $targyId == $ADAT['magatartasId'] + || $targyId == $ADAT['szorgalomId'] + ) continue; + + $tDb = count($tAdat['tankor']); + $tmp = array('targyId' => $targyId, 'sorsz' => 1); + while ($tDb > 0) { + $szabad = $ADAT['helyek'][$lap] - $Foglalt[$lap]; + + $db = min($szabad, $tDb); + $tmp['db'] = $db; + $ADAT['targyFejlec'][$lap][] = $tmp; + $Foglalt[$lap] += $db; + $tmp['sorsz'] += $db; + $tDb -= $db; + if ($ADAT['helyek'][$lap] == $Foglalt[$lap]) $lap++; + } + // Ha 21-nél több tankör van és nem jön ki pont 21-re a tárgy határ +/* + if ($db < 21 && $db + count($tAdat['tankor']) > 21) while ($db < 21) { + $ADAT['oszlopTankore'][] = ''; + $db++; + } +*/ + for ($i = 0; $i < count($tAdat['tankor']); $i++) { + $tankorId = $tAdat['tankor'][$i]; + if ($tankorId != $ADAT['ofoTankorId']) { + $ADAT['oszlopTankore'][] = $tankorId; + $db++; + } + } + } + // Tanuló-tankör mátrix + $ADAT['diakIds'] = array(); + for ($i = 0; $i < count($ADAT['nevsor']); $i++) { + $ADAT['diakTankor'][ $ADAT['nevsor'][$i]['diakId'] ] = getTankorByDiakId( + $ADAT['nevsor'][$i]['diakId'], $tanev, + array('csakId' => true, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'', 'jelenlet'=>'' ) + ); + $ADAT['diakIds'][] = $ADAT['nevsor'][$i]['diakId']; + $ADAT['diakAdat'][ $ADAT['nevsor'][$i]['diakId'] ] = $ADAT['nevsor'][$i]; + } + // Órák lekérdezése + getNaploOrak($ADAT); + getNaploHianyzasok($ADAT); + + // Melyik tárgyhoz mely (és hány) tankörök tartoznak + + $filename = str_replace(' ','','Haladasi_'.date('Ymd').'_'.$ADAT['osztalyAdat']['osztalyJel']); + + $content = ''. + + putTeXHaladasiOldalbeallitas(). + + putTeXElolap($ADAT). + putTeXLapdobas(). + putTeXDefineFootline($ADAT['osztalyJel'], $ADAT['ofo']). + putTeXTanuloTankorMatriX($ADAT). + putTeXLapdobas(). + + putTeXUresLap(). + + putTeXAllandoFejlec(). + putTeXOrarendMacro(); // putTechPage1 és putTechPage3-ban kell majd paraméteresen meghívni + + $dt = $tolDt; + while(strtotime($dt)<=strtotime($igDt)) { + $ADAT['tanitasiNapOk'] = array(); + $vanOra = false; // Ha a három nap egyikén sincs óra akkor ne rakjuk ki ezeket a napokat... + for ($i = 0; $i < 3; $i++) { + $ADAT['tanitasiNapOk'][$i] = date('Y-m-d',strtotime('+'.$i.' days',strtotime($dt))); + if (count($ADAT['orak'][ $ADAT['tanitasiNapOk'][$i] ])) $vanOra = true; + } + if ($vanOra) { + $content .= + putTeXPage1($ADAT). + putTeXLapdobas(). + putTeXPage2($ADAT). + putTeXLapdobas(). + ''; + + if (count($ADAT['oszlopTankore']) > 21) + $content .= + putTeXPage34($ADAT). + putTeXLapdobas(); + } + $dt = date('Y-m-d',strtotime('+3 days',strtotime($dt))); + if (date('w', strtotime($dt)) == 0) $dt = date('Y-m-d', strtotime('+1 day', strtotime($dt))); // == vasárnap... + } + + + $content .= endTeXDocument(); + + $filename = fileNameNormal($filename); + if (!defined('_TEX_ERROR') && generatePDF($filename, _DOWNLOADDIR.'/private/nyomtatas/haladasi', $content, __NYOMTATAS_FUZETKENT === true)) { + header('Location: '.location('index.php?page=session&f=download&download=true&dir=nyomtatas/haladasi&file='.$filename.'.pdf')); + } + + } + + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array()); + getToolParameters(); + +} + + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/haladasinaplo.php b/mayor-orig/www/policy/private/naplo/nyomtatas/haladasinaplo.php new file mode 100644 index 00000000..0807e2d6 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/haladasinaplo.php @@ -0,0 +1,6 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/helyettesitesinaplo-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/helyettesitesinaplo-pre.php new file mode 100644 index 00000000..ba48545e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/helyettesitesinaplo-pre.php @@ -0,0 +1,39 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/share/print/pdf.php'); + require_once('include/share/str/tex.php'); + + $tolDt = readVariable($_POST['tolDt'], 'datetime'); + $igDt = readVariable($_POST['igDt'], 'datetime'); + if (defined('__TANEV')) { + if (!isset($tolDt)) $tolDt = $_TANEV['kezdesDt']; + if (!isset($igDt)) $igDt = date('Y-m-d'); + initTolIgDt(__TANEV, $tolDt, $igDt); + } + + if ($action == 'naploGeneralas') { + + $filename = fileNameNormal('helyettesitesiNaplo-'.date('Y-m-d')); + if (naploGeneralas($filename, $tolDt, $igDt)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/helyettesitesinaplo&file='.$filename.'.pdf')); + + } + + $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt', + 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'hanyNaponta' => 1, 'post'=>array('osztalyId', 'diakId', 'targySorrend') + ); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/helyettesitesinaplo.php b/mayor-orig/www/policy/private/naplo/nyomtatas/helyettesitesinaplo.php new file mode 100644 index 00000000..404b92b3 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/helyettesitesinaplo.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $tolDt, $igDt; + + putDownloadForm($tolDt, $igDt); + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/nyomtatas-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/nyomtatas-pre.php new file mode 100644 index 00000000..f22d3af1 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/nyomtatas-pre.php @@ -0,0 +1,6 @@ +<?php + + if (!__TITKARSAG) header('Location: '.location('index.php?page=naplo&sub=nyomtatas&f=tankorNaplohozRendeles')); + else header('Location: '.location('index.php?page=naplo&sub=nyomtatas&f=ertesito')); + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/nyomtatas.php b/mayor-orig/www/policy/private/naplo/nyomtatas/nyomtatas.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/nyomtatas.php diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/osztalyozonaplo-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/osztalyozonaplo-pre.php new file mode 100644 index 00000000..2a6515dc --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/osztalyozonaplo-pre.php @@ -0,0 +1,157 @@ +<?php + +if (_RIGHTS_OK !== true) die(); + +if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) { + $_SESSION['alert'][] = 'page:insufficient_access'; +} else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/szulo.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/nyomtatas/tex.php'); + require_once('include/share/date/names.php'); + require_once('include/share/str/tex.php'); + + $osztalyId = readVariable($_POST['osztalyId'], 'id'); + + if (isset($osztalyId)) { + + require_once('include/share/str/hyphen.php'); + + // Adatok lekérése + + /* Az évfolyam meghatározása, osztály alapján */ + $evfolyamJel = getEvfolyamJel($osztalyId); //TODO: ellenőrzés (evfolyam-->evfolyamJel) + // tanítási napok száma az aláíró ív záradékához + $NSz = getNapokSzama(array('osztalyId' => $osztalyId)); + $ADAT['tanitasiNapokSzama'] = $NSz['tanítási nap']+$NSz['speciális tanítási nap']; + + if ($evfolyamJel=='') die('VÉGZETES HIBA o-pre.php'); + + /* Tanárok kigyűjtése */ + $_TANKOROK = getOsztalyTankorei($osztalyId); + $_TANAROK = array(); + for ($i=0; $i<count($_TANKOROK); $i++) { + $_tankorId = $_TANKOROK[$i]['tankorId']; + $_res = getTankorTanaraiByInterval($_tankorId, array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'nevsor')); + for ($j=0; $j<count($_res); $j++) { + if (!in_array($_res[$j]['tanarNev'],$_TANAROK)) $_TANAROK[] = $_res[$j]['tanarNev']; + } + } + reset($_TANAROK); + sort($_TANAROK); + $ADAT['tanarok'] = $_TANAROK; + unset($_TANAROK); +// $ADAT['diakTankorei'] = array(); + + // == Osztály adatai == // + $ADAT['honapok'] = array(); + for ( + $dt = date('Y-m-01', strtotime($_TANEV['kezdesDt'])); + strtotime($dt) <= strtotime($_TANEV['zarasDt']); + $dt = date('Y-m-01', strtotime('+1 month', strtotime($dt))) + ) $ADAT['honapok'][] = substr($dt, 5, 2); + if (count($ADAT['honapok']) != 10 && __OSZTALYOZONAPLO_JEGYEK_FELEVENTE !== true) $_SESSION['alert'][] = 'message:wrong_data:hónapok száma '.count($ADAT['honapok']).' != 10'; + $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId); + $ADAT['targyak'] = getTanevTargySorByOsztalyId($osztalyId, __TANEV, 'napló'); + // Feltételezzük, hogy csak egyféle magatartás, illetve szorgalom tárgy lehet... + list($ADAT['targyak']['magatartasId']) = getMagatartas(); + list($ADAT['targyak']['szorgalomId']) = getSzorgalom(); + for ($i = 0; $i < count($ADAT['targyak']); $i++) { + if (isset($ADAT['targyak'][$i]['targyNev'])) + $ADAT['targyak'][$i]['elvalasztott'] = str_replace( + array(' -', '--', '-', '~'), + array(' ', '~', '\-', '-'), + $huHyphen->hyphen(trim($ADAT['targyak'][$i]['targyNev'])) + ); + } + + $ADAT['diakAdat'] = $ADAT['diakIds'] = array(); + // diákok lekérdezése jogviszony és osztály tagság adatokkal + $diakByOsztaly = getDiakokByOsztaly($osztalyId, array('orderBy' => 'naploSorszam', 'tanev' => $tanev, 'statusz' => array('jogviszonyban van','magántanuló','vendégtanuló') )); + $ADAT['diakIds'] = array_values( + array_diff(array_keys($diakByOsztaly), array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva','felvételt nyert')) + ); + $ret = getDiakAdatById($ADAT['diakIds']); + for ($i = 0; $i < count($ret); $i++) { + $ADAT['diakAdat'][ $ret[$i]['diakId'] ] = array_merge($ret[$i], $diakByOsztaly[ $ret[$i]['diakId'] ]); + $ADAT['diakTargy'][ $ret[$i]['diakId'] ] = getTargyakByDiakId($ret[$i]['diakId'], + array('result'=>'idonly', 'osztatlyId' => $osztalyId, 'csakOratervi'=>true, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'filter' => 'kovetelmeny') + ); //TODO getTargyakByDiakId() itt a visszatérési érték változott, evfolyam, evfolyamJel is van! ellenőrizni kell! +//echo '<pre>'; var_dump($ret2); echo '</pre>'; + + $diakKiDts[ $ret[$i]['diakId'] ] = $diakByOsztaly[ $ret[$i]['diakId'] ]['osztalyDiak'][0]['kiDt']; // mikor lépett ki a diák az osztályból + } + unset($ret); + unset($diakByOsztaly); + + foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) { + $ADAT['hianyzas'][$szemeszter] = getDiakHianyzasOsszesites($ADAT['diakIds'], $szAdat, $diakKiDts); + // Az egész szorgalmi időszak alatt szerzett osztályzatokra szükség van! (szükség van?) + $szAdat['zarasDt'] = $_TANEV['zarasDt']; + $szAdat['kezdesDt'] = $_TANEV['kezdesDt']; + $ADAT['zaroJegy'][$szemeszter] = getDiakZarojegyekByEvfolyamJel($ADAT['diakIds'], $evfolyamJel, $szAdat); //TODO: ellenőrizni, evfolyam-->evfolyamJel!!! + } + $ADAT['jegyek'] = getDiakJegyek($ADAT); + $ADAT['szulok'] = getSzulok(); + // TeX generálás + $filename = fileNameNormal('Osztalyozo_'.date('Ymd').'_'.$ADAT['osztalyAdat']['osztalyJel']); + $lapDobasok = 0; + $content = + + putTeXOsztalyozoOldalbeallitas(). +// putTeXOldalbeallitasok(). +// putTeXMakrok(). + + putTeXDefineFootline($ADAT['osztalyAdat']['osztalyJel'], $ADAT['osztalyAdat']['osztalyfonokNev']); + + // Tanulónként egy-egy lap.... + for ($i = 0; $i < count($ADAT['diakIds']); $i++) { + $sorsz = $i+1; // Napló sorszám + $diakId = $ADAT['diakIds'][$i]; + $cn = $ADAT['diakAdat'][$diakId]['diakNev']; + $birthlocality = $ADAT['diakAdat'][$diakId]['szuletesiHely']; + $birthtimestamp = $ADAT['diakAdat'][$diakId]['szuletesiIdo']; + //$content .= putTeXOsztalyozoFejlec($sorsz,$cn,$birthlocality,$birthtimestamp); + //$content .= putTeXOsztalyozoJegyek($diakId, $ADAT); + //$content .= putTeXOsztalyozoAdatok($diakId, $ADAT); + //$content .= putTeXLapdobas(); + //$lapDobasok++; + $iGlobal = 0; // Ha nem férne ki 20 helyre a tárgyak listája... + while ($iGlobal < count($ADAT['targyak'])) { + $content .= putTeXOsztalyozoFejlec($sorsz,$cn,$birthlocality,$birthtimestamp); + $content .= putTeXOsztalyozoJegyek($diakId, $ADAT, $iGlobal); + $content .= putTeXOsztalyozoAdatok($diakId, $ADAT); + $content .= putTeXLapdobas(); + $lapDobasok++; + } + } + + $content .= putTeXTanarLista($ADAT, $lapDobasok).putTeXLapdobas(); + $content .= endTeXDocument(); + + $filename = str_replace('/','_',$filename); + if (generatePDF($filename, _DOWNLOADDIR.'/private/nyomtatas/osztalyozo', $content, __NYOMTATAS_FUZETKENT === true)) { + if (count($_SESSION['alert']) == 0) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=nyomtatas/osztalyozo&file='.$filename.'.pdf')); + else + $ADAT['letoltes'] = 'index.php?page=session&f=download&download=true&dir=nyomtatas/osztalyozo&file='.$filename.'.pdf'; + } + + } + + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array()); + getToolParameters(); + +} + + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/osztalyozonaplo.php b/mayor-orig/www/policy/private/naplo/nyomtatas/osztalyozonaplo.php new file mode 100644 index 00000000..864c5486 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/osztalyozonaplo.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['letoltes'])) putLetoltesLink($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv-pre.php new file mode 100644 index 00000000..72e34994 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv-pre.php @@ -0,0 +1,105 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/share/date/names.php'); + require_once('include/share/print/pdf.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/sni.php'); + require_once('include/modules/naplo/share/tankor.php'); + + // Paraméterek + $diakId = readVariable($_POST['diakId'], 'id'); + if (isset($diakId)) $ADAT['diakIds'] = array($diakId); + $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id'); + if (isset($osztalyId)) { + // Az osztály tagjai + $ADAT['diakIds'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'idonly','override' => false)); + } + if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) { + // Intézmény adatai + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); + // Osztály adatai + if (isset($osztalyId)) $ADAT['osztaly'] = getOsztalyAdat($osztalyId, __TANEV); + // A tanárok + $ADAT['tanarok'] = getTanarok(array('result' => 'assoc')); + // Az osztály tanárai + // nincs feltétlen osztály // +/* + $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV, array('tanarral' => true)); + $ADAT['osztalyTanar'] = array(); $paros = false; + for ($i = 0; $i < count($Tankorok); $i++) { + for ($j = 0; $j < count($Tankorok[$i]['tanarok']); $j++) { + if (!is_array($ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ])) { + $ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ] = $ADAT['tanarok'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ]; + $ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ]['paros'] = $paros; + $paros = !$paros; + + } + } + } +*/ + if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) { + // a diákok alapadatai + $ADAT['diakAdat'] = getDiakAdatById($ADAT['diakIds'], array('result' => 'assoc', 'keyfield' => 'diakId')); + // SNI-s diákok kiválogatása... + $ADAT['sniDiakIds'] = $Diakok = array(); + foreach ($ADAT['diakAdat'] as $_diakId => $dAdat) { + if ($dAdat['fogyatekossag'] != '') { + $ADAT['sniDiakIds'][] = $_diakId; + $dAdat['aktualisStatusz'] = $dAdat['statusz']; + $Diakok[] = $dAdat; + } + } + } + + + // sni-s diákokon végigmenve: + foreach ($ADAT['sniDiakIds'] as $diakId) { + // Mentor/Ofő lekérdezése, konstans beállítása + $sniDA = getSniDiakAdat($diakId); + if (!is_array($sniDA)) $sniDA = array(); + $DA = array_merge($ADAT['diakAdat'][$diakId], $sniDA); + if (is_array($DA['felelos'])) foreach ($DA['felelos'] as $key => $tanarId) $felelos[$tanarId] = array(); + else $felelos = array(); + $DA['felelos'] = $felelos; + // A hónapokon végigmenve + $ho = intval(substr($_TANEV['kezdesDt'],5,2)); + $dt = date('Y-m-01', strtotime($_TANEV['kezdesDt'])); + while ($ho != 1+substr($_TANEV['zarasDt'],5,2)) { + $ADAT['diakAdat'][$diakId]['honap'][$ho] = getHaviOsszegzes($diakId, $dt); + $ADAT['diakAdat'][$diakId]['honap'][$ho]['hoNev'] = kisbetus($Honapok[$ho-1]); + // lépés a következő hónapra + $ho++; if ($ho > 12) $ho = 1; + $dt = date('Y-m-d', strtotime('next month', strtotime($dt))); + } + } + if (isset($osztalyId)) $ADAT['file'] = fileNameNormal('evVegiJegyzokonyv-'.$ADAT['osztaly']['osztalyJel'].'-'.str_replace('-','',$dt)); + else $ADAT['file'] = fileNameNormal('evVegiJegyzokonyv-'.$diakId.'-'.str_replace('-','',$dt)); + if (generateJegyzokonyv($ADAT)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/sniEvVegiJegyzokonyv&file='.$ADAT['file'].'.pdf')); + + } + // Tool + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('dt')); + $TOOL['diakSelect'] = array( + // 'diakok' => $Diakok, + 'tipus'=>'cella','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId'), + 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + ); + + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv.php b/mayor-orig/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv.php new file mode 100644 index 00000000..a2208099 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv.php @@ -0,0 +1 @@ +<?php if (_RIGHTS_OK !== true) die(); ?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv-pre.php new file mode 100644 index 00000000..951f9b4e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv-pre.php @@ -0,0 +1,93 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/share/date/names.php'); + require_once('include/share/print/pdf.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/sni.php'); + require_once('include/modules/naplo/share/tankor.php'); + + // Paraméterek + $dt = readVariable($_POST['dt'], 'date'); + if (!isset($dt)) { + $tolTime = strtotime($_TANEV['kezdesDt']); + $igTime = min(time(), strtotime($_TANEV['zarasDt'])); + $dt = $_TANEV['kezdesDt']; + for ($t = $tolTime; $t <= $igTime; $t = strtotime("next month", $t)) $dt = date('Y-m-d', $t); + } + $ADAT['dt'] = $dt; + $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id'); + if (isset($osztalyId)) { + // Intézmény adatai + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); + // Osztály adatai + $ADAT['osztaly'] = getOsztalyAdat($osztalyId, __TANEV); + // A tanárok + $ADAT['tanarok'] = getTanarok(array('result' => 'assoc')); + // Az osztály tanárai + $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV, array('tanarral' => true)); + $ADAT['osztalyTanar'] = array(); $paros = false; + for ($i = 0; $i < count($Tankorok); $i++) { + for ($j = 0; $j < count($Tankorok[$i]['tanarok']); $j++) { + if (!is_array($ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ])) { + $ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ] = $ADAT['tanarok'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ]; + $ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ]['paros'] = $paros; + $paros = !$paros; + + } + } + } + // Az osztály tagjai + $ADAT['diakIds'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'idonly','override' => false)); + if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) { + // a diákok alapadatai + $ADAT['diakAdat'] = getDiakAdatById($ADAT['diakIds'], array('result' => 'assoc', 'keyfield' => 'diakId')); + // SNI-s diákok kiválogatása... + $ADAT['sniDiakIds'] = $Diakok = array(); + foreach ($ADAT['diakAdat'] as $_diakId => $dAdat) { + if ($dAdat['fogyatekossag'] != '') { + $ADAT['sniDiakIds'][] = $_diakId; + $dAdat['aktualisStatusz'] = $dAdat['statusz']; + $Diakok[] = $dAdat; + } + } + } + + + // sni-s diákokon végigmenve: + foreach ($ADAT['sniDiakIds'] as $diakId) { + // Mentor/Ofő lekérdezése, konstans beállítása + $sniDA = getSniDiakAdat($diakId); + if (!is_array($sniDA)) $sniDA = array(); + $tmpArray = array_merge($ADAT['diakAdat'][$diakId], $sniDA, getHaviOsszegzes($diakId, $dt)); + if (is_array($tmpArray['felelos'])) foreach ($tmpArray['felelos'] as $key => $tanarId) $felelos[$tanarId] = array(); + else $felelos = array(); + $tmpArray['felelos'] = $felelos; + $ADAT['diakAdat'][$diakId] = $tmpArray; + } + $ADAT['file'] = fileNameNormal('haviJegyzokonyv-'.$ADAT['osztaly']['osztalyJel'].'-'.str_replace('-','',$dt)); + if (generateJegyzokonyv($ADAT)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/sniHaviJegyzokonyv&file='.$ADAT['file'].'.pdf')); + + } + // Tool + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('dt')); + $TOOL['datumSelect'] = array( + 'tipus' => 'sor', 'ParamName' => 'dt', 'tanev' => __TANEV, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'hanyNaponta' => 'havonta', 'post' => array('diakId', 'osztalyId') + ); + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv.php b/mayor-orig/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv.php new file mode 100644 index 00000000..a2208099 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv.php @@ -0,0 +1 @@ +<?php if (_RIGHTS_OK !== true) die(); ?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/szovegesErtekeles-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/szovegesErtekeles-pre.php new file mode 100644 index 00000000..0f7bdd81 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/szovegesErtekeles-pre.php @@ -0,0 +1,78 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/szovegesErtekeles.php'); + require_once('include/share/date/names.php'); + require_once('include/share/print/pdf.php'); + require_once('include/modules/naplo/share/file.php'); + + $ADAT['tanev'] = $tanev = __TANEV; + if ($tanev == __TANEV) $ADAT['tanevAdat'] = $TA = $_TANEV; + else $ADAT['tanevAdat'] = $TA = getTanevAdat($tanev); + + // A dátum, osztály és diákok kiválasztása + $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'numeric unsigned', null); + if (isset($szemeszterId)) { // szemesztert záró értékelés - intézményi adatbázis + $ADAT['szemeszter'] = getSzemeszterAdatById($ADAT['szemeszterId']); + $ADAT['dt'] = $dt = $ADAT['szemeszter']['zarasDt']; + } else { + $condition = strtotime($TA['kezdesDt']).'<=strtotime($return) && strtotime($return)<='.strtotime($TA['zarasDt']); + $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', null, array(), $condition); + $ADAT['tolDt'] = $tolDt = readVariable($_POST['tolDt'], 'datetime', $_TANEV['kezdesDt'], array(), $condition); + } + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); + $ADAT['targySorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'bizonyítvány', array('napló','bizonyítvány','anyakönyv','ellenőrző','egyedi')); + $diakIds = array(); + if (isset($osztalyId)) { + $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev); + $ADAT['file'] = fileNameNormal('szovegesErtekeles-'.str_replace('.', '', $ADAT['osztalyAdat']['osztalyJel'])); + $Diakok = getDiakok(array('osztalyId' => $osztalyId, 'tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt, + 'statusz'=>array('jogviszonyban van'), 'extraAttrs'=>'oId as oktatasiAzonosito,torzslapSzam')); + if (is_array($Diakok)) for ($i = 0; $i < count($Diakok); $i++) { + $diakIds[] = $Diakok[$i]['diakId']; + $ADAT['diakAdat'][$Diakok[$i]['diakId']] = $Diakok[$i]; + } + } + $diakId = readVariable($_POST['diakId'], 'numeric unsigned', null, $diakIds); + if (isset($diakId)) $diakIds = array($diakId); + $ADAT['diakIds'] = $diakIds; + + if (count($ADAT['diakIds']) > 0 && (isset($ADAT['dt']) || isset($ADAT['szemeszterId']))) { + $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszter']); + $printFile = nyomtatvanyKeszites($ADAT); // ??? + $printFile = fileNameNormal($printFile); + if ($printFile !== false && file_exists(_DOWNLOADDIR."/$policy/$page/$sub/$f/$printFile")) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/szovegesErtekeles&file='.$printFile)); + } + +// $TOOL['datumSelect'] = array( +// 'tipus' => 'cella', 'post' => array('diakId','osztalyId'), +// 'paramName' => 'dt', 'hanyNaponta' => 1, 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])), 'igDt' => $TA['zarasDt'] +// ); + $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'dt', + 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])), 'igDt' => $TA['zarasDt'], + 'hanyNaponta' => 1, 'post' => array('osztalyId','diakId','sorrendNev') + ); + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tolDt', 'tolDt', 'dt','sorrendNev')); + if (isset($osztalyId)) + $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'diakok' => $Diakok, 'post' => array('osztalyId', 'tolDt', 'dt','sorrendNev')); + $TOOL['szemeszterSelect'] = array( + 'tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , + 'post' => array('osztalyId', 'tanarId', 'diakId', 'tolDt', 'dt', 'tankorId', 'kepzesId', 'evfolyam','sorrendNev') + ); + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId','diakId','tolDt','dt','tankorId','kepzesId','evfolyam')); + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/szovegesErtekeles.php b/mayor-orig/www/policy/private/naplo/nyomtatas/szovegesErtekeles.php new file mode 100644 index 00000000..c24a85d5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/szovegesErtekeles.php @@ -0,0 +1,5 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles-pre.php new file mode 100644 index 00000000..232b406b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles-pre.php @@ -0,0 +1,58 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) { + $_SESSION['alert'][] = 'message:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + + $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned'); + + // Az egy osztályhoz rendelt tankörök betöltése a naplóba - de csak azoknál az osztályoknál, ahol nincs hozzárendelés még + tankorNaploInit(); + + // Az adott szemeszter tanköreit lekérdezzük + $ADAT['tankorok'] = getTankorByTanev(__TANEV); + $ADAT['tankorIds'] = $ADAT['tankorNeve'] = array(); + for ($i = 0; $i < count($ADAT['tankorok']); $i++) { + $ADAT['tankorIds'][] = $ADAT['tankorok'][$i]['tankorId']; + $ADAT['tankorNeve'][ $ADAT['tankorok'][$i]['tankorId'] ] = $ADAT['tankorok'][$i]['tankorNev']; + } + // A tankorok osztályainak lekérdezése + $ret = getOsztalyIdByTankorIds($ADAT['tankorIds']); + $ADAT['tankorOsztalyai'] = $ADAT['osztalyTankorei'] = array(); + for ($i = 0; $i < count($ret); $i++) { + $ADAT['tankorOsztalyai'][ $ret[$i]['tankorId'] ][] = $ret[$i]['osztalyId']; + $ADAT['osztalyTankorei'][ $ret[$i]['osztalyId'] ][] = $ret[$i]['tankorId']; + } + if ($action == 'hozzarendelesekTorlese') { + tankorNaploInit($torlessel = true); + } elseif ($action == 'tankorNaplohozRendeles') { + + if (is_array($_POST['T']) && count($_POST['T']) > 0) { + tankorNaplohozRendeles($osztalyId, $_POST['T']); + } + + } // action + + + // A naplókhoz rendelt tanköröket lekérdezzük + $ADAT['tankorNaploja'] = getTankorokNaploja(); + $ADAT['naploTankorei'] = array(); + foreach ($ADAT['tankorNaploja'] as $_tankorId => $_osztalyId) { + $ADAT['naploTankorei'][$_osztalyId][] = $_tankorId; + } + // osztályok lekérdezése + $ADAT['osztalyok'] = getOsztalyok(); + $ADAT['osztalyJele'] = array(); + for ($i =0; $i < count($ADAT['osztalyok']); $i++) $ADAT['osztalyJele'][ $ADAT['osztalyok'][$i]['osztalyId'] ] = $ADAT['osztalyok'][$i]['osztalyJel']; + + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'osztalyok' => $ADAT['osztalyok'], 'post' => array()); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles.php b/mayor-orig/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles.php new file mode 100644 index 00000000..5285af45 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles.php @@ -0,0 +1,15 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $osztalyId, $ADAT; + + if (isset($osztalyId)) { + if (count($ADAT['osztalyTankorei']) > 0) putOsztalyTankorei($osztalyId, $ADAT); + } else { + putHozzarendelesekTorlese(); + putHianyzoTankorok($ADAT); + putEloszlas($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/torzslap-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/torzslap-pre.php new file mode 100644 index 00000000..16bc3ae6 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/torzslap-pre.php @@ -0,0 +1,165 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + +/* +2012/20. EMMI rendelet +99. § (1) A törzslap két részből áll, a tanulókról külön-külön kiállított egyéni törzslapokból és az egyéni törzslapok összefűzését szolgáló borítóból (törzslap külív). Az iskola a tanulókról - a tanévkezdést követő harminc napon belül - egyéni törzslapot állít ki. +(2) Ha az iskolai nevelés és oktatás nyelve a nemzetiség nyelve, a törzslapot magyar nyelven és az oktatás nyelvén is vezetni kell. Ha a két szöveg között eltérés van, és nem állapítható meg, hogy melyik a helyes szöveg, a magyar nyelvi bejegyzést kell hitelesként elfogadni. +(3) Az egyéni törzslap tartalmazza ++a) a törzslap sorszámát, ++b) a tanuló nevét, + állampolgárságát, + nem magyar + állampolgár esetén a tartózkodás jogcímét, + a jogszerű tartózkodást megalapozó okirat számát, ++ oktatási azonosító számát, ++ születési helyét és idejét, ++ anyja születéskori nevét, ++c) a tanuló osztálynaplóban szereplő sorszámát, +-+d) a tanévet és a tanuló által elvégzett évfolyamot, +e) a tanuló magatartásának és szorgalmának értékelését, +f) a tanuló által tanult tantárgyakat, és ezek év végi szöveges minősítését, +g) a közösségi szolgálat teljesítésével kapcsolatos adatokat, +h) az összes mulasztott óra számát, külön-külön megadva az igazolt és igazolatlan mulasztásokat, +i) a nevelőtestület határozatát, +j) a tanulmányok alatti vizsgára vonatkozó adatokat, +k) a tanulót érintő gyermekvédelmi intézkedéssel, hátrányos helyzet, halmozottan hátrányos helyzet megállapításával kapcsolatos +és tanulói jogviszonyából következő + döntéseket, határozatokat, záradékokat. +(4) Ha az iskola sajátos nevelési igényű tanuló nevelés-oktatását is ellátja, a törzslapon fel kell tüntetni + a szakvéleményt kiállító szakértői bizottság nevét, + címét, + a szakvélemény számát és + kiállításának keltét, + a felülvizsgálat időpontját. +(5) Az egyéni törzslapokat az alsó tagozat, a felső tagozat és a középfokú iskolai tanulmányok befejezését követően, a törzslap külívének teljes lezárása után +szétválaszthatatlanul össze kell fűzni, és ilyen módon kell tárolni. +*/ + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/osztalyModifier.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/szulo.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/szovegesErtekeles.php'); + require_once('include/share/date/names.php'); + require_once('include/share/print/pdf.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/bejegyzes.php'); + require_once('include/modules/naplo/share/nap.php'); + + // Ez a függvény hova való?? + function getDiakTargyOraszam($diakId, $osztalyId, $tanev, $ADAT) { + $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, $utolsoTanitasiNap, $utolsoTanitasiNap); + $jres = db_query($q, array( + 'fv' => 'getDiakBizonyitvany/óraszám', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'targyId', 'values' => $v + )); + + $szDb = $ADAT['szemeszter']['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[$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[$targyId]['evesOraszam'] = $oraszam / $szDb * TANITASI_HETEK_SZAMA; + } + return $ret; + } + + + $ADAT['magatartasIds'] = getMagatartas(); + $ADAT['szorgalomIds']= getSzorgalom(); + + // A dátum, osztály és diákok kiválasztása + $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'numeric unsigned', null); + if (isset($szemeszterId)) { // szemesztert záró értékelés - intézményi adatbázis + $ADAT['szemeszter'] = getSzemeszterAdatById($ADAT['szemeszterId']); + $ADAT['dt'] = $dt = $ADAT['szemeszter']['zarasDt']; + define('__ZARO_SZEMESZTER', $ADAT['szemeszter']['szemeszter'] == $ADAT['szemeszter']['tanevAdat']['maxSzemeszter']); //?? + $ADAT['tanev'] = $tanev = $ADAT['szemeszter']['tanev']; + } + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); + $ADAT['targySorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'anyakönyv', array('napló','bizonyítvány','anyakönyv','ellenőrző','egyedi')); + // Ha egy diák van kiválasztva... + $diakId = readVariable($_POST['diakId'], 'numeric unsigned', null, $diakIds); + + if (isset($osztalyId) && isset($szemeszterId)) { + define('TANITASI_HETEK_SZAMA', getTanitasiHetekSzama(array('osztalyId'=>$osztalyId))); + $diakIds = array(); + $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev); + $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId, $tanev); + $ADAT['file'] = fileNameNormal('torzslap-'.str_replace('.', '', $ADAT['osztalyAdat']['osztalyJel'])); + $Diakok = getDiakok(array('osztalyId' => $osztalyId, 'tanev' => $tanev, 'tolDt' => $ADAT['szemeszter']['tanevAdat']['kezdesDt'], 'igDt' => $ADAT['szemeszter']['tanevAdat']['zarasDt'], + 'statusz'=>array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva'), + 'extraAttrs'=>'oId as oktatasiAzonosito,torzslapSzam as torzslapszam,allampolgarsag,szuletesiHely,szuletesiIdo,anyaId') + ); + osztalyTorzslapszamGeneralas($osztalyId); + $dTsz = getDiakokTorzslapszamaByOsztalyId($osztalyId); + if (is_array($Diakok)) for ($i = 0; $i < count($Diakok); $i++) { + if (!isset($diakId) || $diakId == $Diakok[$i]['diakId']) { + $diakIds[] = $Diakok[$i]['diakId']; + $Diakok[$i]['anyaNev'] = getSzuloNevById($Diakok[$i]['anyaId'], $szuleteskori = true); + $Diakok[$i]['evfolyamJel'] = $ADAT['evfolyamJel']; // kell ez?? // getEvfolyamJel($osztalyId, $ADAT['tanev']); + $Diakok[$i]['szuletesiOrszag'] = ''; // Ezzel mi legyen?? + $Diakok[$i]['feljegyzesek'] = ''; // Egyedi törzslap záradékok kellenek ide, semmi más! + $ADAT['diakAdat'][$Diakok[$i]['diakId']] = $Diakok[$i]; + $ADAT['diakAdat'][$Diakok[$i]['diakId']]['szuletesiIdo'] = dateToString($Diakok[$i]['szuletesiIdo']); + $ADAT['diakAdat'][$Diakok[$i]['diakId']]['torzslapszam'] = $dTsz[$Diakok[$i]['diakId']]; + } + } + $kovetkezoTanev = __TANEV+1; $kovTA = getTanevAdat($kovetkezoTanev); + $ADAT['diakZaradekok'] = getZaradekokByDiakIds($diakIds, array('tolDt'=>$_TANEV['kezdesDt'], 'igDt'=>$kovTA['kezdesDt'], 'tipus'=>'törzslap feljegyzés','keyfield'=>'diakId','result'=>'multiassoc')); // kell a tol-ig szűrés?? + $ADAT['diakZaradekok'] = getZaradekokByDiakIds($diakIds, array('tolDt'=>$_TANEV['kezdesDt'], 'igDt'=>$kovTA['kezdesDt'], 'dokumentum'=>'törzslap','keyfield'=>'diakId','result'=>'multiassoc')); // kell a tol-ig szűrés?? + $ADAT['diakBejegyzesek'] = getTorzslapBejegyzesByDiakIds($diakIds, array('tanev' => $tanev)); + + $ADAT['diakIds'] = $diakIds; + + if (count($ADAT['diakIds']) > 0) { + $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszter']); + $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszter'], $osztalyId, $sorrendNev); + $ADAT['jegyek'] = getDiakZarojegyekByEvfolyamJel($ADAT['diakIds'], $ADAT['evfolyamJel'], $ADAT['szemeszter'], array('felevivel'=>true)); // TODO: ellenőrzés + + foreach ($ADAT['jegyek'] as $diakId => $dJegyek) { + $ADAT['targyOraszam'][$diakId] = getDiakTargyOraszam($diakId, $osztalyId, $tanev, $ADAT); + } + + $printFile = torzslapNyomtatvanyKeszites($ADAT); // ??? + $printFile = fileNameNormal($printFile); + if ($printFile !== false && file_exists(_DOWNLOADDIR."/$policy/$page/$sub/$f/$printFile")) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/torzslap&file='.$printFile)); + } + } // van osztály és szemeszter + + + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('szemeszterId', 'tolDt', 'dt','sorrendNev')); + if (isset($osztalyId)) + $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'diakok' => $Diakok, 'post' => array('szemeszterId', 'osztalyId', 'tolDt', 'dt','sorrendNev')); + $TOOL['szemeszterSelect'] = array( + 'tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , + 'post' => array('osztalyId', 'tanarId', 'diakId', 'tolDt', 'dt', 'tankorId', 'kepzesId', 'evfolyamJel','sorrendNev') + ); + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId','diakId','tolDt','dt','tankorId','kepzesId','evfolyamJel')); + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/torzslap.php b/mayor-orig/www/policy/private/naplo/nyomtatas/torzslap.php new file mode 100644 index 00000000..c24a85d5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/torzslap.php @@ -0,0 +1,5 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat-pre.php new file mode 100644 index 00000000..f7250037 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat-pre.php @@ -0,0 +1,40 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + define('_TIME',strtotime(date('Y-m-d'))); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + $ADAT['tanarId'] = $tanarId = readVariable($_GET['tanarId'], 'id'); + $ADAT['tovabbkepzesId'] = $tovabbkepzesId = readVariable($_GET['tovabbkepzesId'], 'id'); + $ADAT['tanev'] = $tanev = readVariable($_GET['tanev'], 'numeric unsigned'); + + if (isset($tanarId) && isset($tovabbkepzesId) && isset($tanev)) { // input ok + + require_once('include/share/print/pdf.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/file.php'); + + // Adatok lekérdezése + $ADAT['file'] = fileNameNormal('hatarozat-'.$tanarId.'-'.$tovabbkepzesId.'-'.date('Y-m-d')); + list($ADAT['tanarAdat']) = getTanarAdatById($tanarId); + $ADAT['tanulmanyiEgyseg'] = getTanulmanyiEgyseg($tovabbkepzesId, $tanarId, $tanev); + + $printFile = tovabbkepzesNyomtatvanyKeszites($ADAT); + $printFile = fileNameNormal($printFile); + + if ($printFile !== false && file_exists(_DOWNLOADDIR."/$policy/$page/$sub/$f/$printFile")) + header('Location: '.location('index.php?page=session&f=download&download=true&dir='.$page.'/'.$sub.'/'.$f.'&file='.$printFile)); + + + } + + } +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat.php b/mayor-orig/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat.php new file mode 100644 index 00000000..bc70f948 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat.php @@ -0,0 +1,6 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/zaradekok-pre.php b/mayor-orig/www/policy/private/naplo/nyomtatas/zaradekok-pre.php new file mode 100644 index 00000000..b27306d2 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/zaradekok-pre.php @@ -0,0 +1,49 @@ +<?php + +if (_RIGHTS_OK !== true) die(); + +if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) { + $_SESSION['alert'][] = 'message:insufficient_access'; +} else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/modules/naplo/share/bejegyzes.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/share/str/tex.php'); + require_once('include/share/print/pdf.php'); + + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id'); + $ADAT['tanev'] = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV); + if ($ADAT['tanev'] == __TANEV) $ADAT['tanevAdat'] = $_TANEV; else $ADAT['tanevAdat'] = getTanevAdat($tanev); + $ADAT['tolDt'] = $ADAT['tanevAdat']['kezdesDt']; $ADAT['igDt'] = $ADAT['tanevAdat']['zarasDt']; + + if (isset($osztalyId)) { + // intézmény adatok + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); + // osztály statisztikák + $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['tanev']); + + $ADAT['file'] = fileNameNormal('zaradekok-'.$ADAT['osztaly']['osztalyJel'].'-'.date('Ymd')); + $ADAT['diak'] = getDiakokByOsztaly($osztalyId, $ADAT); + // Azok a diákok, akik az adott időszakban voltak jogviszonyban (esetleg magáán- vagy venfégtanulóként + $ADAT['diakIds'] = array_values(array_unique(array_merge($ADAT['diak']['jogviszonyban van'], $ADAT['diak']['magántanuló'], $ADAT['diak']['vendégtanuló']))); + for ($i = 0; $i < count($ADAT['diakIds']); $i++) { + $ADAT['zaradek'][ $ADAT['diakIds'][$i] ] = getDiakZaradekok($ADAT['diakIds'][$i], array('result' => 'indexed', 'tolDt' => $ADAT['tolDt'], 'igDt' => $ADAT['igDt'], 'dokumentum' => 'osztálynapló')); + $ADAT['bejegyzes'][ $ADAT['diakIds'][$i] ] = getDiakBejegyzesekByTanev($ADAT['diakIds'][$i], $ADAT['tanev']); + } + $ADAT['file'] = fileNameNormal($ADAT['file']); + if (pdfZaradekok($ADAT)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/zaradekok&file='.$ADAT['file'].'.pdf')); + + } + + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array()); + getToolParameters(); + +} + +?> diff --git a/mayor-orig/www/policy/private/naplo/nyomtatas/zaradekok.php b/mayor-orig/www/policy/private/naplo/nyomtatas/zaradekok.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/nyomtatas/zaradekok.php diff --git a/mayor-orig/www/policy/private/naplo/orarend/ascExport-pre.php b/mayor-orig/www/policy/private/naplo/orarend/ascExport-pre.php new file mode 100644 index 00000000..878bb8e6 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/ascExport-pre.php @@ -0,0 +1,110 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN || __VEZETOSEG) { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/terem.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/share/date/names.php'); + + $dt = $ADAT['dt'] = readVariable($_POST['dt'], 'datetime', null); + $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric', __TANEV); + $ADAT['tanevDb'] = tanevDbNev(__INTEZMENY, $tanev); + + if ($tanev != __TANEV) $_TA = getTanevAdat($tanev); + else $_TA = $_TANEV; + + $ADAT['orarendiHet'] = getOrarendiHetek(array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt, 'csakOrarendbol' => true)); + $ADAT['exportalandoHet'] = readVariable($_POST['orarendiHet'], 'numeric', null, $ADAT['orarendiHet']); + if (isset($ADAT['exportalandoHet'])) $ADAT['szeminariumkent'] = true; + else $ADAT['szeminariumkent'] = readVariable($_POST['szeminariumkent'], 'bool', false, array(true, false)); + $ADAT['szakkorokkel'] = readVariable($_POST['szakkorokkel'], 'bool', false, array(true, false)); + $ADAT['targyBontas'] = readVariable($_POST['targyBontas'], 'bool', false, array(true, false)); + + // Bontások lekérdezése + $ADAT['bontas'] = ascBontasLekerdezes($ADAT['tanevDb']); + + if (!readVariable($_POST['blokkokNelkul'], 'bool', false, array(true, false))) $ADAT['tankorBlokk'] = getTankorBlokkok($tanev); + else $ADAT['tankorBlokk'] = array(); + // A tankörök blokk óraszámai + $tankor2blokk = array(); + if (is_array($ADAT['tankorBlokk']['exportOraszam'])) + foreach ($ADAT['tankorBlokk']['exportOraszam'] as $bId => $oraszam) { // blokkonként + for ($i = 0; $i < count($ADAT['tankorBlokk']['idk'][$bId]); $i++) { // az érintett tankörökön végigmenve + $tankor2blokk[ $ADAT['tankorBlokk']['idk'][$bId][$i] ]['blokkOraszam'] += $oraszam; + } + } + $ADAT['tankorIndex'] = array(); + if ($ADAT['szakkorokkel']) $ADAT['tankorok'] = getTankorok(array("tanev=$tanev")); + else $ADAT['tankorok'] = getTankorok(array("tanev=$tanev","jelenlet='kötelező'")); + for ($i = 0; $i < count($ADAT['tankorok']); $i++) { + $tankorId = $ADAT['tankorok'][$i]['tankorId']; + $ADAT['tankorok'][$i]['tankorAdat'] = getTankorAdat($tankorId, $tanev); + // óraszám + if (isset($ADAT['exportalandoHet'])) { + $ADAT['tankorok'][$i]['hetiOraszam'] = getTankorHetiOraszam($tankorId, array('tanev' => $tanev, 'dt' => $dt, 'het' => $ADAT['exportalandoHet'])); + } else { + $ADAT['tankorok'][$i]['hetiOraszam'] = 0; + for ($j = 0; $j < count($ADAT['tankorok'][$i]['tankorAdat'][$tankorId]); $j++) // Szemeszterenként végigmenve + $ADAT['tankorok'][$i]['hetiOraszam'] += $ADAT['tankorok'][$i]['tankorAdat'][$tankorId][$j]['oraszam']; + if ($j != 0) { + $ADAT['tankorok'][$i]['hetiOraszam'] /= $j; + // Korrigáljuk a tankört érintő blokkok óraszámával + if ($ADAT['tankorok'][$i]['hetiOraszam'] >= $tankor2blokk[$tankorId]['blokkOraszam']) + $ADAT['tankorok'][$i]['hetiOraszam'] -= $tankor2blokk[$tankorId]['blokkOraszam']; + else + $_SESSION['alert'][] = 'message:wrong_data:tankorOraszam='.$ADAT['tankorok'][$i]['hetiOraszam'].'; blokkOraszam=' + .$tankor2blokk[$tankorId]['blokkOraszam'].'; tankorId='.$tankorId; + } + } // óraszám + $ADAT['tankorIndex'][$tankorId] = $i; + } + + // --------------------- action -------------------------- // + + if ($action == 'ascExport') { + if ( +// tankorTanarRendbenE($tanev, $dt) +// && + ascExport($ADAT) + ) +define('__LOADURL', href('index.php?page=session&f=download&download=true&dir=orarend&file=ascExport.xml',array('sessionID','lang','skin','policy','alert'))); +//header('Location: '.location('index.php?page=session&f=download&download=true&dir=orarend&file=ascExport.xml',array('sessionID','lang','skin','policy','alert'))); + + } elseif ($action == 'blokkOraszam') { + + if (is_array($_POST['blokkOraszam'])) + for ($i = 0; $i < count($_POST['blokkOraszam']); $i++) { + list($bId, $oraszam) = explode(':', $_POST['blokkOraszam'][$i]); + $blokkOraszam = readVariable($oraszam, 'float unsigned', 0); + if ($blokkOraszam >= 0) $ADAT['blokkOraszam'][$bId] = $oraszam; + } // if+for + blokkOraszamRogzites($ADAT['blokkOraszam'], $ADAT['tanevDb']); + $ADAT['tankorBlokk'] = getTankorBlokkok($tanev); + + } elseif ($action == 'tobbszorosOra') { + + ascBontasModositas($ADAT); + $ADAT['bontas'] = ascBontasLekerdezes($ADAT['tanevDb']); + + } + + // --------------------- action -------------------------- // + + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array()); + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post' => array('tanev'),'paramName' => 'dt', 'hanyNaponta' => 1, + 'override'=>true,'tolDt' => $_TA['kezdesDt'],'igDt' => $_TA['zarasDt'], + ); + + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/ascExport.php b/mayor-orig/www/policy/private/naplo/orarend/ascExport.php new file mode 100644 index 00000000..7972ab6b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/ascExport.php @@ -0,0 +1,11 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (is_array($ADAT['tankorBlokk']['blokkNevek'])) putBlokkOraszamForm($ADAT); + putTobbszorosOraForm($ADAT); + putExportForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/helyettesites-pre.php b/mayor-orig/www/policy/private/naplo/orarend/helyettesites-pre.php new file mode 100644 index 00000000..c4ed7cb9 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/helyettesites-pre.php @@ -0,0 +1,80 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/share/date/names.php'); + + require_once('include/modules/naplo/share/helyettesites.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/terem.php'); + + + //$mkId = $_POST['mkId']; + if (isset($_POST['targyId']) && intval($_POST['targyId']) != 0) $targyId = intval($_POST['targyId']); + if (isset($_POST['tankorId']) && intval($_POST['tankorId']) != 0) $tankorId = intval($_POST['tankorId']); + if (isset($_POST['tankorId']) && intval($_POST['tankorId']) != 0) $tankorId = intval($_POST['tankorId']); + $telephelyId = readVariable($_POST['telephelyId'], id, null); + + //$tanev = $_POST['tanev']; + //$action = $_POST['action']; + if (isset($_POST['osztalyId']) && intval($_POST['osztalyId']) != 0) $osztalyId = intval($_POST['osztalyId']); + if (isset($_POST['tanarId']) && intval($_POST['tanarId']) != 0 ) $tanarId = intval($_POST['tanarId']); + if (isset($_POST['diakId']) && intval($_POST['diakId']) != 0 ) $diakId = intval($_POST['diakId']); + if (isset($_POST['het']) && intval($_POST['het']) != 0 ) $het = intval($_POST['het']); + if (isset($_POST['mkId']) && intval($_POST['mkId']) != 0 ) $mkId = intval($_POST['mkId']); + if (isset($_POST['tolDt']) && strtotime($_POST['tolDt']) > 0) $tolDt = $_POST['tolDt']; + + /* Az órarendihét kiválasztása */ + if (!isset($tolDt)) $tolDt = date('Y-m-d'); + if (strtotime($tolDt) > strtotime($_TANEV['zarasDt'])) $tolDt = $_TANEV['zarasDt']; + elseif (strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $tolDt = $_TANEV['kezdesDt']; + if ($tolDt != '') $het = getOrarendiHetByDt($tolDt); + if ($het == '') $het = getLastOrarend(); + //$igDt = date('Y-m-d', mktime(0,0,0,date('m',strtotime($tolDt)), date('d',strtotime($tolDt))+6, date('Y',strtotime($tolDt)))); + $igDt = $tolDt; + + if ($osztalyId!='') { + $TANKORIDK = getTankorByOsztalyId($osztalyId,__TANEV,array('csakId'=>true)); + $ADAT['orak'] = getHelyettesitendoOrak(array('osztalyId'=>$osztalyId,'tolDt'=>$tolDt,'igDt'=>$igDt,'tankorIdk'=>$TANKORIDK)); + } elseif ($tanarId!='') { + $TANKORIDK = getTankorByTanarId($tanarId,__TANEV,array('csakId'=>true)); + $ADAT['orak'] = getHelyettesitendoOrak(array('tolDt'=>$tolDt,'igDt'=>$igDt,'tankorIdk'=>$TANKORIDK)); + } else { + $ADAT['orak'] = getHelyettesitendoOrak(array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephelyId'=>$telephelyId)); + } + $ADAT['tankorok'] = getTankoradatByIds($ADAT['orak']['tankorok'],array('dt'=>$tolDt)); // $ADAT['orak'] at vizsgáld meg! + $ADAT['tanarok'] = getTanarok(array('result'=>'assoc')); + $ADAT['termek'] = getTermek(array('result'=>'assoc')); + + /* TOOL ME :) */ + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId'), + 'paramName' => 'tolDt', 'hanyNaponta' => 1, + 'override'=>true, // használathoz még át kell írni pár függvényt!!! + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => $_TANEV['zarasDt'], + ); + $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array('tolDt','osztalyId','tanarId')); + + //$TOOL['orarendiHetSelect'] = array('tipus'=>'cella' , 'paramName' => 'het', 'post'=>array('targyId','tankorId','osztalyId','tanarId'), 'disabled'=>true); + //$TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post'=>array('tanev')); + //$TOOL['targySelect'] = array('tipus'=>'cella', 'paramName' => 'targyId', 'post'=>array('het')); +// if ($osztalyId!='') { +// $TOOL['diakSelect'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array('tolDt','osztalyId')); +// } else +// $TOOL['munkakozossegSelect'] = array('tipus'=>'sor','paramName'=>'mkId', 'post'=>array('tolDt')); + $TOOL['osztalySelect']= array('tipus'=>'cella','paramName'=>'osztalyId', 'post'=>array('tolDt')); + $TOOL['tanarSelect'] = array('tipus'=>'cella','paramName'=>'tanarId', 'post'=>array('tolDt')); +// if ($osztalyId!='' || $tanarId!='' || $diakId!='' || $mkId!='') $TOOL['tankorSelect'] = array('tipus'=>'sor','paramName'=>'tankorId', 'post'=>array('tolDt','osztaly + + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/helyettesites.php b/mayor-orig/www/policy/private/naplo/orarend/helyettesites.php new file mode 100644 index 00000000..e5eca8ff --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/helyettesites.php @@ -0,0 +1,9 @@ +<?php + +if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putHelyettesitesTablazat($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarend-pre.php b/mayor-orig/www/policy/private/naplo/orarend/orarend-pre.php new file mode 100644 index 00000000..1ccea4b7 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarend-pre.php @@ -0,0 +1,281 @@ +<?php + global $page,$sub,$f; + + if (_RIGHTS_OK !== true) die(); + $tanev = __TANEV; + if ($tanev<1997) return; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/terem.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/jegyzet.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + + // -- TESZT - savePageState() + define('__PAGE_PRESET', false); // kísérlet vége. no + $preSetLoad = readVariable($_POST['preSetLoad'],'bool',false); + $preSetSave = readVariable($_POST['preSetSave'],'bool',false); + + function getPSFvar($name) { + global $PAGESTATE, $preSetSave, $preSetLoad; + return (__PAGE_PRESET===TRUE && ($preSetLoad || $preSetSave)) ? readVariable($PAGESTATE[$name], 'id', null) : null; + //return null; + } + // get toolbar state - később általánosul + + $TOOLBARVARS = array('targyId','tankorId','osztalyId','tanarId','diakId','teremId','mkId','het'); + $allowPreset=false; + foreach ($TOOLBARVARS as $k) {if (isset($_POST[$k])||isset($_GET[$k])) $allowPreset = false;} + if ($allowPreset) { + $PAGESTATE = array(); + if (isset($_COOKIE[$page.'_'.$sub.'_'.$f])) + $_explode = explode('+',$_COOKIE[$page.'_'.$sub.'_'.$f]); + if (is_array($_explode)) { + foreach($_explode as $kvp) { + list($key,$val) = explode('-',$kvp); + if (in_array($key,$TOOLBARVARS) && isset($val) && intval($val)>0) $PAGESTATE[$key]=intval($val); + } + } + } + +// -- TESZT VÉGE + $targyId = readVariable($_POST['targyId'], 'id', getPSFvar('targyId')); + $tankorId = readVariable($_POST['tankorId'], 'id', readVariable($_GET['tankorId'],'id',getPSFvar('tankorId'))); + $osztalyId = readVariable($_POST['osztalyId'], 'id', readVariable($_GET['osztalyId'],'id',getPSFvar('osztalyId'))); + $tanarId = $_POST['tanarId'] = readVariable($_POST['tanarId'], 'id', readVariable($_GET['tanarId'],'id',getPSFvar('tanarId'))); + $diakId = $_POST['diakId'] = readVariable($_POST['diakId'], 'id', readVariable($_GET['diakId'],'id',getPSFvar('diakId'))); + $teremId = readVariable($_POST['teremId'], 'id', getPSFvar('teremId')); + $mkId = readVariable($_POST['mkId'], 'id',getPSFvar('mkId')); + $het = readVariable($_POST['het'], 'id',getPSFvar('het')); // ??? + + $ADAT['telephelyek'] = getTelephelyek(); + $telephelyIds = array(); + foreach ($ADAT['telephelyek'] as $tAdat) $telephelyIds[] = $tAdat['telephelyId']; + $telephelyId = readVariable($_POST['telephelyId'], 'id', (count($ADAT['telephelyek'])>1?null:1), $telephelyIds); + /* A telephelyet ki tudnánk találni a lekérdezett órák termeiből is... */ + + $tolDt = readVariable($_POST['tolDt'], 'date', getTanitasihetHetfo(array('napszam'=>0))); + $dt = readVariable($_POST['dt'], 'date'); // mutatni + if ($mkId=='' && $tanarId=='' && $diakId=='' && $osztalyId=='' && $tankorId=='' && $teremId=='') { // ez itt mind isnotset + if (__DIAK && defined('__USERDIAKID')) $diakId=__USERDIAKID; + if (__TANAR && defined('__USERTANARID')) $tanarId=__USERTANARID; + } + + /* ----------------------------------------- */ + if (_POLICY=='private' && $action == 'setPublic' && is_numeric($diakId) && ((__NAGYKORU===true && $diakId==__USERDIAKID) || (__NAGYKORU === false && $diakId==__SZULODIAKID))) { + require_once('include/modules/naplo/share/diakModifier.php'); + diakAdatkezelesModositas(array('diakId'=>$diakId,'kulcs'=>'publikusOrarend','ertek'=>'1')); + } + /* ----------------------------------------- */ + + /* Az órarendihét kiválasztása */ + if (isset($dt)) $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', strtotime($dt) ))); + if (!isset($tolDt)) + // A következő nap előtti hétfő + $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', time()))); + +/* + if (strtotime($tolDt) > strtotime($_TANEV['zarasDt'])) $_tolDt = $_TANEV['zarasDt']; + elseif (strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $_tolDt = $_TANEV['kezdesDt']; + // és akkor korrigáljunk még egyszer + if (isset($_tolDt)) // A következő nap előtti hétfő + $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', time()))); +*/ + if ($tolDt != '') $het = getOrarendiHetByDt($tolDt); + if ($het == '') $het = getLastOrarend(); + $igDt = date('Y-m-d', mktime(0,0,0,date('m',strtotime($tolDt)), date('d',strtotime($tolDt))+6, date('Y',strtotime($tolDt)))); + + $ADAT['termek'] = getTermek(array('result'=>'assoc','telephelyId'=>$telephelyId)); + $ADAT['tanarok'] = getTanarok(array('result'=>'assoc','telephelyId'=>$telephelyId)); //--TODO telephely +// ===================== + if ($tankorId!='') { + $ADAT['orarend'] = getOrarendByTankorId($tankorId, array('tolDt'=>$tolDt,'igDt'=>$igDt)); + //$ADAT['toPrint'] = getTankorNev($tankorId); // vagy getTankornev külön? + $TANKOROK['haladasi'] = array($tankorId); + $ADAT['kivalasztott'] = array('tankor',$tankorId); + } elseif($tanarId!='') { +// if (_POLICY == 'public') $_SESSION['alert'][] = 'info:adatkezeles:letilva'; +// else { + $ADAT['orarend'] = getOrarendByTanarId($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephelyId'=>$telephelyId,'orarendiOraTankor'=>true)); + $ADAT['toPrint'] = $ADAT['tanarok'][$tanarId]['tanarNev']; +// } + $ADAT['kivalasztott'] = array('tanar',$tanarId); + } elseif($diakId!='') { + $ADAT['orarendTipus'] = 'diakOrarend'; + /* ide kerülhet, hogy a diák (__NAGYKORU)/szülő engedélyezte-e a saját/gyermeke órarendjének mutatását */ + $ADAT['adatKezeles'] = getDiakAdatkezeles($diakId,array('publikusOrarend'=>1)); + $ADAT['publikusOrarend'] = ($ADAT['adatKezeles']['publikusOrarend']['ertek'] == 1) ? true : false; + /* Ha belül vagyunk, akkor állíthassa be egy gombnyomással, hogy ő bizony engedélyezi */ + define(__ALLOWSET, ((__NAGYKORU===true && $diakId==__USERDIAKID) || (__NAGYKORU === false && $diakId==__SZULODIAKID))); + if (_POLICY == 'public' && $ADAT['publikusOrarend'] === false) { + $_SESSION['alert'][] = 'info:adatkezeles:'.'A keresési feltétel a felhasználó által belépés után a napló modulban engedélyezhető!'; + } else { + $ADAT['orarend'] = getOrarendByDiakId($diakId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'osztalyId'=>$osztalyId)); // itt az osztalyId-t nem lenne kötelező megadni, de a felületen úgysem lehet máshogy idejutni + $TANKOROK['haladasi'] = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'idonly')); + $ADAT['diakFelmentes'] = getTankorDiakFelmentes($diakId, __TANEV, array('tolDt'=>$tolDt,'igDt'=>$igDt)); + } + $ADAT['diakEvfolyamAdat'] = getEvfolyamAdatByDiakId($diakId,$tolDt,__TANEV); + $ADAT['kepzes'] = getKepzesByDiakId($diakId, array('result' => '', 'dt' => $tolDt, 'arraymap' => null)); + if (count($ADAT['kepzes'])==1) { + $ADAT['kepzesOraterv'] = getOraszamByKepzes($ADAT['kepzes'][0]['kepzesId'], array('szemeszter'=>1,'evfolyam'=>$ADAT['diakEvfolyamAdat']['evfolyam'])); + } else {//nincs képzése, vagy több van + } + + $ADAT['kivalasztott'] = array('diak',$diakId); + } elseif ($osztalyId!='') { + $ADAT['orarendTipus'] = 'osztalyOrarend'; + $ADAT['orarend'] = getOrarendByOsztalyId($osztalyId,array('tolDt'=>$tolDt,'igDt'=>$igDt)); + $OADAT = getOsztalyAdat($osztalyId); + $ADAT['toPrint'] = $OADAT['osztalyJel']; + $TANKOROK['haladasi'] = getTankorByOsztalyId($osztalyId, __TANEV, array('csakId' => true, 'tanarral' => false, 'result' => 'idonly')); + $ADAT['kivalasztott'] = array('osztaly',$osztalyId); + } elseif ($mkId!='') { + $ADAT['orarend'] = getOrarendByMkId($mkId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephelyId'=>$telephelyId)); + $TANKOROK['haladasi'] = getTankorByMkId($mkId, __TANEV, array('csakId' => true,'filter' => array()) ); + $ADAT['kivalasztott'] = array('munkakozosseg',$mkId); + } elseif ($teremId!='') { + $teremAdat = getTeremAdatById($teremId); + $ADAT['orarend'] = getOrarendByTeremId($teremId,'',array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephelyId'=>$telephelyId)); + $ADAT['toPrint'] = $teremAdat['leiras']; + $ADAT['kivalasztott'] = array('terem',$teremId); + } + else $ADAT = array(); +// ----------- + $TANKOROK['erintett'] = $ADAT['orarend']['tankorok']; // --FIXME (2013.05.03) + $TANKOROK['mindenByDt'] = $ADAT['orarend']['mindenTankorByDt']; // --FIXME (2013.05.03) + + $ADAT['NAPOK'] = $_NAPOK = _genNapok($tolDt,$igDt); + + if (isset($tanarId)) { + $ADAT['haladasi'] = getTanarOrak($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'result'=>'likeOrarend')); + } elseif ((is_array($TANKOROK['mindenByDt']) && count($TANKOROK['mindenByDt']>0)) || $teremId!='') { + // akkor egészítsük ki a haladási naplós órákkal + /* FS#100 */ + $ADAT['haladasi'] = array('tankorok'=>array()); + // dátumfüggő FS#100 + for ($i=0; $i<count($_NAPOK); $i++) { + $_dt = $_NAPOK[$i]; + $_TK = $TANKOROK['mindenByDt'][$_dt]; + if ($teremId!='') + $_D = getOrakByTeremId($teremId,array('tolDt'=>$_dt,'igDt'=>$_dt,'result'=>'likeOrarend')); + else + $_D = getOrak($TANKOROK['haladasi'],array('tolDt'=>$_dt,'igDt'=>$_dt,'result'=>'likeOrarend')); + $ADAT['haladasi']['orak'][$_dt] = $_D['orak'][$_dt]; + if (is_array($_D['tankorok'])) $ADAT['haladasi']['tankorok'] = array_map('intval',array_unique(array_merge($_D['tankorok'],$ADAT['haladasi']['tankorok']))); + } + } + + /* FIX */ + // a haladási naplóban olyan tankörök is szerepelnek, amik eddig nem... + // először gyűjtsük ki a szükséges tanköröket, és utána kérdezzük le az adataikat egyben + // ... + + if (!is_array($TANKOROK['haladasi'])) $TANKOROK['haladasi'] = array(); + if (is_array($ADAT['orarend']['tankorok']) && is_array($ADAT['haladasi']['tankorok'])) { + $TANKOROK = array_unique(array_map('intval',array_merge($ADAT['orarend']['tankorok'],$ADAT['haladasi']['tankorok'],$TANKOROK['haladasi']))); + } elseif (is_array($ADAT['haladasi']['tankorok'])) { + $TANKOROK = $ADAT['haladasi']['tankorok']; + } else { + $TANKOROK = $ADAT['orarend']['tankorok']; + } + if (count($TANKOROK)>0) $ADAT['tankorok'] = getTankorAdatByIds($TANKOROK); + + /* tankörlétszámok */ + if (is_array($ADAT['tankorok'])) foreach ($ADAT['tankorok'] as $_tankorId =>$_T) { + $ADAT['tankorLetszamok'][$_tankorId] = getTankorLetszam($_tankorId,array('refDt'=>$tolDt)); + } + if (is_array($TANKOROK)) for ($i=0; $i<count($TANKOROK); $i++) { + $_tankorId = $TANKOROK[$i]; + $ADAT['tankorLetszamok'][$_tankorId] = getTankorLetszam($_tankorId,array('refDt'=>$tolDt)); + } + //--// + $ADAT['dt'] = $dt; // show this... ha a skin ajax + + $ADAT['csengetesiRend'] = getCsengetesiRend(); + $ADAT['telephelyId'] = $telephelyId; + $ADAT['napiMinOra'] = getMinOra(); + $ADAT['napiMaxOra'] = getMaxOra(); + $ADAT['hetiMaxNap'] = getMaxNap(array('haladasi'=>true,'tolDt'=>$tolDt,'igDt'=>$igDt)); + $ADAT['tankorTipus'] = getTankorTipusok(); + $ADAT['orakMost'] = getOrakMost(); + + $_napok = getNapok(array('tolDt'=>$tolDt,'igDt'=>$igDt)); + for ($i=0; $i<count($_napok); $i++) { + $ADAT['napok'][($i+1)] = getNapAdat($_napok[$i]); + } + + if (_POLICY!='public' && is_array($TANKOROK)) { + if (__JEGYZETSZEREPTIPUS == 'diak') { + $JA['tankorok'] = getTankorByDiakId(__JEGYZETSZEREPID); + $JA['osztalyok'] = getDiakOsztalya(__JEGYZETSZEREPID,array('tanev'=>$tanev,'tolDt'=>$dt,'igDt'=>$dt)); + } elseif (__JEGYZETSZEREPTIPUS == 'tanar') { + $JA['tankorok'] = getTankorByTanarId(__JEGYZETSZEREPID); + if (is_array($_OSZTALYA) && count($_OSZTALYA)>0) $JA['osztalyok'] = getOsztalyok(null,array('osztalyIds'=>$_OSZTALYA)); + $JA['munkakozossegek'] = getMunkakozossegByTanarId(__JEGYZETSZEREPID, array('idonly'=>false)); + } + for ($i=0; $i<count($JA['tankorok']); $i++) {$JA['tankorIdk'][] = $JA['tankorok'][$i]['tankorId'];} + for ($i=0; $i<count($JA['osztalyok']); $i++) {$JA['osztalyIdk'][] = $JA['osztalyok'][$i]['osztalyId'];} + for ($i=0; $i<count($JA['munkakozossegek']); $i++) {$JA['mkIdk'][] = $JA['munkakozossegek'][$i]['mkId'];} + + $ADAT['dolgozat'] = getTankorDolgozatok($TANKOROK, TRUE, $_napok[0], $_napok[count($_napok)-1]); + $ADAT['jegyzet'] = getJegyzet(array('tolDt'=>$tolDt,'igDt'=>$igDt,'tankorIdk'=>$JA['tankorIdk'],'osztalyIdk'=>$JA['osztalyIdk'])); + + if (in_array(_POLICY,array('private','parent')) && (isset($diakId) && ((__DIAK===true && $diakId==_USERDIAKID) || __TANAR===true || __NAPLOADMIN===true ))) { + $ADAT['hianyzas'] = getHianyzasByDiakIds(array($diakId), array('tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'multiassoc', 'keyfield'=>'oraId')); + } + } + if ($skin=='ajax' && $_REQUEST['httpResponse']=='json') $_JSON['orarend']=$ADAT; + +//===================================== + + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId','mkId','diakId','telephelyId'), + 'paramName' => 'tolDt', 'hanyNaponta' => 7, + 'override'=>true, // használathoz még át kell írni pár függvényt!!! +// 'tolDt' => date('Y-m-d', strtotime('Monday', strtotime($_TANEV['kezdesDt']))), + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => $_TANEV['zarasDt'], + 'lapozo' => 0 + ); + $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array('tolDt','mkId','tanarId')); + //$TOOL['orarendiHetSelect'] = array('tipus'=>'cella' , 'paramName' => 'het', 'post'=>array('targyId','tankorId','osztalyId','tanarId'), 'disabled'=>true); + if (($osztalyId!='' || $diakId!='') //&& _POLICY=='private' + ) { + $TOOL['diakSelect'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array('tolDt','osztalyId','telephelyId')); + } else { + $TOOL['munkakozossegSelect'] = array('tipus'=>'sor', 'paramName'=>'mkId', 'post'=>array('tolDt','telephelyId')); + } + $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'post'=>array('tolDt','telephelyId')); + $TOOL['osztalySelect']= array('tipus'=>'cella', 'paramName'=>'osztalyId', 'post'=>array('tolDt','telephelyId')); + $TOOL['teremSelect'] = array('tipus'=>'cella', 'paramName'=>'teremId', 'telephelyId'=>$telephelyId, 'post'=>array('tolDt','telephelyId')); + if ($osztalyId!='' || $tanarId!='' || $diakId!='' || $mkId!='' || $tankorId!='') + $TOOL['tankorSelect'] = array('tipus'=>'sor','paramName'=>'tankorId', 'tolDt'=>$tolDt, 'igDt'=>$igDt, + 'post'=>array('tolDt','osztalyId','targyId','tanarId','diakId','telephelyId')); + + $TOOL['general']['post'] = $TOOLBARVARS; + getToolParameters(); + + +//************************************** + /* TESZT - savePageState() */ + if ($preSetSave || $preSetLoad) { + $SAVESTATE = array(); + foreach($TOOLBARVARS as $key) { + if (isset($$key) && intval($$key)>0) { + $SAVESTATE[] = $key.'-'.intval($$key); + $stateCounter++; + } + } + if ($stateCounter>0) setcookie($page.'_'.$sub.'_'.$f, implode('+',$SAVESTATE), 0, '', '', TRUE, TRUE); + } +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarend.php b/mayor-orig/www/policy/private/naplo/orarend/orarend.php new file mode 100644 index 00000000..b0ed3b60 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarend.php @@ -0,0 +1,8 @@ +<?php + + global $ADAT; + + if (is_array($ADAT)) + putOrarend($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendBetolto-pre.php b/mayor-orig/www/policy/private/naplo/orarend/orarendBetolto-pre.php new file mode 100644 index 00000000..df4db33a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendBetolto-pre.php @@ -0,0 +1,80 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/share/date/names.php'); + require_once('include/share/print/pdf.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/terem.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); +// require_once('include/modules/naplo/share/diak.php'); + + $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV); + if ($tanev == __TANEV) $TA = $_TANEV; + else $TA = getTanevAdat($tanev); + $ADAT['tanevDb'] = $tanevDb = tanevDbNev(__INTEZMENY, $tanev); + $ADAT['tolDt'] = $tolDt = readVariable($_POST['tolDt'], 'datetime', null); + $ADAT['igDt'] = $igDt = readVariable($_POST['igDt'], 'datetime', null); + $ADAT['orarendiHet'] = $orarendiHet = readVariable($_POST['orarendiHet'], 'numeric unsigned', null); + // A konvertáló állományok lekérdezése + $ADAT['convert'] = array(); + foreach (glob("include/modules/naplo/orarend/convert-*.php") as $file) $ADAT['convert'][] = substr($file,38,-4); + + //quickfix- ez így nem jo $ADAT['fileName'] = $fileName = fileNameNormal(readVariable($_POST['fileName'], 'emptystringnull', null)); + $ADAT['fileName'] = $fileName = (readVariable($_POST['fileName'], 'emptystringnull', null)); + $ADAT['conv'] = $conv = readVariable($_POST['conv'], 'emptystringnull', null, $ADAT['convert']); + $ADAT['force'] = readVariable($_POST['force'], 'bool', false); + $ADAT['lezaras'] = readVariable($_POST['lezaras'], 'bool', false); + + // ----- action ----- // + + if ($action == 'fileBetoltes') { + if (isset($fileName) && isset($conv) && isset($tanev) && isset($tolDt) && isset($igDt) && isset($orarendiHet)) { + if (file_exists($fileName)) { + require_once("include/modules/naplo/orarend/convert-$conv.php"); + define('__CONVERTED', loadFile($ADAT)); + if (count($OrarendiOra)==0) { + $_SESSION['alert'][] = 'message:wrong_data:OrarendiOra tömb üres'; + } else { + if (__CONVERTED === true) { + orarendBetoltes($ADAT, $OrarendiOra, $OrarendiOraTankor); + } else { + $ADAT['showForceOption'] = true; + } + } + } else { + $_SESSION['alert'][] = 'message:file_not_found:'.$fileName; + } + } else { + $_SESSION['alert'][] = 'message:empty_field:fileName,conv,tanev,tolDt,igDt,orarendiHet'; + } + } + + // ----- action ----- // + + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev','post' => array('fileName','conv')); + $TOOL['datumTolIgSelect'] = array( + 'tipus' => 'sor', 'post' => array('tanev','fileName','conv','orarendiHet'), + 'tolParamName' => 'tolDt', 'igParamName' => 'igDt', 'hanyNaponta' => 1, + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($TA['kezdesDt']))), + 'igDt' => $TA['zarasDt'], + ); + $TOOL['orarendiHetSelect'] = array( + 'tanev' => $tanev, 'tolDt' => $tolDt, 'igDt' => $igDt, 'tipus' => 'cella', + 'megjelenitendoHetek' => array(1,2,3,4,5,6,7,8,9,10), + 'post' => array('fileName','tanev','tolDt','igDt','conv'), 'paramName' => 'orarendiHet' + ); + getToolParameters(); + + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendBetolto.php b/mayor-orig/www/policy/private/naplo/orarend/orarendBetolto.php new file mode 100644 index 00000000..8d4105bd --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendBetolto.php @@ -0,0 +1,14 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ORAK, $ADAT; + + if (is_array($ORAK)) putAdat($ORAK); + + if (isset($file)) { + } else { + putFileValaszto($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendEllenorzes-pre.php b/mayor-orig/www/policy/private/naplo/orarend/orarendEllenorzes-pre.php new file mode 100644 index 00000000..45ab709f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendEllenorzes-pre.php @@ -0,0 +1,56 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access'; + + + $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV); + if ($tanev = __TANEV) $_TA = $_TANEV; + else $_TA = getTanevAdat($tanev); + if (isset($tanev)) { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/terem.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/orarend.php'); + + require_once('include/share/date/names.php'); + + $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', $_TA['kezdesDt']); + + $ADAT['tanarok'] = getTanarok(array('tanev' => $tanev, 'result' => 'assoc')); + $ADAT['termek'] = getTermek(array('tipus'=>array())); + $ADAT['tankorok'] = getTankorok(array("tanev=$tanev")); + for ($i = 0; $i < count($ADAT['tankorok']); $i++) { + $tankorId = $ADAT['tankorok'][$i]['tankorId']; + $ADAT['tankorok'][$i]['tankorAdat'] = getTankorAdat($tankorId, $tanev); + $ADAT['tankorok'][$i]['hetiOraszam'] = 0; + for ($j = 0; $j < count($ADAT['tankorok'][$i]['tankorAdat'][$tankorId]); $j++) // Szemeszterenként végigmenve + $ADAT['tankorok'][$i]['hetiOraszam'] += $ADAT['tankorok'][$i]['tankorAdat'][$tankorId][$j]['oraszam']; + if ($j != 0) { + $ADAT['tankorok'][$i]['hetiOraszam'] /= $j; + } + $ADAT['tankorIndex'][$tankorId] = $i; + } + + $ADAT['orarendiHetek'] = getOrarendiHetek(array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt, 'csakOrarendbol'=>false)); + + // orarendiOra - tankor ellenőrzés + $ADAT['check']['orarendiOraTankor'] = checkOrarendiOraTankor($ADAT); + // tankör óraszám ellenőrzés + $ADAT['check']['tankorOraszam'] = checkTankorOraszam($ADAT); + // hiányzó termek + $ADAT['check']['hianyzoTermek'] = checkHianyzoTermek($ADAT); + // teremütközés + $ADAT['check']['teremUtkozes'] = checkTeremUtkozes($ADAT); + + } + + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array()); + $TOOL['datumSelect'] = array( + 'tipus' => 'cella', 'post' => array('tanev'),'paramName' => 'dt', 'hanyNaponta' => 1, + 'override' => true,'tolDt' => $_TA['kezdesDt'], 'igDt' => $_TA['zarasDt'], + ); + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendEllenorzes.php b/mayor-orig/www/policy/private/naplo/orarend/orarendEllenorzes.php new file mode 100644 index 00000000..6cd2b79f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendEllenorzes.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putEredmeny($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendModosito-pre.php b/mayor-orig/www/policy/private/naplo/orarend/orarendModosito-pre.php new file mode 100644 index 00000000..831c0fa5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendModosito-pre.php @@ -0,0 +1,277 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access'; + + $tanev = __TANEV; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/terem.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/oraModifier.php'); + require_once('include/modules/naplo/share/helyettesitesModifier.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + + $targyId = readVariable($_POST['targyId'], 'id'); + $tankorId = readVariable($_POST['tankorId'], 'id'); + $osztalyId = readVariable($_POST['osztalyId'], 'id'); + $tanarId = readVariable($_POST['tanarId'], 'id'); + $diakId = readVariable($_POST['diakId'], 'id'); + $teremId = readVariable($_POST['teremId'], 'id'); + $mkId = readVariable($_POST['mkId'], 'id'); + $het = readVariable($_POST['het'], 'numeric unsigned'); + + $refTolDt = readVariable($_POST['refTolDt'],'date'); + $refIgDt = readVariable($_POST['refIgDt'],'date'); + + if ($refTolDt=='' || $refIgDt=='') $_SESSION['alert'][] = 'info:nincs_intervallum'; + + $ADAT['telephelyek'] = getTelephelyek(); + $ADAT['haladasiModositando'] = readVariable($_POST['haladasiModositando'], 'bool'); + + $telephely = readVariable($_POST['telephely'], 'enum', null,$ADAT['telephelyek']); + + $tolDt = readVariable($_POST['tolDt'], 'date'); + $dt = readVariable($_POST['dt'], 'date'); // mutatni + + if ($mkId=='' && $tanarId=='' && $diakId=='' && $osztalyId=='' && $tankorId=='' && $teremId=='') { // ez itt mind isnotset + if (__DIAK && defined('__USERDIAKID')) $diakId=__USERDIAKID; + if (__TANAR && defined('__USERTANARID')) $tanarId=__USERTANARID; + } + + /* Az órarendihét kiválasztása */ + if (isset($dt)) $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', strtotime($dt) ))); + if (!isset($tolDt)) + // A következő nap előtti hétfő + $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', time()))); +/* + if (strtotime($tolDt) > strtotime($_TANEV['zarasDt'])) $_tolDt = $_TANEV['zarasDt']; + elseif (strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $_tolDt = $_TANEV['kezdesDt']; + // és akkor korrigáljunk még egyszer + if (isset($_tolDt)) // A következő nap előtti hétfő + $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', time()))); +*/ + + if ($tolDt != '') $het = getOrarendiHetByDt($tolDt); + if ($het == '') $het = getLastOrarend(); + $igDt = date('Y-m-d', mktime(0,0,0,date('m',strtotime($tolDt)), date('d',strtotime($tolDt))+6, date('Y',strtotime($tolDt)))); + + // itt ellenőrizzük, hogy a dt (referenciadátum) beleesik-e a tolIg be! + if (isset($tolDt) && isset($refTolDt) && isset($refIgDt)) { + if (strtotime($tolDt)<strtotime($refTolDt)) $_SESSION['alert'][] = 'message:wrong_data:hibás referenciadátum!'; + if (strtotime($tolDt)>strtotime($refIgDt)) $_SESSION['alert'][] = 'message:wrong_data:hibás referenciadátum!'; + if (strtotime($refTolDt)>strtotime($refIgDt)) $_SESSION['alert'][] = 'message:wrong_data:hibás referenciadátum!'; + } + if ($action==='do') { + $HOT = readVariable($_POST['HALADASIORATOROL'],'id'); + //dump($HOT); + for ($i=0; $i<count($HOT); $i++) { + oraElmarad($HOT[$i]); + } + for ($i=0; $i<count($_POST['ORARENDIORATOROL']); $i++) { + if ($_POST['ORARENDIORATOROL'][$i]!='') { + $_ADAT = array(); + list($_het,$_nap,$_ora,$_tanarId,$_tolDt) = explode('%',$_POST['ORARENDIORATOROL'][$i]); + $_ADAT['tanarId'] = readVariable($_tanarId,'id',null); + $_ADAT['het'] = readVariable($_het,'id',null); + $_ADAT['nap'] = readVariable($_nap,'id',null); + $_ADAT['ora'] = readVariable($_ora,'id',null); + $_ADAT['tolDt'] = readVariable($_tolDt,'date',null); + orarendiOraTorol($_ADAT); + } + } + + for ($i=0; $i<count($_POST['ORARENDIORAFELVESZ']); $i++) { + if ($_POST['ORARENDIORAFELVESZ'][$i]!='') { + $_ADAT = array(); + list($_tanarId,$_osztalyJel,$_targyJel,$_tankorId) = explode('%',$_POST['ORARENDIORAFELVESZ'][$i]); + $_ADAT['tanarId'] = readVariable($_tanarId,'id',null); + $_ADAT['osztalyJel'] = readVariable($_osztalyJel,'string',null); + $_ADAT['targyJel'] = readVariable($_targyJel,'string',null); + $_ADAT['tankorId'] = readVariable($_tankorId,'id',null); + orarendiOraTankorFelvesz($_ADAT); + } + } + + for ($i=0; $i<count($_POST['ORARENDMINUSZ']); $i++) { + if ($_POST['ORARENDMINUSZ'][$i]!='') { + $_ADAT = array(); + list($_het,$_nap,$_ora,$_tanarId,$_dt,$_kulcsTolDt) = explode('.',$_POST['ORARENDMINUSZ'][$i]); + $_teremId = $_POST["T_".$_het."_".$_nap."_".$_ora]; // ez érdekes? + $_ADAT['het'] = readVariable($_het,'id',null); + $_ADAT['nap'] = readVariable($_nap,'id',null); + $_ADAT['ora'] = readVariable($_ora,'id',null); + $_ADAT['tanarId'] = readVariable($_tanarId,'id',null); + $_ADAT['tolDt'] = readVariable($refTolDt,'date'); + $_ADAT['igDt'] = readVariable($refIgDt,'date'); + $_ADAT['kulcsTolDt'] = readVariable($_kulcsTolDt,'date'); + $_ADAT['dt'] = $_dt ; //readVariable($_POST['tolDt'],'date'); + + $_ADAT['orarendiOraKulcs'] = readVariable($refIgDt,'date'); + /* + Az órarendből kiválasztott (órarendi)hét, nap, óra, tanárId alapján + a $ADAT['dt'] időben érvényes bejegyzés $ADAT['tolDt'] és $ADAT['igDt'] közé eső szakaszát + töröljük az órarendből + ezért: $ADAT['tolDt'] <= $ADAT['dt'] <= $ADAT['igDt'] - feltétel! + $_ADAT['dt'] = readVariable($_POST['tolDt'],'date',null,null,'('.strtotime($_ADAT['tolDt']).'<=strtotime($return) && strtotime($return) <= '.strtotime($_ADAT['igDt']).')'); + Mégsem kell, mert lehet, hogy az intervallumon kívüli bejegyzés érvényessége belenyúlik az intervallumba + */ + if (isset($_ADAT['het']) && isset($_ADAT['nap']) && isset($_ADAT['ora']) && isset($_ADAT['tanarId']) && isset($_ADAT['dt'])) orarendiOraLezar($_ADAT); + } + } + + for ($i=0; $i<count($_POST['ORARENDPLUSZ']); $i++) { + if ($_POST['ORARENDPLUSZ'][$i]!='') { + $_ADAT = array(); + list($_TB,$_het,$_nap,$_ora,$_Id) = explode('.',$_POST['ORARENDPLUSZ'][$i]); + $_teremId = readVariable($_POST["T_".$_het."_".$_nap."_".$_ora], 'id'); + $_ADAT['het'] = readVariable($_het,'id'); + $_ADAT['nap'] = readVariable($_nap,'id'); + $_ADAT['ora'] = readVariable($_ora,'id'); + $_ADAT['tolDt'] = readVariable($refTolDt,'date'); + $_ADAT['igDt'] = readVariable($refIgDt,'date'); + $_ADAT['tankorId'] = $_ADAT['blokkId'] =readVariable($_Id,'id'); // vagy tankör vagy blokk ID szerepel. a $_TB mondja meg + $_ADAT['teremId'] = readVariable($_teremId,'id',null); + $_ADAT['tanarId'] = readVariable($tanarId,'id',null); + $_ADAT['haladasiModositando'] = $ADAT['haladasiModositando']; + if ($_TB == 'T') pluszOraFelvesz($_ADAT); + elseif ($_TB == 'B') pluszBlokkFelvesz($_ADAT); + else $_SESSION['alert'][] = '::ajjajj'; + } + } + /* A termeken külön */ + foreach($_POST as $key=>$value) { + if ($value!='' && substr($key,0,2)=='T_') { + $_ADAT = array(); + list($_pre,$_het,$_nap,$_ora,$_tanarId,$_kulcsTolDt) = explode('_',$key); + $_ADAT['teremId'] = readVariable($value, 'id'); + $_ADAT['het'] = readVariable($_het,'id'); + $_ADAT['nap'] = readVariable($_nap,'id'); + $_ADAT['ora'] = readVariable($_ora,'id'); + $_ADAT['tolDt'] = readVariable($refTolDt,'date'); + $_ADAT['igDt'] = readVariable($refIgDt,'date'); + $_ADAT['refDt'] = readVariable($refDt,'date'); + $_ADAT['tanarId'] = readVariable($_tanarId,'id',null); +dump($_ADAT); + teremModosit($_ADAT); + } + } + unset($_ADAT); + } + + + $ADAT['termek'] = getTermek(array('result'=>'assoc')); + $ADAT['tanarok'] = getTanarok(array('result'=>'assoc')); +// ===================== + if ($tankorId!='') { + $ADAT['orarend'] = getOrarendByTankorId($tankorId, array('tolDt'=>$tolDt,'igDt'=>$igDt)); + //$ADAT['toPrint'] = getTankorNev($tankorId); // vagy getTankornev külön? + } elseif($tanarId!='') { + $ADAT['orarend'] = getOrarendByTanarId($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephely'=>$telephely,'orarendiOraTankor'=>true)); + $ADAT['toPrint'] = $ADAT['tanarok'][$tanarId]['tanarNev']; + $ADAT['felvehetoTankorok'] = getTankorByTanarId($tanarId,$tanev, array('csakId'=>false,'tolDt'=>$refTolDt, 'igDt'=>$refIgDt)); + +//======================== +/* illesszük ide az Órarendi óra tankör összerendezés 4.6 */ + $ADAT['orarendioraTankor'] = getOrarendByTanarId($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'orarendiOraTankor'=>true)); +//======================== + $TANKORIDK = getTankorByTanarId($tanarId, __TANEV, array('csakId' => true, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'indexed', 'tanarral' => false)); + $ADAT['haladasi'] = getOrak($TANKORIDK, array('tolDt'=>$tolDt,'igDt'=>$igDt, 'result'=>'likeOrarend', 'elmaradokNelkul'=>false)); + $ADAT['vanHaladasi'] = checkHaladasi(array('tolDt'=>$refTolDt,'igDt'=>$refIgDt)); + } elseif($diakId!='') { + $ADAT['orarend'] = getOrarendByDiakId($diakId,array('tolDt'=>$tolDt,'igDt'=>$igDt)); + } elseif ($osztalyId!='') { + $ADAT['orarend'] = getOrarendByOsztalyId($osztalyId,array('tolDt'=>$tolDt,'igDt'=>$igDt)); + $OADAT = getOsztalyAdat($osztalyId); + $ADAT['toPrint'] = $OADAT['osztalyJel']; + } elseif ($mkId!='') { + $ADAT['orarend'] = getOrarendByMkId($mkId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephely'=>$telephely)); + } elseif ($teremId!='') { + $ADAT['orarend'] = getOrarendByTeremId($teremId,'',array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephely'=>$telephely)); + } + else $ADAT = array(); + + $TANKOROK['erintett'] = $ADAT['orarend']['tankorok']; + $TANKOROK['mindenByDt'] = $ADAT['orarend']['mindenTankorByDt']; + + $TANKOROK = (is_array($ADAT['orarend']['tankorok']) && is_array($ADAT['haladasi']['tankorok'])) ? + array_unique(array_merge($ADAT['orarend']['tankorok'],$ADAT['haladasi']['tankorok'])) + : + $ADAT['orarend']['tankorok']; + $ADAT['tankorok'] = getTankorAdatByIds($TANKOROK); + /* tankörlétszámok */ + if (is_array($ADAT['tankorok'])) foreach ($ADAT['tankorok'] as $_tankorId =>$_T) { + $ADAT['tankorLetszamok'][$_tankorId] = getTankorLetszam($_tankorId,array('refDt'=>$tolDt)); + } + + /* quick fix */ + $_T = array(); + //if (count($TANKOROK)==0) { + for ($i=0; $i<count($ADAT['felvehetoTankorok']); $i++) { + $_T[] = $ADAT['felvehetoTankorok'][$i]['tankorId']; + } + //} else $_T = $TANKOROK; + $ADAT['felvehetoBlokkok'] = getFelvehetoBlokk(array('tankorIds'=>$_T)); + + $ADAT['hibasOrak'] = getHibasOrak(); + + //--// + $ADAT['dt'] = $dt; // show this... ha a skin ajax + + //$ADAT['napiMinOra'] = getMinOra(); + $ADAT['napiMinOra'] = 0; // Ha még nincs is 0. óra, lehessen felvenni, ha kell + $ADAT['napiMaxOra'] = getMaxOra()+1; // +1 mindig legyen, ha nincs konstans, akkor is + if ($ADAT['napiMaxOra'] < __MAXORA_MINIMUMA) $ADAT['napiMaxOra'] = __MAXORA_MINIMUMA; // Legalább __MAXORA_MINIMUMA órát fel lehessen venni + $ADAT['hetiMaxNap'] = getMaxNap(); + if ($ADAT['hetiMaxNap'] < __HETIMAXNAP_MINIMUMA) $ADAT['hetiMaxNap'] = __HETIMAXNAP_MINIMUMA; + + $ADAT['tanarId'] = $tanarId; + $ADAT['refTolDt'] = $refTolDt; + $ADAT['refIgDt'] = $refIgDt; + $ADAT['tolDt'] = $tolDt; +//===================================== + + /* TOOL ME :) */ + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId','mkId','diakId','telephely','refTolDt','refIgDt'), + 'paramName' => 'tolDt', 'title' => 'ORARENDDT', + 'hanyNaponta' => 7, + 'override'=>true, // használathoz még át kell írni pár függvényt!!! +// 'tolDt' => date('Y-m-d', strtotime('Monday', strtotime($_TANEV['kezdesDt']))), + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))), +// 'tolDt' => $_TANEV['elozoZarasDt'], + 'igDt' => $_TANEV['kovetkezoKezdesDt'], + ); + $TOOL['datumTolIgSelect'] = array( + 'tipus' => 'sor', 'title' => 'REFDT', + 'post'=>array('tolDt','tanarId','osztalyId','tankorId','mkId','diakId','telephely'), + 'tolParamName' => 'refTolDt', 'igParamName' => 'refIgDt', 'hanyNaponta' => 1, + 'tolDt' => $_TANEV['elozoZarasDt'], + 'igDt' => $_TANEV['kovetkezoKezdesDt'], + 'override' => true, + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => $_TANEV['zarasDt'], + ); + + //$TOOL['orarendiHetSelect'] = array('tipus'=>'cella' , 'paramName' => 'het', 'post'=>array('targyId','tankorId','osztalyId','tanarId'), 'disabled'=>true); +// if ($osztalyId!='' || $diakId!='') { +// $TOOL['diakSelect'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array('refTolDt','refIgDt','tolDt','osztalyId','telephely')); +// } else +// $TOOL['munkakozossegSelect'] = array('tipus'=>'sor', 'paramName'=>'mkId', 'post'=>array('refTolDt','refIgDt','tolDt','telephely')); + $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'post'=>array('refTolDt','refIgDt','tolDt','telephely')); +// $TOOL['osztalySelect']= array('tipus'=>'cella', 'paramName'=>'osztalyId', 'post'=>array('refTolDt','refIgDt','tolDt')); +// $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephely', 'post'=>array('refTolDt','refIgDt','tolDt','mkId','tanarId')); +// $TOOL['teremSelect'] = array('tipus'=>'cella', 'paramName'=>'teremId', 'telephely'=>$telephely, 'post'=>array('refTolDt','refIgDt','tolDt','telephely')); + if ($osztalyId!='' || $tanarId!='' || $diakId!='' || $mkId!='') $TOOL['tankorSelect'] = array('tipus'=>'sor','paramName'=>'tankorId', 'post'=>array('refTolDt','refIgDt','tolDt','osztalyId','targyId','tanarId','diakId','telephely')); + getToolParameters(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendModosito.php b/mayor-orig/www/policy/private/naplo/orarend/orarendModosito.php new file mode 100644 index 00000000..e60986b5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendModosito.php @@ -0,0 +1,8 @@ +<?php + + global $ADAT; + +// if (count($_SESSION['alert'])==0) +// if (!in_array('info:nincs_intervallum', $_SESSION['alert']) && is_array($ADAT['orarend']) && count($ADAT['orarend']) != 0) putOrarend($ADAT); + if ((!is_array($_SESSION['alert']) || !in_array('info:nincs_intervallum', $_SESSION['alert'])) && is_array($ADAT['felvehetoTankorok']) && count($ADAT['felvehetoTankorok']) > 0) putOrarend($ADAT); +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendTankor-pre.php b/mayor-orig/www/policy/private/naplo/orarend/orarendTankor-pre.php new file mode 100644 index 00000000..68a32271 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendTankor-pre.php @@ -0,0 +1,56 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access'; + + $tanev = __TANEV; + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + require_once('include/modules/naplo/share/orarend.php'); + + if ($action == 'orarendiOraTankorAssoc') { + orarendiOraTankorAssoc(); + } + + $targyId = readVariable($_POST['targyId'],'id'); + $tankorId = readVariable($_POST['tankorId'],'id'); + $osztalyId = readVariable($_POST['osztalyId'],'id'); + $tanarId = readVariable($_POST['tanarId'],'id'); + $tolDt = readVariable($_POST['tolDt'],'date'); + $igDt = date('Y-m-d', mktime(0,0,0,date('m',strtotime($tolDt)), date('d',strtotime($tolDt))+6, date('Y',strtotime($tolDt)))); + + if($tanarId!='') { + $ORAREND = getOrarendByTanarId($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'orarendiOraTankor'=>true)); + $ORAREND['napiMinOra'] = getMinOra(); + $ORAREND['napiMaxOra'] = $ORAREND['maxOra'] = getMaxOra(); + $ORAREND['hetiMaxNap'] = getMaxNap(); + $TANKOROK = getTankorByTanarId($tanarId,__TANEV,array('csakId'=>false,'result'=>'multiassoc','tolDt'=>$_TANEV['kezdesDt'],'igDt'=>$_TANEV['zarasDt'])); + foreach($TANKOROK as $_tankorId => $_TA) { + $tankorBlokk = getTankorBlokkByTankorId($_tankorId, __TANEV, array('blokkNevekkel'=> true)); + if (is_array($tankorBlokk )) + $TANKOROK[$_tankorId][0]['blokkAdat'] = $tankorBlokk; + } + dump($TANKOROK); + } else { $ORAREND = array(); } + + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId'), + 'paramName' => 'tolDt', 'hanyNaponta' => 7, + 'override'=>true, // használathoz még át kell írni pár függvényt!!! + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => $_TANEV['zarasDt'], + ); + $TOOL['tanarSelect'] = array('tipus'=>'cella','paramName'=>'tanarId', 'post'=>array('het','tolDt')); + getToolParameters(); + + + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendTankor.php b/mayor-orig/www/policy/private/naplo/orarend/orarendTankor.php new file mode 100644 index 00000000..f1962014 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendTankor.php @@ -0,0 +1,8 @@ +<?php + + global $ORAREND,$TANKOROK; + global $tanarId; + + putOrarend($ORAREND,$TANKOROK,$tanarId); + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendTeremModositas-pre.php b/mayor-orig/www/policy/private/naplo/orarend/orarendTeremModositas-pre.php new file mode 100644 index 00000000..c79371fb --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendTeremModositas-pre.php @@ -0,0 +1,86 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV); + if ($tanev = __TANEV) $_TA = $_TANEV; + else $_TA = getTanevAdat($tanev); + + if (isset($tanev)) { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/terem.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/orarend.php'); + + require_once('include/share/date/names.php'); + + $ADAT['napiMinOra'] = getMinOra(array('tanev' => $tanev)); + $ADAT['napiMaxOra'] = getMaxOra(array('tanev' => $tanev)); + $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', $_TA['kezdesDt']); + + $ADAT['tanarok'] = getTanarok(array('tanev' => $tanev, 'result' => 'assoc')); + $ADAT['termek'] = getTermek(array('tipus'=>array())); + $ADAT['tankorok'] = getTankorok(array("tanev=$tanev")); + for ($i = 0; $i < count($ADAT['tankorok']); $i++) { + $tankorId = $ADAT['tankorok'][$i]['tankorId']; + $ADAT['tankorok'][$i]['tankorAdat'] = getTankorAdat($tankorId, $tanev); + $ADAT['tankorIndex'][$tankorId] = $i; + } + + $ADAT['orarendiHetek'] = getOrarendiHetek(array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt,'felsohatar'=>99)); + $ADAT['orak'] = array(); + if (isset($ADAT['napiMaxOra']) && isset($ADAT['napiMinOra'])) { + for ($n = $ADAT['napiMinOra']; $n <= $ADAT['napiMaxOra']; $n++) $ADAT['orak'][] = $n; + } else { + $_SESSION['alert'][] = 'message:nincs órarend?:'.$ADAT['napiMaxOra'].', '.$ADAT['napiMinOra']; + $ADAT['orak'] = array(0,1,2,3,4,5,6,7,8,9); + } + + if ($action == 'orarendTeremModositas') { + + $ADAT['tanarId'] = readVariable($_POST['tanarId'], 'numeric unsigned', null); + $ADAT['het'] = readVariable($_POST['het'], 'numeric unsigned', null, $ADAT['orarendiHet']); + $ADAT['nap'] = readVariable($_POST['nap'], 'numeric unsigned', null, array(1,2,3,4,5,6,7)); + $ADAT['ora'] = readVariable($_POST['ora'], 'numeric unsigned', null, $ADAT['orak']); + + if (isset($ADAT['tanarId']) && isset($ADAT['het']) && isset($ADAT['nap']) && isset($ADAT['ora'])) { + + $ADAT['termek'] = getTermek(array('result' => 'assoc')); + $ADAT['orarendiOra'] = getOrarendiOraAdat($ADAT); + $ADAT['foglaltTermek'] = getFoglaltTeremekByOrarendiOra($ADAT); + + $ADAT['teremIds'] = array_keys($ADAT['termek']); + + $ADAT['teremId'] = readVariable($_POST['teremId'], 'numeric unsigned', intval($ADAT['orarendiOra']['teremId']), $ADAT['teremIds']); + if ($ADAT['teremId'] != $ADAT['orarendiOra']['teremId']) { + if ($tanarId = teremModositas($ADAT)) { // ütközés esetén az ütkörő óra adatait + $ADAT['tanarId'] = $tanarId; + $ADAT['orarendiOra'] = getOrarendiOraAdat($ADAT); + } else { + $ADAT['orarendiOra']['teremId'] = $ADAT['teremId']; + } + $ADAT['foglaltTermek'] = getFoglaltTeremekByOrarendiOra($ADAT); + } + + } + + } + + } + + $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array()); + $TOOL['datumSelect'] = array( + 'tipus' => 'cella', 'post' => array('tanev'),'paramName' => 'dt', 'hanyNaponta' => 1, + 'override' => true,'tolDt' => $_TA['kezdesDt'], 'igDt' => $_TA['zarasDt'], + ); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendTeremModositas.php b/mayor-orig/www/policy/private/naplo/orarend/orarendTeremModositas.php new file mode 100644 index 00000000..0473433c --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendTeremModositas.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putOrarendiOraValaszto($ADAT); + putTeremModosito($ADAT); +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendUtkozes-pre.php b/mayor-orig/www/policy/private/naplo/orarend/orarendUtkozes-pre.php new file mode 100644 index 00000000..573fa8d8 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendUtkozes-pre.php @@ -0,0 +1,77 @@ +<?php + +// EZ A FILE ELAVULT LEHET! + +if (_RIGHTS_OK !== true) die(); + +if (!__NAPLOADMIN && !__VEZETOSEG) { + $_SESSION['alert'][] = 'page:insufficient_access'; +} else { + + $tanev = __TANEV; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/share/date/names.php'); + + $osztalyId = readVariable($_POST['osztalyId'], 'id'); + $tolDt = readVariable($_POST['tolDt'],'datetime'); + + if (!isset($tolDt)) + // A következő nap előtti hétfő + $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', time()))); + if (strtotime($tolDt) > strtotime($_TANEV['zarasDt'])) $tolDt = $_TANEV['zarasDt']; + elseif (strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $tolDt = $_TANEV['kezdesDt']; + if ($tolDt != '') $het = getOrarendiHetByDt($tolDt); + if ($het == '') $het = getLastOrarend(); + $igDt = date('Y-m-d', mktime(0,0,0,date('m',strtotime($tolDt)), date('d',strtotime($tolDt))+6, date('Y',strtotime($tolDt)))); + + $ADAT['tanarok'] = getTanarok(array('result'=>'assoc')); + +// ===================== + if ($tankorId!='') { + $ADAT['orarend'] = getOrarendByTankorId($tankorId, array('tolDt'=>$tolDt,'igDt'=>$igDt)); + //$ADAT['toPrint'] = getTankorNev($tankorId); // vagy getTankornev külön? + } elseif($tanarId!='') { + $ADAT['orarend'] = getOrarendByTanarId($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt)); + $ADAT['toPrint'] = $ADAT['tanarok'][$tanarId]['tanarNev']; + } elseif($diakId!='') { + $ADAT['orarend'] = getOrarendByDiakId($diakId,array('tolDt'=>$tolDt,'igDt'=>$igDt)); + } elseif ($osztalyId!='') { + + $ADAT['diakok'] = getDiakokByOsztaly($osztalyId, array('tanev' => $tanev, 'statuszonkent' => 0)); + + foreach ($ADAT['diakok'] as $_diakId => $dAdat) { + $D = array(); + $D['orarend'] = getOrarendByDiakId($_diakId,array('tolDt'=>$tolDt,'igDt'=>$igDt)); + $D['tankorok'] = getTankorByDiakId($_diakId,__TANEV,array('csakId'=>false,'result'=>'multiassoc','tolDt'=>$tolDt,'igDt'=>$igDt)); + $ADAT['diakOrarend'][$_diakId] = $D; + } + + } elseif ($mkId!='') { + $ADAT['orarend'] = getOrarendByMkId($mkId,array('tolDt'=>$tolDt,'igDt'=>$igDt)); + } elseif ($teremId!='') { + $ADAT['orarend'] = getOrarendByTeremId($teremId,'',array('tolDt'=>$tolDt,'igDt'=>$igDt)); + } + else $ADAT = array(); + + /* TOOL ME :) */ + + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId'), + 'paramName' => 'tolDt', 'hanyNaponta' => 7, + 'tolDt' => date('Y-m-d', strtotime('Monday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => $_TANEV['zarasDt'], + ); + $TOOL['osztalySelect']= array('tipus'=>'cella','paramName'=>'osztalyId', 'post'=>array('tolDt')); + getToolParameters(); + +} + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/orarendUtkozes.php b/mayor-orig/www/policy/private/naplo/orarend/orarendUtkozes.php new file mode 100644 index 00000000..a2ea24cb --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/orarendUtkozes.php @@ -0,0 +1,47 @@ +<?php + + global $ADAT; + + + $err = 0; + if (is_array($ADAT['diakok'])) + foreach ($ADAT['diakok'] as $_diakId => $dAdat) { + _check($ADAT['diakOrarend'][$_diakId],$dAdat,$err); + } + + if ($err==0) echo 'nincs ütközés'; + + +function _check($ADAT,$dAdat,&$err) { + $TANKORADAT = $ADAT['tankorok']; + if (is_array($ADAT['orarend']['assoc'])) + foreach($ADAT['orarend']['assoc'] as $het => $HETI) { + foreach ($HETI as $nap => $NAPI) { + foreach($NAPI as $ora => $ORA) { + if (count($ORA)>1) { + $db=0; + for ($j=0; $j<count($ORA); $j++) { + if (is_array($TANKORADAT[$ORA[$j]['tankorId']])) $db++; + } + if ($db>1) { + $err++; + echo $dAdat['diakNev']; + echo " hét:$het nap:$nap ora:$ora ütközés szám:".count($ORA)."db. <br/>"; + echo '<ul>'; + for ($j=0; $j<count($ORA); $j++) { + echo '<li>'; + echo $TANKORADAT[$ORA[$j]['tankorId']][0]['tankorNev']; + echo '('.$TANKORADAT[$ORA[$j]['tankorId']][0]['jelenlet'].')'; + echo $TANKORADAT[$ORA[$j]['tankorId']][0]['tankorId']; + echo '</li>'; + } + echo '</ul>'."\n"; + } + } + } + } + } +} + + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/szabadTerem-pre.php b/mayor-orig/www/policy/private/naplo/orarend/szabadTerem-pre.php new file mode 100644 index 00000000..a5b8b2b5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/szabadTerem-pre.php @@ -0,0 +1,31 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/modules/naplo/share/terem.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/share/date/names.php'); + + $tolDt = readVariable($_POST['tolDt'],'date',date('Y-m-d', strtotime('last Monday', strtotime('+1 days')))); + $igDt = date('Y-m-d', strtotime('next Friday',strtotime($tolDt))); + + $ADAT['telephelyek'] = getTelephelyek(); + $telephelyIds = array(); + foreach ($ADAT['telephelyek'] as $tAdat) $telephelyIds[] = $tAdat['telephelyId']; + $telephelyId = readVariable($_POST['telephelyId'], 'id', null, $telephelyIds); + $ADAT['termek'] = getTermek(array('result' => 'assoc')); + $ADAT['teremIdk'] = getTermek(array('result' => 'idonly', 'tipus' => array('tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','tornaszoba','fejlesztőszoba','tanműhely','előadó','könyvtár','díszterem','templom','egyéb'), 'telephelyId' => $telephelyId)); + $ADAT['szabadTermek'] = getSzabadTermekByDtInterval($tolDt, $igDt, $ADAT['teremIdk']); + $ADAT['toPrint'] = 'Órarendi szabad termek'; + + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId','mkId','diakId'), + 'paramName' => 'tolDt', 'hanyNaponta' => 7, + 'override'=>true, // használathoz még át kell írni pár függvényt!!! + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => $_TANEV['zarasDt'], + ); + $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'telephelyek'=>$ADAT['telephelyek'], 'post'=>array('tolDt')); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/szabadTerem.php b/mayor-orig/www/policy/private/naplo/orarend/szabadTerem.php new file mode 100644 index 00000000..4b3becbe --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/szabadTerem.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putOrarend($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/tanarOrarend-pre.php b/mayor-orig/www/policy/private/naplo/orarend/tanarOrarend-pre.php new file mode 100644 index 00000000..51110328 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/tanarOrarend-pre.php @@ -0,0 +1,49 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/orarend.php'); +// require_once('include/share/print/pdf.php'); + + $tolDt = readVariable($_POST['tolDt'], 'date', date('Y-m-d')); + $orarendiHet = readVariable($_POST['orarendiHet'], 'numeric unsigned', 1); + $felev = readVariable($_POST['felev'], 'numeric unsigned', 1); + + $napiMinOra = getMinOra(); + $napiMaxOra = getMaxOra(); + $Orak = getTanarOrarend($orarendiHet, $felev,$tolDt); + $Tanarok = getTanarok(); + + if (isset($_POST['csv'])) { + if (OrarendFileGeneralasCSV($Tanarok, $Orak)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=tanarOrarend.csv')); + } elseif (isset($_POST['xls'])) { + if (OrarendFileGeneralasXLS($Tanarok, $Orak)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=tanarOrarend.xls')); + } elseif (isset($_POST['txt'])) { + if (OrarendFileGeneralasTXT($Tanarok, $Orak)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=tanarOrarend.txt')); + } elseif (isset($_POST['html'])) { + if (OrarendFileGeneralasHTML($Tanarok, $Orak)) + header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=tanarOrarend.html')); + } + + + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post'=>array('orarendiHet','felev'), + 'paramName' => 'tolDt', 'hanyNaponta' => 1, + 'override'=>true, // használathoz még át kell írni pár függvényt!!! + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => $_TANEV['zarasDt'], + ); + $TOOL['orarendiHetSelect'] = array( + 'tanev' => $tanev, 'tolDt' => $tolDt, 'igDt' => $igDt, 'tipus' => 'cella', +// 'megjelenitendoHetek' => array(1,2,3,4,5,6,7,8,9,10), + 'post' => array('fileName','tanev','tolDt','igDt','conv','felev'), 'paramName' => 'orarendiHet' + ); + $TOOL['felevSelect'] = array( + 'tanev'=>$tanev,'tipus' => 'cella', 'post' => array('fileName','tanev','tolDt','igDt','conv','orarendiHet'), 'paramName' => 'felev' + ); + getToolParameters(); +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/tanarOrarend.php b/mayor-orig/www/policy/private/naplo/orarend/tanarOrarend.php new file mode 100644 index 00000000..5c911be6 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/tanarOrarend.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $Orak, $Tanarok, $napiMinOra, $napiMaxOra, $orarendiHet, $felev, $tolDt; + + putTanarOrarend($Tanarok, $Orak, $napiMinOra, $napiMaxOra, $orarendiHet, $felev, $tolDt); + +?> diff --git a/mayor-orig/www/policy/private/naplo/orarend/termez-pre.php b/mayor-orig/www/policy/private/naplo/orarend/termez-pre.php new file mode 100644 index 00000000..1d6ba091 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/termez-pre.php @@ -0,0 +1,173 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN!==true && __VEZETOSEG!==true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/terem.php'); + + $ADAT['tolDt'] = $tolDt = readVariable($_GET['tolDt'],'date',readVariable($_POST['tolDt'],'date',date('Y-m-d'))); + + /* a program a megadott preferenciasorrend szerint teszi be az órákat a megadott helyekre */ + // ezt a részt egyelőre nem használjuk semmire + $T = getTermek(); + for ($i=0; $i<count($T); $i++) { + if (in_array($T[$i]['tipus'],array('tanári','tornaterem','díszterem','egyéb','könyvtár','labor'))) continue;; + if ($T[$i]['ferohely']>24) $NAGYTEREM[$T[$i]['telephelyId']][] = $T[$i]['teremId']; + elseif ($T[$i]['ferohely']>0) $KISTEREM[$T[$i]['telephelyId']][] = $T[$i]['teremId']; + } + // + + $ADAT['terem'] = getTermek(array('result'=>'assoc')); + $ADAT['teremPreferencia'] = $P = getTeremPreferencia(); + + $ADAT['tanar'] = getTanarok(array('result'=>'assoc')); + $ADAT['targy'] = getTargyak(array('result'=>'assoc','arraymap'=>array('targyId'))); + + if ($action=='del') { + $delTeremPreferenciaId = readVariable($_GET['delTeremPreferenciaId'],'id'); + $q = "DELETE FROM teremPreferencia WHERE teremPreferenciaId=%u"; + $v = array($delTeremPreferenciaId); + $ret = db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo_intezmeny','values'=>$v)); + $ADAT['teremPreferencia'] = getTeremPreferencia(); + } elseif ($action=='run') { + $runTeremPreferenciaId = readVariable($_GET['runTeremPreferenciaId'],'id'); + $P = getTeremPreferencia(array('teremPreferenciaId'=>$runTeremPreferenciaId)); + //$q = "SELECT tanarId FROM teremPreferencia WHERE teremPreferenciaId=%u"; + //$_tanarId = db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>array($runTeremPreferenciaId)),$lr); + + for ($i=0; $i<count($P); $i++) { + + $lr = db_connect('naplo'); + + $_t = $P[$i]; + $_tanarId=$P[$i]['tanarId']; + $_targyId=$P[$i]['targyId']; + $_termek=explode(',',$P[$i]['teremStr']); + + if ($_targyId>0) { + for ($t=0; $t<count($_termek); $t++) { + + $q = "CREATE TEMPORARY TABLE __o__ SELECT * FROM orarendiOra WHERE teremId=%u AND igDt>='%s'"; + db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>array($_termek[$t],$tolDt)),$lr); + $q = "UPDATE orarendiOra AS y LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) +SET teremId=%u WHERE tanarId=%u AND teremId IS NULL AND targyId=%u +AND (SELECT count(*) FROM __o__ AS x WHERE y.het=x.het AND y.nap=x.nap AND y.ora=x.ora)=0 +"; + $v = array($_termek[$t],$_tanarId,$_targyId); + $db += db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>$v,'result'=>'affected rows'),$lr); + $q = "DROP TABLE __o__"; + db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo'),$lr); + } + } else { + for ($t=0; $t<count($_termek); $t++) { + $q = "CREATE TEMPORARY TABLE __o__ SELECT * FROM orarendiOra WHERE teremId=%u AND igDt>='%s'"; + db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>array($_termek[$t],$tolDt)),$lr); + + $q = "UPDATE orarendiOra AS y SET teremId=%u WHERE tanarId=%u AND teremId IS NULL +AND (SELECT count(*) FROM __o__ AS x WHERE y.het=x.het AND y.nap=x.nap AND y.ora=x.ora)=0 +"; + $v = array($_termek[$t],$_tanarId); + $db += db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>$v,'result'=>'affected rows'),$lr); + $q = "DROP TABLE __o__"; + db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo'),$lr); + } + } + db_close($lr); + $_SESSION['alert'][] = 'info:success:'.$db; + } + + } elseif ($action=='beallitasokModositasa') { + if (is_array($_POST)) { + foreach($_POST as $k=>$v) { + if (strstr($k,'teremPreferenciaId')!==false) { + list($_rest,$_teremPreferenciaId) = explode('_',$k); + if ($_teremPreferenciaId!=$v) { + echo 'csere'; + echo $_teremPreferenciaId.'==>'.$v; + $q = "UPDATE teremPreferencia SET teremPreferenciaId=%u WHERE teremPreferenciaId=%u"; + $v = array($v,$_teremPreferenciaId); + $ret = db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo_intezmeny','values'=>$v,'result'=>'update')); + } + } + } + $ujTeremPreferenciaId = readVariable($_POST['ujTeremPreferenciaId'],'id'); + $ujTanarId = readVariable($_POST['ujTanarId'],'id'); + $ujTargyId = readVariable($_POST['ujTargyId'],'id'); + $ujTeremStr = readVariable($_POST['ujTeremStr'],'string'); // ezt validálni kellene... + // terem validál + $_UJTERMEK = explode(',',$ujTeremStr); + for ($i=0; $i<count($_UJTERMEK); $i++) { + if (is_array($ADAT['terem'][trim($_UJTERMEK[$i])] )) { + $_TEREMOK[] = trim($_UJTERMEK[$i]); + } + } + $ujTeremStr = implode(',',$_TEREMOK); + // + if ($ujTeremStr!='') { + $q = "INSERT INTO teremPreferencia (teremPreferenciaId,tanarId,targyId,teremStr) VALUES (%u,%u,%s,'%s')"; + if ($ujTargyId==0) $ujTargyId='NULL'; + $v = array($ujTeremPreferenciaId,$ujTanarId,$ujTargyId,$ujTeremStr); + $ret = db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo_intezmeny','values'=>$v,'result'=>'update')); + } + } + /* RELOAD! */ + $ADAT['teremPreferencia'] = $P = getTeremPreferencia(); + } elseif ($action=='magic') { + + $lr = db_connect('naplo'); + for ($i=0; $i<count($P); $i++) { + + $_t = $P[$i]; + $_tanarId=$P[$i]['tanarId']; + $_targyId=$P[$i]['targyId']; + $_termek=explode(',',$P[$i]['teremStr']); + + if ($_targyId>0) { + for ($t=0; $t<count($_termek); $t++) { + $q = "CREATE TEMPORARY TABLE __o__ SELECT * FROM orarendiOra WHERE teremId=%u AND igDt>='%s'"; + db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>array($_termek[$t],$tolDt)),$lr); + $q = "UPDATE orarendiOra AS y LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) +SET teremId=%u WHERE tanarId=%u AND teremId IS NULL AND targyId=%u +AND (SELECT count(*) FROM __o__ AS x WHERE y.het=x.het AND y.nap=x.nap AND y.ora=x.ora)=0 +"; + $v = array($_termek[$t],$_tanarId,$_targyId); + $db += db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>$v,'result'=>'affected rows'),$lr); + $q = "DROP TABLE __o__"; + db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo'),$lr); + } + } else { + for ($t=0; $t<count($_termek); $t++) { + $q = "CREATE TEMPORARY TABLE __o__ SELECT * FROM orarendiOra WHERE teremId=%u AND igDt>='%s'"; + db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>array($_termek[$t],$tolDt)),$lr); + + $q = "UPDATE orarendiOra AS y SET teremId=%u WHERE tanarId=%u AND teremId IS NULL +AND (SELECT count(*) FROM __o__ AS x WHERE y.het=x.het AND y.nap=x.nap AND y.ora=x.ora)=0 +"; + $v = array($_termek[$t],$_tanarId); + $db += db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>$v,'result'=>'affected rows'),$lr); + $q = "DROP TABLE __o__"; + db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo'),$lr); + } + } + } + db_close($lr); + $_SESSION['alert'][] = 'info:success:'.$db; + + } // action + + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post'=>array(), + 'paramName' => 'tolDt', + 'hanyNaponta' => 1, + 'override'=>true, // használathoz még át kell írni pár függvényt!!! +// 'tolDt' => date('Y-m-d', strtotime('Monday', strtotime($_TANEV['kezdesDt']))), + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))), +// 'tolDt' => $_TANEV['elozoZarasDt'], + 'igDt' => $_TANEV['kovetkezoKezdesDt'], + ); +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/orarend/termez.php b/mayor-orig/www/policy/private/naplo/orarend/termez.php new file mode 100644 index 00000000..8ff70034 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/orarend/termez.php @@ -0,0 +1,6 @@ +<?php + + global $ADAT; + putTermezo($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel-pre.php new file mode 100644 index 00000000..6891375d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel-pre.php @@ -0,0 +1,111 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + define('_TIME',strtotime(date('Y-m-d'))); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/vizsga.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/kepzes.php'); + + $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'emptystringnull', 'bizonyítvány', getTargySorrendNevek(__TANEV)); + $ADAT['zaroJegyTipusok'] = getEnumField('naplo_intezmeny', 'zaroJegy', 'jegyTipus'); + + $ADAT['magatartasIdk'] = getMagatartas(); + $ADAT['szorgalomIdk']= getSzorgalom(); +// $tmp = getTargyakByDiakId($diakId); -- ezt sajnos itt nem tudjuk használni, mert erősen tanév függő + $tmp = getTargyak(array('targySorrendNev'=>$ADAT['sorrendNev'])); + // reindex + $ADAT['targyak'] = array(); + for ($i=0; $i<count($tmp); $i++) { + $ADAT['targyak'][$tmp[$i]['targyId']] = $tmp[$i]; + } + + // Melyik osztály diákjait nézzük + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id'); + if (__OSZTALYFONOK && !isset($osztalyId)) $_POST['osztalyId'] = $ADAT['osztalyId'] = $osztalyId = $_OSZTALYA[0]; + if (__DIAK) { // diák / szülő csak a saját adatait nézheti + $diakId = __USERDIAKID; + } elseif (isset($_POST['diakId']) && $_POST['diakId'] != '') { + $diakId = readVariable($_POST['diakId'],'numeric'); + } + + $ADAT['kepzesId'] = $kepzesId = readVariable($_POST['kepzesId'],'id'); + + if (!is_null($diakId)) { + define('__VEGZOS', diakVegzosE($diakId)); + // intézmlényi adatok lekérdezése + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); + // diák adatai + $ADAT['diakAdat'] = getDiakAdatById($diakId); + // Na de ez így semmit nem jelent. Melyik osztályban, melyik tanévben? + // ez így nem elég! + $ADAT['diakKepzes'] = getKepzesByDiakId($diakId, array('result'=>'indexed')); // Ez a diák valaha volt összes képzése!! + if (isset($kepzesId)) { + $ADAT['kepzesOraterv'][$kepzesId] = getKepzesOraterv($kepzesId,array('arraymap'=>array('targyId','evfolyamJel'))); + } else { + for ($i=0; $i<count($ADAT['diakKepzes']); $i++) { + $_kepzesId = $ADAT['diakKepzes'][$i]['kepzesId']; + $ADAT['kepzesOraterv'][$_kepzesId] = getKepzesOraterv($_kepzesId,array('arraymap'=>array('targyId','evfolyamJel'))); + } + if ($i==1) $ADAT['kepzesId'] = $kepzesId = $_kepzesId; + } + + // Erre nincs szükség + $ADAT['diakOsztaly'] = getDiakMindenOsztaly($diakId); + for($j=0; $j<count($ADAT['diakOsztaly']); $j++) { + $_osztalyId = $ADAT['diakOsztaly'][$j]['osztalyId']; + $ADAT['diakEvfolyamJel'][$_osztalyId] = getEvfolyamJel($_osztalyId); + } + + /* + Zárójegyek évfolyamonként + Minden zárójegy, függetlenül attól milyen képzésen szerezte + */ + $ADAT['zaroJegy'] = getDiakZaroJegyek($diakId,null,null,array('arraymap'=>array('diakId','targyId','evfolyamJel','felev'))); + + $_VIZSGA = getVizsgak(array('diakId'=>$diakId)); + /* REINDEX */ + for ($i=0; $i<count($_VIZSGA); $i++) { + $ADAT['zaroJegyVizsga'][$_VIZSGA[$i]['zaroJegyId']]=$_VIZSGA[$i]; + } + } + +// $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , 'post' => array('osztalyId', 'diakId', 'sorrendNev')); + if (!__DIAK) { + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('szemeszterId', 'sorrendNev')); + $TOOL['diakSelect'] = array( + 'tipus'=>'cella','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId','szemeszterId', 'sorrendNev'), + 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + ); + if (isset($diakId)) { + $TOOL['diakLapozo'] = array( + 'tipus'=>'sor','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId','szemeszterId', 'sorrendNev'), + 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + ); + $TOOL['kepzesSelect'] = array('tipus'=>'sor','paramName'=>'kepzesId', 'kepzesId'=>$kepzesId, 'post' => array('osztalyId','diakId')); + } + + } + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId', 'diakId','kepzesId')); + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel.php b/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel.php new file mode 100644 index 00000000..0a24626a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel.php @@ -0,0 +1,11 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $diakId, $ADAT; + + if ($diakId != '') { + putDiakTanulmanyiElomenetel($diakId, $ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany-pre.php new file mode 100644 index 00000000..75d84d3e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany-pre.php @@ -0,0 +1,166 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + define('_TIME',strtotime(date('Y-m-d'))); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/vizsga.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + + $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'emptystringnull', 'bizonyítvány', getTargySorrendNevek(__TANEV)); + $ADAT['zaroJegyTipusok'] = getEnumField('naplo_intezmeny', 'zaroJegy', 'jegyTipus'); + + $ADAT['magatartasIdk'] = getMagatartas(); + $ADAT['szorgalomIdk']= getSzorgalom(); + // Az összes tárgy kell az előmenetel megjelenítéséhez... + $tmp = getTargyak(); + // reindex + $ADAT['targyak'] = array(); + for ($i=0; $i<count($tmp); $i++) { + $ADAT['targyak'][$tmp[$i]['targyId']] = $tmp[$i]; + } + + // Melyik osztály diákjait nézzük + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id'); + if (__OSZTALYFONOK && !isset($osztalyId)) $_POST['osztalyId'] = $ADAT['osztalyId'] = $osztalyId = $_OSZTALYA[0]; + // melyik szemeszter adatait nézzük + $szemeszterId = readVariable($_POST['szemeszterId'],'id',null); + if (!is_null($szemeszterId)) { + //$_TANEV2 = getTanevAdat($szemeszterId); + $_TANEV2 = getTanevAdatBySzemeszterId($szemeszterId); // itt volt egy TYPO + for ($i = 1; $i <= count($_TANEV2['szemeszter']); $i++) { // aktuális tanév szemeszter számai alapján... (???) + if ( + strtotime($_TANEV2['szemeszter'][$i]['kezdesDt']) <= _TIME + && strtotime($_TANEV2['szemeszter'][$i]['zarasDt']) >= _TIME + ) { + $szemeszterId = $_POST['szemeszterId'] = $_TANEV2['szemeszter'][$i]['szemeszterId']; + $tanev = $_TANEV2['szemeszter'][$i]['tanev']; + $szemeszter = $_TANEV2['szemeszter'][$i]['szemeszter']; + break; + } + } + } + + if (!is_null($szemeszterId)) $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + + if (__DIAK) { // diák / szülő csak a saját adatait nézheti + $diakId = __USERDIAKID; + } elseif (isset($_POST['diakId']) && $_POST['diakId'] != '') { + $diakId = readVariable($_POST['diakId'],'numeric'); + } + + if (!is_null($diakId)) { + // intézmlényi adatok lekérdezése + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); + // diák adatai + $ADAT['diakAdat'] = getDiakAdatById($diakId); + $ADAT['diakKepzes'] = getKepzesByDiakId($diakId, array('result'=>'indexed')); // itt a valaha volt összes képzés lekérdezésre kerül! + if (count($ADAT['diakKepzes'])===1) { /* egyelőre csak ha egy képzésben vesz részt a diák */ + $ADAT['kepzesOraterv'] = getKepzesOraterv($ADAT['diakKepzes'][0]['kepzesId'],array('arraymap'=>array('targyId','evfolyam','szemeszter'))); + } + + if (isset($szemeszterId)) { + + define('__MODOSITHAT',($ADAT['szemeszterAdat']['statusz'] == 'aktív' && __NAPLOADMIN)); + define('__ZARO_SZEMESZTER', $ADAT['szemeszterAdat']['szemeszter'] == $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']); + define('__FOLYO_SZEMESZTER', + strtotime($ADAT['szemeszterAdat']['kezdesDt']) <= _TIME + && strtotime($ADAT['szemeszterAdat']['zarasDt']) >= _TIME + ); + // ---- action ---- // + if (__MODOSITHAT) { + $evfolyam = readVariable($_POST['evfolyam'],'numeric',null); + $targyId = readVariable($_POST['targyId'],'id',null); + if ($action == 'zaroJegyModositas' && isset($_POST['targyId']) && $_POST['targyId'] != '') { + // jogviszony ellenőrzés, + // majd beírás: + for ($i=0; $i<count($_POST['zaroJegy']); $i++) { + $X = explode('|',$_POST['zaroJegy'][$i]); + for ($j=0; $j<count($X); $j++) { + list($_key,$_val) = explode('=',$X[$j]); + $_JEGYEK[$i][$_key] = $_val; + } + if ($_JEGYEK[$i]['evfolyam']=='') $_JEGYEK[$i]['evfolyam'] = $evfolyam; + $_JEGYEK[$i]['targyId'] = $targyId; + } + zaroJegyBeiras($_JEGYEK); + } + } + // ---- action ---- // + + // diák osztályai + $ADAT['diakAdat']['osztaly'] = getDiakOsztalya(($diakId), array('tanev' => $ADAT['szemeszterAdat']['tanev'])); + /* + A tanítási hetek számát nem tankörönként vagy tárgyanként nézzük, hanem egységesen - tehát, ha több osztálya + van a tanulónak és azokban eltérő a tanítási hetek száma, akkor úgy is hibás lesz a mutatott kép. + */ + if (!isset($ADAT['osztalyId'])) $ADAT['osztalyId'] = intval($ADAT['diakAdat']['osztaly'][0]['osztalyId']); + // A tanítási hetek száma csak az aktuális évben kérdezhető le (az osztalyJelleg alaján döntjük el, hogy végzős/érettségiző-e + if ($ADAT['szemeszterAdat']['tanev'] == __TANEV) + define('TANITASI_HETEK_SZAMA', getTanitasiHetekSzama(array('osztalyId'=>$ADAT['osztalyId']))); + /* Évfolyam meghatározás ha lehet + Peremfeltétel: adott legyen a szemeszter + */ + $ADAT['diakOsztaly'] = getDiakokOsztalyai(array($diakId), array('tanev' => $ADAT['szemeszterAdat']['tanev'])); + for($j=0; $j<count($ADAT['diakOsztaly'][$diakId]); $j++) { + $ADAT['diakEvfolyam'][] = getEvfolyam($ADAT['diakOsztaly'][$diakId][$j],$ADAT['szemeszterAdat']['tanev']); + $ADAT['diakEvfolyamJel'][] = getEvfolyamJel($ADAT['diakOsztaly'][$diakId][$j],$ADAT['szemeszterAdat']['tanev']); + } + // Ha vendégtanuló, akkor lehet, hogy nincs osztálya --> nincs évfolyama sem + if (!is_array($ADAT['diakEvfolyam']) || count($ADAT['diakEvfolyam'])==0) $ADAT['diakEvfolyam'] = $ADAT['diakEvfolyamJel'] = range(1,16); + + // diák adott szemeszterének bizonyítványa + $ADAT['bizonyitvany'] = getDiakBizonyitvany($diakId, $ADAT); + $ADAT['hianyzas'] = getHianyzasOsszesitesByDiakId($diakId, $ADAT['szemeszterAdat']); + } else { + // diák eddigi "pályafutása" (több szemeszter adatai együtt) + $ADAT['bizonyitvany'] = getDiakBizonyitvany($diakId, $ADAT); + $ADAT['hianyzas'] = getHianyzasOsszesitesByDiakId($diakId); + } + + $_VIZSGA = getVizsgak(array('diakId'=>$diakId)); + /* REINDEX */ + for ($i=0; $i<count($_VIZSGA); $i++) { + $ADAT['zaroJegyVizsga'][$_VIZSGA[$i]['zaroJegyId']]=$_VIZSGA[$i]; + } + } + + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , 'post' => array('osztalyId', 'diakId', 'sorrendNev')); + if (!__DIAK) { + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('szemeszterId', 'sorrendNev')); + $TOOL['diakSelect'] = array( + 'tipus'=>'sor','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId','szemeszterId', 'sorrendNev'), + 'statusz' => array('vendégtanuló','jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + ); + if (isset($diakId)) { + $TOOL['diakLapozo'] = array( + 'tipus'=>'sor','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId','szemeszterId', 'sorrendNev'), + 'statusz' => array('vendégtanuló','jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + ); + } + } + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId', 'diakId')); + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany.php b/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany.php new file mode 100644 index 00000000..a8f104fa --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany.php @@ -0,0 +1,16 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $diakId, $szemeszterId, $ADAT; + + if ($diakId != '') { + if (isset($szemeszterId)) { + putDiakBizonyitvany($diakId, $ADAT); + if (__MODOSITHAT) putZaroJegyModosito($diakId, $ADAT); + } else { + putDiakTanulmanyiOsszesito($diakId, $ADAT); + } + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/diak-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/diak-pre.php new file mode 100644 index 00000000..154a9097 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/diak-pre.php @@ -0,0 +1,100 @@ +<?php +/* + Module: naplo +*/ + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + +// if ($_POST['tankor'] != '') { +// header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=tankor&tankor='.$_POST['tankor'])); +// } + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); + +/* + require_once('include/modules/naplo/share/tankorok.php'); + require_once('include/modules/naplo/share/nevsor.php'); +*/ + if(__DIAK) $diakId = __USERDIAKID; + elseif (isset($_POST['diakId'])) $diakId = readVariable($_POST['diakId'],'id'); + elseif (isset($_GET['diakId']) ) $diakId = readVariable($_GET['diakId'],'id'); + + $osztalyId = readVariable($_POST['osztalyId'],'numeric'); + + if (isset($diakId)) { + $_POST['diakId'] = $diakId; + $ADAT['sulyozas'] = $sulyozas = readVariable( + $_POST['sulyozas'],'regexp', + readVariable($_SESSION['sulyozas'],'regexp',__DEFAULT_SULYOZAS,array('^[0-9]:[0-9]:[0-9]:[0-9]:[0-9]$')), + array('^[0-9]:[0-9]:[0-9]:[0-9]:[0-9]$')); + $_SESSION['sulyozas'] = $sulyozas; + // nem használjuk fel (fejlesztéshez) + $targySorrend = readVariable($_POST['targySorrend'], 'emptystringnull', 'napló', getTargySorrendNevek(__TANEV)); + $diakNev = getDiakNevById($diakId); + $Jegyek = getDiakJegyek($diakId, array('sulyozas' => $sulyozas)); + $ADAT['diakTargy'] = getTargyakByDiakId($diakId, array('tanev' => __TANEV, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'result' => 'indexed', 'filter' => 'kovetelmeny', 'targySorrendNev' => $targySorrend)); // OK + // Az aktuális szemeszter kiválasztása + if (__FOLYO_TANEV) { + $time = time(); + foreach ($_TANEV['szemeszter'] as $szemeszter => $szemeszterAdat) { + if ($time > strtotime($szemeszterAdat['kezdesDt']) && $time < strtotime($szemeszterAdat['zarasDt'])) + break; + } + if ($szemeszter !== false) { + define('__FOLYO_SZEMESZTER', $szemeszter); + $szemeszterKezdesDt = $szemeszterAdat['kezdesDt']; + $szemeszterZarasDt = $szemeszterAdat['zarasDt']; + } + } + if (!defined('__FOLYO_SZEMESZTER')) define('__FOLYO_SZEMESZTER',false); + + if (isset($_POST['tolDt']) && $_POST['tolDt'] != '') $tolDt = readVariable($_POST['tolDt'], 'date'); +// elseif (isset($szemeszterKezdesDt)) $tolDt = $szemeszterKezdesDt; + else $tolDt = $_TANEV['kezdesDt']; + + if (isset($_POST['igDt']) && $_POST['igDt'] != '') $igDt = readVariable($_POST['igDt'],'date'); + elseif (isset($szemeszterZarasDt)) $igDt = $szemeszterZarasDt; + else $igDt = $_TANEV['zarasDt']; + $ADAT['zaroJegyek'] = getDiakZarojegyek($diakId,$_TANEV['tanev'],null,array('arraymap'=>array('diakId','targyId','tanev','szemeszter'))); + $tmp = getTankorByDiakId($diakId); + $ADAT['targyTankor'] = reindex ( $tmp, array('targyId') ); + } + if ($skin=='pda') { + + } else { + if (!__DIAK) { + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post'=>array('tolDt', 'igDt', 'targySorrend')); + $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend')); + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName'=>'targySorrend', 'post'=>array('diakId','osztalyId','tolDt', 'igDt', 'targySorrend')); + if (__NAPLOADMIN) $TOOL['diakSelect']['statusz'] = array('jogviszonyban van', 'magántanuló', 'jogviszonya felfüggesztve', 'jogviszonya lezárva', 'vendégtanuló'); + $TOOL['diakLapozo'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend')); + } +/* if (isset($diakId)) { + $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt', + 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'hanyNaponta' => 'havonta', 'post'=>array('osztalyId', 'diakId', 'targySorrend')); + } +*/ + if (isset($osztalyId)) { + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=osztalyozo&f=tankor'), + 'titleConst' => array(''), 'post' => array('osztalyId'), + 'paramName'=>'diakId'); + } + getToolParameters(); + } + +// tankorSelect +// targySorrendSelecct +// diakSelect --> diakLapozo + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/diak.php b/mayor-orig/www/policy/private/naplo/osztalyozo/diak.php new file mode 100644 index 00000000..3173d8a7 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/diak.php @@ -0,0 +1,12 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + global $diakId, $diakNev, $tolDt, $igDt, $Jegyek, $Targyak, $ADAT; + + if ($diakId != '' && is_array($Jegyek)) putTanuloJegyek($diakId, $diakNev, $Jegyek, $tolDt, $igDt, $ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat-pre.php new file mode 100644 index 00000000..1672b48b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat-pre.php @@ -0,0 +1,168 @@ +<?php + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__DIAK && !__TITKARSAG) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + + if (__DIAK) { + $diakId = __USERDIAKID; // Csak a saját dolgozatait nézheti meg + } else { + $diakId = readVariable($_POST['diakId'],'numeric unsigned', + readVariable($_GET['diakId'],'numeric unsigned',null) + ); + $osztalyId = readVariable($_POST['osztalyId'],'numeric unsigned', + readVariable($_GET['osztalyId'],'numeric unsigned',null) + ); + $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', + readVariable($_GET['tanarId'], 'numeric unsigned', __TANAR ? __USERTANARID : null) + ); + } + + // képkezeléshez + if (__SHOW_FACES_TF) $ADAT['kepMutat'] = true; // ez később finomítható. + else $ADAT['kepMutat'] = false; + + // tankörök lekérdzése + if (isset($diakId)) $Tankorok = getTankorByDiakId($diakId, __TANEV); + elseif (isset($osztalyId)) $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV); + elseif (isset($tanarId)) $Tankorok = getTankorByTanarId($tanarId, __TANEV); + $tankorIds = array(); + for ($i = 0; $i < count($Tankorok); $i++) $tankorIds[] = $Tankorok[$i]['tankorId']; + + // Kiválasztott tankör azonosítója + $tankorId = readVariable($_POST['tankorId'], 'numeric unsigned', + readVariable($_GET['tankorId'], 'numeric unsigned', null, $tankorIds), $tankorIds + ); + + // A tankörökhöz tartozó dolgozatok lekérdezése + if (is_array($Tankorok)) { + $Dolgozat = getTankorDolgozatok($Tankorok); + $dolgozatIds = array_keys($Dolgozat); + // A kiválasztott dolgozat azonosítója + $dolgozatId = readVariable($_POST['dolgozatId'], 'id', + readVariable($_GET['dolgozatId'], 'id', null, $dolgozatIds), $dolgozatIds + ); + } +else { + $dolgozatId = readVariable($_POST['dolgozatId'], 'id', + readVariable($_GET['dolgozatId'], 'id', null) + ); +} + // Többi paraméter + if (isset($dolgozatId)) { + $Dolgozat = getDolgozat($dolgozatId); + $valaszthatoTankorok = getTankorByTargyId($Dolgozat['targyId'],__TANEV,array('idonly' => false, 'lista' => true)); + } elseif (isset($tankorId)) $Dolgozat = getTankorDolgozatok($tankorId); +// elseif (isset($diakId) || isset($osztalyId) || isset($tanarId)) $Dolgozat = getTankorDolgozatok($Tankorok); + + // ------ action ----------------------------- // + + if ($action == 'dolgozatBejelentes') { + if (defined('__USERTANARID') && __USERTANARID == $tanarId && isset($tankorId)) { + $dolgozatId = ujDolgozat(__USERTANARID, $tankorId); + $Dolgozat = getDolgozat($dolgozatId); + $valaszthatoTankorok = getTankorByTargyId($Dolgozat['targyId'],__TANEV,array('idonly' => false, 'lista' => true)); + } + } elseif ($action == 'dolgozatTorles') { + + } + + define(__MODOSITHAT, + isset($dolgozatId) + && ( + (__NAPLOADMIN && $_TANEV['statusz'] == 'aktív') + || ( + __FOLYO_TANEV && __TANAR + && is_array($Dolgozat['tanarIds']) + && in_array(__USERTANARID, $Dolgozat['tanarIds']) + ) + ) + ); + + if (__MODOSITHAT) if ($action == 'dolgozatModositas') { + + if (isset($_POST['dolgozatTorles'])) { + if (!$Dolgozat['ertekelt']) { + $action = 'dolgozatTorles'; + if (dolgozatTorles($dolgozatId)) { + logAction( + array( + 'szoveg'=>'Dolgozat törlés: '.$dolgozatId, + 'table'=>'dolgozat' + ) + ); + unset($Dolgozat); unset($dolgozatId); + $_SESSION['alert'][] = 'info:success:dolgozat törlés'; + } + } + } else { + $dolgozatNev = $_POST['dolgozatNev']; + $tervezettDt = readVariable($_POST['tervezett-dt'],'datetime',null); + if (dolgozatModositas($dolgozatId, $dolgozatNev, $tervezettDt)) { + logAction( + array( + 'szoveg'=>'Dolgozat módosítás (név, tervezett dátum): '.$dolgozatId, + 'table'=>'dolgozat' + ) + ); + $Dolgozat['dolgozatNev'] = $dolgozatNev; + $Dolgozat['tervezettDt'] = $tervezettDt; + $_SESSION['alert'][] = 'info:done:'; + } + } + + } elseif ($action == 'dolgozatTankorHozzarendeles') { + + if (is_array($_POST['tankorIds']) && count($_POST['tankorIds']) > 0) { + + $tankorIds = $_POST['tankorIds']; + $torlendoTankorIds = array_diff($Dolgozat['tankorIds'], $tankorIds); + $ujTankorIds = array_values(array_diff($tankorIds, $Dolgozat['tankorIds'])); + dolgozatTankorHozzarendeles($dolgozatId, $torlendoTankorIds, $ujTankorIds); + $Dolgozat = getDolgozat($dolgozatId); + + } else { + $_SESSION['alert'][] = 'message:empty_field:tankorId:dolgozatTankorHozzarendeles'; + } + + } elseif ($action == 'dolgozatJegyekTorlese') { + + foreach ($_POST as $name => $value) { + if (substr($name, 0, 8) == 'tankorId') $tankorId = substr($name, 8); + } + dolgozatJegyekTorlese($dolgozatId, $tankorId); + $Dolgozat = getDolgozat($dolgozatId); + + } + + define(__TOROLHET, + __MODOSITHAT + && !$Dolgozat['ertekelt'] + ); + + + // ------ action vége ------------------------- // + + // TOOL + if (!__DIAK) { + $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array()); + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array()); + } + if (isset($osztalyId)) + $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'post' => array('osztalyId')); + if (isset($osztalyId) or isset($tanarId) or isset($diakId)) + $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $Tankorok, 'paramName' => 'tankorId', 'post' => array('osztalyId', 'tanarId', 'diakId')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat.php b/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat.php new file mode 100644 index 00000000..cb3d52be --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat.php @@ -0,0 +1,16 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $tankorId, $diakId, $tanarId, $osztalyId, $Dolgozat, $dolgozatId, $valaszthatoTankorok, $Tanarok; + global $ADAT; + + if ($dolgozatId != '') { + putDolgozat($Dolgozat, $valaszthatoTankorok, $Tanarok, $ADAT); + } elseif (is_array($Dolgozat)) { + if (defined('__USERTANARID') && __USERTANARID == $tanarId && isset($tankorId)) + putDolgozatBejelento($tankorId); + putDolgozatLista($Dolgozat); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/jegy-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/jegy-pre.php new file mode 100644 index 00000000..f0f861c9 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/jegy-pre.php @@ -0,0 +1,120 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + $jegyId = readVariable($_POST['jegyId'], 'id', readVariable($_GET['jegyId'], 'id')); + + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/jegy.php'); + require_once('include/modules/naplo/share/jegyModifier.php'); + require_once('include/modules/naplo/share/file.php'); + + if (isset($jegyId) && ($jegy = getJegyInfo($jegyId))) { + + if (__DIAK && $jegy['diakId'] != __USERDIAKID) { + $_SESSION['alert'][] = 'page:illegal_access'; + } else { + + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + + // kép + $ADAT['kepMutat'] = __SHOW_FACES_TF; + $ADAT['jegyTipusok'] = getEnumField('naplo','jegy','jegyTipus'); + + + if (// admin bármikor módosíthat jegyet + ($_TANEV['statusz'] == 'aktív' && __NAPLOADMIN) + || (// a tankör tanárai az _OSZTALYOZO határidő szerint módosíthatnak jegyet! + __FOLYO_TANEV && + __TANAR && + in_array(__USERTANARID, $jegy['tanár']['idk']) and + (strtotime(_OSZTALYOZO_HATARIDO) <= strtotime($jegy['dt'])) + ) + ) { + + define('_MODOSITHAT', true); + global $_JSON; + + // --------- action -------------- // + if ($action == 'jegyModositas' || $action == 'jegyTorles') { + $_tipus = readVariable($_POST['tipus'],'numeric unsigned','NULL'); + + if (isset($_POST['jegyTorles']) || $_tipus == 0 || $action == 'jegyTorles') { + // jegy törlése + $action = 'jegyTorles'; + + if (jegyTorles($jegyId, $jegy)) { // az eredeti jegyId és már lekérdezett jegy tömb alapján + if ($skin != 'ajax') { + header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=tankor&tankorId='.$jegy['tankorId'])); + die(); + } else { + $_JSON = array('action' => $action, 'result' => true, 'data' => array('jegyId' => $jegyId)); + //$_SESSION['alert'][] = 'info:delete_success:jegyTorles:'.$jegyId; + unset($jegyId); unset($jegy); + } + } + } else { // vagy módosítás: + list($__jegyTipus,$__jegy) = explode(':', $_POST['jegy']); + $_jegy = readVariable($__jegy,'regexp',null,array('^[0-9]*\.[0-9]$')); + $_jegyTipus = readVariable($__jegyTipus, 'enum', null, $ADAT['jegyTipusok']); + $_megjegyzes = readVariable($_POST['megjegyzes'],'sql'); + $_oraId = readVariable($_POST['oraId'],'id',null); + $_dolgozatId = readVariable($_POST['dolgozatId'],'id',null); + // csak (1,2),(3,4,5) váltás, ill. törlés (0) a megengedett + if (($_tipus-2.5)*($jegy['tipus']-2.5) < 0) $_tipus = $jegy['tipus']; + if ((!is_null($_jegyTipus) && __JEGYTIPUS_VALTHATO === true) || $_jegyTipus == $jegy['jegyTipus']) { + if (jegyModositas($jegyId, $_jegy, $_jegyTipus, $_tipus, $_oraId, $_dolgozatId, $_megjegyzes)) { + logAction( + array( + 'szoveg'=>"Jegy módosítás: $jegyId, ".$jegy['diakId'].", $_jegy, $_tipus, ".$jegy['tankorId'].", ".$jegy['dt'].", $_oraId, $_dolgozatId", + 'table'=>'jegy' + ), + $lr + ); + $jegy = getJegyInfo($jegyId, __TANEV, $lr); + $_JSON = array( + 'action' => $action, 'result' => true, + 'data' => array( + 'jegyId'=>$jegyId, 'tipus'=>$jegy['tipus'], 'diakId'=>$jegy['diakId'], 'dolgozatId'=>$jegy['dolgozatId'], + 'jegyStr'=>$KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['rovid'] + ) + ); + } + } else { $_SESSION['alert'][] = 'message:wrong_data:A jegyTipus nem módosítható!:'.$_jegyTipus.' - '.$jegy['jegyTipus']; } + + } + + } + // --------- action vége -------- // + + } else { + define('_MODOSITHAT', false); + // ezeket minek üzenjük? nem is akarta senki módosítani: +/* + if ($_TANEV['statusz'] != 'aktív') $_SESSION['alert'][] = 'info:nem_modosithato:nem aktív tanév'; + elseif (__FOLYO_TANEV===false) $_SESSION['alert'][] = 'info:nem_modosithato:nem folyó tanév'; + elseif (__TANAR===false) $_SESSION['alert'][] = 'info:nem_modosithato:nem tanár'; + elseif (!in_array(__USERTANARID, $jegy['tanár']['idk'])) $_SESSION['alert'][] = 'info:nem_modosithato:nem tanítja'; + elseif (strtotime(_OSZTALYOZO_HATARIDO) > strtotime($jegy['dt'])) $_SESSION['alert'][] = 'info:nem_modosithato:lejárt a módosítási határidő'; +*/ + } + + if (isset($jegyId)) { // ajax-os törlés esetén lehet, hogy már nincs jegy... + $Orak = getOraAdatByTankor($jegy['tankorId']); + $Dolgozatok = getTankorDolgozatok($jegy['tankorId']); + } + + } + + } else { + $_SESSION['alert'][] = 'message:wrong_data:jegy:jegyId='.$jegyId; + unset($jegyId); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/jegy.php b/mayor-orig/www/policy/private/naplo/osztalyozo/jegy.php new file mode 100644 index 00000000..f6dd872f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/jegy.php @@ -0,0 +1,12 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + global $id, $jegyId, $jegy, $Orak, $Dolgozatok, $ADAT; + + if (isset($jegyId)) putJegyInfo($jegy, $Orak, $Dolgozatok, $ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo-pre.php new file mode 100644 index 00000000..e88346aa --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo-pre.php @@ -0,0 +1,6 @@ +<?php + + if (__DIAK) header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=diak')); + else header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=tankor')); + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo.php b/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo.php diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/stat-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/stat-pre.php new file mode 100644 index 00000000..c0a14323 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/stat-pre.php @@ -0,0 +1,307 @@ +<?php + +/* EZ NEM CSAK OSZTALYOZO!!!!!!! */ + + if (_RIGHTS_OK !== true) die(); + + define('_TIME', strtotime(date('Y-m-d'))); + + if (!defined('__SHOWSTATZARASMINDENTARGY')) define('__SHOWSTATZARASMINDENTARGY',false); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/jegy.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/zaradek.php'); + + $ADAT['magatartasTargyIdk'] = getMagatartas(); + $ADAT['szorgalomTargyIdk'] = getSzorgalom(); + + $ADAT['beallitasok']['targyak'] = readVariable($_POST['beallitasok_targyak'],'bool',true); + $ADAT['beallitasok']['oraszamok'] = readVariable($_POST['beallitasok_oraszamok'],'bool',true); + $ADAT['beallitasok']['zaradek'] = readVariable($_POST['beallitasok_zaradek'],'bool',false); + + // melyik szemeszter adatait nézzük + if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') { + $szemeszterId = readVariable($_POST['szemeszterId'],'id'); + } elseif (!isset($_POST['szemeszterId'])) { + for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) { + if ( + strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME + && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME + ) { + $_POST['szemeszterId'] = $szemeszterId = $_TANEV['szemeszter'][$i]['szemeszterId']; + break; + } + } + } + if (isset($_POST['sorrendNev']) && $_POST['sorrendNev'] != '') + $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'emptystringnull', '', getTargySorrendNevek(__TANEV)); +// $ADAT['telephelyId'] = $telephelyId = readVariable($_POST['telephelyId'], 'id',__TELEPHELYID); + + $ADAT['telephelyAdat'] = getTelephelyek(array('result' => 'assoc', 'keyfield' => 'telephelyId')); + $ADAT['telephelyIds'] = array_keys($ADAT['telephelyAdat']); + $ADAT['telephelyId'] = $telephelyId = readVariable($_GET['telephelyId'], 'id', readVariable( + $_POST['telephelyId'], 'id', (isset($_POST['telephelyId'])?null:readVariable(__TELEPHELYID,'id')), $ADAT['telephelyIds'] + ), $ADAT['telephelyId']); + + if (!__DIAK) { + if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'],'id'); } + elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $ADAT['osztalyId'] = $_POST['osztalyId'] = $_OSZTALYA[0]; } + } // diák, szülő csak az iskola statisztikát látja + + if (isset($szemeszterId)) { + + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev'],array('result' => 'indexed', 'minden'=>false, 'telephelyId' => $telephelyId)); + if (isset($osztalyId)) { + define('TANITASI_HETEK_SZAMA', getTanitasiHetekSzama(array('osztalyId'=>$osztalyId))); + define('__OSZTALYFONOKE', (__OSZTALYFONOK === true && in_array($osztalyId, $_OSZTALYA))); + $ADAT['evfolyam'] = getEvfolyam($osztalyId, $ADAT['szemeszterAdat']['tanev']); + $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId, $ADAT['szemeszterAdat']['tanev']); + $ADAT['kovetkezoEvfolyamJel'] = getKovetkezoEvfolyamJel($ADAT['evfolyamJel']); + $ADAT['utolsoTanitasiNap'] = getOsztalyUtolsoTanitasiNap($osztalyId, $ADAT['szemeszterAdat']['tanev']); + + // magatartás és szorgalom jegyek beírásának jogosultsága + if ($ADAT['szemeszterAdat']['statusz'] != 'aktív') { + define('_BEIRHATO', false); + } else { + $time = time(); + // Keresünk bitonyítvány írás időszakot + foreach ($ADAT['szemeszterAdat']['idoszak'] as $i => $idoszakAdat) { + if ( + $idoszakAdat['tipus'] == 'bizonyítvány írás' + && strtotime($idoszakAdat['tolDt']) <= $time + && $time <= strtotime($idoszakAdat['igDt']) + ) { + $idoszak = $idoszakAdat; + break; + } + } + + if (__NAPLOADMIN) define('_BEIRHATO', true); + elseif (__VEZETOSEG) define('_BEIRHATO', (isset($idoszak['tolDt'])) ); + elseif (__OSZTALYFONOKE) define('_BEIRHATO', (isset($idoszak['tolDt'])) ); + else define('_BEIRHATO', false); + + if ((__VEZETOSEG || __OSZTALYFONOKE) && !isset($idoszak['tolDt'])) $_SESSION['alert'][] = 'info:idoszak_bizir_nincs'; + + } + /* ---- action ---- */ + + if (_BEIRHATO && $action == 'jegyLezaras') { + + $zaroJegyek = $_POST['zaroJegy']; + if (is_array($zaroJegyek)) { + /* Prepare */ + for($i=0; $i<count($zaroJegyek); $i++) { + $X = explode('|',$zaroJegyek[$i]); + for ($j=0; $j<count($X); $j++) { + list($key,$value) = explode('=',$X[$j]); + $beirandoJegyek[$i][$key] = $value; + } + + } + zaroJegyBeiras($beirandoJegyek); + } + $zaradekAdat = $_POST['zaradekAdat']; + if (is_array($zaradekAdat)) { + foreach ($zaradekAdat as $zAdat) { + if ($zAdat != '') { + list($_diakId, $_zaradekIndex, $zaradekId, $csereStr) = explode('/', $zAdat); // --TODO per jel hibás lehet! + if ($zaradekId == '') $zaradekId = null; + if (in_array($_zaradekIndex, array_values($ZaradekIndex['konferencia bukás']))) $csere = array('%évfolyam%' => $ADAT['evfolyamJel']."."); + else $csere = array('%évfolyam%' => ($ADAT['kovetkezoEvfolyamJel']).".", '%évfolyam betűvel%' => ($_EVFOLYAMJEL_BETUVEL[ $ADAT['kovetkezoEvfolyamJel'] ])."."); + $csere['%tantárgy%'] = str_replace('=',', ',$csereStr); // TODO, és-re cserélhetjük vessző helyett + zaradekRogzites(array('diakId'=>$_diakId, 'zaradekId' => $zaradekId, 'zaradekIndex'=>$_zaradekIndex, 'dt'=>$ADAT['utolsoTanitasiNap'], 'csere' => $csere)); + } + } + } + + } + + /* ---- action vége ---- */ + + // osztály statisztikák + $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['szemeszterAdat']['tanev']); + + if (!isset($ADAT['osztalyId'])) $ADAT['osztalyId'] = $ADAT['osztaly'][0]['osztalyId']; + // Az adott szemeszterben létezik-e az osztály + for ($i = 0; ($i < count($Osztalyok) && $Osztalyok[$i]['osztalyId'] != $osztalyId); $i++); + if ($i < count($Osztalyok)) { + $ADAT['diakok'] = getDiakok(array( + 'osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'], + 'tolDt' => $ADAT['szemeszterAdat']['tanevAdat']['kezdesDt'], 'igDt' => $ADAT['szemeszterAdat']['zarasDt'], // A tanév kezdetétől a szemeszter végéig + 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + )); + $ADAT['zaraskoriDiakIds'] = getDiakok(array( + 'osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'], + 'tolDt' => $ADAT['szemeszterAdat']['zarasDt'], 'igDt' => $ADAT['szemeszterAdat']['zarasDt'], + 'statusz' => array('jogviszonyban van','magántanuló'), 'result' => 'idonly' +// 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva'), 'result' => 'idonly' + )); + for ($i = 0; $i < count($ADAT['diakok']); $i++) $ADAT['diakIds'][] = $ADAT['diakok'][$i]['diakId']; + $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev); // TODO + $targyIds = array($ADAT['magatartasTargyIdk'][0], $ADAT['szorgalomTargyIdk'][0]); + if (is_array($ADAT['targyak'])) foreach ($ADAT['targyak'] as $index => $tAdat) $targyIds[] = $tAdat['targyId']; + //$ADAT['targyAdat'] = getTargyAdatByIds($ADAT['targyak']); + $ADAT['targyAdat'] = getTargyAdatByIds($targyIds); + $ADAT['tanarok'] = getTanarokByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat']); + $ADAT['evkoziJegyAtlag'] = getDiakJegyAtlagok($ADAT['diakIds']); // évközi! + $ADAT['jegyek'] = getDiakZarojegyekByEvfolyamJel($ADAT['diakIds'], $ADAT['evfolyamJel'], $ADAT['szemeszterAdat'], array('felevivel'=>true)); // TODO: ellenőrzés: evfolyam-->evfolyamJel + $ADAT['atlagok'] = getDiakZarojegyAtlagok($ADAT['zaraskoriDiakIds'], $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter']); + $ADAT['tantargyiAtlagok'] = getTargyZarojegyAtlagok($ADAT['zaraskoriDiakIds'], $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter']); + $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszterAdat']); + $ADAT['zaradekok'] = getDiakKonferenciaZaradekok($ADAT['diakIds'], $ADAT['utolsoTanitasiNap']); + $ADAT['adhatoZaradekok'] = getZaradekokByTipus('konferencia, konferencia bukás'); + + //foreach ($ADAT['hianyzas'] as $diakId => $hianyzasAdat) { + for ($i=0; $i<count($ADAT['diakIds']); $i++) { + $diakId = intval($ADAT['diakIds'][$i]); + $hianyzasAdat = $ADAT['hianyzas'][$diakId]; + // A hozott hiányzások kezelése átkerült a központi getDiakHianyzasOsszesites + //$HOZOTT = getDiakHozottHianyzas($diakId,array('tanev'=>$tanev)); + +//2013NKT if (_KESESI_IDOK_OSSZEADODNAK===true) + $ADAT['hianyzas'][$diakId]['igazolatlan'] + = $hianyzasAdat['igazolatlan'] + = floor($hianyzasAdat['kesesPercOsszeg']/45)+intval($hianyzasAdat['igazolatlan']); + + //$ADAT['hianyzas'][$diakId]['igazolatlan'] += intval($HOZOTT['igazolatlan']['db']); + //$ADAT['hianyzas'][$diakId]['igazolt'] += intval($HOZOTT['igazolt']['db']); + + if (in_array($diakId, $ADAT['zaraskoriDiakIds'])) { // Csak a záráskori névsort vesszük figyelembe + $ADAT['stat']['igazolt'] += $hianyzasAdat['igazolt']; + $ADAT['stat']['igazolatlan'] += $hianyzasAdat['igazolatlan']; + //$ADAT['stat']['igazolatlan'] += intval($HOZOTT['igazolatlan']['db']); + //$ADAT['stat']['igazolt'] += intval($HOZOTT['igazolt']['db']); + if ($hianyzasAdat['igazolatlan'] >= 10) $ADAT['stat']['tiznel tobb']++; + elseif ($hianyzasAdat['igazolatlan'] >= 5) $ADAT['stat']['otnel tobb']++; + elseif ($hianyzasAdat['igazolatlan'] == 0) $ADAT['stat']['nincs']++; + } + } + // Diákok statisztikai adatai + //jegyek tömb: [diakId][targyId][$INDEX!!!] +// ----------------------------------------------------------------- + $utolsoTanitasiNap = getOsztalyUtolsoTanitasiNap($osztalyId); + for ($i=0; $i<count($ADAT['diakIds']); $i++) { + $diakId = intval($ADAT['diakIds'][$i]); + // éves óraszámok lekérdezése - tárgyanként - másolva a biz oldalról + $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, $ADAT['szemeszterAdat']['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 ($j = 0; $j < count($tAdat); $j++) { + $oraszam += $tAdat[$j]['oraszam']; + } + $ADAT['targyOraszam'][$diakId][$targyId]['hetiOraszam'] = $oraszam / $szDb; + if (defined('TANITASI_HETEK_SZAMA')) $ADAT['targyOraszam'][$diakId][$targyId]['evesOraszam'] = $oraszam / $szDb * TANITASI_HETEK_SZAMA; + } + } +// ------------------------------------------------------------------ + $_tmp=array(); + if (is_array($ADAT['jegyek'])) + foreach ($ADAT['jegyek'] as $diakId => $jegyek) { + $zaraskorTag = in_array($diakId, $ADAT['zaraskoriDiakIds']); + $atlag = floatval($ADAT['atlagok'][$diakId]); + // kitűnők száma + if ($atlag >= _KITUNO_ATLAG) { + if ($zaraskorTag) $ADAT['stat']['kituno']++; + $ADAT['diakAdat'][$diakId]['kituno'] = true; + // jelesek száma + } elseif ($atlag >= _JELES_ATLAG) { + reset($jegyek); + $found = false; + while (list($key, $jegyAdatok) = each($jegyek)) { + for ($i=0; $i<count($jegyAdatok); $i++) { + if ($jegyAdatok[$i]['jegyTipus'] == 'jegy' && $jegyAdatok[$i]['jegy'] < _JELES_LEGGYENGEBB_JEGY) $found = true; + } + } + if ($found===false) { + if ($zaraskorTag) $ADAT['stat']['jeles']++; + $ADAT['diakAdat'][$diakId]['jeles'] = true; + } + } + // bukottak és bukások száma + foreach ($jegyek as $targyId => $jegyAdatok) { + $ADAT['targyboljegy'][$targyId] = true; + for ($i=0; $i<count($jegyAdatok); $i++) { + $jegyAdat = $jegyAdatok[$i]; + if ((intval($jegyAdat['jegy'])==1 && in_array($jegyAdat['jegyTipus'],array('jegy','féljegy')))) { + if ($ADAT['diakAdat'][$diakId]['bukott'] != true) { + $ADAT['diakAdat'][$diakId]['bukott'] = true; + if ($zaraskorTag) $ADAT['stat']['bukott']++; + } + if ($zaraskorTag) { + $_tmp[$diakId]++; + $ADAT['stat']['bukas']++; + } + // záradékhoz (2015) + $ADAT['diakAdat'][$diakId]['bukottTargy'][] = $ADAT['targyAdat'][$targyId]['targyNev']; + } + if (isset($jegyAdat['megjegyzes']) && $zaraskorTag) { + $ADAT['stat'][ $jegyAdat['megjegyzes'] ]++; + if (in_array($jegyAdat['jegyTipus'],array('jegy','féljegy'))) { + $ADAT['jegyEloszlas'][$targyId][$jegyAdat['jegy']]++; + if (!in_array($targyId,array_merge($ADAT['szorgalomTargyIdk'],$ADAT['magatartasTargyIdk'])) && $zaraskorTag) $ADAT['jegyEloszlas']['osszes'][$jegyAdat['jegy']]++; + } + } + } + } + + } + foreach ($_tmp as $_dbBukottTargy) { + if ($_dbBukottTargy<=2) $ADAT['stat']['dbBukott'][$_dbBukottTargy]++; + else $ADAT['stat']['dbBukott'][3]++; + } + +// ------------------------------------------------------------------ + } else { + unset($osztalyId); + } + + } + + if (!isset($osztalyId)) { // lehet, hogy az előzőben lett "törölve" az osztalyId + // iskolai statisztika + $ADAT['osztaly'] = getOsztalyok($ADAT['szemeszterAdat']['tanev'],array('result' => 'indexed', 'minden'=>false, 'telephelyId' => $telephelyId)); + $ADAT['targyak'] = getTargyakBySzemeszter($ADAT['szemeszterAdat']); + $ADAT['jegyek'] = getZarojegyStatBySzemeszter($ADAT['szemeszterAdat'],array('telephelyId'=>$telephelyId)); + $ADAT['tantargyiAtlagok'] = getTargyAtlagokBySzemeszter($ADAT['szemeszterAdat']); + $ADAT['hianyzas'] = getOsztalyHianyzasOsszesites($ADAT['szemeszterAdat']); + } + + $ADAT['targyTargy'] = getTargyTargy(); + + } + + + $TOOL['telephelySelect'] = array('tipus' => 'cella','paramName'=>'telephelyId'); + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , 'post' => array('sorrendNev', 'osztalyId', 'telephelyId')); + if (!__DIAK) { + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev', 'telephelyId')); + } + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId', 'telephelyId')); + if (isset($osztalyId) && isset($szemeszterId)) + $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella', 'url'=>'index.php?page=naplo&sub=nyomtatas&f=ertesito','post' => array('osztalyId','szemeszterId','sorrendNev', 'telephelyId')); + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/stat.php b/mayor-orig/www/policy/private/naplo/osztalyozo/stat.php new file mode 100644 index 00000000..e5849121 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/stat.php @@ -0,0 +1,15 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT, $osztalyId; + + if (isset($osztalyId) && count($ADAT['diakok'])>=1) { + if (is_array($ADAT['diakok'])) { + putOsztalyBizonyitvany($ADAT); + } + } else { + putIskolaStatisztika($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer-pre.php new file mode 100644 index 00000000..1d975701 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer-pre.php @@ -0,0 +1,51 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN !== true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/szovegesErtekeles.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztaly.php'); // getEvfolyamJelek + + $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'numeric unsigned', getSzemeszterIdByDt(date('Y-m-d'))); + $ADAT['kepzesId'] = $kepzesId = readVariable($_POST['kepzesId'], 'numeric unsigned', null); + $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'numeric unsigned', null); + $ADAT['evfolyamJel'] = $evfolyamJel = readVariable($_POST['evfolyamJel'], 'string', null); + $ADAT['szemeszter'] = getSzemeszterAdatById($szemeszterId); + + if (isset($evfolyamJel)) { + $ADAT['feltetel'] = 'eros'; + $ADAT['szempontRendszer'] = getSzempontRendszer($ADAT); + $ADAT['szrId'] = $szrId = $ADAT['szempontRendszer']['szrId']; + if (isset($szrId) && $action == 'szempontRendszerTorles') { + szempontRendszerTorles($ADAT); + unset($ADAT['szempontRendszer']); + } elseif (!is_array($ADAT['szempontRendszer']) && $action == 'ujSzempontRendszer') { + $ADAT['txt'] = explode("\n", $_POST['txt']); + if (ujSzempontRendszer($ADAT)) { + $_SESSION['alert'][] = 'info:success'; + $ADAT['szempontRendszer'] = getSzempontRendszer($ADAT); + } + } + } + + $ADAT['feltetel'] = 'laza'; + $ADAT['szempontRendszerek'] = getEvfolyamJelSzempontRendszerek($ADAT); + + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt','tervezett') , 'post' => array('kepzesId','evfolyamJel','targyId')); + $TOOL['evfolyamJelSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'evfolyamJel', 'paramDesc'=>'evfolyamJel','adatok' => getEvfolyamJelek(), 'post' => array('kepzesId','targyId') + ); + + $TOOL['targySelect'] = array('tipus'=>'cella', 'post' => array('kepzesId','evfolyamJel')); + $TOOL['kepzesSelect'] = array('tipus'=>'cella', 'post' => array('evfolyamJel','targyId')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer.php b/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer.php new file mode 100644 index 00000000..66d5f8cd --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer.php @@ -0,0 +1,16 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['evfolyamJel']) +// && (isset($ADAT['targyId']) || isset($ADAT['targyTipus'])) + ) { + if (is_array($ADAT['szempontRendszer'])) putSzempontRendszer($ADAT); + else putUjSzempontRendszerForm($ADAT); + + if (is_array($ADAT['szempontRendszerek'])) putSzempontRendszerLista($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles-pre.php new file mode 100644 index 00000000..50293bac --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles-pre.php @@ -0,0 +1,258 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__TANAR && !__DIAK) { + $_SESSION['alert'][] = 'page:insufficien_access'; + } else { +//!! +//Ha van szemeszterId, akkor az annak megfelelő évfolyamot kell kideríteni, és aszerinti szempontrendszert lekérdezni. +//ld lentebb: getEvfolyamJelByOsztalyId +//!! + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/szovegesErtekeles.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/share/date/names.php'); + + + $ADAT['targySorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'bizonyítvány', array('napló','bizonyítvány','anyakönyv','ellenőrző','egyedi')); + //$aktDt = date('Y-m-d'); + $now = date('Y-m-d H:i:s'); + // Feltételezzük, hogy a zárás időszak a szemeszteren belül van! + $ADAT['idoszak'] = getIdoszakByTanev(array('tanev' => __TANEV, 'tolDt' => $now, 'igDt' => $now, 'tipus' => array('zárás'))); + // Ha nincs kiválasztva szemeszter, de épp zárási időszak van, akkor legyen kiválasztva az aktuális szemeszter + if (!isset($_POST['szemeszterId']) && is_array($ADAT['idoszak']) && count($ADAT['idoszak']) > 0) { + $ADAT['szemeszterId'] = $szemeszterId = $_POST['szemeszterId'] = getSzemeszterIdBySzemeszter($ADAT['idoszak'][0]['tanev'], $ADAT['idoszak'][0]['szemeszter']); + } else { + $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'numeric unsigned', null); + } + if (is_null($szemeszterId)) { + $_tanev = readVariable($_POST['tanev'], 'numeric unsigned', null); + $_szemeszter = readVariable($_POST['szemeszter'], 'numeric unsigned', null); + if (!is_null($_tanev) && !is_null($_szemeszter)) { + $ADAT['szemeszterId'] = $szemeszterId = $_POST['szemeszterId'] = getSzemeszterIdBySzemeszter($_tanev, $_szemeszter); + } + } + + if (isset($szemeszterId)) { // szemesztert záró értékelés - intézményi adatbázis + $ADAT['szemeszter'] = getSzemeszterAdatById($ADAT['szemeszterId']); + // Annak eldöntése, hogy _MOST_ az adott szemeszter zárási időszaka van-e - ezért itt nem kell a $dt-t módosítani. Ez átkerült alább... + // $ADAT['dt'] = $dt = $ADAT['szemeszter']['zarasDt']; + // zárási időszak-e + $zarasIdoszak = false; + for ($i = 0; $i < count($ADAT['szemeszter']['idoszak']); $i++) { + $ISz = $ADAT['szemeszter']['idoszak'][$i]; + if ($ISz['tipus'] == 'zárás' && strtotime($ISz['tolDt']) <= strtotime($now) && strtotime($now) <= strtotime($ISz['igDt'])) { + $zarasIdoszak = true; + break; + } + } + // Gondolom ez a dátum az értékelés hivatalos dátuma lesz. Itt jogos a zarasDt-re állítás.... + $ADAT['dt'] = $dt = $ADAT['szemeszter']['zarasDt']; + } else { // évközi értékelés - tanáv adatbázis + $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', ''); + if (!isset($dt)) $ADAT['dt'] = $dt = date('Y-m-d'); + $ADAT['szemeszter'] = getSzemeszterByDt($ADAT['dt']); +// $ADAT['tolDt'] = $tolDt = readVariable($_POST['tolDt'], 'datetime', $_TANEV['kezdesDt']); // Ezt nem is használjuk!!! + } + $tanev = readVariable($ADAT['szemeszter']['tanev'], 'numeric unsigned', __TANEV); + + if (__DIAK) { + $ADAT['diakId'] = $diakId = __USERDIAKID; + } else { + $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'], 'numeric unsigned', null); + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); + $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', null); + if (!isset($osztalyId) && !isset($tanarId) && __TANAR && $_POST['tanarId'] !== '') $ADAT['tanarId'] = $tanarId = __USERTANARID; + if (isset($tanarId)) $_POST['tanarId'] = $tanarId; + } + if (isset($diakId)) { + $Tankorok = getTankorByDiakId($diakId, $tanev); + $Targyak = getTargyakByDiakId($diakId, array('tanev' => $tanev, 'result' => 'indexed')); + $targyIds = array(); foreach ($Targyak as $key => $val) $targyIds[] = $val['targyId']; + $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'numeric unsigned', null, $targyIds); + if (isset($targyId)) { + $magatartasId = getMagatartas(array('result'=>'value')); + $szorgalomId = getSzorgalom(array('result' => 'value')); + $ADAT['targyTankorei'] = array(); + foreach ($Tankorok as $key => $tAdat) { + if ($tAdat['targyId'] == $targyId) { + $ADAT['targyTankorei'][] = $tAdat['tankorId']; + } + } + } + } elseif (isset($osztalyId)) { + $Tankorok = getTankorByOsztalyId($osztalyId, $tanev); + } elseif (isset($tanarId)) { + $Tankorok = getTankorByTanarId($tanarId, $tanev); + } + + $tankorIds = array(); + if (is_array($Tankorok)) for ($i = 0; $i < count($Tankorok); $i++) $tankorIds[] = $Tankorok[$i]['tankorId']; + + $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'], 'numeric unsigned', null, $tankorIds); + if (isset($tankorId)) { + $D = getTankorDiakjaiByInterval($tankorId, $tanev, $dt, $dt); + $Diakok = array(); + foreach ($D['nevek'] as $_diakId => $dAdat) $Diakok[] = $dAdat; + if (isset($diakId) && !in_array($diakId, $D['idk'])) { unset($diakId); unset($ADAT['diakId']); } + } + + // Az értékelési szempontrendszer lekérdezése + if (isset($diakId) && isset($dt)) { + // Az értékeléshez kell: évfolyam [ képzésId ] (targyId | targyTipus) [ tanev, szemeszter ] + $diakOsztaly = getDiakOsztalya($diakId, array('tanev'=>$tanev,'tolDt'=> $dt,'igDt'=> $dt, 'result'=>'csakid')); + if (is_array($diakOsztaly) && count($diakOsztaly) > 0) { + // évfolyam + $diakEvfolyamJel = array(); + for ($i = 0; $i < count($diakOsztaly); $i++) { + $evf = getEvfolyamJel($diakOsztaly[$i], $tanev); + if (!in_array($evf, $diakEvfolyamJel)) $diakEvfolyamJel[] = $evf; + foreach (getOsztalyfonokok($diakOsztaly[$i], $tanev) as $key => $oAdat) + if ($oAdat['aktiv']) $ADAT['diakOsztalyfonokei'][] = $oAdat['tanarId']; + } + if (count($diakEvfolyamJel) == 1) $ADAT['evfolyamJel'] = $evfolyamJel = $diakEvfolyamJel[0]; + else $ADAT['evfolyamJel'] = $evfolyamJel = readVariable($_POST['evfolyamJel'], 'enum', null, $diakEvfolyamJel); + // képzés + $diakKepzesIds = getKepzesByDiakId($diakId, array('result' => 'csakid', 'dt' => $dt)); + if (is_array($diakKepzesIds)) + if (count($diakKepzesIds) == 1) $ADAT['kepzesId'] = $kepzesId = $diakKepzesIds[0]; + else $ADAT['kepzesId'] = $kepzesId = readVariable($_POST['kepzesId'], 'numeric unsigned', null, $diakKepzesIds); + } + $ADAT['diakTargyak'] = getTargyakByDiakId($diakId, array('tanev' => $tanev, 'dt' => $dt, 'result' => 'assoc')); + + if (isset($tankorId)) { + // Jogosultsághoz + $tankorTanarIds = getTankorTanaraiByInterval($tankorId, array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'idonly')); + $tankorAdat = getTankorAdat($tankorId); + // targyId + $ADAT['targyId'] = $tankorAdat[$tankorId][0]['targyId']; + + } elseif (isset($targyId)) { + $tankorTanarIds = getTankorTanaraiByInterval($ADAT['targyTankorei'], array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'idonly')); + // magatartás és szorgalom értékelse az osztályfőnökkel mehet + if ($targyId == $magatartasId || $targyId == $szorgalomId) { + foreach ($ADAT['diakOsztalyfonokei'] as $key => $id) $tankorTanarIds[] = $id; + } + } + + if (isset($ADAT['targyId'])) { + // Módosíthatja az értékelést: + // A naplóadmin bármikor + // A tankör tanára (v. ofő magatartás/szorgalom esetén), ha évközi értékelés, vagy záró értékelés és a szemeszter zárási időszakában vagyunk + define(__MODOSITHAT, + __NAPLOADMIN + || ( + __VEZETOSEG + // itt kellene, hogy csak bizonyítvány írás időszakban... + ) + || ( + __TANAR && is_array($tankorTanarIds) && in_array(__USERTANARID, $tankorTanarIds) + && (!isset($ADAT['szemeszterId']) || $zarasIdoszak) + && $ADAT['szemeszter']['statusz'] == 'aktív' + ) + ); + // ?? targyTipus ?? + $ADAT['szempontRendszer'] = getSzempontRendszer($ADAT); + if (is_array($ADAT['szempontRendszer'])) { + $szrId = $ADAT['szempontRendszer']['szrId']; + // Kérdezzük le a diák utolsó értékelését - ha van + if (isset($szemeszterId)) $ADAT['szovegesErtekeles'] = getDiakSzovegesTargyZaroErtekeles($diakId, $szrId, $ADAT['targyId'], $tanev, $ADAT['szemeszter']['szemeszter']); + else $ADAT['szovegesErtekeles'] = getDiakUtolsoSzovegesTargyErtekeles($diakId, $szrId, $ADAT['targyId'], $dt); + + if (__MODOSITHAT && $action == 'ujErtekeles') { + for ($i = 0; $i < count($_POST['egyediMinosites']); $i++) { + $tmp = readVariable($_POST['egyediMinosites'][$i], 'string', null); + if ($tmp != '') { + $szempontId = readVariable($_POST['szempontId'][$i], 'numeric unsigned', null, $ADAT['szempontRendszer']['szempontIds']); + if (isset($szempontId)) $egyediMinosites[$szempontId] = $tmp; + } + } + for ($i = 0; $i < count($_POST['minosites']); $i++) { + $tmp = readVariable($_POST['minosites'][$i], 'numeric unsigned', null, $ADAT['szempontRendszer']['minositesIds']); + if (isset($tmp)) $minosites[] = $tmp; + } + if (isset($szemeszterId)) { + // Az értékelések újraolvasása + ujZaroErtekeles($diakId, $szrId, $ADAT['targyId'], $tanev, $ADAT['szemeszter']['szemeszter'], $minosites, $egyediMinosites); + $ADAT['szovegesErtekeles'] = getDiakSzovegesTargyZaroErtekeles($diakId, $szrId, $ADAT['targyId'], $tanev, $ADAT['szemeszter']['szemeszter']); + } else { + // Az új értékelés rögzítése + if (ujErtekeles($diakId, $szrId, $ADAT['targyId'], date('Y-m-d'), $minosites, $egyediMinosites)) + // Az értékelések újraolvasása + $ADAT['szovegesErtekeles'] = getDiakUtolsoSzovegesTargyErtekeles($diakId, $szrId, $ADAT['targyId'], $dt); + } + } + } else { + $_SESSION['alert'][] = 'info:nincs_szempontrendszer'; + } + } else { // Egy diák összes értékelése + define(__MODOSITHAT, false); + $ADAT['osszes'] = getDiakOsszesSzovegesErtekeles($ADAT); + } + } + +/* **** ToolBar **** */ + + // tanár vagy osztály szerint szűkíthetünk, majd diákot választunk + if (__TANAR || __NAPLOADMIN) { + if (!isset($osztalyId) || __OSZTALYFONOK === true) + $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('tolDt', 'dt', 'szemeszterId')); + if (!isset($tanarId) || __OSZTALYFONOK === true) + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tolDt', 'tolDt', 'dt', 'szemeszterId')); + $TOOL['diakSelect'] = array( + 'tipus' => 'sor', 'paramName' => 'diakId', 'diakok' => $Diakok, + 'post' => array('osztalyId', 'targyId', 'tankorId', 'tanarId', 'tolDt', 'dt', 'szemeszterId') + ); + if (isset($diakId)) $TOOL['diakLapozo'] = array( 'withSelect' => false, + 'tipus' => 'sor', 'paramName' => 'diakId', 'diakok' => $Diakok, + 'post' => array('osztalyId', 'targyId', 'tankorId', 'tanarId', 'tolDt', 'dt', 'szemeszterId') + ); + } + // Záró vagy évközi értékelés - dt vagy szemeszterId van kiválasztva + if (!isset($szemeszterId)) { + $TOOL['datumSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'dt', 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'hanyNaponta' => 1, + 'post' => array('tankorId','tanarId','osztalyId','diakId','szemeszterId')); + } + if ($dt == $ADAT['szemeszter']['zarasDt']) { + $TOOL['szemeszterSelect'] = array( + 'tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , + 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'tankorId', 'kepzesId', 'evfolyamJel')); + } + // tárgyat vagy tankört választunk (és ezen keresztül tárgyat) + if (!isset($targyId) && (isset($osztalyId) || isset($tanarId) || isset($diakId))) { + $TOOL['tankorSelect'] = array( + 'tipus' => 'sor', 'tankorok' => $Tankorok, 'paramName' => 'tankorId', + 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'szemeszterId') + ); + } + if (!isset($tankorId) && isset($diakId)) { + $TOOL['targySelect'] = array( + 'tipus' => 'sor', 'targyak' => $Targyak, 'paramName' => 'targyId', + 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'szemeszterId') + ); + } + if (is_array($diakEvfolyamJel) && count($diakEvfolyamJel) > 1) + $TOOL['evfolyamJelSelect'] = array( + 'tipus' => 'cella', 'evfolyamJel' => $diakEvfolyamJel, 'paramName' => 'evfolyamJel', + 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'tankorId', 'kepzesId', 'szemeszterId') + ); + if (is_array($diakKepzesIds) && count($diakKepzesIds) > 1) + $TOOL['kepzesSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'kepzesId', + 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'tankorId', 'evfolyamJel', 'szemeszterId') + ); + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId','diakId','tolDt','dt','tankorId','kepzesId','evfolyamJel')); + $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella','url'=>'index.php?page=naplo&sub=nyomtatas&f=szovegesErtekeles', + 'post' => array('osztalyId','szemeszterId','sorrendNev')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles.php b/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles.php new file mode 100644 index 00000000..7908d085 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles.php @@ -0,0 +1,15 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (is_array($ADAT['szempontRendszer'])) { + if (__MODOSITHAT || is_array($ADAT['szovegesErtekeles'])) + putErtekeloForm($ADAT); + } elseif (is_array($ADAT['osszes'])) { + foreach ($ADAT['diakTargyak'] as $targyId => $tAdat) + if (is_array($ADAT['osszes'][$targyId])) + if ($ADAT['tolDt'] <= $ADAT['osszes'][$targyId]['szovegesErtekeles']['dt']) putErtekeloForm($ADAT['osszes'][$targyId]); + } +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/tankor-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/tankor-pre.php new file mode 100644 index 00000000..742b4b5d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/tankor-pre.php @@ -0,0 +1,332 @@ +<?php + +if (_RIGHTS_OK !== true) die(); + +if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__DIAK && !__TITKARSAG) { + $_SESSION['alert'][] = 'message:insufficient_access'; +} elseif (__DIAK) { + header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=diak')); +} else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/jegy.php'); + + $time = time(); + // A toolBar-ból érkező adatok feldolgozása, beállítása - mit is akarunk épp látni.. + $diakId = readVariable($_POST['diakId'], 'id'); + $osztalyId = readVariable($_POST['osztalyId'], 'id', readVariable($_GET['osztalyId'], 'id') ); + // if (isset($diakId)) { + // // Nem egyértelmű az osztály - itt legfeljebb ellenőrizni kell, hogy tagja-e... //$osztaly = getOsztalyByDiakId($diakId); + $tankorId = readVariable($_POST['tankorId'], 'id', readVariable($_GET['tankorId'], 'id') ); + $tanarId = readVariable($_POST['tanarId'], 'id', readVariable($_GET['tanarId'],'id')); + if ($_POST['tanarId']=='' && $tanarId!='') $_POST['tanarId'] = $tanarId; // H4CK + + /* Képek vezérlésének beállítása */ + if (__SHOW_FACES=='optional') $ADAT['kepMutat'] = readVariable($_POST['kepMutat'],'bool'); + else $ADAT['kepMutat'] = __SHOW_FACES_TF; + /* == */ + + if (!isset($tanarId) && !isset($osztalyId) && __TANAR) + if (!isset($tankorId)) $tanarId = __USERTANARID; + else { + $tankorTanarai = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'csakId')); + if (in_array(__USERTANARID, $tankorTanarai)) $tanarId = __USERTANARID; + } + + $nevsor = readVariable($_POST['nevsor'],'emptystringnull','aktualis',array('aktualis','teljes')); + // tankörök lekérdzése + if (isset($diakId)) $Tankorok = getTankorByDiakId($diakId, __TANEV); + elseif (isset($osztalyId)) $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV); + elseif (isset($tanarId)) $Tankorok = getTankorByTanarId($tanarId, __TANEV); + + $ADAT['tankorok'] = $Tankorok; + + if (isset($tankorId)) { + // Az aktuális szemeszter kiválasztása + if (__FOLYO_TANEV) { + foreach ($_TANEV['szemeszter'] as $szemeszter => $szemeszterAdat) + if (strtotime($szemeszterAdat['kezdesDt']) <= $time && $time <= strtotime($szemeszterAdat['zarasDt'])) break; + if ($szemeszter !== false) { + define('__FOLYO_SZEMESZTER', $szemeszter); + $szemeszterKezdesDt = $szemeszeterAdat['kezdesDt']; + $szemeszterZarasDt = $szemeszeterAdat['zarasDt']; + } + } + if (!defined('__FOLYO_SZEMESZTER')) define('__FOLYO_SZEMESZTER',false); + + if (isset($_POST['tolDt']) && $_POST['tolDt'] != '') $tolDt = readVariable($_POST['tolDt'],'date'); + elseif (isset($szemeszterKezdesDt)) $tolDt = $szemeszterKezdesDt; + else $tolDt = $_TANEV['kezdesDt']; + + if (isset($_POST['igDt']) && $_POST['igDt'] != '') $igDt = readVariable($_POST['igDt'],'date'); + elseif (isset($szemeszterZarasDt)) $igDt = $szemeszterZarasDt; + else $igDt = $_TANEV['zarasDt']; + + // a tankör diákjainak lekérdezése + if ($nevsor == 'aktualis') $Diakok = getTankorDiakjaiByInterval($tankorId, __TANEV); + else $Diakok = getTankorDiakjaiByInterval($tankorId, __TANEV, $tolDt, $igDt); + + $dts = array(date('Y-m-d')); + foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) $dts[] = $szAdat['zarasDt']; + $ADAT['diakJogviszony'] = getDiakJogviszonyByDts($Diakok['idk'], $dts); + + // lehetne regexp-pel is: $sulyozas = readVariable($_POST['sulyozas'],'regexp',__DEFAULT_SULYOZAS,array('^[0-9]*:[0-9]*:[0-9]*:[0-9]*:[0-9]*$')); + $ADAT['sulyozas'] = $sulyozas = readVariable($_POST['sulyozas'],'enum',__DEFAULT_SULYOZAS,$SULYOZAS); + + // tankör osztályzatainak lekérdezése + $Jegyek = getJegyek($tankorId, $tolDt, $igDt, $sulyozas, $Diakok); + if (is_array($Jegyek['tankörök'])) for ($j=0; $j<count($Jegyek['tankörök']['tankorId']); $j++) { + $_tankorId = $Jegyek['tankörök']['tankorId'][$j]; + $tankorAdat = $Jegyek['tankörök'][$_tankorId]; + $Jegyek['tankörök'][$_tankorId]['tanarIds'] = array(); + for ($i = 0; $i < count($tankorAdat['tanárok']); $i++) + $Jegyek['tankörök'][$_tankorId]['tanarIds'][] = $tankorAdat['tanárok'][$i]['tanarId']; + } + $Orak = getOraAdatByTankor($tankorId); + $Dolgozatok = getTankorDolgozatok($tankorId); + $TA = getTankorById($tankorId); // át kéne írni getTankorAdat() - ra... + + $ADAT['diakok'] = $Diakok; // kompatibilitás + $ADAT['tankorAdat'] = $TA[0]; + $ADAT['tankorAdat2'] = getTankorAdat($tankorId); + $targyId = $TA[0]['targyId']; + $ADAT['tankorAdat']['osztalyai'] = getTankorOsztalyai($tankorId, array('result' => 'id')); + // Diákok osztályai - folyó tanévben: jelenleg... + if (__FOLYO_TANEV) { + $ADAT['diakOsztaly']['aktualis'] = getDiakokOsztalyai($ADAT['diakok']['idk'], array('result'=>'indexed')); + $dt['aktualis'] = date('Y-m-d'); + } else { + $ADAT['diakOsztaly']['aktualis'] = getDiakokOsztalyai($ADAT['diakok']['idk'], array('result'=>'indexed', 'tolDt' => $_TANEV['zarasDt'], 'igDt' => $_TANEV['zarasDt'])); + $dt['aktualis'] = $_TANEV['zarasDt']; + } + // Kérdezzük le a szemeszter záráskori osztályokat is! + foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) { + $ADAT['diakOsztaly'][$szemeszter] = getDiakokOsztalyai( + $ADAT['diakok']['idk'], array('result'=>'indexed', 'tolDt' => $szAdat['zarasDt'], 'igDt' => $szAdat['zarasDt']) + ); + $dt[$szemeszter] = $szAdat['zarasDt']; + } + /* Diákonkénti évfolyam meghatározás + Külön kell itt is meghatározni, itt esetleg leszűkíthető a több évfolyamra járó diák évfolyama */ + for ($i=0; $i<count($ADAT['diakok']['idk']); $i++) { + $_diakId = $ADAT['diakok']['idk'][$i]; + $_metszet = array(); + // A jelenlegi és a szemeszter zárások idején levő évfolyamokat is megállapítjuk + foreach ($ADAT['diakOsztaly'] as $key => $value) { // $key: aktualis, 1, 2 + $_diakEvfolyam = array(); + $_diakEvfolyamJel = array(); + if ( is_array($ADAT['diakOsztaly'][$key][$_diakId]) && is_array($ADAT['tankorAdat']['osztalyai']) ) { + $_metszet = array_intersect($ADAT['diakOsztaly'][$key][$_diakId], $ADAT['tankorAdat']['osztalyai']); +// } else { +// $_SESSION['alert'][] = 'info:nincs_osztaly:'.$ADAT['diakok']['nevek'][$_diakId]['diakNev'].':'.$key; + } + + // ez a feltétel lazítható több osztályban is, ha azok azonos évolfymon vannak: + foreach ( $_metszet as $j => $_osztalyId ) { + // csak ebben a tankörben ennek felel meg, ezen az évfolyamon levő a zárójegyet kaphatja: + $_diakEvfolyamJel[] = getEvfolyamJel($_osztalyId); + $_diakEvfolyam[] = evfolyamJel2Evfolyam(end($_diakEvfolyamJel)); + } + if (count(array_unique($_diakEvfolyamJel))==1) { // korábban az evfolyam-nak kellett uniq-nak lennie - ez szigorúbb... + $ADAT['diakEvfolyam'][$key][$_diakId] = $_diakEvfolyam[0]; + $ADAT['diakEvfolyamJel'][$key][$_diakId] = $_diakEvfolyamJel[0]; + // OK, van-e meghatározva képzés? + // TODO: képzések legyenek evfolyamJel függők - ekkor itt is javítani kell! + if (is_numeric($key)) { + $_kepzesIdk = getKepzesByDiakId($_diakId,array('result'=>'idonly', 'dt' => $dt[$key])); + if (is_array($_kepzesIdk) && count($_kepzesIdk)>0) { + // ITT MIÉRT CSAK AZ ELSŐ KÉPZÉST NÉZZÜK??? - mert nem tudjuk eldönteni, hogy melyik az erősebb + $ADAT['diakKepzesKovetelmeny'][$key][$_diakId] = getTargyAdatFromKepzesOraterv($_kepzesIdk[0], + array('targyId'=>$targyId, 'evfolyam'=>$_diakEvfolyam[0], 'evfolyamJel'=>$_diakEvfolyamJel[0], 'szemeszter'=>$key)); + } + } + // + } elseif (count($_diakEvfolyam) == 0) { // _Már_ nincs a tankör szerinti osztályok egyikében sem + } else { // Több évfolyamban is bent van... + $_SESSION['alert'][] = "info:multi_evfolyam:".$ADAT['diakok']['nevek'][$_diakId]['diakNev'].':'.$key; + } + + + } + + } + /* --még1* felmentési célból- */ + for ($i=0; $i<count($ADAT['diakok']['idk']); $i++) { + $_diakId = $ADAT['diakok']['idk'][$i]; + $ADAT['diakFelmentes'][$_diakId] = getTankorDiakFelmentes($_diakId,__TANEV,array('felmentesTipus'=>array('értékelés alól'),'csakId'=>true,'tolDt'=>date('Y-m-d'), 'igDt'=>date('Y-m-d'))); + } + } else { + // -- TODO - fejlesztés alatt + /*for ($i=0; $i<count($ADAT['tankorok']); $i++) { + $_tankorId=$ADAT['tankorok'][$i]['tankorId']; + $_diakok = getTankorDiakjaiByInterval($_tankorId, __TANEV, $_TANEV['kezdesDt'], $_TANEV['zarasDt']); + //$ADAT['atlagok'][$_tankorId] = ':..:'; + } + */ + } + +//------ + $tanevIdoszak = getIdoszakByTanev( + array('tanev' => __TANEV, 'tipus' => array('zárás','bizonyítvány írás'), 'tolDt' => date('Y-m-d H:i:s'), 'igDt' => date('Y-m-d H:i:s'), + 'arraymap'=>array('tipus','szemeszter')) + ); + + + // Beírhat-e jegyet? + define('__EVKOZI_JEGYET_ADHAT', + (__NAPLOADMIN && ($_TANEV['statusz'] == 'aktív')) + || ( + __TANAR + && __FOLYO_TANEV + && is_array($Jegyek['tankörök'][$tankorId]['tanarIds']) + && in_array(__USERTANARID, $Jegyek['tankörök'][$tankorId]['tanarIds']) + ) + ); + define('__ZAROJEGYET_ADHAT', + (__NAPLOADMIN && ($_TANEV['statusz'] == 'aktív')) + || ( + __TANAR + && is_array($Jegyek['tankörök'][$tankorId]['tanarIds']) + && in_array(__USERTANARID, $Jegyek['tankörök'][$tankorId]['tanarIds']) + && count($tanevIdoszak['zárás']) > 0 + ) + || ( + __VEZETOSEG + && !is_null($tanevIdoszak['bizonyítvány írás']) + && is_null($tanevIdoszak['zárás']) + ) + ); + + if ( __TANAR + && is_array($Jegyek['tankörök'][$tankorId]['tanarIds']) + && in_array(__USERTANARID, $Jegyek['tankörök'][$tankorId]['tanarIds']) + && count($tanevIdoszak['zárás']) > 0 ) + { + list($_szemeszter,$_idoszakok) = (each($tanevIdoszak['zárás'])); + define('__IDOSZAK_TOLDT',$_idoszakok[0]['tolDt']); // Nem lehet két szemeszterhez tartozó ugyanolyan típusú (pl. zárás) időszak egyidőben!!! + define('__IDOSZAK_IGDT',$_idoszakok[0]['igDt']); + define('__IDOSZAK_SZEMESZTER',$_szemeszter); + } elseif ( + __VEZETOSEG + && !is_null($tanevIdoszak['bizonyítvány írás']) + && is_null($tanevIdoszak['zárás']) + ) { + list($_szemeszter,$_idoszakok) = (each($tanevIdoszak['bizonyítvány írás'])); + define('__IDOSZAK_TOLDT',$_idoszakok[0]['tolDt']); + define('__IDOSZAK_IGDT',$_idoszakok[0]['igDt']); + define('__IDOSZAK_SZEMESZTER',$_szemeszter); + } + + define('__JEGYET_ADHAT',false); + +//------ + if ($action == 'jegyBeiras' && (isset($_POST['bizBeiroGomb']) || $_POST['bizBeiroGomb2']!='')) $action = 'jegyLezaras'; + if (__EVKOZI_JEGYET_ADHAT) { + + if ($action == 'jegyBeiras') { + $actionId = readVariable($_POST['actionId'],'strictstring'); + for ($i = 0; $i < count($_POST['jegy']); $i++) + if ($_POST['jegy'][$i] != '') { + list($_diakId, $_jegyTipus, $_jegy) = explode('|', $_POST['jegy'][$i]); + $Beirando[] = array('diakId' => $_diakId, 'jegy' => $_jegy, 'jegyTipus' => $_jegyTipus); + } // for-if + $oraId = readVariable($_POST['oraId'],'id','NULL'); // NULL string!!! + $megjegyzes = readVariable($_POST['megjegyzes'],'string'); + + // A jegy típusa - a submit alapján + if (isset($_POST['jegy1'])) $tipus = 1; + elseif (isset($_POST['jegy2'])) $tipus = 2; + elseif (isset($_POST['jegy3'])) $tipus = 3; + elseif (isset($_POST['jegy4'])) $tipus = 4; + elseif (isset($_POST['jegy5'])) $tipus = 5; + if ($tipus < 3 || $_POST['dolgozatId'] == '') $dolgozatId = 'NULL'; + elseif ($_POST['dolgozatId']=='uj') $dolgozatId='uj'; // uj-nak nevezzük a felveendő dolgozatot... + else $dolgozatId = readVariable($_POST['dolgozatId'],'id','NULL'); // NULL string! + + if (isset($tipus) && count($Beirando) > 0) { // Nem csak súlyozást vagy nevsort változtatott és van jeg + // --TODO: ez nem ide való + $lr = db_connect('naplo'); + // Ellenőrizzük a reload-ot!! + if (checkReloadAction($actionId, $action, 'jegy', $lr)) { + if (jegyBeiras($tankorId, $tipus, $oraId, $dolgozatId, $tanarId, $megjegyzes, $Beirando, $actionId, $lr)) { + $Jegyek = getJegyek($tankorId, $tolDt, $igDt, $sulyozas, $Diakok, $lr); + if ($tipus > 2) $Dolgozatok = getTankorDolgozatok($tankorId); + } + } // reload + db_close($lr); + + } // Nem csak súlyozást változtat + } + } + if (__ZAROJEGYET_ADHAT) { + if ($action == 'jegyLezaras') { + $zaroJegyek = $_POST['zaroJegy']; + $tankorAdat = getTankorById($tankorId); + $targyId = $tankorAdat[0]['targyId']; + $actionId = readVariable($_POST['actionId'],'strictstring'); + if (is_array($zaroJegyek)) { + /* Prepare */ + for($i=0; $i<count($zaroJegyek); $i++) { + $X = explode('|',$zaroJegyek[$i]); + for ($j=0; $j<count($X); $j++) { + list($key,$value) = explode('=',$X[$j]); + // Van már ilyen jegy? + $beirandoJegyek[$i][$key] = $value; + } + + } + /* Időszak ellenőrzése */ + if (checkReloadAction($actionId, $action, 'bizonyitvany')) + if (jegyLezaras($beirandoJegyek, $tankorId, $targyId, $actionId)) + $Jegyek = getJegyek($tankorId, $tolDt, $igDt, $sulyozas, $Diakok); + //-- + } + } + } // jegyet adhat + + + // És a zárójegyek + $ADAT['zaroJegyek'] = getDiakokZarojegyeiByTargyId($Diakok['idk'],$ADAT['tankorAdat']['targyId'], array('arraymap'=>array('diakId','evfolyamStr','felev'))); + $ADAT['vizsgaJegyek'] = getDiakokVizsgajegyeiByTargyId($Diakok['idk'],$ADAT['tankorAdat']['targyId'], array('arraymap'=>array('diakId','evfolyamStr','felev'))); + $ADAT['idoszak'] = $tanevIdoszak; + + // ----------- action vége ------------- // + + $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('tolDt', 'igDt')); + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tolDt', 'igDt')); + if (isset($osztalyId)) { + $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'post' => array('osztalyId', 'tolDt', 'igDt')); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=osztalyozo&f=diak','index.php?page=naplo&sub=orarend&f=orarend'), + 'title' => array('diák osztályzatai','diák órarendje'), 'post' => array('osztalyId'), + 'paramName'=>'diakId'); +// $TOOL['toolBarHamburger'] = array('tipus' => 'cella', +// 'url' => array('index.php?page=naplo&sub=osztalyozo&f=diak','index.php?page=naplo&sub=orarend&f=orarend'), +// 'title' => array('diák osztályzatai','diák órarendje'), 'post' => array('osztalyId'), +// 'paramName'=>'diakId'); + } + + + if (isset($osztalyId) or isset($tanarId) or isset($diakId)) + $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $Tankorok, 'paramName' => 'tankorId', 'post' => array('osztalyId', 'tanarId', 'diakId', 'tolDt', 'igDt')); + if (isset($tankorId) && $skin != 'pda') + $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt', + 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'hanyNaponta' => 'havonta', 'post' => array('tanarId', 'osztalyId', 'tankorId', 'sulyozas')); + + + getToolParameters(); + +} // rights + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/tankor.php b/mayor-orig/www/policy/private/naplo/osztalyozo/tankor.php new file mode 100644 index 00000000..f86de20a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/tankor.php @@ -0,0 +1,17 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $tools, $diakId, $tankorId, $tanarId, $osztaly; + global $Diakok, $Jegyek, $Orak, $sulyozas, $nevsor; + global $Dolgozatok, $tolDt, $igDt; + global $ADAT; + + if ($tankorId != '') { + // tankör osztályzatainak kiírása + putTankorJegyek($tankorId, $Diakok, $Jegyek, $Orak, $Dolgozatok, $sulyozas, $tolDt, $igDt, $nevsor, $ADAT); + } else { + putTankorjegyStatisztika($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend-pre.php new file mode 100644 index 00000000..5dfd84c1 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend-pre.php @@ -0,0 +1,47 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__OSZTALYFONOK) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/file.php'); + + $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', null, getTargySorrendNevek(__TANEV)); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) $_POST['osztalyId'] = $osztalyId = $_OSZTALYA[0]; // osztályfőnök - saját osztálya + else $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); + if (is_array($_POST['targyId']) && count($_POST['targyId']) > 0) + $_POST['targyId'] = $targyId = readVariable($_POST['targyId'][0], 'numeric unsigned', null); + + + if (isset($osztalyId) && isset($sorrendNev)) { + + if ($action == 'sorrendValtas') { // Javascript nélküli eset - fel/le lépkedés + + if (isset($_POST['fel'])) targySorrendValtas($osztalyId, $sorrendNev, $targyId, 'fel'); + elseif (isset($_POST['le'])) targySorrendValtas($osztalyId, $sorrendNev, $targyId, 'le'); + + } elseif ($action == 'ujSorrend' && is_array($_POST['targyIds']) && count($_POST['targyIds']) > 0) { + ujTargySorrend($osztalyId, $sorrendNev, $_POST['targyIds']); + + } + + $Targyak = getTanevTargySorByOsztalyId($osztalyId, __TANEV, $sorrendNev); + checkTargySor($osztalyId, $sorrendNev, $Targyak); + + } + + + if (__NAPLOADMIN || __VEZETOSEG || __TITKARSAG) + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('sorrendNev')); + $TOOL['targySorrendSelect'] = array('tipus' => 'cella', 'post' => array('osztalyId')); + + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend.php b/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend.php new file mode 100644 index 00000000..59aa99e9 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend.php @@ -0,0 +1,8 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $osztalyId, $sorrendNev, $Targyak; + + if (isset($sorrendNev) && $sorrendNev != '') putTargySorrendForm($osztalyId, $sorrendNev, $Targyak); +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga-pre.php new file mode 100644 index 00000000..beb5bd84 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga-pre.php @@ -0,0 +1,91 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/vizsga.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + + $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly')); + $diakId = $ADAT['diakId'] = readVariable($_POST['diakId'], 'id', readVariable($_GET['diakId'], 'id')); + $targyId = $ADAT['targyId'] = readVariable($_POST['targyId'], 'id', readVariable($_GET['targyId'], 'id')); + $evfolyamJel = $ADAT['evfolyamJel'] = readVariable( + $_POST['evfolyamJel'], 'enum', readVariable($_GET['evfolyamJel'], 'enum', null, $ADAT['evfolyamJelek']), $ADAT['evfolyamJelek'] + ); + if (isset($evfolyamJel)) $evfolyam = $ADAT['evfolyam'] = evfolyamJel2Evfolyam($evfolyamJel); + + $ADAT['tanev'] = $_TANEV['tanev']; // ezt ellenőrizni + $felev = readVariable($_POST['felev'], 'numeric unsigned'); + if ($felev=='') foreach($_TANEV['szemeszter'] as $felev => $_SZA); + $ADAT['felev'] = $felev; // maxSzemeszter + $ADAT['vizsgatipusok'] = getEnumField('naplo_intezmeny', 'vizsga', 'tipus'); + $ADAT['zarojegytipusok'] = getEnumField('naplo_intezmeny', 'zaroJegy', 'jegyTipus'); + $ADAT['statusz'] = getEnumField('naplo_intezmeny', 'diak', 'statusz'); + + if ($action == 'vizsgajelentkezes' && isset($diakId) && isset($targyId) && isset($evfolyamJel)) { + $ADAT['jelentkezesDt'] = readVariable($_POST['jelentkezesDt'], 'date'); + $ADAT['tipus'] = readVariable($_POST['tipus'], 'enum', null, $ADAT['vizsgatipusok']); + if (isset($ADAT['jelentkezesDt']) && isset($ADAT['tipus'])) { + vizsgajelentkezes($ADAT); + } + } elseif ($action == 'vizsgaKezeles') { + $vizsgaDatum = $halasztasDatum = array(); + + // Vizsgaidőpontok kijelölése + $vizsgaIds = readVariable($_POST['vizsgaDtVizsgaIds'], 'numeric unsigned'); + $vizsgaDts = readVariable($_POST['vizsgaDts'], 'date', ''); + for ($i = 0; $i < count($vizsgaDts); $i++) if ($vizsgaDts[$i] != '') $vizsgaDatum[ $vizsgaIds[$i] ] = $vizsgaDts[$i]; + vizsgaIdopontRogzites($vizsgaDatum); + + $erthalVizsgaIds = readVariable($_POST['erthalVizsgaIds'], 'numeric unsigned'); + // Vizsga halasztása + $halasztasDts = readVariable($_POST['halasztasDts'], 'date', ''); + for ($i = 0; $i < count($halasztasDts); $i++) if ($halasztasDts[$i] != '') $halasztasDatum[ $erthalVizsgaIds[$i] ] = $halasztasDts[$i]; + vizsgaHalasztas($halasztasDatum); + // Vizsga értékelés + $jegyAdat = $_POST['jegyAdat']; + for ($i = 0; $i < count($jegyAdat); $i++) if ($jegyAdat[$i] != '') { + $X = explode('|', $jegyAdat[$i]); + for ($j = 0; $j < count($X); $j++) { + list($key, $value) = explode('=', $X[$j]); + $jegyek[ $erthalVizsgaIds[$i] ][$key] = $value; + } + } + vizsgaErtekeles($jegyek); + } elseif ($action == 'vizsgaTorlese') { + $vizsgaId = readVariable($_GET['vizsgaId'], 'id'); + if (isset($vizsgaId)) vizsgaTorlese($vizsgaId); + } + $ADAT['vizsga'] = $ADAT['diakIds'] = $ADAT['targyIds'] = array(); + if (isset($diakId) || isset($targyId)) $ADAT['vizsga'] = getVizsgak($ADAT); + + for ($i = 0; $i < count($ADAT['vizsga']); $i++) { + if (!in_array($ADAT['vizsga'][$i]['diakId'], $ADAT['diakIds'])) $ADAT['diakIds'][] = $ADAT['vizsga'][$i]['diakId']; + if (!in_array($ADAT['vizsga'][$i]['targyId'], $ADAT['targyIds'])) $ADAT['targyIds'][] = $ADAT['vizsga'][$i]['targyId']; + } + if (count($ADAT['targyIds']) > 0) $ADAT['targyak'] = getTargyAdatByIds($ADAT['targyIds']); + if (count($ADAT['diakIds']) > 0) $ADAT['diakok'] = getDiakokById($ADAT['diakIds']); + + + $TOOL['diakSelect'] = array('tipus'=>'cella', 'paramName'=>'diakId', 'post'=>array('targyId','jelentkezesDt', 'vizsgaDt', 'evfolyamJel', 'felev'), 'statusz'=>$ADAT['statusz']); + $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'post' => array('diakId', 'evfolyamJel', 'felev')); + $TOOL['evfolyamJelSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'evfolyamJel', 'paramDesc'=>'evfolyamJel','adatok' => getEvfolyamJelek(), + 'post' => array('targyId', 'diakId', 'jelentkezesDt', 'vizsgaDt','felev') + ); + $TOOL['felevSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'felev', 'post' => array('targyId', 'diakId', 'jelentkezesDt', 'vizsgaDt', 'evfolyamJel') + ); + + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga.php b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga.php new file mode 100644 index 00000000..aaccc546 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga.php @@ -0,0 +1,11 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['diakId']) && isset($ADAT['targyId']) && isset($ADAT['evfolyamJel'])) + putVizsgaJelentkezesForm($ADAT); + if (is_array($ADAT['vizsga']) && count($ADAT['vizsga']) > 0) putVizsgaLista($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes-pre.php new file mode 100644 index 00000000..0cace228 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes-pre.php @@ -0,0 +1,37 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if ( + !__NAPLOADMIN && !__VEZETOSEG + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/vizsga.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + + $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'id', getSzemeszterIdByDt(date('Y-m-d'))); + + // Soron következő vizsgaidőszak lekérdezése + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + $idoszakIds = $ADAT['vizsgaIdoszak'] = array(); + foreach ($ADAT['szemeszterAdat']['idoszak'] as $key => $iAdat) { + if ($iAdat['tipus'] == 'vizsga') { + $ADAT['vizsgaIdoszak'][] = $iAdat; + $idoszakIds[] = $iAdat['idoszakId']; + if (!isset($ADAT['kovetkezoIdoszakIndex']) && time() < strtotime($iAdat['tolDt'])) $ADAT['kovetkezoIdoszakIndex'] = count($ADAT['vizsgaIdoszak']) - 1; + } + } + if (count($ADAT['vizsgaIdoszak']) == 0) { + $_SESSION['alert'][] = 'message:wrong_data:nincs vizsgaidőszak kijelölve ebben a szemeszterben'; + } else { + + } // van kijelölve vizsgaidőszak + + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'post' => array('sorrendNev', 'osztalyId')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes.php b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes.php new file mode 100644 index 00000000..11ad75ef --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (count($ADAT['vizsgaIdoszak']) > 0) putVizsgaJelentkezes($ADAT); + elseif (__NAPLOADMIN === true) echo '<a href="'.href('index.php?page=naplo&sub=admin&f=szemeszterek&szemeszterId='.$ADAT['szemeszterId']).'">'._VIZSGAIDOSZAK_FELVETELE.'</a>'; +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck-pre.php new file mode 100644 index 00000000..0cd5bf23 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck-pre.php @@ -0,0 +1,82 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + + $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'],'id'); + + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + $ADAT['tanev'] = $ADAT['szemeszterAdat']['tanev']; + $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev'],array('result' => 'indexed', 'minden'=>false, 'telephelyId' => $telephelyId)); + if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'],'id'); } + elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $ADAT['osztalyId'] = $_POST['osztalyId'] = $_OSZTALYA[0]; } + + if (isset($_POST['tolDt']) && $_POST['tolDt'] != '') $tolDt = readVariable($_POST['tolDt'],'date'); + elseif (isset($szemeszterKezdesDt)) $tolDt = $szemeszterKezdesDt; + else $tolDt = $_TANEV['kezdesDt']; + + if (isset($_POST['igDt']) && $_POST['igDt'] != '') $igDt = readVariable($_POST['igDt'],'date'); + elseif (isset($szemeszterZarasDt)) $igDt = $szemeszterZarasDt; + else $igDt = $_TANEV['zarasDt']; + // a tankör diákjainak lekérdezése + $ADAT['diakok'] = getDiakokByOsztalyId(array($osztalyId), $SET = array('tanev' => $tanev, 'tolDt' => null, 'igDt' => null, 'result' => '', 'statusz' => array('jogviszonyban van','magántanuló'))); +/* for ($i=0; $i<count($ADAT['diakok']); $i++) { + $DIAKIDS[] = $ADAT['diakok'][$i]['diakId']; + } +*/ +//----------- + if (isset($osztalyId)) { + $ADAT['evfolyam'] = getEvfolyam($osztalyId,$ADAT['tanev']); + $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId,$ADAT['tanev']); + + if ($action=='modosit') { + $ZAROJEGYIDS = readVariable($_POST['zaroJegyId'],'id'); + $lr = db_connect('naplo_intezmeny'); + for ($i=0; $i<count($ZAROJEGYIDS); $i++) { + $_z = $ZAROJEGYIDS[$i]; + $q = "UPDATE zaroJegy SET evfolyamJel='%s' WHERE zaroJegyId = %u"; + $v = array($ADAT['evfolyamJel'],$_z); + db_query($q, array('modul'=>'naplo_intezmeny','values'=>$v),$lr); + $q = "UPDATE vizsga SET evfolyamJel='%s' WHERE zaroJegyId = %u"; + db_query($q, array('modul'=>'naplo_intezmeny','values'=>$v),$lr); + } + db_close($lr); + } + $q = "SELECT osztalyId, leiras,kezdoTanev,vegzoTanev,jel,telephelyId,osztalyJellegId, elokeszitoEvfolyam, + osztalyJelleg.osztalyJellegNev, osztalyJelleg.vegzesKovetelmenye, kovOsztalyJellegId + FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) WHERE osztalyId=%u"; + $v = array($osztalyId); + $ADAT['osztalyok'] = db_query($q,array('values'=>$v,'result'=>'record','modul'=>'naplo_intezmeny')); + + $q = "SELECT * FROM zaroJegy LEFT JOIN osztalyDiak ON (osztalyDiak.diakId=zaroJegy.diakId AND beDt<=hivatalosDt AND (kiDt IS NULL or kiDt>=hivatalosDt)) WHERE osztalyId=%u AND hivatalosDt>='%s' AND hivatalosDt<='%s' ORDER BY hivatalosDt,zaroJegy.diakId,evfolyam,evfolyamJel"; + $v = array($osztalyId,$ADAT['szemeszterAdat']['kezdesDt'],$ADAT['szemeszterAdat']['zarasDt']); + $ADAT['zaroJegyek'] = db_query($q,array('values'=>$v,'result'=>'indexed','modul'=>'naplo_intezmeny')); + } +//----------- +// $TOOL['telephelySelect'] = array('tipus' => 'cella','paramName'=>'telephelyId'); + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , 'post' => array('sorrendNev', 'osztalyId', 'telephelyId')); + if (!__DIAK) { + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev', 'telephelyId')); + } + if (isset($osztalyId) && isset($szemeszterId)) + $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella', 'url'=>'index.php?page=naplo&sub=nyomtatas&f=ertesito','post' => array('osztalyId','szemeszterId','sorrendNev', 'telephelyId')); + getToolParameters(); + + + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck.php b/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck.php new file mode 100644 index 00000000..be582c89 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck.php @@ -0,0 +1,4 @@ +<?php +global $ADAT; +putZaroJegyCheck($ADAT); +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/sni/diakAllapot-pre.php b/mayor-orig/www/policy/private/naplo/sni/diakAllapot-pre.php new file mode 100644 index 00000000..81926458 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/sni/diakAllapot-pre.php @@ -0,0 +1,127 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/sni.php'); + require_once('include/modules/naplo/share/tankor.php'); + + // Paraméterek + $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id'); + if (isset($osztalyId)) { + $ADAT['diakIds'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'idonly','override' => false)); + if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) { + $ADAT['diakAdat'] = getDiakAdatById($ADAT['diakIds'], array('result' => 'assoc', 'keyfield' => 'diakId')); + $ADAT['sniDiakIds'] = $Diakok = array(); + foreach ($ADAT['diakAdat'] as $_diakId => $dAdat) { + if ($dAdat['fogyatekossag'] != '') { + $ADAT['sniDiakIds'][] = $_diakId; + $dAdat['aktualisStatusz'] = $dAdat['statusz']; + $Diakok[] = $dAdat; + } + } + } + $diakId = $ADAT['diakId'] = readVariable($_POST['diakId'], 'id', null, $ADAT['sniDiakIds']); + if (isset($diakId)) { + + $ADAT['fields']['olvasas'] = getEnumField('naplo','sniDiakAllapot','olvasas'); + $ADAT['fields']['olvasasTempoja'] = getEnumField('naplo','sniDiakAllapot','olvasasTempoja'); + $ADAT['fields']['olvasasHibak'] = getSetField('naplo','sniDiakAllapot','olvasasHibak'); + $ADAT['fields']['iras'] = getEnumField('naplo','sniDiakAllapot','iras'); + $ADAT['fields']['iraskepe'] = getEnumField('naplo','sniDiakAllapot','iraskepe'); + $ADAT['fields']['irasHibak'] = getSetField('naplo','sniDiakAllapot','irasHibak'); + $ADAT['fields']['szovegertes'] = getEnumField('naplo','sniDiakAllapot','szovegertes'); + $ADAT['fields']['matematika'] = getSetField('naplo','sniDiakAllapot','matematika'); + $ADAT['fogyatekossag'] = getSetField('naplo_intezmeny','diak', 'fogyatekossag'); + + // Mentor/Ofő lekérdezése, konstans beállítása + $ADAT['sniDiakAdat'] = getSniDiakAdat($diakId); + define('__MENTOR', + __TANAR + && ( + (__OSZTALYFONOK && in_array($osztalyId, $_OSZTALYA)) + || __USERTANARID == $ADAT['sniDiakAdat']['mentorTanarId'] + ) + ); + // Action + if ( + $_TANEV['statusz'] == 'aktív' + && (__NAPLOADMIN || __VEZETOSEG || __MENTOR) + ) { // ? egyéb feltételek - határidő??? + if ($action == 'allapotRogzites') { + $Fields = getTableFields('sniDiakAllapot','naplo'); + foreach ($Fields as $attr => $attrNev) { + if (is_array($ADAT['fields'][$attr])) { + $Param['diakAllapot'][$attr] = readVariable($_POST[$attr], 'enum', null, $ADAT['fields'][$attr]); + if (is_array($Param['diakAllapot'][$attr])) $Param['diakAllapot'][$attr] = implode(',',$Param['diakAllapot'][$attr]); + } elseif (in_array($attr, array('diakId','szemeszter','vizsgalatTanarId','priorizalas'))) { + $Param['diakAllapot'][$attr] = readVariable($_POST[$attr], 'id'); + } elseif ($attr == 'vizsgalatDt') { + $Param['diakAllapot'][$attr] = readVariable($_POST[$attr], 'date'); + } else { + $Param['diakAllapot'][$attr] = readVariable($_POST[$attr], 'string'); + } + } + foreach (array('gyengeseg','erosseg') as $val) { + $Param['gyengesegekErossegek'][$val.'Leiras'] = readVariable($_POST[$val.'Leiras'], 'string'); + $Param['gyengesegekErossegek'][$val.'Prioritas'] = readVariable($_POST[$val.'Prioritas'], 'numeric unsigned'); + } + if ($diakId != $ADAT['diakId']) { + $_SESSION['alert'][] = 'message:wrong_data:allapotRogzites:diakId='.$diakId.'?'.$Param['diakId']; + } else { + sniDiakAllapotRogzites($Param); + } + } elseif ($action == 'sniDiakAdatRogzites') { + $Param['diakId'] = $diakId; + $Param['kulsoInfo'] = readVariable($_POST['kulsoInfo'], 'string'); + $Param['mentorTanarId'] = readVariable($_POST['mentorTanarId'], 'id'); + $Param['fogyatekossag'] = readVariable($_POST['fogyatekossag'], 'enum', null, $ADAT['fogyatekossag']); + sniDiakAdatRogzites($Param); + } + } + $ADAT['diakAdat'][$diakId] = getDiakAdatById($diakId); + $ADAT['diakAllapot'] = getDiakAllapot($diakId); + $ADAT['sniDiakAdat'] = getSniDiakAdat($diakId); + // Osztály tanárai + $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV, array('tanarral' => true)); + $ADAT['tanarIds'] = array(); + for ($i = 0; $i < count($Tankorok); $i++) { + for ($j = 0; $j < count($Tankorok[$i]['tanarok']); $j++) { + if (!in_array($Tankorok[$i]['tanarok'][$j]['tanarId'], $ADAT['tanarIds'])) + $ADAT['tanarIds'][] = $Tankorok[$i]['tanarok'][$j]['tanarId']; + } + } + // Összes tanár névsorban + $ADAT['tanarok'] = getTanarok(); + } + + } + // Tool + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array()); + if (isset($osztalyId)) { + $TOOL['diakSelect'] = array( + 'diakok' => $Diakok, + 'tipus'=>'cella','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId'), + 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + ); + } + $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=sni&f=diakAllapot','index.php?page=naplo&sub=sni&f=fejlesztesiTerv','index.php?page=naplo&sub=sni&f=tantargyiFeljegyzesek'), + 'titleConst' => array('_DIAK_ALLAPOT','_HAVI_OSSZEGZES','_TANTARGYI_FELJEGYZESEK'), + 'post' => array('osztalyId','diakId','dt'), + 'paramName'=>'diakId'); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/sni/diakAllapot.php b/mayor-orig/www/policy/private/naplo/sni/diakAllapot.php new file mode 100644 index 00000000..8eb88c0e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/sni/diakAllapot.php @@ -0,0 +1,8 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['diakId'])) putDiakAllapot($ADAT); +?> diff --git a/mayor-orig/www/policy/private/naplo/sni/fejlesztesiTerv-pre.php b/mayor-orig/www/policy/private/naplo/sni/fejlesztesiTerv-pre.php new file mode 100644 index 00000000..46dfeab1 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/sni/fejlesztesiTerv-pre.php @@ -0,0 +1,110 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/sni.php'); + require_once('include/modules/naplo/share/tankor.php'); + + // Paraméterek + $dt = readVariable($_POST['dt'], 'date'); + if (!isset($dt)) { + $tolTime = strtotime($_TANEV['kezdesDt']); + $igTime = min(time(), strtotime($_TANEV['zarasDt'])); + $dt = date('Y-m-01', $t); + for ($t = $tolTime; $t <= $igTime; $t = strtotime("next month", $t)) $dt = date('Y-m-01', $t); + } + $ADAT['dt'] = $dt; + $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id'); + if (isset($osztalyId)) { + $ADAT['diakIds'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'idonly','override' => false)); + if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) { + $ADAT['diakAdat'] = getDiakAdatById($ADAT['diakIds'], array('result' => 'assoc', 'keyfield' => 'diakId')); + $ADAT['sniDiakIds'] = $Diakok = array(); + foreach ($ADAT['diakAdat'] as $_diakId => $dAdat) { + if ($dAdat['fogyatekossag'] != '') { + $ADAT['sniDiakIds'][] = $_diakId; + $dAdat['aktualisStatusz'] = $dAdat['statusz']; + $Diakok[] = $dAdat; + } + } + } + $diakId = $ADAT['diakId'] = readVariable($_POST['diakId'], 'id', null, $ADAT['sniDiakIds']); + if (isset($diakId) && isset($dt)) { + + // Mentor/Ofő lekérdezése, konstans beállítása + $ADAT['sniDiakAdat'] = getSniDiakAdat($diakId); + define('__MENTOR', + __TANAR + && ( + (__OSZTALYFONOK && in_array($osztalyId, $_OSZTALYA)) + || __USERTANARID == $ADAT['sniDiakAdat']['mentorTanarId'] + ) + ); + // Action + if ( + $_TANEV['statusz'] == 'aktív' + && (__NAPLOADMIN || __VEZETOSEG || __MENTOR) + ) { // ? egyéb feltételek - határidő??? + if ($action == 'haviOsszegzesRogzitese') { + $Fields = getTableFields('sniHaviOsszegzes', 'naplo'); + foreach ($Fields as $attr => $attrNev) { + if (in_array($attr, array('diakId','valtozas'))) + $Param[$attr] = readVariable($_POST[$attr], 'id'); + elseif ($attr == 'dt') + $Param[$attr] = readVariable($_POST[$attr], 'date'); + else + $Param[$attr] = readVariable($_POST[$attr], 'string'); + } + $Param['felelos'] = readVariable($_POST['felelos'], 'id'); + sniHaviOsszegzesRogzites($Param); + } + } + + $ADAT['sniHaviOsszegzes'] = getHaviOsszegzes($diakId, $dt); + $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV, array('tanarral' => true)); + $ADAT['tanarIds'] = array(); + for ($i = 0; $i < count($Tankorok); $i++) { + for ($j = 0; $j < count($Tankorok[$i]['tanarok']); $j++) { + if (!in_array($Tankorok[$i]['tanarok'][$j]['tanarId'], $ADAT['tanarIds'])) + $ADAT['tanarIds'][] = $Tankorok[$i]['tanarok'][$j]['tanarId']; + } + } + $ADAT['tanarok'] = getTanarok(); + } + + + } + // Tool + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('dt')); + $TOOL['diakSelect'] = array( + 'diakok' => $Diakok, + 'tipus'=>'cella','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId'), + 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva'), + 'post' => array('osztalyId','dt') + ); + $TOOL['datumSelect'] = array( + 'tipus' => 'sor', 'ParamName' => 'dt', 'tanev' => __TANEV, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'hanyNaponta' => 'havonta', 'post' => array('diakId', 'osztalyId') + ); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=sni&f=diakAllapot','index.php?page=naplo&sub=sni&f=fejlesztesiTerv','index.php?page=naplo&sub=sni&f=tantargyiFeljegyzesek'), + 'titleConst' => array('_DIAK_ALLAPOT','_HAVI_OSSZEGZES','_TANTARGYI_FELJEGYZESEK'), + 'post' => array('osztalyId','diakId','dt'), + 'paramName'=>'diakId'); + if (isset($osztalyId)) $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella', 'url'=>'index.php?page=naplo&sub=nyomtatas&f=sniHaviJegyzokonyv','post' => array('osztalyId')); + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/sni/fejlesztesiTerv.php b/mayor-orig/www/policy/private/naplo/sni/fejlesztesiTerv.php new file mode 100644 index 00000000..78fd73f2 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/sni/fejlesztesiTerv.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['diakId']) && isset($ADAT['dt'])) putHaviOsszesites($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/sni/sni-pre.php b/mayor-orig/www/policy/private/naplo/sni/sni-pre.php new file mode 100644 index 00000000..94ab4312 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/sni/sni-pre.php @@ -0,0 +1,5 @@ +<?php + + header('Location: '.location('index.php?page=naplo&sub=sni&f=fejlesztesiTerv')); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/sni/sni.php b/mayor-orig/www/policy/private/naplo/sni/sni.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/sni/sni.php diff --git a/mayor-orig/www/policy/private/naplo/sni/tantargyiFeljegyzesek-pre.php b/mayor-orig/www/policy/private/naplo/sni/tantargyiFeljegyzesek-pre.php new file mode 100644 index 00000000..f2af35f3 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/sni/tantargyiFeljegyzesek-pre.php @@ -0,0 +1,113 @@ +<?php + + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + + // Paraméterek + $ADAT['tolTime'] = $tolTime = strtotime('last Monday', strtotime('+1 day', strtotime($_TANEV['kezdesDt']))); + $ADAT['tolDt'] = date('Y-m-d', $ADAT['tolTime']); + $ADAT['igTime'] = min(time(), strtotime($_TANEV['zarasDt'])); + $ADAT['igDt'] = $ADAT['tolDt']; + for ($t = $ADAT['tolTime']; $t <= $ADAT['igTime']; $t = strtotime("+7 days", $t)) $ADAT['igDt'] = date('Y-m-d', $t); + + $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'date', $ADAT['igDt']); + + $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id'); + if (isset($osztalyId)) { + $ADAT['diakIds'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'idonly','override' => false)); + if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) { + $ADAT['diakAdat'] = getDiakAdatById($ADAT['diakIds'], array('result' => 'assoc', 'keyfield' => 'diakId')); + $ADAT['sniDiakIds'] = $Diakok = array(); + foreach ($ADAT['diakAdat'] as $_diakId => $dAdat) { + if ($dAdat['fogyatekossag'] != '') { + $ADAT['sniDiakIds'][] = $_diakId; + $dAdat['aktualisStatusz'] = $dAdat['statusz']; + $Diakok[] = $dAdat; + } + } + } + $diakId = $ADAT['diakId'] = readVariable($_POST['diakId'], 'id', null, $ADAT['sniDiakIds']); + + if (isset($diakId) && isset($dt)) { + + // Az osztály tanárai + $ADAT['tankorIds'] = getTankorByDiakId($diakId, __TANEV, array('result' => 'idonly')); + $ADAT['tankorTanar'] = getTankorTanaraiByInterval($ADAT['tankorIds'], array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'assoc', 'datumKenyszeritessel' => false)); + $ADAT['tankorAdat'] = getTankorAdatByIds($ADAT['tankorIds'], array('tanev' => __TANEV, 'dt' => $dt)); + foreach ($ADAT['tankorTanar'] as $_tankorId => $Tanarok) { + $ADAT['tankorTanaraE'][$_tankorId] = false; + for ($i = 0; $i < count($Tanarok); $i++) + if ($Tanarok[$i]['tanarId'] == __USERTANARID) { $ADAT['tankorTanaraE'][$_tankorId] = true; break; } + } + + $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'], 'id', null, $ADAT['tankorIds']); + if (isset($tankorId)) { + for ($i = 0; $i < count($ADAT['tankorTanar'][$tankorId]); $i++) { + if ($ADAT['tankorTanar'][$tankorId][$i]['tanarId'] == __USERTANARID) { define('__TANARA', true); break; } + } + if (!defined('__TANARA')) define('__TANARA', false); + + } + + // Action + if ($_TANEV['statusz'] == 'aktív') { + if ($action == 'tantargyiFeljegyzesRogzites') { + $Param = array( + 'diakId' => $diakId, + 'tankorId' => readVariable($_POST['feljegyzesTankorId'], 'id', null, $ADAT['tankorIds']), + 'dt' => readVariable($_POST['feljegyzesDt'], 'date'), + 'megjegyzes' => readVariable($_POST['megjegyzes'], 'string') + ); + if ( + __NAPLOADMIN + || ($ADAT['tankorTanaraE'][$Param['tankorId']] && strtotime($Param['dt']) >= strtotime(_HALADASI_HATARIDO)) + ) tantargyiFeljegyzesRogzites($Param); + } + } + if (isset($tankorId)) $ADAT['sniTantargyiFeljegyzes'] = getDiakFeljegyzesByTankorId($ADAT); + else $ADAT['sniTantargyiFeljegyzes'] = getDiakFeljegyzesByDt($ADAT); + } + + } + + // Tool + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('dt')); + if (isset($osztalyId)) + $TOOL['diakSelect'] = array( + 'diakok' => $Diakok, + 'tipus'=>'cella','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId'), + 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva'), + 'post' => array('osztalyId','dt') + ); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=sni&f=diakAllapot','index.php?page=naplo&sub=sni&f=fejlesztesiTerv','index.php?page=naplo&sub=sni&f=tantargyiFeljegyzesek'), + 'titleConst' => array('_DIAK_ALLAPOT','_HAVI_OSSZEGZES','_TANTARGYI_FELJEGYZESEK'), + 'post' => array('osztalyId','diakId','tankorId'), + 'paramName'=>'diakId'); + if (isset($diakId)) + $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','diakId','dt')); + if (!isset($tankorId)) + $TOOL['datumSelect'] = array( + 'lapozo' => true, + 'tipus'=>'sor', 'post'=>array('diakId', 'osztalyId', 'tankorId'), 'paramName' => 'dt', 'hanyNaponta' => 7, + 'tolDt' => $ADAT['tolDt'], + 'igDt' => $_TANEV['zarasDt'], 'override' => true + ); + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/sni/tantargyiFeljegyzesek.php b/mayor-orig/www/policy/private/naplo/sni/tantargyiFeljegyzesek.php new file mode 100644 index 00000000..b706e6db --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/sni/tantargyiFeljegyzesek.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['tankorId'])) putTankorFeljegyzesek($ADAT); + elseif (isset($ADAT['diakId'])) putDiakHetiFeljegyzesek($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/stat/lemorzsolodas-pre.php b/mayor-orig/www/policy/private/naplo/stat/lemorzsolodas-pre.php new file mode 100644 index 00000000..0e33b8fc --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/stat/lemorzsolodas-pre.php @@ -0,0 +1,38 @@ +<?php + + global $ADAT,$TANEV; + + require_once('include/share/date/names.php'); + + // legyen az alapértelmezett a mostani tanév és a mostani tanév okt 1-je + $tanev = __TANEV; + $dt = readVariable($_POST['dt'],'date',$_TANEV['szemeszter'][1]['zarasDt']); + $dt_stamp = strtotime($dt); + + $q = "SELECT zarasDt,tanev,szemeszter FROM szemeszter WHERE statusz!='tervezett' ORDER BY zarasDt DESC"; + $_napok = db_query($q,array('modul'=>'naplo_intezmeny','result'=>'indexed')); + for ($i=0; $i<count($_napok); $i++) { + $_dt = $_napok[$i]['zarasDt']; + $NAPOK[] = $_dt; + if (strtotime($dt) <= strtotime($_dt)) { + $tanev = $_napok[$i]['tanev']; + $szemeszter = $_napok[$i]['szemeszter']; + $_valasztottIndex = $i; + } + } + + $ADAT['tanev'] = $tanev; + $ADAT['szemeszter'] = $szemeszter; + $ADAT['dt'] = $dt; + $ADAT['elozoDt'] = $_napok[$_valasztottIndex+1]['zarasDt']; + + $ADAT['lemorzsolodas'] = getLemorzsolodas($ADAT); + + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post' => array(), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'napok' => $NAPOK + ); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/stat/lemorzsolodas.php b/mayor-orig/www/policy/private/naplo/stat/lemorzsolodas.php new file mode 100644 index 00000000..e144b075 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/stat/lemorzsolodas.php @@ -0,0 +1,8 @@ +<?php + + + global $ADAT; + putLemorzsolodas($ADAT); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/stat/letszam-pre.php b/mayor-orig/www/policy/private/naplo/stat/letszam-pre.php new file mode 100644 index 00000000..5320b816 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/stat/letszam-pre.php @@ -0,0 +1,88 @@ +<?php + + global $ADAT; + + require_once('include/share/date/names.php'); + + // legyen az alapértelmezett a mostani tanév és a mostani tanév okt 1-je + $tanev = __TANEV; + $dt = readVariable($_POST['dt'],'date',date('Y-m-d',mktime(0,0,0,10,1,__TANEV))); + $dt_stamp = strtotime($dt); + + $q = "SELECT zarasDt,tanev FROM szemeszter WHERE statusz!='tervezett' ORDER BY zarasDt DESC"; + $_napok = db_query($q,array('modul'=>'naplo_intezmeny','result'=>'indexed')); + for ($i=0; $i<count($_napok); $i++) { + $_dt = $_napok[$i]['zarasDt']; + $okt10 = date('Y-m-d',mktime(0,0,0,10,1,date('Y',strtotime($_dt))-1)); + if (!is_array($NAPOK) || !in_array($okt10,$NAPOK)) $NAPOK[] = $okt10; + $NAPOK[] = $_dt; + if (strtotime($dt) <= strtotime($_dt)) $tanev = $_napok[$i]['tanev']; + } + + $ADAT['tanev'] = $tanev; + $ADAT['dt'] = $dt; + + +/* Létszám adatok */ +{ + + $lr = db_connect('naplo_intezmeny'); + + $q = "CREATE TEMPORARY TABLE _diakOkt SELECT diakId FROM diakJogviszony WHERE dt <= '".$dt."' GROUP BY diakId HAVING MAX(IF(statusz IN ('jogviszonyban van'),dt,'0000-00-00')) > MAX(IF(statusz NOT IN ('jogviszonyban van') AND dt <= '".$dt."',dt,'0000-00-00'))"; + $r = db_query($q,array('modul'=>'naplo_intezmeny'),$lr); + $q = "SELECT CONCAT(IF(telephelyId IS NULL,0,telephelyId),LPAD(osztalyJel,4,0)) AS sorrend,osztalyId,osztalyJel,osztaly.kezdoTanev,osztaly.vegzoTanev,count(_diakOkt.diakId) AS dbDiak, YEAR(szuletesiIdo) AS szuletesiEv, + IF(diak.nem IS NOT NULL,nem,'fiú') AS neme,nem FROM `_diakOkt` + LEFT JOIN `osztalyDiak` ON (_diakOkt.diakId=osztalyDiak.diakId AND beDt<='".$dt."' AND (kiDt IS NULL OR kiDt>='".$dt."')) + LEFT JOIN `osztaly` USING (osztalyId) + LEFT JOIN `diak` ON (_diakOkt.diakId=diak.diakId) + LEFT JOIN `naplo_".__INTEZMENY."_".$tanev."`.osztalyNaplo USING (osztalyId) + WHERE osztaly.kezdoTanev<=".$tanev." AND osztaly.vegzoTanev>=".$tanev." + GROUP BY osztalyId,YEAR(szuletesiIdo),neme + ORDER BY szuletesiEv,LPAD(osztalyJel,10,0),nem"; + $r = db_query($q,array('modul'=>'naplo_intezmeny','result'=>'indexed'),$lr); + $x = reindex($r,array('szuletesiEv','osztalyId','nem')) ; + + for ($i=0; $i<count($r); $i++) { + $_TMP[$r[$i]['sorrend']]= array('osztalyJel'=>$r[$i]['osztalyJel'],'osztalyId'=>$r[$i]['osztalyId']); + } + ksort($_TMP); + $ADAT['osztalyok'] = $_TMP; + +} + + $ADAT['eletkor'] = $x; + + + +/* Nyelvek statisztikája */ +// ennyi darab tankör van nyelvek szerint, bár ezt senki nem kérdezte :) select targyId,count(*) from tankor left join tankorTipus USING (tankorTipusId) WHERE rovidNev='első nyelv' group by targyId; +// select targyId,count(*) from tankor left join tankorTipus USING (tankorTipusId) LEFT JOIN tankorDiak USING (tankorId) WHERE rovidNev='első nyelv' group by targyId; + +/* + +$q = "select targyId,count(*) from tankor left join tankorTipus USING (tankorTipusId) LEFT JOIN tankorDiak USING (tankorId) LEFT JOIN _diakOkt USING (diakId) +WHERE _diakOkt.diakId is not null AND rovidNev='első nyelv' +AND beDt<='".$dt."' AND (kiDt is null OR kiDt>='".$dt."') +group by targyId"; + + $r = db_query($q,array('modul'=>'naplo_intezmeny','result'=>'indexed'),$lr); + +echo '<pre>'; +var_dump($r); + + + $_SESSION['alert'][] = 'info::Nyelvek hibásak lehetnek, ha van olyan tárgy, ami nem első-második nyelvnek van megjelölve'; +*/ + + $_SESSION['alert'][] = 'info::csak a kiválasztott dátumkor "jogviszonyban van" jogviszonyú diákok látszanak ebben a táblázatban (a fiú/lány mezők hiánya hibás adatokhoz vezethet)'; + + $TOOL['datumSelect'] = array( + 'tipus'=>'cella', 'post' => array(), + 'paramName' => 'dt', 'hanyNaponta' => 1, +// 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])), +// 'igDt' => $_TANEV['zarasDt'], + 'napok' => $NAPOK + ); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/stat/letszam.php b/mayor-orig/www/policy/private/naplo/stat/letszam.php new file mode 100644 index 00000000..d521ccc6 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/stat/letszam.php @@ -0,0 +1,8 @@ +<?php + + + global $ADAT; + putLetszamStat($ADAT); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/stat/tantargyFelosztas-pre.php b/mayor-orig/www/policy/private/naplo/stat/tantargyFelosztas-pre.php new file mode 100644 index 00000000..a47d6316 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/stat/tantargyFelosztas-pre.php @@ -0,0 +1,127 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tankor.php'); + + global $ADAT; + $ADAT = array(); + +/* + $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly')); + $ADAT['tankorTipusok'] = getTankorTipusok(); + foreach ($ADAT['tankorTipusok'] as $tankorTipusId => $tAdat) $ADAT['tankorTipusIds'][$tAdat['oratervi']][] = $tankorTipusId; + $ADAT['finanszírozott pedagógus létszám'] = array( + 'általános iskola' => 11.8, // 11.8 tanuló / 1 pedagógus + 'gimnázium' => 12.5, // 12.5 tanuló / 1 pedagógus + 'szakiskola, Híd programok' => 12, // ... + 'szakközépiskola, nem szakkképző évfolyam' => 12.4, + 'szakközépiskola, szakkképző évfolyam' => 13.7 + ); // -- TODO szakgimnázium??? + + + + $IA['intezmenyAdat'] = getIntezmenyByRovidnev(__INTEZMENY); + $IA['osztalyAdat'] = getOsztalyok(__TANEV, array('result' => 'assoc', 'minden'=>false, 'telephelyId' => null)); + foreach ($IA['osztalyAdat'] as $idx => $oAdat) $IA['osztalyIds'][] = $oAdat['osztalyId']; + $IA['targyAdat'] = getTargyAdatByIds(); + + $IA['diakLetszam']['statusz'] = getDiakLetszamByStatusz(); + $IA['diakLetszam']['osztaly'] = getDiakLetszamByOsztalyId($IA['osztalyIds']); + foreach ($IA['diakLetszam']['osztaly'] as $osztalyId => $letszam) + if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['összes'] += intval($letszam); + foreach ($IA['diakLetszam']['osztaly']['fiú'] as $osztalyId => $letszam) + if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['fiú'] += intval($letszam); + foreach ($IA['diakLetszam']['osztaly']['lány'] as $osztalyId => $letszam) + if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['lány'] += intval($letszam); + $IA['tanarLetszam']['besorolas'] = getTanarLetszamByBesorolas(); + $IA['tanarLetszam']['statusz'] = getTanarLetszamByStatusz(); + $IA['oraszamok'] = getTankorOraszamOsszesites($ADAT['tankorTipusIds']); + $IA['targyOraszamok'] = getTargyOraszamok($ADAT['tankorTipusIds']); + $IA['osztalyOraszamok'] = getOsztalyOraszamok($IA['osztalyIds'], $ADAT['tankorTipusIds']); + foreach ($IA['osztalyOraszamok']['összes'] as $osztalyId => $oraszam) { + $IA['evfolyamOraszamok']['összes'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($oraszam); + $IA['evfolyamOraszamok']['óratervi'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($IA['osztalyOraszamok']['óratervi'][$osztalyId]); + $IA['evfolyamOraszamok']['tanórán kívüli'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($IA['osztalyOraszamok']['tanórán kívüli'][$osztalyId]); + } + $egyhaziE = ($IA['intezmenyAdat']['fenntarto']=='egyházi'); + foreach ($IA['osztalyAdat'] as $osztalyId => $osztalyAdat) { + $IA['osztalyIdokeret'][$osztalyId] = getOsztalyHetiIdokeret($osztalyId, $osztalyAdat, array('egyhaziE'=>$egyhaziE)); + $IA['osztalyIdokeret']['összesen']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; + $IA['osztalyIdokeret']['összesen']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; + $IA['osztalyIdokeret']['összesen']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; + $IA['osztalyIdokeret']['összesen']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; + $IA['osztalyIdokeret']['összesen']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; + $IA['osztalyIdokeret']['összesen']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; + if (in_array($osztalyAdat['osztalyJellegId'], array(21,22)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4'))) { + $IA['osztalyIdokeret']['alsó']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; + $IA['osztalyIdokeret']['alsó']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; + $IA['osztalyIdokeret']['alsó']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; + $IA['osztalyIdokeret']['alsó']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; + $IA['osztalyIdokeret']['alsó']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; + $IA['osztalyIdokeret']['alsó']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; + } + if (in_array($osztalyAdat['osztalyJellegId'], array(21,23)) && in_array($osztalyAdat['evfolyamJel'], array('5','6','7','8'))) { + $IA['osztalyIdokeret']['felső']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; + $IA['osztalyIdokeret']['felső']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; + $IA['osztalyIdokeret']['felső']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; + $IA['osztalyIdokeret']['felső']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; + $IA['osztalyIdokeret']['felső']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; + $IA['osztalyIdokeret']['felső']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; + } + if (in_array($osztalyAdat['osztalyJellegId'], array(21,22,23)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4','5','6','7','8'))) { + $IA['osztalyIdokeret']['általános']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; + $IA['osztalyIdokeret']['általános']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; + $IA['osztalyIdokeret']['általános']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; + $IA['osztalyIdokeret']['általános']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; + $IA['osztalyIdokeret']['általános']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; + $IA['osztalyIdokeret']['általános']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; + } + if (in_array($osztalyAdat['osztalyJellegId'], array(51,52,53,61,62,63)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4','5','6','7','8'))) { + $IA['osztalyIdokeret']['gimnázium18']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; + $IA['osztalyIdokeret']['gimnázium18']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; + $IA['osztalyIdokeret']['gimnázium18']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; + $IA['osztalyIdokeret']['gimnázium18']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; + $IA['osztalyIdokeret']['gimnázium18']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; + $IA['osztalyIdokeret']['gimnázium18']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; + } + if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63)) && in_array($osztalyAdat['evfolyamJel'], array('9','10','11','12'))) { + $IA['osztalyIdokeret']['gimnázium92']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; + $IA['osztalyIdokeret']['gimnázium92']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; + $IA['osztalyIdokeret']['gimnázium92']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; + $IA['osztalyIdokeret']['gimnázium92']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; + $IA['osztalyIdokeret']['gimnázium92']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; + $IA['osztalyIdokeret']['gimnázium92']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; + } + if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63))) { + $IA['osztalyIdokeret']['gimnázium']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; + $IA['osztalyIdokeret']['gimnázium']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; + $IA['osztalyIdokeret']['gimnázium']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; + $IA['osztalyIdokeret']['gimnázium']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; + $IA['osztalyIdokeret']['gimnázium']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; + $IA['osztalyIdokeret']['gimnázium']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; + } + // Finanszírozott pedagógus létszámhoz diáklészámok osztály-típusonként + if (in_array($osztalyAdat['osztalyJellegId'], array(21,22,23))) { // általános iskola + $IA['diakLetszam']['általános iskola'] += $IA['diakLetszam']['osztaly'][$osztalyId]; + } else if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63,65))) { // gimnázium + $IA['diakLetszam']['gimnázium'] += $IA['diakLetszam']['osztaly'][$osztalyId]; + } else if (in_array($osztalyAdat['osztalyJellegId'], array(82,83,84,85,91,92,93))) { // szakiskola, Híd programok + $IA['diakLetszam']['szakiskola, Híd programok'] += $IA['diakLetszam']['osztaly'][$osztalyId]; + } else if (in_array($osztalyAdat['osztalyJellegId'], array(71,72,73,74,75,76,77,78,79))) { // szakközépiskola, nem szakképző évfolyam + $IA['diakLetszam']['szakközépiskola, nem szakkképző évfolyam'] += $IA['diakLetszam']['osztaly'][$osztalyId]; + } else if (in_array($osztalyAdat['osztalyJellegId'], array())) { // szakközépiskola, szakképző évfolyam + $IA['diakLetszam']['szakközépiskola, szakképző évfolyam'] += $IA['diakLetszam']['osztaly'][$osztalyId]; + } + } // osztályok + $IA['tankorLetszamStat'] = getTankorLetszamStat(); +*/ + $IA = getTantargyfelosztasStat(); + + $ADAT['intezmeny'][__INTEZMENY] = $IA; + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/stat/tantargyFelosztas.php b/mayor-orig/www/policy/private/naplo/stat/tantargyFelosztas.php new file mode 100644 index 00000000..1e5786be --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/stat/tantargyFelosztas.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putStat($ADAT); + + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/szulinap-pre.php b/mayor-orig/www/policy/private/naplo/szulinap-pre.php new file mode 100644 index 00000000..46164faf --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/szulinap-pre.php @@ -0,0 +1,15 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if ($skin=='ajax') { + + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + $ADAT['ma'] = getDiakBySzulDt($dt); + $ADAT['osztaly'] = getOsztalyok(__TANEV,array('result'=>'assoc')); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/szulinap.php b/mayor-orig/www/policy/private/naplo/szulinap.php new file mode 100644 index 00000000..93606734 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/szulinap.php @@ -0,0 +1,44 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + +if ($skin=='ajax') { + + $szulinapos= false; + + if (__NAPLOADMIN || __TANAR) { + echo '<ul>'; + for ($i=0; $i<count($ADAT['ma']['diak']); $i++) { + echo '<li>'; + echo $ADAT['ma']['diak'][$i]['viseltNevElotag'].' '; + echo $ADAT['ma']['diak'][$i]['viseltCsaladinev'].' '; + echo $ADAT['ma']['diak'][$i]['viseltUtonev']; + echo '</li>'; + } + echo '</ul>'; + } + + if (is_array($ADAT['ma']['diakOsztaly'])) foreach($ADAT['ma']['diakOsztaly'] as $_diakId => $_osztalyId) { + $O[$_osztalyId[0]]++; + if ( defined('__USERDIAKID') && __USERDIAKID == $_diakId ) $szulinapos = true; + + } + + if ($szulinapos) echo _HAPPYBIRTHDAY; + + if (is_array($O)) { + echo '<ul>'; + foreach($O as $osztalyId => $db) { + echo '<li>'; + echo $ADAT['osztaly'][$osztalyId]['osztalyJel'].': ' ; + echo $db.' '; + echo '</li>'; + } + echo '</ul>'; + } + +} + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/checkStatus-pre.php b/mayor-orig/www/policy/private/naplo/tanev/checkStatus-pre.php new file mode 100644 index 00000000..dbf2ba62 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/checkStatus-pre.php @@ -0,0 +1,7 @@ +<?php + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN !== true) $_SESSION['alert'][] = 'page:insufficient_access'; + + $ADAT = checkStatus(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/checkStatus.php b/mayor-orig/www/policy/private/naplo/tanev/checkStatus.php new file mode 100644 index 00000000..56f3a5fe --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/checkStatus.php @@ -0,0 +1,6 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + global $ADAT; + putCheckStatus($ADAT); +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/diakTanarai-pre.php b/mayor-orig/www/policy/private/naplo/tanev/diakTanarai-pre.php new file mode 100644 index 00000000..24a3248a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/diakTanarai-pre.php @@ -0,0 +1,54 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && __TITKARSAG !== true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tankor.php'); + + $ADAT['osztalyId'] = array(); + if (is_array($_POST['osztalyIds'])) for ($i = 0; $i < count($_POST['osztalyIds']); $i++) { + $ADAT['osztalyId'][] = readVariable($_POST['osztalyIds'][$i], 'numeric unsigned'); + } + $_POST['osztalyIds'] = $ADAT['osztalyId']; + $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'numeric unsigned'); + $ADAT['tankorIds'] = array(); + + $ADAT['osztaly'] = getOsztalyok(__TANEV, array('result' => 'assoc')); + if (count($ADAT['osztalyId']) > 0 && isset($targyId)) { + + // diákok lekérdezése + $ADAT['diak'] = getDiakokByOsztalyId($ADAT['osztalyId']); + // diákok tankörei + for ($i = 0; $i < count($ADAT['diak']); $i++) { + + $diakId = $ADAT['diak'][$i]['diakId']; + $ADAT['diak'][$i]['tankorIds'] = array(); + $ret = getTankorByDiakId($diakId, $tanev = __TANEV, $SET = array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'result'=>'', 'jelenlet'=>'')); + if ($ret !== false) { + for ($j = 0; $j < count($ret); $j++) { + if ($ret[$j]['targyId'] == $targyId) { + $ADAT['diak'][$i]['tankorIds'][] = $ret[$j]['tankorId']; + if (!in_array($ret[$j]['tankorId'], $ADAT['tankorIds'])) $ADAT['tankorIds'][] = $ret[$j]['tankorId']; + } + } + } + } + + // Tankörök tanárai + $ADAT['tankorTanar'] = getTankorTanaraiByInterval( + $ADAT['tankorIds'], array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'assoc') + ); + } + + + // ToolBar + $TOOL['targySelect']= array('tipus'=>'cella','paramName'=>'targyId', 'post'=>array('osztalyIds')); + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/diakTanarai.php b/mayor-orig/www/policy/private/naplo/tanev/diakTanarai.php new file mode 100644 index 00000000..2800d37a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/diakTanarai.php @@ -0,0 +1,11 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putOsztalyValaszto($ADAT); + if (is_array($ADAT['tankorTanar']) && count($ADAT['tankorTanar']) > 0) + putDiakTanarLista($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/fogadoOra-pre.php b/mayor-orig/www/policy/private/naplo/tanev/fogadoOra-pre.php new file mode 100644 index 00000000..a57888c2 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/fogadoOra-pre.php @@ -0,0 +1,142 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && (!__DIAK || _POLICY != 'parent')) { + $_SESSION['alert'][] = 'page:insufficient_acces'; + } else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/terem.php'); + require_once('include/modules/naplo/share/szulo.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + + $tanarId = readVariable( + $_POST['tanarId'], 'id', readVariable($_GET['tanarId'], 'id', ((__TANAR && !isset($_POST['tanarId']))?__USERTANARID:null)) + ); + + if (__DIAK) { + require_once('include/modules/naplo/share/tankor.php'); + $szuloId = getSzuloIdByUserAccount(); + $szuloDiakjai = getSzuloDiakjai(); + $diakIds = array(); + for ($i = 0; $i < count($szuloDiakjai); $i++) $diakIds[] = $szuloDiakjai[$i]['diakId']; + $diakTankorIds = getTankorIdsByDiakIds($diakIds); + $diakTanarai = getTankorTanaraiByInterval($diakTankorIds); + + $idoszak = getIdoszakByTanev(array('tanev' => __TANEV, null, 'tipus' => array('fogadóóra jelentkezés'), 'tolDt' => date('Y-m-d H:i:s'), 'igDt' => date('Y-m-d H:i:s'), 'return' => '', 'arraymap'=>null)); + define('__FOGADOORA_JELENTKEZES',(is_array($idoszak) && count($idoszak)>0)); + } + // ----------- action -------------- // + if (__NAPLOADMIN || __VEZETOSEG) { + if ( strtotime($_POST['tolDt']) > 0) $_tolDt = $_POST['tolDt']; + + if ($action == 'kovetkezoFogado') { + $tol = readVariable($_tolDt.' '.$_POST['tolTime'].':00', 'datetime'); + $ig = readVariable($_tolDt.' '.$_POST['igTime'].':00', 'datetime'); + if (isset($tol) && isset($ig)) kovetkezoFogadoOraInit($tol, $ig); + } elseif ($action == 'tanarFogado') { + $tol = readVariable($_tolDt.' '.$_POST['tolTime'].':00', 'datetime'); + $ig = readVariable($_tolDt.' '.$_POST['igTime'].':00', 'datetime'); + $teremId = readVariable($_POST['teremId'], 'id'); + if (tanarFogadoOra($tanarId, $tol, $ig, $teremId)) + $_SESSION['alert'][] = 'info:success'; + + } elseif ($action == 'listaLekerdezese') { + $Lista = getFogadoOraLista(); + } + } + if (__DIAK && $action == 'fogadoOraJelentkezes') { + if (__FOGADOORA_JELENTKEZES === true) { + $M = array(); + for ($i = 0; $i < count($diakTanarai); $i++) { + if (isset($_POST['jel'.$i])) { + list($tId, $datetime) = explode('/',$_POST['jel'.$i]); + $M[] = array('tanarId' => readVariable($tId, 'id'), 'datetime' => readVariable($datetime, 'datetime')); + } + } + fogadoOraJelentkezes($szuloId, $M); + } else { + $_SESSION['alert'][] = 'message:deadline_expired'; + } + } + // ----------- action vége -------------- // + $FogadoDt = getKovetkezoFogadoDtk(); + $Tanarok = getTanarok(array('result' => 'assoc')); + $Termek = getTermek(); + $TermekAsszoc = getTermek(array('result' => 'assoc', 'tipus' => array(), 'telephelyId' => null)); + $Szulok = getSzulok(); + + if (isset($tanarId)) { + $tanarFogado = getTanarFogadoOra($tanarId); + $szuloIds = array(); + foreach ($tanarFogado['jelentkezesek'] as $szId => $szAdat) $szuloIds[] = $szAdat['szuloId']; + if (count($szuloIds) > 0) $Szulok['diakjai'] = getSzulokDiakjai($szuloIds); + } elseif (__NAPLOADMIN || __VEZETOSEG || __DIAK) { + if (count($FogadoDt['dates']) > 0) { + $FogadoOsszes = getFogadoOsszes(); + } + if (is_array($Lista)) { + $szuloIds = array(2,3,4); + reset($Lista); + foreach ($Lista['jelentkezesek'] as $tanarId => $tAdat) { + foreach ($tAdat as $index => $A) { + if (!in_array($A['szuloId'], $szuloIds) && $A['szuloId'] != '') $szuloIds[] = $A['szuloId']; + } + } + reset($Lista); + if (count($szuloIds) > 0) $Szulok['diakjai'] = getSzulokDiakjai($szuloIds); + unset($tanarId); + } + } + if (__DIAK) { + // Minden tanár csak egyszer szerepeljen!! + $tanarIds = $dTanarai = $tanarTerme = array(); + for ($i = 0; $i < count($diakTanarai); $i++) + if (!in_array($diakTanarai[$i]['tanarId'], $tanarIds)) { + $diakTanarai[$i]['foglalt'] = getTanarFogadoOra($diakTanarai[$i]['tanarId']); + $tanarIds[] = $diakTanarai[$i]['tanarId']; + $dTanarai[] = $diakTanarai[$i]; + + } + $diakTanarai = $dTanarai; + $Alkalmak = array('napok' => array()); + for ($i = 0; $i < count($FogadoOsszes); $i++) { + if (in_array($FogadoOsszes[$i]['tanarId'], $tanarIds)) { + $Alkalmak[$FogadoOsszes[$i]['tanarId']] = $FogadoOsszes[$i]; + $Alkalmak['tanarTerme'][$FogadoOsszes[$i]['tanarId']] = $FogadoOsszes[$i]['teremId']; + + $nap = substr($FogadoOsszes[$i]['tol'], 0, 10); + if (!array_key_exists($nap, $Alkalmak['napok'])) { + $Alkalmak['napok'][$nap] = array( + 'tol' => substr($FogadoOsszes[$i]['tol'], 11, 5), + 'ig' => substr($FogadoOsszes[$i]['ig'], 11, 5), + ); + } else { + if ($Alkalmak['napok'][$nap]['tol'] > ($tol = substr($FogadoOsszes[$i]['tol'], 11, 5))) + $Alkalmak['napok'][$nap]['tol'] = $tol; + if ($Alkalmak['napok'][$nap]['ig'] < ($ig = substr($FogadoOsszes[$i]['ig'], 11, 5))) + $Alkalmak['napok'][$nap]['ig'] = $ig; + } + } + } + ksort($Alkalmak); + $szuloJelentkezes = getSzuloJelentkezes($szuloId); + } + + if (count($FogadoDt['dates']) > 0) { + // Szülő fogadóóra naponként jelentkezhet +// if (__DIAK) +// $TOOL['datumSelect'] = array( +// 'tipus'=>'sor', 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'), +// 'paramName' => 'igDt', 'hanyNaponta' => 7, +// 'tolDt' => date('Y-m-d', strtotime('Saturday', strtotime($_TANEV['kezdesDt']))), +// 'igDt' => $_TANEV['zarasDt'], +// ); + // Aki a tanár fogadóóráit szeretné látni + if (__NAPLOADMIN || __VEZETOSEG || __TANAR || __TITKARSAG) + $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('igDt')); + } + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/fogadoOra.php b/mayor-orig/www/policy/private/naplo/tanev/fogadoOra.php new file mode 100644 index 00000000..a90526cd --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/fogadoOra.php @@ -0,0 +1,26 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $FogadoDt, $tanarId, $tanarFogado, $Tanarok, $FogadoOsszes, $Termek, $TermekAsszoc, $diakTanarai, $Alkalmak, $szuloId; + global $szuloJelentkezes, $Szulok, $Lista; + + if (__NAPLOADMIN===true || __VEZETOSEG===true) { + if (count($FogadoDt['dates']) > 0 && isset($tanarId)) { + tanarFogadoIdopontModosito($tanarFogado['adatok'], $Termek); + } elseif (is_array($Lista)) { + putFogadoOraLista($Lista, $Tanarok, $Szulok); + } else { + kovetkezoFogadoIdopont($tanarFogado, $Termek); + if (is_array($FogadoOsszes)) putFogadoOsszes($FogadoOsszes, $Tanarok); + } + + } + if ((__TANAR===true || _TITKARSAG===true) && count($FogadoDt['dates']) > 0 && isset($tanarId)) { + tanarFogadoIdopont($tanarFogado, $Termek, $Szulok); + } + if (__DIAK===true) { // Szülő - jelentkezés + putFogadoOraJelentkezes($szuloId, $diakTanarai, $Alkalmak, $szuloJelentkezes, $TermekAsszoc); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/munkaterv-pre.php b/mayor-orig/www/policy/private/naplo/tanev/munkaterv-pre.php new file mode 100644 index 00000000..d0464159 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/munkaterv-pre.php @@ -0,0 +1,102 @@ +<?php +/* + Module: naplo +*/ + + + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK) { + $_SESSION['alert'][] = 'page:illegal_access'; + } else { + + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/share/date/names.php'); + + $ADAT['napTipusok'] = getNapTipusok(); + $ADAT['munkaterv'] = getMunkatervek(array('result' => 'assoc')); + $ADAT['fields']['csengetesiRendTipus'] = getEnumField('naplo','nap','csengetesiRendTipus'); + + if (count($ADAT['munkaterv']) == 1) $munkatervId = 1; + else $munkatervId = readVariable($_POST['munkatervId'], 'id'); + if (!isset($munkatervId)) $munkatervId = 1; + $ADAT['munkatervId'] = $munkatervId; + if (__NAPLOADMIN || __VEZETOSEG) { // csak admin és a vezetőség módosíthat bármit! + + $ADAT['osztaly'] = getOsztalyok(); + for ($i = 0; $i < count($ADAT['osztaly']); $i++) { + $ADAT['osztaly'][$i]['munkatervId'] = getMunkatervByOsztalyId($ADAT['osztaly'][$i]['osztalyId']); + } + if ($action == 'napokInit') { + for ($i = 1; $i <= intval($_POST['hetDb']); $i++) $ADAT['Hetek'][] = $i; + $ADAT['tanitasiNap'] = readVariable($_POST['tanitasiNap'], 'numeric unsigned'); + $ADAT['tanitasNelkuliMunkanap'] = readVariable($_POST['tanitasNelkuliMunkanap'], 'numeric unsigned'); + $ADAT['vegzosZarasDt'] = readVariable($_POST['vegzosZarasDt'], 'date'); + if ($initResult = initNapok($ADAT)) $ADAT['munkatervId'] = 1; + $ADAT['munkaterv'] = getMunkatervek(array('result' => 'assoc')); + } + if (__MUNKATERV_OK || $initResult===true) { + if ($action == 'hetHozzarendeles') { + // később esetleg ezt is lehetne munkatervenként külön... nem? + for ($i = 1; $i <= intval($_POST['hetDb']); $i++) $ADAT['Hetek'][] = $i; + $tolDt = readVariable($_POST['tolDt'], 'date'); + $igDt = readVariable($_POST['igDt'], 'date'); + orarendiHetekHozzarendelese($tolDt, $igDt, $ADAT['Hetek']); + } elseif ($action == 'munkatervModositas') { + $dt = readVariable($_POST['dt'], 'date'); + $tipus = readVariable($_POST['tipus'], 'enum', 'tanítási nap', $ADAT['napTipusok']); + $megj = readVariable($_POST['megjegyzes'],'string',''); + $orarendiHet = readVariable($_POST['orarendiHet'], 'numeric unsigned'); + $csengetesiRendTipus = readVariable($_POST['csengetesiRendTipus'], 'string', null, $ADAT['fields']['csengetesiRendTipus']); + $ADAT['Hetek'] = getOrarendiHetek(array('tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'])); + if ( + $_TANEV['statusz'] == 'aktív' + && (__FOLYO_TANEV || __NAPLOADMIN) + ) + munkatervModositas($dt, $tipus, $megj, $orarendiHet, $ADAT['Hetek'], $ADAT['munkatervId'], $csengetesiRendTipus); + $ADAT['Napok'] = getTanevNapjai($munkatervId); + } elseif ($action == 'ujMunkaterv') { + $ADAT['munkatervNev'] = readVariable($_POST['munkatervNev'],'string',''); + $ADAT['tanitasiNap'] = readVariable($_POST['tanitasiNap'], 'numeric unsigned'); + $ADAT['tanitasNelkuliMunkanap'] = readVariable($_POST['tanitasNelkuliMunkanap'], 'numeric unsigned'); + $ADAT['vegzosZarasDt'] = readVariable($_POST['vegzosZarasDt'], 'date'); + $ADAT['munkatervId'] = $munkatervId = ujMunkaterv($ADAT); + if ($munkatervId) { $ADAT['munkaterv'] = getMunkatervek(array('result' => 'assoc')); } + } elseif ($action == 'munkatervOsztaly') { + $ADAT['osztalyIds'] = readVariable($_POST['osztalyId'], 'id'); + $ADAT['ujMunkatervIds'] = readVariable($_POST['ujMunkatervId'], 'id'); + if (!munkatervOsztaly($ADAT)) $_SESSION['alert'][] = 'message:a hozzárendelés nem sikerült'; + for ($i = 0; $i < count($ADAT['osztaly']); $i++) { + $ADAT['osztaly'][$i]['munkatervId'] = getMunkatervByOsztalyId($ADAT['osztaly'][$i]['osztalyId']); + } + } + if ($action == 'honapValasztas' && $_POST['ho'] != '') { + $ho = $_POST['ho']; + $ADAT['Napok'] = getHonapNapjai($ho, $munkatervId); + $ADAT['Hetek'] = getOrarendiHetek(array('tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'])); + } else { + $ADAT['Napok'] = getTanevNapjai($munkatervId); + } + + } else { + $ADAT['Hetek'] = getOrarendiHetek(array('tolDt'=>$_TANEV['kezdesDt'],'igDt'=>$_TANEV['zarasDt'])); + } + } else { // nem admin, nem vezető --> csak éves munkatervet lát (ha van) + $ADAT['Napok'] = getTanevNapjai($munkatervId); + } + $ADAT['NapokSzama'] = getNapokSzama(array('munkatervId' => $munkatervId)); + + + if (count($ADAT['munkaterv']) > 1) { + $TOOL['munkatervSelect'] = array('tipus' => 'cella','paramName' => 'munkatervId', 'post' => array()); + getToolParameters(); + + } + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/munkaterv.php b/mayor-orig/www/policy/private/naplo/tanev/munkaterv.php new file mode 100644 index 00000000..8e9719e5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/munkaterv.php @@ -0,0 +1,26 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + global $ADAT, $ho, $_TANEV; + global $initResult; + + if (__MUNKATERV_OK || $initResult===true) { + if (__NAPLOADMIN===true) putAdminForm($ADAT); + else putNapokSzama($ADAT); + if ( + isset($ho) + && $ho != '' + && $_TANEV['statusz'] == 'aktív' + && (__FOLYO_TANEV || __NAPLOADMIN) + ) $ADAT['action'] = 'munkatervModositas'; //putNapokForm($ADAT['Napok'], $ADAT['napTipusok'], 'munkatervModositas', $ADAT['Hetek']); + else $ADAT['action'] = 'honapValasztas'; //putNapokForm($ADAT['Napok'], $ADAT['napTipusok'], 'honapValasztas'); + putNapokForm($ADAT); + } elseif (__NAPLOADMIN===true) { + putNapokInit($ADAT, array('hide' => false)); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/tanev-pre.php b/mayor-orig/www/policy/private/naplo/tanev/tanev-pre.php new file mode 100644 index 00000000..d584bfb5 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/tanev-pre.php @@ -0,0 +1,5 @@ +<?php + + header('Location: '.location('index.php?page=naplo&sub=tanev&f=munkaterv')); + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/tanev.php b/mayor-orig/www/policy/private/naplo/tanev/tanev.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/tanev.php diff --git a/mayor-orig/www/policy/private/naplo/tanev/tankorBlokk-pre.php b/mayor-orig/www/policy/private/naplo/tanev/tankorBlokk-pre.php new file mode 100644 index 00000000..c8672be4 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/tankorBlokk-pre.php @@ -0,0 +1,114 @@ +<?php +/* + TODO: evfolyamJel szűrés ellenőrzés!! +*/ + + 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/tankor.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/targy.php'); + + if (intval($_POST['tanev'])!=0) $tanev = intval($_POST['tanev']); + else $tanev = __TANEV; + + $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV); + $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); + + $targyIds = $ADAT['targySzuro'] = $ADAT['evfolyamJelSzuro'] = array(); + $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly')); + + if (isset($osztalyId)) { + $ADAT['osztalySzuro'] = array($osztalyId); + } else { + // Évfolyam szerinti szűréshez - évfolyamok + $ADAT['evfolyamJelSzuro'] = readVariable($_POST['evfolyamJel'], 'enum', null, $ADAT['evfolyamJelek']); + $ADAT['osztalySzuro'] = getOsztalyIdByEvfolyamJel($ADAT['evfolyamJelSzuro'], $tanev); + } + if (count($ADAT['osztalySzuro']) > 1) $ADAT['osztalySzurtTankorIds'] = getTankorByOsztalyIds($ADAT['osztalySzuro'], $tanev); + elseif (count($ADAT['osztalySzuro']) > 0) { + $osztalyId = $ADAT['osztalySzuro'][0]; + $ADAT['osztalySzurtTankorIds'] = getTankorByOsztalyId($osztalyId, $tanev, array('csakId' => true)); + } else $ADAT['osztalySzurtTankorIds'] = array(); + // Tárgy szerinti szűréshez - tárgyak + $ADAT['targyak'] = getTargyak(); + for ($i = 0; $i < count($ADAT['targyak']); $i++) $targyIds[] = $ADAT['targyak'][$i]['targyId']; + if (is_array($_POST['targyId'])) { + for ($i = 0; $i < count($_POST['targyId']); $i++) { + $targyId = readVariable($_POST['targyId'][$i], 'numeric unsigned', null, $targyIds); + if (isset($targyId)) { + $ADAT['targySzuro'][] = $targyId; + } + } + } + + if ($action == 'ujTankorBlokk') { + + $_DATA = array(); + $_DATA['blokkNev'] = readVariable($_POST['blokkNev'],'string'); + $_DATA['exportOraszam'] = readVariable(str_replace(',', '.', $_POST['exportOraszam']), 'float unsigned'); + $_DATA['tankorId'] = readVariable($_POST['tankorId'], 'numeric unsigned'); + ujTankorBlokk($_DATA['blokkNev'], $_DATA['exportOraszam'], $_DATA['tankorId'], $tanev); + + } elseif ($action=='modTankorBlokk') { + + $_DATA['tanev'] = $tanev; + $_DATA['blokkId'] = readVariable($_POST['blokkId'], 'numeric unsigned'); + $_DATA['exportOraszam'] = readVariable(str_replace(',', '.', $_POST['exportOraszam']), 'float unsigned'); + $_DATA['blokkNev'] = readVariable($_POST['blokkNev'], 'string'); + $_DATA['tankorIds'] = readVariable($_POST['tankorIds'], 'numeric unsigned'); +// for ($i = 0; $i < count($_POST['tankorIds']); $i++) { +// if (intval($_POST['tankorIds'][$i])) $_DATA['tankorIds'][] = intval($_POST['tankorIds'][$i]); +// } + if (isset($_POST['del']) && $_POST['del'] != '') + tankorBlokkTorles($_DATA); + else + tankorBlokkModositas($_DATA); + + } + + $tankorok= getTankorok( + array("tanev=$tanev"), + "LPAD(substring_index(substring_index(tankorNev,'-',1),'.',1),2,'0'),substring_index(substring_index(tankorNev,' ',2),' ',-1),tankorNev,tanev,szemeszter" + ); + if (count($ADAT['targySzuro']) > 0) + $szurtTankorok = getTankorok( // tárgy szerinti szűrés + array("tanev=$tanev", 'targyId IN ('.implode(',', $ADAT['targySzuro']).')'), + "LPAD(substring_index(substring_index(tankorNev,'-',1),'.',1),2,'0'),substring_index(substring_index(tankorNev,' ',2),' ',-1),tankorNev,tanev,szemeszter" + ); + else $szurtTankorok = $tankorok; + + $ADAT['tankorOraszam'] = getTankorOraszamByTanev($tanev); + $ADAT['tankorExportOraszam'] = getTankorExportOraszamByTanev($tanev); + + $ADAT['tankorBlokkok'] = getTankorBlokkok($tanev); + for ($i = 0; $i < count($tankorok); $i++) { + $ADAT['tankorIdk'][] = $tankorId = $tankorok[$i]['tankorId']; + $ADAT['tankorAdat'][$tankorId] = $tankorok[$i]; + } + $ADAT['tankorTanar'] = getTankorTanaraiByInterval($ADAT['tankorIdk'], array('tanev' => $tanev, 'result' => 'assoc')); + for ($i = 0; $i < count($szurtTankorok); $i++) { + if ( // osztály szerinti szűrés + count($ADAT['osztalySzurtTankorIds']) == 0 + || in_array($szurtTankorok[$i]['tankorId'], $ADAT['osztalySzurtTankorIds']) + ) $ADAT['szurtTankorIdk'][] = $szurtTankorok[$i]['tankorId']; + } + if (count($ADAT['szurtTankorIdk']) == 0) { + $_SESSION['alert'][] = 'message:wrong_data:A megadott tárgyakhoz nem tartozik egy tankör sem - a szűrési feltételt töröljük!'; + $ADAT['szurtTankorIdk'] = $ADAT['tankorIdk']; + $ADAT['targySzuro'] = $ADAT['osztalySzuro'] = $_POST['targyId'] = array(); + unset($osztalyId); + } + $ADAT['tanev'] = $tanev; + + $TOOL['tanevSelect'] = array('tipus'=>'cella', 'paramName'=>'tanev','post'=>array()); + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('targyId')); + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/tankorBlokk.php b/mayor-orig/www/policy/private/naplo/tanev/tankorBlokk.php new file mode 100644 index 00000000..51742aa9 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/tankorBlokk.php @@ -0,0 +1,14 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putTargySzuro($ADAT); + //if (isset($osztalyId)) + putUjTankorBlokk($ADAT); + //if (count($Csoportok) > 0) putCsoportok($Csoportok, $tankorAdat, $szTankorIds, $osztalyId); + putTankorBlokkok($ADAT); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/tankorCsoport-pre.php b/mayor-orig/www/policy/private/naplo/tanev/tankorCsoport-pre.php new file mode 100644 index 00000000..cddfb69c --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/tankorCsoport-pre.php @@ -0,0 +1,132 @@ +<?php + + 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/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + + $tanev = __TANEV; + + if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') $osztalyId = $_POST['osztalyId']; + + if (isset($osztalyId)) { + + $Tankorok = getTankorByOsztalyId($osztalyId, $tanev); + $tankorIds = array(); + for ($i = 0; $i < count($Tankorok); $i++) { + $tankorIds[] = $Tankorok[$i]['tankorId']; + $tankorAdat[ $Tankorok[$i]['tankorId'] ] = $Tankorok[$i]; + } + $CsA = getTankorCsoportByTankorIds($tankorIds); + $Csoportok = $csTankorIds = $csoportIds = array(); + foreach ($CsA as $csoportId => $csoportAdat) { + $csoportIds[] = $csoportId; + $Csoportok[$csoportId]['csoportNev'] = $csoportAdat[0]['csoportNev']; + $Csoportok[$csoportId]['tankorok'] = array(); + for ($i = 0; $i < count($csoportAdat); $i++) { + $Csoportok[$csoportId]['tankorok'][] = $csoportAdat[$i]['tankorId']; + $csTankorIds[] = $csoportAdat[$i]['tankorId']; + } + } + $szTankorIds = array_diff($tankorIds, $csTankorIds); + +// ----------------- action --------------------- // +/* $min=0; $max=0; + + if ($min<$Tankorok[$i]['min']) $min= $Tankorok[$i]['min']; + if ($Tankorok[$i]['max']!=0 && $max>$Tankorok[$i]['max']) $max= $Tankorok[$i]['max']; +*/ + + if ($action == 'ujTankorCsoport') { + + $csoportNev = $_POST['csoportNev']; + $tankorId = $_POST['tankorId']; + ujTankorCsoport($csoportNev, $tankorId); + + } elseif ($action == 'tankorCsoportModositas') { + + $csoportId = readVariable($_POST['csoportId'], 'numeric unsigned', null, $csoportIds); + if (isset($csoportId)) { + $csoportNev = $_POST['csoportNev']; + $tankorId = $_POST['tankorId']; + if (isset($_POST['tankorCsoportTorles'])) tankorCsoportTorles($csoportId, $tanev); + else tankorCsoportModositas($csoportId, $csoportNev, $tankorId); + } + + } elseif ($action == 'tankorCsoportokKeresese') { + + // Kérdezzük le a szabad tankörök diákjait + foreach ($szTankorIds as $i => $tankorId) { + $tmp = getTankorDiakjaiByInterval($tankorId, $tanev); + $szTankorDiak[$tankorId] = $tmp['idk']; + } + // Azonos tagokkal rendelkező csoportok keresése + $ujCsoportok = $voltMar = $Nevek = array(); + foreach ($szTankorIds as $i => $tankorId) { + if (!$voltMar[$tankorId]) { + $voltMar[$tankorId] = true; + $ujCsoport = array( + 'ids' => array($tankorId), +// 'diakIds' => $szTankorDiak[ $tankorId ] + ); + foreach ($szTankorIds as $j => $_tankorId) { + if ( + !$voltMar[ $_tankorId ] + && $szTankorDiak[ $tankorId ] == $szTankorDiak[ $_tankorId ] + ) { + $ujCsoport['ids'][] = $_tankorId; + $voltMar[ $_tankorId ] = true; + } + } + // csoportnév - a tárgynevekből + $Targyak = array(); + for ($k = 0; $k < count($ujCsoport['ids']); $k++) { + $tankorId = $ujCsoport['ids'][$k]; + $tankorNev = $tankorAdat[ $tankorId ]['tankorNev']; + $Targyak[] = substr($tankorNev, ($pos = strpos($tankorNev, ' ')+1), strrpos($tankorNev, ' ')-$pos); + } + $ujCsoport['nev'] = implode(' - ', $Targyak); + $ujCsoport['nev'] .= ' '.(++$Nevek[ $ujCsoport['nev'] ]).'.'; + $ujCsoportok[] = $ujCsoport; + } + } + // új csoportok felvétele + for ($i = 0; $i < count($ujCsoportok); $i++) { + if (count($ujCsoportok[$i]['ids']) > 1) ujTankorCsoport($ujCsoportok[$i]['nev'], $ujCsoportok[$i]['ids']); + } + } + + if ($action != '') { + + $CsA = getTankorCsoportByTankorIds($tankorIds); + $Csoportok = $csTankorIds = array(); + foreach ($CsA as $csoportId => $csoportAdat) { + $Csoportok[$csoportId]['csoportNev'] = $csoportAdat[0]['csoportNev']; + $Csoportok[$csoportId]['tankorok'] = array(); + for ($i = 0; $i < count($csoportAdat); $i++) { + $Csoportok[$csoportId]['tankorok'][] = $csoportAdat[$i]['tankorId']; + $csTankorIds[] = $csoportAdat[$i]['tankorId']; + } + } + $szTankorIds = array_diff($tankorIds, $csTankorIds); + + } + +// ----------------- action --------------------- // + +//echo $q; +//echo '<pre>'; var_dump($ujCsoportok); echo '</pre>'; + + } + + + $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array()); + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/tankorCsoport.php b/mayor-orig/www/policy/private/naplo/tanev/tankorCsoport.php new file mode 100644 index 00000000..955de6c7 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/tankorCsoport.php @@ -0,0 +1,11 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $tankorAdat, $Csoportok, $szTankorIds, $osztalyId; + + if (isset($osztalyId)) putUjTankorCsoport($tankorAdat, $szTankorIds, $osztalyId); + if (count($Csoportok) > 0) putCsoportok($Csoportok, $tankorAdat, $szTankorIds, $osztalyId); + if (count($szTankorIds) > 0) putTankorCsoportKereso($osztalyId); + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/targyBontas-pre.php b/mayor-orig/www/policy/private/naplo/tanev/targyBontas-pre.php new file mode 100644 index 00000000..c9aaf91b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/targyBontas-pre.php @@ -0,0 +1,175 @@ +<?php + + 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/targy.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorModifier.php'); + require_once('include/modules/naplo/share/bontas.php'); // bontás kész-e + + // Adatok (bontások, tankör-hozzárendelések) átvétele az előző évből - csak üres bontás tábla esetén! + $ADAT['targyBontasStatus'] = checkTargyBontas(); + + if ($ADAT['targyBontasStatus']===false && $action=='targyBontasInit') { + $ADAT['targyBontasStatus'] = initFromLastYear(); + } + // telephely - csak szűréshez kell + $ADAT['telephelyId'] = $telephelyId = readVariable($_POST['telephelyId'], 'id'); + // kötelező szűrési opció + $ADAT['evfolyamJelek'] = getEvfolyamJelek(); + $osszesEvfolyamJel = array(); + if (is_array($ADAT['evfolyamJelek'])) foreach ($ADAT['evfolyamJelek'] as $eAdat) $osszesEvfolyamJel[] = $eAdat['evfolyamJel']; + $ADAT['evfolyamJel'] = $evfolyamJel = readVariable($_POST['evfolyamJel'], 'enum', null, $osszesEvfolyamJel); + // a tárgyadatok az ajax hívásokhoz is kellenek + $ADAT['targyAdat'] = getTargyAdatByIds(); + // osztályok - szűréshez, és tovább... + $ADAT['filter']['osztalyAdat'] = getOsztalyok(__TANEV, array('result' => 'indexed', 'minden'=>false, 'telephelyId' => $telephelyId)); + foreach ($ADAT['filter']['osztalyAdat'] as $idx => $oAdat) { + $ADAT['filter']['osztalyAdat'][$idx]['bontasOk'] = osztalyBontasKeszE($oAdat['osztalyId']); + $ADAT['filter']['osztalyIds'][] = $oAdat['osztalyId']; + } + $ADAT['filter']['kepzesAdat'] = getKepzesByOsztalyId($ADAT['filter']['osztalyIds'], array('result'=>'indexed','arraymap'=>array('kepzesId'))); + + if (isset($ADAT['evfolyamJel'])) { // csak egy évfolyamhoz tartozó osztályok jelölhetők ki egyszerre + + // szűrés osztályra - osztalyId az egyik kulcs mező + $ADAT['osztalyAdat'] = array(); + $osszesOsztalyId = array(); + if (is_array($ADAT['filter']['osztalyAdat'])) foreach ($ADAT['filter']['osztalyAdat'] as $oAdat) { + if ($oAdat['evfolyamJel'] == $evfolyamJel) { + $ADAT['osztalyAdat'][$oAdat['osztalyId']] = $oAdat; + $osszesOsztalyId[] = $oAdat['osztalyId']; + } + } + if (count($osszesOsztalyId) == 0) $ADAT['osztalyIds'] = array(); // üres tömb esetén nem szűr a readVariable... + else $ADAT['osztalyIds'] = readVariable($_POST['osztalyIds'], 'id', null, $osszesOsztalyId); + $_POST['osztalyIds'] = $osztalyIds = $ADAT['osztalyIds']; + + // Az osztályokhoz rendelt tankörök lekérdezése - a bontásokban ezek lehetnek - kell a névhez... + $ADAT['tankorAdat'] = array(); + foreach ($osztalyIds as $osztalyId) { + $TA = getTankorByOsztalyId($osztalyId); + foreach ($TA as $tAdat) if (!is_array($ADAT['tankorAdat'][ $tAdat['tankorId'] ])) { + $ADAT['tankorAdat'][ $tAdat['tankorId'] ] = $tAdat; + $ADAT['tankorAdat'][ $tAdat['tankorId'] ]['tankorNevTargyNelkul'] = str_replace($ADAT['targyAdat'][ $tAdat['targyId'] ]['targyNev'].' ','',$tAdat['tankorNev']); + } + } + + // képzések lekérdezése - a képzés óratervhez + if (is_array($osztalyIds) && count($osztalyIds) > 0) { + // itt volt a kepzesTargyBontas - de az init utánra tettem... + $ADAT['kepzesek'] = getKepzesByOsztalyId($osztalyIds, array('result' => 'indexed', 'arraymap' => array('kepzesId','osztalyId'))); + $ADAT['kepzesAdat'] = array(); + if (is_array($ADAT['kepzesek'])) foreach ($ADAT['kepzesek'] as $kepzesId => $kAdat) { + $ADAT['kepzesAdat'][$kepzesId] = current(current($kAdat)); + unset($ADAT['kepzesAdat'][$kepzesId]['osztalyId']); + $ADAT['kepzesAdat'][$kepzesId]['osztalyIds'] = array_keys($kAdat); + } + $osszesKepzesId = array_keys($ADAT['kepzesek']); + unset($ADAT['kepzesek']); + } + if (is_array($_POST['kepzesIds'])) $ADAT['kepzesIds'] = readVariable($_POST['kepzesIds'], 'id', null, $osszesKepzesId); + else $ADAT['kepzesIds'] = $osszesKepzesId; + + // képzés adott évfolyamának óraterve... + if (is_array($ADAT['kepzesIds']) && count($ADAT['kepzesIds'])) { + // Itt kellene inicializálni - minden tárgyat tartalmazó kepzesOratervId:osztalyId párhoz legyen legalább egy bontás + kepzesTargyBontasInit($ADAT['osztalyIds'], $ADAT['kepzesIds']); + $ADAT['targyBontasStatus'] = checkTargyBontas(); + $ADAT['oraterv'] = kepzesOratervSorrend($evfolyamJel, $ADAT['osztalyIds'], $ADAT['kepzesIds']); + // itt volt a targyAdat... felkerült az elejére + $ADAT['osztalyTargyBontas'] = getKepzesTargyBontasByOsztalyIds($osztalyIds); +//dump($ADAT['osztalyTargyBontas']); + } + + $ADAT['oratervenKivuliTankorok'] = getOratervenKivuliTankorIds(); + + } // van evfolyamJel + + + + // Ajax action + if ($action == 'addBontas') { + $keys = explode(',', $_POST['keys']); + foreach ($keys as $key) { + list($osztalyId, $kepzesOratervId) = explode('-',$key); + $bontas[] = addBontas($osztalyId, $kepzesOratervId); + + } + $_JSON = array( + 'keys' => $_POST['keys'], + 'bontas' => $bontas, + 'targyNev' => $ADAT['targyAdat'][ $bontas[0]['targyId'] ]['targyNev'], + 'result' => 'success' + ); + } else if ($action == 'addBontasTargy') { + $targyIds = array_keys($ADAT['targyAdat']); + $targyId = readVariable($_POST['targyId'], 'id', null, $targyIds);// tárgyIds-re szűkítés!! + if ($targyId != '') { + $keys = explode(',', $_POST['keys']); + foreach ($keys as $key) { + list($osztalyId, $kepzesOratervId) = explode('-',$key); + $bontas[] = addBontas($osztalyId, $kepzesOratervId, $targyId); + } + $_JSON = array( + 'keys' => $_POST['keys'], + 'bontas' => $bontas, + 'targyNev' => $ADAT['targyAdat'][$targyId]['targyNev'], + 'result' => 'success' + ); + } else { + $_JSON = array( + 'keys' => $_POST['keys'], + 'result' => 'fail' + ); + } + } else if ($action == 'bontasTankor') { + $keys = explode(',', $_POST['keys']); + $bontasIds = readVariable($keys, 'id'); + $tankorId = readVariable($_POST['tankorId'], 'id'); + $hetiOraszam = readVariable($_POST['hetiOraszam'], 'float unsigned'); + + $targyId = getTankorTargyId($tankorId); + $targyNev = $ADAT['targyAdat'][$targyId]['targyNev']; + $ret = bontasTankor($bontasIds, $tankorId, $hetiOraszam); + $tankorNev = getTankorNevById($tankorId); // A tankörnév változhat az osztály hozzárendelés miatt... + $tankorNevTargyNelkul = str_replace($targyNev.' ','',$tankorNev); + $_JSON = array( + 'keys' => $_POST['keys'], + 'bontasIds' => $bontasIds, + 'hetiOraszam' => $hetiOraszam, + 'tankorId' => $tankorId, + 'tankorNev' => $tankorNevTargyNelkul, + 'ret' => $ret, + 'TANEV' => __TANEV, + 'result' => ($ret?'success':'fail') + ); + + } else if ($action == 'delBontas') { + $keys = explode(',', $_POST['keys']); + $bontasIds = readVariable($keys, 'id'); + $return = delBontas($bontasIds); + $_JSON = array( + 'keys' => $_POST['keys'], + 'bontasIds' => (is_array($return)?$return:array()), + 'result' => (is_array($return)?'success':'fail') + ); + } else { // Ez csak tesztelés, hibakeresés... + $_JSON = array( + 'post' => $_POST, + ); + } + // Ajax action vége + + $TOOL['telephelySelect'] = array('tipus' => 'cella','paramName' => 'telephelyId', 'post' => array('osztalyIds','kepzesIds','evfolyamJel')); + $TOOL['evfolyamJelSelect'] = array('tipus' => 'cella','paramName' => 'evfolyamJel','paramDesc'=>'evfolyamJel','adatok' => $ADAT['evfolyamJelek'],'post' => array('osztalyIds','kepzesIds','telephelyId')); + getToolParameters(); + + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tanev/targyBontas.php b/mayor-orig/www/policy/private/naplo/tanev/targyBontas.php new file mode 100644 index 00000000..1a8aca25 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/targyBontas.php @@ -0,0 +1,19 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + + if ($ADAT['targyBontasStatus']===false) { + putTargyBontasInit(); + }else{ + putFilter($ADAT); + if ( + is_array($ADAT['osztalyIds']) && count($ADAT['osztalyIds'])>0 + && is_array($ADAT['kepzesIds']) && count($ADAT['kepzesIds'])>0 + ) { + putTargyBontas($ADAT); + } + } +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tanev/targyOraszam-pre.php b/mayor-orig/www/policy/private/naplo/tanev/targyOraszam-pre.php new file mode 100644 index 00000000..37d057cd --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/targyOraszam-pre.php @@ -0,0 +1,10 @@ +<?php + + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + + + $ADAT['targyOraszam'] = getTargyOraszamEvfolyamonkent(); + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/targyOraszam.php b/mayor-orig/www/policy/private/naplo/tanev/targyOraszam.php new file mode 100644 index 00000000..bdc6ccf3 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/targyOraszam.php @@ -0,0 +1,7 @@ +<?php + + global $ADAT; + + putTargyOraszam($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/vegzosOrarendLezaras-pre.php b/mayor-orig/www/policy/private/naplo/tanev/vegzosOrarendLezaras-pre.php new file mode 100644 index 00000000..2f29caae --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/vegzosOrarendLezaras-pre.php @@ -0,0 +1,72 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/jegy.php'); + require_once('include/modules/naplo/share/jegyModifier.php'); + require_once('include/modules/naplo/share/tankorDiakModifier.php'); + require_once('include/modules/naplo/share/hianyzasModifier.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + + if (isset($_POST['dt']) && $_POST['dt'] != '') $dt = $ADAT['dt'] = $_POST['dt']; + elseif (!isset($_POST['dt'])) $dt = $ADAT['dt'] = $_TANEV['zarasDt']; + // Végzős osztályok lekérdezése + $ADAT['osztalyok'] = getOsztalyok(); + for ($i = 0; $i < count($ADAT['osztalyok']); $i++) $ADAT['osztalyIds'][] = $ADAT['osztalyok'][$i]['osztalyId']; + // Lezárandó osztályok + if (is_array($_POST['lezarandoOsztaly'])) $ADAT['lezarandoOsztaly'] = readVariable($_POST['lezarandoOsztaly'], 'id', null, $ADAT['osztalyIds']); + else $ADAT['lezarandoOsztaly'] = array(); + + // Végzős tanulmány időszak lekérdezése - egyelőre ezt nem csináljuk - adott dátumhoz igazodunk! + + if ($action == 'orarendLezaras' && count($ADAT['lezarandoOsztaly']) > 0) { + + // Végzős tankörök lekérdezése (csak végzős!!) + $ADAT['vegzosTankor'] = getTankorByOsztalyIds($ADAT['lezarandoOsztaly']); + // A tanulmányi időszakon túlnyúló órarendi órák tolDt-ének beállítása + vegzosOrarendLezaras($ADAT); + vegzosHaladasiNaploLezaras($ADAT); + foreach ($ADAT['lezarandoOsztaly'] as $index => $osztalyId) { + // osztaly diákjainak lekérdezése + $Diakok = getDiakok(array('osztalyId' => $osztalyId)); + $diakIds = array(); + for ($i = 0; $i < count($Diakok); $i++) $diakIds[] = $Diakok[$i]['diakId']; + // osztaly tanköreinek lekérdezése + $tankorIds = array_values(array_diff(getTankorByOsztalyId($osztalyId, __TANEV, array('csakId' => true)), $ADAT['vegzosTankor'])); + + if (is_array($tankorIds) && count($tankorIds) > 0) for ($i = 0; $i < count($diakIds); $i++) { + // A nem csak végzős tankörökben a tankör tagság beállítása + $Mod = array( + 'diakId' => $diakIds[$i], + 'tankorIds' => $tankorIds, + 'tolDt' => $ADAT['dt'], + 'igDt' => $_TANEV['zarasDt'], + 'utkozes' => 'torles' + ); + tankorDiakTorol($Mod); + } + } + + } + + $TOOL['datumSelect'] = array( + 'tipus' => 'cella', 'post' => array('lezarandoOsztaly'), + 'paramName' => 'dt', 'hanyNaponta' => 1, + 'override'=>true, // használathoz még át kell írni pár függvényt!!! + 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))), + 'igDt' => $_TANEV['zarasDt'], + ); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/vegzosOrarendLezaras.php b/mayor-orig/www/policy/private/naplo/tanev/vegzosOrarendLezaras.php new file mode 100644 index 00000000..1efe15cb --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/vegzosOrarendLezaras.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putLezarandoOsztalyValaszto($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/vegzosTankorLezaras-pre.php b/mayor-orig/www/policy/private/naplo/tanev/vegzosTankorLezaras-pre.php new file mode 100644 index 00000000..4695da13 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/vegzosTankorLezaras-pre.php @@ -0,0 +1,77 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN) { + + $_SESSION['alert'][] = 'page:insufficient_access'; + + } else { + + $_SESSION['alert'][] = 'page:insufficient_access'; + +// ide ne jöjjünk! + + + + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/jegy.php'); + require_once('include/modules/naplo/share/jegyModifier.php'); + require_once('include/modules/naplo/share/tankorDiakModifier.php'); + require_once('include/modules/naplo/share/hianyzasModifier.php'); + + + //if (isset($_POST['dt']) && $_POST['dt'] != '') $dt = $ADAT['dt'] = $_POST['dt']; + //elseif (!isset($_POST['dt'])) $dt = $ADAT['dt'] = $_TANEV['zarasDt']; + + global $_TANEV; + $dt = readVariable($_TANEV['zarasDt'], 'datetime'); + $dt_s = strtotime($dt); + $dt = date('Y-m-d',mktime(0,0,0,date('m',$dt_s),date('d',$dt_s)+1,date('Y',$dt_s))); + + + $ADAT['dt'] = $dt; + $ADAT['tanev'] = __TANEV; + // Végzős osztályok lekérdezése + $ADAT['osztalyok'] = getOsztalyok(__TANEV); + // Lezárandó osztályok + if (is_array($_POST['lezarandoOsztaly'])) $ADAT['lezarandoOsztaly'] = readVariable($_POST['lezarandoOsztaly'], 'id'); + else $ADAT['lezarandoOsztaly'] = array(); + + // Végzős tanulmány időszak lekérdezése - egyelőre ezt nem csináljuk - adott dátumhoz igazodunk! + + if ($action == 'lezaras') { + + // Végzős tankörök lekérdezése (csak végzős!!) + $ADAT['vegzosTankor'] = getTankorByOsztalyIds($ADAT['lezarandoOsztaly']); + // A tanulmányi időszakon túlnyúló órarendi órák tolDt-ének beállítása + //vegzosOrarendLezaras($ADAT); + // Az órarendet nem itt zárjuk le! + foreach ($ADAT['lezarandoOsztaly'] as $index => $osztalyId) { + // osztaly diákjainak lekérdezése + $Diakok = getDiakok(array('osztalyId' => $osztalyId)); + $diakIds = array(); + for ($i = 0; $i < count($Diakok); $i++) $diakIds[] = $Diakok[$i]['diakId']; + // osztaly tanköreinek lekérdezése + $tankorIds = getTankorByOsztalyId($osztalyId, __TANEV, array('csakId' => true)); + if (is_array($tankorIds) && count($tankorIds) > 0) for ($i = 0; $i < count($diakIds); $i++) { + // A nem csak végzős tankörökben a tankör tagság beállítása + $Mod = array( + 'diakId' => $diakIds[$i], + 'tankorIds' => $tankorIds, + 'tolDt' => $ADAT['dt'], + 'utkozes' => 'torles' + ); + tankorDiakTorol($Mod); + } + } + $_SESSION['alert'][] = 'info:success'; + + } + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanev/vegzosTankorLezaras.php b/mayor-orig/www/policy/private/naplo/tanev/vegzosTankorLezaras.php new file mode 100644 index 00000000..1efe15cb --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanev/vegzosTankorLezaras.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putLezarandoOsztalyValaszto($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenet-pre.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenet-pre.php new file mode 100644 index 00000000..58d44e40 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenet-pre.php @@ -0,0 +1,5 @@ +<?php + + header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=tanmenetTankor')); + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenet.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenet.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenet.php diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetInfo-pre.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetInfo-pre.php new file mode 100644 index 00000000..a60e71d0 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetInfo-pre.php @@ -0,0 +1,35 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__DIAK && !__TITKARSAG && !__TANAR && !__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tanmenet.php'); + require_once('include/share/date/names.php'); + + $ADAT['tanmenetId'] = $tanmenetId = readVariable($_POST['tanmenetId'], 'id', readVariable($_GET['tanmenetId'], 'id')); + if (isset($tanmenetId)) { + + $ADAT['tanmenetAdat'] = getTanmenetAdat($tanmenetId); + $ADAT['tanarId'] = $tanarId = $ADAT['tanmenetAdat']['tanarId']; + $ADAT['targyId'] = $targyId = $ADAT['tanmenetAdat']['targyId']; + + } else { + $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'id', (!isset($_POST['targyId'])&&__TANAR)?__USERTANARID:null); + $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'id'); + } + + $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'post'=>array('targyId')); + $TOOL['targySelect'] = array('tipus'=>'cella', 'paramName'=>'targyId', 'post'=>array('tanarId')); + if (isset($tanarId) || isset($targyId)) { + $TOOL['tanmenetSelect'] = array('tipus'=>'sor', 'paramName'=>'tanmenetId', 'post'=>array('tanarId','targyId')); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=tanmenet&f=tanmenetModositas'), + 'titleConst' => array('_MODOSITAS'), 'post' => array('tanarId','targyId'), + 'paramName'=>'tanmenetId'); + } + getToolParameters(); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetInfo.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetInfo.php new file mode 100644 index 00000000..9d2b70e0 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetInfo.php @@ -0,0 +1,15 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['tanmenetId'])) putTanmenetInfo($ADAT); + else { + if ($skin != 'ajax') formBegin(array('class'=>"tanmenet")); + echo '<input type="hidden" name="tanmenetId" id="informTanmenetId" value="" />'."\n"; + echo '<p class="kiemelt">Nincs tanmenet megadva!</p>'; + if ($skin != 'ajax') formEnd(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetJovahagyas-pre.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetJovahagyas-pre.php new file mode 100644 index 00000000..d173ab93 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetJovahagyas-pre.php @@ -0,0 +1,88 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__TANAR && !__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access'; + + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tanmenet.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + + + if (__TANAR) $ADAT['vezetettMkIds'] = getVezetettMunkakozossegByTanarId(__USERTANARID); + if (!is_array($ADAT['vezetettMkIds'])) $ADAT['vezetettMkIds'] = array(); + + $mkId = readVariable($_POST['mkId'], 'id'); + if ($mkId == '' && count($ADAT['vezetettMkIds'])>0) $mkId = $ADAT['vezetettMkIds'][0]; + $ADAT['mkId'] = $mkId; + + if ($mkId != 0) { + + + $ADAT['tanarok'] = getTanarok(array('mkId'=>$mkId, 'tanev'=>__TANEV, 'result'=>'assoc')); + $ADAT['tanarIds'] = array_keys($ADAT['tanarok']); + $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'id', null, $ADAT['tanarIds']); + $Filter = array(); + if ($tanarId != '') { + $tTankorIds = getTankorByTanarId($tanarId, __TANEV, array('csakId'=>true)); + if (is_array($tTankorIds) && count($tTankorIds) > 0) $Filter[] = 'tankor.tankorId IN ('.implode(',',$tTankorIds).')'; + } + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id', null); + if ($osztalyId != '') { + $oTankorIds = getTankorByOsztalyId($osztalyId, __TANEV, array('csakId'=>true)); + if (is_array($oTankorIds) && count($oTankorIds) > 0) $Filter[] = 'tankor.tankorId IN ('.implode(',',$oTankorIds).')'; + + } + define('__JOVAHAGYHAT', __VEZETOSEG || __NAPLOADMIN || in_array($mkId, $ADAT['vezetettMkIds'])); + $ADAT['tankorok'] = getTankorByMkId($mkId, __TANEV, array('csakId'=>false, 'filter'=>$Filter)); + $ADAT['tankorIds'] = array(); + foreach ($ADAT['tankorok'] as $tAdat) { + $ADAT['tankorIds'][] = $tAdat['tankorId']; + } + if (count($ADAT['tankorIds']) > 0) { + $ADAT['tankorTanmenet'] = getTanmenetByTankorIds($ADAT['tankorIds']); + $ADAT['tanmenetAdat'] = $tanmenetIds = array(); + foreach ($ADAT['tankorTanmenet'] as $tankorId => $tanmenetId) { + if (!in_array($tanmenetId, $tanmenetIds)) $tanmenetIds[] = $tanmenetId; + } + foreach ($tanmenetIds as $tanmenetId) $ADAT['tanmenetAdat'][$tanmenetId] = getTanmenetAdat($tanmenetId); + } // vannak tankorok + + + if ($action == 'tanmenetModositas' && __JOVAHAGYHAT) { + + $tanmenetId = readVariable($_POST['tanmenetId'], 'id'); + $statusz = readVariable($_POST['statusz'], 'enum', array('új','kész','jóváhagyott','publikus')); + if ($tanmenetId != '' && $statusz != '') { + $D = array( + 'tanmenetNev' => $ADAT['tanmenetAdat'][$tanmenetId]['tanmenetNev'], + 'oraszam' => $ADAT['tanmenetAdat'][$tanmenetId]['oraszam'], + 'evfolyamJel' => $ADAT['tanmenetAdat'][$tanmenetId]['evfolyamJel'], + 'tanmenetId' => $tanmenetId, + 'ujStatusz' => $statusz + ); + if (tanmenetAdatModositas($D)) $ADAT['tanmenetAdat'][$tanmenetId]['statusz'] = $statusz; + } + } + + } // van mkId + + $TOOL['munkakozossegSelect'] = array('tipus'=>'cella', 'paramName'=>'mkId', 'post'=>array('tanarId','osztalyId')); + if ($mkId != '') { + $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'mkId'=>$mkId, 'post'=>array('mkId','osztalyId')); + $TOOL['osztalySelect'] = array('tipus'=>'cella', 'paramName'=>'osztalyId', 'mkId'=>$mkId, 'post'=>array('mkId','tanarId')); + } +/* + $TOOL['targySelect'] = array('tipus'=>'cella', 'paramName'=>'targyId', 'post'=>array()); + if (isset($tanarId) || isset($targyId)) { + $TOOL['tanmenetSelect'] = array('tipus'=>'cella', 'paramName'=>'tanmenetId', 'post'=>array('tanarId','targyId')); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=tanmenet&f=tanmenetModositas'), + 'titleConst' => array('_MODOSITAS'), 'post' => array('tanarId','targyId'), + 'paramName'=>'tanmenetId'); + } +*/ + getToolParameters(); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetJovahagyas.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetJovahagyas.php new file mode 100644 index 00000000..f0a92c71 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetJovahagyas.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putTanmenetJovahagyas($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetLeadas-pre.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetLeadas-pre.php new file mode 100644 index 00000000..a71c14b0 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetLeadas-pre.php @@ -0,0 +1,51 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/tanmenet.php'); +// require_once('include/share/date/names.php'); + + $tanev = $ADAT['tanev'] = readVariable($_POST['tanev'], 'numeric unsigned', defined('__TANEV')?__TANEV:null); + $ADAT['idoszak'] = getIdoszakByTanev(array('tanev' => $ADAT['tanev'], 'tipus' => array('tanmenet leadás'), 'tolDt' => date('Y-m-d'), 'igDt' => date('Y-m-d'))); + define('__TANMENETLEADASIDOSZAK',(count($ADAT['idoszak']) > 0)); + if (!__TANMENETLEADASIDOSZAK) $_SESSION['alert'][] = 'info:nincs_tanmenetleadas_idoszak:tanev='.$ADAT['tanev']; + else $_SESSION['alert'][] = 'info:tanmenetleadas_idoszak_vege:'.substr($ADAT['idoszak'][0]['igDt'],0,10); + + $ADAT['tanarok'] = getTanarok(array('tanev' => $tanev)); + + $ADAT['tankorIds'] = array(); + for ($i = 0; $i < count($ADAT['tanarok']); $i++) { + $tanarId = $ADAT['tanarok'][$i]['tanarId']; + $ADAT['tanarok'][$i]['tankorIds'] = getTankorByTanarId($tanarId, __TANEV, array('csakId' => true)); + $ADAT['tankorIds'] = array_unique(array_merge($ADAT['tankorIds'], $ADAT['tanarok'][$i]['tankorIds'])); + } + $ADAT['tankorok'] = getTankorAdatByIds($ADAT['tankorIds'], array('tanev' => __TANEV, 'dt' => $_TANEV['kezdesDt'])); + $ADAT['tankorTanmenet'] = getTanmenetByTankorIds($ADAT['tankorIds'], array('tanev' => $ADAT['tanev'])); + $ADAT['tanmenetek'] = getTanmenetek(); + +//echo '<pre>'; var_dump($ADAT['tanmenetek']); echo '<pre>'; + // Melyik tanárnak hány "leadott jóváhagyott" / "leadott, nem jóváhagyott" / "nem leadott" tanmenet-tankör hozzárendelése van? + for ($i = 0; $i < count($ADAT['tanarok']); $i++) { + $tanarId = $ADAT['tanarok'][$i]['tanarId']; + foreach ($ADAT['tanarok'][$i]['tankorIds'] as $tankorId) { + if (isset($ADAT['tankorTanmenet'][$tankorId])) { + $tanmenetId = $ADAT['tankorTanmenet'][$tankorId]; + if ( + $ADAT['tanmenetek'][$tanmenetId]['statusz'] == 'jóváhagyott' + || $ADAT['tanmenetek'][$tanmenetId]['statusz'] == 'publikus' + ) $ADAT['tanarok'][$i]['db']['jóváhagyott']++; + elseif ($ADAT['tanmenetek'][$tanmenetId]['statusz'] == 'kész') $ADAT['tanarok'][$i]['db']['kész']++; + else $ADAT['tanarok'][$i]['db']['új']++; +// if ($ADAT['tanmenetek'][$tanmenetId]['jovahagyva']) $ADAT['tanarok'][$i]['db']['jovahagyva']++; +// else $ADAT['tanarok'][$i]['db']['nincs jovahagyva']++; + } else { + $ADAT['tanarok'][$i]['db']['hiányzik']++; + } + } + } +?> diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetLeadas.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetLeadas.php new file mode 100644 index 00000000..12e8e920 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetLeadas.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putTanmenetLeadas($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetModositas-pre.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetModositas-pre.php new file mode 100644 index 00000000..0afd8498 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetModositas-pre.php @@ -0,0 +1,83 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__TANAR && !__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tanmenet.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/share/date/names.php'); + + $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'id', __TANAR?__USERTANARID:null); + $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'id'); + + $ADAT['tanmenetId'] = $tanmenetId = readVariable($_POST['tanmenetId'], 'id', readVAriable($_GET['tanmenetId'], 'id')); + if (isset($tanmenetId)) { + + $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly')); + $ADAT['tanmenetAdat'] = getTanmenetAdat($tanmenetId); + $ADAT['mkAdat'] = getMunkakozossegByTargyId($ADAT['tanmenetAdat']['targyId']); + $ADAT['tanarId'] = $tanarId = $ADAT['tanmenetAdat']['tanarId']; + $ADAT['targyId'] = $targyId = $ADAT['tanmenetAdat']['targyId']; + define('__KESZITO', (__USERTANARID == $ADAT['tanmenetAdat']['tanarId'])); + define('__MKVEZETO', (__USERTANARID == $ADAT['mkAdat']['mkVezId'])); + define('__MODOSITHAT', + __NAPLOADMIN // admin bármikor + || ( + (__VEZETOSEG || __KESZITO || __MKVEZETO) // vezetőségi tag, mk.vez és a létrehozó szaktanár... + && ($ADAT['tanmenetAdat']['statusz'] == 'új' || $ADAT['tanmenetAdat']['statusz'] == 'kész') // ... ha még nincs jóváhagyva + ) + ); + if (__NAPLOADMIN || __VEZETOSEG || __MKVEZETO) $ADAT['statusz'] = array('új','kész','jóváhagyott','publikus','elavult'); + elseif (__KESZITO) { + if (in_array($ADAT['tanmenetAdat']['statusz'], array('új','kész'))) { $ADAT['statusz'] = array('új','kész'); } + else { $ADAT['statusz'] = array('jóváhagyott','publikus'); } + } else $ADAT['statusz'] = array(); + + if ($action != '') { + if (__MODOSITHAT && $action == 'tanmenetTemakorModositas') { + $ADAT['temakor']['oraszam'] = readVariable($_POST['oraszam'], 'numeric unsigned'); + $ADAT['temakor']['temakorMegnevezes'] = readVariable($_POST['temakorMegnevezes'], 'string', ''); + tanmenetTemakorModositas($ADAT); + $ADAT['tanmenetAdat'] = getTanmenetAdat($tanmenetId); + } elseif ($action == 'tanmenetAdatModositas') { + if ((__NAPLOADMIN === true || __KESZITO) && readVariable($_POST['tanmenetTorol'],'numeric unsigned') == 1) { + if (tanmenetTorol($tanmenetId)===false) { + $_SESSION['alert'][] = 'info:error:hiba a tanmenet törlésekor'; + } else { + $_SESSION['alert'][] = 'info:success'; + unset ($ADAT); + unset($tanmenetId); + } + } else { + if (__MODOSITHAT) { // Az óraszám és évfolyam-jel is változtatható + $DAT['oraszam'] = readVariable($_POST['oraszam'], 'numeric unsigned'); + $DAT['evfolyamJel'] = readVariable($_POST['evfolyamJel'], 'numeric unsigned'); + } else { // csak a tanmenet neve és státusza változtatható + $DAT = $ADAT['tanmenetAdat']; + } + $DAT['tanmenetId'] = $tanmenetId; + $DAT['tanmenetNev'] = readVariable($_POST['tanmenetNev'], 'string'); + $DAT['ujStatusz'] = readVariable($_POST['statusz'], 'enum', $ADAT['tanmenetAdat']['statusz'], $ADAT['statusz']); + tanmenetAdatModositas($DAT); + $ADAT['tanmenetAdat'] = getTanmenetAdat($tanmenetId); + } + } + } + } + + + $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'post'=>array()); + $TOOL['targySelect'] = array('tipus'=>'cella', 'paramName'=>'targyId', 'post'=>array()); + if (isset($tanarId) || isset($targyId) || isset($tanmenetId)) { + $TOOL['tanmenetSelect'] = array('tipus'=>'sor', 'paramName'=>'tanmenetId', 'post'=>array('tanarId','targyId')); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=tanmenet&f=tanmenetInfo'), + 'titleConst' => array('_MUTAT'), 'post' => array('tanmenetId','tanarId','targyId'), + 'paramName'=>'tanmenetId'); + } + getToolParameters(); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetModositas.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetModositas.php new file mode 100644 index 00000000..e741e222 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetModositas.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['tanmenetId'])) putTanmenetModositasForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetTankor-pre.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetTankor-pre.php new file mode 100644 index 00000000..74ca1a6e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetTankor-pre.php @@ -0,0 +1,95 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__TANAR && !__VEZETOSEG && !__NAPLOADMIN) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/szemeszter.php'); +// require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); +// require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tanmenet.php'); + + $ADAT['tanev'] = __TANEV; + $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'id', readVariable($_GET['tanarId'], 'id', __TANAR?__USERTANARID:null)); + + if (isset($tanarId)) { + $ADAT['tankorIds'] = getTankorByTanarId($tanarId, __TANEV, array('csakId' => true)); + $ADAT['tankorok'] = getTankorAdatByIds($ADAT['tankorIds'], array('tanev' => __TANEV, 'dt' => $_TANEV['kezdesDt'])); + $ADAT['tankorTanmenet'] = getTanmenetByTankorIds($ADAT['tankorIds'], array('tanev' => $ADAT['tanev'])); + $tanmenetAdat = $ADAT['tanmenetek'] = array(); + if (is_array($ADAT['tankorok'])) + foreach ($ADAT['tankorok'] as $tankorId => $tAdat) { + if (!is_array($ADAT['tanmenetek'][ $tAdat['targyId'] ])) { + $ADAT['tanmenetek'][ $tAdat['targyId'] ] = getTanmenetByTargyId($tAdat['targyId'], array('result'=>'assoc')); + if (is_array($ADAT['tanmenetek'][ $tAdat['targyId'] ])) + foreach ($ADAT['tanmenetek'][ $tAdat['targyId'] ] as $tanmenetId => $tanAdat) { + // Mikor módosítható az adott tanmenet? + $ADAT['tanmenetek'][ $tAdat['targyId'] ][ $tanmenetId ]['modosithato'] = ( + __NAPLOADMIN // admin bármikor + || ( + (__VEZETOSEG || __USERTANARID == $tanAdat['tanarId']) // vezetőségi tag és a létrehozó szaktanár... + && ($tanAdat['statusz'] == 'új' || $tanAdat['statusz'] == 'kész') // ... ha még nincs jóváhagyva + ) + + ); + $ADAT['tanmenetAdat'][$tanmenetId] = $tanAdat; + } + } + } + +//echo '<pre>'; var_dump($ADAT['tanmenetek']); echo '</pre>'; + + $ADAT['idoszak'] = getIdoszakByTanev(array('tanev' => $ADAT['tanev'], 'tipus' => array('tanmenet leadás'), 'tolDt' => date('Y-m-d'), 'igDt' => date('Y-m-d'))); + define('__TANMENETLEADASIDOSZAK',(count($ADAT['idoszak']) > 0)); + if (!__TANMENETLEADASIDOSZAK) $_SESSION['alert'][] = 'info:nincs_tanmenetleadas_idoszak:tanev='.$ADAT['tanev']; + define('__MODOSITHAT', + __NAPLOADMIN // admin bármikor + || __VEZETOSEG || __USERTANARID == $ADAT['tanarId'] // vezetőség és szaktanár is bármikor +// || ( +// (__VEZETOSEG || __USERTANARID == $ADAT['tanarId']) // vezetőségi tag és a létrehozó szaktanár... +// && __TANMENETLEADASIDOSZAK // megfelelő időszakban vagyunk +// ) + ); + + + if (__MODOSITHAT===true && $action == 'hozzarendeles') { + if (isset($_POST['masolas'])) $action = 'masolas'; + elseif (isset($_POST['uj'])) $action = 'uj'; + elseif (isset($_POST['modosit'])) $action = 'modosit'; + elseif (isset($_POST['info'])) $action = 'info'; + } else { + $action = ''; + } + $ADAT['tankorId'] = readVariable($_POST['tankorId'], 'id'); + + if (__MODOSITHAT === true) { + if ($action == 'hozzarendeles') { + $ADAT['tanmenetId'] = readVariable($_POST['tanmenetId'], 'id'); + tankorTanmenetHozzarendeles($ADAT); + $ADAT['tankorTanmenet'][$ADAT['tankorId']] = $ADAT['tanmenetId']; + } elseif (__TANAR && $action == 'uj') { + header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=ujTanmenet&tankorId='.$ADAT['tankorId'])); + } elseif (__TANAR && $action == 'masolas') { + $eredetiTanmenetId = readVariable($_POST['tanmenetId'], 'id'); + if (isset($eredetiTanmenetId)) { + $ADAT['tanmenetId'] = tanmenetDuplikalas($eredetiTanmenetId, __USERTANARID); + tankorTanmenetHozzarendeles($ADAT); + header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=tanmenetModositas&tanmenetId='.$ADAT['tanmenetId'])); + } + } elseif ($action == 'modosit') { + $ADAT['tanmenetId'] = readVariable($_POST['tanmenetId'], 'id'); + if (isset($ADAT['tanmenetId'])) header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=tanmenetModositas&tanmenetId='.$ADAT['tanmenetId'])); + } elseif ($action == 'info') { + $ADAT['tanmenetId'] = readVariable($_POST['tanmenetId'], 'id'); + if (isset($ADAT['tanmenetId'])) header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=tanmenetInfo&tanmenetId='.$ADAT['tanmenetId'])); + } + } + } + + + $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'post'=>array()); +// $TOOL['osztalySelect']= array('tipus'=>'cella', 'paramName'=>'osztalyId', 'post'=>array()); + getToolParameters(); +?> diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetTankor.php b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetTankor.php new file mode 100644 index 00000000..814e624d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/tanmenetTankor.php @@ -0,0 +1,11 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['tanarId'])) { + putTankorLista($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/ujTanmenet-pre.php b/mayor-orig/www/policy/private/naplo/tanmenet/ujTanmenet-pre.php new file mode 100644 index 00000000..e0d2402d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/ujTanmenet-pre.php @@ -0,0 +1,72 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__TANAR) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tanmenet.php'); + + $ADAT['evfolyamJelek'] = getEvfolyamJelek(); + $ADAT['tanarId'] = __USERTANARID; + $ADAT['munkakozosseg'] = getMunkakozossegByTanarId($ADAT['tanarId'], array('result' => 'indexed')); + $ADAT['mkIds'] = $ADAT['targyIds'] = $ADAT['targy'] = array(); + foreach ($ADAT['munkakozosseg'] as $key => $mkAdat) { + $tmp = getTargyakByMkId($mkAdat['munkakozossegId'], array('result' => 'indexed')); + $ADAT['mkIds'][] = $mkAdat['munkakozossegId']; + $ADAT['targy'] = array_merge($ADAT['targy'], $tmp); + } + for ($i = 0; $i < count($ADAT['targy']); $i++) $ADAT['targyIds'][] = $ADAT['targy'][$i]['targyId']; + + // tanév - alapértelmezetten a __TANEV + $ADAT['tanev'] = readVariable($_POST['tanev'], 'numeric unsigned', is_numeric(__TANEV)?__TANEV:null); + + // Egy tankörhöz rendelendő új tanmenethez + $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'],'id', readVariable($_GET['tankorId'], 'id')); + + // tankör --> tárgy --> munkaközösség + if (isset($tankorId)) { + $TA = getTankorAdat($tankorId); + $ADAT['tankorAdat'] = $TA[$tankorId][0]; + $ADAT['tankorAdat']['osztalyIds'] = getTankorOsztalyaiByTanev($tankorId, $ADAT['tanev']); + $evf = array(); + foreach ($ADAT['tankorAdat']['osztalyIds'] as $osztalyId) $evf[] = getEvfolyamJel($osztalyId, $ADAT['tanev']); + $ADAT['tankorAdat']['evfolyamJel'] = $evf[0]; + } + + // Munkaközösség és tankör + $mkId = readVariable($_POST['mkId'], 'id', null, $ADAT['mkIds']); + $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'id', $ADAT['tankorAdat']['targyId'], $ADAT['targyIds']); + if (isset($tankorId) && $targyId != $ADAT['tankorAdat']['targyId']) unset($tankorId); + + $ADAT['evfolyamJel'] = $evfolyamJel = readVariable($_POST['evfolyamJel'], 'enum', $ADAT['tankorAdat']['evfolyamJel']); + if (isset($targyId) && isset($evfolyamJel)) { + $ADAT['targyAdat'] = getTargyById($targyId); + // Itt lekérdezhetnénk az eddigi ilyen tanmenetek listáját - megjelenítés céljából + $ADAT['tanmenetek'] = getTanmenetByTargyId($targyId); +//echo '<pre>'; var_dump($ADAT['tanmenetek']); echo '</pre>'; + } + + if ($action == 'ujTanmenet') { + $ADAT['tanmenetNev'] = readVariable($_POST['tanmenetNev'], 'string', $evfolyamJel.'. '.$ADAT['targyAdat']['targyNev'].' ('.$ADAT['targyAdat']['targyJelleg'].')'); + $ADAT['oraszam'] = readVariable($_POST['oraszam'], 'numeric unsigned'); + $ADAT['tanmenetId'] = $tanmenetId = ujTanmenet($ADAT); + if (isset($tankorId)) { + // itt kellene hozzárendelni a tankorhoz? + tankorTanmenetHozzarendeles($ADAT); + } + if ($tanmenetId) header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=tanmenetModositas&tanmenetId='.$tanmenetId)); + } + + // $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array('tankorId','targyId','evfolyamJel')); + $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'munkakozossegek' => $ADAT['munkakozosseg'], 'post'=>array('tankorId','evfolyamJel')); + if (isset($mkId)) $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'post'=>array('mkId', 'tankorId','evfolyamJel')); + else $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'targyak' => $ADAT['targy'], 'post'=>array('mkId', 'tankorId','evfolyamJel')); + $TOOL['evfolyamJelSelect'] = array('tipus'=>'cella', 'paramName' => 'evfolyamJel', 'paramDesc'=>'evfolyamJel','adatok' => $ADAT['evfolyamJelek'],'post'=>array('targyId', 'tankorId')); + getToolParameters(); + + +?> diff --git a/mayor-orig/www/policy/private/naplo/tanmenet/ujTanmenet.php b/mayor-orig/www/policy/private/naplo/tanmenet/ujTanmenet.php new file mode 100644 index 00000000..f304c404 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tanmenet/ujTanmenet.php @@ -0,0 +1,8 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['targyId']) && isset($ADAT['evfolyamJel'])) putUjTanevForm($ADAT); +?> diff --git a/mayor-orig/www/policy/private/naplo/tools/ajax.php b/mayor-orig/www/policy/private/naplo/tools/ajax.php new file mode 100644 index 00000000..9d01f5fb --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/ajax.php @@ -0,0 +1,7 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + // A függvény az ajax skin base.phtml-ében lett definiálva + ajaxPutParams(); +?> diff --git a/mayor-orig/www/policy/private/naplo/tools/ajaxExample.php b/mayor-orig/www/policy/private/naplo/tools/ajaxExample.php new file mode 100644 index 00000000..41e27e62 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/ajaxExample.php @@ -0,0 +1,29 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + // A függvény a base.phtml-ben lett definiálva + //ajaxUpdaterForm('proba','index.php?page=naplo&sub=tools&f=ajax','alma=piros&narancs=sárga','post'); + + $userId = __USERTANARID; + $today = date('Y-m-d'); + + ajaxUpdaterForm('proba','index.php?page=naplo&sub=tanev&f=orarend',array('dt'=>$today,'tolDt'=>$today),'post'); + + echo '<form id="ajaxUpdaterForm" class="onSubmitUpdate" method="post" action="'.href("index.php?page=naplo&sub=osztalyozo&f=jegy").'">'."\n"; // -- OBSOLETE + + echo '<input type="text" name="jegyId" value="">'; +// echo '<input type="button" class="onClickUpdate" value="Frissít">'; + echo '<input type="submit" class="" value="Frissít">'; + + echo '</form>'; + +echo '<hr />'; + + echo '<form method="post" action="/debug.php" class="onChangeRequest" id="requestForm" >'; + echo '<input type="text" name="a" value="" id="aa" />'; + echo '<input type="text" name="b" value="bbb" id="bb" />'; + echo '<input type="submit" value="OK" />'; + echo '</form>'; // -- OBSOLETE + +?> diff --git a/mayor-orig/www/policy/private/naplo/tools/dolgozatAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/dolgozatAdat-pre.php new file mode 100644 index 00000000..31123583 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/dolgozatAdat-pre.php @@ -0,0 +1,19 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__DIAK!==true && __TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + exit; + } + + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + + $dolgozatId = $_JSON['dolgozatId'] = readVariable($_POST['dolgozatId'], 'id'); + + $_JSON['dolgozatAdat'] = getDolgozatAdat($dolgozatId); + $_JSON['leiras'] = 'Dolgozat'; + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/getDiakAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/getDiakAdat-pre.php new file mode 100644 index 00000000..5d722b38 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/getDiakAdat-pre.php @@ -0,0 +1,61 @@ +<?php + + if (_RIGHTS_OK !== true) die(); +// if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/szulo.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tanar.php'); + + $diakId = readVariable($_POST['diakId'], 'id',null); + + if (!is_numeric($diakId)) { + $_JSON = array(); + exit; + } + /* PRIVÁT ADATOK */ +if (__NAPLOADMIN === true || __VEZETOSEG === true || __TITKARSAG === true || __TANAR ===true || $diakId == __USERDIAKID) { + $_JSON = getDiakAdatById($diakId); + $_JSON['diakOsztaly'] = getDiakMindenOsztaly($diakId); + for ($i=0;$i<count($_JSON['diakOsztaly']); $i++) { + $OSZTALYIDS[] = $_JSON['diakOsztaly'][$i]['osztalyId']; + } + $_JSON['osztalyAdat'] = getOsztalyok(null,array('minden'=>true,'result'=>'assoc','keyfield'=>'osztalyId','osztalyIds'=>$OSZTALYIDS)); + $_JSON['diakJogviszony'] = getDiakJogviszony($diakId); +// $_JSON['diakHianyzasOsszesites'] = getDiakHianyzasOsszesites($diakId,szemeszteradat); + $_JSON['diakHianyzasStat'] = getDiakHianyzasStat($diakId); + $_JSON['diakTankor'] = getTankorByDiakId($diakId,__TANEV); + for ($i=0; $i<count($_JSON['diakTankor']); $i++) { + $_JSON['diakTankorAssoc'][$_JSON['diakTankor'][$i]['tankorId']] = $_JSON['diakTankor'][$i]; + } + $_JSON['diakFelmentes'] = getTankorDiakFelmentes($diakId, __TANEV, array('csakId'=>false)); + // $_JSON['diakJogviszony'] = getDiakTorzslapszam($diakId); + + $_tmp = getKepzesByDiakId($diakId); + $_JSON['diakKepzes'] = $_tmp[$diakId]; + + $tmp = getDiakSzulei($diakId); + $_JSON['diakSzulo'] = array(); + if (is_array($tmp[0]) && count($tmp[0])>=1) { + foreach ($tmp[0] as $tipus => $id) if (!is_null($id)) $szuloIds[] = $id; + if (count($szuloIds)>0) { + $_JSON['diakSzulo'] = getSzulok(array('csakId'=>false,'result'=>'indexed','szuloIds'=>$szuloIds)); +// $_JSON['szuloIds'] = $szuloIds; + } + } +} + + /* PUBLIKUS ADATOK */ + $_JSON['diakId'] = $diakId; + $_JSON['tanev'] = __TANEV; + + // controllok: + //enum('felvételt nyert','jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva') +// if ($_JSON['statusz'] == 'jogviszonya lezárva') { +// } else { +// } +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/getJegyAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/getJegyAdat-pre.php new file mode 100644 index 00000000..1a91a482 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/getJegyAdat-pre.php @@ -0,0 +1,36 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true && __DIAK !== true ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + exit; + } + + global $KOVETELMENY; + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + + $jegyId = readVariable($_POST['jegyId'], 'id'); + $ADAT = getJegyAdat($jegyId); + + if (__DIAK===true && $ADAT['diakId'] != __USERDIAKID) return; // más jegyet ne nézhessen meg a diák + + $_JSON['jegyId'] = $jegyId; + $_JSON['jegyAdat'] = $ADAT; + $_JSON['jegyAdat']['hivatalos'] = $KOVETELMENY[$ADAT['jegyTipus']][$ADAT['jegy']]['hivatalos']; + $_JSON['jegyAdat']['rovid'] = $KOVETELMENY[$ADAT['jegyTipus']][$ADAT['jegy']]['rovid']; + $_JSON['diakNev'] = getDiakNevById($ADAT['diakId']); + $_JSON['targyNev'] = getTargyNevByTargyId($ADAT['targyId']); + +// require_once('skin/classic/module-naplo/html/share/jegy.phtml'); // !!! +// $jegySelect = formBegin(null,array('print'=>false)); +// $jegySelect .= putJegySelect($ADAT,'return'); +// $jegySelect .= formEnd(array('print'=>false)); +// $_JSON['jegySelect'] = $jegySelect; + +// $_JSON['debug'] = $ADAT; + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/getOraAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/getOraAdat-pre.php new file mode 100644 index 00000000..9965b23b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/getOraAdat-pre.php @@ -0,0 +1,79 @@ +<?php + + if (_RIGHTS_OK !== true) die(); +// if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/oraModifier.php'); + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/jegyzet.php'); + + $oraId = readVariable($_POST['oraId'], 'id'); + + if (!is_numeric($oraId)) { + $_JSON = array(); + exit; + } + + /* PRIVÁT ADATOK */ + if (__NAPLOADMIN === true || __VEZETOSEG === true || __TITKARSAG === true || __TANAR === true || __DIAK === true ) { + $oraBeirhato = oraBeirhato($oraId); + if ($oraBeirhato===true && $action=='oraBeiras') { + $leiras = readVariable($_POST['leiras'], 'string'); + updateHaladasiNaploOra($oraId,$leiras); + } + +// $tmp = getTanarAdatById($tanarId); +// $_JSON = $tmp[0]; + $_JSON['oraAdat'] = $ORAADAT = getOraAdatById($oraId); + + $q = "SELECT oraId FROM ora WHERE tankorId=%u AND dt<'%s' ORDER BY oraId DESC"; + $v = array($ORAADAT['tankorId'],$ORAADAT['dt']); + $idk = db_query($q, array('fv'=>'pre','modul'=>'naplo','result'=>'idonly','values'=>$v)); + + for ($i=0; $i<count($idk); $i++) { + $_JSON['elozoOrak'][$i] = getOraAdatById($idk[$i]); + } + + $_JSON['dolgozat'] = getTankorDolgozatok(array($ORAADAT['tankorId']), TRUE, $ORAADAT['dt'], $ORAADAT['dt']); +// $_JSON['jegyzet'] = getJegyzet(array('tolDt'=>$tolDt,'igDt'=>$igDt,'tankorIdk'=>$JA['tankorIdk'], + // módosítható az óra? + $_JSON['oraBeirhato'] = $oraBeirhato; + + if ($oraBeirhato===true) { // HTML FORM + $oraForm = '<form method="post" action="'.href('index.php?page=naplo&sub=tools&f=getOraAdat').'"> + <input class="salt" type="hidden" name="'.__SALTNAME.'" value="'.__SALTVALUE.'" /> + <input class="mayorToken" type="hidden" name="mayorToken" value="'.$_SESSION['mayorToken'].'" /> + <input type="hidden" name="action" value="oraBeiras" /> + <input type="hidden" name="oraId" value="'.$oraId.'" /> + <textarea name="leiras" style="margin-top:8px; width:99%; height:100px;">'. supertext($_JSON['oraAdat']['leiras']).'</textarea>'; + $oraForm .= '<button type="button" class="setOraAdat mentes" value="mentés" data-oraid="'.$oraId.'"><span class="icon-ok"></span> MENTÉS </button>'; + $oraForm .= '</form>'; + $_JSON['oraForm'] = $oraForm; + } + } + + /* PUBLIKUS ADATOK */ + $_JSON['oraId'] = $oraId; + $_JSON['tanev'] = __TANEV; + + // TEMPLATE +// $ORAK = getTanarNapiOrak($tanarId); + $s = ''; + if (is_array($ORAK) && count($ORAK)>0) { + for ($ora=__MIN_ORA; $ora<=__MAX_ORA; $ora++) { + $OA = $ORAK[$ora]; + $s .= '<div class="ora">'.$ora.'. '.$OA[$i]['tankorNev']; + for ($i=0; $i<count($OA); $i++) { + $s .= $OA[$i]['tankorNev']; + } + $s .='</div>'; + } + } + $_JSON['html'] = serialize($_JSON['oraAdat']); + $_JSON['debug'] = false; +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/getOsztalyAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/getOsztalyAdat-pre.php new file mode 100644 index 00000000..246f5821 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/getOsztalyAdat-pre.php @@ -0,0 +1,39 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) return false; + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/targy.php'); + + $osztalyId = readVariable($_POST['osztalyId'], 'id'); + + $_JSON['osztalyId'] = $osztalyId; + $_JSON['osztalyAdat'] = getOsztalyAdat($osztalyId); + $_JSON['nev'] = $_JSON['osztalyAdat']['osztalyJel']; + +/* + $tmp = getTankorAdat($tankorId); + $targyAdat = getTargyById($tmp[$tankorId][0]['targyId']); + + $_JSON = $tmp[$tankorId][0]; + $_JSON['tankorNevTargyNelkul'] = str_replace($targyAdat['targyNev'].' ','',$_JSON['tankorNev']); + $_JSON['tankorNevReszei'] = array( + 'evfOszt' => substr($_JSON['tankorNev'],0, strpos($_JSON['tankorNev'],' ')), + 'targyNev' => $targyAdat['targyNev'], + 'tankorJel' =>$_JSON['tankorJel'] + ); + $_JSON['tankorNevReszei']['tankorNevExtra'] = trim(str_replace($_JSON['tankorNevReszei']['evfOszt'].' '.$_JSON['tankorNevReszei']['targyNev'],'', + str_replace($_JSON['targyJel'],'',$_JSON['tankorNev']))); + $_JSON['tankorSzemeszter'] = getTankorSzemeszterei($tankorId); + $_JSON['osztalyIds'] = getTankorOsztalyai($tankorId); + $_JSON['osztalyok'] = getOsztalyok(); + $_JSON['tankorTanar'] = getTankorTanarai($tankorId); + $_JSON['tankorDiak'] = //getTankorDiakjai($tankorId); + getTankorDiakjaiByInterval($tankorId); + $_JSON['tankorBlokk'] = getTankorBlokkByTankorId(array($tankorId),__TANEV,array('blokkNevekkel'=>true)); +*/ + $_JSON['visibleData'] = true; +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/getSzuloAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/getSzuloAdat-pre.php new file mode 100644 index 00000000..99758d84 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/getSzuloAdat-pre.php @@ -0,0 +1,27 @@ +<?php + + if (_RIGHTS_OK !== true) die(); +// if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/szulo.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tanar.php'); + + $szuloId = readVariable($_POST['szuloId'], 'id',null); + if (!is_numeric($szuloId)) { $_JSON = array(); exit;} + + /* PRIVÁT ADATOK */ + if (__NAPLOADMIN === true || __VEZETOSEG === true || __TITKARSAG ===true || __TANAR ===true) { + $_JSON = getSzuloAdat($szuloId); + $_tmp = getSzulokDiakjai(array($szuloId)); + $_JSON['szuloGyermekei'] = $_tmp[$szuloId]; + } + /* PUBLIKUS ADATOK */ + $_JSON['diakId'] = $diakId; + $_JSON['tanev'] = __TANEV; + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/getTanarAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/getTanarAdat-pre.php new file mode 100644 index 00000000..22394655 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/getTanarAdat-pre.php @@ -0,0 +1,56 @@ +<?php + + if (_RIGHTS_OK !== true) die(); +// if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/orarend.php'); + + if (!defined('__MIN_ORA')) define('__MIN_ORA',getMinOra()); + if (!defined('__MAX_ORA')) define('__MAX_ORA',getMaxOra()); + + $tanarId = readVariable($_POST['tanarId'], 'id'); + + if (!is_numeric($tanarId)) { + $_JSON = array(); + exit; + } + + /* PRIVÁT ADATOK */ + if (__NAPLOADMIN === true || __VEZETOSEG === true || __TITKARSAG === true || __TANAR === true) { + $tmp = getTanarAdatById($tanarId); + $_JSON = $tmp[0]; + $_JSON['tanarTankor'] = getTankorByTanarId($tanarId); + $_JSON['layerPolicy'] = 1; + } else { + $_JSON['tanarNev'] = getTanarNevById($tanarId); + $_JSON['layerPolicy'] = 0; + } + + // Ha szülő nézi, jó lenne az elérhetőséget ide kiírni + + /* PUBLIKUS ADATOK */ + $_JSON['tanarId'] = $tanarId; + $_JSON['tanev'] = __TANEV; + + $_JSON['oraTerheles'] = getOraTerhelesStatByTanarId(array('tanarId'=>$tanarId)); + + // TEMPLATE + $ORAK = getTanarNapiOrak($tanarId); + $s = ''; + if (is_array($ORAK) && count($ORAK)>0) { + for ($ora=__MIN_ORA; $ora<=__MAX_ORA; $ora++) { + $OA = $ORAK[$ora]; + $s .= '<div class="ora">'.$ora.'. '.$OA[$i]['tankorNev']; + for ($i=0; $i<count($OA); $i++) { + $s .= $OA[$i]['tankorNev']; + } + $s .='</div>'; + } + } + $_JSON['maiOrak']['html'] = $s; + $_JSON['debug'] = __MIN_ORA; +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/getTankorAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/getTankorAdat-pre.php new file mode 100644 index 00000000..01571f22 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/getTankorAdat-pre.php @@ -0,0 +1,38 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) return false; + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorBlokk.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tanmenet.php'); + require_once('include/modules/naplo/share/tanar.php'); + + $tankorId = readVariable($_POST['tankorId'], 'id'); + + $tmp = getTankorAdat($tankorId); + $targyAdat = getTargyById($tmp[$tankorId][0]['targyId']); + + $_JSON = $tmp[$tankorId][0]; + $_JSON['tankorNevTargyNelkul'] = str_replace($targyAdat['targyNev'].' ','',$_JSON['tankorNev']); + $_JSON['tankorNevReszei'] = array( + 'evfOszt' => substr($_JSON['tankorNev'],0, strpos($_JSON['tankorNev'],' ')), + 'targyNev' => $targyAdat['targyNev'], + 'tankorJel' =>$_JSON['tankorJel'] + ); + $_JSON['tankorNevReszei']['tankorNevExtra'] = trim(str_replace($_JSON['tankorNevReszei']['evfOszt'].' '.$_JSON['tankorNevReszei']['targyNev'],'', + str_replace($_JSON['targyJel'],'',$_JSON['tankorNev']))); + $_JSON['tankorSzemeszter'] = getTankorSzemeszterei($tankorId); + $_JSON['osztalyIds'] = getTankorOsztalyai($tankorId); + $_JSON['osztalyok'] = getOsztalyok(); + $_JSON['tankorTanar'] = getTankorTanarai($tankorId); + $_JSON['tankorDiak'] = //getTankorDiakjai($tankorId); + getTankorDiakjaiByInterval($tankorId); + $_JSON['tankorBlokk'] = getTankorBlokkByTankorId(array($tankorId),__TANEV,array('blokkNevekkel'=>true)); + $_JSON['tanmenetId'] = array_pop(getTanmenetByTankorIds(array($tankorId))); + $_JSON['tanmenetAdat'] = getTanmenetAdat($_JSON['tanmenetId']); + + $_JSON['visibleData'] = true; +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/getZaroJegyAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/getZaroJegyAdat-pre.php new file mode 100644 index 00000000..fd5a624e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/getZaroJegyAdat-pre.php @@ -0,0 +1,41 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + exit; + } + + global $KOVETELMENY; + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + + $jegyId = readVariable($_POST['jegyId'], 'id'); + $zaroJegyId = readVariable($_POST['zaroJegyId'], 'id'); + $ZA = getZaroJegyAdat($zaroJegyId); + + $targyTargy = getTargyTargy(); + $_JSON['fotargy'] = (is_array($targyTargy['FOal'][$ZA['targyId']])); + $_JSON['altargy'] = (is_array($targyTargy['alFO'][$ZA['targyId']])); + + $_JSON['zaroJegyId'] = $zaroJegyId; +// $_JSON['jegyAdat'] = serialize(getJegyAdat($jegyId)); + $_JSON['zaroJegyAdat'] = $ZA; + $_JSON['zaroJegyAdat']['hivatalos'] = $KOVETELMENY[$ZA['jegyTipus']][$ZA['jegy']]['hivatalos']; + $_JSON['zaroJegyAdat']['rovid'] = $KOVETELMENY[$ZA['jegyTipus']][$ZA['jegy']]['rovid']; + $_JSON['diakNev'] = getDiakNevById($ZA['diakId']); + $_JSON['targyNev'] = getTargyNevByTargyId($ZA['targyId']); + +// ez zsákutca... +// ez így nem jo require_once('skin/default/base/html/base.phtml'); + require_once('skin/classic/module-naplo/html/share/jegy.phtml'); // !!! + +// $jegySelect = formBegin(null,array('print'=>false)); + $jegySelect .= putJegySelect($ZA,'return'); +// $jegySelect .= formEnd(array('print'=>false)); + $_JSON['jegySelect'] = $jegySelect; + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/intezmenyNev-pre.php b/mayor-orig/www/policy/private/naplo/tools/intezmenyNev-pre.php new file mode 100644 index 00000000..e881059c --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/intezmenyNev-pre.php @@ -0,0 +1,10 @@ +<?php + + /* Model */ + require_once('include/modules/naplo/share/intezmenyek.php'); + + /* Controller */ + global $intezmeny; + $intezmeny = getIntezmenyByRovidnev(__INTEZMENY); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/intezmenyNev.php b/mayor-orig/www/policy/private/naplo/tools/intezmenyNev.php new file mode 100644 index 00000000..af83206a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/intezmenyNev.php @@ -0,0 +1,8 @@ +<?php + + global $intezmeny; + + /* View */ + echo '<style type="text/css">div#naploToolIntezmenyNev {font-size:x-large; text-align: center; padding:1em;}</style>'; + echo '<div id="naploToolIntezmenyNev">'.$intezmeny['nev'].'</div>'; +?> diff --git a/mayor-orig/www/policy/private/naplo/tools/jegyzetAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/jegyzetAdat-pre.php new file mode 100644 index 00000000..3b88e491 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/jegyzetAdat-pre.php @@ -0,0 +1,165 @@ +<?php + + // credits: rpetya (rakolcza.peter@gmail.com) + + if (_RIGHTS_OK !== true) die(); + if (__DIAK!==true && __TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + exit; + } + + require_once('include/modules/naplo/share/jegyzet.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + + $jegyzetId = readVariable($_POST['jegyzetId'], 'id', '-1'); + $_JSON['refJegyzetDt'] = readVariable($_POST['refJegyzetDt'],'date'); + + // REMOVE + if ($action=='delJegyzet') { + delJegyzet($jegyzetId); // szigoríthatjuk is + $_JSON['jegyzetId'] = $jegyzetId; // a frontenden szukseges + return ; + // SET (CREATE) + } elseif ($action!='') { + //$_JSON['debug'] = $_POST; + $jegyzetId = setJegyzetAdat($_POST); // szigoríthatjuk is, de a mentő fv gondoskodik erről + } + + // Kiegészítő adatok + if (__JEGYZETSZEREPTIPUS == 'diak') { + $ADAT['tankorok'] = getTankorByDiakId(__JEGYZETSZEREPID); + $ADAT['osztalyok'] = getDiakOsztalya(__JEGYZETSZEREPID,array('tanev'=>$tanev,'tolDt'=>$dt,'igDt'=>$dt)); + } elseif (__JEGYZETSZEREPTIPUS == 'tanar') { + $ADAT['munkakozossegek'] = getMunkakozossegByTanarId(__JEGYZETSZEREPID, array('idonly'=>false)); + if (is_array($_OSZTALYA) && count($_OSZTALYA)>0) $ADAT['osztalyok'] = getOsztalyok(null,array('osztalyIds'=>$_OSZTALYA)); + $ADAT['tankorok'] = getTankorByTanarId(__JEGYZETSZEREPID); + } else { + + } + + // GET + $_JSON['adat'] = $ADAT['jegyzetAdat'] = getJegyzetAdat($jegyzetId); + + define('__READONLY',($jegyzetId>0 + && (__JEGYZETSZEREPTIPUS!==$ADAT['jegyzetAdat']['userTipus'] + || __JEGYZETSZEREPID!==$ADAT['jegyzetAdat']['userId']))); + if ($jegyzetId<=0) { + $dt = $_JSON['refJegyzetDt']; + $leiras = "Új jegyzet"; + } else { + $dt = $ADAT['jegyzetAdat']['dt']; + $leiras = "Jegyzet"; + } + + $_JSON['jegyzetId'] = $jegyzetId; + $_JSON['visibleData'] = true; + $_JSON['leiras'] = $leiras; + + $_CHK[$ADAT['jegyzetAdat']['publikus']] = ' checked="checked" '; + + // generate HTML Template +if (__READONLY===false) { + + + // formBegin!!!!!! a pre-ben nem létezik :( + $jegyzetForm = '<form method="post" action="'.href('index.php?page=naplo&sub=tools&f=jegyzetAdat').'"> + <input class="salt" type="hidden" name="'.__SALTNAME.'" value="'.__SALTVALUE.'" /> + <input class="mayorToken" type="hidden" name="mayorToken" value="'.$_SESSION['mayorToken'].'" /> + <input type="hidden" name="action" value="jegyzetelo" /> + <input type="hidden" name="jegyzetId" value="'.$jegyzetId.'" /> + Határidő: <input type="date" name="dt" value="'.$dt.'" /> + <textarea name="jegyzetLeiras" style="margin-top:8px; width:99%; height:100px;">'.supertext($_JSON['adat']['jegyzetLeiras']).'</textarea>'; + + $jegyzetForm .='<h3>Láthatóság</h3> + <ul style="list-style-type=none"> + <input type="radio" name="publikus" id="publikus0" value="0" '.$_CHK[0].'/><label for="publikus0">privát</label> + <br/><input type="radio" name="publikus" id="publikus1" value="1" '.$_CHK[1].' /><label for="publikus1">látható a kapcsolódó csoportoknak</label>'; + if (__JEGYZETSZEREPTIPUS=='tanar') $jegyzetForm .= '<br/><input type="radio" name="publikus" id="publikus2" value="2" '.$_CHK[2].' /><label for="publikus2">publikus</label>'; + else $jegyzetForm .= '<br/><input type="radio" name="publikus" id="publikus2" value="2" '.$_CHK[2].' disabled="disabled" /><label for="publikus2">publikus</label>'; + $jegyzetForm .= '</ul>'; + + + $jegyzetForm .= '<h3>Kapcsolódó csoportok</h3><ul>'; + + if (count($ADAT['tankorok'])>0) { + $jegyzetForm .= '<li>Tankörök: <select name="tankorId[]"><option>-</option>'; + for ($i=0; $i<count($ADAT['tankorok']); $i++) { $_D = $ADAT['tankorok'][$i]; + $_SEL = (in_array($_D['tankorId'],$ADAT['jegyzetAdat']['tankorok']))? 'selected="selected"':''; + $jegyzetForm .= '<option value="'.$_D['tankorId'].'" '.$_SEL.'>'.$_D['tankorNev'].'</option>'; + } + $jegyzetForm .= '</select></li>'; + } + + if (count($ADAT['osztalyok'])>0) { + $jegyzetForm .= '<li>Osztályok: <select name="osztalyId[]"><option>-</option>'; + for ($i=0; $i<count($ADAT['osztalyok']); $i++) { + $_D = $ADAT['osztalyok'][$i]; + $_SEL = (in_array($_D['osztalyId'],$ADAT['jegyzetAdat']['osztalyok']))? 'selected="selected"':''; + $jegyzetForm .= '<option value="'.$_D['osztalyId'].'" '.$_SEL.'>'.$_D['osztalyJel'].'</option>'; + } + $jegyzetForm .= '</select></li>'; + } + + if (count($ADAT['munkakozossegek'])>0) { + $jegyzetForm .= '<li>Munkaközösségek: <select name="mkId[]"><option>-</option>'; + for ($i=0; $i<count($ADAT['munkakozossegek']); $i++) { + $_D = $ADAT['munkakozossegek'][$i]; + $_SEL = (in_array($_D['mkId'],$ADAT['jegyzetAdat']['munkakozossegek']))? 'selected="selected"':''; + $jegyzetForm .= '<option value="'.$_D['mkId'].'" '.$_SEL.'>'.$_D['munkakozossegNev'].'</option>'; + } + $jegyzetForm .= '</select></li>'; + } + + //$jegyzetForm .= '<li>Órák: <select><option>-</option></select></li>'; + //$jegyzetForm .= '<li>Munkaközösségek: <select><option>-</option></select></li>'; + + $jegyzetForm .= '</ul>'; + $jegyzetForm .= '<button type="button" class="setJegyzetAdat mentes" value="mentés" data-jegyzetid="'.$jegyzetId.'"><span class="icon-ok"></span> MENTÉS </button>'; + $jegyzetForm .= '</form>'; + + // töröl + $jegyzetForm .= ' + <form method="post" action="'.href('index.php?page=naplo&sub=tools&f=jegyzetAdat').'"> + <input class="salt" type="hidden" name="'.__SALTNAME.'" value="'.__SALTVALUE.'" /> + <input class="mayorToken" type="hidden" name="mayorToken" value="'.$_SESSION['mayorToken'].'" /> + <input type="hidden" name="action" value="delJegyzet"> + <input type="hidden" name="jegyzetId" value="'.$jegyzetId.'"> + <button type="button" class="delJegyzet torles" value="végleges törlés" data-jegyzetid="'.$jegyzetId.'"><span class="icon-remove"></span> TÖRLÉS </span></button>'; + $jegyzetForm .= '</form>'; + +} else { + $jegyzetForm .= '<p style="font-size:16px; text-align:center">'.supertext($_JSON['adat']['jegyzetLeiras']).'</p>'; + $jegyzetForm .= '<ul>'; + for ($i=0; $i<count($ADAT['tankorok']); $i++) { $_D = $ADAT['tankorok'][$i]; + if (in_array($_D['tankorId'],$ADAT['jegyzetAdat']['tankorok'])) { + $jegyzetForm .= '<li class="tankorAdat" data-tankorid="'.$_D['tankorId'].'">'.$_D['tankorNev'].'</li>'; + } + } + for ($i=0; $i<count($ADAT['osztalyok']); $i++) { + $_D = $ADAT['osztalyok'][$i]; + if (in_array($_D['osztalyId'],$ADAT['jegyzetAdat']['osztalyok'])) { + $jegyzetForm .= '<li>'.$_D['osztalyJel'].'</li>'; + } + } + for ($i=0; $i<count($ADAT['munkakozossegek']); $i++) { + $_D = $ADAT['munkakozossegek'][$i]; + if (in_array($_D['mkId'],$ADAT['jegyzetAdat']['munkakozossegek'])) { + $jegyzetForm .= '<li>'.$_D['munkakozossegNev'].'</li>'; + } + } + + $jegyzetForm .= '</ul>'; + + $jegyzetForm .= '<p style="border-top: solid 1px #ddd; padding:10px;">'; + $jegyzetForm .= 'Ezt a jegyzetet más felhasználó jegyezte be. + Adatai egyelőre nem nyilvánosak. Addig is jegyezd meg, hogy ezeket így írjuk helyesen: + <ul><li>tanár úr (fiú, tehát külön),</li><li>tanárnő (lány, tehát egybe),</li><li>muszáj (pontos jé)</li></ul> ;) + </p> + '; +} + + $_JSON['jegyzetForm'] = $jegyzetForm; + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/kereso-pre.php b/mayor-orig/www/policy/private/naplo/tools/kereso-pre.php new file mode 100644 index 00000000..026acd20 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/kereso-pre.php @@ -0,0 +1,25 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/kereso.php'); + + $ADAT['tipus'] = readVariable($_POST['tipus'],'enum',null,array('diak','tanar','szulo')); + $ADAT['pattern'] = readVariable($_POST['pattern'],'string',null); + $ADAT['strict'] = readVariable($_POST['strict'],'id',null); + + if ($ADAT['pattern']!='') { + // search + if ($ADAT['tipus']=='diak') $ADAT['diakok']=getDiakokByPattern($ADAT['pattern']); + elseif ($ADAT['tipus']=='tanar') $ADAT['tanarok']=getTanarokByPattern($ADAT['pattern']); + elseif ($ADAT['tipus']=='szulo') $ADAT['szulok']=getSzulokByPattern($ADAT['pattern'],array('diakokkal'=>true)); + } + + if ($ADAT['strict']==1) { + $_JSON = $ADAT; + } else { + $_JSON[] = $ADAT; // hozzáfűzzük valami random indexszel?!?! + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/napAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/napAdat-pre.php new file mode 100644 index 00000000..22ead763 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/napAdat-pre.php @@ -0,0 +1,23 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__DIAK!==true && __TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + exit; + } + + require_once('include/modules/naplo/share/orarend.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/nap.php'); + global $aHetNapjai; + $dt = readVariable($_POST['napDt'],'date'); + + /* PUBLIKUS ADATOK */ + $_JSON['dt'] = $dt; + $_JSON['leiras'] = $dt.' '.$aHetNapjai[date('w',strtotime($dt))-1]; + $_JSON['tanev'] = __TANEV; + + $_JSON['napAdat'] = getNapAdat($dt); + $_JSON['tanitasiNapAdat'] = getTanitasiNapAdat(array($dt)); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/oid.php b/mayor-orig/www/policy/private/naplo/tools/oid.php new file mode 100644 index 00000000..bb5e7696 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/oid.php @@ -0,0 +1 @@ +<?php # Marked for deletion # ?> diff --git a/mayor-orig/www/policy/private/naplo/tools/oraAdat-pre.php b/mayor-orig/www/policy/private/naplo/tools/oraAdat-pre.php new file mode 100644 index 00000000..67c94a57 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/oraAdat-pre.php @@ -0,0 +1,2 @@ +<?php +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/tankor-pre.php b/mayor-orig/www/policy/private/naplo/tools/tankor-pre.php new file mode 100644 index 00000000..ae614514 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/tankor-pre.php @@ -0,0 +1,39 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/kereso.php'); + + + $ADAT['tankorId'] = readVariable($_POST['tankorId'],'id',null); + $ADAT['tankorAdat'] = getTankorAdat($ADAT['tankorId']); // tanév!!! + $ADAT['tankorTipusok'] = getTankorTipusok(); + $ADAT['html']['blokk0'] = htmlTankorAdat($ADAT); + $ADAT['html']['blokkok'] = 1; + $_JSON[] = $ADAT; + + + function htmlTankorAdat($ADAT) { + $tankorAdat = $ADAT['tankorAdat'][$ADAT['tankorId']][0]; // index? + $r.= '<style type="text/css"> + table._t tr th { font-weight:normal; text-align: right; } + </style>'; + $r.='<table class="_t">'; + foreach($tankorAdat as $k => $v) { + $r .= '<tr><th>'.$k.':</th><td>'.$v.'</td></tr>'; + } + $r.='</table>'."\n"; + +/* $r.= 'Tankörtípus:'; + $r.= '<select>'; + for ($i=0; $i<10; $i++) { + $r.= '<option value="'.$i.'">'.serialize($TA[$i]).'</option>'; + } + $r.= '</select>'; + $r.=serialize($TA); +*/ + return $r; + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/tankorLista-pre.php b/mayor-orig/www/policy/private/naplo/tools/tankorLista-pre.php new file mode 100644 index 00000000..7dab9b9f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/tankorLista-pre.php @@ -0,0 +1,66 @@ +<?php + /* + * Az oldal különböző bejövő paraméterek alapján ad vissza ajax kérésre egy tankör listát... + */ + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access'; + + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); + + $diakId = readVariable($_POST['diakId'], 'id'); + $osztalyId = readVariable($_POST['osztalyId'], 'id'); + $tanarId = readVariable($_POST['tanarId'], 'id'); + $targyId = readVariable($_POST['targyId'], 'id'); + $mkId = readVariable($_POST['mkId'], 'id'); + $tolDt = readVariable($_POST['tolDt'], 'date'); + $igDt = readVariable($_POST['igDt'], 'date'); + $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV); + $bontasIds = readVariable($_POST['bontasIds'],'id'); //, array(101,102,103,104,105,106)); + + + // tankörök lekérdezése - lényegében a tankorSelect-nek megfelelően + if (isset($diakId) && $diakId!='') { // diák tankörei + $tankorok = getTankorByDiakId($diakId, $tanev, array('tolDt'=>$tolDt, 'igDt'=>$igDt)); + } elseif (isset($osztalyId) && $osztalyId!='') { // osztály tankörei + $tankorok = getTankorByOsztalyId($osztalyId, $tanev, array('tolDt'=>$tolDt, 'igDt'=>$igDt)); + } elseif (isset($tanarId) && $tanarId!='') { // tanár tankörei + $tankorok = getTankorByTanarId($tanarId, $tanev, array('tolDt'=>$tolDt, 'igDt'=>$igDt)); + } else { // általános tankörlekérdző + $WHERE = array(); + if (isset($targyId) && $targyId != '') { // leszűkítés adott tárgyra + $WHERE[] = 'targyId='.$targyId; + } elseif (isset($mkId) && $mkId != '') { // leszűkítés adott munkaközösségre + $TARGYAK = getTargyakByMkId($mkId); + for ($i = 0; $i < count($TARGYAK); $i++) $T[] = $TARGYAK[$i]['targyId']; + if (count($T) > 0) $WHERE[] = 'targyId IN ('.implode(',', $T).')'; + } + + if (isset($tanev)) // szűkítés adott tanévre + $WHERE[] = 'tankorSzemeszter.tanev='.$tanev; + + $tankorok = getTankorok($WHERE); + } + $tankorIds = array(); + for ($i=0; $i<count($tankorok); $i++) $tankorIds[] = $tankorok[$i]['tankorId']; + + // speciális szűrések, tagolások + if (is_array($bontasIds) && count($bontasIds)>0) { + + $bontasTankorIds = getTankorByBontasIds($bontasIds); + $tankorOraszamok = getTankorTervezettOraszamok($tankorIds); + + for ($i=0; $i<count($tankorok); $i++) { + $tankorok[$i]['kiemelt'] = (in_array($tankorok[$i]['tankorId'], $bontasTankorIds)); + $tankorok[$i]['oraszam'] = $tankorOraszamok[ $tankorok[$i]['tankorId'] ]['oraszam']; + $tankorok[$i]['bontasOraszam'] = $tankorOraszamok[ $tankorok[$i]['tankorId'] ]['bontasOraszam']; + } + } +//dump($tankorok); + + + $_JSON['tankorok'] = $tankorok; + $_JSON['post'] = $_POST; +// $_JSON['bontasTankorIds'] = $bontasTankorIds; +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/tankorMod-pre.php b/mayor-orig/www/policy/private/naplo/tools/tankorMod-pre.php new file mode 100644 index 00000000..35a4306f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/tankorMod-pre.php @@ -0,0 +1,40 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access'; + else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorModifier.php'); + + $tankorId = readVariable($_POST['tankorId'], 'id',null); + $tankorSzemeszter = $_POST['tankorSzemeszter']; + $tankorNevExtra = readVariable($_POST['tankorNevExtra'],'string'); + $osztalyIds = readVariable($_POST['osztalyIds'], 'id'); + + tankorOsztalyHozzarendeles($tankorId, $osztalyIds); // A tankör nevét nem módosítja!! + tankorSzemeszterHozzarendeles($tankorId, $tankorSzemeszter); // A tankör nevét nem módosítja + setTankorNev($tankorId, $tankorNevExtra); + + $tmp = getTankorAdat($tankorId); + $targyAdat = getTargyById($tmp[$tankorId][0]['targyId']); + + $_JSON = $tmp[$tankorId][0]; + $_JSON['tankorNevTargyNelkul'] = str_replace($targyAdat['targyNev'].' ','',$_JSON['tankorNev']); + $_JSON['tankorNevReszei'] = array( + 'evfOszt' => substr($_JSON['tankorNev'],0, strpos($_JSON['tankorNev'],' ')), + 'targyNev' => $targyAdat['targyNev'], + 'tankorJel' =>$_JSON['tankorJel'] + ); + $_JSON['tankorNevReszei']['tankorNevExtra'] = trim(str_replace($_JSON['tankorNevReszei']['evfOszt'].' '.$_JSON['tankorNevReszei']['targyNev'],'', + str_replace($_JSON['targyJel'],'',$_JSON['tankorNev']))); + $_JSON['tankorSzemeszter'] = getTankorSzemeszterei($tankorId); + $_JSON['osztalyIds'] = getTankorOsztalyai($tankorId); + $_JSON['alert'] = $_SESSION['alert']; + $_JSON['osztalyok'] = getOsztalyok(); + $_JSON['tankorTipusok'] = getTankorTipusok(); + // $_JSON['post'] = $_POST; + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/tools/ujTankor-pre.php b/mayor-orig/www/policy/private/naplo/tools/ujTankor-pre.php new file mode 100644 index 00000000..0f581de6 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/tools/ujTankor-pre.php @@ -0,0 +1,114 @@ +<?php + /* + * Az oldal különböző bejövő paraméterek alapján létrehoz egy tankört, majd az adatait json formában visszaküldi... + * Jelenleg csak $bontasIds bemeneti paraméterrel működik. + */ + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access'; + else { + + require_once('include/modules/naplo/share/bontas.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/tankorModifier.php'); + +/* + $diakId = readVariable($_POST['diakId'], 'id'); + $osztalyId = readVariable($_POST['osztalyId'], 'id'); + $tanarId = readVariable($_POST['tanarId'], 'id'); + $targyId = readVariable($_POST['targyId'], 'id'); + $mkId = readVariable($_POST['mkId'], 'id'); + $tolDt = readVariable($_POST['tolDt'], 'date'); + $igDt = readVariable($_POST['igDt'], 'date'); + $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV); +*/ + $bontasIds = readVariable($_POST['bontasIds'],'id'); // 1430, 1441 + // Az első bontásból lekérdezzük a következő adatokat: + // - (tárgy) típus + // - tárgy (targyId) + $koAdat = getKepzesOratervAdatByBontasId($bontasIds[0]); + $ADAT['tipus'] = $koAdat['tipus']; + $ADAT['targyId'] = $koAdat['targyId']; + // - tankör típus (tankorTipusId) ~ első nyelv, második nyelv, óratervi (gyakorlat?) + $ADAT['tankorTipusId'] = ($koAdat['tipus']=='első nyelv'?2:($koAdat['tipus']=='második nyelv'?3:1)); + // - felmenő óraszámok (tankorSzemeszter) + $targyOraterv = getTargyAdatFromKepzesOraterv($koAdat['kepzesId'], $ADAT); + $ADAT['oraszam'] = array(); $tanev=__TANEV; $ok = false; + foreach ($targyOraterv as $targyId => $tAdat) { + foreach ($tAdat as $evfolyamJel => $eAdat) { + if ($evfolyamJel == $koAdat['evfolyamJel']) $ok = true; + if ($ok) { + foreach ($eAdat as $szemeszter => $szAdat) { + $ADAT['oraszam'][$tanev][$szemeszter] = $szAdat[0]['hetiOraszam']; + $tankorOraszam[] = array('tanev'=>$tanev,'szemeszter'=>$szemeszter,'oraszam'=>$szAdat[0]['hetiOraszam']); + } + $tanev++; + } + } + } + // a bontásokból: + // - osztalyIds + $q = "SELECT DISTINCT osztalyId FROM kepzesTargyBontas WHERE bontasId IN (".implode(',', array_fill(0, count($bontasIds), '%u')).")"; + $ADAT['osztalyIds'] = db_query($q, array('fv'=>'ujTankor-pre','modul'=>'naplo','result'=>'idonly','values'=>$bontasIds)); + // A tárgy adataiból: évközi követelmény + $targyAdat = getTargyById($ADAT['targyId']); + $ADAT['kovetelmeny'] = $targyAdat['evkoziKovetelmeny']; + // kellene még: elnevezés + $ADAT['tankorJel'] = 'B'.$bontasIds[0]; + // választható - default NULL; min/max létszám: 0; évközi követelmény: a tárgyból/jegy; + $ADAT['min'] = $ADAT['max'] = 0; + + // A tankor felvétele + $lr = db_connect('naplo_intezmeny'); + db_start_trans($lr); $ok = true; + $q = "INSERT INTO tankor (targyId,tankorTipusId,kovetelmeny,min,max) VALUES (%u,%u,'%s',%u,%u)"; + $v = array($ADAT['targyId'], $ADAT['tankorTipusId'], $ADAT['kovetelmeny'], $ADAT['min'], $ADAT['max']); + $tankorId = db_query($q, array('fv'=>'ujTankor-pre/1','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v), $lr); + $ok = $ok && $tankorId; + if ($ok) { + // tankör-osztály hozzárendelés + $q = "INSERT INTO tankorOsztaly (tankorId, osztalyId) VALUES (%u, %u)"; + foreach ($ADAT['osztalyIds'] as $index => $osztalyId) $ok = $ok && db_query($q, array('fv'=>'ujTankor-pre/3','modul'=>'naplo_intezmeny','values'=>array($tankorId, $osztalyId)), $lr); + } + if ($ok) { + // tankör-szemeszter - még tankörnév nélkül... + $tankorNev = $ADAT['tankorJel']; + foreach ($ADAT['oraszam'] as $tanev => $tAdat) { + foreach ($tAdat as $szemeszter => $oraszam) { + $q = "INSERT INTO tankorSzemeszter (tankorId, tanev, szemeszter, oraszam, tankorNev) VALUES (%u, %u, %u, %f, '%s')"; + $ok = $ok && db_query($q, array('fv'=>'ujTankor-pre/4','modul'=>'naplo_intezmeny','values'=>array($tankorId, $tanev, $szemeszter, $oraszam, $tankorNev)), $lr); + } + } + } + // tankör nevének beállítása + if ($ok) $nev = setTankorNev($tankorId, $tankorNevExtra='B'.$bontasIds[0], $lr); + $ok = $ok && ($nev !== false); + + // tankör bontásokhoz rendelése + $bontasAdat = getBontasAdat($bontasIds[0]); + $hetiOraszam = $koAdat['hetiOraszam']-$bontasAdat['hetiOraszam']; + $ok = $ok && bontasTankorHozzarendeles($bontasIds, $tankorId, $hetiOraszam, $lr); + + // visszaküldendő adatok összegyűjtése + $tankorAdat = getTankorAdat($tankorId, __TANEV, $lr); + $_JSON = array( + 'bontasIds' => $bontasIds, + 'hetiOraszam' => $hetiOraszam, + 'tankorId' => $tankorId, + 'tankorNev' => str_replace($targyAdat['targyNev'].' ','',$tankorAdat[$tankorId][0]['tankorNev']), + 'tankorNevOrig' => $tankorAdat[$tankorId][0]['tankorNev'], + 'tankorOraszam' => $tankorOraszam, + 'ideiTankorOraszam' => array( + $tankorAdat[$tankorId][0]['oraszam'], + $tankorAdat[$tankorId][1]['oraszam'] + ) + ); + if ($ok !== false) { + db_commit($lr); + } else { db_rollback($lr); } + db_close($lr); + + } +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/uzeno/postas-pre.php b/mayor-orig/www/policy/private/naplo/uzeno/postas-pre.php new file mode 100644 index 00000000..8f44cd8c --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/uzeno/postas-pre.php @@ -0,0 +1,89 @@ +<?php + + require_once('include/modules/naplo/uzeno/uzeno.php'); /* !!! */ + + require_once('include/modules/naplo/share/kereso.php'); + include_once('include/modules/naplo/share/tankor.php'); + include_once('include/modules/naplo/share/diak.php'); + include_once('include/modules/naplo/share/szulo.php'); + include_once('include/modules/naplo/share/tanar.php'); + include_once('include/modules/naplo/share/osztaly.php'); + include_once('include/modules/naplo/share/munkakozosseg.php'); + + /* ADMIN */ +// if (__UZENOADMIN===true) { +// $ADAT['asWho'] = readVariable($_POST['asWho'],'strictstring','asIs',array('asAdmin','asIs')); +// define('__ASWHO',$ADAT['asWho']); +// } else define('__ASWHO','asIs'); + + $ADAT['user']['feladoId'] = setUzenoFeladoId(false); + $ADAT['user']['feladoTipus'] = getUzenoSzerep(false); + /* ADMIN */ + + initSzerep(); + define('__MEID',setUzenoFeladoId($nooverride=true)); + + $ADAT['pattern'] = readVariable($_POST['pattern'],'string'); + $ADAT['cimzett'] = readVariable($_POST['cimzett'],'string'); + $ADAT['diakokkal'] = readVariable($_POST['diakokkal'],'bool'); // ez mindig true + $ADAT['txt'] = readVariable($_POST['txt'],'string'); + $ADAT['tanev'] = readVariable($_POST['tanev'],'numeric',__TANEV); + list($_cimzettTipus,$_cimzettId) = explode('|',$ADAT['cimzett']); + $ADAT['cimzettTipus'] = readVariable($_cimzettTipus,'strictstring',null); + $ADAT['cimzettId'] = readVariable($_cimzettId,'id',null); + + $ADAT['mId'] = readVariable($_GET['mId'],'id',null); + if (isset($ADAT['mId'])) { + $SET['filter'][] = 'uzeno.mId='.intval($ADAT['mId']); + $SET['tanev'] = $ADAT['tanev']; + $SET['count'] = false; + $ADAT['uzenet'] = getUzenoUzenetek($SET); + } + + if ($ADAT['pattern']!='') { /* Ha keres */ + if (uzenhet('diak')) $ADAT['r']['diak' ] = getDiakokByPattern($ADAT['pattern']); + if (uzenhet('tanar')) $ADAT['r']['tanar'] = getTanarokByPattern($ADAT['pattern']); + if (uzenhet('szulo')) $ADAT['r']['szulo'] = getSzulokByPattern($ADAT['pattern'],array('diakokkal'=>$ADAT['diakokkal'])); + } elseif ($ADAT['mId']!='' && count($ADAT['uzenet'])==1) { + // egy üzenet adatait nézzük, akkor kérdezzük le a feladót és a címzettet + $D = $ADAT['uzenet'][0]; + foreach (array('felado','cimzett') as $_t) { + switch ($D[$_t.'Tipus']) { + case 'tanar': $nev = getTanarNevById($D[$_t.'Id']); break; + case 'diak': $nev = getDiakNevById($D[$_t.'Id']); break; + case 'szulo': $nev = getSzuloNevById($D[$_t.'Id']); break; + case 'tankor': + case 'tankorSzulo': $nev = getTankorNevById($D[$_t.'Id']); break; + case 'munkakozosseg': $nev = getMunkakozossegNevById($D[$_t.'Id']); break; + case 'osztaly': + case 'osztalyTanar': + case 'osztalySzulo': $nev = getOsztalyNevById($D[$_t.'Id']); break; + } + if (uzenhet($_t.'Tipus')) $ADAT['r'][$D[$_t.'Tipus']][] = array($D[$_t.'Tipus'].'Id'=>$D[$_t.'Id'],$D[$_t.'Tipus'].'Nev'=>$nev); + } + } else { + $ADAT['r'] = initUzenoTipusok(array('csakId'=>false,'tanev'=>$ADAT['tanev'])); + if (uzenhet('tanar') && in_array(__SZEREP,array('diak','szulo'))) /* Írjuk felül az üres tanart a tankör tanáraival */ + $ADAT['r']['tanar'] = extendUzenoTipusok(array('csakId'=>false,'tanev'=>$ADAT['tanev'])); + if (uzenhet(__SZEREP)) $ADAT['r'][__SZEREP][] = array(__SZEREP.'Id'=>0, __SZEREP.'Nev'=>''); + } + + if ($ADAT['cimzettTipus']!='' && is_numeric($ADAT['cimzettId']) && ($_POST['postazoHash']=='submit' || $_POST['gomb']=='OK')) { + + $P = array( + 'tanev'=>__TANEV, + 'cimzettId'=>readVariable($ADAT['cimzettId'],'id'), + 'cimzettTipus' => readVariable($ADAT['cimzettTipus'],'strictstring',null), + 'txt'=> $ADAT['txt'] ); + + if (postUzenet($P) === true) { + /* Ha sikered */ + unset($_POST); + header('Location: '.location('index.php?page=naplo&sub=uzeno&f=uzeno')); + } else { + $_SESSION['alert'][] = 'page::uzenorogziteshiba'; + } + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/uzeno/postas.php b/mayor-orig/www/policy/private/naplo/uzeno/postas.php new file mode 100644 index 00000000..18ccddef --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/uzeno/postas.php @@ -0,0 +1,5 @@ +<?php + global $ADAT; + + putUzenoPostazo($ADAT); +?> diff --git a/mayor-orig/www/policy/private/naplo/uzeno/uzeno-pre.php b/mayor-orig/www/policy/private/naplo/uzeno/uzeno-pre.php new file mode 100644 index 00000000..4aededc1 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/uzeno/uzeno-pre.php @@ -0,0 +1,187 @@ +<?php + +if (__UZENO_INSTALLED === true) { + + global $TOOL,$action; + + include_once('include/modules/naplo/share/tankor.php'); + include_once('include/modules/naplo/share/diak.php'); + include_once('include/modules/naplo/share/szulo.php'); + include_once('include/modules/naplo/share/tanar.php'); + include_once('include/modules/naplo/share/osztaly.php'); + include_once('include/modules/naplo/share/munkakozosseg.php'); + +// define('__ASWHO','asIs'); + initSzerep(); // defines __SZEREP, lásd még __UZENOSZEREP + define('__MEID',setUzenoFeladoId($nooverride=true)); + $csoportTipus = array('munkakozosseg','tankor','tankorSzulo','osztaly','osztalySzulo','osztalyTanar'); + + if (__SZEREP=='tanar') { // ha tanárok vagyunk és szereztünk diakId-t, akkor: + $ADAT['diakId'] = readVariable($_GET['diakId'],'id',null); + if ($ADAT['diakId']>0) $defaultSzalId = __MEID.'_'.__SZEREP.'_'.$ADAT['diakId'].'_diak'; + if ($ADAT['diakId']>0) $defaultCimzett = 'diak|'.$ADAT['diakId']; + } + // vezérléshez + $ADAT['mId'] = readVariable($_GET['mId'],'id'); + $ADAT['szalId'] = readVariable($_GET['szalId'],'string',$defaultSzalId); + $ADAT['cimzettId'] = readVariable($_GET['cimzettId'],'id'); + $ADAT['cimzettTipus'] = readVariable($_GET['cimzettTipus'],'strictstring'); + $ADAT['replyTipus'] = $ADAT['cimzettTipus'] ; + $ADAT['feladoId'] = readVariable($_GET['feladoId'],'id'); + $ADAT['feladoTipus'] = readVariable($_GET['feladoTipus'],'strictstring'); + + $ADAT['mutato'] = readVariable($_GET['mutato'], 'numeric'); + $ADAT['tanev'] = readVariable($_POST['tanev'],'numeric',readVariable($_GET['tanev'],'numeric',__TANEV)); + + $ADAT['toSkin'] = readVariable($_GET['toSkin'],'enum',null,$SKINS); + + $ADAT['pattern'] = readVariable($_POST['pattern'],'string'); + /* Ha van cimzett mező, akkor az új UI-ről jön a kérés, felülírhatunk mindent. */ + $ADAT['cimzett'] = readVariable($_POST['cimzett'],'string',$defaultCimzett); + if($ADAT['cimzett']!='') { + //$_SESSION['alert'][] = '::postazonak kellene kezelni!!!'; // he? + list($ADAT['cimzettTipus'],$ADAT['cimzettId']) = explode('|',$ADAT['cimzett']); + } else { + $ADAT['cimzettTipus'] = readVariable($_POST['cimzettTipus'],'strictstring'); + $ADAT['cimzettId'] = intval($_POST[$ADAT['cimzettTipus'].'Id']); + } + +// $ADAT['r']['diak'] = getDiakokByPattern($ADAT['pattern']); + + /* Képkezelés */ + $ADAT['kepMutat'] = __SHOW_FACES_TF; + + $ADAT['tagsagok'] = initUzenoTipusok(array('csakId'=>false,'tanev'=>$ADAT['tanev'])); + $ADAT['tagsagok']['diak'] = getDiakok(); + $ADAT['tagsagok']['tanar'] = getTanarok(); +// $ADAT['tagsagok'][__SZEREP][] = setUzenoFeladoId(); + /* create id */ + + /*..*/ + $AVAIL_TIPUSOK = (array_keys($ADAT['tagsagok'])); + /* Postázó + mayorNaploUzen cookie-t minden oldalletöltésnél újrageneráljuk, így a posttal, ha nem egyezik, biza hiába minden. + */ + $kuuk = readVariable($_COOKIE['mayorNaploUzen'],'strictstring'); + $txt = (readVariable($_POST['txt'],'string')); + + if ($action == 'postUzenet' && $kuuk == $_POST['kuuk'] && in_array($_POST['cimzettTipus'],$AVAIL_TIPUSOK) && $txt!='' + && $_POST[$_POST['cimzettTipus'].'Id'] != '' + ) { + /* hacky spellchecker - to get rid of annoying mispelled... */ + if (mb_stristr($txt,'tanárúr',false,'UTF-8')!==false) $_SESSION['alert'][] = 'message:check_spelling:Tanár úr!'; + if (mb_stristr($txt,'tanár nő',false,'UTF-8')!==false) $_SESSION['alert'][] = 'message:check_spelling:Tanárnő!'; + if (mb_stristr($txt,'muszály',false,'UTF-8')!==false) $_SESSION['alert'][] = 'message:check_spelling:Muszáj!'; + /* --- */ + $P = array( + 'tanev'=>$ADAT['tanev'], + 'cimzettId'=> $ADAT['cimzettId'], + 'cimzettTipus' => $ADAT['cimzettTipus'], + 'txt'=> $txt ); + if (count($_SESSION['alert'])==0 && postUzenet($P)===true) { + $_SESSION['alert'][] = 'info:msg_success:'; // a félreértés kedvéért kitöröljük a szűrőket + unset($ADAT['feladoTipus']); unset($ADAT['feladoId']); + unset($ADAT['cimzettTipus']); unset($ADAT['cimzettId']); + } else { + $_SESSION['alert'][] = 'info::figyelmezteto uzenetkor nem rogzitjuk az uzeneteket!'; + $ADAT['txt']=$txt; + } + unset($P); + unset($ADAT['mId']); + } elseif (__UZENOADMIN===true && $_GET['action'] =='delUzenet') { + delUzenet($ADAT['mId'],$ADAT['tanev']); + unset($ADAT['mId']); + } elseif ($_GET['action'] == 'flagUzenet') { // közvetlenül is olvashatjuk + $FLAG['flag'] = readVariable($_GET['flag'],'numeric unsigned',1,array(0,1)); + $FLAG['mId'] = $ADAT['mId']; + $FLAG['tanev']= $ADAT['tanev']; + // a kapcsolótáblába rögzíthető status + flagUzenet($FLAG); + unset($ADAT['mId']); + } + + $ADAT['kuuk'] = rand(); + setcookie('mayorNaploUzen', $ADAT['kuuk']); + + $_CONVERT = array('tankorSzulo'=>'tankor', 'osztalySzulo'=>'osztaly', 'osztalyTanar'=>'osztaly'); + if ($ADAT['cimzettId']!='' && in_array($ADAT['cimzettTipus'],$AVAIL_TIPUSOK) ) { + $b = false; + for ($i=0; $i<count( $ADAT['tagsagok'][$ADAT['cimzettTipus']] ) ; $i++) { + $_tipus = (!in_array($ADAT['cimzettTipus'], array('tankorSzulo','osztalySzulo','osztalyTanar'))) ? $ADAT['cimzettTipus'].'Id' : str_replace('Szulo','',$ADAT['cimzettTipus']).'Id' ; + if (intval($ADAT['tagsagok'][$ADAT['cimzettTipus']][$i][$_tipus])==$ADAT['cimzettId']) { + $b = true; + break; + } + } + if ($b===true) { + $SET['filter'][] = 'cimzettId='.intval($ADAT['cimzettId']); + $SET['filter'][] = 'cimzettTipus="'.$ADAT['cimzettTipus'].'"'; + } + } + + if ($ADAT['feladoId']!='' && in_array($ADAT['feladoTipus'],$AVAIL_TIPUSOK)) { + $b = false; + for ($i=0; $i<count( $ADAT['tagsagok'][$ADAT['feladoTipus']] ) ; $i++) { + if (intval($ADAT['tagsagok'][$ADAT['feladoTipus']][$i][$ADAT['feladoTipus'].'Id'])==$ADAT['feladoId']) { + $b = true; + break; + } + } + if ($b===true) { + $SET['filter'][] = 'feladoId='.intval($ADAT['feladoId']); + $SET['filter'][] = 'feladoTipus="'.$ADAT['feladoTipus'].'"'; + } + } + + if ($ADAT['szalId']!='') { + list($_feladoId,$_feladoTipus,$_cimzettId,$_cimzettTipus) = explode('_',$ADAT['szalId']); + if ($_cimzettId==0) { // mindenki + $SET['filter'][] = "(cimzettId=$_cimzettId AND cimzettTipus='$_cimzettTipus')"; + } elseif (in_array($_cimzettTipus,$csoportTipus)) { + $SET['filter'][] = "(cimzettId=$_cimzettId AND cimzettTipus='$_cimzettTipus')"; + } else { + $SET['filter'][] = "((feladoId=$_feladoId AND feladoTipus='$_feladoTipus' AND cimzettId=$_cimzettId AND cimzettTipus='$_cimzettTipus') + OR (cimzettId=$_feladoId AND cimzettTipus='$_feladoTipus' AND feladoId=$_cimzettId AND feladoTipus='$_cimzettTipus'))"; + } + $SET['limits'] = array('limit'=>100,'pointer'=>0); + $SET['order'] = 'DESC'; + } elseif ($ADAT['mId']!='') { + $SET['filter'][] = 'uzeno.mId='.intval($ADAT['mId']); + } elseif ($skin=='ajax') { + $SET['limits'] = array('limit'=>__UZENO_AJAXLIMIT,'pointer'=>0); + $SET['filterFlag'][] = '`uzenoFlagek`.`flag`!=1 OR flag IS NULL'; + } else { + if (!is_numeric($ADAT['mutato']) || $ADAT['mutato']==0) $SET['limits'] = array('limit'=>__UZENO_DEFAULTLIMIT, 'pointer'=>0); + else $SET['limits'] = array('limit'=>__UZENO_DEFAULTLIMIT, 'mutato'=>$ADAT['mutato'], 'pointer'=>($ADAT['mutato']-1)*__UZENO_DEFAULTLIMIT); + } + $SET['tanev'] = $ADAT['tanev']; + $ADAT['limits'] = $SET['limits']; + $ADAT['uzenetek'] = getUzenoUzenetek($SET); + /* id */ + // for($i=0; $i<count($ADAT['uzenetek']); $i++) $ADAT['uzenetIdk'][] = $ADAT['uzenetek'][$i]['mId']; + //-- + for($i=0; $i<count($ADAT['uzenetek']); $i++) { + $_m = $ADAT['uzenetek'][$i]; + if ($_m['feladoTipus'] == 'szulo') $_SZULOIDS[] = $_m['feladoId']; + } + $ADAT['tagsagok']['szulo'] = getSzulok(array('csakId'=>false,'result'=>'standard','szuloIds'=>$_SZULOIDS)); + for($i=0; $i<count($ADAT['tagsagok']['szulo']); $i++) { + $SZULOIDS[] = $ADAT['tagsagok']['szulo'][$i]['szuloId']; + } + if (is_array($SZULOIDS) && count($SZULOIDS) > 0 && count($SZULOIDS)<50) $ADAT['szuloDiakjai'] = getSzulokDiakjai($SZULOIDS); + // + $SET['count'] = true; + $ADAT['limits']['max'] = getUzenoUzenetek($SET); + + $TOOL['tanevSelect'] = array('tipus'=>'cella', 'paramName'=>'tanev', 'tanev'=>$ADAT['tanev'], 'post' => array('tanev')); + $TOOL['vissza'] = array('tipus'=>'vissza','paramName'=>'','icon'=>'inbox','post'=>array('page'=>'naplo','sub'=>'uzeno','f'=>'uzeno')); + if ($ADAT['szalId']!='' || $ADAT['mId']!='') { + $TOOL['vissza']['icon'] = 'arrow-left'; + } + + getToolParameters(); + +} else { + $_SESSION['alert'][] = '::uzeno_is_not_installed'; +} +?> diff --git a/mayor-orig/www/policy/private/naplo/uzeno/uzeno.php b/mayor-orig/www/policy/private/naplo/uzeno/uzeno.php new file mode 100644 index 00000000..12036771 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/uzeno/uzeno.php @@ -0,0 +1,12 @@ +<?php + +if (__UZENO_INSTALLED === true) { + + global $ADAT; + if ( count($ADAT['uzenetek'])>0 ) + putUzeno($ADAT); + if ($skin!='ajax' && $ADAT['feladoId']!==0) + putUzenoUzenet($ADAT); + +} +?> diff --git a/mayor-orig/www/policy/private/password/changePassword-pre.php b/mayor-orig/www/policy/private/password/changePassword-pre.php new file mode 100644 index 00000000..08731581 --- /dev/null +++ b/mayor-orig/www/policy/private/password/changePassword-pre.php @@ -0,0 +1,60 @@ +<?php +/* + Module: base/password + + Ez még teljesen kiforratlan! + Csak átmásoltam a public-ból, és elkezdtem átírni... +*/ + + if (_RIGHTS_OK !== true) die(); + + $toPolicy = readVariable($_POST['toPolicy'], 'enum', readVariable($_GET['toPolicy'], 'enum', _POLICY, $POLICIES), $POLICIES); + + // Itt csak a private policy jelszavát lehet módosítani +// $toPolicy = 'private'; + $userAccount = readVariable($_REQUEST['userAccount'], 'emptystringnull'); + + // Ha saját jelszavát szeretné változtatni, akkor átirányítjuk oda + if ($userAccount == _USERACCOUNT) { + header('Location: '.location('index.php?policy=public&page=password&f=changePassword&toPolicy='.$toPolicy,array('lang','skin','sessionID'))); + exit; + } + + // Jogosultság ellenőrzés + if ( + memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup']) or + (memberOf($userAccount,'diák') and memberOf(_USERACCOUNT,'diakadmin')) + ) { + + // Az elküldött név+jelszó ellenőrzése + if ($action == 'changePassword') { + + if (file_exists('include/backend/'.$AUTH[$toPolicy]['backend'].'/password/changePassword.php')) { + require('include/backend/'.$AUTH[$toPolicy]['backend'].'/password/changePassword.php'); + } + + $newPassword = readVariable($_POST['newPassword'], 'emptystringnull'); + $verification = readVariable($_POST['verification'], 'emptystringnull'); + + if ($verification == '' or $newPassword == '') { + $_SESSION['alert'][] = 'message:empty_field'; + } elseif ($verification != $newPassword) { + $_SESSION['alert'][] = 'message:pw_not_match'; + } else { + + if (changePassword($userAccount, $newPassword, $toPolicy)) { + // Módosítsuk a bejelentkezett user eltárolt jelszavát? - hagyjuk inkább... legalább látja, hogy változott valami... + // updateSessionPassword($userAccount, $toPolicy, $verification); + } else { + $_SESSION['alert'][] = 'message:pw_change_failed'; + } + + } + + } // action + + } else { + $_SESSION['alert'][] = 'page:insufficient_access'; + } + +?> diff --git a/mayor-orig/www/policy/private/password/changePassword.php b/mayor-orig/www/policy/private/password/changePassword.php new file mode 100644 index 00000000..f95661e0 --- /dev/null +++ b/mayor-orig/www/policy/private/password/changePassword.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $userAccount, $toPolicy; + + putChangePasswordForm($userAccount, $toPolicy, true); // rögzített policy + +?> diff --git a/mayor-orig/www/policy/private/portal/start.php b/mayor-orig/www/policy/private/portal/start.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/portal/start.php diff --git a/mayor-orig/www/policy/private/session/accountInfo-pre.php b/mayor-orig/www/policy/private/session/accountInfo-pre.php new file mode 100644 index 00000000..7bf243cc --- /dev/null +++ b/mayor-orig/www/policy/private/session/accountInfo-pre.php @@ -0,0 +1,51 @@ +<?php +/* + Module: base/session +*/ + + if (_RIGHTS_OK !== true) die(); + + $userAccount = readVariable($_GET['userAccount'],'userAccount'); + $toPolicy = readVariable($_POST['toPolicy'], 'enum', + readVariable($_GET['toPolicy'], 'enum', _POLICY, $POLICIES), + $POLICIES + ); + + + if ($userAccount == '') $userAccount = _USERACCOUNT; + + // Milyen kategóriába sorolható a userAccount, illetve az aktuális user + $userCategories = getAccountCategories($userAccount, $toPolicy); + if ( + _POLICY == 'private' && + ( + memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup']) || + ( + memberOf(_USERACCOUNT,'diakadmin') && + in_array('diak',$userCategories) + ) + ) + ) define('_ACCESS_AS', _ADMIN_ACCESS); + elseif ($userAccount == _USERACCOUNT) define('_ACCESS_AS', _SELF_ACCESS); + else define('_ACCESS_AS', _OTHER_ACCESS); + + list($backendAttrs, $backendAttrDef) = getBackendAttrs('Account', $toPolicy); + if ($action == 'changeSettings') { + + changeAccountInfo($userAccount, $toPolicy); + + } elseif ($action=='userSettingsModify') { + + $changeSkinTo = readVariable($_POST['changeSkinTo'],'enum',null,$SKINSSHOW); + setUserSettings($userAccount, $toPolicy, array('skin'=>$changeSkinTo)); + + } + + + + $userInfo = getUserInfo($userAccount, $toPolicy); // keretrendszer attribútumai + $accountInfo = getAccountInfo($userAccount, $toPolicy); // backend attribútumai + + $ADAT = getUserSettings($userAccount, $toPolicy); + +?> diff --git a/mayor-orig/www/policy/private/session/accountInfo.php b/mayor-orig/www/policy/private/session/accountInfo.php new file mode 100644 index 00000000..7c4a3e0a --- /dev/null +++ b/mayor-orig/www/policy/private/session/accountInfo.php @@ -0,0 +1,15 @@ +<?php +/* + Module: base/session +*/ + + if (_RIGHTS_OK !== true) die(); + + global $accountInfo, $userInfo, $backendAttrDef, $toPolicy; + global $ADAT; + + putUserSettingsForm($ADAT); + + putAccountInfoForm($userInfo, $accountInfo, $backendAttrDef, $toPolicy); + +?> diff --git a/mayor-orig/www/policy/private/session/admin/knownNodes-pre.php b/mayor-orig/www/policy/private/session/admin/knownNodes-pre.php new file mode 100644 index 00000000..d166babd --- /dev/null +++ b/mayor-orig/www/policy/private/session/admin/knownNodes-pre.php @@ -0,0 +1,39 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__USERADMIN) { + $_SESSION['alert'][] = "page:insufficient_access"; + } else { + + require('include/share/ssl/ssl.php'); + + $ADAT['my']['url'] = $url = substr($_SERVER["HTTP_REFERER"], 0, strpos($_SERVER["HTTP_REFERER"], 'index.php?')); + $ADAT['my']['dt'] = date('Y-m-d'); + + $RPC = new Interconnect(); + $ADAT['my']['publicKey'] = $RPC->getPublicKey(); + $ADAT['my']['nodeId'] = $RPC->getNodeId(); + + + if ($action == 'rpcPing') { + $ADAT['nodeId'] = readVariable($_POST['nodeId'],'id'); + $RPC->setRemoteHostByNodeId($ADAT['nodeId']); + $RPC->setRequestTarget('base'); + $ADAT['pingResult'] = $RPC->sendRequest(array('func'=>'ping')); + $ADAT['nodeVersion'] = $ADAT['pingResult']['revision']; + // $RPC->setRequestTarget('controller'); + } elseif ($action == 'getPublicDataByNodeId') { + $ADAT['nodeId'] = readVariable($_POST['nodeId'],'id'); + $RPC->setRequestTarget('base'); + $RPC->setRemoteHostByNodeId($ADAT['nodeId']); + } elseif ($action == 'removeNode') { + $ADAT['nodeId'] = readVariable($_POST['nodeId'],'id'); + removeNodeFromLocalKeychain($ADAT['nodeId']); + } + + $ADAT['nodes'] = getPublicDataFromLocalKeychain(); + + } + +?> diff --git a/mayor-orig/www/policy/private/session/admin/knownNodes.php b/mayor-orig/www/policy/private/session/admin/knownNodes.php new file mode 100644 index 00000000..e7a95d58 --- /dev/null +++ b/mayor-orig/www/policy/private/session/admin/knownNodes.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putGetNodeData(); + putKnownNodes($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/session/admin/registration-pre.php b/mayor-orig/www/policy/private/session/admin/registration-pre.php new file mode 100644 index 00000000..eabc8cfe --- /dev/null +++ b/mayor-orig/www/policy/private/session/admin/registration-pre.php @@ -0,0 +1,123 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (!__USERADMIN) { + $_SESSION['alert'][] = "page:insufficient_access"; + } else { + + require('include/share/ssl/ssl.php'); + + $ADAT['NODETIPUSOK'] = array('intézmény','backup','fejlesztői'); + $ADAT['OSSZEG'] = array(0,1000,2000,3000,5000,10000);; + // regisztrációs űrlap elemei (portal-mayor-ból átemelve... + $ADAT['MEZOK'] = array( + 'nodeTipus' => array('kotelezo'=>true,'options'=>$ADAT['NODETIPUSOK']), + 'nev' => array('kotelezo'=>true), + 'rovidNev' => array(), + 'OMKod' => array(), + 'cimHelyseg' => array('kotelezo'=>true), + 'cimIrsz' => array('kotelezo'=>true), + 'cimKozteruletNev' => array('kotelezo'=>true), + 'cimKozteruletJelleg' => array('kotelezo'=>true), + 'cimHazszam' => array('kotelezo'=>true), + 'telefon' => array(), + 'fax' => array(), + 'email' => array(), + 'honlap' => array(), + 'url' => array(), + 'kapcsolatNev' => array('kotelezo'=>true), + 'kapcsolatEmail' => array('kotelezo'=>true), + 'kapcsolatTelefon' => array(), + // külön, más helyen jelennek meg + 'dij'=> array('kotelezo'=>true,'display'=>false,'type'=>'none'), + 'egyebTamogatas' => array('display'=>false,'type'=>'none'), + 'utemezes'=>array('display'=>false,'type'=>'none'), + // rejtett mezők - nem módosíthatók + 'regId'=>array('display'=>false,'type'=>'none'), + 'dt'=>array('display'=>false), + 'publicKey' => array('kotelezo'=>true,'display'=>false,'readonly'=>true,'type'=>'textarea'), + ); + $ADAT['my']['url'] = $url = substr($_SERVER["HTTP_REFERER"], 0, strpos($_SERVER["HTTP_REFERER"], 'index.php?')); + $ADAT['my']['dt'] = date('Y-m-d'); + + $RPC = new Interconnect(); + $ADAT['my']['publicKey'] = $RPC->getPublicKey(); + $ADAT['my']['nodeId'] = $RPC->getNodeId(); + + // regisztráció + if ($action == 'sendRegRequest') { + unset($_POST['action']); + $_POST['publicRequest'] = 'registration'; + $res = json_decode(sendPublicRequest($_POST), true); + foreach ($res['alert'] as $index => $aAdat) $_SESSION['alert'][] = implode(':',$aAdat); + if ($res['success'] === true) { + setNodeId($res['nodeId'], $ADAT['my']['publicKey']); + $ADAT['my']['nodeId'] = $res['nodeId']; + $RPC = new Interconnect(); // újracsatlakozás... + } + //dump($res); + } elseif ($action == 'checkOldRegByPublicKey') { + $DATA['publicKey'] = $ADAT['my']['publicKey']; + $DATA['publicRequest'] = 'getNodeIdByPublicKey'; + // ha kellene ellenőrzés, akkar a választ a publicKey-el kódolva kellene küldeni... + $res = json_decode(sendPublicRequest($DATA), true); + foreach ($res['alert'] as $index => $aAdat) $_SESSION['alert'][] = implode(':',$aAdat); + if ($res['success'] === true) { + setNodeId($res['nodeId'], $ADAT['my']['publicKey']); + $ADAT['my']['nodeId'] = $res['nodeId']; + $RPC = new Interconnect(); // újracsatlakozás... + } + dump($res); + } + + if ($ADAT['my']['nodeId'] != 0) + try { + $RPC->setRemoteHostByNodeId(''); // controller + $RPC->setRequestTarget('controller'); + $ADAT['registrationStatus']['result'] = $RPC->sendRequest(array('func'=>'checkRegistration')); + //dump($ADAT['registrationStatus']['result'], $RPC->getStatus()); + // Teszt: egy alap metódus lekérdezése... + //$RPC->setRequestTarget('base'); + // $ADAT['controllerVersion'] = $RPC->sendRequest(array('func'=>'ping')); + // dump($ADAT['controllerVersion']); + // $RPC->setRequestTarget('controller'); + if ($ADAT['registrationStatus']['result']['valid'] == 1) { + $ADAT['regAdat'] = $RPC->getRegistrationDataByNodeId($ADAT['my']['nodeId']); + //dump($ADAT['regAdat'], $RPC->getStatus()); + } + } catch (Exception $e) { + dump("checkRegistration",$e); + } + + if ($action == 'modRegAdat') { + $MOD = array(); + foreach ($ADAT['regAdat']['nodeData'] as $key => $value) { + $newValue = readVariable($_POST[$key], 'string'); + if ( + !in_array($key, array('nodeId','regId','publicKey')) + && str_replace(array("\n","\r","\n\r"),"",$value) != str_replace(array("\n","\r","\n\r"),"",$newValue) + && !is_null($newValue) + ) $MOD[$key] = $newValue; + } + if (count($MOD) > 0) try { + // Interconnect-en keresztül!! + $ADAT['modRegData']['result'] = $RPC->sendRequest( + array('func'=>'modRegData', 'data'=>$MOD, 'regId'=>$ADAT['regAdat']['nodeData']['regId']) + ); + // A megjelenítéshez módosítjuk a kirakandó adatokat helyben is. + if ($ADAT['modRegData']['result']['result'] === true) { + $_SESSION['alert'][] = 'info:success:A regisztrációs adatokat módosítottuk a regisztrációs szerveren.'; + foreach ($MOD as $key => $val) $ADAT['regAdat']['nodeData'][$key] = $val; + } else { + $_SESSION['alert'][] = 'message:wrong_data:Az adatmódosítás nem sikerült a regisztrációs szerveren.'; + } + } catch (Exception $e) { + dump("modRegData",$e); + } + + } + + } + +?> diff --git a/mayor-orig/www/policy/private/session/admin/registration.php b/mayor-orig/www/policy/private/session/admin/registration.php new file mode 100644 index 00000000..6ad2d8e7 --- /dev/null +++ b/mayor-orig/www/policy/private/session/admin/registration.php @@ -0,0 +1,16 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + validRegisztracio($ADAT['registrationStatus']['result']['valid'], $ADAT['my']['nodeId']); + if ($ADAT['registrationStatus']['result']['valid'] != 1) { + putCheckOldReg($ADAT); + putRegisztracio($ADAT); + } else { + putRegisztracioMod($ADAT); + } + putPublicKey($ADAT['my']['publicKey']); + +?> diff --git a/mayor-orig/www/policy/private/session/createAccount-pre.php b/mayor-orig/www/policy/private/session/createAccount-pre.php new file mode 100644 index 00000000..ce789482 --- /dev/null +++ b/mayor-orig/www/policy/private/session/createAccount-pre.php @@ -0,0 +1,110 @@ +<?php +/* + Module: base/session + createAccount => byAdmin esetén csak az érintet policy-n belül az adminGroup tagjainak lehet létrehozni új account-ot + createAccount => byRegistration esetén bárki regisztrálhat bármely policy-ből +*/ + + if (_RIGHTS_OK !== true) die(); + + if (memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup'])) { + $DEFAULTS['userAccount'] = readVariable($_GET['userAccount'],'userAccount'); + $DEFAULTS['userCn'] = readVariable($_GET['userCn'],'emptystringnull'); + $DEFAULTS['userPassword'] = readVariable($_GET['userPassword'],'emptystringnull'); + $DEFAULTS['mail'] = readVariable($_GET['email'],'emptystringnull'); + $DEFAULTS['telephoneNumber'] = readVariable($_GET['tel'],'emptystringnull'); + } + + $toPolicy = readVariable($_POST['toPolicy'], 'enum', readVariable($_GET['toPolicy'], 'enum',_POLICY, $POLICIES), $POLICIES); + + @$toPSF = $_REQUEST['toPSF']; + + if ($toPolicy != _POLICY) require_once(_CONFIGDIR."/$toPolicy-conf.php"); + if ( + ( + $AUTH[$toPolicy]['createAccount'] == 'byAdmin' + and memberOf(_USERACCOUNT, $AUTH['private']['adminGroup']) + ) + or ( + $AUTH[$toPolicy]['createAccount'] == 'byRegistration' + && _USERACCOUNT =='' + ) + ) { + define('_ENABLE',true); + } else { + define('_ENABLE',false); + $_SESSION['alert'][] = 'page:insufficient_access:#1'; + } + + if (_ENABLE && $action == 'createAccount' && isset($_POST['new'])) { + + $file = $_FILES['file']['tmp_name']; + if ($file != '' && $file != 'none' && file_exists($file)) { + + $uidfp=fopen($file, 'r'); + while ($sor=fgets($uidfp, 4096)) { + list($userCn, $userAccount, $userPassword, $category, $studyId, $container)=explode(" ",chop($sor)); + // A biztonság kedvéért ez a html form validációval egyező legyen + $userCn = readVariable($userCn,'html'); + $userAccount = readvariable($userAccount,'html'); + $studyId = readVariable($studyId,'number'); + $category = readVariable($category, 'enum','',$AUTH[$toPolicy]['categories']); + $container = readVariable($container,'enum','',$AUTH[$toPolicy][$AUTH[$toPolicy]['backend'].'Containers']); + $policyAccountAttrs = array(); + if (is_array($AUTH[$toPolicy]['accountAttrs'])) foreach ($AUTH[$toPolicy]['accountAttrs'] as $attr) { + if (isset($$attr) and $$attr != '') $policyAccountAttrs[$attr] = readVariable($$attr, 'string'); + } + if (createAccount($userCn, $userAccount, $userPassword, $toPolicy, array('container'=> $container, 'category' => $category, 'policyAttrs' => $policyAccountAttrs)) ===false) { + $_SESSION['alert'][] = "info:user_create_failure: cn.$userCn|account.$userAccount|policy.$toPolicy|category.$category|container.$container"; + } + } + fclose($uidfp); + + } else { + + // kötelező paraméterek + $userCn = readVariable($_POST['userCn'],'html'); + $userAccount = readvariable($_POST['userAccount'],'html'); + $studyId = readVariable($_POST['studyId'],'number'); + $userPassword = $_POST['userPassword']; + $verification = $_POST['verification']; + + // opcionális paraméterek + $category = readVariable($_POST['category'], 'enum','',$AUTH[$toPolicy]['categories']); + $container = readVariable($_POST['container'],'enum','',$AUTH[$toPolicy][$AUTH[$toPolicy]['backend'].'Containers']); + + $policyAccountAttrs = array(); + if (is_array($AUTH[$toPolicy]['accountAttrs'])) foreach ($AUTH[$toPolicy]['accountAttrs'] as $attr) { + if (isset($_POST[$attr]) and $_POST[$attr] != '') $policyAccountAttrs[$attr] = readVariable($_POST[$attr], 'string'); // ??? + } + + if ($userCn == '' or $userAccount == '' or $userPassword == '' or $verification == '') { + // Csak policy váltás történt + // $_SESSION['alert'][] = 'message:empty_field'; + } elseif ($userPassword != $verification) { + $_SESSION['alert'][] = 'message:pw_not_match'; + } else { + if (createAccount($userCn, $userAccount, $userPassword, $toPolicy, + array('container'=> $container, 'category' => $category, 'policyAttrs' => $policyAccountAttrs))) { + if ( + _POLICY == 'private' + && memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup']) + ) header('Location: '.location("index.php?page=session&f=accountInfo&userAccount=$userAccount&toPolicy=$toPolicy")); + elseif (_POLICY == 'public') { + $toPSF = ($toPSF=='') ? 'auth::login' : $toPSF; + header( + 'Location: '.location("index.php?page=auth&f=login&userAccount=$userAccount&policy=public&toPolicy=$toPolicy&toPSF=$toPSF", array('skin','lang','sessionID')) + ); + } else { + $toPSF = ($toPSF=='') ? 'session::accountInfo' : $toPSF; + header( + 'Location: '.location("index.php?page=auth&f=login&userAccount=$userAccount&policy=public&toPolicy=$toPolicy&toPSF=$toPSF", array('skin','lang','sessionID')) + ); + } + } + } + } + + } + +?> diff --git a/mayor-orig/www/policy/private/session/createAccount.php b/mayor-orig/www/policy/private/session/createAccount.php new file mode 100644 index 00000000..94c4b703 --- /dev/null +++ b/mayor-orig/www/policy/private/session/createAccount.php @@ -0,0 +1,12 @@ +<?php +/* + Module: base/session +*/ + + if (_RIGHTS_OK !== true) die(); + + global $toPolicy,$DEFAULTS; + + putCreateAccountForm($toPolicy, $DEFAULTS); + +?> diff --git a/mayor-orig/www/policy/private/session/createGroup-pre.php b/mayor-orig/www/policy/private/session/createGroup-pre.php new file mode 100644 index 00000000..8b65ce02 --- /dev/null +++ b/mayor-orig/www/policy/private/session/createGroup-pre.php @@ -0,0 +1,49 @@ +<?php +/* + Module: base/session +*/ + + if (_RIGHTS_OK !== true) die(); + + if (_POLICY == 'private' && memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup'])) { + } else { + $_SESSION['alert'][] = 'page:insufficient_access'; + } + $toPolicy = readVariable($_POST['toPolicy'], 'enum', _POLICY, $POLICIES); + + if ($action == 'createGroup') { + + $file = $_FILES['file']['tmp_name']; + if ($file != '' and $file != 'none' and file_exists($file)) { +/* $uidfp=fopen($file, 'r'); + while ($sor=fgets($uidfp, 4096)) { + list($groupCn, $groupDesc, $category)=explode(" ",chop($sor)); + !!!!!!!! createGroup($groupCn, $groupDesc, $category, $toPolicy); + } + fclose($uidfp); +*/ + } else { + + $groupCn = readVariable($_POST['groupCn'],'html'); + $groupDesc = readVariable($_POST['groupDesc'],'html'); + $category = readVariable($_POST['category'],'enum',null,$AUTH[_POLICY]['categories']); + $container = readVariable($_POST['container'],'enum','',$AUTH[$toPolicy][$AUTH[$toPolicy]['backend'].'Containers']); + $policyGroupAttrs = array(); + if (is_array($AUTH[$toPolicy]['groupAttrs'])) foreach ($AUTH[$toPolicy]['groupAttrs'] as $attr) { + if (isset($_POST[$attr]) and $_POST[$attr] != '') $policyGroupAttrs[$attr] = readVariable($_POST[$attr], 'string'); // ??? + } + + if ($groupCn == '' || $groupDesc == '' || $category == '') { + // Csak policy váltás + //$_SESSION['alert'][] = 'message:empty_field'.":$groupCn:$groupDesc:$category"; + } else { + if (createGroup($groupCn, $groupDesc, $toPolicy, array('container'=> $container, 'policyAttrs' => $policyGroupAttrs))) { + header('Location: '.location("index.php?page=session&f=groupInfo&groupCn=$groupCn&toPolicy=$toPolicy")); + } + } + } + + + } + +?> diff --git a/mayor-orig/www/policy/private/session/createGroup.php b/mayor-orig/www/policy/private/session/createGroup.php new file mode 100644 index 00000000..a914ceaf --- /dev/null +++ b/mayor-orig/www/policy/private/session/createGroup.php @@ -0,0 +1,12 @@ +<?php +/* + Module: base/session +*/ + + if (_RIGHTS_OK !== true) die(); + + global $toPolicy; + + putCreateGroupForm($toPolicy); + +?> diff --git a/mayor-orig/www/policy/private/session/download-pre.php b/mayor-orig/www/policy/private/session/download-pre.php new file mode 100644 index 00000000..6b396143 --- /dev/null +++ b/mayor-orig/www/policy/private/session/download-pre.php @@ -0,0 +1,66 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!((defined('_POLICY') && _POLICY=='public') + || (defined('__TITKARSAG') && __TITKARSAG===true) + || (defined('__TANAR') && __TANAR===true) + || (defined('__NAPLOADMIN') && __NAPLOADMIN===true) + || (defined('__DIAK') && __DIAK===true) + )) { + return false; + } + + // $file - csak a file neve, útvonal nem lehet benne + if (isset($_POST['file']) && $_POST['file'] != '') $file = basename($_POST['file']); + elseif (isset($_GET['file']) && $_GET['file'] != '') $file = basename($_GET['file']); + + if (!isset($file)) $_SESSION['alert'][] = 'page:empty_fields:file'; + else { + // $dir - betű, szám, -, _, és / lehet benne (elején csak betű vagy szám) + $dir = readVariable($_POST['dir'], 'path', readVariable($_GET['dir'], 'path')); + + // Az útvonal beállítása + $path = _DOWNLOADDIR.'/'._POLICY; + if (isset($dir)) $path .= '/'.$dir; + $path .= '/'.$file; + + // Jogosultságok ellenőzése dir alapján + if (__DIAK===true) { + if (strstr($dir,'naplo/face/')===false) return false; + } + // Titkarsag, Tanar, Naploadmin letoltheti, amit szeretne + + // Létezik-e a file + if (!file_exists($path)) $_SESSION['alert'][] = 'page:file_not_found:'.substr($path, strlen(_DOWNLOADDIR.'/'._POLICY.'/')).':'.$path; + else { + + $ADAT['path'] = $path; + $ADAT['dir'] = $dir; + $ADAT['file'] = $file; + $ADAT['ext'] = strtolower(substr(strrchr($file,"."),1)); + $ADAT['size'] = filesize($path); + $ADAT['mime'] = readVariable($_POST['mimetype'], 'enum', readVariable($_GET['mimetype'], 'enum', null, $allowedMimeTypes), $allowedMimeTypes); + + // MiME típus megállapítása + if (!isset($ADAT['mime'])) { + if ($allowedExtensions[$ADAT['ext']] != '') $ADAT['mime'] = $allowedExtensions[$ADAT['ext']]; + else { + if (function_exists('mime_content_type')) { + $ADAT['mime'] = mime_content_type($ADAT['path']); + } elseif (function_exists('finfo_file')) { + $finfo = finfo_open(FILEINFO_MIME); + $ADAT['mime'] = finfo_file($finfo, $ADAT['path']); + finfo_close($finfo); + } + if ($ADAT['mime'] == '') $ADAT['mime'] = "application/force-download"; + } + } + if (in_array($ADAT['mime'],array('image/gif','image/png','image/jpeg','image/jpeg'))) $ADAT['pure']=true; + // letöltés + if (isset($_GET['download'])) passFile($ADAT); + + } + } + + +?> diff --git a/mayor-orig/www/policy/private/session/download.php b/mayor-orig/www/policy/private/session/download.php new file mode 100644 index 00000000..12d907a9 --- /dev/null +++ b/mayor-orig/www/policy/private/session/download.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (is_array($ADAT)) putDownloadForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/session/facebookConnect-pre.php b/mayor-orig/www/policy/private/session/facebookConnect-pre.php new file mode 100644 index 00000000..b0988ae5 --- /dev/null +++ b/mayor-orig/www/policy/private/session/facebookConnect-pre.php @@ -0,0 +1,91 @@ +<?php + + if (__FBCONNECT_ENABLED !== true ) return false; + + if (version_compare(PHP_VERSION, '5.4.0', '<')) { + return false; + } else { + /* facebook login start */ + require_once ('include/share/facebook/autoload.php'); + $fb = new Facebook\Facebook(array( + 'app_id' => __FB_APP_ID, + 'app_secret' => __FB_APP_SECRET, + 'cookie' => true, + 'status' => true, + 'default_graph_version' => 'v2.5', + )); + $oAuth2Client = $fb->getOAuth2Client(); + + $helper = $fb->getJavaScriptHelper(); + try { + $accessToken = $helper->getAccessToken(); + // convert + if ($accessToken !='' && !$accessToken->isLongLived()) { + try { + $accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken); + } catch (Facebook\Exceptions\FacebookSDKException $e) { + $_SESSION['alert'][] = "info::Error getting long-lived access token: " . $helper->getMessage() . ""; + } + } + } catch(Facebook\Exceptions\FacebookResponseException $e) { + // When Graph returns an error + $_SESSION['alert'][] = 'info::Graph returned an error: ' . $e->getMessage(); + } catch(Facebook\Exceptions\FacebookSDKException $e) { + // When validation fails or other local issues + $_SESSION['alert'][] = 'info::Facebook SDK returned an error: ' . $e->getMessage(); + } + if (isset($accessToken)) { + $_SESSION['facebook_access_token'] = (string) $accessToken; + $_SESSION['facebook_access_token_object'] = $accessToken; + $response = $fb->get('/me?fields=id,name,email',$accessToken); + $userNode = $response->getGraphUser(); + $ADAT['fbUserId'] = $userNode->getField('id'); + $ADAT['fbUserCn'] = $userNode->getField('name'); + $ADAT['fbUserEmail'] = $userNode->getField('email'); + } + } + if ($action=='revokeFbAuth') { + fbConnectRevoke($ADAT['fbUserId']); + } elseif ($action=='grantFbAuth') { + fbConnectGrant($ADAT); + } + + $ADAT['fbUserIdStatusz'] = checkFbConnectAssoc($ADAT); + + function checkFbConnectAssoc($ADAT) { + if ($ADAT['fbUserId']=='') return 0; + + $q = "SELECT count(*) AS db FROM facebookConnect where userAccount='%s' AND policy='%s' AND fbUserId='%s'"; + $v = array('userAccount'=>_USERACCOUNT,'policy'=>_POLICY,'fbUserId'=>$ADAT['fbUserId']); + $db = db_query($q,array('fv'=>'facebookConnectCheck','modul'=>'login','result'=>'value','values'=>$v)); + if ($db==1) return 1; // 'OK'; + + $q = "SELECT count(*) AS db FROM facebookConnect where userAccount='%s' AND policy='%s' AND fbUserId!='%s'"; + $v = array('userAccount'=>_USERACCOUNT,'policy'=>_POLICY,'fbUserId'=>$ADAT['fbUserId']); + $db = db_query($q,array('fv'=>'facebookConnectCheck','modul'=>'login','result'=>'value','values'=>$v)); + if ($db==1) return 2; // 'masik fbUserId van megadva'; + + $q = "SELECT count(*) AS db FROM facebookConnect where userAccount!='%s' AND policy='%s' AND fbUserId='%s'"; + $v = array('userAccount'=>_USERACCOUNT,'policy'=>_POLICY,'fbUserId'=>$ADAT['fbUserId']); + $db = db_query($q,array('fv'=>'facebookConnectCheck','modul'=>'login','result'=>'value','values'=>$v)); + if ($db==1) return 3; // 'masik userAccount van hozzárendelve ehhez a fb azonosítóhoz'; + + return false; + } + + function fbConnectRevoke($fbUserId) { + if ($fbUserId=='') return 0; + + $q = "DELETE FROM facebookConnect where userAccount='%s' AND policy='%s' AND fbUserId='%s'"; + $v = array('userAccount'=>_USERACCOUNT,'policy'=>_POLICY,'fbUserId'=>$fbUserId); + return db_query($q,array('fv'=>'facebookConnectCheck','modul'=>'login','values'=>$v)); + } + function fbConnectGrant($ADAT) { + if ($ADAT['fbUserId']=='') return 0; + + $q = "INSERT IGNORE INTO facebookConnect (userAccount,policy,fbUserId,fbUserCn,fbUserEmail,studyId) VALUES ('%s','%s','%s','%s','%s','%s')"; + $v = array('userAccount'=>_USERACCOUNT,'policy'=>_POLICY,'fbUserId'=>$ADAT['fbUserId'],'fbUserCn'=>_USERCN.' ('.$ADAT['fbUserCn'].')','fbUserEmail'=>$ADAT['fbUserEmail'],'studyId'=>_STUDYID); + return db_query($q,array('fv'=>'facebookConnectCheck','modul'=>'login','result'=>'insert','values'=>$v)); + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/session/facebookConnect.php b/mayor-orig/www/policy/private/session/facebookConnect.php new file mode 100644 index 00000000..e125c680 --- /dev/null +++ b/mayor-orig/www/policy/private/session/facebookConnect.php @@ -0,0 +1,7 @@ +<?php + + global $ADAT; + + putFacebookConnectStatusz($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/session/googleapi-pre.php b/mayor-orig/www/policy/private/session/googleapi-pre.php new file mode 100644 index 00000000..49438dcc --- /dev/null +++ b/mayor-orig/www/policy/private/session/googleapi-pre.php @@ -0,0 +1,100 @@ +<?php + + if (__GOOGLEAPI_ENABLED !== true ) return false; + + if (version_compare(PHP_VERSION, '5.4.0', '<')) { + return false; + } else { + require_once ('include/share/googleapi/autoload.php'); + + if ($action=='googleapiRevoke') { + googleapiRevoke(); + unset($_SESSION['googleapi_id_token']); + unset($_SESSION['googleapi_object']); + } elseif ($action=='googleapiGrant') { + // itt nem áll rendelkezésre adat! googleapiGrant($ADAT); + // a get id_token résznél kötjük össze a usert és irányítjuk tovább + } + //$ADAT['googleapiStatus'] = googleapiCheckAssoc($ADAT); + if ($_SESSION['googleapi_id_token']!='') { + // van azonosított user + // a sessionben rendelkezésre is áll az objektum (googleapi_object), + // de itt most lekérdezzük a google szervertől újra! + $redirect_uri = _BASE_URL.'/index.php'; + $client = new Google_Client(); + $client->setClientId(__GOOGLEAPI_CLIENT_ID); + $client->setClientSecret(__GOOGLEAPI_CLIENT_SECRET); + $client->setScopes('email'); + // $client->setAccessToken($_SESSION['googleapi_id_token']); + try { + $ADAT['payload'] = $payload = $client->verifyIdToken($_SESSION['googleapi_id_token']); + $ADAT['googleapiStatusz'] = 1; + } catch(Exception $e) { + $_SESSION['alert'][] = 'info::googleapi SDK hiba: ' . $e->getMessage(); + $ADAT['googleapiStatusz'] = 2; + } + } elseif ($_GET['id_token']!='') { + $redirect_uri = _BASE_URL.'/index.php'; + $client = new Google_Client(); + //$client->setAuthConfig($oauth_credentials); + $client->setClientId(__GOOGLEAPI_CLIENT_ID); + $client->setClientSecret(__GOOGLEAPI_CLIENT_SECRET); +// $client->setRedirectUri($redirect_uri); + $client->setScopes('email'); + try { + $payload = $client->verifyIdToken($_GET['id_token']); + } catch(Exception $e) { + $_SESSION['alert'][] = 'info::googleapi SDK hiba: ' . $e->getMessage(); + } + if (isset($payload['sub'])) { // subject + $_SESSION['google_access_token'] = (string) $payload; + $_SESSION['google_access_token_object'] = $payload; + // mayor auth start + $accountInformation=array(); + $toPolicy = 'public'; + $ADAT['googleSub'] = $payload['sub']; +// $ADAT['fbUserId'] = $userNode->getField('id'); + $ADAT['googleUserCn'] = $payload['name']; + $ADAT['googleUserEmail'] = $payload['email']; + googleapiGrant($ADAT); + /* mayor auth stop */ + } else { + $_SESSION['alert'][] = 'info:nem érvényes accessToken'; + } + } + + } + function googleapiCheckAssoc($ADAT) { + if ($ADAT['googleSub']=='') return 0; + + $q = "SELECT count(*) AS db FROM googleConnect where userAccount='%s' AND policy='%s' AND googleSub='%s'"; + $v = array('userAccount'=>_USERACCOUNT,'policy'=>_POLICY,'fbUserId'=>$ADAT['googleSub']); + $db = db_query($q,array('fv'=>'facebookConnectCheck','modul'=>'login','result'=>'value','values'=>$v)); + if ($db==1) return 1; // 'OK'; + + $q = "SELECT count(*) AS db FROM googleConnect where userAccount='%s' AND policy='%s' AND googleSub!='%s'"; + $v = array('userAccount'=>_USERACCOUNT,'policy'=>_POLICY,'fbUserId'=>$ADAT['googleSub']); + $db = db_query($q,array('fv'=>'facebookConnectCheck','modul'=>'login','result'=>'value','values'=>$v)); + if ($db==1) return 2; // 'masik googleSub van megadva'; + + $q = "SELECT count(*) AS db FROM googleConnect where userAccount!='%s' AND policy='%s' AND googleSub='%s'"; + $v = array('userAccount'=>_USERACCOUNT,'policy'=>_POLICY,'googleSub'=>$ADAT['googleSub']); + $db = db_query($q,array('fv'=>'facebookConnectCheck','modul'=>'login','result'=>'value','values'=>$v)); + if ($db==1) return 3; // 'masik userAccount van hozzárendelve ehhez a googleSub azonosítóhoz'; + + return false; + } + + function googleapiRevoke() { + $q = "DELETE FROM googleConnect where userAccount='%s' AND policy='%s'"; + $v = array('userAccount'=>_USERACCOUNT,'policy'=>_POLICY); + return db_query($q,array('fv'=>'googleapiRevoke','modul'=>'login','values'=>$v)); + } + function googleapiGrant($ADAT) { + if ($ADAT['googleSub']=='') return 0; + $q = "INSERT IGNORE INTO googleConnect (userAccount,policy,googleSub,googleUserCn,googleUserEmail,studyId) VALUES ('%s','%s','%s','%s','%s','%s')"; + $v = array('userAccount'=>_USERACCOUNT,'policy'=>_POLICY,'googleSub'=>$ADAT['googleSub'],_USERACCOUNT.' ('.$ADAT['googleUserCn'].')',$ADAT['googleUserEmail'],_STUDYID); + return db_query($q,array('debug'=>true,'fv'=>'googleapiGrant','modul'=>'login','result'=>'insert','values'=>$v)); + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/session/googleapi.php b/mayor-orig/www/policy/private/session/googleapi.php new file mode 100644 index 00000000..fe079bed --- /dev/null +++ b/mayor-orig/www/policy/private/session/googleapi.php @@ -0,0 +1,28 @@ +<?php + + global $ADAT; + +// putFacebookConnectStatusz($ADAT); + +// echo '<div class="g-signin2" data-onsuccess="onSignIn"></div>'; + +// echo '<h1>Tesztüzem</h1>'; + +// formBegin(); +// echo '<input type="text" name="action" value="googleapiCheck" >'; +// echo '<button type="button" id="googleapiCheckBtn" class="api"><span class="icon-googleplus"></span> Ellenőrzés</button>'; +// formEnd(); + +// formBegin(); +// echo '<input type="hidden" name="action" value="googleGrant" >'; +// echo '<button type="button" id="googleLoginBtn" class="api"><span class="icon-googleplus"></span> Összeköt</button>'; +// formEnd(); + +// formBegin(); +// echo '<input type="text" name="action" value="googleRevoke" >'; +// echo '<button type="submit" class="api"><span class="icon-googleplus"></span> Visszavon</button>'; +// formEnd(); + + putGoogleapiStatusz($ADAT); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/session/groupInfo-pre.php b/mayor-orig/www/policy/private/session/groupInfo-pre.php new file mode 100644 index 00000000..97864ffa --- /dev/null +++ b/mayor-orig/www/policy/private/session/groupInfo-pre.php @@ -0,0 +1,43 @@ +<?php +/* + Module: base/session +*/ + + if (_RIGHTS_OK !== true) die(); + + + $toPolicy = readVariable($_POST['toPolicy'], 'enum', + readVariable($_GET['toPolicy'], 'enum', _POLICY, $POLICIES), + $POLICIES + ); + + $groupCn = readVariable($_GET['groupCn'],'regreplace',null,array("[^a-zA-Z0-9\ \.\,_:;űáéúőóüöíŰÁÉÚŐÓÜÖÍ\-]")); + +// egyelőre csak private-ból lehet valaki admin... +// if (memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup'])) define('_ACCESS_AS', _ADMIN_ACCESS); + + if ( + _POLICY == 'private' && + ( + memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup']) || + ( + memberOf(_USERACCOUNT,'diakadmin') && + in_array('diak',$userCategories) + ) + ) + ) define('_ACCESS_AS', _ADMIN_ACCESS); + else define('_ACCESS_AS', _OTHER_ACCESS); + + list($backendAttrs,$backendAttrDef) = getBackendAttrs('Group', $toPolicy); + + if ($action == 'changeSettings') { + + changeGroupInfo($groupCn, $toPolicy); + + } + $groupInfo = getGroupInfo($groupCn, $toPolicy); // keretrendszer attribútumai + // backend attribútumai + + if ($groupInfo===false) $_SESSION['alert'][] = 'page::'; + +?> diff --git a/mayor-orig/www/policy/private/session/groupInfo.php b/mayor-orig/www/policy/private/session/groupInfo.php new file mode 100644 index 00000000..6dda377c --- /dev/null +++ b/mayor-orig/www/policy/private/session/groupInfo.php @@ -0,0 +1,12 @@ +<?php +/* + Module: base/session +*/ + + if (_RIGHTS_OK !== true) die(); + + global $groupCn, $groupInfo, $backendAttrDef, $toPolicy; + + putGroupInfoForm($groupCn, $groupInfo, $backendAttrDef, $toPolicy); + +?> diff --git a/mayor-orig/www/policy/private/session/search/searchAccount-pre.php b/mayor-orig/www/policy/private/session/search/searchAccount-pre.php new file mode 100644 index 00000000..2108f631 --- /dev/null +++ b/mayor-orig/www/policy/private/session/search/searchAccount-pre.php @@ -0,0 +1,28 @@ +<?php +/* + Module: base/session +*/ + + if (_RIGHTS_OK !== true) die(); + + $toPolicy = readVariable($_POST['toPolicy'], 'enum', _POLICY, $POLICIES); + + define('__ADMIN', memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup'])); + define('__DIAKADMIN', memberOf(_USERACCOUNT, 'diakadmin')); + + // valójában így sem jó, mert a lekérdezett backend-től kellene függővé teni a keresés mezőket... + if ($AUTH[_POLICY]['backend'] == 'ad') $searchAttrList = array('userCn', 'userAccount', 'uidNumber', 'studyId'); + else $searchAttrList = array('userCn', 'userAccount', 'studyId'); + + if ($action == 'searchAccount') { + $attr = readVariable($_POST['attr'], 'enum', 'userCn', $searchAttrList); + $pattern = readVariable($_POST['pattern'], 'string'); + $searchResult = searchAccount($attr, $pattern, $searchAttrList, $toPolicy); + } elseif ($action == 'deleteAccount' and __ADMIN === true) { + $userAccount = readVariable($_POST['userAccount'], 'string'); + deleteAccount($userAccount, $toPolicy); + } else { + echo $action; + } + +?> diff --git a/mayor-orig/www/policy/private/session/search/searchAccount.php b/mayor-orig/www/policy/private/session/search/searchAccount.php new file mode 100644 index 00000000..8cfe1d75 --- /dev/null +++ b/mayor-orig/www/policy/private/session/search/searchAccount.php @@ -0,0 +1,16 @@ +<?php +/* + Module: base/session +*/ + + if (_RIGHTS_OK !== true) die(); + + global $attr, $pattern, $searchResult, $searchAttrList, $toPolicy; + + putSearchAccountForm($attr, $pattern, $searchAttrList, $toPolicy); + + if (is_array($searchResult)) { + putSearchResultBox($searchResult, $toPolicy); + } + +?> diff --git a/mayor-orig/www/policy/private/session/search/searchGroup-pre.php b/mayor-orig/www/policy/private/session/search/searchGroup-pre.php new file mode 100644 index 00000000..94deeba2 --- /dev/null +++ b/mayor-orig/www/policy/private/session/search/searchGroup-pre.php @@ -0,0 +1,25 @@ +<?php +/* + Module: base/session +*/ + + if (_RIGHTS_OK !== true) die(); + + $toPolicy = readVariable($_POST['toPolicy'], 'enum', _POLICY, $POLICIES); + + define('__ADMIN', memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup'])); + define('__DIAKADMIN', memberOf(_USERACCOUNT, 'diakadmin')); + + $searchAttrs = array('groupCn', 'groupDesc'); + if ($action == 'searchGroup') { + $attr = readVariable($_POST['attr'], 'enum', 'groupCn', $searchAttrs); + $pattern = readVariable($_POST['pattern'],'html'); + $searchResult = searchGroup($attr, $pattern, $searchAttrs, $toPolicy); + } elseif (__ADMIN ===true && $action == 'deleteGroup') { + $groupCn = readVariable($_POST['groupCn'], 'html'); // nem biztos hogy id - bizos nem id, hanem a csoport neve + deleteGroup($groupCn, $toPolicy); + } else { + echo $action; + } + +?> diff --git a/mayor-orig/www/policy/private/session/search/searchGroup.php b/mayor-orig/www/policy/private/session/search/searchGroup.php new file mode 100644 index 00000000..c36d0ef6 --- /dev/null +++ b/mayor-orig/www/policy/private/session/search/searchGroup.php @@ -0,0 +1,16 @@ +<?php +/* + Module: base/session +*/ + + if (_RIGHTS_OK !== true) die(); + + global $attr, $pattern, $searchAttrs, $searchResult, $toPolicy; + + putSearchGroupForm($attr, $pattern, $searchAttrs, $toPolicy); + + if (is_array($searchResult)) { + putSearchResultBox($searchResult, $toPolicy); + } + +?> diff --git a/mayor-orig/www/policy/private/session/session-pre.php b/mayor-orig/www/policy/private/session/session-pre.php new file mode 100644 index 00000000..d1c65349 --- /dev/null +++ b/mayor-orig/www/policy/private/session/session-pre.php @@ -0,0 +1,5 @@ +<?php + + header('Location: '.location('index.php?page=session&sub=search&f=searchAccount')); + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/session/session.php b/mayor-orig/www/policy/private/session/session.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/session/session.php diff --git a/mayor-orig/www/policy/private/session/sessionAdmin-pre.php b/mayor-orig/www/policy/private/session/sessionAdmin-pre.php new file mode 100644 index 00000000..08b55781 --- /dev/null +++ b/mayor-orig/www/policy/private/session/sessionAdmin-pre.php @@ -0,0 +1,24 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (_POLICY != 'private' || !memberOf(_USERACCOUNT, $AUTH[_POLICY]['adminGroup'])) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + if ($action == 'deleteSession') { + + $policy = readVariable($_POST['delPolicy'], 'enum', null, $POLICIES); + $userAccount = readVariable($_POST['delSessionID'], 'string', null); + if (isset($policy) && isset($userAccount)) { + deleteSession($userAccount, $policy); + } else { $_SESSION['alert'][] = 'message:wrong_data:userAccount,policy:'.$policy.':'.$userAccount; } + + } + $ADAT['session'] = getSessions(); +//echo '<pre>'; var_dump($ADAT); echo '</pre>'; + + } + + +?> diff --git a/mayor-orig/www/policy/private/session/sessionAdmin.php b/mayor-orig/www/policy/private/session/sessionAdmin.php new file mode 100644 index 00000000..d1398e4f --- /dev/null +++ b/mayor-orig/www/policy/private/session/sessionAdmin.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + putSessionList($ADAT); + +?> diff --git a/mayor-orig/www/policy/public/auth/forgotten-pre.php b/mayor-orig/www/policy/public/auth/forgotten-pre.php new file mode 100644 index 00000000..76ffaebb --- /dev/null +++ b/mayor-orig/www/policy/public/auth/forgotten-pre.php @@ -0,0 +1,92 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require_once('include/share/net/phpmailer.php'); + + $ADAT['userAccount'] = readVariable($_POST['userAccount'], 'string', readVariable($_GET['userAccount'], 'string', null)); + $ADAT['toPolicy'] = readVariable($_POST['toPolicy'], 'enum', readVariable($_GET['toPolicy'], 'enum', 'parent', array('parent','private')), array('parent','private')); + $ADAT['mail'] = readVariable($_POST['mail'], 'string', null); + + if ($AUTH[$ADAT['toPolicy']]['enablePasswordReset']!==true) { + //$_SESSION['alert'][] = 'info:pw_reset_disabled'; + $ADAT['forgotDisabled'] = true; + } + +/* Under dev + foreach(array('private','parent','public') as $_policy) { + if ($ADAT['toPolicy']==$_policy && $AUTH[$_policy]['enablePasswordReset']!==true) $ADAT['forgotDisabled'] = true; + } +*/ + if ($action == 'sendResetPasswordMail') { + + // TODO - ez a kettő összevonható, kukac tuti nincs a felhasználónévben + // TODO - megviszgálhatnánk, hogy milyen authentikációs levelen van a user + // TODO - mármint, ahol megváltoztatható egyáltalán a jelszó... + require_once('include/modules/session/search/searchAccount.php'); + if (isset($ADAT['userAccount'])) { + $ADAT['accounts'] = searchAccount('userAccount', $ADAT['userAccount'], $searchAttrs = array('userCn','mail','userAccount'), $ADAT['toPolicy']); + for ($i=0; $i<$ADAT['accounts']['count']; $i++) { + if ($ADAT['userAccount'] == $ADAT['accounts'][$i]['userAccount'][0] && $ADAT['accounts'][$i]['mail'][0] != '') { + $ADAT['account'] = array( + 'policy' => $ADAT['toPolicy'], + 'userAccount' => $ADAT['accounts'][$i]['userAccount'][0], + 'userCn' => $ADAT['accounts'][$i]['userCn'][0], + 'mail' => current(explode(' ',str_replace(';',' ',trim($ADAT['accounts'][$i]['mail'][0])))), + ); + break; + } + } + } elseif (isset($ADAT['mail'])) { + $ADAT['accounts'] = searchAccount('mail', $ADAT['mail'], $searchAttrs = array('userCn','mail','userAccount'), $ADAT['toPolicy']); + for ($i=0; $i<$ADAT['accounts']['count']; $i++) { + if ($ADAT['mail'] == $ADAT['accounts'][$i]['mail'][0] && $ADAT['accounts'][$i]['mail'][0] != '') { + $ADAT['account'] = array( + 'policy' => $ADAT['toPolicy'], + 'userAccount' => $ADAT['accounts'][$i]['userAccount'][0], + 'userCn' => $ADAT['accounts'][$i]['userCn'][0], + 'mail' => current(explode(' ',str_replace(';',' ',trim($ADAT['accounts'][$i]['mail'][0])))), + ); + break; + } + } + } + + // Recovery + if (is_array($ADAT['account'])) { + $recoveryRequest = generatePasswordRecoveryRequest($ADAT['account']); + if ($recoveryRequest!=false) { + $ADAT['account']['url'] = $recoveryRequest; + // levél generálása és kiküldése + $body = '<html><head><title></title></head><body> +<p>Az alábbi linkre kattintva magadhatod az új MaYoR-jelszavadat.</p> +<p>Ha nem te küldted az igénylést, tekintsd a levelet tárgytalannak!</p> +<p class="link">'.$recoveryRequest.'</p> +<p>'.__SUPPORT_EMAIL_NAME.' ('.__SUPPORT_EMAIL_ADDRESS.')</p> +</body></html>'; + /* MAIL */ + if (__EMAIL_ENABLED===true) { + $mail = new PHPMailer(); + $mail->CharSet = 'UTF-8'; + $mail->SetFrom(__SUPPORT_EMAIL_ADDRESS,__SUPPORT_EMAIL_NAME); + $mail->AddAddress($ADAT['account']['mail'], $ADAT['account']['userCn']); + $mail->Subject = "[MaYoR] Jelszóemlékeztető"; + $mail->MsgHTML($body); + $mail->Send(); + } else { + //dump(__EMAIL_ENABLED); + //dump(__SUPPORT_EMAIL_ADDRESS); + //dump(__SUPPORT_EMAIL_NAME); + } + /* -- */ +// $_SESSION['alert'][] = 'info:success'; + } else { +// $_SESSION['alert'][] = 'info:success'; // nem üzenünk hibát + } + } else { +// $_SESSION['alert'][] = 'message:wrong_data:Nincs ilyen azonosító, vagy nincs rögzítve e-mail cím az azonosítóhoz! ('.$ADAT['userAccount'].')'; + } + + } + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/public/auth/forgotten.php b/mayor-orig/www/policy/public/auth/forgotten.php new file mode 100644 index 00000000..bd751c83 --- /dev/null +++ b/mayor-orig/www/policy/public/auth/forgotten.php @@ -0,0 +1,16 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT,$action; + + if ($ADAT['forgotDisabled']===true) + putForgotDisabled(); + elseif (!is_array($ADAT['account']) && $action=='') { + putForgotPasswordForm($ADAT); + putForgotUserAccountForm($ADAT); + } else { + putForgotThankyou(); + } + putBackToLogin($ADAT); +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/public/auth/login-pre.php b/mayor-orig/www/policy/public/auth/login-pre.php new file mode 100644 index 00000000..c524751f --- /dev/null +++ b/mayor-orig/www/policy/public/auth/login-pre.php @@ -0,0 +1,86 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if (defined('_ALLOW_SULIX_SSO') && _ALLOW_SULIX_SSO===true) { // kompatibilitási okokból + $toPolicy = readVariable($_REQUEST['toPolicy'], 'enum', 'private', $POLICIES); + } else { + $toPolicy = 'private'; // force + } + $toSkin = readVariable($_POST['toSkin'], 'enum', readVariable($_GET['toSkin'], 'enum', null, $SKINSSHOW), $SKINSSHOW); + @list($toPage,$toSub,$toF) = readVariable(explode(':',$_REQUEST['toPSF']), 'strictstring'); + $toPSF = "$toPage:$toSub:$toF"; + +// Ha már az adott sessionID-vel belépett az adott policy-ra, akkor ne lépjen be újra +// if ($sessionID != '' and validUser($sessionID, $toPolicy)) { +// header('Location: '.location("index.php?policy=$toPolicy&page=$toPage&sub=$toSub&f=$toF&sessionID=$sessionID", array('alert'))); +// die(); +// } + + if ($toPolicy=='private' && isset($_SESSION['portalLoggedUsername']) && defined('_ALLOW_SULIX_SSO') && _ALLOW_SULIX_SSO===true) { + $action='autologin'; + //A SuliX-osok kérésére ezt sajnos kihagyjuk :( session_regenerate_id(true); + } + + // Az elküldött név+jelszó ellenőrzése + if ($action == 'login' || $action=='autologin') { + + // A toPolicy hibaüzenetei + if (file_exists('include/alert/'.$lang.'/'.$AUTH[$toPolicy]['backend'].'.php')) { + require('include/alert/'.$lang.'/'.$AUTH[$toPolicy]['backend'].'.php'); + } elseif (file_exists('include/alert/'._DEFAULT_LANG.'/'.$AUTH[$toPolicy]['backend'].'.php')) { + require('include/alert/'._DEFAULT_LANG.'/'.$AUTH[$toPolicy]['backend'].'.php'); + } + // Autentikáció - alapok + if (file_exists('include/share/auth/base.php')) { + require('include/share/auth/base.php'); + } + // Autentikáció - toPolicy + if (file_exists('include/backend/'.$AUTH[$toPolicy]['backend'].'/auth/login.php')) { + require('include/backend/'.$AUTH[$toPolicy]['backend'].'/auth/login.php'); + } + + // lejart session-ok torlese + require('include/share/session/close.php'); + closeOldAndIdleSessions(); + + if ($action=='autologin' && defined('_ALLOW_SULIX_SSO') && _ALLOW_SULIX_SSO===true) { + $userPassword = readVariable($_SESSION['portalLoggedPassword'], 'string'); + //$userAccount = readVariable($_SESSION['portalLoggedUsername'], 'regexp', null, array("^([a-z]|[A-Z]|[0-9]| |\.|,|_|[űáéúőóüöíŰÁÉÚŐÓÜÖÍäÄ]|-|@)*$")); + $userAccount = readVariable($_SESSION['portalLoggedUsername'], 'userAccount', null); + } else { + $userPassword = readVariable($_POST['userPassword'], 'string'); + //$userAccount = readVariable($_POST['userAccount'], 'regexp', null, array("^([a-z]|[A-Z]|[0-9]| |\.|,|_|[űáéúőóüöíŰÁÉÚŐÓÜÖÍäÄ]|-|@)*$")); + $userAccount = readVariable($_SESSION['portalLoggedUsername'], 'userAccount', null); + } + + if (defined('_BOLONDOS') && _BOLONDOS===true) $userAccount = visszafele($userAccount); + + $accountInformation = array('account' => $userAccount, 'password' => $userPassword, 'policy' => $toPolicy, 'skin'=>$toSkin); + if ($sessionID != '') $accountInformation['sessionID'] = $sessionID; + + if ($userAccount != '' and $userPassword != '') { + + $result = userAuthentication($userAccount, $userPassword, $accountInformation, $toPolicy); // ??? toPolicy benne van az AccountInformation-ben!!! Ldap backend only? + logLogin($toPolicy, $userAccount, $result); + if ($result === _AUTH_SUCCESS) { + $sessionID = newSession($accountInformation, $toPolicy); + if ($toSkin == '') $toSkin = $skin; + header('Location: '.location("index.php?page=$toPage&sub=$toSub&f=$toF&sessionID=$sessionID&policy=$toPolicy&lang=$lang&skin=$toSkin", array('alertOLD'))); + } elseif ($result === _AUTH_EXPIRED) { + $_SESSION['alert'][] = 'message:force_pw_update'; + header('Location: '.location("index.php?policy=public&page=password&f=changeMyPassword&userAccount=".$userAccount."&toPolicy=$toPolicy&skin=$toSkin", array('alertOLD'))); + } elseif ($result >= _AUTH_FAILURE) { + // sikertelen azonosítás - a hibaüzenetet a függvény generálja + //$NOF = @getFailedLoginCount($toPolicy,$userAccount); + //if ($NOF>1) sleep(min($NOF,10,rand(1,10))); // harden brute force attempts + } else { + // Ilyen csak hibás függvényműködés esetén lehet: + $_SESSION['alert'][] = "message:default:hibás visszatérési érték:userAuthentication:($result)"; + } + } else { + $_SESSION['alert'][] = 'message:empty_field'; + } + } + +?> diff --git a/mayor-orig/www/policy/public/auth/login.php b/mayor-orig/www/policy/public/auth/login.php new file mode 100644 index 00000000..c86bf24b --- /dev/null +++ b/mayor-orig/www/policy/public/auth/login.php @@ -0,0 +1,17 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $userAccount, $userPassword, $toPolicy, $toPSF, $toSkin, $salt; + global $ADAT; + + if (defined('_USERACCOUNT') && (!is_string(_USERACCOUNT) || _USERACCOUNT=='') ) + putLoginForm($userAccount, $toPolicy, $toPSF, $toSkin, $salt); + else + putAlreadyLoggedIn(); + + if ($_SESSION['authStatus'] == _AUTH_FAILURE) { + putElfelejtettJelszoForm($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/public/naplo/rpc/rpc-pre.php b/mayor-orig/www/policy/public/naplo/rpc/rpc-pre.php new file mode 100644 index 00000000..53328c7c --- /dev/null +++ b/mayor-orig/www/policy/public/naplo/rpc/rpc-pre.php @@ -0,0 +1,48 @@ +<?php + + require_once('include/share/ssl/ssl.php'); + /* Class: Interconnect AES */ + + /* remote procedure call remote controller */ + $rpcDetails = $_GET['detail']; + $initOMKod = readVariable($_GET['init'],'strictstring',0); + + try + { + $RPC = new Interconnect(); + $RPC->setRemoteOMKod($initOMKod); + $REQUEST = $RPC->processRequest($rpcDetails); + $func = $REQUEST->func; + } + catch (Exception $e) + { + $func=''; + $DATA = array('error'=>$e->getMessage()); + } + // processing + + // MASTER BOSS -> portal/rpc/rpc, ez itt ELAVULT + $DATA = array(); + if (isset($func) && $func!='') { + switch ($func) { + case 'getVersion': + case 'ping': + $DATA = $RPC->prepareReply( + array('func'=>'getVersion','response_revision'=>_MAYORREV,'pong') + ); + $RPC->setResponse($DATA); + break; + case 'checkRegistration': + $otherPublicKey = getSslPublicKeyByOMKod($REQUEST->OMKOD); + if ($otherPublicKey===false) $valid=0; + elseif ($REQUEST->publicKey == $otherPublicKey) $valid=1; + else $valid=2; + $DATA = $RPC->prepareReply( + array('func'=>$func,'response'=>serialize($REQUEST),'valid'=>$valid) + ); + $RPC->setResponse($DATA); + default: + break; + } + } +?> diff --git a/mayor-orig/www/policy/public/naplo/rpc/rpc.php b/mayor-orig/www/policy/public/naplo/rpc/rpc.php new file mode 100644 index 00000000..be00b0a5 --- /dev/null +++ b/mayor-orig/www/policy/public/naplo/rpc/rpc.php @@ -0,0 +1,7 @@ +<?php + + global $DATA; + + if (count($DATA)>0) putResponse($DATA); // reply + +?> diff --git a/mayor-orig/www/policy/public/password/changeMyPassword-pre.php b/mayor-orig/www/policy/public/password/changeMyPassword-pre.php new file mode 100644 index 00000000..f7c68879 --- /dev/null +++ b/mayor-orig/www/policy/public/password/changeMyPassword-pre.php @@ -0,0 +1,69 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + $toPolicy = readVariable($_REQUEST['toPolicy'], 'enum', 'private', $POLICIES); + $userAccount = readVariable($_REQUEST['userAccount'], 'emptystringnull', (defined('_USERACCOUNT'))?_USERACCOUNT:null); + + if (file_exists(_CONFIGDIR."/$toPolicy-conf.php")) { + require_once(_CONFIGDIR."/$toPolicy-conf.php"); + } + + if ($AUTH[$toPolicy]['enableSelfPasswordChange']) { + + // Az elküldött név+jelszó ellenőrzése + if ($action == 'changePassword') { + + + require_once('include/modules/auth/base/login.php'); + + if (file_exists('include/backend/'.$AUTH[$toPolicy]['backend'].'/session/base.php')) { + require_once('include/backend/'.$AUTH[$toPolicy]['backend'].'/session/base.php'); + } + if (file_exists('include/backend/'.$AUTH[$toPolicy]['backend'].'/password/changePassword.php')) { + require_once('include/backend/'.$AUTH[$toPolicy]['backend'].'/password/changePassword.php'); + } + if (file_exists('include/backend/'.$AUTH[$toPolicy]['backend'].'/auth/login.php')) { + require_once('include/backend/'.$AUTH[$toPolicy]['backend'].'/auth/login.php'); + } + + $userPassword = readVariable($_POST['userPassword'], 'emptystringnull'); + $newPassword = readVariable($_POST['newPassword'], 'emptystringnull'); + $verification = readVariable($_POST['verification'], 'emptystringnull'); + + if ($verification == '' or $newPassword == '') { + $_SESSION['alert'][] = 'message:empty_field'; + } elseif ($verification != $newPassword) { + $_SESSION['alert'][] = 'message:pw_not_match'; + } elseif ($userPassword == $newPassword) { + $_SESSION['alert'][] = 'message:pw_not_changed'; + } else { + + $result = userAuthentication($userAccount, $userPassword, $accountInformation, $toPolicy); + if ($result >= _AUTH_FAILURE) { + $_SESSION['alert'][] = 'message:auth_failure'; // megj: a hibaüzenetet a userAuthentication egyébként generálja. kell ez? + } else { + + if (changeMyPassword($userAccount, $userPassword, $newPassword, $toPolicy)) { +// Újra be kell jelentkezni mindenképp... +// updateSessionPassword($userAccount, $toPolicy, $verification); +// if (validUser($sessionID,$policy)) +// header('Location: '.location("index.php?policy=$toPolicy&sessionID=".$sessionID, array('alert'))); +// else + header('Location: '.location("index.php?page=auth&f=login&toPolicy=$toPolicy", array('alert'))); + } else { + $_SESSION['alert'][] = 'message:pw_change_failed'; + } + } + + } + + } // action + + } else { + + $_SESSION['alert'][] = 'page:pw_change_disabled'; + + } + +?> diff --git a/mayor-orig/www/policy/public/password/changeMyPassword.php b/mayor-orig/www/policy/public/password/changeMyPassword.php new file mode 100644 index 00000000..29ebbf10 --- /dev/null +++ b/mayor-orig/www/policy/public/password/changeMyPassword.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $userAccount, $toPolicy; + + putChangePasswordForm($userAccount, $toPolicy); + +?> diff --git a/mayor-orig/www/policy/public/password/resetPassword-pre.php b/mayor-orig/www/policy/public/password/resetPassword-pre.php new file mode 100644 index 00000000..3590f27a --- /dev/null +++ b/mayor-orig/www/policy/public/password/resetPassword-pre.php @@ -0,0 +1,68 @@ +<?php + if (_RIGHTS_OK !== true) die(); + + $selector = readVariable($_POST['selector'], 'string', readVariable($_GET['selector'], 'hexa', null)); + $validator = readVariable($_POST['validator'], 'string', readVariable($_GET['validator'], 'hexa', null)); + + if ($validator!='') { + $q = "SELECT * FROM accountRecovery WHERE selector = '%s' AND expires >= NOW()"; + $r = db_query($q, array('debug'=>false,'fv'=>'getPasswordRecoveryRequest','modul'=>'login','result'=>'record','values'=>array($selector))); + } + if (!is_array($r)) { + $_SESSION['alert']['page'] = 'message:wrong_data:A jelszó-helyreállítási kérelem nem létezik, vagy lejárt!'; + } else { + + $calc = hash('sha256', hex2bin($validator)); + if (hash_equals($calc, $r['token'])) { + // The reset token is valid. Authenticate the user. + //dump($r); + $ADAT = $r; + $ADAT['validator'] = $validator; + + $toPolicy = $r['policy']; + $userAccount = $r['userAccount']; + + if (file_exists(_CONFIGDIR."/$toPolicy-conf.php")) { + require_once(_CONFIGDIR."/$toPolicy-conf.php"); + } + + if ($AUTH[$toPolicy]['enablePasswordReset']) { + + if ($action == 'resetPassword') { + + if (file_exists('include/backend/'.$AUTH[$toPolicy]['backend'].'/session/base.php')) { + require_once('include/backend/'.$AUTH[$toPolicy]['backend'].'/session/base.php'); + } + if (file_exists('include/backend/'.$AUTH[$toPolicy]['backend'].'/password/changePassword.php')) { + require_once('include/backend/'.$AUTH[$toPolicy]['backend'].'/password/changePassword.php'); + } + + $newPassword = readVariable($_POST['newPassword'], 'emptystringnull'); + $verification = readVariable($_POST['verification'], 'emptystringnull'); + + if ($verification == '' or $newPassword == '') { + $_SESSION['alert'][] = 'message:empty_field'; + } elseif ($verification != $newPassword) { + $_SESSION['alert'][] = 'message:pw_not_match'; + } else { + if (changePassword($userAccount, $newPassword, $toPolicy)) { + $q = "DELETE FROM accountRecovery WHERE userAccount = '%s'"; + db_query($q, array('debug'=>false,'fv'=>'getPasswordRecoveryRequest','modul'=>'login','result'=>'delete','values'=>array($userAccount))); + header('Location: '.location("index.php?page=auth&f=login&toPolicy=$toPolicy", array('alert'))); + } else { + $_SESSION['alert'][] = 'message:pw_change_failed'; + } + } + } + + } else { + $_SESSION['alert'][] = 'page:pw_reset_disabled'; + } + + } else { + $_SESSION['alert']['page'] = 'message:insufficient_access:A jelszó-helyreállítási kérelem nem érvényes!'; + } + + } + +?> diff --git a/mayor-orig/www/policy/public/password/resetPassword.php b/mayor-orig/www/policy/public/password/resetPassword.php new file mode 100644 index 00000000..eaefcc8c --- /dev/null +++ b/mayor-orig/www/policy/public/password/resetPassword.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if ($ADAT['userAccount']!='') putResetPasswordForm($ADAT); + +?> diff --git a/mayor-orig/www/policy/public/portal/rpc/rpc-pre.php b/mayor-orig/www/policy/public/portal/rpc/rpc-pre.php new file mode 100644 index 00000000..edd9a592 --- /dev/null +++ b/mayor-orig/www/policy/public/portal/rpc/rpc-pre.php @@ -0,0 +1,104 @@ +<?php +/* + MOVED!! + - mayor-base/public/rpc/rpc + - mayor-portal-mayor/rpc/controller/rpc + =========================================== + + require_once('include/share/ssl/ssl.php'); + + // MOVE + function getRegisztraltIskolaAdat($nodeId) { + if ($nodeId=='') { + $q = "SELECT * FROM regisztracio"; + $r = db_query($q, array('modul'=>'portal','result'=>'indexed')); + } else { + $q = "SELECT * FROM regisztracio WHERE nodeId='%s'"; + $v = array($nodeId); + $r = db_query($q, array('modul'=>'portal','result'=>'record','values'=>$v)); + } + return $r; + } + + function getPublicDataByNodeIdFromReg($nodeId) { + $q = "SELECT * FROM regisztracio WHERE nodeId='%s'"; + $v = array($nodeId); + $r = db_query($q, array('debug'=>false,'fv'=>'getPublicDataByNodeIdFromReg','modul'=>'portal','result'=>'record','values'=>$v)); + return $r; + } + function modRegData($nodeId, $regId, $DATA) { + $q = "UPDATE regisztracio SET ".implode(',',array_fill(0, count($DATA), "%s='%s'"))." WHERE regId=%u AND nodeId=%u"; + foreach ($DATA as $key=>$val) { + $v[] = $key; $v[] = $val; + } + $v[] = $regId; $v[] = $nodeId; + $r = db_query($q, array('debug'=>true,'fv'=>'modRegData','modul'=>'portal','values'=>$v)); + if ($r) return true; + else return $q; + } + + /* Class: Interconnect AES * / + + /* remote procedure call remote controller * / + try + { + /* rights.php: + $RPC = new Interconnect(); + $RPC->setRemoteHostByNodeId($senderNodeId); + $REQUEST = $RPC->processRequest(); + * / + $REQUEST = $RPC->getIncomingRequest(); + $func = $REQUEST['func']; + + } + catch (Exception $e) + { + $func=''; + $DATA = array('error'=>$e->getMessage()); + } + // processing + $DATA = array(); + if (isset($func) && $func!='') { + switch ($func) { + case 'getVersion': + case 'ping': + $DATA = array('func'=>'getVersion','response_revision'=>_MAYORREV,'pong'); + $RPC->setResponse($DATA); + break; + case 'checkRegistration': + $DATA = getPublicDataByNodeIdFromReg($senderNodeId); + if (is_array($DATA)) $valid = 1; else $valid = 0; + $DATA = array('func'=>$func,'valid'=>$valid,'status'=>$RPC->getStatus(),'get'=>$_GET,'post'=>$_POST); + $RPC->setResponse($DATA); + break; + case 'getPublicDataByNodeId': + $DATA = getPublicDataByNodeIdFromReg($REQUEST['nodeId']); + $RPC->setResponse($DATA); + break; + case 'modRegData': + $DATA['result'] = modRegData($senderNodeId,$REQUEST['regId'],$REQUEST['data']); + $DATA['func'] = 'modRegData'; + $RPC->setResponse($DATA); + break; + case 'getIskola': + $iskolaAdat = getRegisztraltIskolaAdat($REQUEST['otherNodeId']); + $DATA = array('func'=>$func,'iskolaAdat'=>$iskolaAdat); + $RPC->setResponse($DATA); + break; + case 'getRegistrationData': + $DATA = getPublicDataByNodeIdFromReg($REQUEST['nodeId']); + break; + case 'refreshRegistration': + break; + case 'getPublicData': + $iskolaAdat = getRegisztraltIskolaAdat(); + $DATA = array('func'=>$func,'szomszedok'=>$iskolaAdat); + $RPC->setResponse($DATA); + break; + default: + break; + } + + } +*/ +?> diff --git a/mayor-orig/www/policy/public/portal/start.php b/mayor-orig/www/policy/public/portal/start.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/public/portal/start.php diff --git a/mayor-orig/www/policy/public/rpc/naplo/rpc-pre.php b/mayor-orig/www/policy/public/rpc/naplo/rpc-pre.php new file mode 100644 index 00000000..aba7552f --- /dev/null +++ b/mayor-orig/www/policy/public/rpc/naplo/rpc-pre.php @@ -0,0 +1,70 @@ +<?php +/* + module: mayor-base + + A alap metódusok RPC kezelője + +*/ + require_once('include/share/ssl/ssl.php'); + require_once('include/modules/naplo/share/rpc.php'); + + /* + rights.php: + $_RPC['senderNodeId'] + $RPC = new Interconnect(); + $RPC->setRemoteHostByNodeId($senderNodeId); + $RPC->processRequest(); + $_RPC['request'] = $RPC->getIncomingRequest(); + */ + $func = $_RPC['request']['func']; + // processing + $DATA = array(); + if (isset($func) && $func!='') { + switch ($func) { + // itt a currens verziót kellene visszaadni + case 'getVersion': + case 'ping': + $DATA = array('func'=>'getVersion','revision'=>_MAYORREV,'pong'); + $RPC->setResponse($DATA); + break; + case 'getPrivilegeInfo': + $nodeId = $_RPC['senderNodeId']; + $userAccount = readVariable($_RPC['request']['userAccount'], 'string'); + $OMKod = readVariable($_RPC['request']['OMKod'],'numeric unsigned'); + $priv = explode(',',getRPCPrivilegeByNUO($nodeId, $userAccount, $OMKod)); + if (is_array($priv) && in_array('Jogosultság',$priv)) { + $DATA = array('func'=>'getPrivilegeInfo','result'=>'success','priv'=>$priv); + } else { + $DATA = array('func'=>'getPrivilegeInfo','result'=>'failure','alert'=>'message:insufficient_access'); + } + $RPC->setResponse($DATA); + break; + case 'getTantargyfelosztasStat': + $nodeId = $_RPC['senderNodeId']; + $userAccount = readVariable($_RPC['request']['userAccount'], 'string'); + $OMKod = readVariable($_RPC['request']['OMKod'],'numeric unsigned'); // a naplo/base/rights már felhasználta az __INTEZMENY beállításnál + $priv = explode(',',getRPCPrivilegeByNUO($nodeId, $userAccount, $OMKod)); + if (is_array($priv) && in_array('Tantárgyfelosztás',$priv)) { + // Az __INTEZMENY és __TANEV beállítását a naplo/rights.php már elvégezte... + + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/stat/tantargyFelosztas.php'); + global $ADAT; $ADAT = array(); + $IA = getTantargyfelosztasStat(); + + $DATA = array('func'=>'getTantargyfelosztasStat','result'=>'success','tanev'=>__TANEV,'intezmeny'=>__INTEZMENY, 'IA'=>$IA); + } else { + $DATA = array('func'=>'getTantargyfelosztasStat','result'=>'failure','alert'=>'message:insufficient_access'); + } + $RPC->setResponse($DATA); + break; + default: + $DATA['result'] = 'ismeretlen függvény: '.$func; + break; + } + + } +?> diff --git a/mayor-orig/www/policy/public/rpc/rpc-pre.php b/mayor-orig/www/policy/public/rpc/rpc-pre.php new file mode 100644 index 00000000..30336e9e --- /dev/null +++ b/mayor-orig/www/policy/public/rpc/rpc-pre.php @@ -0,0 +1,43 @@ +<?php +/* + module: mayor-base + + A alap metódusok RPC kezelője + +*/ + require_once('include/share/ssl/ssl.php'); + + try + { + /* + rights.php: + $RPC = new Interconnect(); + $RPC->setRemoteHostByNodeId($senderNodeId); + $REQUEST = $RPC->processRequest(); + */ + $REQUEST = $RPC->getIncomingRequest(); + $func = $REQUEST['func']; + + } + catch (Exception $e) + { + $func=''; + $DATA = array('error'=>$e->getMessage()); + } + // processing + $DATA = array(); + if (isset($func) && $func!='') { + switch ($func) { + // itt a currens verziót kellene visszaadni + case 'getVersion': + case 'ping': + $DATA = array('func'=>'getVersion','revision'=>_MAYORREV,'pong'); + $RPC->setResponse($DATA); + break; + default: + $DATA['result'] = 'ismeretlen függvény: '.$func; + break; + } + + } +?> diff --git a/mayor-orig/www/policy/public/session/logout-pre.php b/mayor-orig/www/policy/public/session/logout-pre.php new file mode 100644 index 00000000..ac344fee --- /dev/null +++ b/mayor-orig/www/policy/public/session/logout-pre.php @@ -0,0 +1,28 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + require('include/share/session/close.php'); + + closeSession(); + closeOldAndIdleSessions(); + if (defined('_ALLOW_SULIX_SSO') && _ALLOW_SULIX_SSO===true) { + session_start(); + unset($_SESSION['portalLoggedPassword']); + unset($_SESSION['szuloDiakIdOk']); + session_destroy(); + header('Location: /'); + } else { +// session_start(); +// unset($_SESSION['szuloDiakIdOk']); +// session_destroy(); + session_start(); + session_unset(); + session_destroy(); + session_write_close(); + setcookie(session_name(),'',0,'/'); + session_regenerate_id(true); + header('Location: index.php'); + } + +?> diff --git a/mayor-orig/www/policy/public/session/set-pre.php b/mayor-orig/www/policy/public/session/set-pre.php new file mode 100644 index 00000000..d3e77776 --- /dev/null +++ b/mayor-orig/www/policy/public/session/set-pre.php @@ -0,0 +1,10 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $_JSON; + $layout = readVariable($_GET['layout'],'id',0); + $_SESSION['pageLayout'] = $layout; + $_JSON['success'] = true; + $_JSON['pageLayout'] = $layout; +?> |