From ef8b3fd973fa34b303370d5acc21744e57bca507 Mon Sep 17 00:00:00 2001
From: M.Gergo
Date: Mon, 17 May 2021 17:50:05 +0200
Subject: Rev: 4787
---
.../include/menu/private/hu_HU/module-naplo.php | 9 +
.../www/include/menu/public/hu_HU/module-naplo.php | 16 +-
.../www/include/modules/naplo/base/rights.php | 2 +-
.../www/include/modules/naplo/base/tool.php | 3 +-
.../www/include/modules/naplo/base/zcheck.php | 12 +-
.../modules/naplo/dokumentum/dokumentum.php | 56 +
.../www/include/modules/naplo/felveteli/level.php | 201 +
.../modules/naplo/felveteli/levelIgazgato.php | 177 +
.../www/include/modules/naplo/nyomtatas/tex.php | 2 +-
.../www/include/modules/naplo/share/felveteli.php | 112 +
.../include/modules/naplo/share/tanarModifier.php | 2 +-
.../www/include/modules/naplo/share/tanmenet.php | 2 +-
.../hu_HU/module-naplo/dokumentum/dokumentum.php | 5 +
.../lang/hu_HU/module-naplo/felveteli/szobeli.php | 38 +
.../lang/hu_HU/module-naplo/intezmeny/tanar.php | 3 +-
.../lang/hu_HU/module-naplo/intezmeny/tanarok.php | 4 +
.../private/naplo/dokumentum/dokumentum-pre.php | 41 +
.../policy/private/naplo/dokumentum/dokumentum.php | 21 +
.../private/naplo/dokumentum/tinyfilemanager.php | 4021 ++++++++++++++++++++
.../policy/private/naplo/felveteli/level-pre.php | 61 +
.../www/policy/private/naplo/felveteli/level.php | 0
.../private/naplo/felveteli/levelIgazgato-pre.php | 61 +
.../private/naplo/felveteli/levelIgazgato.php | 30 +
.../policy/private/naplo/felveteli/szobeli-pre.php | 153 +
.../www/policy/private/naplo/felveteli/szobeli.php | 38 +
.../private/naplo/hibabejelento/admin-pre.php | 2 +-
.../policy/private/naplo/hirnok/cronFutar-pre.php | 16 +-
.../www/policy/private/naplo/hirnok/hirnok-pre.php | 4 +-
.../private/naplo/intezmeny/kepzesOraterv-pre.php | 22 +-
.../private/naplo/intezmeny/kepzesOraterv.php | 6 +-
.../private/naplo/orarend/helyettesites-pre.php | 2 +-
.../policy/private/naplo/orarend/orarend-pre.php | 2 +-
.../policy/private/naplo/osztalyozo/stat-pre.php | 6 +-
.../policy/private/naplo/osztalyozo/tankor-pre.php | 11 +-
.../public/naplo/dokumentum/dokumentum-pre.php | 5 +
.../policy/public/naplo/dokumentum/dokumentum.php | 4 +
.../policy/public/naplo/felveteli/level-pre.php | 48 +
.../www/policy/public/naplo/felveteli/level.php | 3 +
.../policy/public/naplo/felveteli/szobeli-pre.php | 46 +
.../www/policy/public/naplo/felveteli/szobeli.php | 33 +
.../policy/public/naplo/intezmeny/tanarok-pre.php | 55 +
.../www/policy/public/naplo/intezmeny/tanarok.php | 7 +
.../module-naplo/css/dokumentum/dokumentum.css | 16 +
.../classic/module-naplo/css/felveteli/szobeli.css | 163 +
.../module-naplo/css/intezmeny/kepzesOraterv.css | 8 +-
.../classic/module-naplo/css/intezmeny/tanar.css | 2 +-
.../classic/module-naplo/css/intezmeny/tanarok.css | 10 +
.../www/skin/classic/module-naplo/html/base.phtml | 2 +-
.../module-naplo/html/dokumentum/dokumentum.phtml | 149 +
.../module-naplo/html/felveteli/szobeli.phtml | 521 +++
.../html/intezmeny/kepzesOraterv.phtml | 11 +-
.../module-naplo/html/intezmeny/tanar.phtml | 8 +
.../module-naplo/html/intezmeny/tanarok.phtml | 123 +
.../module-naplo/html/orarend/orarend.phtml | 13 +-
.../classic/module-naplo/html/share/face.phtml | 2 +-
.../javascript/dokumentum/dokumentum.jquery.min.js | 3 +
.../intezmeny/kepzesOraterv.jquery.min.js | 28 +-
57 files changed, 6337 insertions(+), 64 deletions(-)
create mode 100644 mayor-orig/mayor-naplo/www/include/modules/naplo/dokumentum/dokumentum.php
create mode 100644 mayor-orig/mayor-naplo/www/include/modules/naplo/felveteli/level.php
create mode 100644 mayor-orig/mayor-naplo/www/include/modules/naplo/felveteli/levelIgazgato.php
create mode 100644 mayor-orig/mayor-naplo/www/include/modules/naplo/share/felveteli.php
create mode 100644 mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/dokumentum/dokumentum.php
create mode 100644 mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/felveteli/szobeli.php
create mode 100644 mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanarok.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/dokumentum-pre.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/dokumentum.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/tinyfilemanager.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/level-pre.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/level.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/levelIgazgato-pre.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/levelIgazgato.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/szobeli-pre.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/szobeli.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/public/naplo/dokumentum/dokumentum-pre.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/public/naplo/dokumentum/dokumentum.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/level-pre.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/level.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/szobeli-pre.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/szobeli.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/public/naplo/intezmeny/tanarok-pre.php
create mode 100644 mayor-orig/mayor-naplo/www/policy/public/naplo/intezmeny/tanarok.php
create mode 100644 mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/dokumentum/dokumentum.css
create mode 100644 mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/felveteli/szobeli.css
create mode 100644 mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanarok.css
create mode 100644 mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/dokumentum/dokumentum.phtml
create mode 100644 mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/felveteli/szobeli.phtml
create mode 100644 mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tanarok.phtml
create mode 100644 mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/dokumentum/dokumentum.jquery.min.js
(limited to 'mayor-orig/mayor-naplo/www')
diff --git a/mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php b/mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php
index fa205518..7b6c55ae 100644
--- a/mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php
+++ b/mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php
@@ -111,6 +111,7 @@
'diakFelmentes' => array(array('txt' => 'Felmentés', 'url' => 'index.php?page=naplo&sub=intezmeny&f=diakFelmentes')),
'valtas'=> array(array('txt' => 'Tanévváltás', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas')),
'tovabbkepzes' => array(array('txt' => 'Továbbképzés')),
+ 'kepzesOraterv' => array(array('txt' => 'Képzés óraterv')),
);
$MENU['modules']['naplo']['sub']['orarend'] = array(
'helyettesites' => array(array('txt'=> 'Helyettesítések')),
@@ -583,6 +584,14 @@
if (__UZENO_INSTALLED===true && __UZENOADMIN===true)
$MENU['modules']['naplo']['uzeno'] = array(array('txt' => 'Üzenő', 'url' => 'index.php?page=naplo&sub=uzeno&f=uzeno'));
+ $MENU['modules']['naplo']['dokumentum'] = array(array('txt' => 'Dokumentumok', 'url' => 'index.php?page=naplo&sub=dokumentum'));
+
+ // Felvételi
+ $MENU['modules']['naplo']['felveteli'] = array(array('txt' => 'Felvételi', 'url' => 'index.php?page=naplo&sub=felveteli&f=szobeli'));
+ $MENU['modules']['naplo']['sub']['felveteli'] = array(
+ 'szobeli' => array(array('txt' => 'Szóbeli lekérdezés','icon'=>'icon-search'))
+ );
+
// SNI
if (__NAPLOADMIN || __VEZETOSEG || __TANAR) {
$MENU['modules']['naplo']['sni'] = array(array('txt' => 'Egyéni fejlesztés', 'url' => 'index.php?page=naplo&sub=sni'));
diff --git a/mayor-orig/mayor-naplo/www/include/menu/public/hu_HU/module-naplo.php b/mayor-orig/mayor-naplo/www/include/menu/public/hu_HU/module-naplo.php
index 090c7db2..56cb4d36 100644
--- a/mayor-orig/mayor-naplo/www/include/menu/public/hu_HU/module-naplo.php
+++ b/mayor-orig/mayor-naplo/www/include/menu/public/hu_HU/module-naplo.php
@@ -3,11 +3,25 @@
module: naplo
*/
- $MENU['naplo'] = array(array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend'));
+ $MENU['naplo'] = array(array('txt' => 'Napló', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend'));
$MENU['modules']['naplo']['orarend'] = array(
array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend'),
array('txt' => 'Helyettesítés', 'url'=>'index.php?page=naplo&sub=orarend&f=helyettesites', 'refresh'=>60),
array('txt' => 'Szabad termek', 'url' => 'index.php?page=naplo&sub=orarend&f=szabadTerem'),
);
+if (__PORTAL_CODE=='kanizsay') {
+// $MENU['tanari_kar'] = array(array('txt' => 'Tanári kar', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tanarok'));
+ $MENU['modules']['naplo']['intezmeny'] = array(
+ array('txt' => 'Tanári Kar', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tanarok'),
+ );
+ $MENU['modules']['naplo']['dokumentum'] = array(
+ array('txt' => 'Dokumentumok', 'url' => 'index.php?page=naplo&sub=dokumentum'),
+ );
+ $MENU['modules']['naplo']['felveteli'] = array(
+ array('txt' => 'Felvételi, szóbeli, végeredmény lekérdezés', 'url' => 'index.php?page=naplo&sub=felveteli&f=szobeli'),
+ );
+// require_once('include/menu/public/hu_HU/module-portal-kanizsay.php') or die();
+}
+
?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/rights.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/rights.php
index a0377a17..53eb1ed5 100644
--- a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/rights.php
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/rights.php
@@ -347,7 +347,7 @@
}
if (defined('__TANEV') && __TANEV!='') $tanev = __TANEV;
- if (defined('_SESSIONID') && _SESSIONID!='' && !$vanSession) {
+ if (defined('_SESSIONID') && _SESSIONID!='' && !$vanSession && _RUNLEVEL!='cron') {
$q = "REPLACE INTO session (sessionID, policy, intezmeny, telephelyId, tanev) VALUES
('"._SESSIONID."','"._POLICY."' , '".$intezmeny."',".$telephelyId.", ".$tanev.")";
db_query($q, array('fv' => 'naploBeallitasok/session', 'modul' => 'naplo_base'), $lr);
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/tool.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/tool.php
index d5ba4c6c..a871e5ed 100644
--- a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/tool.php
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/tool.php
@@ -42,8 +42,7 @@ function getToolParameters() {
);
- foreach ( $TOOL as $tool => $params ) if (is_array($params)) {
-
+ foreach ( $TOOL as $tool => $params ) if (is_array($params) && is_array($params['post'])) {
for ($i = 0; $i < count($params['post']); $i++) {
$_var = $params['post'][$i];
//if ($TOOLVARS[$_var]=='') $_SESSION['alert'][] = '::toolvars:'.$_var; // nem üzenünk hibát
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/zcheck.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/zcheck.php
index 12b7dea5..2b2d1478 100644
--- a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/zcheck.php
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/zcheck.php
@@ -80,7 +80,7 @@
}
if (!defined('__TANITASINAP_HETENTE')) define('__TANITASINAP_HETENTE',5);
- if (!define('__ORACIMKE_ENABLED')) define('__ORACIMKE_ENABLED',true) ;
+ if (!defined('__ORACIMKE_ENABLED')) define('__ORACIMKE_ENABLED',true) ;
/* üzenő szerepkor beallitasa */
if (__UZENOADMIN===true) {
@@ -97,8 +97,16 @@
elseif (__UZENOADMIN===true) define('__UZENOSZEREP','admin');
else define('__UZENOSZEREP','');
- if (count($KERELEM_TAG) ==0) $KERELEM_TAG = array('névsor','jogviszony','órarend, haladási','hiányzás, igazolás','jegy, zárójegy');
+ if (!is_array($KERELEM_TAG) || count($KERELEM_TAG) ==0) $KERELEM_TAG = array('névsor','jogviszony','órarend, haladási','hiányzás, igazolás','jegy, zárójegy');
if (!defined('__HABEL_GYURI_DEBUG')) define('__HABEL_GYURI_DEBUG',false);
+ if (!defined('MAYOR_SOCIAL')) define('MAYOR_SOCIAL',false);
+
+ if (_USERACCOUNT=='mayoradmin' || (_POLICY=='private' && memberOf(_USERACCOUNT, 'felveteliadmin'))) {
+ $AUTH['my']['categories'][] = 'felveteliadmin';
+ define('__FELVETELIADMIN',true);
+ } else {
+ define('__FELVETELIADMIN',false);
+ }
?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/dokumentum/dokumentum.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/dokumentum/dokumentum.php
new file mode 100644
index 00000000..9e454063
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/dokumentum/dokumentum.php
@@ -0,0 +1,56 @@
+'naplo_intezmeny','fv'=>'dokumentum','values'=>$v, 'result'=>'indexed'));
+ return $r;
+
+ }
+
+ function getDokumentumokAssoc() {
+
+ $q = "select dokumentum.*,IFNULL(tanev,YEAR(dokumentumDt)) AS dokumentumTanev from dokumentum left join szemeszter ON (dokumentumDt>kezdesDt && dokumentumDt<=szemeszter.ZarasDt)";
+ $v = array();
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'dokumentum','values'=>$v, 'result'=>'indexed'));
+
+ return reindex($r,array('dokumentumTipus','dokumentumTanev'));
+ return $r;
+
+ }
+
+ function updateDokumentum($ADAT) {
+
+
+ }
+
+ function addDokumentum($ADAT) {
+
+ if ($ADAT['dokumentumLeiras']!='' && readVariable($ADAT['dokumentumUrl'],'url')!='') {
+ $q = "INSERT INTO dokumentum (dokumentumLeiras, dokumentumRovidLeiras, dokumentumUrl, dokumentumMegjegyzes, dokumentumSorrend, dokumentumTipus, dokumentumPolicy, dokumentumDt)
+ VALUES ('%s','%s','%s','%s',%u,'%s','%s',NOW())";
+ $v = array($ADAT['dokumentumLeiras'],$ADAT['dokumentumRovidLeiras'],$ADAT['dokumentumUrl'],$ADAT['dokumentumMegjegyzes'],intval($ADAT['dokumentumSorrend']),$ADAT['dokumentumTipus'],$ADAT['dokumentumPolicy']);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'dokumentum','values'=>$v, 'result'=>'insert'));
+ }
+ return $r;
+
+ }
+
+ function delDokumentum($dokumentumId) {
+
+ if (!is_array($dokumentumId) && intval($dokumentumId)>0) {
+ $q = "DELETE FROM dokumentum WHERE dokumentumId=%u";
+ $v = array($dokumentumId);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'dokumentum','values'=>$v, 'result'=>''));
+ } elseif (is_array($dokumentumId)) {
+ $q = 'DELETE FROM dokumentum WHERE dokumentumId IN ('.implode(',',$dokumentumId).')';
+ $v = array();
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'dokumentum','values'=>$v, 'result'=>''));
+ }
+ return $r;
+
+ }
+
+
+?>
\ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/felveteli/level.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/felveteli/level.php
new file mode 100644
index 00000000..d8dfa8ff
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/felveteli/level.php
@@ -0,0 +1,201 @@
+'9.B', 'tagozatNev'=>'Technikumi képzés egészségügyi ágazatban');
+$A['eü. 9.C']=array('osztalyJel'=>'9.C', 'tagozatNev'=>'Technikumi képzés egészségügyi ágazatban');
+$A['gimi 9.G']=array('osztalyJel'=>'9.G', 'tagozatNev'=>'Gimnáziumi képzés');
+$A['nyek 9/Ny.N']=array('osztalyJel'=>'9/Ny.N', 'tagozatNev'=>'Gimnáziumi képzés nyelvi előkészítő évfolyammal');
+$A['ped 9.C']=array('osztalyJel'=>'9.C', 'tagozatNev'=>'Szakgimnáziumi képzés pedagógiai ágazatban');
+$A['szoc 9.C']=array('osztalyJel'=>'9.C', 'tagozatNev'=>'Technikumi képzés szociális ágazatban');
+
+
+ $nev = $D['nev'];
+ $kernev = $nev;
+ $tagozatId = $eredmeny;
+ $D['iktsz'] = $IKTSZ[$eredmeny].' ['.$D['vegeredmeny'].']';
+
+ $TeX .= '\begin{flushleft}'."\n";
+
+ $TeX .= putTeXLevelFejlec($D);
+
+ $TeX .= '\end{flushleft}'."\n";
+
+# $TeX .= '\parskip'."\n";
+ $TeX .= '\vspace{40pt}'."\n";
+ $TeX .= '\vspace{20pt}'."\n";
+
+ $TeX .= '\noindent '.'Kedves Felvételiző! Tisztelt Szülő!'."\n\n";
+
+ $TeX .= '\vspace{20pt}'."\n";
+
+ $TeX .= '{\baselineskip16pt'."\n";
+
+ if ($eredmeny>2) {
+
+ $TeX .= 'Nagy Örömmel értesítem, hogy '.$nev.' tanuló az általános iskolai eredménye és a felvételi vizsgán mutatott teljesítménye alapján (a Felvételi Központ által megküldött végleges listák sze\-rint)'."\n\n";
+ $TeX .= '\begin{center}'."\n";
+ $TeX .= '\textbf{ felvételt nyert }'."\n\n";
+ $TeX .= '\end{center}'."\n";
+ $TeX .= '\begin{center}'."\n";
+ $TeX .= ' a Kanizsay Dorottya Katolikus Középiskola '.$A[$D['extra']]['osztalyJel']." osztályába.\n\n";
+ $TeX .= '('.$A[$D['extra']]['tagozatNev'].")\n\n";
+ $TeX .= '\end{center}'."\n\n";
+ //if (defined('_SZULOI_ERTEKEZLET_IDOPONTBAN')) {
+ $TeX .= 'Tájékoztatom, hogy az első szülői értekezlet 2021. május 17-én (hétfőn) 17:30-kor lesz, amelyre ezúton hívom meg a Szülőket. A további teendőkkel (pl. beiratkozás, nyelvi szintfelmérő stb.) kapcsolatos teendőkért kérjük ne felejtsék el rendszeresen felkeresni honlapunkat.'."\n";
+ //}
+
+ $TeX .= 'Figyelembe véve a jelenlegi vírushelyzetet, a nyár folyamán két (egymástól különböző) gólya-napot fogunk tartani. Ezekről bővebb tájékoztatást a szülői értekezleten kapnak majd.'."\n";
+ $TeX .= "\n\n";
+ $TeX .= '\vspace{14pt}'."\n";
+ $TeX .= 'Remélem, az iskolánkban eltöltött évek hasznosak és eredményesek lesznek.'."\n\n";
+
+ } elseif ($eredmeny==2) {
+
+// $TeX .= 'Sajnálattal vettük tudomásul, hogy '.$kernev.' másik iskolát választott, ezért nem vehettük fel a Városmajori Gimnáziumba.'."\n\n";
+// $TeX .= '\vspace{14pt}'."\n";
+// $TeX .= 'Remélem, hogy a választása jó döntésnek fog bizonyulni. Sikeres tanulmányi éveket és minden jót kívánok!'."\n\n";
+
+ } elseif ($eredmeny==1) {
+
+// $TeX .= 'Sajnálattal értesítem, hogy '.$nev.' tanuló a felvételi vizsgán megfelelt, de helyhiány miatt nem nyert felvételt gimnáziumunkba.'."\n\n";
+// $TeX .= '\vspace{14pt}'."\n";
+// $TeX .= 'A Szülő e döntés ellen jogorvoslati lehetőséggel (a kézhezvételtől számított 15 napon belül) akkor élhet, ha az utolsó helyen megjelölt iskola elutasító értesítése megérkezett. Jogorvoslati kérelmét az általános iskola igazgatójának kell benyújtani. '
+// .'Felhívom figyelmét arra, hogy gyermeke tankötelezettségének teljesítésére vonatkozó kérelemmel a lakóhely szerinti önkormányzat jegyzőjéhez fordulhat.'."\n\n";
+
+ } elseif ($eredmeny==0) {
+
+ $TeX .= 'Sajnálattal értesítem, hogy '.$nev.' tanuló - a Felvételi Központ által megküldött végleges listák szerint - nem nyert felvételt a Kanizsay Dorottya Katolikus Középiskolába.'."\n\n";
+ $TeX .= '\vspace{14pt}'."\n\n";
+ $TeX .= 'A Szülő e döntés ellen jogorvoslati lehetőséggel (a kézhezvételtől számított 15 napon belül) jogorvoslati lehetőséggel élhet, ha az utolsó megjelölt iskola elutasító értesítése is megérkezett. Jogorvoslati kérelmét az általános iskola igazgatójának kell benyújtania. Felhívom a figyelmét arra, hogy gyermeke tankötelezettségének teljesítésére vonatkozó kérelemmel a lakóhely szerinti önkormányzat jegyzőjéhez fordulhat.'."\n\n";
+
+ } else {
+
+ }
+ $TeX .= '}'."\n";
+ $TeX .= '\vspace{20pt}'."\n";
+ $TeX .= '\noindent Budapest, 2021. április 26.'.' \par%'."\n";
+
+
+ $TeX .= '\vspace{14pt}'."\n\n";
+ if ($eredmeny > 2 ) $TeX .= '\vspace{14pt}'."\n\n";
+
+ $TeX .= '\begin{flushright}'."\n";
+
+
+
+$TeX .= '\begin{tabular}{ccc}'."\n";
+
+//if ($eredmeny <= 2 ) {
+// $TeX .= '&&\includegraphics[width=30mm]{/var/mayor/www/skin/classic/module-felveteli/img/bp.png}\\\\ '."\n";
+//}
+$TeX .= '&&\rule{4cm}{0.1pt}\\\\ '."\n";
+$TeX .= '&&Bärnkopf Péter\\\\ '."\n";
+$TeX .= '&&igazgató\\\\ '."\n";
+$TeX .= '\end{tabular}'."\n";
+
+
+ $TeX .= '\end{flushright}'."\n";
+
+
+
+ $TeX .= '\newpage'."\n\n";
+ $TeX .= '\setcounter{footnote}{0}'."\n\n";
+
+ }
+
+ // dokumentum lezárása
+ $TeX .= '\end{document}'."\n";
+ return pdfLaTeX($TeX, $file);
+
+ }
+
+ function putTeXLevelFejlec($ADAT) {
+
+
+ if ($ADAT['lakcim_telepules']!='') $TeX.= "Cím: ".$ADAT['lakcim_telepules'].', '.$ADAT['lakcim_irsz'].' '.$ADAT['lakcim_utcahazszam']."\n\n";
+ if ($ADAT['tartozkodasi_telepules']!='') $TeX.= "Levelezési cím: ".$ADAT['tartozkodasi_telepules'].', '.$ADAT['tartozkodasi_irsz'].' '.$ADAT['tartozkodasi_utcahazszam']."\n\n";
+ $TeX.= "Oktatási azonosító: ".$ADAT['oId']."\n\n";
+ $TeX.= "MaYoR azonosító: ".$ADAT['felveteliId'].'/'.$ADAT['omkod']."\n\n";
+ $TeX.= "Iktatószám: C8-62/2021"."\n\n";
+ $TeX.= "Tárgy: Értesítés ".$ADAT['nev']." (".str_replace('_','',$ADAT['an'])." ".str_replace('-','.',$ADAT['szuldt']).".) felvételi eredményéről\n\n";
+
+# $TeX.= '\hrule%'."\n";
+
+# $TeX.= '%'."\n";
+
+# $TeX.= '\vskip2cm\alap';
+
+# $TeX.= '\item{}C.mzett: '.$nev.' .s Sz.lei';
+# $TeX.= '\item{}Postai c.m: '.$cim;
+# $TeX.= '\item{}Iktat.sz.m: '.$IKTSZ[$eredmeny].' ('.$id.')%'."\n";
+# $TeX.= '\vskip0.8cm';
+# $TeX.= '{{Tárgy}: {Értesítés '.$nev.' (';
+# if ($an!="") $TeX.= 'a.n.: '.$an.', ';
+# $TeX.= 'sz.l.: '.str_replace('-','.',$szul_dt).'.) felv.teli eredm.ny.r.l}}';
+
+# $TeX.= '%'."\n";
+
+ return $TeX;
+
+ }
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/felveteli/levelIgazgato.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/felveteli/levelIgazgato.php
new file mode 100644
index 00000000..e06e9dca
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/felveteli/levelIgazgato.php
@@ -0,0 +1,177 @@
+2) $DATA[$omkod]['ok'][] = $ADAT['diak'][$i];
+ else $DATA[$omkod]['nemok'][] = $ADAT['diak'][$i];
+ }
+
+ $TeX = '\documentclass[8pt]{article}'."\n\n";
+ $TeX .= '\usepackage[a4paper]{geometry} % A4-os méret'."\n";
+ $TeX .= '\usepackage{graphicx}'."\n";
+// $TeX .= '\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás'."\n";
+ $TeX .= '\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)'."\n";
+ $TeX .= '\usepackage{ucs} % Jobb UTF-8 támogatás'."\n";
+ $TeX .= '\usepackage{t1enc}'."\n";
+ $TeX .= '\usepackage[magyar]{babel} % magyar elválasztási szabályok'."\n";
+ $TeX .= '\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után'."\n";
+ $TeX .= '\usepackage{booktabs} % táblázatok magasabb szintű formázása'."\n";
+// $TeX .= '\usepackage{soul} % Ritkítás'."\n";
+ $TeX .= '\usepackage{fancyhdr} % Ritkítás'."\n";
+// $TeX .= '\pagestyle{empty}'."\n";
+ $TeX .= '\pagestyle{fancy}'."\n";
+
+ $TeX .= '\def\mayor{%'."\n";
+// $TeX .= '\font\mayorfnt=cmsl6%'."\n";
+// $TeX .= '\font\Mayorfnt=cmsl9'."\n";
+ $TeX .= '\font\mayorfnt=cmsl4%'."\n";
+ $TeX .= '\font\Mayorfnt=cmsl6'."\n";
+ $TeX .= '{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}'."\n";
+
+ $TeX .= '\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}'."\n";
+ $TeX .= '\addtolength{\skip\footins}{2mm}'."\n";
+# $TeX .= '\addtolength{\textheight}{10mm}'."\n";
+ $TeX .= '\parindent 0mm'."\n";
+# $TeX .= '\linespread{1.3}'."\n";
+ $TeX .= '\setlength{\footskip}{16pt}'."\n";
+ $TeX .= '\setlength{\headsep}{0pt}'."\n"; // 14pt helyett
+
+ $TeX .= '\cfoot{\tiny \copyright\mayor\ elektronikus adminisztráció - Nyomtatva: '.date('Y.m.d').'}';
+ $TeX .= '\setlength{\voffset}{0mm}'."\n";
+ $TeX .= '\setlength{\headheight}{40mm}'."\n";
+ $TeX .= '\renewcommand{\headrulewidth}{0pt}'."\n";
+ $TeX .= '\chead{\includegraphics[width=160mm]{/var/mayor/www/skin/classic/module-portal/img/fejlec.png}}'."\n";
+# $TeX .= '\lhead{\includegraphics[width=160mm]{/var/mayor/www/skin/classic/module-felveteli/img/iskola.png}}'."\n";
+# $TeX .= '\rhead{\tiny Felvételi értesítő}';
+
+
+ $TeX .= '\begin{document}'."\n\n";
+
+ foreach ($DATA as $omkod => $DA) {
+
+ $TeX .= '\begin{flushleft}'."\n";
+
+ $TeX .= putTeXIgLevelFejlec($ADAT['iskola'][$omkod],'C8-62/2021');
+
+ $TeX .= '\end{flushleft}'."\n";
+
+# $TeX .= '\parskip'."\n";
+ $TeX .= '\vspace{40pt}'."\n";
+
+ $TeX .= '{'."\n";
+ $TeX .= 'Kedves Igazgató Kolléga!'."\n\n";
+
+ $TeX .= '\vspace{20pt}'."\n\n";
+
+ if (count($DA['ok'])==1) { $vanfelvett=true;
+ $TeX .= 'Értesítem, hogy az Önök iskolájából az alábbi tanuló nyert felvételt iskolánkba:'."\n\n";
+ } elseif (count($DA['ok'])>1) { $vanfelvett=true;
+ $TeX .= 'Értesítem, hogy az Önök iskolájából az alábbi tanulók nyertek felvételt iskolánkba:'."\n\n";
+ } else {
+ $vanfelvett=false;
+ }
+
+ if ($vanfelvett) {
+ $TeX .= '\begin{itemize}'."\n";
+ for ($i=0; $i0) {
+ if ($vanfelvett) { $TeX .= 'Egyúttal s'; $kieg=' iskolánkba'; }
+ else { $TeX .= 'S'; $kieg = ' iskolánkba';}
+ if (count($DA['nemok'])==1)
+ $TeX .= 'ajnálattal tájékoztatom, hogy a következő tanuló nem nyert felvételt'.$kieg.':'."\n\n";
+ else
+ $TeX .= 'ajnálattal tájékoztatom, hogy a következő tanulók nem nyertek felvételt'.$kieg.':'."\n\n";
+
+ $TeX .= '\vspace{14pt}'."\n\n";
+
+ $TeX .= '\begin{itemize}'."\n";
+ for ($i=0; $i 2 ) $TeX .= '\vspace{14pt}'."\n\n";
+
+ $TeX .= '\begin{flushright}'."\n";
+
+
+#$TeX .= '\begin{tabular}{ccc}'."\n";
+#$TeX .= '&&\includegraphics[width=30mm]{/var/mayor/www/skin/classic/module-felveteli/img/tasai.png}\\\\ '."\n";
+#$TeX .= '&&\rule{4cm}{0.1pt}\\\\ '."\n";
+#$TeX .= '&&Dr. Szebedy Tas\\\\ '."\n";
+#$TeX .= '&&igazgató\\\\ '."\n";
+#$TeX .= '\end{tabular}'."\n";
+
+$TeX .= '\begin{tabular}{ccc}'."\n";
+$TeX .= '&&\rule{4cm}{0.1pt}\\\\ '."\n";
+$TeX .= '&&Bärnkopf Péter\\\\ '."\n";
+$TeX .= '&&igazgató\\\\ '."\n";
+$TeX .= '\end{tabular}'."\n";
+
+ $TeX .= '\end{flushright}'."\n";
+
+
+
+ $TeX .= '\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%'."\n\n";
+
+ }
+
+ // dokumentum lezárása
+ $TeX .= '\end{document}'."\n";
+ return pdfLaTeX($TeX, $file);
+
+ }
+
+ function putTeXIgLevelFejlec($ADAT,$iktsz) {
+
+
+ $TeX.= "Intézmény: ".$ADAT['nev']."\n\n";
+ $TeX.= "Cím: ".$ADAT['telepules'].', '.$ADAT['irsz'].' '.$ADAT['cim']."\n\n";
+ $TeX.= "OM kód: ".$ADAT['omkod']."\n\n";
+ $TeX.= "Iktatószám: ".$iktsz."\n\n";
+ $TeX.= "Tárgy: Értesítés felvételi eredményről\n\n";
+
+# $TeX.= '\hrule%'."\n";
+
+# $TeX.= '%'."\n";
+
+# $TeX.= '\vskip2cm\alap';
+
+# $TeX.= '\item{}C.mzett: '.$nev.' .s Sz.lei';
+# $TeX.= '\item{}Postai c.m: '.$cim;
+# $TeX.= '\item{}Iktat.sz.m: '.$IKTSZ[$eredmeny].' ('.$id.')%'."\n";
+# $TeX.= '\vskip0.8cm';
+# $TeX.= '{{Tárgy}: {Értesítés '.$nev.' (';
+# if ($an!="") $TeX.= 'a.n.: '.$an.', ';
+# $TeX.= 'sz.l.: '.str_replace('-','.',$szul_dt).'.) felv.teli eredm.ny.r.l}}';
+
+# $TeX.= '%'."\n";
+
+ return $TeX;
+
+ }
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tex.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tex.php
index ab2ca3c0..d2bf5100 100644
--- a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tex.php
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tex.php
@@ -640,7 +640,7 @@ $return .= '% ------------------------------------------------------------- %
$pluszHIANYZASOK[ $H['ora'][$k] ] .= $k.'.';
}
}
- while (list($key,$val) = each($pluszHIANYZASOK)) {
+ foreach($pluszHIANYZASOK as $key=>$val) {
$return .= ' '.$key.':'.$val;
}
} else { // nem hiányzott, csak késett
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/felveteli.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/felveteli.php
new file mode 100644
index 00000000..e8568332
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/felveteli.php
@@ -0,0 +1,112 @@
+'naplo','values'=>$v,'debug'=>false),$lr);
+ return $token;
+ }
+
+ function checkLevelToken($token) {
+
+ }
+
+ function getIrasbeliEredmeny($nev,$oId) {
+ $lr = @db_connect('felveteli');
+ $q = "SELECT * FROM irasbeli_eredmenyek_"._EV." WHERE nev='%s' AND oId='%s'";
+ $RET = db_query($q,array('modul'=>'felveteli', 'result'=>'indexed','values'=>array($nev,$oId),'debug'=>false),$lr);
+ db_close($lr);
+ return $RET;
+ }
+
+ function getFelvetelizoAdatok($nev,$oId) {
+ $lr = db_connect('naplo');
+ if (__FELVETELIADMIN===TRUE && $oId=='') {
+ $q = "SELECT count(*) AS db FROM felveteli WHERE (nev LIKE '$nev%' or jelige='$nev')";
+ } else {
+ $q = "SELECT count(*) AS db FROM felveteli WHERE (nev='$nev' or jelige='$nev') AND oId='$oId'";
+ }
+ $c = db_query($q,array('result'=>'value','modul'=>'naplo'),$lr);
+ if ($c==1) {
+ if (__FELVETELIADMIN===TRUE && $oId=='')
+ $q = "SELECT * FROM felveteli WHERE (nev LIKE '$nev%' or jelige='$nev')";
+ else
+ $q = "SELECT * FROM felveteli WHERE (nev='$nev' or jelige='$nev') AND oId='$oId'";
+ $R = db_query($q,array('result'=>'record','modul'=>'naplo'),$lr);
+// if ($R['OM'] != '') {
+// $q = "SELECT * FROM iskolak WHERE omkod like '%".$R['OM']."' LIMIT 1";
+// $Rtmp = db_query($q,array('result'=>'indexed'),$lr);
+// $R['iskolaAdat'] = $Rtmp[0];
+// } else {
+ $R['iskolaAdat'] = array();
+// }
+ } else {
+ // $_SESSION['alert'][] = 'info:Nincs találat!:'.$c;
+ if (__FELVETELIADMIN===true && $nev!='') { //chatty error
+ $q = "SELECT nev,oId FROM felveteli WHERE (nev LIKE '$nev%' or jelige='$nev')";
+ $ER = db_query($q,array('result'=>'indexed','modul'=>'naplo'),$lr);
+ if (count($ER)>0) $_SESSION['alert'][] = 'info:'.json_encode($ER);
+ }
+ }
+ if ($lr) db_close($lr);
+ return $R;
+ }
+/*
+ function getSzobeli($jid, $olr = '') {
+ if (!is_numeric($jid)) return false;
+ if ($olr=='') $lr = db_connect('naplo'); else $lr=$olr;
+ //$q = "SELECT * FROM szobeli_"._EV." WHERE jid=$jid ORDER BY napdt,ido,tagozat";
+ $q = "SELECT * FROM szobeli_"._EV." WHERE id=$jid ORDER BY napdt,ido,tagozat";
+ // 2012
+// $q = "SELECT * FROM szobeli_"._EV." AS sz LEFT JOIN jelentkezok_tagozatok"._EV." AS jel ON sz.id=jel.id AND sz.tagozat=jel.tid
+// WHERE sz.id=$jid ORDER BY napdt,ido,tagozat";
+ $R = db_query($q,array('result'=>'indexed'),$lr);
+ if ($olr=='') db_close($lr);
+ return $R;
+ }
+*/
+
+ function getSzobeliByoId($oId, $olr = '') {
+ if (!is_numeric($oId)) return false;
+ if ($olr=='') $lr = db_connect('naplo'); else $lr=$olr;
+ $q = "SELECT * FROM felveteli_szobeli
+ LEFT JOIN felveteli_tagozat USING (tagozat)
+ WHERE `oId`='$oId' ORDER BY napdt,ido,felveteli_szobeli.tagozat";
+ $R = db_query($q,array('result'=>'indexed'),$lr);
+ if ($olr=='') db_close($lr);
+ return $R;
+ }
+
+ function getJelentkezes($oId, $olr = '') {
+ if (!is_numeric($oId)) return false;
+ if ($olr=='') $lr = db_connect('naplo'); else $lr=$olr;
+ $q = "SELECT * FROM felveteli_jelentkezes LEFT JOIN felveteli_tagozat USING (tagozat) WHERE oId='%s'";
+ $v = array($oId);
+ $R = db_query($q,array('result'=>'indexed', 'values'=>$v),$lr);
+ if ($olr=='') db_close($lr);
+ return $R;
+ }
+
+ function getIdeiglenesRangsor($oId) {
+
+ if (!is_numeric($oId)) return false;
+ if ($olr=='') $lr = db_connect('felveteli'); else $lr=$olr;
+ $q = "SELECT tagozat,rangsor,pont,szobeli,joslat FROM eredmenyek_tagozatonkent_"._EV." WHERE oId='$oId'";
+ $R = db_query($q,array('result'=>'indexed'),$lr);
+ if ($olr=='') db_close($lr);
+ return $R;
+
+ }
+
+ function getFelveteliTagozat() {
+ if ($olr=='') $lr = db_connect('naplo'); else $lr=$olr;
+ $q = "SELECT * FROM felveteli_tagozat";
+ $R = db_query($q,array('result'=>'indexed'),$lr);
+ if ($olr=='') db_close($lr);
+ return $R;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanarModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanarModifier.php
index 05174959..d76607dd 100644
--- a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanarModifier.php
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanarModifier.php
@@ -5,7 +5,7 @@
foreach($SET as $k => $v) {
$kv[] = "$k='%s'";
}
- $q = "UPDATE tanar SET ".implode($kv,',')." WHERE tanarId=%u";
+ $q = "UPDATE tanar SET ".implode(',',$kv)." WHERE tanarId=%u";
}
$v = array_merge(array_values($SET),array($tanarId));
return db_query($q, array('fv' => 'updateTanarAdat', 'modul' => 'naplo_intezmeny', 'result' => 'update', 'values' => $v), $olr);
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanmenet.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanmenet.php
index fe26de8f..ed26f4ac 100644
--- a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanmenet.php
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanmenet.php
@@ -165,7 +165,7 @@
$W = array();
if ($SET['jovahagyva']===true) $W[] = " AND statusz='publikus'";
- $q = "SELECT tankorId, tanmenetId FROM tanmenetTankor LEFT JOIN tanmenet USING (tanmenetId) WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND tanev=%u".implode($W,' ');
+ $q = "SELECT tankorId, tanmenetId FROM tanmenetTankor LEFT JOIN tanmenet USING (tanmenetId) WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND tanev=%u".implode(' ',$W);
$tankorIds[] = $tanev;
return db_query($q, array('fv' => 'getTanmenetByTankorIds', 'modul' => 'naplo_intezmeny', 'result' => 'keyvaluepair', 'values' => $tankorIds));
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/dokumentum/dokumentum.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/dokumentum/dokumentum.php
new file mode 100644
index 00000000..cf39dcfb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/dokumentum/dokumentum.php
@@ -0,0 +1,5 @@
+
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/felveteli/szobeli.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/felveteli/szobeli.php
new file mode 100644
index 00000000..bc0786eb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/felveteli/szobeli.php
@@ -0,0 +1,38 @@
+ A szóbeli beosztás és adategyeztetés folyamatban van, kérjük látogasson vissza egy későbbi időpontban...
Türelmét és megértését köszönjük!');
+
+ define('_BIZOTTSAG','Bizottság');
+ define('_PLEASE_WAIT','Kérem várjon...');
+ define('_BEHIVOTTAK','Behívottak');
+
+ define('_HIBAS','Hibás!');
+ define('_NINCS_BEHIVVA','Nincs behívva');
+
+ define('_EREDMENY','Eredmények');
+ define('_EVFOLYAM','évfolyam');
+
+ define('_MAGYAR','Magyar');
+ define('_MATEK','Matematika');
+
+ define('_ATLAG','Bizonyítvány átlag');
+ define('_IRASBELI','Írásbeli');
+
+ define('_PONT','pont');
+
+ define('_LEKERDEZES_DT','Lekérdezés ideje:');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanar.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanar.php
index 149051c8..e3110414 100644
--- a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanar.php
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanar.php
@@ -4,7 +4,6 @@
define('_FILESELECTTITLE','A tanárok adatainak frissítése');
-
define('_TANAR_ALAPADATAI','Tanár adatai (alap)');
define('_TANAR_SZULETESI_ADATAI','Születési adatok');
define('_UJ_TANAR','Új tanár felvétele');
@@ -47,6 +46,8 @@
define('_TITULUS','Titulus');
define('_TITULUSROVID','Titulus röviden');
define('_EMAIL','Email');
+ define('_ELERHETOSEG','Eléthetőség (publikus)');
+ define('_KRETANEV','Kréta név');
define('_TOVABBKEPZES_FORDULO_DT','A továbbképzési ciklus vége');
define('_TOVABBKEPZES_FORDULO_DT_HELP','A továbbképzési ciklus végét jelző dátum. A dátum éve a hétéves ciklus mindenkori utolsó évét jelzi. Lásd még: továbbképzések');
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanarok.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanarok.php
new file mode 100644
index 00000000..869a8484
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanarok.php
@@ -0,0 +1,4 @@
+
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/dokumentum-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/dokumentum-pre.php
new file mode 100644
index 00000000..c41e820c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/dokumentum-pre.php
@@ -0,0 +1,41 @@
+'Éves Munkaterv','dokumentumUrl'=>
+'http://szerver4.kanizsay.sulinet.hu/KDESZIG/munkaterv_20_21.pdf',
+'dokumentumSorrend'=>2)));
+*/
+
+ if (_RIGHTS_OK!==true) die();
+
+ if (__NAPLOADMIN===true) {
+ $_SESSION['MAYOR_RIGHTS_OK'] = true;
+
+ if ($action=='addDokumentum') {
+ $_leiras = readVariable($_POST['dokumentumLeiras'],'string');
+ $_rovidLeiras = readVariable($_POST['dokumentumRovidLeiras'],'string');
+ $_url = readVariable($_POST['dokumentumUrl'],'url');
+ $_megjegyzes = readVariable($_POST['dokumentumMegjegyzes'],'string');
+ $_sorrend = readVariable($_POST['dokumentumSorrend'],'id');
+ $_tipus = readVariable($_POST['dokumentumTipus'],'enum','tanev',array('general','tanev'));
+ $_policy = readVariable($_POST['dokumentumPolicy'],'enum','private',array('public','parent','private'));
+ $dokumentumId = addDokumentum(
+ array(
+ 'dokumentumLeiras' => $_leiras,
+ 'dokumentumRovidLeiras' => $_rovidLeiras,
+ 'dokumentumUrl' => $_url,
+ 'dokumentumMegjegyzes' => $_megjegyzes,
+ 'dokumentumSorrend'=> $_sorrend,
+ 'dokumentumTipus' => $_tipus,
+ 'dokumentumPolicy' => $_policy
+ )
+ );
+ } elseif ($action=='delDokumentum') {
+ $_ids = readVariable($_POST['dokumentumId'],'id');
+ delDokumentum($_ids);
+ }
+ }
+ $ADAT = getDokumentumok();
+ $ADATASSOC = getDokumentumokAssoc();
+
+?>
\ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/dokumentum.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/dokumentum.php
new file mode 100644
index 00000000..04259088
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/dokumentum.php
@@ -0,0 +1,21 @@
+';
+} else {
+
+ putDokumentumLista($ADATASSOC);
+
+}
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/tinyfilemanager.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/tinyfilemanager.php
new file mode 100644
index 00000000..3e5a1772
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/dokumentum/tinyfilemanager.php
@@ -0,0 +1,4021 @@
+ 'Password', 'Username2' => 'Password2', ...)
+// Generate secure password hash - https://tinyfilemanager.github.io/docs/pwd.html
+$auth_users = array(
+);
+
+//set application theme
+//options - 'light' and 'dark'
+$theme = 'light';
+
+// Readonly users
+// e.g. array('users', 'guest', ...)
+$readonly_users = array();
+
+// Enable highlight.js (https://highlightjs.org/) on view's page
+$use_highlightjs = true;
+
+// highlight.js style
+// for dark theme use 'ir-black'
+$highlightjs_style = 'vs';
+
+// Enable ace.js (https://ace.c9.io/) on view's page
+$edit_files = true;
+
+// Default timezone for date() and time()
+// Doc - http://php.net/manual/en/timezones.php
+$default_timezone = 'Europe/Budapest';
+
+// Root path for file manager
+// use absolute path of directory i.e: '/var/www/folder' or $_SERVER['DOCUMENT_ROOT'].'/folder'
+$root_path = $_SERVER['DOCUMENT_ROOT'];
+$root_path = "/var/mayor/download/public/portal/upload/";
+
+// Root url for links in file manager.Relative to $http_host. Variants: '', 'path/to/subfolder'
+// Will not working if $root_path will be outside of server document root
+$root_url = '';
+$root_url = '/upload/';
+
+// Server hostname. Can set manually if wrong
+$http_host = $_SERVER['HTTP_HOST'];
+
+// user specific directories
+// array('Username' => 'Directory path', 'Username2' => 'Directory path', ...)
+$directories_users = array();
+
+// input encoding for iconv
+$iconv_input_encoding = 'UTF-8';
+
+// date() format for file modification date
+// Doc - https://www.php.net/manual/en/function.date.php
+$datetime_format = 'Y-m-d H:i:s';
+
+// Allowed file extensions for create and rename files
+// e.g. 'txt,html,css,js'
+$allowed_file_extensions = 'jpg,jpeg,png,gif,pdf,doc,docx,xls,xlsx';
+
+// Allowed file extensions for upload files
+// e.g. 'gif,png,jpg,html,txt'
+$allowed_upload_extensions = $allowed_file_extensions;
+
+// Favicon path. This can be either a full url to an .PNG image, or a path based on the document root.
+// full path, e.g http://example.com/favicon.png
+// local path, e.g images/icons/favicon.png
+$favicon_path = '';
+
+// Files and folders to excluded from listing
+// e.g. array('myfile.html', 'personal-folder', '*.php', ...)
+$exclude_items = array();
+$exclude_items = array(
+ '*.phtml',
+ '*.php',
+ '*.css',
+ '*.js'
+);
+
+// Online office Docs Viewer
+// Availabe rules are 'google', 'microsoft' or false
+// google => View documents using Google Docs Viewer
+// microsoft => View documents using Microsoft Web Apps Viewer
+// false => disable online doc viewer
+$online_viewer = 'google';
+
+// Sticky Nav bar
+// true => enable sticky header
+// false => disable sticky header
+$sticky_navbar = true;
+
+// Maximum file upload size
+// Increase the following values in php.ini to work properly
+// memory_limit, upload_max_filesize, post_max_size
+$max_upload_size_bytes = 20000;
+
+// Possible rules are 'OFF', 'AND' or 'OR'
+// OFF => Don't check connection IP, defaults to OFF
+// AND => Connection must be on the whitelist, and not on the blacklist
+// OR => Connection must be on the whitelist, or not on the blacklist
+$ip_ruleset = 'OFF';
+
+// Should users be notified of their block?
+$ip_silent = true;
+
+// IP-addresses, both ipv4 and ipv6
+$ip_whitelist = array(
+ '127.0.0.1', // local ipv4
+ '::1' // local ipv6
+);
+
+// IP-addresses, both ipv4 and ipv6
+$ip_blacklist = array(
+ '0.0.0.0', // non-routable meta ipv4
+ '::' // non-routable meta ipv6
+);
+
+// if User has the customized config file, try to use it to override the default config above
+#$config_file = __DIR__.'/config.php';
+#if (is_readable($config_file)) {
+# @include($config_file);
+#}
+
+// --- EDIT BELOW CAREFULLY OR DO NOT EDIT AT ALL ---
+
+// max upload file size
+define('MAX_UPLOAD_SIZE', $max_upload_size_bytes);
+
+define('FM_THEME', $theme);
+
+// private key and session name to store to the session
+if ( !defined( 'FM_SESSION_ID')) {
+ define('FM_SESSION_ID', 'filemanager');
+}
+
+// Configuration
+$cfg = new FM_Config();
+
+// Default language
+$lang = isset($cfg->data['lang']) ? $cfg->data['lang'] : 'en';
+
+// Show or hide files and folders that starts with a dot
+$show_hidden_files = isset($cfg->data['show_hidden']) ? $cfg->data['show_hidden'] : true;
+
+// PHP error reporting - false = Turns off Errors, true = Turns on Errors
+$report_errors = isset($cfg->data['error_reporting']) ? $cfg->data['error_reporting'] : true;
+
+// Hide Permissions and Owner cols in file-listing
+$hide_Cols = isset($cfg->data['hide_Cols']) ? $cfg->data['hide_Cols'] : true;
+
+// Show directory size: true or speedup output: false
+$calc_folder = isset($cfg->data['calc_folder']) ? $cfg->data['calc_folder'] : true;
+
+//available languages
+$lang_list = array(
+ 'en' => 'English'
+);
+
+
+if ($report_errors == true) {
+ @ini_set('error_reporting', E_ALL);
+ @ini_set('display_errors', 1);
+} else {
+ @ini_set('error_reporting', E_ALL);
+ @ini_set('display_errors', 0);
+}
+
+// if fm included
+if (defined('FM_EMBED')) {
+ $use_auth = false;
+ $sticky_navbar = false;
+ session_start(); if ($_SESSION['MAYOR_RIGHTS_OK']!==true) die(); // MaYoR
+} else {
+ @set_time_limit(600);
+
+ date_default_timezone_set($default_timezone);
+
+ ini_set('default_charset', 'UTF-8');
+ if (version_compare(PHP_VERSION, '5.6.0', '<') && function_exists('mb_internal_encoding')) {
+ mb_internal_encoding('UTF-8');
+ }
+ if (function_exists('mb_regex_encoding')) {
+ mb_regex_encoding('UTF-8');
+ }
+
+ session_cache_limiter('');
+ session_name(FM_SESSION_ID );
+ function session_error_handling_function($code, $msg, $file, $line) {
+ // Permission denied for default session, try to create a new one
+ if ($code == 2) {
+ session_abort();
+ session_id(session_create_id());
+ @session_start();
+ }
+ }
+ set_error_handler('session_error_handling_function');
+ session_start();
+ restore_error_handler();
+}
+
+if (empty($auth_users)) {
+ $use_auth = false;
+}
+
+$is_https = isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1)
+ || isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https';
+
+// update $root_url based on user specific directories
+if (isset($_SESSION[FM_SESSION_ID]['logged']) && !empty($directories_users[$_SESSION[FM_SESSION_ID]['logged']])) {
+ $wd = fm_clean_path(dirname($_SERVER['PHP_SELF']));
+ $root_url = $root_url.$wd.DIRECTORY_SEPARATOR.$directories_users[$_SESSION[FM_SESSION_ID]['logged']];
+}
+// clean $root_url
+$root_url = fm_clean_path($root_url);
+
+// abs path for site
+defined('FM_ROOT_URL') || define('FM_ROOT_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . (!empty($root_url) ? '/' . $root_url : ''));
+defined('FM_SELF_URL') || define('FM_SELF_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . $_SERVER['PHP_SELF']);
+
+// logout
+if (isset($_GET['logout'])) {
+ unset($_SESSION[FM_SESSION_ID]['logged']);
+ fm_redirect(FM_SELF_URL);
+}
+
+// Validate connection IP
+if($ip_ruleset != 'OFF'){
+ $clientIp = $_SERVER['REMOTE_ADDR'];
+
+ $proceed = false;
+
+ $whitelisted = in_array($clientIp, $ip_whitelist);
+ $blacklisted = in_array($clientIp, $ip_blacklist);
+
+ if($ip_ruleset == 'AND'){
+ if($whitelisted == true && $blacklisted == false){
+ $proceed = true;
+ }
+ } else
+ if($ip_ruleset == 'OR'){
+ if($whitelisted == true || $blacklisted == false){
+ $proceed = true;
+ }
+ }
+
+ if($proceed == false){
+ trigger_error('User connection denied from: ' . $clientIp, E_USER_WARNING);
+
+ if($ip_silent == false){
+ fm_set_msg('Access denied. IP restriction applicable', 'error');
+ fm_show_header_login();
+ fm_show_message();
+ }
+
+ exit();
+ }
+}
+
+// Auth
+if ($use_auth) {
+ if (isset($_SESSION[FM_SESSION_ID]['logged'], $auth_users[$_SESSION[FM_SESSION_ID]['logged']])) {
+ // Logged
+ } elseif (isset($_POST['fm_usr'], $_POST['fm_pwd'])) {
+ // Logging In
+ sleep(1);
+ if(function_exists('password_verify')) {
+ if (isset($auth_users[$_POST['fm_usr']]) && isset($_POST['fm_pwd']) && password_verify($_POST['fm_pwd'], $auth_users[$_POST['fm_usr']])) {
+ $_SESSION[FM_SESSION_ID]['logged'] = $_POST['fm_usr'];
+ fm_set_msg(lng('You are logged in'));
+ fm_redirect(FM_SELF_URL . '?p=');
+ } else {
+ unset($_SESSION[FM_SESSION_ID]['logged']);
+ fm_set_msg(lng('Login failed. Invalid username or password'), 'error');
+ fm_redirect(FM_SELF_URL);
+ }
+ } else {
+ fm_set_msg(lng('password_hash not supported, Upgrade PHP version'), 'error');;
+ }
+ } else {
+ // Form
+ unset($_SESSION[FM_SESSION_ID]['logged']);
+ fm_show_header_login();
+ ?>
+
+
+ Root path \"{$root_path}\" not found!";
+ exit;
+}
+
+defined('FM_SHOW_HIDDEN') || define('FM_SHOW_HIDDEN', $show_hidden_files);
+defined('FM_ROOT_PATH') || define('FM_ROOT_PATH', $root_path);
+defined('FM_LANG') || define('FM_LANG', $lang);
+defined('FM_FILE_EXTENSION') || define('FM_FILE_EXTENSION', $allowed_file_extensions);
+defined('FM_UPLOAD_EXTENSION') || define('FM_UPLOAD_EXTENSION', $allowed_upload_extensions);
+defined('FM_EXCLUDE_ITEMS') || define('FM_EXCLUDE_ITEMS', $exclude_items);
+defined('FM_DOC_VIEWER') || define('FM_DOC_VIEWER', $online_viewer);
+define('FM_READONLY', $use_auth && !empty($readonly_users) && isset($_SESSION[FM_SESSION_ID]['logged']) && in_array($_SESSION[FM_SESSION_ID]['logged'], $readonly_users));
+define('FM_IS_WIN', DIRECTORY_SEPARATOR == '\\');
+
+// always use ?p=
+if (!isset($_GET['p']) && empty($_FILES)) {
+ fm_redirect(FM_SELF_URL . '?p=');
+}
+
+// get path
+$p = isset($_GET['p']) ? $_GET['p'] : (isset($_POST['p']) ? $_POST['p'] : '');
+
+// clean path
+$p = fm_clean_path($p);
+
+// for ajax request - save
+$input = file_get_contents('php://input');
+$_POST = (strpos($input, 'ajax') != FALSE && strpos($input, 'save') != FALSE) ? json_decode($input, true) : $_POST;
+
+// instead globals vars
+define('FM_PATH', $p);
+define('FM_USE_AUTH', $use_auth);
+define('FM_EDIT_FILE', $edit_files);
+defined('FM_ICONV_INPUT_ENC') || define('FM_ICONV_INPUT_ENC', $iconv_input_encoding);
+defined('FM_USE_HIGHLIGHTJS') || define('FM_USE_HIGHLIGHTJS', $use_highlightjs);
+defined('FM_HIGHLIGHTJS_STYLE') || define('FM_HIGHLIGHTJS_STYLE', $highlightjs_style);
+defined('FM_DATETIME_FORMAT') || define('FM_DATETIME_FORMAT', $datetime_format);
+
+unset($p, $use_auth, $iconv_input_encoding, $use_highlightjs, $highlightjs_style);
+
+/*************************** ACTIONS ***************************/
+
+// AJAX Request
+if (isset($_POST['ajax']) && !FM_READONLY) {
+
+ // save
+ if (isset($_POST['type']) && $_POST['type'] == "save") {
+ // get current path
+ $path = FM_ROOT_PATH;
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+ // check path
+ if (!is_dir($path)) {
+ fm_redirect(FM_SELF_URL . '?p=');
+ }
+ $file = $_GET['edit'];
+ $file = fm_clean_path($file);
+ $file = str_replace('/', '', $file);
+ if ($file == '' || !is_file($path . '/' . $file)) {
+ fm_set_msg('File not found', 'error');
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+ }
+ header('X-XSS-Protection:0');
+ $file_path = $path . '/' . $file;
+
+ $writedata = $_POST['content'];
+ $fd = fopen($file_path, "w");
+ $write_results = @fwrite($fd, $writedata);
+ fclose($fd);
+ if ($write_results === false){
+ header("HTTP/1.1 500 Internal Server Error");
+ die("Could Not Write File! - Check Permissions / Ownership");
+ }
+ die(true);
+ }
+
+ //search : get list of files from the current folder
+ if(isset($_POST['type']) && $_POST['type']=="search") {
+ $dir = FM_ROOT_PATH;
+ $response = scan(fm_clean_path($_POST['path']), $_POST['content']);
+ echo json_encode($response);
+ exit();
+ }
+
+ // backup files
+ if (isset($_POST['type']) && $_POST['type'] == "backup" && !empty($_POST['file'])) {
+ $fileName = $_POST['file'];
+ $fullPath = FM_ROOT_PATH . '/';
+ if (!empty($_POST['path'])) {
+ $relativeDirPath = fm_clean_path($_POST['path']);
+ $fullPath .= "{$relativeDirPath}/";
+ }
+ $date = date("dMy-His");
+ $newFileName = "{$fileName}-{$date}.bak";
+ $fullyQualifiedFileName = $fullPath . $fileName;
+ try {
+ if (!file_exists($fullyQualifiedFileName)) {
+ throw new Exception("File {$fileName} not found");
+ }
+ if (copy($fullyQualifiedFileName, $fullPath . $newFileName)) {
+ echo "Backup {$newFileName} created";
+ } else {
+ throw new Exception("Could not copy file {$fileName}");
+ }
+ } catch (Exception $e) {
+ echo $e->getMessage();
+ }
+ }
+
+ // Save Config
+ if (isset($_POST['type']) && $_POST['type'] == "settings") {
+ global $cfg, $lang, $report_errors, $show_hidden_files, $lang_list, $hide_Cols, $calc_folder;
+ $newLng = $_POST['js-language'];
+ fm_get_translations([]);
+ if (!array_key_exists($newLng, $lang_list)) {
+ $newLng = 'en';
+ }
+
+ $erp = isset($_POST['js-error-report']) && $_POST['js-error-report'] == "true" ? true : false;
+ $shf = isset($_POST['js-show-hidden']) && $_POST['js-show-hidden'] == "true" ? true : false;
+ $hco = isset($_POST['js-hide-cols']) && $_POST['js-hide-cols'] == "true" ? true : false;
+ $caf = isset($_POST['js-calc-folder']) && $_POST['js-calc-folder'] == "true" ? true : false;
+
+ if ($cfg->data['lang'] != $newLng) {
+ $cfg->data['lang'] = $newLng;
+ $lang = $newLng;
+ }
+ if ($cfg->data['error_reporting'] != $erp) {
+ $cfg->data['error_reporting'] = $erp;
+ $report_errors = $erp;
+ }
+ if ($cfg->data['show_hidden'] != $shf) {
+ $cfg->data['show_hidden'] = $shf;
+ $show_hidden_files = $shf;
+ }
+ if ($cfg->data['show_hidden'] != $shf) {
+ $cfg->data['show_hidden'] = $shf;
+ $show_hidden_files = $shf;
+ }
+ if ($cfg->data['hide_Cols'] != $hco) {
+ $cfg->data['hide_Cols'] = $hco;
+ $hide_Cols = $hco;
+ }
+ if ($cfg->data['calc_folder'] != $caf) {
+ $cfg->data['calc_folder'] = $caf;
+ $calc_folder = $caf;
+ }
+ $cfg->save();
+ echo true;
+ }
+
+ // new password hash
+ if (isset($_POST['type']) && $_POST['type'] == "pwdhash") {
+ $res = isset($_POST['inputPassword2']) && !empty($_POST['inputPassword2']) ? password_hash($_POST['inputPassword2'], PASSWORD_DEFAULT) : '';
+ echo $res;
+ }
+
+ //upload using url
+ if(isset($_POST['type']) && $_POST['type'] == "upload" && !empty($_REQUEST["uploadurl"])) {
+ $path = FM_ROOT_PATH;
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+
+ $url = !empty($_REQUEST["uploadurl"]) && preg_match("|^http(s)?://.+$|", stripslashes($_REQUEST["uploadurl"])) ? stripslashes($_REQUEST["uploadurl"]) : null;
+ $use_curl = false;
+ $temp_file = tempnam(sys_get_temp_dir(), "upload-");
+ $fileinfo = new stdClass();
+ $fileinfo->name = trim(basename($url), ".\x00..\x20");
+
+ $allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false;
+ $ext = strtolower(pathinfo($fileinfo->name, PATHINFO_EXTENSION));
+ $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true;
+
+ function event_callback ($message) {
+ global $callback;
+ echo json_encode($message);
+ }
+
+ function get_file_path () {
+ global $path, $fileinfo, $temp_file;
+ return $path."/".basename($fileinfo->name);
+ }
+
+ $err = false;
+
+ if(!$isFileAllowed) {
+ $err = array("message" => "File extension is not allowed");
+ event_callback(array("fail" => $err));
+ exit();
+ }
+
+ if (!$url) {
+ $success = false;
+ } else if ($use_curl) {
+ @$fp = fopen($temp_file, "w");
+ @$ch = curl_init($url);
+ curl_setopt($ch, CURLOPT_NOPROGRESS, false );
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
+ curl_setopt($ch, CURLOPT_FILE, $fp);
+ @$success = curl_exec($ch);
+ $curl_info = curl_getinfo($ch);
+ if (!$success) {
+ $err = array("message" => curl_error($ch));
+ }
+ @curl_close($ch);
+ fclose($fp);
+ $fileinfo->size = $curl_info["size_download"];
+ $fileinfo->type = $curl_info["content_type"];
+ } else {
+ $ctx = stream_context_create();
+ @$success = copy($url, $temp_file, $ctx);
+ if (!$success) {
+ $err = error_get_last();
+ }
+ }
+
+ if ($success) {
+ $success = rename($temp_file, get_file_path());
+ }
+
+ if ($success) {
+ event_callback(array("done" => $fileinfo));
+ } else {
+ unlink($temp_file);
+ if (!$err) {
+ $err = array("message" => "Invalid url parameter");
+ }
+ event_callback(array("fail" => $err));
+ }
+ }
+
+ exit();
+}
+
+// Delete file / folder
+if (isset($_GET['del']) && !FM_READONLY) {
+ $del = str_replace( '/', '', fm_clean_path( $_GET['del'] ) );
+ if ($del != '' && $del != '..' && $del != '.') {
+ $path = FM_ROOT_PATH;
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+ $is_dir = is_dir($path . '/' . $del);
+ if (fm_rdelete($path . '/' . $del)) {
+ $msg = $is_dir ? 'Folder %s deleted' : 'File %s deleted';
+ fm_set_msg(sprintf($msg, fm_enc($del)));
+ } else {
+ $msg = $is_dir ? 'Folder %s not deleted' : 'File %s not deleted';
+ fm_set_msg(sprintf($msg, fm_enc($del)), 'error');
+ }
+ } else {
+ fm_set_msg('Invalid file or folder name', 'error');
+ }
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+}
+
+// Create folder
+if (isset($_GET['new']) && isset($_GET['type']) && !FM_READONLY) {
+ $type = $_GET['type'];
+ $new = str_replace( '/', '', fm_clean_path( strip_tags( $_GET['new'] ) ) );
+ if (fm_isvalid_filename($new) && $new != '' && $new != '..' && $new != '.') {
+ $path = FM_ROOT_PATH;
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+ if ($_GET['type'] == "file") {
+ if (!file_exists($path . '/' . $new)) {
+ if(fm_is_valid_ext($new)) {
+ @fopen($path . '/' . $new, 'w') or die('Cannot open file: ' . $new);
+ fm_set_msg(sprintf(lng('File').' %s '.lng('Created'), fm_enc($new)));
+ } else {
+ fm_set_msg('File extension is not allowed', 'error');
+ }
+ } else {
+ fm_set_msg(sprintf('File %s already exists', fm_enc($new)), 'alert');
+ }
+ } else {
+ if (fm_mkdir($path . '/' . $new, false) === true) {
+ fm_set_msg(sprintf(lng('Folder').' %s '.lng('Created'), $new));
+ } elseif (fm_mkdir($path . '/' . $new, false) === $path . '/' . $new) {
+ fm_set_msg(sprintf('Folder %s already exists', fm_enc($new)), 'alert');
+ } else {
+ fm_set_msg(sprintf('Folder %s not created', fm_enc($new)), 'error');
+ }
+ }
+ } else {
+ fm_set_msg('Invalid characters in file or folder name', 'error');
+ }
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+}
+
+// Copy folder / file
+if (isset($_GET['copy'], $_GET['finish']) && !FM_READONLY) {
+ // from
+ $copy = $_GET['copy'];
+ $copy = fm_clean_path($copy);
+ // empty path
+ if ($copy == '') {
+ fm_set_msg('Source path not defined', 'error');
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+ }
+ // abs path from
+ $from = FM_ROOT_PATH . '/' . $copy;
+ // abs path to
+ $dest = FM_ROOT_PATH;
+ if (FM_PATH != '') {
+ $dest .= '/' . FM_PATH;
+ }
+ $dest .= '/' . basename($from);
+ // move?
+ $move = isset($_GET['move']);
+ // copy/move/duplicate
+ if ($from != $dest) {
+ $msg_from = trim(FM_PATH . '/' . basename($from), '/');
+ if ($move) { // Move and to != from so just perform move
+ $rename = fm_rename($from, $dest);
+ if ($rename) {
+ fm_set_msg(sprintf('Moved from %s to %s', fm_enc($copy), fm_enc($msg_from)));
+ } elseif ($rename === null) {
+ fm_set_msg('File or folder with this path already exists', 'alert');
+
+ } else {
+ fm_set_msg(sprintf('Error while moving from %s to %s', fm_enc($copy), fm_enc($msg_from)), 'error');
+ }
+ } else { // Not move and to != from so copy with original name
+ if (fm_rcopy($from, $dest)) {
+ fm_set_msg(sprintf('Copied from %s to %s', fm_enc($copy), fm_enc($msg_from)));
+ } else {
+ fm_set_msg(sprintf('Error while copying from %s to %s', fm_enc($copy), fm_enc($msg_from)), 'error');
+ }
+ }
+ } else {
+ if (!$move){ //Not move and to = from so duplicate
+ $msg_from = trim(FM_PATH . '/' . basename($from), '/');
+ $fn_parts = pathinfo($from);
+ $extension_suffix = '';
+ if(!is_dir($from)){
+ $extension_suffix = '.'.$fn_parts['extension'];
+ }
+ //Create new name for duplicate
+ $fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-'.date('YmdHis').$extension_suffix;
+ $loop_count = 0;
+ $max_loop = 1000;
+ // Check if a file with the duplicate name already exists, if so, make new name (edge case...)
+ while(file_exists($fn_duplicate) & $loop_count < $max_loop){
+ $fn_parts = pathinfo($fn_duplicate);
+ $fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-copy'.$extension_suffix;
+ $loop_count++;
+ }
+ if (fm_rcopy($from, $fn_duplicate, False)) {
+ fm_set_msg(sprintf('Copyied from %s to %s', fm_enc($copy), fm_enc($fn_duplicate)));
+ } else {
+ fm_set_msg(sprintf('Error while copying from %s to %s', fm_enc($copy), fm_enc($fn_duplicate)), 'error');
+ }
+ }
+ else{
+ fm_set_msg('Paths must be not equal', 'alert');
+ }
+ }
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+}
+
+// Mass copy files/ folders
+if (isset($_POST['file'], $_POST['copy_to'], $_POST['finish']) && !FM_READONLY) {
+ // from
+ $path = FM_ROOT_PATH;
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+ // to
+ $copy_to_path = FM_ROOT_PATH;
+ $copy_to = fm_clean_path($_POST['copy_to']);
+ if ($copy_to != '') {
+ $copy_to_path .= '/' . $copy_to;
+ }
+ if ($path == $copy_to_path) {
+ fm_set_msg('Paths must be not equal', 'alert');
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+ }
+ if (!is_dir($copy_to_path)) {
+ if (!fm_mkdir($copy_to_path, true)) {
+ fm_set_msg('Unable to create destination folder', 'error');
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+ }
+ }
+ // move?
+ $move = isset($_POST['move']);
+ // copy/move
+ $errors = 0;
+ $files = $_POST['file'];
+ if (is_array($files) && count($files)) {
+ foreach ($files as $f) {
+ if ($f != '') {
+ // abs path from
+ $from = $path . '/' . $f;
+ // abs path to
+ $dest = $copy_to_path . '/' . $f;
+ // do
+ if ($move) {
+ $rename = fm_rename($from, $dest);
+ if ($rename === false) {
+ $errors++;
+ }
+ } else {
+ if (!fm_rcopy($from, $dest)) {
+ $errors++;
+ }
+ }
+ }
+ }
+ if ($errors == 0) {
+ $msg = $move ? 'Selected files and folders moved' : 'Selected files and folders copied';
+ fm_set_msg($msg);
+ } else {
+ $msg = $move ? 'Error while moving items' : 'Error while copying items';
+ fm_set_msg($msg, 'error');
+ }
+ } else {
+ fm_set_msg('Nothing selected', 'alert');
+ }
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+}
+
+// Rename
+if (isset($_GET['ren'], $_GET['to']) && !FM_READONLY) {
+ // old name
+ $old = $_GET['ren'];
+ $old = fm_clean_path($old);
+ $old = str_replace('/', '', $old);
+ // new name
+ $new = $_GET['to'];
+ $new = fm_clean_path(strip_tags($new));
+ $new = str_replace('/', '', $new);
+ // path
+ $path = FM_ROOT_PATH;
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+ // rename
+ if (fm_isvalid_filename($new) && $old != '' && $new != '') {
+ if (fm_rename($path . '/' . $old, $path . '/' . $new)) {
+ fm_set_msg(sprintf('Renamed from %s to %s', fm_enc($old), fm_enc($new)));
+ } else {
+ fm_set_msg(sprintf('Error while renaming from %s to %s', fm_enc($old), fm_enc($new)), 'error');
+ }
+ } else {
+ fm_set_msg('Invalid characters in file name', 'error');
+ }
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+}
+
+// Download
+if (isset($_GET['dl'])) {
+ $dl = $_GET['dl'];
+ $dl = fm_clean_path($dl);
+ $dl = str_replace('/', '', $dl);
+ $path = FM_ROOT_PATH;
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+ if ($dl != '' && is_file($path . '/' . $dl)) {
+ fm_download_file($path . '/' . $dl, $dl, 1024);
+ exit;
+ } else {
+ fm_set_msg('File not found', 'error');
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+ }
+}
+
+// Upload
+if (!empty($_FILES) && !FM_READONLY) {
+ $override_file_name = false;
+ $f = $_FILES;
+ $path = FM_ROOT_PATH;
+ $ds = DIRECTORY_SEPARATOR;
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+
+ $errors = 0;
+ $uploads = 0;
+ $allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false;
+ $response = array (
+ 'status' => 'error',
+ 'info' => 'Oops! Try again'
+ );
+
+ $filename = $f['file']['name'];
+ $tmp_name = $f['file']['tmp_name'];
+ $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
+ $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true;
+
+ $targetPath = $path . $ds;
+ if ( is_writable($targetPath) ) {
+ $fullPath = $path . '/' . $_REQUEST['fullpath'];
+ $folder = substr($fullPath, 0, strrpos($fullPath, "/"));
+
+ if(file_exists ($fullPath) && !$override_file_name) {
+ $ext_1 = $ext ? '.'.$ext : '';
+ $fullPath = str_replace($ext_1, '', $fullPath) .'_'. date('ymdHis'). $ext_1;
+ }
+
+ if (!is_dir($folder)) {
+ $old = umask(0);
+ mkdir($folder, 0777, true);
+ umask($old);
+ }
+
+ if (empty($f['file']['error']) && !empty($tmp_name) && $tmp_name != 'none' && $isFileAllowed) {
+ if (move_uploaded_file($tmp_name, $fullPath)) {
+ // Be sure that the file has been uploaded
+ if ( file_exists($fullPath) ) {
+ $response = array (
+ 'status' => 'success',
+ 'info' => "file upload successful"
+ );
+ } else {
+ $response = array (
+ 'status' => 'error',
+ 'info' => 'Couldn\'t upload the requested file.'
+ );
+ }
+ } else {
+ $response = array (
+ 'status' => 'error',
+ 'info' => "Error while uploading files. Uploaded files $uploads",
+ );
+ }
+ }
+ } else {
+ $response = array (
+ 'status' => 'error',
+ 'info' => 'The specified folder for upload isn\'t writeable.'
+ );
+ }
+ // Return the response
+ echo json_encode($response);
+ exit();
+}
+
+// Mass deleting
+if (isset($_POST['group'], $_POST['delete']) && !FM_READONLY) {
+ $path = FM_ROOT_PATH;
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+
+ $errors = 0;
+ $files = $_POST['file'];
+ if (is_array($files) && count($files)) {
+ foreach ($files as $f) {
+ if ($f != '') {
+ $new_path = $path . '/' . $f;
+ if (!fm_rdelete($new_path)) {
+ $errors++;
+ }
+ }
+ }
+ if ($errors == 0) {
+ fm_set_msg('Selected files and folder deleted');
+ } else {
+ fm_set_msg('Error while deleting items', 'error');
+ }
+ } else {
+ fm_set_msg('Nothing selected', 'alert');
+ }
+
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+}
+
+// Pack files
+if (isset($_POST['group']) && (isset($_POST['zip']) || isset($_POST['tar'])) && !FM_READONLY) {
+ $path = FM_ROOT_PATH;
+ $ext = 'zip';
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+
+ //set pack type
+ $ext = isset($_POST['tar']) ? 'tar' : 'zip';
+
+
+ if (($ext == "zip" && !class_exists('ZipArchive')) || ($ext == "tar" && !class_exists('PharData'))) {
+ fm_set_msg('Operations with archives are not available', 'error');
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+ }
+
+ $files = $_POST['file'];
+ if (!empty($files)) {
+ chdir($path);
+
+ if (count($files) == 1) {
+ $one_file = reset($files);
+ $one_file = basename($one_file);
+ $zipname = $one_file . '_' . date('ymd_His') . '.'.$ext;
+ } else {
+ $zipname = 'archive_' . date('ymd_His') . '.'.$ext;
+ }
+
+ if($ext == 'zip') {
+ $zipper = new FM_Zipper();
+ $res = $zipper->create($zipname, $files);
+ } elseif ($ext == 'tar') {
+ $tar = new FM_Zipper_Tar();
+ $res = $tar->create($zipname, $files);
+ }
+
+ if ($res) {
+ fm_set_msg(sprintf('Archive %s created', fm_enc($zipname)));
+ } else {
+ fm_set_msg('Archive not created', 'error');
+ }
+ } else {
+ fm_set_msg('Nothing selected', 'alert');
+ }
+
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+}
+
+// Unpack
+if (isset($_GET['unzip']) && !FM_READONLY) {
+ $unzip = $_GET['unzip'];
+ $unzip = fm_clean_path($unzip);
+ $unzip = str_replace('/', '', $unzip);
+ $isValid = false;
+
+ $path = FM_ROOT_PATH;
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+
+ if ($unzip != '' && is_file($path . '/' . $unzip)) {
+ $zip_path = $path . '/' . $unzip;
+ $ext = pathinfo($zip_path, PATHINFO_EXTENSION);
+ $isValid = true;
+ } else {
+ fm_set_msg('File not found', 'error');
+ }
+
+
+ if (($ext == "zip" && !class_exists('ZipArchive')) || ($ext == "tar" && !class_exists('PharData'))) {
+ fm_set_msg('Operations with archives are not available', 'error');
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+ }
+
+ if ($isValid) {
+ //to folder
+ $tofolder = '';
+ if (isset($_GET['tofolder'])) {
+ $tofolder = pathinfo($zip_path, PATHINFO_FILENAME);
+ if (fm_mkdir($path . '/' . $tofolder, true)) {
+ $path .= '/' . $tofolder;
+ }
+ }
+
+ if($ext == "zip") {
+ $zipper = new FM_Zipper();
+ $res = $zipper->unzip($zip_path, $path);
+ } elseif ($ext == "tar") {
+ try {
+ $gzipper = new PharData($zip_path);
+ if (@$gzipper->extractTo($path,null, true)) {
+ $res = true;
+ } else {
+ $res = false;
+ }
+ } catch (Exception $e) {
+ //TODO:: need to handle the error
+ $res = true;
+ }
+ }
+
+ if ($res) {
+ fm_set_msg('Archive unpacked');
+ } else {
+ fm_set_msg('Archive not unpacked', 'error');
+ }
+
+ } else {
+ fm_set_msg('File not found', 'error');
+ }
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+}
+
+// Change Perms (not for Windows)
+if (isset($_POST['chmod']) && !FM_READONLY && !FM_IS_WIN) {
+ $path = FM_ROOT_PATH;
+ if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+ }
+
+ $file = $_POST['chmod'];
+ $file = fm_clean_path($file);
+ $file = str_replace('/', '', $file);
+ if ($file == '' || (!is_file($path . '/' . $file) && !is_dir($path . '/' . $file))) {
+ fm_set_msg('File not found', 'error');
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+ }
+
+ $mode = 0;
+ if (!empty($_POST['ur'])) {
+ $mode |= 0400;
+ }
+ if (!empty($_POST['uw'])) {
+ $mode |= 0200;
+ }
+ if (!empty($_POST['ux'])) {
+ $mode |= 0100;
+ }
+ if (!empty($_POST['gr'])) {
+ $mode |= 0040;
+ }
+ if (!empty($_POST['gw'])) {
+ $mode |= 0020;
+ }
+ if (!empty($_POST['gx'])) {
+ $mode |= 0010;
+ }
+ if (!empty($_POST['or'])) {
+ $mode |= 0004;
+ }
+ if (!empty($_POST['ow'])) {
+ $mode |= 0002;
+ }
+ if (!empty($_POST['ox'])) {
+ $mode |= 0001;
+ }
+
+ if (@chmod($path . '/' . $file, $mode)) {
+ fm_set_msg('Permissions changed');
+ } else {
+ fm_set_msg('Permissions not changed', 'error');
+ }
+
+ fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
+}
+
+/*************************** /ACTIONS ***************************/
+
+// get current path
+$path = FM_ROOT_PATH;
+if (FM_PATH != '') {
+ $path .= '/' . FM_PATH;
+}
+
+// check path
+if (!is_dir($path)) {
+ fm_redirect(FM_SELF_URL . '?p=');
+}
+
+// get parent folder
+$parent = fm_get_parent_path(FM_PATH);
+
+$objects = is_readable($path) ? scandir($path) : array();
+$folders = array();
+$files = array();
+$current_path = array_slice(explode("/",$path), -1)[0];
+if (is_array($objects) && fm_is_exclude_items($current_path)) {
+ foreach ($objects as $file) {
+ if ($file == '.' || $file == '..') {
+ continue;
+ }
+ if (!FM_SHOW_HIDDEN && substr($file, 0, 1) === '.') {
+ continue;
+ }
+ $new_path = $path . '/' . $file;
+ if (@is_file($new_path) && fm_is_exclude_items($file)) {
+ $files[] = $file;
+ } elseif (@is_dir($new_path) && $file != '.' && $file != '..' && fm_is_exclude_items($file)) {
+ $folders[] = $file;
+ }
+ }
+}
+
+if (!empty($files)) {
+ natcasesort($files);
+}
+if (!empty($folders)) {
+ natcasesort($folders);
+}
+
+// upload form
+if (isset($_GET['upload']) && !FM_READONLY) {
+ fm_show_header(); // HEADER
+ fm_show_nav_path(FM_PATH); // current path
+ //get the allowed file extensions
+ function getUploadExt() {
+ $extArr = explode(',', FM_UPLOAD_EXTENSION);
+ if(FM_UPLOAD_EXTENSION && $extArr) {
+ array_walk($extArr, function(&$x) {$x = ".$x";});
+ return implode(',', $extArr);
+ }
+ return '';
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
Copying
+
+ Source path:
+ Destination folder:
+
+
+ Copy
+ Move
+ Cancel
+
+
Select folder
+
+
+
+
+
+
+
+
+
+
+
+
+
""
+
+ Full path:
+ File size:
+ MIME-type:
+
+ Files in archive:
+ Total size:
+ Size in archive:
+ Compression: %
+ ';
+ }
+ // Text info
+ if ($is_text) {
+ $is_utf8 = fm_is_utf8($content);
+ if (function_exists('iconv')) {
+ if (!$is_utf8) {
+ $content = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $content);
+ }
+ }
+ echo 'Charset: ' . ($is_utf8 ? 'utf-8' : '8 bit') . '
';
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ';
+ } else if($online_viewer == 'microsoft') {
+ echo '
';
+ }
+ } elseif ($is_zip) {
+ // ZIP content
+ if ($filenames !== false) {
+ echo '
';
+ foreach ($filenames as $fn) {
+ if ($fn['folder']) {
+ echo '' . fm_enc($fn['name']) . '
';
+ } else {
+ echo $fn['name'] . ' (' . fm_get_filesize($fn['filesize']) . ')
';
+ }
+ }
+ echo '
';
+ } else {
+ echo '
Error while fetching archive info
';
+ }
+ } elseif ($is_image) {
+ // Image content
+ if (in_array($ext, array('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', 'svg'))) {
+ echo '
';
+ }
+ } elseif ($is_audio) {
+ // Audio content
+ echo '
';
+ } elseif ($is_video) {
+ // Video content
+ echo '
';
+ } elseif ($is_text) {
+ if (FM_USE_HIGHLIGHTJS) {
+ // highlight
+ $hljs_classes = array(
+ 'shtml' => 'xml',
+ 'htaccess' => 'apache',
+ 'phtml' => 'php',
+ 'lock' => 'json',
+ 'svg' => 'xml',
+ );
+ $hljs_class = isset($hljs_classes[$ext]) ? 'lang-' . $hljs_classes[$ext] : 'lang-' . $ext;
+ if (empty($ext) || in_array(strtolower($file), fm_get_text_names()) || preg_match('#\.min\.(css|js)$#i', $file)) {
+ $hljs_class = 'nohighlight';
+ }
+ $content = '
' . fm_enc($content) . '
';
+ } elseif (in_array($ext, array('php', 'php4', 'php5', 'phtml', 'phps'))) {
+ // php highlight
+ $content = highlight_string($content, true);
+ } else {
+ $content = '
' . fm_enc($content) . '
';
+ }
+ echo $content;
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ' . htmlspecialchars($content) . '';
+ } elseif ($is_text) {
+ echo '
' . htmlspecialchars($content) . '
';
+ } else {
+ fm_set_msg('FILE EXTENSION HAS NOT SUPPORTED', 'error');
+ }
+ ?>
+
+
+
+
+
+
+= $time1 && $upd) {
+ return false;
+ }
+ }
+ $ok = copy($f1, $f2);
+ if ($ok) {
+ touch($f2, $time1);
+ }
+ return $ok;
+}
+
+/**
+ * Get mime type
+ * @param string $file_path
+ * @return mixed|string
+ */
+function fm_get_mime_type($file_path)
+{
+ if (function_exists('finfo_open')) {
+ $finfo = finfo_open(FILEINFO_MIME_TYPE);
+ $mime = finfo_file($finfo, $file_path);
+ finfo_close($finfo);
+ return $mime;
+ } elseif (function_exists('mime_content_type')) {
+ return mime_content_type($file_path);
+ } elseif (!stristr(ini_get('disable_functions'), 'shell_exec')) {
+ $file = escapeshellarg($file_path);
+ $mime = shell_exec('file -bi ' . $file);
+ return $mime;
+ } else {
+ return '--';
+ }
+}
+
+/**
+ * HTTP Redirect
+ * @param string $url
+ * @param int $code
+ */
+function fm_redirect($url, $code = 302)
+{
+ header('Location: ' . $url, true, $code);
+ exit;
+}
+
+/**
+ * Path traversal prevention and clean the url
+ * It replaces (consecutive) occurrences of / and \\ with whatever is in DIRECTORY_SEPARATOR, and processes /. and /.. fine.
+ * @param $path
+ * @return string
+ */
+function get_absolute_path($path) {
+ $path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path);
+ $parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen');
+ $absolutes = array();
+ foreach ($parts as $part) {
+ if ('.' == $part) continue;
+ if ('..' == $part) {
+ array_pop($absolutes);
+ } else {
+ $absolutes[] = $part;
+ }
+ }
+ return implode(DIRECTORY_SEPARATOR, $absolutes);
+}
+
+/**
+ * Clean path
+ * @param string $path
+ * @return string
+ */
+function fm_clean_path($path, $trim = true)
+{
+ $path = $trim ? trim($path) : $path;
+ $path = trim($path, '\\/');
+ $path = str_replace(array('../', '..\\'), '', $path);
+ $path = get_absolute_path($path);
+ if ($path == '..') {
+ $path = '';
+ }
+ return str_replace('\\', '/', $path);
+}
+
+/**
+ * Get parent path
+ * @param string $path
+ * @return bool|string
+ */
+function fm_get_parent_path($path)
+{
+ $path = fm_clean_path($path);
+ if ($path != '') {
+ $array = explode('/', $path);
+ if (count($array) > 1) {
+ $array = array_slice($array, 0, -1);
+ return implode('/', $array);
+ }
+ return '';
+ }
+ return false;
+}
+
+/**
+ * Check file is in exclude list
+ * @param string $file
+ * @return bool
+ */
+function fm_is_exclude_items($file) {
+ $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
+ if(!in_array($file, FM_EXCLUDE_ITEMS) && !in_array("*.$ext", FM_EXCLUDE_ITEMS)) {
+ return true;
+ }
+ return false;
+}
+
+/**
+ * get language translations from json file
+ * @param int $tr
+ * @return array
+ */
+function fm_get_translations($tr) {
+ try {
+ $content = @file_get_contents('translation.json');
+ if($content !== FALSE) {
+ $lng = json_decode($content, TRUE);
+ global $lang_list;
+ foreach ($lng["language"] as $key => $value)
+ {
+ $code = $value["code"];
+ $lang_list[$code] = $value["name"];
+ if ($tr)
+ $tr[$code] = $value["translation"];
+ }
+ return $tr;
+ }
+
+ }
+ catch (Exception $e) {
+ echo $e;
+ }
+}
+
+/**
+ * @param $file
+ * Recover all file sizes larger than > 2GB.
+ * Works on php 32bits and 64bits and supports linux
+ * @return int|string
+ */
+function fm_get_size($file)
+{
+ static $iswin;
+ static $isdarwin;
+ if (!isset($iswin)) {
+ $iswin = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN');
+ }
+ if (!isset($isdarwin)) {
+ $isdarwin = (strtoupper(substr(PHP_OS, 0)) == "DARWIN");
+ }
+
+ static $exec_works;
+ if (!isset($exec_works)) {
+ $exec_works = (function_exists('exec') && !ini_get('safe_mode') && @exec('echo EXEC') == 'EXEC');
+ }
+
+ // try a shell command
+ if ($exec_works) {
+ $arg = escapeshellarg($file);
+ $cmd = ($iswin) ? "for %F in (\"$file\") do @echo %~zF" : ($isdarwin ? "stat -f%z $arg" : "stat -c%s $arg");
+ @exec($cmd, $output);
+ if (is_array($output) && ctype_digit($size = trim(implode("\n", $output)))) {
+ return $size;
+ }
+ }
+
+ // try the Windows COM interface
+ if ($iswin && class_exists("COM")) {
+ try {
+ $fsobj = new COM('Scripting.FileSystemObject');
+ $f = $fsobj->GetFile( realpath($file) );
+ $size = $f->Size;
+ } catch (Exception $e) {
+ $size = null;
+ }
+ if (ctype_digit($size)) {
+ return $size;
+ }
+ }
+
+ // if all else fails
+ return filesize($file);
+}
+
+/**
+ * Get nice filesize
+ * @param int $size
+ * @return string
+ */
+function fm_get_filesize($size)
+{
+ $size = (float) $size;
+ $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
+ $power = $size > 0 ? floor(log($size, 1024)) : 0;
+ return sprintf('%s %s', round($size / pow(1024, $power), 2), $units[$power]);
+}
+
+/**
+ * Get director total size
+ * @param string $directory
+ * @return int
+ */
+function fm_get_directorysize($directory) {
+ global $calc_folder;
+ if ($calc_folder==true) { // Slower output
+ $size = 0; $count= 0; $dirCount= 0;
+ foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file)
+ if ($file->isFile())
+ { $size+=$file->getSize();
+ $count++;
+ }
+ else if ($file->isDir()) { $dirCount++; }
+ // return [$size, $count, $dirCount];
+ return $size;
+ }
+ else return 'Folder'; // Quick output
+}
+
+/**
+ * Get info about zip archive
+ * @param string $path
+ * @return array|bool
+ */
+function fm_get_zif_info($path, $ext) {
+ if ($ext == 'zip' && function_exists('zip_open')) {
+ $arch = zip_open($path);
+ if ($arch) {
+ $filenames = array();
+ while ($zip_entry = zip_read($arch)) {
+ $zip_name = zip_entry_name($zip_entry);
+ $zip_folder = substr($zip_name, -1) == '/';
+ $filenames[] = array(
+ 'name' => $zip_name,
+ 'filesize' => zip_entry_filesize($zip_entry),
+ 'compressed_size' => zip_entry_compressedsize($zip_entry),
+ 'folder' => $zip_folder
+ //'compression_method' => zip_entry_compressionmethod($zip_entry),
+ );
+ }
+ zip_close($arch);
+ return $filenames;
+ }
+ } elseif($ext == 'tar' && class_exists('PharData')) {
+ $archive = new PharData($path);
+ $filenames = array();
+ foreach(new RecursiveIteratorIterator($archive) as $file) {
+ $parent_info = $file->getPathInfo();
+ $zip_name = str_replace("phar://".$path, '', $file->getPathName());
+ $zip_name = substr($zip_name, ($pos = strpos($zip_name, '/')) !== false ? $pos + 1 : 0);
+ $zip_folder = $parent_info->getFileName();
+ $zip_info = new SplFileInfo($file);
+ $filenames[] = array(
+ 'name' => $zip_name,
+ 'filesize' => $zip_info->getSize(),
+ 'compressed_size' => $file->getCompressedSize(),
+ 'folder' => $zip_folder
+ );
+ }
+ return $filenames;
+ }
+ return false;
+}
+
+/**
+ * Encode html entities
+ * @param string $text
+ * @return string
+ */
+function fm_enc($text)
+{
+ return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
+}
+
+/**
+ * Prevent XSS attacks
+ * @param string $text
+ * @return string
+ */
+function fm_isvalid_filename($text) {
+ return (strpbrk($text, '/?%*:|"<>') === FALSE) ? true : false;
+}
+
+/**
+ * Save message in session
+ * @param string $msg
+ * @param string $status
+ */
+function fm_set_msg($msg, $status = 'ok')
+{
+ $_SESSION[FM_SESSION_ID]['message'] = $msg;
+ $_SESSION[FM_SESSION_ID]['status'] = $status;
+}
+
+/**
+ * Check if string is in UTF-8
+ * @param string $string
+ * @return int
+ */
+function fm_is_utf8($string)
+{
+ return preg_match('//u', $string);
+}
+
+/**
+ * Convert file name to UTF-8 in Windows
+ * @param string $filename
+ * @return string
+ */
+function fm_convert_win($filename)
+{
+ if (FM_IS_WIN && function_exists('iconv')) {
+ $filename = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $filename);
+ }
+ return $filename;
+}
+
+/**
+ * @param $obj
+ * @return array
+ */
+function fm_object_to_array($obj)
+{
+ if (!is_object($obj) && !is_array($obj)) {
+ return $obj;
+ }
+ if (is_object($obj)) {
+ $obj = get_object_vars($obj);
+ }
+ return array_map('fm_object_to_array', $obj);
+}
+
+/**
+ * Get CSS classname for file
+ * @param string $path
+ * @return string
+ */
+function fm_get_file_icon_class($path)
+{
+ // get extension
+ $ext = strtolower(pathinfo($path, PATHINFO_EXTENSION));
+
+ switch ($ext) {
+ case 'ico':
+ case 'gif':
+ case 'jpg':
+ case 'jpeg':
+ case 'jpc':
+ case 'jp2':
+ case 'jpx':
+ case 'xbm':
+ case 'wbmp':
+ case 'png':
+ case 'bmp':
+ case 'tif':
+ case 'tiff':
+ case 'svg':
+ $img = 'fa fa-picture-o';
+ break;
+ case 'passwd':
+ case 'ftpquota':
+ case 'sql':
+ case 'js':
+ case 'json':
+ case 'sh':
+ case 'config':
+ case 'twig':
+ case 'tpl':
+ case 'md':
+ case 'gitignore':
+ case 'c':
+ case 'cpp':
+ case 'cs':
+ case 'py':
+ case 'map':
+ case 'lock':
+ case 'dtd':
+ $img = 'fa fa-file-code-o';
+ break;
+ case 'txt':
+ case 'ini':
+ case 'conf':
+ case 'log':
+ case 'htaccess':
+ $img = 'fa fa-file-text-o';
+ break;
+ case 'css':
+ case 'less':
+ case 'sass':
+ case 'scss':
+ $img = 'fa fa-css3';
+ break;
+ case 'zip':
+ case 'rar':
+ case 'gz':
+ case 'tar':
+ case '7z':
+ $img = 'fa fa-file-archive-o';
+ break;
+ case 'php':
+ case 'php4':
+ case 'php5':
+ case 'phps':
+ case 'phtml':
+ $img = 'fa fa-code';
+ break;
+ case 'htm':
+ case 'html':
+ case 'shtml':
+ case 'xhtml':
+ $img = 'fa fa-html5';
+ break;
+ case 'xml':
+ case 'xsl':
+ $img = 'fa fa-file-excel-o';
+ break;
+ case 'wav':
+ case 'mp3':
+ case 'mp2':
+ case 'm4a':
+ case 'aac':
+ case 'ogg':
+ case 'oga':
+ case 'wma':
+ case 'mka':
+ case 'flac':
+ case 'ac3':
+ case 'tds':
+ $img = 'fa fa-music';
+ break;
+ case 'm3u':
+ case 'm3u8':
+ case 'pls':
+ case 'cue':
+ $img = 'fa fa-headphones';
+ break;
+ case 'avi':
+ case 'mpg':
+ case 'mpeg':
+ case 'mp4':
+ case 'm4v':
+ case 'flv':
+ case 'f4v':
+ case 'ogm':
+ case 'ogv':
+ case 'mov':
+ case 'mkv':
+ case '3gp':
+ case 'asf':
+ case 'wmv':
+ $img = 'fa fa-file-video-o';
+ break;
+ case 'eml':
+ case 'msg':
+ $img = 'fa fa-envelope-o';
+ break;
+ case 'xls':
+ case 'xlsx':
+ case 'ods':
+ $img = 'fa fa-file-excel-o';
+ break;
+ case 'csv':
+ $img = 'fa fa-file-text-o';
+ break;
+ case 'bak':
+ $img = 'fa fa-clipboard';
+ break;
+ case 'doc':
+ case 'docx':
+ case 'odt':
+ $img = 'fa fa-file-word-o';
+ break;
+ case 'ppt':
+ case 'pptx':
+ $img = 'fa fa-file-powerpoint-o';
+ break;
+ case 'ttf':
+ case 'ttc':
+ case 'otf':
+ case 'woff':
+ case 'woff2':
+ case 'eot':
+ case 'fon':
+ $img = 'fa fa-font';
+ break;
+ case 'pdf':
+ $img = 'fa fa-file-pdf-o';
+ break;
+ case 'psd':
+ case 'ai':
+ case 'eps':
+ case 'fla':
+ case 'swf':
+ $img = 'fa fa-file-image-o';
+ break;
+ case 'exe':
+ case 'msi':
+ $img = 'fa fa-file-o';
+ break;
+ case 'bat':
+ $img = 'fa fa-terminal';
+ break;
+ default:
+ $img = 'fa fa-info-circle';
+ }
+
+ return $img;
+}
+
+/**
+ * Get image files extensions
+ * @return array
+ */
+function fm_get_image_exts()
+{
+ return array('ico', 'gif', 'jpg', 'jpeg', 'jpc', 'jp2', 'jpx', 'xbm', 'wbmp', 'png', 'bmp', 'tif', 'tiff', 'psd', 'svg');
+}
+
+/**
+ * Get video files extensions
+ * @return array
+ */
+function fm_get_video_exts()
+{
+ return array('avi', 'webm', 'wmv', 'mp4', 'm4v', 'ogm', 'ogv', 'mov', 'mkv');
+}
+
+/**
+ * Get audio files extensions
+ * @return array
+ */
+function fm_get_audio_exts()
+{
+ return array('wav', 'mp3', 'ogg', 'm4a');
+}
+
+/**
+ * Get text file extensions
+ * @return array
+ */
+function fm_get_text_exts()
+{
+ return array(
+ 'txt', 'css', 'ini', 'conf', 'log', 'htaccess', 'passwd', 'ftpquota', 'sql', 'js', 'json', 'sh', 'config',
+ 'php', 'php4', 'php5', 'phps', 'phtml', 'htm', 'html', 'shtml', 'xhtml', 'xml', 'xsl', 'm3u', 'm3u8', 'pls', 'cue',
+ 'eml', 'msg', 'csv', 'bat', 'twig', 'tpl', 'md', 'gitignore', 'less', 'sass', 'scss', 'c', 'cpp', 'cs', 'py',
+ 'map', 'lock', 'dtd', 'svg', 'scss', 'asp', 'aspx', 'asx', 'asmx', 'ashx', 'jsx', 'jsp', 'jspx', 'cfm', 'cgi'
+ );
+}
+
+/**
+ * Get mime types of text files
+ * @return array
+ */
+function fm_get_text_mimes()
+{
+ return array(
+ 'application/xml',
+ 'application/javascript',
+ 'application/x-javascript',
+ 'image/svg+xml',
+ 'message/rfc822',
+ );
+}
+
+/**
+ * Get file names of text files w/o extensions
+ * @return array
+ */
+function fm_get_text_names()
+{
+ return array(
+ 'license',
+ 'readme',
+ 'authors',
+ 'contributors',
+ 'changelog',
+ );
+}
+
+/**
+ * Get online docs viewer supported files extensions
+ * @return array
+ */
+function fm_get_onlineViewer_exts()
+{
+ return array('doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'ai', 'psd', 'dxf', 'xps', 'rar', 'odt', 'ods');
+}
+
+function fm_get_file_mimes($extension)
+{
+ $fileTypes['swf'] = 'application/x-shockwave-flash';
+ $fileTypes['pdf'] = 'application/pdf';
+ $fileTypes['exe'] = 'application/octet-stream';
+ $fileTypes['zip'] = 'application/zip';
+ $fileTypes['doc'] = 'application/msword';
+ $fileTypes['xls'] = 'application/vnd.ms-excel';
+ $fileTypes['ppt'] = 'application/vnd.ms-powerpoint';
+ $fileTypes['gif'] = 'image/gif';
+ $fileTypes['png'] = 'image/png';
+ $fileTypes['jpeg'] = 'image/jpg';
+ $fileTypes['jpg'] = 'image/jpg';
+ $fileTypes['rar'] = 'application/rar';
+
+ $fileTypes['ra'] = 'audio/x-pn-realaudio';
+ $fileTypes['ram'] = 'audio/x-pn-realaudio';
+ $fileTypes['ogg'] = 'audio/x-pn-realaudio';
+
+ $fileTypes['wav'] = 'video/x-msvideo';
+ $fileTypes['wmv'] = 'video/x-msvideo';
+ $fileTypes['avi'] = 'video/x-msvideo';
+ $fileTypes['asf'] = 'video/x-msvideo';
+ $fileTypes['divx'] = 'video/x-msvideo';
+
+ $fileTypes['mp3'] = 'audio/mpeg';
+ $fileTypes['mp4'] = 'audio/mpeg';
+ $fileTypes['mpeg'] = 'video/mpeg';
+ $fileTypes['mpg'] = 'video/mpeg';
+ $fileTypes['mpe'] = 'video/mpeg';
+ $fileTypes['mov'] = 'video/quicktime';
+ $fileTypes['swf'] = 'video/quicktime';
+ $fileTypes['3gp'] = 'video/quicktime';
+ $fileTypes['m4a'] = 'video/quicktime';
+ $fileTypes['aac'] = 'video/quicktime';
+ $fileTypes['m3u'] = 'video/quicktime';
+
+ $fileTypes['php'] = ['application/x-php'];
+ $fileTypes['html'] = ['text/html'];
+ $fileTypes['txt'] = ['text/plain'];
+ return $fileTypes[$extension];
+}
+
+/**
+ * This function scans the files and folder recursively, and return matching files
+ * @param string $dir
+ * @param string $filter
+ * @return json
+ */
+ function scan($dir, $filter = '') {
+ $path = FM_ROOT_PATH.'/'.$dir;
+ if($dir) {
+ $ite = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));
+ $rii = new RegexIterator($ite, "/(" . $filter . ")/i");
+
+ $files = array();
+ foreach ($rii as $file) {
+ if (!$file->isDir()) {
+ $fileName = $file->getFilename();
+ $location = str_replace(FM_ROOT_PATH, '', $file->getPath());
+ $files[] = array(
+ "name" => $fileName,
+ "type" => "file",
+ "path" => $location,
+ );
+ }
+ }
+ return $files;
+ }
+}
+
+/*
+Parameters: downloadFile(File Location, File Name,
+max speed, is streaming
+If streaming - videos will show as videos, images as images
+instead of download prompt
+https://stackoverflow.com/a/13821992/1164642
+*/
+
+function fm_download_file($fileLocation, $fileName, $chunkSize = 1024)
+{
+ if (connection_status() != 0)
+ return (false);
+ $extension = pathinfo($fileName, PATHINFO_EXTENSION);
+
+ $contentType = fm_get_file_mimes($extension);
+ header("Cache-Control: public");
+ header("Content-Transfer-Encoding: binary\n");
+ header('Content-Type: $contentType');
+
+ $contentDisposition = 'attachment';
+
+
+ if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
+ $fileName = preg_replace('/\./', '%2e', $fileName, substr_count($fileName, '.') - 1);
+ header("Content-Disposition: $contentDisposition;filename=\"$fileName\"");
+ } else {
+ header("Content-Disposition: $contentDisposition;filename=\"$fileName\"");
+ }
+
+ header("Accept-Ranges: bytes");
+ $range = 0;
+ $size = filesize($fileLocation);
+
+ if (isset($_SERVER['HTTP_RANGE'])) {
+ list($a, $range) = explode("=", $_SERVER['HTTP_RANGE']);
+ str_replace($range, "-", $range);
+ $size2 = $size - 1;
+ $new_length = $size - $range;
+ header("HTTP/1.1 206 Partial Content");
+ header("Content-Length: $new_length");
+ header("Content-Range: bytes $range$size2/$size");
+ } else {
+ $size2 = $size - 1;
+ header("Content-Range: bytes 0-$size2/$size");
+ header("Content-Length: " . $size);
+ }
+
+ if ($size == 0) {
+ die('Zero byte file! Aborting download');
+ }
+ @ini_set('magic_quotes_runtime', 0);
+ $fp = fopen("$fileLocation", "rb");
+
+ fseek($fp, $range);
+
+ while (!feof($fp) and (connection_status() == 0)) {
+ set_time_limit(0);
+ print(@fread($fp, 1024*$chunkSize));
+ flush();
+ ob_flush();
+ // sleep(1);
+ }
+ fclose($fp);
+
+ return ((connection_status() == 0) and !connection_aborted());
+}
+
+function fm_get_theme() {
+ $result = '';
+ if(FM_THEME == "dark") {
+ $result = "text-white bg-dark";
+ }
+ return $result;
+}
+
+/**
+ * Class to work with zip files (using ZipArchive)
+ */
+class FM_Zipper
+{
+ private $zip;
+
+ public function __construct()
+ {
+ $this->zip = new ZipArchive();
+ }
+
+ /**
+ * Create archive with name $filename and files $files (RELATIVE PATHS!)
+ * @param string $filename
+ * @param array|string $files
+ * @return bool
+ */
+ public function create($filename, $files)
+ {
+ $res = $this->zip->open($filename, ZipArchive::CREATE);
+ if ($res !== true) {
+ return false;
+ }
+ if (is_array($files)) {
+ foreach ($files as $f) {
+ if (!$this->addFileOrDir($f)) {
+ $this->zip->close();
+ return false;
+ }
+ }
+ $this->zip->close();
+ return true;
+ } else {
+ if ($this->addFileOrDir($files)) {
+ $this->zip->close();
+ return true;
+ }
+ return false;
+ }
+ }
+
+ /**
+ * Extract archive $filename to folder $path (RELATIVE OR ABSOLUTE PATHS)
+ * @param string $filename
+ * @param string $path
+ * @return bool
+ */
+ public function unzip($filename, $path)
+ {
+ $res = $this->zip->open($filename);
+ if ($res !== true) {
+ return false;
+ }
+ if ($this->zip->extractTo($path)) {
+ $this->zip->close();
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Add file/folder to archive
+ * @param string $filename
+ * @return bool
+ */
+ private function addFileOrDir($filename)
+ {
+ if (is_file($filename)) {
+ return $this->zip->addFile($filename);
+ } elseif (is_dir($filename)) {
+ return $this->addDir($filename);
+ }
+ return false;
+ }
+
+ /**
+ * Add folder recursively
+ * @param string $path
+ * @return bool
+ */
+ private function addDir($path)
+ {
+ if (!$this->zip->addEmptyDir($path)) {
+ return false;
+ }
+ $objects = scandir($path);
+ if (is_array($objects)) {
+ foreach ($objects as $file) {
+ if ($file != '.' && $file != '..') {
+ if (is_dir($path . '/' . $file)) {
+ if (!$this->addDir($path . '/' . $file)) {
+ return false;
+ }
+ } elseif (is_file($path . '/' . $file)) {
+ if (!$this->zip->addFile($path . '/' . $file)) {
+ return false;
+ }
+ }
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+}
+
+/**
+ * Class to work with Tar files (using PharData)
+ */
+class FM_Zipper_Tar
+{
+ private $tar;
+
+ public function __construct()
+ {
+ $this->tar = null;
+ }
+
+ /**
+ * Create archive with name $filename and files $files (RELATIVE PATHS!)
+ * @param string $filename
+ * @param array|string $files
+ * @return bool
+ */
+ public function create($filename, $files)
+ {
+ $this->tar = new PharData($filename);
+ if (is_array($files)) {
+ foreach ($files as $f) {
+ if (!$this->addFileOrDir($f)) {
+ return false;
+ }
+ }
+ return true;
+ } else {
+ if ($this->addFileOrDir($files)) {
+ return true;
+ }
+ return false;
+ }
+ }
+
+ /**
+ * Extract archive $filename to folder $path (RELATIVE OR ABSOLUTE PATHS)
+ * @param string $filename
+ * @param string $path
+ * @return bool
+ */
+ public function unzip($filename, $path)
+ {
+ $res = $this->tar->open($filename);
+ if ($res !== true) {
+ return false;
+ }
+ if ($this->tar->extractTo($path)) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Add file/folder to archive
+ * @param string $filename
+ * @return bool
+ */
+ private function addFileOrDir($filename)
+ {
+ if (is_file($filename)) {
+ try {
+ $this->tar->addFile($filename);
+ return true;
+ } catch (Exception $e) {
+ return false;
+ }
+ } elseif (is_dir($filename)) {
+ return $this->addDir($filename);
+ }
+ return false;
+ }
+
+ /**
+ * Add folder recursively
+ * @param string $path
+ * @return bool
+ */
+ private function addDir($path)
+ {
+ $objects = scandir($path);
+ if (is_array($objects)) {
+ foreach ($objects as $file) {
+ if ($file != '.' && $file != '..') {
+ if (is_dir($path . '/' . $file)) {
+ if (!$this->addDir($path . '/' . $file)) {
+ return false;
+ }
+ } elseif (is_file($path . '/' . $file)) {
+ try {
+ $this->tar->addFile($path . '/' . $file);
+ } catch (Exception $e) {
+ return false;
+ }
+ }
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+}
+
+
+
+/**
+ * Save Configuration
+ */
+ class FM_Config
+{
+ var $data;
+
+ function __construct()
+ {
+
+ global $root_path, $root_url, $CONFIG;
+ $fm_url = $root_url.$_SERVER["PHP_SELF"];
+ $this->data = array(
+ 'lang' => 'en',
+ 'error_reporting' => true,
+ 'show_hidden' => true
+ );
+ $data = false;
+ if (strlen($CONFIG)) {
+ $data = fm_object_to_array(json_decode($CONFIG));
+ } else {
+ $msg = 'Tiny File Manager
Error: Cannot load configuration';
+ if (substr($fm_url, -1) == '/') {
+ $fm_url = rtrim($fm_url, '/');
+ $msg .= '
';
+ $msg .= '
Seems like you have a trailing slash on the URL.';
+ $msg .= '
Try this link: ' . $fm_url . '';
+ }
+ die($msg);
+ }
+ if (is_array($data) && count($data)) $this->data = $data;
+ else $this->save();
+ }
+
+ function save()
+ {
+ $fm_file = __FILE__;
+ $var_name = '$CONFIG';
+ $var_value = var_export(json_encode($this->data), true);
+ $config_string = "
+
+ ' . $_SESSION[FM_SESSION_ID]['message'] . '
';
+ unset($_SESSION[FM_SESSION_ID]['message']);
+ unset($_SESSION[FM_SESSION_ID]['status']);
+ }
+}
+
+/**
+ * Show page header in Login Form
+ */
+function fm_show_header_login()
+{
+$sprites_ver = '20160315';
+header("Content-Type: text/html; charset=utf-8");
+header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
+header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
+header("Pragma: no-cache");
+
+global $lang, $root_url, $favicon_path;
+?>
+
+
+
+
+
+
+
+
+
+ '; } ?>
+
+
+
+
+">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ '; } ?>
+
+
+
+
+
+
+
+
+
+
+
+
+ ">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/level-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/level-pre.php
new file mode 100644
index 00000000..aefe1946
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/level-pre.php
@@ -0,0 +1,61 @@
+'naplo','result'=>'indexed'));
+ $ADAT['level'] = $r;
+ $file = __INTEZMENY.'_'.date('Y').'_teljes';
+ if (pdfLevel($file, $ADAT)) {
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/felveteli/level&file='.$file.'.pdf'));
+ } else {
+ $_SESSION['alert'][] = 'info::Hiba a file-generáláskor!';
+ }
+
+ } else {
+
+ if (strlen($token)==40) {
+
+ $q = "SELECT oId FROM felveteli_levelLog WHERE token='%s' AND generalasDt>= NOW() - interval 10 MINUTE";
+ $v = array($token);
+ $oId = db_query($q, array('modul'=>'naplo','result'=>'value','values'=>$v,'debug'=>false));
+
+ if ($oId=='') {
+ $_SESSION['alert'][] = 'info::Ez a token már nem érvényes!';
+ } else {
+ //$q = "SELECT * FROM adatok_"._EV." ORDER BY evfolyam,nev";
+ $q = "SELECT * FROM felveteli WHERE oId='%s'";
+ $v = array($oId);
+ $r = db_query($q, array('modul'=>'naplo','result'=>'indexed','values'=>$v));
+ $ADAT['level'] = $r;
+ $ADAT['iktsz'] = 'C8-62/2021';
+ $file = __INTEZMENY.'_'.date('Y').'_'.$oktid.$token;
+ if (pdfLevel($file, $ADAT)) {
+ $q = "UPDATE felveteli_levelLog SET letoltesDt=NOW() WHERE token='%s'";
+ $v = array($token);
+ db_query($q, array('modul'=>'naplo','values'=>$v,'debug'=>false));
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/felveteli/level&file='.$file.'.pdf'));
+ exit;
+ } else {
+ $_SESSION['alert'][] = 'info::Hiba a file-generáláskor!';
+ }
+ }
+ } else {
+ $_SESSION['alert'][] = 'info::Nem adtál meg érvényes kulcsot a letöltéshez!';
+ }
+ }
+ // ha eljutottunk idáig, visszairányíthatnánk a lekérdező oldalra
+ //header('Location: '.location('index.php?page=felveteli&f=kozponti'));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/level.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/level.php
new file mode 100644
index 00000000..e69de29b
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/levelIgazgato-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/levelIgazgato-pre.php
new file mode 100644
index 00000000..e02435b2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/levelIgazgato-pre.php
@@ -0,0 +1,61 @@
+'naplo','result'=>'assoc','keyfield'=>'omkod'));
+
+ $q = "SELECT distinct omkod FROM felveteli WHERE level2 != 'nem kell értesíteni' AND omkod != '' ORDER BY omkod";
+ $ADAT['OM'] = $R = db_query($q, array('modul'=>'naplo','result'=>'idonly'));
+
+ for ($i=0; $i'naplo','result'=>'indexed','values'=>array($_om)));
+ $file = _EV.'_'.$_om;
+ if ($ADAT['generatePDF']==true) pdfLevel($file, $ADAT);
+ if (is_array($ADAT['sendMAIL']) && in_array($_om,$ADAT['sendMAIL'])) {
+ //echo $ADAT['iskola'][$_om]['email'];
+ $mail = new PHPMailer;
+// $mail->isSMTP();
+// $mail->Host = 'smtp.gmail.com';
+// $mail->Port = 587;
+// $mail->SMTPSecure = 'tls';
+// $mail->SMTPAuth = true;
+// $mail->Username = _FELVETELI_SMTP_USERNAME;
+// $mail->Password = _FELVETELI_SMTP_PASSWORD;
+ $mail->setFrom('ig@kanizsay.sulinet.hu', 'Kanizsay Dorottya Katolikus Gimnázium, Egészségügyi Technikum és Szakképző Iskola');
+ $mail->addReplyTo('titkarsag@kanizsay.sulinet.hu', 'Kanizsay Dorottya');
+// $mail->addAddress($ADAT['iskola'][$_om]['email'], 'Igazgató');
+ $mail->addAddress('konczy@gmail.com', 'Igazgató'); //echo $ADAT['iskola'][$_om]['email'];
+ $mail->Subject = 'Értesítés felvételi eredményekről - 2021/2022-es beiskolázás';
+ $mail->msgHTML("A levelet a MaYoR elektronikus napló generálta PDF csatolmány tartalmazza.");
+ $mail->AltBody="A levelet a MaYoR elektronikus napló generálta PDF csatolmány tartalmazza.";
+ $mail->addAttachment(_DOWNLOADDIR."/private/naplo/felveteli/levelIgazgato/".$file.'.pdf');
+ if (!$mail->send()) {
+ echo "Mailer Error: " . $mail->ErrorInfo;
+ } else {
+ echo "Message sent! " . $ADAT['iskola'][$_om]['email'];
+ $qr = "UPDATE felveteli SET level2='értesítve' WHERE omkod='%s'";
+ db_query($qr, array('modul'=>'naplo','values'=>array($_om)));
+ }
+ }
+ // header('Location: '.location('index.php?page=session&f=download&download=true&dir=felveteli/levelIgazgato&file='.$file.'.pdf'));
+ }
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/levelIgazgato.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/levelIgazgato.php
new file mode 100644
index 00000000..d1a05da0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/levelIgazgato.php
@@ -0,0 +1,30 @@
+PDF generálás?Generáljunk pdf-eket? (Lassan fut!)
';
+ echo '';
+
+ echo 'Email küldés
';
+ echo '';
+ for ($i=0; $i';
+ echo $i.". ";
+ echo 'SENDEMAIL';
+ echo $_om;
+ var_dump($ADAT['iskola'][$_om]['email']);
+ $file= $file = _EV.'_'.$_om;
+ echo 'PDF';
+ echo '
';
+ if ($i%5==0) echo '
';
+ }
+ echo '';
+ formEnd();
+ }
+
+?>
\ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/szobeli-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/szobeli-pre.php
new file mode 100644
index 00000000..9287e894
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/szobeli-pre.php
@@ -0,0 +1,153 @@
+ __TANEV, 'szemeszter' => 2, 'tipus' => array('felvételi szóbeli lekérdezés'), 'tolDt'=>date('Y-m-d H:i:s'),'return' => '', 'arraymap'=>null));
+ $now = mktime();
+ for ($i=0; $i$v),$lr);
+ for ($i=0; $i$v),$lr);
+ }
+
+ }
+ // Alapadatok
+ $modosithatoMezok = array('nev','oId','szuldt','an','lakcim_irsz','lakcim_telepules','lakcim_utcahazszam',
+ 'tartozkodasi_irsz','tartozkodasi_telepules','tartozkodasi_utcahazszam','omkod','atlag','magyar','matek','pont');
+ foreach( $modosithatoMezok as $_key) {
+ $q = "UPDATE felveteli SET `%s`='%s' WHERE oId='%s'";
+ $v = array($_key,readVariable($_POST[$_key],'sql'),$_oId);
+ db_query($q,array('values'=>$v),$lr);
+ }
+
+ $diakTorol = readVariable($_POST['diakTorol'],'id');
+ if ($diakTorol==1) {
+ $q = "DELETE FROM felveteli WHERE oId='%s'";
+ $v = array($_oId);
+ db_query($q,array('debug'=>true,'values'=>$v),$lr);
+ unset($oId);
+ unset($nev);
+ }
+ db_close($lr);
+
+ } elseif ($action=='ujFelveteli' && __FELVETELIADMIN===true) {
+
+ $_nev = readVariable($_POST['_nev'],'sql');
+ $_oId = readVariable($_POST['_oId'],'strictstring');
+ if ($_nev!='' && $_oId!='') {
+ $lr = db_connect('naplo');
+ // SELECT -> nev, oid
+ // else
+ $q = "INSERT INTO felveteli (oId,nev) VALUES('%s','%s')";
+ $v = array($_oId,$_nev);
+ $r = db_query($q,array('debug'=>true,'values'=>$v,'result'=>'insert'),$lr);
+ if ($r!==false) {
+ $nev = $_nev;
+ $oId = $_oId;
+ }
+ db_close($lr);
+ }
+
+ } elseif ($action=='ujSzobeli' && __FELVETELIADMIN===true) {
+
+ $oId = readVariable($_POST['oId'],'strictstring');
+ $lr = db_connect('naplo');
+ $q = "INSERT INTO felveteli_szobeli (oId) VALUES('%s')";
+ $v = array($oId);
+ $felveteliSzobeliId = db_query($q,array('values'=>$v,'result'=>'insert'),$lr);
+ $modosithatoMezok = array('szoveg','bizottsag','nap','napdt','ido','tagozat','szobeliTipus');
+ foreach( $modosithatoMezok as $_key) {
+ $_val = readVariable($_POST[$_key],'sql');
+ if ($_val!='') {
+ $q = "UPDATE felveteli_szobeli SET `%s`='%s' WHERE felveteliSzobeliId=%u";
+ $v = array($_key,$_val,$felveteliSzobeliId);
+ db_query($q,array('values'=>$v),$lr);
+ }
+ }
+ db_close($lr);
+
+ } elseif ($action=='szobeliModositas' && __FELVETELIADMIN===true) {
+
+ $oId = readVariable($_POST['oId'],'strictstring');
+ $felveteliSzobeliId = readVariable($_POST['felveteliSzobeliId'],'id');
+ $lr = db_connect('naplo');
+ if ($felveteliSzobeliId>0) {
+ $q = "DELETE FROM felveteli_szobeli WHERE felveteliSzobeliId=%u AND oId = '%s'";
+ $v = array($felveteliSzobeliId,$oId);
+ db_query($q,array('values'=>$v),$lr);
+ }
+ foreach($_POST as $_pk => $_pv) {
+ if (substr($_pk,0,11) == 'szobelipont') {
+ list($_tmp, $_felveteliSzobeliId ) = explode('_',$_pk);
+ $felveteliSzobeliId = readVariable($_felveteliSzobeliId,'id');
+ $szobelipont = readVariable($_pv,'id');
+ $q = "UPDATE felveteli_szobeli SET szobelipont=%u WHERE felveteliSzobeliId=%u";
+ $v = array($szobelipont,$felveteliSzobeliId);
+ db_query($q,array('values'=>$v),$lr);
+ }
+ }
+ db_close($lr);
+ } else {
+ $nev = readVariable($_POST['nev'],'sql');
+ $oId = readVariable($_POST['oId'],'strictstring');
+ }
+
+ if (in_array($action,array('szobeliLekerdezes','modositas','ujSzobeli','szobeliModositas','ujFelveteli')) && _SZOBELI_LEKERDEZHETO === true) {
+
+ if ($nev=='') $nev = readVariable($_POST['nev'],'sql');
+ if ($oId=='') $oId = readVariable($_POST['oId'],'strictstring');
+
+ if (__FELVETELIADMIN===true || $oId !='') {
+ $ADAT = getFelvetelizoAdatok($nev,$oId);
+ if (is_array($ADAT)) {
+ $ADAT['szobeli'] = getSzobeliByoId(intval($ADAT['oId']));
+ // $EREDMENY = getIdeiglenesRangsor(intval($ADAT['oId']));
+ //$EREDMENY = getSzobeliEredmeny($ADAT['id']);
+ $ADAT['jelentkezes'] = getJelentkezes(intval($ADAT['oId']));
+ }
+ //$EREDMENY = getIrasbeliEredmeny($nev,$oId);
+ $ADAT['tagozat'] = getFelveteliTagozat();
+ }
+ }
+
+// TODO:
+ if ($ADAT['oId']!='') { //++ vegeredmeny
+ $ADAT['token'] = updateLevelToken($ADAT['oId']);// token generálás
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/szobeli.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/szobeli.php
new file mode 100644
index 00000000..8337aa56
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/felveteli/szobeli.php
@@ -0,0 +1,38 @@
+$stamp)
+// ) {
+ putVegeredmeny($ADAT);
+// }
+ } elseif ($nev!='') {
+ //if (count($EREDMENY)==1 && $nev!='' && (_CATEGORY=='admin' || $oktid!='') ) {
+ //putIrasbeliEredmeny($EREDMENY[0]);
+ //putFelvetelizoAdatok($ADAT);
+ //putSzobeliEredmeny($EREDMENY,$ADAT);
+ //} elseif ($nev!='') {
+ putFelveteliError($nev,$oId);
+ //}
+ }
+} else {
+ // echo 'nem lekérdezhető';
+}
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin-pre.php
index 60de869a..d8a89eb4 100644
--- a/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin-pre.php
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin-pre.php
@@ -5,7 +5,7 @@
require_once('include/modules/naplo/share/intezmenyek.php');
require_once('include/modules/naplo/share/kerelem.php');
- $_telephelyIdDefault = (isset($_POST['telephelyId'])?null:__TELEPHELYID);
+ $_telephelyIdDefault = (isset($_POST['telephelyId'])?null:(defined('__TELEPHELYID') ? __TELEPHELYID:null));
$telephelyId = readVariable($_POST['telephelyId'],'id', $_telephelyIdDefault);
$kerelemId = readVariable($_POST['kerelemId'],'id',readVariable($_GET['kerelemId'],'id'));
$tolDt = readVariable($_POST['tolDt'],'date',date('Y-m-d'));
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar-pre.php
index c183ba30..227d1216 100644
--- a/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar-pre.php
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar-pre.php
@@ -17,13 +17,15 @@
$d = $r[$i];
if (defined('_DEVEL') && _DEVEL===true) $d['email'] = 'konczy+test@gmail.com'; // over
$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
- );
+ if (is_array($USER[$d['naploTipus']])) {
+ 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.
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok-pre.php
index 6e2902ae..ba6af028 100644
--- a/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok-pre.php
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok-pre.php
@@ -17,8 +17,8 @@
$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 ($diakId==0 && is_array($feliratkozott['diak']) && count($feliratkozott['diak'])>0) $diakId = $feliratkozott['diak'];
+ if ($tanarId==0 && is_array($feliratkozott['tanar']) && count($feliratkozott['tanar'])>0) $tanarId = $feliratkozott['tanar'];
if ($tanarId==0 && defined('__USERTANARID')) $tanarId = __USERTANARID;
define('_ALLOW_SUBSCRIBE',false);
} else {
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv-pre.php
index f82ea1cf..648d6026 100644
--- a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv-pre.php
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv-pre.php
@@ -1,10 +1,9 @@
$value) {
@@ -81,8 +81,8 @@
}
modifyKepzesOraterv($DDATA,$kepzesId);
}
-
- }
+ } // action
+ } // NAPLOADMIN
if (isset($kepzesId)) {
$ADAT['kepzesAdat'] = getKepzesAdatById($kepzesId);
@@ -104,11 +104,13 @@
- $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'),
+ $TOOL['kepzesSelect'] = array('tipus'=>'cella', 'post' => array());
+ if (__NAPLOADMIN===true) {
+ $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();
+ }
+ getToolParameters();
}
?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv.php
index d56f4019..4d84ef9b 100644
--- a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv.php
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv.php
@@ -5,8 +5,8 @@
global $ADAT;
-// putKepzesInfo($ADAT);
- if ($ADAT['oraterv']==array() && count($ADAT['hasonloKepzesek']) > 1) putOratervMasolas($ADAT);
- putKepzesOraterv($ADAT);
+ // putKepzesInfo($ADAT);
+ if (__NAPLOADMIN ===true && $ADAT['oraterv']==array() && count($ADAT['hasonloKepzesek']) > 1) putOratervMasolas($ADAT);
+ if ($ADAT['kepzesId']>0) putKepzesOraterv($ADAT);
?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites-pre.php
index c4ed7cb9..fa022019 100644
--- a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites-pre.php
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites-pre.php
@@ -21,7 +21,7 @@
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);
+ $telephelyId = readVariable($_POST['telephelyId'], 'id', null);
//$tanev = $_POST['tanev'];
//$action = $_POST['action'];
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend-pre.php
index 262ff572..90e30c8f 100644
--- a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend-pre.php
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend-pre.php
@@ -210,7 +210,7 @@
} else {
$TANKOROK = $ADAT['orarend']['tankorok'];
}
- if (count($TANKOROK)>0) $ADAT['tankorok'] = getTankorAdatByIds($TANKOROK);
+ if (is_array($TANKOROK) && count($TANKOROK)>0) $ADAT['tankorok'] = getTankorAdatByIds($TANKOROK);
/* tankörlétszámok */
if (is_array($ADAT['tankorok'])) foreach ($ADAT['tankorok'] as $_tankorId =>$_T) {
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat-pre.php
index 1ede4ff2..57ee210b 100644
--- a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat-pre.php
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat-pre.php
@@ -229,10 +229,12 @@
} elseif ($atlag >= _JELES_ATLAG) {
reset($jegyek);
$found = false;
- while (list($key, $jegyAdatok) = each($jegyek)) {
- for ($i=0; $i $jegyAdatok) {
+ for ($i=0; $i $szemeszterAdat)
- if (strtotime($szemeszterAdat['kezdesDt']) <= $time && $time <= strtotime($szemeszterAdat['zarasDt'])) break;
+ 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'];
@@ -212,7 +215,7 @@ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__DIAK && !__TITKARSAG) {
&& in_array(__USERTANARID, $Jegyek['tankörök'][$tankorId]['tanarIds'])
&& count($tanevIdoszak['zárás']) > 0 )
{
- list($_szemeszter,$_idoszakok) = (each($tanevIdoszak['zárás']));
+ list($_szemeszter,$_idoszakok) = (each($tanevIdoszak['zárás'])); // --TODO 8.0
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);
@@ -221,7 +224,7 @@ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__DIAK && !__TITKARSAG) {
&& !is_null($tanevIdoszak['bizonyítvány írás'])
&& is_null($tanevIdoszak['zárás'])
) {
- list($_szemeszter,$_idoszakok) = (each($tanevIdoszak['bizonyítvány írás']));
+ list($_szemeszter,$_idoszakok) = (each($tanevIdoszak['bizonyítvány írás'])); // --TODO 8.0
define('__IDOSZAK_TOLDT',$_idoszakok[0]['tolDt']);
define('__IDOSZAK_IGDT',$_idoszakok[0]['igDt']);
define('__IDOSZAK_SZEMESZTER',$_szemeszter);
diff --git a/mayor-orig/mayor-naplo/www/policy/public/naplo/dokumentum/dokumentum-pre.php b/mayor-orig/mayor-naplo/www/policy/public/naplo/dokumentum/dokumentum-pre.php
new file mode 100644
index 00000000..785e119a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/public/naplo/dokumentum/dokumentum-pre.php
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/public/naplo/dokumentum/dokumentum.php b/mayor-orig/mayor-naplo/www/policy/public/naplo/dokumentum/dokumentum.php
new file mode 100644
index 00000000..031863f6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/public/naplo/dokumentum/dokumentum.php
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/level-pre.php b/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/level-pre.php
new file mode 100644
index 00000000..f4fda5a4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/level-pre.php
@@ -0,0 +1,48 @@
+= NOW() - interval 10 MINUTE";
+ $v = array($token);
+ $oId = db_query($q, array('modul'=>'naplo','result'=>'value','values'=>$v,'debug'=>false));
+
+ if ($oId=='') {
+ $_SESSION['alert'][] = 'info::Ez a token már nem érvényes!';
+ } else {
+ //$q = "SELECT * FROM adatok_"._EV." ORDER BY evfolyam,nev";
+ $q = "SELECT * FROM felveteli WHERE oId='%s'";
+ $v = array($oId);
+ $r = db_query($q, array('modul'=>'naplo','result'=>'indexed','values'=>$v));
+ $ADAT['level'] = $r;
+ $ADAT['iktsz'] = 'C8-62/2021';
+ $file = __INTEZMENY.'_'.date('Y').'_'.$oktid.$token;
+ if (pdfLevel($file, $ADAT)) {
+ $q = "UPDATE felveteli_levelLog SET letoltesDt=NOW() WHERE token='%s'";
+ $v = array($token);
+ db_query($q, array('modul'=>'naplo','values'=>$v,'debug'=>false));
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/felveteli/level&file='.$file.'.pdf'));
+ exit;
+ } else {
+ $_SESSION['alert'][] = 'info::Hiba a file-generáláskor!';
+ }
+ }
+ } else {
+ $_SESSION['alert'][] = 'info::Nem adtál meg érvényes kulcsot a letöltéshez!';
+ }
+ }
+ // ha eljutottunk idáig, visszairányíthatnánk a lekérdező oldalra
+ //header('Location: '.location('index.php?page=felveteli&f=kozponti'));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/level.php b/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/level.php
new file mode 100644
index 00000000..15c5adc7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/level.php
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/szobeli-pre.php b/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/szobeli-pre.php
new file mode 100644
index 00000000..ad1ae31c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/szobeli-pre.php
@@ -0,0 +1,46 @@
+ __TANEV, 'szemeszter' => 2, 'tipus' => array('felvételi szóbeli lekérdezés','felvételi ideiglenes rangsor lekérdezés','felvételi végeredmény lekérdezés'), 'tolDt'=>date('Y-m-d H:i:s'),'return' => '', 'arraymap'=>null));
+ $now = mktime();
+ for ($i=0; $i
diff --git a/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/szobeli.php b/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/szobeli.php
new file mode 100644
index 00000000..2106af02
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/public/naplo/felveteli/szobeli.php
@@ -0,0 +1,33 @@
+$stamp)
+// ) {
+ putVegeredmeny($ADAT);
+// }
+ } elseif ($nev!='') {
+ //if (count($EREDMENY)==1 && $nev!='' && (_CATEGORY=='admin' || $oktid!='') ) {
+ //putIrasbeliEredmeny($EREDMENY[0]);
+ //putFelvetelizoAdatok($ADAT);
+ //putSzobeliEredmeny($EREDMENY,$ADAT);
+ //} elseif ($nev!='') {
+ putFelveteliError();
+ //}
+ }
+}
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/public/naplo/intezmeny/tanarok-pre.php b/mayor-orig/mayor-naplo/www/policy/public/naplo/intezmeny/tanarok-pre.php
new file mode 100644
index 00000000..010a7189
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/public/naplo/intezmeny/tanarok-pre.php
@@ -0,0 +1,55 @@
+ $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,statusz,besorolas,email,YEAR(beDt) AS belepesEve,IFNULL("",YEAR(kiDt)) AS kilepesEve, elerhetoseg'));
+ $ADAT['targyak'] = getTargyak(array('arraymap'=>array('targyId')));
+ $lr = db_connect('naplo_intezmeny');
+ for($i=0; $i__TANEV,'csakId'=>true),$lr);
+ $ADAT[$_tanarId]['mkVez'] = getVezetettMunkakozossegByTanarId($_tanarId,array('result'=>'assoc'),$lr);
+ $ADAT[$_tanarId]['munkakozosseg'] = getMunkakozossegByTanarId($_tanarId,array('result'=>'assoc'),$lr);
+ $ADAT[$_tanarId]['kepesites'] = getTanarKepesites($_tanarId);
+ }
+ $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/mayor-naplo/www/policy/public/naplo/intezmeny/tanarok.php b/mayor-orig/mayor-naplo/www/policy/public/naplo/intezmeny/tanarok.php
new file mode 100644
index 00000000..3d15f4de
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/public/naplo/intezmeny/tanarok.php
@@ -0,0 +1,7 @@
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/dokumentum/dokumentum.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/dokumentum/dokumentum.css
new file mode 100644
index 00000000..01db5fb2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/dokumentum/dokumentum.css
@@ -0,0 +1,16 @@
+ h1.dokumentumLista { text-align:center; }
+ span.dokumentumMegjegyzes { padding-left: 0.5em; font-size: x-small; }
+ table.dokumentumLista {margin-top: 2em; margin-bottom:4em; }
+ table.dokumentumLista thead tr th { background-color: #eee; padding: 10px 10px;}
+ table.dokumentumLista tbody tr th { background-color: #eee; padding: 10px 10px;}
+ table.dokumentumLista div.inline-block {display: inline-block; padding:4px 10px;}
+ table.dokumentumLista tr td a { color: #444; padding-left: 1em;}
+ table.dokumentumLista tr td:hover a { color: #111; }
+ table.dokumentumLista tr td a:hover { text-decoration: underline; color: cornflowerblue;}
+
+ table.dokumentumLista tbody tr.private th { background-color: cornflowerblue; color:white; }
+ table.dokumentumLista tbody tr.private td span.icon-lock { color: cornflowerblue; margin-left: 1em; }
+
+
+ table.dokumentumLista tbody tr td span.material-icons { display: inline-block; font-size:12px;padding-right:2px; color: white; }
+ table.dokumentumLista tbody tr td:hover span.material-icons { display: inline-block; font-size:12px;padding-right:2px; color: #444; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/felveteli/szobeli.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/felveteli/szobeli.css
new file mode 100644
index 00000000..aedb3e68
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/felveteli/szobeli.css
@@ -0,0 +1,163 @@
+@media screen {
+
+ table.lekerdezes {
+ width:320px;
+ margin-top:20px;
+ margin-bottom:20px;
+ background-color: #eeeee0;
+ color:;
+ font-size:13px;
+ }
+ table.lekerdezes tfoot input { }
+ table.lekerdezes thead th {
+ background-color: rgb(245, 223, 77);
+#eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 1px;
+ border-color: #aaaaa0;
+ }
+ table.lekerdezes tbody th {
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: right;
+ font-weight:normal;
+ }
+ table.lekerdezes tfoot th {
+ color: #888880;
+ }
+
+ #felvierr { margin-left: auto; margin-right:auto;
+ margin-top:20px; margin-bottom: 50px;
+ width:300px;
+ background-color: #770000;
+ border: solid 1px red;
+ color: white;
+ padding:5px;
+ text-align: center;
+ }
+
+ #felviinfo { margin-left: auto; margin-right:auto;
+ margin-top:20px; margin-bottom: 50px;
+ width:300px;
+ background-color: cornflowerblue;
+ border: solid 1px black;
+ color: white;
+ padding:5px;
+ text-align: center;
+ box-shadow: 2px 2px .1em #ddd;
+ }
+
+ table.szobeli {
+ margin-top:10px; margin-bottom: 50px;
+ width:;
+ }
+ table.szobeli thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 2px;
+ border-color: #aaaaa0;
+ background-color: #9e0059; color:white;
+ }
+ table.szobeli tbody th {
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ border-style: none none solid none;
+ border-width: 1px;
+ border-color: #aaaaa0;
+
+ }
+ table.szobeli tbody td {
+ text-align: right;
+ margin-right:10px;
+ border-style: none none solid none;
+ border-width: 1px;
+ border-color: #aaaaa0;
+ }
+ table.szobeli tbody th.nincsbehivva {
+ border-style: none none none solid;
+ border-width:3px;
+ border-color:red;
+ }
+ table.szobeli tbody th.behivva {
+ border-style: none none none solid;
+ border-width:3px;
+ border-color: #33ff00;
+ }
+
+ table.felveteliAdatok {
+ margin-top:10px; margin-bottom: 20px;
+ min-width:320px;
+ background-color: #f1faee;
+ font-size: 13px;
+/* background-color:#556670;*/
+ background-color: #eeeee0;
+
+ }
+ table.felveteliAdatok thead th { background-color: #eeeee0;
+ padding-top:5px;
+ padding-bottom: 4px;
+ border-style: none none solid none;
+ border-width: 1px;
+ border-color: #aaa;
+ background-color: #a8dadc;
+ background-color: #ff0054;
+ color:white;
+ background-color: darkcyan;
+ }
+ table.felveteliAdatok tfoot th {
+ background-color: #457b9d;
+ font-size:10px;
+ color:white;
+ text-align:right;
+ font-weight:normal;
+ }
+ table.felveteliAdatok tbody th {
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: left;
+ font-weight: normal;
+ }
+ table.felveteliAdatok tbody td {
+ text-align: left;
+ margin-right:10px;
+ }
+
+ table.vegeredmeny tr td {
+ height: 3em;
+ background-color: #223344;
+ text-align: center;
+ }
+
+
+ div#felviWait {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ margin:10px auto;
+ width:300px;
+ border: solid 2px #667780;
+ display: none;
+ }
+ div#felviWait img {
+ vertical-align: baseline;
+ }
+
+ div#tajekoztato {
+ border: solid 2px #ddd;
+ background: #eee;
+ color: black;
+ width: 600px;
+ margin: auto;
+ padding: 20px;
+ }
+
+
+
+}
+@media print {
+ table.szobeli { /*display: none;*/ }
+ table.lekerdezes { display: none; }
+}
\ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesOraterv.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesOraterv.css
index 21fb65e4..cbb0f593 100644
--- a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesOraterv.css
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesOraterv.css
@@ -60,10 +60,12 @@
width:70px;
}
+/*
form.kepzesOraterv table td input:focus,
form.kepzesOraterv table td select:focus {
- background-color: rgb(140,160,180); color:white; }
-
+ background-color: rgb(140,160,180); color:white;
+ }
+*/
form.kepzesOraterv table td select option { font-size:smaller;}
form.kepzesOraterv table td.lezart input { background-color: black }
@@ -97,4 +99,4 @@
*/
form#oratervMasolas { background-color: darkorange; width: 98%; margin: auto; text-align: center; padding-bottom: 5px; }
- form#oratervMasolas h1 { border-bottom: 2px yellow solid; font-size: 14px; font-weight: bold; background-color: #a40; color: white; padding: 4px; }
\ No newline at end of file
+ form#oratervMasolas h1 { border-bottom: 2px yellow solid; font-size: 14px; font-weight: bold; background-color: #a40; color: white; padding: 4px; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanar.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanar.css
index 2f80f013..037dd2ee 100644
--- a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanar.css
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanar.css
@@ -57,4 +57,4 @@
form.tanar input.ajaxRequestDone { color: white; background-color: rgb(0,130,0); }
form.tanar select.ajaxRequestDone { color: white; background-color: rgb(0,130,0); }
form.tanar input.ajaxRequestError { color: white; background-color: rgb(130,0,0); }
- form.tanar select.ajaxRequestError { color: white; background-color: rgb(130,0,0); }
\ No newline at end of file
+ form.tanar select.ajaxRequestError { color: white; background-color: rgb(130,0,0); }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanarok.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanarok.css
new file mode 100644
index 00000000..2d55e18a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanarok.css
@@ -0,0 +1,10 @@
+table.tanarLista {max-width:90%}
+table.tanarLista td { vertical-align:top; padding-bottom: 1.1em;}
+table.tanarLista span.tanarNev { font-weight: 600; line-height:1.4em; font-size: 14px; color: black;}
+table.tanarLista div.titulus { font-size: smaller; color:; /*font-style: italic;*/ font-weight:100;}
+table.tanarLista div.besorolas { font-size: smaller; color:#ccc;}
+table.tanarLista div.munkakozossegVezeto,
+table.tanarLista div.kepesites,
+table.tanarLista div.osztalyfonok {color:#aaa; font-size: smaller;}
+table.tanarLista div.email,
+table.tanarLista div.elerhetoseg { color: #888; font-size:smaller; padding-top:4px;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/base.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/base.phtml
index 0c5f7937..5f57ef58 100644
--- a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/base.phtml
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/base.phtml
@@ -94,7 +94,7 @@
} elseif (isset($params['tipus']) && $params['tipus'] == 'sor') { $sorDb++; }
}
- if (__PAGE_PRESET===true) {
+ if (defined('__PAGE_RESET') && __PAGE_PRESET===true) {
echo '';
putToolFormStart('preSetSave', '');
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/dokumentum/dokumentum.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/dokumentum/dokumentum.phtml
new file mode 100644
index 00000000..5284321d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/dokumentum/dokumentum.phtml
@@ -0,0 +1,149 @@
+';
+
+ echo '';
+
+ formEnd();
+ }
+
+
+ function putDokumentumListaAdmin($ADAT, $admin=false) {
+
+ if ($admin===true) {
+ formBegin();
+ echo '';
+ }
+ echo 'Adminisztráció';
+ echo '';
+ if ($admin===true) {
+ formEnd();
+ }
+
+ }
+
+
+ function putDokumentumLista($ADAT, $admin=false) {
+ global $policy;
+ echo 'Dokumentumok';
+ echo '';
+ echo '';
+ if (is_array($ADAT)) foreach($ADAT as $tipus=>$DAT)
+ if (is_array($DAT)) foreach($DAT as $tanev=>$AT) {
+ echo '';
+ echo '';
+ if ($tipus=='general') echo 'Általános dokumentumok';
+ else echo $tanev.'/'.($tanev+1);
+ echo ' | ';
+ echo ' ';
+ for ($i=0; $i';
+ echo '';
+ echo $D['dokumentumLeiras'];
+ echo ' | ';
+ echo '';
+ echo '';
+ echo htmlspecialchars($D['dokumentumRovidLeiras']);
+ // echo ' ';
+ echo '';
+ if ($D['dokumentumMegjegyzes']!='') echo '('.$D['dokumentumMegjegyzes'].')';
+ if ($D['dokumentumPolicy']=='private') echo '';
+ echo ' | ';
+ echo '';
+ }
+
+ }
+ echo '';
+ echo ' ';
+
+ }
+
+
+?>
\ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/felveteli/szobeli.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/felveteli/szobeli.phtml
new file mode 100644
index 00000000..38b00a89
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/felveteli/szobeli.phtml
@@ -0,0 +1,521 @@
+
+
+ A lekérdezés ebben az időszakban nem aktív, kérjük látogasson vissza ';
+ if ($ADAT['szobeliPublikalasDt']!='') {
+ echo date('Y. M. d. H:i:s',strtotime($ADAT['szobeliPublikalasDt']));echo '-kor!';
+ } else {
+ echo 'később!';
+ }
+ echo '';
+ }
+
+ if (_SZOBELI_LEKERDEZHETO===false) {
+ return;
+ $_DIS = 'disabled="disabled" readonly="readonly"';
+ }
+ //echo ' |