From 43de9af71f7f4ca5731b94a06d688ae8412ba427 Mon Sep 17 00:00:00 2001 From: M.Gergo Date: Fri, 6 Jul 2018 11:14:41 +0200 Subject: 2018/Feb/28 -i állapot hozzáadva, mint a módosítások kiindulási állapota --- .../modules/naplo/nyomtatas/beiskolazasiTerv.php | 64 + .../naplo/nyomtatas/bizonyitvanyNyomtatas.php | 164 +++ .../modules/naplo/nyomtatas/diakAdatlap.php | 22 + .../naplo/nyomtatas/diakTankorJelentkezes.php | 336 +++++ .../include/modules/naplo/nyomtatas/ertesito.php | 101 ++ .../modules/naplo/nyomtatas/haladasinaplo.php | 139 +++ .../naplo/nyomtatas/helyettesitesinaplo.php | 148 +++ .../include/modules/naplo/nyomtatas/nyomtatas.php | 89 ++ .../modules/naplo/nyomtatas/osztalyozonaplo.php | 24 + .../naplo/nyomtatas/sniEvVegiJegyzokonyv.php | 48 + .../modules/naplo/nyomtatas/sniHaviJegyzokonyv.php | 41 + .../modules/naplo/nyomtatas/szovegesErtekeles.php | 131 ++ .../naplo/nyomtatas/tankorNaplohozRendeles.php | 48 + .../www/include/modules/naplo/nyomtatas/tex.php | 1285 ++++++++++++++++++++ .../include/modules/naplo/nyomtatas/torzslap.php | 199 +++ .../naplo/nyomtatas/tovabbkepzesHatarozat.php | 60 + .../include/modules/naplo/nyomtatas/zaradekok.php | 63 + 17 files changed, 2962 insertions(+) create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/diakAdatlap.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/ertesito.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/haladasinaplo.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/nyomtatas.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/tex.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/torzslap.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php create mode 100644 mayor-orig/www/include/modules/naplo/nyomtatas/zaradekok.php (limited to 'mayor-orig/www/include/modules/naplo/nyomtatas') diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php b/mayor-orig/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php new file mode 100644 index 00000000..1fd6402e --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php @@ -0,0 +1,64 @@ +'getBeiskolazasiTerv','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($tanev))); + + } + + function beiskolazasNyomtatvanyKeszites($ADAT) { + + global $Honapok; + + // A sablonfile meghatározása + define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); + $tmplFile = 'beiskolazasiTerv'; + + if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) { + $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl'; + } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) { + $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; + } else { + $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; + return false; + } + + $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY); + list($ev, $ho, $nap) = explode('-', $ADAT['tanulmanyiEgyseg']['igDt']); + $DATA = array( + 'file' => $ADAT['file'], + 'base' => array('nyomtatasDt' => date('Y.m.d'), 'nyomtatasDatumStr' => date('Y. m. d.'), + 'datumEv' => $ev, 'datumHonap' => $ho, 'datumNap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]), + 'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'], + 'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'], + 'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'], + 'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'], + 'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'], + + 'tanevJele'=>$ADAT['tanev'].'/'.($ADAT['tanev']+1), 'tanev'=>$ADAT['tanev'], + + 'tanulmanyiEgyseg' => range(0, count($ADAT['tanulmanyiEgyseg'])-1), + + ), + 'tanulmanyiEgyseg' => $ADAT['tanulmanyiEgyseg'] + + ); + for ($i = 0; $i < count($ADAT['tanulmanyiEgyseg']); $i++) { + $TE = $ADAT['tanulmanyiEgyseg'][$i]; + $DATA['tanulmanyiEgyseg'][$i]['tanarNev'] = $ADAT['tanarok'][ $TE['tanarId'] ]['tanarNev']; + $DATA['tanulmanyiEgyseg'][$i]['tolDt'] = str_replace('-','. ',$TE['tolDt']).'.'; + $DATA['tanulmanyiEgyseg'][$i]['igDt'] = str_replace('-','. ',$TE['igDt']).'.'; + //$DATA['tanulmanyiEgyseg'][$i]['tanarBesorolas'] = $ADAT['tanarok'][ $TE['tanarId'] ]['besorolas']; + } + +//dump($ADAT); +//dump($DATA); +//return false; +//die(); + return template2file($templateFile, $DATA); + } + +?> \ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php b/mayor-orig/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php new file mode 100644 index 00000000..b4d254d2 --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php @@ -0,0 +1,164 @@ + diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/diakAdatlap.php b/mayor-orig/www/include/modules/naplo/nyomtatas/diakAdatlap.php new file mode 100644 index 00000000..46adec96 --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/nyomtatas/diakAdatlap.php @@ -0,0 +1,22 @@ + diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php b/mayor-orig/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php new file mode 100644 index 00000000..7eb0807e --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php @@ -0,0 +1,336 @@ + $TB) { + for ($j = 0; $j < count($TB); $j++) { + $TID2B[$TB[$j]][] = $blokkId; + $TID2BN[$TB[$j]][] = $tankorBlokkok['blokkNevek'][$blokkId]; + } + } + $v = array(); + if (is_array($OSZTALYIDK) && count($OSZTALYIDK) > 0) { + $W = " AND osztalyId IN (".implode(',', array_fill(0, count($OSZTALYIDK), '%u')).")"; + $v = $OSZTALYIDK; + } + $q = "SELECT DISTINCT tankorId, targyId, kovetelmeny, min, max, tanev, szemeszter, oraszam, tankorNev + FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) JOIN tankorOsztaly USING (tankorId) + WHERE tanev=%u and szemeszter=%u and tankor.felveheto =1".$W." ORDER BY tankorNev,tankor.tankorId"; + array_unshift($v, $tanev, $szemeszter); + $felvehetoTankorok = db_query($q,array('debug'=>false,'fv' => 'getValasztottTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); + for ($i = 0; $i < count($felvehetoTankorok); $i++) { + $_tankorId = $felvehetoTankorok[$i]['tankorId']; + if ($_tankorId != null) { + $fTankorok[$_tankorId] = $felvehetoTankorok[$i]; + $fTankorok[$_tankorId]['blokkIdk'] = $TID2B[$_tankorId]; + $fTankorok[$_tankorId]['blokkNevek'] = $TID2BN[$_tankorId]; + //$felvehetoTankorok[$_tankorid]['letszam'] = getTankorLetszam($felvehetoTankorok[$i]['tankorId'],$DT); + $fTankorok[$_tankorId]['tanarok'] = getTankorTanaraiByInterval($_tankorId, array('tolDt' => $DT['tolDt'], 'igDt' => $DT['igDt'], 'result' => 'nevsor')); + $FT[] = $_tankorId; + } + } + + if (is_array($FT) && count($FT) > 0) { + if (is_array($OSZTALYIDK) && count($OSZTALYIDK)>0) { + $W .= " AND osztalyDiak.beDt<='".$DT['tolDt']."' AND (osztalyDiak.kiDt IS NULL OR '".$DT['tolDt']."'<=osztalyDiak.kiDt)"; + $v = mayor_array_join($FT, $OSZTALYIDK); + } else { $v = $FT; } + $q = "SELECT tankorId,diakId FROM tankorDiak LEFT JOIN diak USING (diakId) LEFT JOIN osztalyDiak USING (diakId) + WHERE tankorId IN (".implode(',', array_fill(0, count($FT), '%u')).") $W + ORDER BY CONCAT_WS(' ',viseltCsaladinev,viseltUtonev)"; + $r = db_query($q,array('debug'=>false,'fv' => 'getValasztottTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); + for ($i = 0; $i < count($r); $i++) { + $felvett[$r[$i]['diakId']][] = $r[$i]['tankorId']; + } + } + + $ADAT['felveheto'] = $fTankorok; + $ADAT['felvett'] = $felvett; + return $ADAT; + } + + function texLevelGeneralasMasodikNyelvValasztas($ADAT) { + + $return = ''; + $return .= ' +\documentclass[8pt]{article} + +\usepackage[a5paper]{geometry} % A5-os méret +\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás +\usepackage{t1enc} +\usepackage[magyar]{babel} % magyar elválasztási szabályok +\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után +\usepackage{booktabs} % táblázatok magasabb szintű formázása +\usepackage{fancyhdr} % Ritkítás +\pagestyle{fancy} +\def\mayor{% +\font\mayorfnt=cmsl4% +\font\Mayorfnt=cmsl6 +{\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}}}} +\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont} +%\addtolength{\skip\footins}{2mm} +\addtolength{\textheight}{16mm} +\setlength{\footskip}{26pt} +\setlength{\headsep}{24pt} +\lhead{\tiny '.$ADAT['intezmeny']['nev'].'} +\rhead{\tiny 2. nyelv jelentkezés '.$ADAT['tanev'].'} +\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d.').'} +\begin{document} +'; + $Tankorok = $tankorNev = $ADAT['valasztott']['felveheto']; + if (is_array($ADAT['valasztott']['felvett'])) foreach ($ADAT['valasztott']['felvett'] as $diakId => $tankorIds) { + $diakNev = $ADAT['diakAdat'][$diakId]['diakNev']; + $diakOsztaly = $ADAT['osztalyok'][ $ADAT['diakOsztaly'][$diakId][0] ]['osztalyJel']; + + $return .= ' +\begin{center} +{\large\bfseries J E L E N T K E Z É S}\\\\ +\small + +\vspace{12pt} + +A '.$ADAT['tanev'].'. szeptemberében induló\\\\ +második idegen nyelv képzésre + +\vspace{12pt} + +{\bfseries\normalsize '.$diakNev.'}\\\\ +'.$diakOsztaly.' osztály\\\\ +\end{center} + +\vspace{10pt} + +\footnotesize +A Városmajori Gimnázium Pedagógiai Programja szerint az iskola tanulói a 9-12. évfolyamon +(kötelező módon) két különböző idegen nyelvet tanulnak. Az első idegen nyelv az adott osztálynak, +ill. a nyelvi előkészítő osztály adott csoportjának már előzetesen meghatározott, azonban a második +nyelvet mindenki – az iskola lehetőségeinek figyelembevétele mellett – szabadon választhatja meg. +Amennyiben a választott idegen nyelvet elegendő számú diák jelölte meg, úgy lehetőség van a +nyelvi csoport indítására. (A csoportok évfolyamszintű bontásban kerülnek kialakításra.) A nyelvi +csoportok várható létszáma 12-18 fő közötti lesz. A 9. évfolyamtól a 12. évfolyam végéig ez a +tantárgy is ugyanolyan kötelező lesz, mint a többi tárgy. +nem lehet hiányozni róla és jegyet kell szerezni belőle.) + +A fentiek tudomásul vételével, az internetes jelentkezési felületen a '.$ADAT['tanev'].'/'.($ADAT['tanev']+1).' tanév +9. évfolyamos diákjai számára meghirdetett képzések közül általam választott 2. idegen nyelv: + +\vspace{16pt} + +\begin{tabular}{l|l|c|l} +Tankör neve & Blokk & Óraszám & Tanár \\\\ +\toprule +%%\hline +'; + + + + for ($i = 0; $i < count($tankorIds); $i++) { + $tankorId = $tankorIds[$i]; + $tankorNev = $Tankorok[$tankorId]['tankorNev']; + $oraszam = intval($Tankorok[$tankorId]['oraszam']); + if (is_array($Tankorok[$tankorId]['tanarok']) && count($Tankorok[$tankorId]['tanarok']) > 0) + $tanarNev = $Tankorok[$tankorId]['tanarok'][0]['tanarNev']; + else $tanarNev = '{\slshape n.a.}'; + if (is_array($Tankorok[$tankorId]['blokkNevek'])) $blokkNev = implode(', ', $Tankorok[$tankorId]['blokkNevek']); + else $blokkNev = ''; + $return .= '\vbox to 1.2em {}'.$tankorNev.' & '.$blokkNev.' & '.$oraszam.' & '.$tanarNev.' \\\\ +\hline'; + +//echo $tankorId.' '.$tankorNev.' '.$oraszam.':'.$blokkNev.'
'; +//echo $diakId.' '.$diakNev.' '.$diakOsztaly.'
'; +//echo '
';
+//var_dump($ADAT); die();
+            }
+
+            $return .= '
+%%\bottomrule
+\end{tabular}
+
+\vspace{16pt}
+
+
+Amennyiben a választott nyelv az angol vagy a német, úgy a megfelelő szó aláhúzásával kérjük 
+megadni, hogy az adott nyelvet kezdő vagy haladó szintről szeretné elkezdeni tanulni:
+
+\begin{center}
+\vspace{10pt}
+
+{
+\bfseries
+\begin{tabular}{ccc}
+kezdő szintet választom&\hspace{1cm}\ &haladó szintről szeretném kezdeni\\\\
+\end{tabular}
+}
+
+\vspace{10pt}
+
+(A haladó szintet választóknak egy szintfelmérő vizsgán kell részt venniük, ami alapján a nyelvi 
+csoportbesorolást elvégezzük.)
+
+\vspace{12pt}
+
+{\slshape Az aláírt jelentkezési lap osztályfőnöknél történő leadásának határideje:} {\bfseries '.$ADAT['leadasiHatarido'].'}
+
+\vspace{20pt}
+\begin{flushleft}
+{\scriptsize Budapest, '.$ADAT['tanev'].'. április}
+\end{flushleft}
+\vspace{20pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3.5cm}{0.1pt}&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\\\
+tanuló&&szülő/gondviselő\\\\
+\end{tabular}
+
+\end{center}
+\newpage %%%%% új oldal %%%%%';
+
+
+        }
+
+	$return .= '
+\end{document}';
+
+
+	return $return;
+    }
+
+/* ---- eredeti ---- */
+
+    function texLevelGeneralas($ADAT) {
+
+	$return = '';
+	$return .= '
+\documentclass[8pt]{article}
+
+\usepackage[a5paper]{geometry} % A5-os méret
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\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}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+%\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{16mm}
+\setlength{\footskip}{26pt}
+\setlength{\headsep}{24pt}
+\lhead{\tiny '.$ADAT['intezmeny']['nev'].'}
+\rhead{\tiny Fakultációs jelentkezés '.$ADAT['tanev'].'}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d.').'}
+\begin{document}
+';
+        $Tankorok = $tankorNev = $ADAT['valasztott']['felveheto'];
+        if (is_array($ADAT['valasztott']['felvett'])) foreach ($ADAT['valasztott']['felvett'] as $diakId => $tankorIds) {
+            $diakNev = $ADAT['diakAdat'][$diakId]['diakNev'];
+            $diakOsztaly = $ADAT['osztalyok'][ $ADAT['diakOsztaly'][$diakId][0] ]['osztalyJel'];
+
+	    $return .= '
+\begin{center}
+{\large\bfseries J E L E N T K E Z É S}\\\\
+\small
+
+\vspace{12pt}
+
+A '.$ADAT['tanev'].'. szeptemberében induló\\\\
+közép- és emeltszintű érettségire előkészítő képzésekre
+
+\vspace{12pt}
+
+{\bfseries\normalsize '.$diakNev.'}\\\\
+'.$diakOsztaly.' osztály\\\\
+
+\vspace{12pt}
+
+A '.$ADAT['tanev'].'/'.($ADAT['tanev']+1).' tanév 11. évfolyamos diákjai számára meghirdetett képzések közül
+–~az internetes jelentkezés adatai alapján~– 
+%–~az elektronikus adminisztrációs rendszer adatai alapján~–
+az alábbi képzéseket választottam: 
+
+\vspace{16pt}
+
+\begin{tabular}{l|l|c|l}
+Tankör neve & Blokk & Óraszám & Tanár \\\\ 
+\toprule
+\hline
+';
+
+
+
+            for ($i = 0; $i < count($tankorIds); $i++) {
+                $tankorId = $tankorIds[$i];
+                $tankorNev = $Tankorok[$tankorId]['tankorNev'];
+                $oraszam = intval($Tankorok[$tankorId]['oraszam']);
+		if (is_array($Tankorok[$tankorId]['tanarok']) && count($Tankorok[$tankorId]['tanarok']) > 0) 
+		    $tanarNev = $Tankorok[$tankorId]['tanarok'][0]['tanarNev'];
+		else $tanarNev = '{\slshape n.a.}';
+                if (is_array($Tankorok[$tankorId]['blokkNevek'])) $blokkNev = implode(', ', $Tankorok[$tankorId]['blokkNevek']);
+                else $blokkNev = '';
+		$return .= '\vbox to 1.2em {}'.$tankorNev.' & '.$blokkNev.' & '.$oraszam.' & '.$tanarNev.' \\\\ 
+\hline';
+
+//echo $tankorId.' '.$tankorNev.' '.$oraszam.':'.$blokkNev.'
'; +//echo $diakId.' '.$diakNev.' '.$diakOsztaly.'
'; +//echo '
';
+//var_dump($ADAT); die();
+            }
+
+            $return .= '
+\bottomrule
+\end{tabular}
+
+\vspace{16pt}
+
+Tudomásul veszem, hogy az általam választott, két tanévre meghirdetett tantárgyak a következő tanévben számomra kötelezőek lesznek, leadásukra csak a 
+11. osztályos követelmények teljesítése után lesz lehetőségem.\footnotemark[1]
+\footnotetext[1]{Az iskola belső szabályai szerint a 12. évfolyamban is meg kell maradjon legalább heti 4 óra választott képzés, továbbá más tankör 
+utólagos felvétele létszámkeretekhez, illetve a sikeres különbözeti vizsga letételéhez köthető.}
+
+\vspace{12pt}
+
+{\slshape Az aláírt jelentkezési lap osztályfőnöknél történő leadásának határideje:} {\bfseries '.$ADAT['leadasiHatarido'].'}
+
+\vspace{20pt}
+\begin{flushleft}
+{\scriptsize Budapest, '.$ADAT['tanev'].'. június}
+\end{flushleft}
+\vspace{20pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3.5cm}{0.1pt}&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\\\
+tanuló&&szülő/gondviselő\\\\
+\end{tabular}
+
+\end{center}
+\newpage %%%%% új oldal %%%%%';
+
+
+        }
+
+	$return .= '
+\end{document}';
+
+
+	return $return;
+    }
+
+
+
+?>
diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/ertesito.php b/mayor-orig/www/include/modules/naplo/nyomtatas/ertesito.php
new file mode 100644
index 00000000..5c1a5c97
--- /dev/null
+++ b/mayor-orig/www/include/modules/naplo/nyomtatas/ertesito.php
@@ -0,0 +1,101 @@
+ $ADAT['file'],
+            'base' => array('nyomtatasDt' => date('Y.m.d'), 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]),
+		'tanevKezdesEv' => $ADAT['szemeszterAdat']['tanev'], 'tanevZarasEv' => ($ADAT['szemeszterAdat']['tanev']+1), 
+		'szemeszter' => $ADAT['szemeszterAdat']['szemeszter'],
+                'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'],
+                'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'],
+                'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'],
+                'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'],
+                'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'],
+                'diak' => array(), 'osztaly' => $ADAT['osztaly']['osztalyJel'],
+		'magatartas' => '', 'szorgalom' => '', 
+		'igazolt' => 0, 'igazolatlan' => 0, 'kesesIgazolatlan' => 0, 'kesesPercOsszeg' => 0, 
+		'gyakIgazolt' => 0, 'gyakIgazolatlan' => 0, 'gyakKesesIgazolatlan' => 0, 'gyakKesesPercOsszeg' => 0, 
+		'elmIgazolt' => 0, 'elmIgazolatlan' => 0, 'elmKesesIgazolatlan' => 0, 'elmKesesPercOsszeg' => 0, 
+		'mJel' => '', 'megjegyzes' => '',
+            ),
+            'diak' => $ADAT['diakok'],
+        );
+	for ($i = 0; $i < count($ADAT['diakIds']); $i++) if (isset($ADAT['jegyek'][ $ADAT['diakIds'][$i] ])) $DATA['base']['diak'][] = $ADAT['diakIds'][$i];
+	for ($i = 0; $i < count ($ADAT['targyak']); $i++) {
+	    $DATA['targy'][ $ADAT['targyak'][$i]['targyId'] ] = $ADAT['targyak'][$i];
+	}
+	if (is_array($ADAT['jegyek']) && count($ADAT['jegyek']) > 0) foreach ($ADAT['jegyek'] as $diakId => $dJegyek) {
+	    if (is_array($dJegyek) && count($dJegyek) > 0) { // Ha vanak egyáltalán jegyei...
+		foreach ($DATA['targy'] as $targyId => $tAdat) { // A helyes sorrend miatt kell ezen végigmenni
+		    if (is_array($dJegyek[$targyId])) { // van az adott tárgyból jegye
+			$tJegyek = $dJegyek[$targyId];
+			// Az utolsó jegyet írjuk csak ki
+			$jegy = $tJegyek[ count($tJegyek)-1 ];
+			if (in_array($targyId, $ADAT['szorgalomIds'])) {
+			    $DATA['diak'][$diakId]['szorgalom'] = $KOVETELMENY['szorgalom'][ $jegy['jegy'] ]['hivatalos'];
+			    $DATA['diak'][$diakId]['szorgMegjJel'] = nagybetus($jegy['megjegyzes'][0]);
+			} elseif (in_array($targyId, $ADAT['magatartasIds'])) {
+			    $DATA['diak'][$diakId]['magatartas'] = $KOVETELMENY['magatartás'][ $jegy['jegy'] ]['hivatalos'];
+			    $DATA['diak'][$diakId]['magMegjJel'] = nagybetus($jegy['megjegyzes'][0]);
+			} else {
+			    $DATA['diak'][$diakId]['targy'][$targyId] = $jegy;
+			    $DATA['diak'][$diakId]['targy'][$targyId]['jTipus'] = $jegy['jegyTipus'];
+			    $DATA['diak'][$diakId]['targy'][$targyId]['mJel'] = nagybetus($jegy['megjegyzes'][0]);
+			    $DATA['diak'][$diakId]['targy'][$targyId]['hivatalos'] = $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['hivatalos'];
+			    $DATA['diak'][$diakId]['targy'][$targyId]['rovid'] = $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['rovid'];
+			}
+		    }
+		}
+	    }
+	}
+//	foreach ($ADAT['hianyzas'] as $diakId => $dHianyzas) { - A kimaradó diákok bajt okoznak => az összes diákon végig kell menni!
+	foreach ($ADAT['diakIds'] as $key => $diakId) {
+		$dHianyzas = $ADAT['hianyzas'][$diakId];
+
+		$DATA['diak'][$diakId]['igazolt'] = $dHianyzas['igazolt'];
+		$DATA['diak'][$diakId]['kesesPercOsszeg'] = intval($dHianyzas['kesesPercOsszeg']);
+		$DATA['diak'][$diakId]['kesesIgazolatlan'] = floor($dHianyzas['kesesPercOsszeg']/45);
+		$DATA['diak'][$diakId]['osszesIgazolatlan'] = $dHianyzas['igazolatlan']; // Tartalmazza az összes hivatalos hiányzást! A késések percösszegéből adódóakat is!!
+		$DATA['diak'][$diakId]['igazolatlan'] = $dHianyzas['igazolatlan']-$DATA['diak'][$diakId]['kesesIgazolatlan']; 
+
+		$DATA['diak'][$diakId]['gyakIgazolt'] = intval($dHianyzas['gyakorlatIgazolt']);
+		$DATA['diak'][$diakId]['gyakIgazolatlan'] = intval($dHianyzas['gyakorlatIgazolatlan']);
+		$DATA['diak'][$diakId]['gyakKesesPercOsszeg'] = intval($dHianyzas['gyakorlatKesesPercOsszeg']);
+		$DATA['diak'][$diakId]['gyakKesesIgazolatlan'] = floor($dHianyzas['gyakorlatKesesPercOsszeg']/45);
+		$DATA['diak'][$diakId]['gyakOsszesIgazolatlan'] = $DATA['diak'][$diakId]['gyakIgazolatlan']+$DATA['diak'][$diakId]['gyakKesesIgazolatlan'];
+
+		$DATA['diak'][$diakId]['elmIgazolt'] = intval($dHianyzas['elmeletIgazolt']);
+		$DATA['diak'][$diakId]['elmIgazolatlan'] = intval($dHianyzas['elmeletIgazolatlan']);
+		$DATA['diak'][$diakId]['elmKesesPercOsszeg'] = intval($dHianyzas['elmeletKesesPercOsszeg']);
+		$DATA['diak'][$diakId]['elmKesesIgazolatlan'] = floor($dHianyzas['elmeletKesesPercOsszeg']/45);
+		$DATA['diak'][$diakId]['elmOsszesIgazolatlan'] = $DATA['diak'][$diakId]['elmIgazolatlan']+$DATA['diak'][$diakId]['elmKesesIgazolatlan'];
+
+	}
+//echo '
';
+//var_dump($DATA['base']['diak'], $ADAT['jegyek']);
+//echo '
'; +//die(); + + return template2file($templateFile, $DATA); + + + } + +?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/haladasinaplo.php b/mayor-orig/www/include/modules/naplo/nyomtatas/haladasinaplo.php new file mode 100644 index 00000000..1577a367 --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/nyomtatas/haladasinaplo.php @@ -0,0 +1,139 @@ + 'tankorokNaploja', 'modul' => 'naplo', 'result' => 'keyvaluepair')); + + } + + function getNaploTankorei($osztalyId) { + + $q = "SELECT tankorId FROM tankorNaplo WHERE osztalyId=%u"; + return db_query($q, array('fv' => 'getNaploTankorei', 'modul' => 'naplo', 'result' => 'idonly', 'values' => array($osztalyId))); + + } + + function getNaploOrak(&$ADAT) { + + + $q = "SELECT * FROM ora WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['naploTankor']), '%u')).") + AND '%s'<=dt AND dt<='%s' ORDER BY dt,ora,tankorId"; + $v = mayor_array_join($ADAT['naploTankor'], array($ADAT['tanevAdat']['kezdesDt'], $ADAT['tanevAdat']['zarasDt'])); + $A = db_query($q, array('fv' => 'getNaploOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); + $Oraszam = $oraIds = array(); + for ($i = 0; $i < count($A); $i++) { + + $ADAT['orak'][ $A[$i]['dt'] ][ $A[$i]['ora'] ][] = $A[$i]; + $oraIds[] = $A[$i]['oraId']; $oraId2dt[ $A[$i]['oraId'] ] = array('dt' => $A[$i]['dt'], 'ora' => $A[$i]['ora']); + if ( + !in_array($A[$i]['tipus'], array('elmarad','elmarad máskor')) // Lehet olyan elmaradó óra, amihez van beírva tananyag... + && ( + !is_array($ADAT['tananyag'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ]) + || !in_array($A[$i]['leiras'], $ADAT['tananyag'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ]) + ) + ) $ADAT['tananyag'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ][] = $A[$i]['leiras']; + + if (defined('__ORASZAMOT_NOVELO_TIPUSOK')) { + $oraszamNoveloTipus = explode(',', __ORASZAMOT_NOVELO_TIPUSOK); + } else { + $_SESSION['alert'][] = 'info:missing_constant:__ORASZAMOT_NOVELO_TIPUSOK'; + $oraszamNoveloTipus = array('normál', 'normál máskor', 'helyettesítés', 'összevonás'); + } + if (in_array($A[$i]['tipus'], $oraszamNoveloTipus)) { + $ADAT['oraszam'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ][] = (++$Oraszam[ $A[$i]['tankorId'] ]); + } else { + $ADAT['oraszam'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ][] = '---'; + } + if (in_array($A[$i]['tipus'], array('helyettesítés', 'összevonás', 'felügyelet'))) { + $ADAT['helyettesites'][ $A[$i]['dt'] ][] = $A[$i]; + } + + } + $tmp = getOralatogatasByOraIds($oraIds, $SET = array('result' => 'assoc'));; + if (is_array($tmp)) foreach ($tmp as $oraId => $olAdat) { + $olAdat['ora'] = $oraId2dt[$oraId]['ora']; + $ADAT['oralatogatas'][ $oraId2dt[$oraId]['dt'] ][] = $olAdat; + } + } + + function getNaploHianyzasok(&$ADAT) { + + global $HianyzasJeloles; + + $q = "SELECT * FROM hianyzas WHERE '%s'
'getNaploHianyzas', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); + for ($i = 0; $i < count($A); $i++) { + $diakId = $A[$i]['diakId']; + $dt = $A[$i]['dt']; + $ora = $A[$i]['ora']; + if (!is_array($ADAT['hianyzas'][$dt][$diakId])) { + $nev = $ADAT['diakAdat'][$diakId]['diakNev']; + if (mb_strlen($nev, 'UTF-8') > 20) { + if (mb_substr($nev,20,1) == ' ') { + $nev = mb_substr($nev, 0, 20, 'UTF-8'); + } else { + $nev = mb_substr($nev, 0, 20, 'UTF-8'); + $pos = mb_strrpos($nev, ' ', 0, 'UTF-8'); + if ($pos !== false) $nev = mb_substr($nev, 0, $pos, 'UTF-8'); + else $nev .= '.'; + } + } + $ADAT['hianyzas'][$dt][$diakId] = array('ora' => array(), 'diakNev' => $nev); + } + $ADAT['hianyzas'][$dt][$diakId]['ora'][$ora] = $HianyzasJeloles[$A[$i]['tipus']]; + if ($A[$i]['tipus'] == 'hiányzás') { + $ADAT['hianyzas'][$dt][$diakId]['összesen']++; + $ADAT['hianyzas'][$dt][$diakId][ $A[$i]['statusz'] ]++; + } + } + + } + + function tordel($szavak) { + + $sorok = array(); // A tárgyNev sorokra bontása + $maxHossz = 8; // egy sorba írható karakterek maximális száma + + for ($j = 0; $j < count($szavak); $j++) { + $szo = str_replace('--', '~-', $szavak[$j]); + $tagok = explode('-', $szo); + $sor = str_replace('~', '-', $tagok[0]); + for ($k = 1; $k < count($tagok); $k++) { + $tag = str_replace('~', '-', $tagok[$k]); + $tl = mb_strlen($tag, 'UTF-8'); + $sl = mb_strlen($sor,'UTF-8'); + $ct = count($tagok); + if ( + ( + $sl+$tl < $maxHossz // általában max $maxHossz karaktert engedünk meg + && !( + $k == ($ct - 2) // az utolsó előtti tag + && ($sl > 3) // a sor már elég hosszú + && ($tl + mb_strlen($targok[$k+1], 'UTF-8')) <= $maxHossz // és befér az utolsó sorba --> akkor hagyjuk a következő sorba + ) + ) + || ( + $sl+$tl == $maxHossz + && ($k == ($ct-1) || substr($tag,-1) == '-')) // szóvégén, vagy kötőjeles szó kötőjelénél nincs újabb kötőjel + ) { + $sor .= $tag; + } else { + if ($k < $ct && substr($sor, -1) != '-') $sorok[] = $sor.'-'; // ha nem az utolsó és nincs még kötőjel (kötőjeles szavak) + else $sorok[] = $sor; + $sor = $tag; + } + } + $sorok[] = $sor; + } + return $sorok; + + } + +?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php b/mayor-orig/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php new file mode 100644 index 00000000..88949802 --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php @@ -0,0 +1,148 @@ + $filename, + 'base' => array( + 'intezmenyNev' => $Intezmeny['nev'], 'tanev' => __TANEV, 'nyDt' => date('Y.m.d'), + 'tolDt' => dateToString($tolDt), 'igDt' => dateToString($igDt), 'intezmenyHelyseg' => $Intezmeny['cimHelyseg'], + 'nyDatumStr' => dateToString(date('Y-m-d')) + ) + ); + for ($i = 0; $i < count($Helyettesitesek); $i++) { + $oraAdat = $Helyettesitesek[$i]; + if ($oraAdat['eredet'] == 'plusz') $oraAdat['tipus'] = $oraAdat['tipus'].' '.$oraAdat['eredet']; + unset($oraAdat['ki']); + unset($oraAdat['kit']); + $oraAdat['tankorNev'] = LaTeXSpecialChars($oraAdat['tankorNev']); + $DATA['hDt'][ $oraAdat['dt'] ]['helyettesites'][ $oraAdat['oraId'] ] = $oraAdat; + } + if (is_array($DATA['hDt']) && count($DATA['hDt'])>0) { + $DATA['base']['hDt'] = array_keys($DATA['hDt']); + return template2file($templateFile, $DATA); + } else { + $_SESSION['alert'][] = 'info:no_data'; + return false; + } + + + } + +/* + function naploGeneralasOld($filename, $tolDt, $igDt) { + + // Helyettesítések lekérdezése + $Helyettesitesek = getHelyettesitettOra($tolDt, $igDt); + $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY); + + $TeX = '\documentclass[8pt]{article} +\usepackage[a4paper]{geometry} % A4-es méret +\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás +\usepackage{t1enc} +\usepackage[magyar]{babel} % magyar elválasztási szabályok +\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után +\usepackage{booktabs} % táblázatok magasabb szintű formázása +\usepackage{longtable} % többoldalas táblázatok +\setlength\LTleft{-65pt} +\setlength\LTright{-65pt} +\usepackage{fancyhdr} % Fejléc és lábléc kezelés +\pagestyle{fancy} +\def\mayor{% +\font\mayorfnt=cmsl4% +\font\Mayorfnt=cmsl6 +{\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}}}} +\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont} +%\addtolength{\skip\footins}{2mm} +%\addtolength{\textheight}{16mm} +%\addtolength{\textwidth}{30mm} +\setlength{\footskip}{26pt} +\setlength{\headsep}{24pt} +\lhead{\small '.$Intezmeny['nev'].'} +\rhead{\small Helyettesítési-napló '.__TANEV.'} +\lfoot{\scriptsize\copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d.').'} +\rfoot{\scriptsize\thepage . oldal} +\cfoot{} +\begin{document} +'; + + $TeX .= ' +\begin{center} +{\large\bfseries H E L Y E T T E S Í T É S E K}\\\\ + +\vspace{12pt} + +{\bfseries\normalsize '.dateToString($tolDt).' – '.dateToString($igDt).'}\\\\ + +\vspace{12pt} + +\scriptsize +\begin{longtable}{@{\extracolsep{\fill}}c|c|l|l|l|c} +Dátum & Óra & Ki & Kit & Tankör & Típus \\\\ +\toprule +\endfirsthead +Dátum & Óra & Ki & Kit & Tankör & Típus \\\\ +\toprule +\endhead +\bottomrule +\endfoot +\bottomrule +\endlastfoot +\hline +'; + + for ($i = 0; $i < count($Helyettesitesek); $i++) { + $oraAdat = $Helyettesitesek[$i]; + if ($oraAdat['eredet'] == 'plusz') $oraAdat['tipus'] = $oraAdat['tipus'].' '.$oraAdat['eredet']; + $TeX .= '\vbox to 1.2em {}'.$oraAdat['dt'].'&'.$oraAdat['ora'].'&'.$oraAdat['kiCn'].'&'.$oraAdat['kitCn'] + .'&'.$oraAdat['tankorNev'].'&'.$oraAdat['tipus'].'\\\\ '; + if ($Helyettesitesek[$i+1]['dt'] != $oraAdat['dt']) $TeX .= '\midrule'."\n"; + //else $TeX .= '\hline'; + + } + + $TeX .= ' +\end{longtable} + +\vspace{16pt} + +\begin{flushleft} +{\scriptsize '.$Intezmeny['cimHelyseg'].', '.dateToString(date('Y-m-d')).'} +\end{flushleft} +\vspace{20pt}\slshape\scriptsize +\begin{tabular}{ccc} +%\rule{3.5cm}{0.1pt} +\hspace{3.5cm}% +&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\\\ +%tanuló +&&igazgató\\\\ +\end{tabular} + +\end{center} +'; + + + $TeX .= ' +\end{document}'; + + pdfLaTeX($TeX, $filename); // A longtable miatt többször kell fordítani + return pdfLaTeX($TeX, $filename); + + } +*/ + +?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/nyomtatas.php b/mayor-orig/www/include/modules/naplo/nyomtatas/nyomtatas.php new file mode 100644 index 00000000..b91c18e8 --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/nyomtatas/nyomtatas.php @@ -0,0 +1,89 @@ +'H', + 'késés'=>'k', + 'felszerelés hiány'=>'f', + 'egyenruha hiány'=>'e' + ); + + $targyCsoportTXT = array( + 'tanóra' => '', + 'fakultáció' => 'fakt.', + 'előfakultáció' => 'előfakt.', + 'szakkör' => 'szakk.' + ); + + $targyTXT = array( + 'angol nyelv' => 'Angol% nyelv', + 'biológia' => 'Bio-%lógia', + 'dráma' => 'Dráma', + 'ének-zene' => 'Ének%-zene', + 'fizika' => 'Fizika', + 'filozófia' => 'Filo-%zófia', + 'földrajz' => 'Föld-%rajz', + 'francia nyelv' => 'Francia% nyelv', + 'idegenvezetés' => 'Idegen-%vezetés', + 'japán nyelv' => 'Japán% nyelv', + 'kémia' => 'Kémia', + 'latin nyelv' => 'Latin% nyelv', + 'magyar' => 'Magyar', + 'magyar irodalom' => 'Magyar% irodalom', + 'magyar nyelv' => 'Magyar% nyelv', + 'matematika' => 'Mate-%matika', + 'művészettörténet' => 'Művészet-%történet', + 'német nyelv' => 'Német% nyelv', + 'olasz nyelv' => 'Olasz% nyelv', + 'rajz' => 'Rajz', + 'spanyol nyelv' => 'Spanyol% nyelv', + 'számítástechnika' => 'Számítás-%technika', + 'szociálpszichológia' => 'Szociál-%pszich.', + 'testnevelés' => 'Testne-%velés', + 'történelem' => 'Törté-%nelem', + 'zenetörténet' => 'Zene-%történet' + ); + + // Ezt az órarendnél, és az első lapon fogjuk használni :) + $targyTXT2 = array( + 'angol nyelv' => 'Angol', + 'biológia' => 'Biológia', + 'dráma' => 'Dráma', + 'ének-zene' => 'Ének', + 'fizika' => 'Fizika', + 'filozófia' => 'Filozófia', + 'földrajz' => 'Földrajz', + 'francia nyelv' => 'Francia', + 'idegenvezetés' => 'Idegenvezetés', + 'japán nyelv' => 'Japán', + 'kémia' => 'Kémia', + 'latin nyelv' => 'Latin', + 'magyar' => 'Magyar', + 'magyar irodalom' => 'Magyar irodalom', + 'magyar nyelv' => 'Magyar nyelv', + 'matematika' => 'Matematika', + 'művészettörténet' => 'Művészettörténet', + 'német nyelv' => 'Német', + 'olasz nyelv' => 'Olasz', + 'osztályfőnöki' => 'Osztályfőnöki', + 'rajz' => 'Rajz', + 'spanyol nyelv' => 'Spanyol', + 'számítástechnika' => 'Szám. tech.', + 'szociálpszichológia' => 'Szoc.pszich.', + 'testnevelés' => 'Testnevelés', + 'történelem' => 'Történelem', + 'zenetörténet' => 'Zenetörténet' + ); + +?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php b/mayor-orig/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php new file mode 100644 index 00000000..bdc16662 --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php @@ -0,0 +1,24 @@ + 'getDiakJegyek', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $ADAT['diakIds'])); + $RET = array(); + for ($i = 0; $i < count($r); $i++) { + /* Melyik félév is lehetett? */ + $_felev = (in_date_interval($r[$i]['dt'],$_TANEV['szemeszter'][1]['kezdesDt'],$_TANEV['szemeszter'][1]['zarasDt'])) ? 1:2; + + if ( + $ADAT['diakAdat'][ $r[$i]['diakId'] ]['osztalyDiak'][0]['kiDt'] == '' + || strtotime($r[$i]['dt']) <= strtotime($ADAT['diakAdat'][ $r[$i]['diakId'] ]['osztalyDiak'][0]['kiDt']) + ) + $RET[ $r[$i]['diakId'] ][ $r[$i]['targyId'] ][ $r[$i]['ho'] ][] = $r[$i]; + $RET[ $r[$i]['diakId'] ][ 'felevenkent' ][ $r[$i]['targyId'] ][ $_felev ][] = $r[$i]; + } + return $RET; + } + +?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php b/mayor-orig/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php new file mode 100644 index 00000000..3ed53ae3 --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php @@ -0,0 +1,48 @@ + $ADAT['file'], + 'base' => array('nyomtatasDt' => date('Y.m.d'), + 'tanev' => "$kEv-$zEv", +// 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]), + 'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'], + 'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'], + 'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'], + 'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'], + 'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'], + 'diak' => $ADAT['sniDiakIds'], 'osztaly' => $ADAT['osztaly']['osztalyJel'], + 'tanarNev' => '', 'osztalyTanar' => array_keys($ADAT['osztalyTanar']), + ), + 'diak' => $ADAT['diakAdat'], + 'felelos' => $ADAT['tanarok'], + 'osztalyTanar' => $ADAT['osztalyTanar'], + ); + +//echo '
';
+//var_dump($ADAT['diakAdat']);
+//echo '
'; + + return template2file($templateFile, $DATA); + + } + +?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php b/mayor-orig/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php new file mode 100644 index 00000000..f9f182d0 --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php @@ -0,0 +1,41 @@ + $ADAT['file'], + 'base' => array('nyomtatasDt' => date('Y.m.d'), + 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]), + 'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'], + 'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'], + 'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'], + 'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'], + 'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'], + 'diak' => $ADAT['sniDiakIds'], 'osztaly' => $ADAT['osztaly']['osztalyJel'], + 'tanarNev' => '', 'osztalyTanar' => array_keys($ADAT['osztalyTanar']), + ), + 'diak' => $ADAT['diakAdat'], + 'felelos' => $ADAT['tanarok'], + 'osztalyTanar' => $ADAT['osztalyTanar'], + ); + + return template2file($templateFile, $DATA); + + } + +?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php b/mayor-orig/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php new file mode 100644 index 00000000..1b095a4e --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php @@ -0,0 +1,131 @@ + $ADAT['targySorrendNev'],'osztalyId' => $ADAT['osztalyId'])); $Targyak = array(); + for ($i = 0; $i < count($_Targyak); $i++) { + $Targyak[ $_Targyak[$i]['targyId'] ] = $_Targyak[$i]; + $Targyak[ $_Targyak[$i]['targyId'] ]['targyNev'] = nagybetus(mb_substr($_Targyak[$i]['targyNev'],0,1)).mb_substr($_Targyak[$i]['targyNev'],1); + } + unset($_Targyak); + + list($ev,$ho,$nap) = explode('-', $ADAT['dt']); + list($evf,$oszt) = explode('.', $ADAT['osztalyAdat']['osztalyJel']); + + $DATA = array( + 'file' => $ADAT['file'], + 'base' => array('nyomtatasDt' => date('Y.m.d'), 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]), + 'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'], + 'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'], + 'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'], + 'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'], + 'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'], + 'tanevJele' => substr($ADAT['tanevAdat']['kezdesDt'],0,4).'/'.substr($ADAT['tanevAdat']['zarasDt'],0,4), + 'felevi' => ($ADAT['szemeszter']['szemeszter'] == 1), + 'diak' => $ADAT['diakIds'], 'osztaly' => "$evf. ".nagybetus($oszt), + ), + 'diak' => $ADAT['diakAdat'], + 'targy' => $Targyak, + 'szempont' => array(), + 'minosites' => array(), + ); + unset($Intezmeny); + + foreach ($ADAT['hianyzas'] as $diakId => $dHianyzas) { + $DATA['diak'][$diakId]['igazolt'] = $dHianyzas['igazolt']; + $DATA['diak'][$diakId]['igazolatlan'] = $dHianyzas['igazolatlan']; + $DATA['diak'][$diakId]['kesesPercOsszeg'] = intval($dHianyzas['kesesPercOsszeg']); + $DATA['diak'][$diakId]['kesesIgazolatlan'] = floor($dHianyzas['kesesPercOsszeg']/45); + $DATA['diak'][$diakId]['osszesIgazolatlan'] = $DATA['diak'][$diakId]['igazolatlan']+$DATA['diak'][$diakId]['kesesIgazolatlan']; + + $DATA['diak'][$diakId]['gyakIgazolt'] = intval($dHianyzas['gyakorlatIgazolt']); + $DATA['diak'][$diakId]['gyakIgazolatlan'] = intval($dHianyzas['gyakorlatIgazolatlan']); + $DATA['diak'][$diakId]['gyakKesesPercOsszeg'] = intval($dHianyzas['gyakorlatKesesPercOsszeg']); + $DATA['diak'][$diakId]['gyakKesesIgazolatlan'] = floor($dHianyzas['gyakorlatKesesPercOsszeg']/45); + $DATA['diak'][$diakId]['gyakOsszesIgazolatlan'] = $DATA['diak'][$diakId]['gyakIgazolatlan']+$DATA['diak'][$diakId]['gyakKesesIgazolatlan']; + + $DATA['diak'][$diakId]['elmIgazolt'] = intval($dHianyzas['elmeletIgazolt']); + $DATA['diak'][$diakId]['elmIgazolatlan'] = intval($dHianyzas['elmeletIgazolatlan']); + $DATA['diak'][$diakId]['elmKesesPercOsszeg'] = intval($dHianyzas['elmeletKesesPercOsszeg']); + $DATA['diak'][$diakId]['elmKesesIgazolatlan'] = floor($dHianyzas['elmeletKesesPercOsszeg']/45); + $DATA['diak'][$diakId]['elmOsszesIgazolatlan'] = $DATA['diak'][$diakId]['elmIgazolatlan']+$DATA['diak'][$diakId]['elmKesesIgazolatlan']; + } + + + + if (strtotime($ADAT['dt']) < strtotime($ADAT['tanevAdat']['szemeszter'][1]['zarasDt'])) $DATA['base']['negyedev'] = 'az első'; + else $DATA['base']['negyedev'] = 'a harmadik'; + foreach ($Ertekeles as $diakId => $E) { + $DATA['diak'][$diakId]['targy'] = array(); + + // !!! Tesztelendő !!! // +# foreach ($E as $targyId => $eAdat) { + foreach ($Targyak as $targyId => $tAdat) { + if (is_array($E[$targyId])) { + $eAdat = $E[$targyId]; + } else { + continue; + } + // !!! Tesztelendő !!! // + if ( + ( + (is_array($eAdat['szovegesErtekeles']['minosites']) && count($eAdat['szovegesErtekeles']['minosites']) > 0) + || (is_array($eAdat['szovegesErtekeles']['egyediMinosites']) && count($eAdat['szovegesErtekeles']['egyediMinosites']) > 0) + ) + && $ADAT['tolDt'] <= $eAdat['szovegesErtekeles']['dt'] + ) { + + $DATA['diak'][$diakId]['targy'][$targyId] = $eAdat; // Ezt lehetne finomítani +//if ($targyId == 2) { +//echo '
';var_dump($ADAT['tolDt']);
+//var_dump($eAdat['szovegesErtekeles']['dt']);
+//}
+
+		    $DATA['diak'][$diakId]['targy'][$targyId]['szempont'] = $eAdat['szempontRendszer']['szempont'];
+                    $targyMinositesId = $eAdat['szovegesErtekeles']['minosites'][0]; // Ha egy tárgy egy minősítés kell (az első)
+		    foreach ($eAdat['szempontRendszer']['szempont'] as $szempontId => $szAdat) {
+			$DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['egyediMinosites'] = 
+				$eAdat['szovegesErtekeles']['egyediMinosites'][$szempontId]['egyediMinosites'];
+			$M = $eAdat['szempontRendszer']['minosites'][$szempontId];
+			$elsoValasztottKovetkezik = true;
+                	for ($i = 0; $i < count($M); $i++) {
+			    $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][ $M[$i]['minositesId'] ] 
+				= array('minosites' => $M[$i]['minosites']);
+			    if (in_array($M[$i]['minositesId'], $eAdat['szovegesErtekeles']['minosites'])) {
+				$DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['valasztott'] = true;
+				$DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['elsoValasztott'] = $elsoValasztottKovetkezik;
+				$DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['tobbedikValasztott'] = (!$elsoValasztottKovetkezik);
+				$elsoValasztottKovetkezik = false;
+                    		if ($M[$i]['minositesId'] == $targyMinositesId) {
+                        	    $DATA['diak'][$diakId]['targy'][$targyId]['targyMinosites'] = $M[$i]['minosites']; // Ha tárgyanként egy minősítés kell (az első)
+                        	}
+                    	    }
+                	}
+		    }
+		}
+	    }
+	}
+
+	return template2file($templateFile, $DATA);
+
+    }
+
+
+?>
diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php b/mayor-orig/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php
new file mode 100644
index 00000000..596cbcf9
--- /dev/null
+++ b/mayor-orig/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php
@@ -0,0 +1,48 @@
+ 'tankorNaploInit/delete', 'modul' => 'naplo'));
+	}
+	// Kérdezzük le, hogy melyik osztályhoz nincs még bejegyzés
+	$q = "SELECT osztalyId FROM osztalyNaplo LEFT JOIN tankorNaplo USING (osztalyId) GROUP BY osztalyId HAVING COUNT(tankorId) = 0";
+	$osztalyIds = db_query($q, array('fv' => 'tankorNaploInit', 'modul' => 'naplo', 'result' => 'idonly'));
+	// Ezen osztályok hozzárendelése a csak hozzájuk tartozó tankörökhöz
+	if (is_array($osztalyIds) && count($osztalyIds) > 0) {
+    	    $q = "REPLACE INTO tankorNaplo (tankorId,osztalyId)
+                SELECT tankorId,osztalyId FROM ".__INTEZMENYDBNEV.".tankorOsztaly
+                WHERE osztalyId IN (".implode(',', $osztalyIds).")
+		AND tankorId IN (
+                    SELECT DISTINCT tankorId FROM ".__INTEZMENYDBNEV.".tankorSzemeszter WHERE tanev=".__TANEV."
+                ) GROUP BY tankorId HAVING COUNT(*)=1";
+    	    return db_query($q, array('fv' => 'tankorNaploInit', 'modul' => 'naplo'));
+	} else { return true; }
+
+    }
+
+    function tankorNaplohozRendeles($osztalyId, $T) {
+        $v = $V = array();
+        for ($i = 0; $i < count($T); $i++) {
+            list($tankorId, $naplo) = explode('/',$T[$i]);
+	    array_push($v, $tankorId, $naplo);
+            $V[] = "(%u, %u)";
+        }
+        if (count($V) > 0) {
+            $q = "DELETE FROM tankorNaplo WHERE osztalyId=%u";
+            db_query($q, array('fv' => 'tankorNaplohozRendeles', 'modul' => 'naplo', 'values' => array($osztalyId)));
+            $q = "REPLACE INTO tankorNaplo (tankorId,osztalyId) VALUES ".implode(',', $V);
+            db_query($q, array('fv' => 'tankorNaplohozRendeles', 'modul' => 'naplo', 'values' => $v));
+        }
+    }
+
+    function getTankorokNaploja() {
+
+	$q = "SELECT tankorId,osztalyId FROM tankorNaplo";
+        return db_query($q, array('fv' => 'tankorokNaploja', 'modul' => 'naplo', 'result' => 'keyvaluepair'));
+
+    }
+
+?>
diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/tex.php b/mayor-orig/www/include/modules/naplo/nyomtatas/tex.php
new file mode 100644
index 00000000..ab2ca3c0
--- /dev/null
+++ b/mayor-orig/www/include/modules/naplo/nyomtatas/tex.php
@@ -0,0 +1,1285 @@
+8?nagybetus($oJel):kisbetus($oJel)));
+            $return = '\footline{\ifodd\pageno\rightfootline\else\leftfootline\fi}
+\def\rightfootline{\hbox to \hsize{\copyright\ \mayor\ elektronikus napló -- Nyomtatva: '.date('Y.m.d').'.\hfil\folio}}
+\def\leftfootline{\hbox to \hsize{\folio\hfil '.$tanev.' -- '.$osztalySTR.', of.: '.$ofo.'}}';
+
+        } else {
+
+            $return = '\footline{\ifodd\pageno\rightfootline\else\leftfootline\fi}
+\def\rightfootline{\hbox to \hsize{\copyright\ \mayor\ elektronikus napló '.$tanev.'\hfil\folio}}
+\def\leftfootline{\hbox to \hsize{\folio\hfil Nyomtatva: '.date('Y.m.d.').'}}';
+
+        }
+        return $return;
+
+}
+
+function endTeXDocument() {
+
+    return '\bye';
+
+}
+
+// ======= Haladási ====== //
+
+    $HianyzasJeloles = array(
+        'hiányzás'=>'H',
+        'késés'=>'k',
+        'felszerelés hiány'=>'f',
+	'egyenruha hiány' => 'e'
+    );
+
+    function datumString($tanitasiNapOk) {
+        global $Honapok;
+        $tolStamp = strtotime($tanitasiNapOk[0]);
+        $igStamp = strtotime($tanitasiNapOk[2]);
+        $tolString = date('Y',$tolStamp) . '. '.$Honapok[intval(date('m',$tolStamp))-1].' '.date('j',$tolStamp).'.';
+        $igString = date('Y',$igStamp) . '. '.$Honapok[intval(date('m',$igStamp))-1].' '.date('j',$igStamp).'.';
+        $datumString = $tolString.' -- '.$igString;
+
+        return kisbetus($datumString);
+    }
+
+
+    $hoRomai = array('01'=>'I',
+                        '02' => 'II',
+                        '03' => 'III',
+                        '04' => 'IV',
+                        '05' => 'V',
+                        '06' => 'VI',
+                        '07' => 'VII',
+                        '08' => 'VIII',
+                        '09' => 'IX',
+                        '10' => 'X',
+                        '11' => 'XI',
+                        '12' => 'XII');
+
+    function datumRomai($dt) {
+	global $hoRomai;
+        list($ev,$honap,$nap) = explode('-',date('Y-m-j',strtotime($dt)));
+        return strtr($honap,$hoRomai).'.'.$nap.'.';
+    }
+
+
+    function putTeXOrarendParameterek($dt, $ADAT) {
+
+        $return = '';
+        for($ora = 1; $ora <= 8; $ora++) {
+	    $oraAdat = $ADAT['orak'][$dt][$ora];
+            $return .= '{';
+	    $targyNev = array();
+	    if (is_array($oraAdat)) for ($i = 0; $i < count($oraAdat); $i++) {
+		$targyId = $ADAT['tankorTargy'][ $oraAdat[$i]['tankorId'] ];
+		if ($ADAT['targyAdat'][$targyId]['targyRovidNev'] != '') {
+		    $tNev = $ADAT['targyAdat'][$targyId]['targyRovidNev'];
+		} else {
+		    $tNev = $ADAT['targyAdat'][$targyId]['targyNev'];
+		}
+		if (!in_array($tNev, $targyNev)) $targyNev[] = $tNev;
+	    }
+	    $return .= TeXSpecialChars(implode(', ', $targyNev));
+	    $return .= '}';
+        }
+
+	return $return;
+
+    }
+
+    function putTeXHaladasiOldalbeallitas() {
+
+        /* ELválasztás: szám < pretolerance(100) --> sikeres
+                        elválasztás
+                        sikertelenség !< tolerance(200)
+        */
+	return '%% Oldalbeállítás %%
+\\pretolerance=100
+\\tolerance=10000
+\\magnification=960
+\\vsize=26cm
+\\hsize=18.5cm
+\\hoffset=-1cm%% később generáljuk
+\\voffset=-1cm
+\\normal
+'; 
+    }
+
+    function putTeXFirstFootline($ADAT) {
+        return '\\footline{Nyomtatta: '.TeXSpecialChars($ADAT['intezmenyAdat']['nev']).' (OM: '.$ADAT['intezmenyAdat']['OMKod'].')'.' -- Látta: VMG 2003. X. 10. Sz. T.\\hfill}%'."\n";
+    }
+
+    function putTeXElolap($ADAT) {
+
+        global $targyTXT;
+
+	$return = '';
+	$dbSor = 0; 
+	for ($i=0; $i < count($ADAT['tankorokNaploElejere']); $i++) 
+	    $dbSor += count($ADAT['tankorokNaploElejere'][$i]['tanarok']);
+	$maxSorPerLap = 36;
+
+
+        $return .= putTeXFirstFootline($ADAT);
+
+	$sor = 0; $i = 0; // hanyadik tankörnél tartunk
+	while ($sor < $dbSor) {
+
+	    $lapSorai = 0;
+    	    $return .= '\\vbox to \\vsize{%%%%%%%%%%%%%%%%%%%%%%%';
+
+	    if ($sor == 0) $return .='
+\\vskip60pt%
+\\centerline{\\hbox to 120pt{\\hrulefill}}%
+\\centerline{az intézmény hosszú bélyegzője}%
+';
+	    $return .='\\hbox{\\vbox to 30pt{\\vfil\\hbox{\\centerline{'.TeXSpecialChars(nagybetus($ADAT['osztalyAdat']['osztalyJel']))
+.' osztályának HALADÁSI NAPLÓJA a '.$ADAT['tanev'].'/'.substr($ADAT['tanevAdat']['zarasDt'],0,4).' tanévre}}\\vfil}}%
+\\hbox{\\centerline{Osztályfőnök: '.$ADAT['osztalyAdat']['osztalyfonokNev'].'}}%
+%% egész lapos vbox vége... %%%%%%%%%%%%%%%%%%%%%%%
+%%ez a regi volt:\\vbox to 60pt{}%
+\\vfill%
+\\centerline{%
+\\vbox{\\hsize=300pt\\baselineskip=15pt';
+
+	    while (
+		$i < count($ADAT['tankorokNaploElejere'])
+		&& ($lapSorai + count($ADAT['tankorokNaploElejere'][$i]['tanarok'])) <= $maxSorPerLap
+	    ) {
+		$targyId = $ADAT['tankorokNaploElejere'][$i]['targyId'];
+        	$targyNev = $ADAT['targyAdat'][$targyId]['targyNev'];
+
+		$_tankorId = $ADAT['tankorokNaploElejere'][$i]['tankorId'];
+		$_osztalyId = $ADAT['tankorNaploja'][$_tankorId];
+		if ($_osztalyId!==null) {
+		    $naplojaban = TeXSpecialChars($ADAT['osztalyJele'][$_osztalyId]);
+            	    $return .= '\\hbox to 300pt{'.TeXSpecialChars($targyNev);
+	    	    if ($ADAT['targyAdat'][$targyId]['db'] > 1) {
+			$return .= ' '.(++$ADAT['targyAdat'][$targyId]['kiirtDb']).'. csoport';
+		    }
+		    if ($ADAT['osztalyId'] != $_osztalyId) $return .=' ('.$naplojaban.' naplójában)';
+        	    $return .= '\\quad\\dotfill\\quad ';
+		    // Egy tanár - az első - félrevezető, pontatlan
+        	    // $return .= $ADAT['tankorokNaploElejere'][$i]['tanarok'][0]['tanarNev']; //.' tanár';
+	    	    // -----------
+		    // több tanár egy sorban, vesszővel elválasztva - esetleg nem fér ki a sorban
+        	    //$return .= implode(', ', $ADAT['tankorokNaploElejere'][$i]['tanarok']); //.' tanár';
+		    // -----------
+		    // több tanár külön-külön sorban - esetleg nem fér ki az oldalra ($maxLap?)
+        	    $return .= implode("}%\n\\hbox to 300pt{\\hfill\\quad ", $ADAT['tankorokNaploElejere'][$i]['tanarok']); //.' tanár';
+        	    $return .= '}%'."\n";
+		}
+		$sor += count($ADAT['tankorokNaploElejere'][$i]['tanarok']);
+		$lapSorai += count($ADAT['tankorokNaploElejere'][$i]['tanarok']);
+		$i++;
+    	    }
+    	    $return .= '}%
+}% eocenterline%
+\\vfill%
+}';
+
+	    if ($sor < $dbSor) $return .= putTexUresLap();
+	} // while
+
+        return $return;
+
+    }
+
+
+
+
+
+
+    function putTeXTanuloTankorMatriX($ADAT) {
+
+	define('__MAXTANKOR',30);
+
+        $return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy A tanulók tankörbeosztása\\normal}\\vfil}%'."\n";
+
+$k = 0; // Hányadik tankörtől indulunk a táblázat elején
+$pageDb = 0;
+while ($k < count($ADAT['tankorok'])) {
+
+	$return .= '\\centerline{\\vbox{%'."\n";
+
+        $return .= '\\halign{\\vrule width2pt\\strut\\kicsi\\space\\noindent#\\hfill\\vrule width2pt';
+            for($i = $k; ($i < count($ADAT['tankorok'])) && ($i-$k<__MAXTANKOR); $i++) $return.= '&\\hbox to 10pt{\\hfil\kicsi#\\hfil}\\vrule';
+        $return .= ' width2pt\\cr%'."\n";
+        $return .='\\noalign{\\hrule height2pt}%'."\n";
+
+        $return .= '\\vbox to 180pt{\\hsize=100pt\\parindent=0pt\\vfill\\centerline{Tankör mátrix}\\vfill}';
+        for($i = $k; ($i < count($ADAT['tankorok'])) && ($i-$k<__MAXTANKOR); $i++) {
+            $return .= '&';
+            $return .= '\\setbox\\rotbox=\\hbox to 180pt{'. TeXSpecialChars( $ADAT['tankorok'][$i]['tankorNev'] ) .'\\hfill}';
+            $return .= '\\rotl\\rotbox';
+        }
+        $return .= '\\cr%'."\n";
+        $return .='\\noalign{\\hrule height2pt}%'."\n";
+
+        for ($j = 0; $j < count($ADAT['nevsor']); $j++){
+            $diakNev = $ADAT['nevsor'][$j]['diakNev'];
+            $diakId = $ADAT['nevsor'][$j]['diakId'];
+            $return .= $diakNev;
+            for($i = $k; ($i < count($ADAT['tankorok'])) && ($i-$k<__MAXTANKOR); $i++) {
+                $return.= '&';
+                if (in_array($ADAT['tankorok'][$i]['tankorId'], $ADAT['diakTankor'][$diakId])) $return.= 'x';
+            }
+            $return .='\\cr%'."\n";
+            $return .='\\noalign{\\hrule}%'."\n";
+        }
+        $return .='\\noalign{\\hrule height1.6pt}%'."\n";
+        $return .= '}}}\\hoffset=-0.8cm';
+
+	$k = $i;
+$pageDb++;
+}
+if (($pageDb % 2) == 0) $return .= putTeXUresLap(); // hogy ne csússzon el a páros/páratlan...
+        return $return;
+    }
+
+    function putTeXTanuloTankorMatriXOrig($ADAT) {
+
+        $return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy A tanulók tankörbeosztása\\normal}\\vfil}%
+\\centerline{\\vbox{%'."\n";
+
+        $return .= '\\halign{\\vrule width2pt\\strut\\kicsi\\space\\noindent#\\hfill\\vrule width2pt';
+            for($i = 0; $i < count($ADAT['tankorok']); $i++) $return.= '&\\hbox to 10pt{\\hfil\kicsi#\\hfil}\\vrule';
+        $return .= ' width2pt\\cr%'."\n";
+        $return .='\\noalign{\\hrule height2pt}%'."\n";
+
+        $return .= '\\vbox to 180pt{\\hsize=100pt\\parindent=0pt\\vfill\\centerline{Tankör mátrix}\\vfill}';
+        for($i = 0; $i < count($ADAT['tankorok']); $i++) {
+            $return .= '&';
+            $return .= '\\setbox\\rotbox=\\hbox to 180pt{'. TeXSpecialChars( $ADAT['tankorok'][$i]['tankorNev'] ) .'\\hfill}';
+            $return .= '\\rotl\\rotbox';
+        }
+        $return .= '\\cr%'."\n";
+        $return .='\\noalign{\\hrule height2pt}%'."\n";
+
+        for ($j = 0; $j < count($ADAT['nevsor']); $j++){
+            $diakNev = $ADAT['nevsor'][$j]['diakNev'];
+            $diakId = $ADAT['nevsor'][$j]['diakId'];
+            $return .= $diakNev;
+            for($i = 0; $i < count($ADAT['tankorok']); $i++) {
+                $return.= '&';
+                if (in_array($ADAT['tankorok'][$i]['tankorId'], $ADAT['diakTankor'][$diakId])) $return.= 'x';
+            }
+            $return .='\\cr%'."\n";
+            $return .='\\noalign{\\hrule}%'."\n";
+        }
+        $return .='\\noalign{\\hrule height1.6pt}%'."\n";
+        $return .= '}}}\\hoffset=-0.8cm';
+
+
+        return $return;
+    }
+
+
+
+
+    function putTeXAllandoFejlec() {
+
+$return='% ======================================================================= %
+% "Órán" táblázat (8.9pt?) 25.6pt
+\\def\\oran{\\vbox{\\halign{%
+\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule width0.8pt%
+\\cr%
+% ----------------------------------------------------------------------- %
+1&2&3&4&5&6&7&8\\cr%
+\\noalign{\\hrule}%
+\\multispan8{\\vbox to 32pt{\\hsize=74pt\\vfill\\noindent\\hfil órán\\hfil\\vfill}\\vrule width 0.8pt}\\cr%
+}}}%
+% ======================================================================= %
+% "Mulasztott" órák táblázat
+\\def\\mulasztott{%
+\\setbox\\rotbox=\\hbox to 40pt{\\vbox to 14pt{\\vfil\\noindent\\space összesen\\vfil}}%
+\\vbox {%
+\\halign{##&\\hfil##\\hfil\\cr%
+\\oran&\\hbox{\\rotl\\rotbox}\\cr%
+\\noalign{\\hrule}%
+\\multispan2{\\strut\\hfil mulasztott\\hfil}\\cr%
+}}}
+% ======================================================================= %
+\\def\\igazolas{%
+\\setbox\\rotboxA=\\hbox to 60pt{\\vbox to 14pt{\\vfil\\noindent\\space igazolt\\vfil}}%
+\\setbox\\rotboxB=\\hbox to 60pt{\\vbox to 14pt{\\vfil\\noindent\\space igazolatlan\\vfil}}%
+\\lower3pt\\vbox{%
+\\halign{##&##\\cr%
+\\multispan2{\\strut\\space\\hfil Ebből\\hfil\\space}\\cr%
+\\noalign{\\hrule}%
+\\rotl\\rotboxA\\vrule&\\rotl\\rotboxB\\cr}}}
+% ======================================================================= %
+\\def\\hianyzasFejlec{%
+\\vbox{%
+\\halign{\\kozepen{2.4cm}{2.3cm}{##}\\vrule&##\\vrule width0.8pt&##\\cr%
+\\vbox{\\centerline{A hiányzó} \\centerline{tanuló neve}}%
+&\\mulasztott&\\igazolas\\cr}}}
+'; return $return;
+
+    }
+    /* ------------------------------------------------------------------------------------- */
+
+    /* ----- Haladási napló baloldalán a napi órarend. ------------------------------------- */
+    function putTeXOrarendMacro() {
+
+$return='% ====ORERDND MAKRÓ========================================================= %
+\\def\\orarend#1#2#3#4#5#6#7#8{%
+\\lower-3pt\\vbox to 160pt{%
+\\baselineskip=10pt%
+\\hsize=82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#1\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#2\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#3\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#4\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#5\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#6\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#7\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#8\\vfil}}%
+}}%
+'; return $return;
+
+    } // end of putTeXOrarendMacro()
+    /* ------------------------------------------------------------------------------------- */
+
+    /* ------------------------------------------------------------------------------------- */
+    function putTeXHianyzasAlTablazat($napiHianyzas) {
+
+$return='% ======================================================================= %
+\\lower3pt\\vbox to 166pt{\\noindent{\\halign{%
+\\lower-2pt\\hbox to 2.4cm{\\hfil\\kicsi#\\hfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule width0.8pt%
+&\\lower-2pt\\hbox to 14pt{\\hfil#\\hfil}\\vrule width0.8pt%
+&\\lower-2pt\\hbox to 14pt{\\hfil#\\hfil}\\vrule%
+&\\lower-2pt\\hbox to 14pt{\\hfil#\\hfil}\\cr%
+% -----------------------------------------
+';
+    $i = 0; // Kiírt hiányzók száma (max 16)
+    if (is_array($napiHianyzas)) { 
+	foreach ($napiHianyzas as $diakId => $H) {
+	    if ($i > 15) break;
+    	    if ($i != 0) $return .= '\\noalign{\\hrule}';
+    	    $return .= $H['diakNev'];
+    	    for ($j = 1; $j <= 8; $j++) $return .= '&'.$H['ora'][$j];
+    	    $return .= '&'.$H['összesen'].'&'.$H['igazolt'].'&'.$H['igazolatlan'].'\\cr';
+	    $i++; 
+	}
+    }
+    // Üres sorok
+    for ($i;$i<=15; $i++) {
+        if ($i != 0) $return .= '\\noalign{\\hrule}';
+        $return .= '&&&&&&&&&&&\\cr';
+    }
+$return .= '}}}%
+'; return $return;
+
+
+    } // end of putTeXHianyzasAlTablazat($DATA)
+    /* ------------------------------------------------------------------------------------- */
+
+    function putTargyFejlec($lap, $ADAT) {
+
+	$return = '';
+
+	if ($lap > 0) {
+
+    	    $return='%% PAGE '.($lap+1).' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'."\n";
+	    if ($lap == 2) 
+		$return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy'.datumString($ADAT['tanitasiNapOk']).'\\normal}\\vfil}'."\n";
+	    else
+		$return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy '.date('W',strtotime($ADAT['tanitasiNapOk'][1])).'. hét\\normal}\\vfil}'."\n";
+	    $return .= '\\halign{%
+\\vrule width2pt%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width2pt\\cr%
+% -------------------------------------------------------------- %
+\\noalign{\\hrule height2pt}%
+%%+++ EZ ITT NEM JÓ ÁM MINDIG Hö... \\vbox to 75pt{}%
+';
+
+	}
+$foglalt = 0;
+for ($i = 0; $i < count($ADAT['targyFejlec'][$lap]); $i++) {
+    $targyId = $ADAT['targyFejlec'][$lap][$i]['targyId'];
+    $db = $ADAT['targyFejlec'][$lap][$i]['db'];
+    $sorsz = $ADAT['targyFejlec'][$lap][$i]['sorsz'];
+    $tAdat = $ADAT['targyAdat'][$targyId];
+
+    $tordeltTargyNev = $ADAT['targyAdat'][$targyId]['tordeltTargyNev'];
+    $targyNev = $ADAT['targyAdat'][$targyId]['targyNev'];
+
+    $foglalt += $db;
+    
+    if ($db == 1) {
+	if (count($tordeltTargyNev) < 5) $return .= '\\vbox to 72pt{}\\tetejen{34pt}{41.2pt}{\\vbox{';
+	else $return .= '\\vbox to 72pt{}\\kozepen{34pt}{72pt}{\\vbox{';
+    	for ($j = 0; $j < count($tordeltTargyNev); $j++) $return .= '\\centerline{'.TeXSpecialChars($tordeltTargyNev[$j]).'}';
+        $return .= '}}&';
+    } else {
+	$return .= '\\multispan{'.$db.'}{';
+	if ($lap != 0 && $foglalt == $db) $return .= '\\vrule width2pt\\vbox to 72pt{}';
+	//$return .= '\\ennes{'.TeXSpecialChars($targyNev).'}{'.$db.'}';
+	$return .= '\\emmes{'.TeXSpecialChars($targyNev).'}{'.$db.'}{'.$sorsz.'}';
+	if ($foglalt == $ADAT['helyek'][$lap]) $return .= '\\vrule width2pt}&';
+	else $return .= '\\vrule width0.8pt}&';
+    }
+}
+for ($i = $foglalt; $i < $ADAT['helyek'][$lap]; $i++) {
+    $return .= '\\tetejen{34pt}{41.2pt}{\\vbox{';
+    $return .= '\\centerline{}';
+    $return .= '}}&';
+}
+return substr($return,0,-1)."\\cr%\n";
+
+    }
+
+/* -------------------------------------- */
+
+    function putOraleiras($lap, $ADAT) {
+	$tol = 0;
+	for ($tLap = 0; $tLap < $lap; $tLap++) $tol += $ADAT['helyek'][$tLap];
+	$ig = $tol + $ADAT['helyek'][$lap];
+
+$return = '';
+$return .= '% ------------------------------------------------------------- %
+\\noalign{\\hrule height2pt}%
+';
+
+    for ($i = 0; $i < 3; $i++) {
+
+	$dt = $ADAT['tanitasiNapOk'][$i];
+        if (count($ADAT['orak'][$dt]) > 0) {
+            for ($j = $tol; $j < $ig; $j++) {
+		$tankorId = $ADAT['oszlopTankore'][$j];
+		if (is_array($ADAT['oraszam'][$dt][$tankorId])) {
+		    if (is_numeric($ADAT['oraszam'][$dt][$tankorId][0]))
+			$oraszam1 = $ADAT['oraszam'][$dt][$tankorId][0].'.';
+		    else $oraszam1='---';
+		    if (is_numeric($ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ]))
+			$oraszam2 = $ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ].'.';
+		    else $oraszam2='---';
+		} else { $oraszam1 = $oraszam2 = ''; }
+		if (is_array($ADAT['tananyag'][$dt][$tankorId])) $leiras = TeXSpecialChars(implode(' ', $ADAT['tananyag'][$dt][$tankorId]));
+		else $leiras = '';
+                // $dupla_orszam_formátum = \\vbox{\\hsize=20pt\\centerline{134.} \\centerline{135.}}
+                if ($oraszam1 == $oraszam2) {
+                    $return .= '\\tananyag{'.$leiras.'}{'.$oraszam1.'}';
+                } else {
+                    $return .= '\\tananyag{'.$leiras.'}{\\vbox{\\hsize=20pt\\centerline{'.$oraszam1.'} \\centerline{'.$oraszam2.'}}}';
+                }
+		if ($j < $ig - 1) $return .= '&';
+            }
+            $return .= '\\cr\\noalign{\\hrule height2pt}';
+        } else {
+            $return .= '\\multispan{15}{\\vrule width2pt\\vbox to 166pt{}\\hfil\\vrule width2pt}\\cr\\noalign{\\hrule height2pt}';
+        }
+    }
+
+
+    $return .= '% ------------------------------------------------------------- %
+\\multispan{15}{%
+\\vrule width2pt\\megjegyzes{Látogatások és egyéb}{észrevételek}%
+';
+	return $return;
+    }
+
+    /* ------------------------------------------------------------------------------------- */
+    function putTeXPage1($ADAT) {
+        global $aHetNapjai;
+$return='
+%%%%%%%%%%%%%%%%%%% PAGE 1 %%%%%%%%%%%%%%%%%%%%%%%
+\\vbox to 20pt{\\vfil\\centerline{\\nagy'.datumString($ADAT['tanitasiNapOk']).'\\normal}\\vfil}
+\\halign{%
+\\hbox to 22pt{\\hfil#}%
+&\\vrule width0.8pt\\hbox to 82.5pt{#}\\vrule width0.8pt%
+&#\\vrule width0.8pt&\\hbox to 34pt{#}\\vrule width0.8pt%
+&\\hbox to 34pt{#}\\vrule width0.8pt%
+&\\hbox to 34pt{#}\\vrule width0.8pt%
+&\\hbox to 34pt{#}\\vrule width0.8pt%
+&\\hbox to 34pt{#}\\vrule width0.8pt%
+&\\hbox to 34pt{#}\\vrule width2pt\\cr%
+% -------------------------------------------------------------- %
+\\noalign{\\hrule height2pt}%
+%xetex%\\vrule width2pt\\tanitasi&\\kozepen{82.5pt}{70pt}{Tant\\\'argy}&\\hianyzasFejlec&%
+\\vrule width2pt\\tanitasi&\\kozepen{82.5pt}{70pt}{Tantárgy}&\\hianyzasFejlec&%
+% -------------------------------------------------------------- %
+';
+
+
+$lap = 0;
+$return .= putTargyFejlec($lap, $ADAT);
+
+$return .= '% ------------------------------------------------------------- %
+\\noalign{\\hrule height2pt}%
+';
+
+    for ($i = 0; $i <= 2; $i++) {
+                            // ---------------------------------- Mintanap...
+	$dt = $ADAT['tanitasiNapOk'][$i];
+        if (count($ADAT['orak'][$dt]) > 0) {
+            $return .= '\\datum{'.
+            getTanitasiNapSzama($dt, $ADAT['munkatervId']).'}{'.
+            datumRomai($dt).'}{'.
+            $aHetNapjai[(date('w',strtotime($dt))-1)].'}&\\orarend'.
+            putTeXOrarendParameterek($dt, $ADAT).'&'.
+            putTeXHianyzasAlTablazat($ADAT['hianyzas'][$dt]);
+            for ($j = 0; $j < 6; $j++) {
+		$tankorId = $ADAT['oszlopTankore'][$j];
+		if (is_array($ADAT['oraszam'][$dt][$tankorId])) {
+		    if (is_numeric($ADAT['oraszam'][$dt][$tankorId][0]))
+			$oraszam1 = $ADAT['oraszam'][$dt][$tankorId][0].'.';
+		    else $oraszam1 = '---';
+		    if (is_numeric($ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ]))
+			$oraszam2 = $ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ].'.';
+		    else $oraszam2='---';
+		} else { $oraszam1 = $oraszam2 = ''; }
+		if (is_array($ADAT['tananyag'][$dt][$tankorId])) $leiras = TeXSpecialChars(implode(' ', $ADAT['tananyag'][$dt][$tankorId]));
+		else $leiras = '';
+                // $dupla_orszam_formátum = \\vbox{\\hsize=20pt\\centerline{134.} \\centerline{135.}}
+                if ($oraszam1 == $oraszam2) {
+                    $return .= '&\\tananyag{'.$leiras.'}{'.$oraszam1.'}';
+                } else {
+                    $return .= '&\\tananyag{'.$leiras.'}{\\vbox{\\hsize=20pt\\centerline{'.$oraszam1.'} \\centerline{'.$oraszam2.'}}}';
+                }
+            }
+            $return .= '\\cr\\noalign{\\hrule height2pt}';
+        } elseif ($ADAT['napok'][$dt][0]['tipus'] == 'speciális tanítási nap') {
+            $return .= '\\datum{'.
+	    getTanitasiNapSzama($dt, $ADAT['munkatervId']).'}{'.
+	    datumRomai($dt).'}{'.
+	    $aHetNapjai[(date('w',strtotime($dt))-1)]
+		.'}&\\multispan{8}{\\vrule width0.8pt\\vbox to 160pt{'
+		.'\\line{}\\centerline{'.$ADAT['napok'][$dt][0]['tipus'].'}\\line{}\\centerline{'.$ADAT['napok'][$dt][0]['megjegyzes'].'}'
+		.'}\\hfil\\vrule width2pt}\\cr\\noalign{\\hrule height2pt}';
+        } else {
+            $return .= '\\datum{}{'.datumRomai($ADAT['tanitasiNapOk'][$i] ).'}{'.$aHetNapjai[(date('w',strtotime($ADAT['tanitasiNapOk'][$i]))-1)]
+		.'}&\\multispan{8}{\\vrule width0.8pt\\vbox to 160pt{}\\hfil\\vrule width2pt}\\cr\\noalign{\\hrule height2pt}';
+        }
+    }
+
+                            // ---------------------------------- Mintanap VÉGE
+$return .= '% ------------------------------------------------------------- %
+\\vrule width2pt\\megjegyzes{Mulasztott órák és}{későn jövés igazolása}%
+&\\multispan8{';
+
+    for ($i = 0; $i <= 2; $i++) {
+
+	// Kell ez?
+        //$return .= '\\vrule width0.8pt\\quad\\vbox to 85pt{\\hsize=140pt\\hbox{'.  $aHetNapjai[(date('w',strtotime($ADAT['tanitasiNapOk'][$i]))-1)]  .':}';
+        //$return .= '\\vfill}\\hfil';
+
+	$dt = $ADAT['tanitasiNapOk'][$i];
+        $pluszHIANYZASOK = array();
+
+            $return .= '\\vrule width0.8pt';
+            $return .= '\\vbox to 85pt{\\baselineskip=10pt\\leftskip=3pt\\hsize=159pt';
+                $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($ADAT['tanitasiNapOk'][$i]))-1)].':}';
+
+                if (count($ADAT['hianyzas'][$dt]) > 16) {
+		    $napiHianyzas = $ADAT['hianyzas'][$dt];
+		    $h = 0;
+		    foreach ($napiHianyzas as $diakId => $H) {
+			if ($h > 15) {
+                    	    $return .= '\\par{'.$H['diakNev'];
+                        if (intval($H['összesen']) != 0) {
+                            $return .= ' '.intval($H['összesen'])
+                                .'('.intval($H['igazolt']).')';
+                            // Hiányzó hiányzásai, késései felsorolás
+                            for ($k = 1; $k <= 8; $k++) { // itt k=8 a maximális óraszám!
+                                if (isset($H['ora'][$k])) {
+                                    $pluszHIANYZASOK[ $H['ora'][$k] ] .= $k.'.';
+                                }
+                            }
+                            while (list($key,$val) = each($pluszHIANYZASOK)) {
+                                $return .= ' '.$key.':'.$val;
+                            }
+                        } else { // nem hiányzott, csak késett
+                            $return .= ' késett:';
+                            for ($k = 1; $k <= 8; $k++) { // itt k=8 a maximális óraszám!
+                                if (isset($H['ora'][$k])) {
+                                    $return .= ' '.$k.'.';
+                                }
+                            }
+                        }
+                        $return .= '}'; // ez a vége a \par{} - nak.
+			}
+			$h++;
+                    }
+                }
+            $return .= '\\vfill}';
+    }
+
+
+$return .='\\vrule width2pt%
+}\\cr% multispan
+\\noalign{\\hrule height2pt}%
+}\\hoffset=-1cm
+';
+	return $return;
+
+
+    } // end of putTeXElsoOldal()
+    /* ------------------------------------------------------------------------------------- */
+
+   /* ------------------------------------------------------------------------------------- */
+    function putTeXPage2($ADAT) {
+
+        global $aHetNapjai;
+
+	$lap = 1; 
+	$return .= putTargyFejlec($lap, $ADAT);
+	$return .= putOraleiras($lap, $ADAT);
+
+        for ($i = 0; $i < 3; $i++) {
+	    $dt = $ADAT['tanitasiNapOk'][$i];
+            $return .= '\\vrule width0.8pt';
+            $return .= '\\vbox to 85pt{\\leftskip=3pt\\hsize=120pt';
+                $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($dt))-1)].':}\\parindent=15pt';
+                for ($k = 0; $k < count($ADAT['helyettesites'][$dt]); $k++) 
+		    $return .= '\\item{'.$ADAT['helyettesites'][$dt][$k]['ora'].'.}{'
+			.$ADAT['helyettesites'][$dt][$k]['tipus'].' \\dolt '
+			.$ADAT['tanarok'][ $ADAT['helyettesites'][$dt][$k]['ki'] ]['tanarNev'].'}';
+                for ($k = 0; $k < count($ADAT['oralatogatas'][$dt]); $k++) {
+		    $return .= '\\item{'.$ADAT['oralatogatas'][$dt][$k]['ora'].'.}{'
+			.'óralátogatás \\dolt ';
+		    $tNev = array();
+		    foreach ($ADAT['oralatogatas'][$dt][$k]['tanarIds'] as $tanarId) 
+			$tNev[] = $ADAT['tanarok'][$tanarId]['tanarNev'];
+		    $return .= implode(', ', $tNev).'}';
+		}
+            $return .= '\\vfill}';
+        }
+
+        $return .= '\\vrule width0.8pt';
+        $return .= '\\vbox to 85pt{\\parindent=0pt\\leftskip=3pt\\hsize=120pt';
+        $return .= '\\par{Osztályfőnöki óra:}';
+	$oraszam1 = $oraszam2 = '';
+        for ($i = 0; $i < 3; $i++) {
+	    $dt = $ADAT['tanitasiNapOk'][$i];
+            if ($ADAT['tananyag'][$dt][ $ADAT['ofoTankorId'] ] != '') $return .= '\\par{'.
+		    TeXSpecialChars(implode('; ', array_unique($ADAT['tananyag'][$dt][ $ADAT['ofoTankorId'] ]))).'}';
+
+	    // óraszám
+	    if (is_array($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ])) {
+		if (is_numeric($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][0]))
+		    $oraszam1 = $ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][0].'.'; 
+		else $oraszam1 = '---';
+		if (is_numeric($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][ (count($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ])-1) ])) 
+		    $oraszam2 = $ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][ (count($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ])-1) ].'.';
+		else $oraszam2 = '---';
+	    }
+
+        }
+        $return .= '\\vfill';
+        $return .= '\\hbox to 138pt{\\hfill\\lower3pt\\oraszam{';
+
+        if ($oraszam1 == $oraszam2) $return .= $oraszam1;
+        else $return .= '\\vbox{\\hsize=20pt\\centerline{'.$oraszam1.'} \\centerline{'.$oraszam2.'}}';
+
+        $return .= '}}';
+        $return .= '}%end of vbox'."\n";
+        $return .= '\\vrule width2pt';
+
+	$return .= '}\\cr% multispan
+\\noalign{\\hrule height2pt}%
+}\\hoffset=-0.4cm';
+
+	return $return;
+    }
+    /* ------------------------------------------------------------------------------------- */
+
+
+   /* ------------------------------------------------------------------------------------- */
+    function putTeXPage34($ADAT) {
+
+        global $aHetNapjai;
+
+	$lap = 2;
+	$return .= putTargyFejlec($lap, $ADAT);
+	$return .= putOraleiras($lap, $ADAT);
+	for ($i = 0; $i < 3; $i++) {
+	    $dt = $ADAT['tanitasiNapOk'][$i];
+            $return .= '\\vrule width0.8pt';
+            $return .= '\\vbox to 85pt{\\leftskip=3pt\\hsize=120pt';
+                $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($dt))-1)].':}\\parindent=15pt';
+            $return .= '\\vfill}';
+        }
+
+        $return .= '\\vrule width0.8pt';
+        $return .= '\\vbox to 85pt{\\parindent=0pt\\leftskip=3pt\\hsize=120pt';
+        $return .= '\\vfill';
+        $return .= '\\hbox to 138pt{\\hfill';
+        $return .= '}';
+        $return .= '}%end of vbox'."\n";
+        $return .= '\\vrule width2pt';
+
+	$return .= '}\\cr% multispan
+\\noalign{\\hrule height2pt}%
+}\\hoffset=-1cm';
+
+	$return .= putTeXLapdobas();
+
+	$lap = 3;
+	$return .= putTargyFejlec($lap, $ADAT);
+	$return .= putOraleiras($lap, $ADAT);
+        for ($i = 0; $i < 3; $i++) {
+	    $dt = $ADAT['tanitasiNapOk'][$i];
+            $return .= '\\vrule width0.8pt';
+            $return .= '\\vbox to 85pt{\\leftskip=3pt\\hsize=120pt';
+                $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($dt))-1)].':}\\parindent=15pt';
+            $return .= '\\vfill}';
+        }
+
+        $return .= '\\vrule width0.8pt';
+        $return .= '\\vbox to 85pt{\\parindent=0pt\\leftskip=3pt\\hsize=120pt';
+        $return .= '\\vfill';
+        $return .= '\\hbox to 138pt{\\hfill';
+        $return .= '}';
+        $return .= '}%end of vbox'."\n";
+        $return .= '\\vrule width2pt';
+
+	$return .= '}\\cr% multispan
+\\noalign{\\hrule height2pt}%
+}\\hoffset=-0.4cm';
+
+
+	return $return;
+    }
+    /* ------------------------------------------------------------------------------------- */
+
+
+
+
+
+
+// ======= Osztályozó ======= //
+
+function putTeXOsztalyozoOldalbeallitas() {
+
+    return '%% Oldalbeállítás %%
+\pretolerance=10000
+\tolerance=100
+\magnification=960
+\vsize=27.7cm
+\hsize=19cm
+\voffset=-1.54cm
+\hoffset=-1.27cm';
+
+}
+
+function putTeXOsztalyozoFejlec($sorszam, $diakNev, $szuletesiHely, $szuletesiIdo) {
+
+    global $Honapok;
+
+    $ev = substr($szuletesiIdo, 0, 4);
+    $ho = kisbetus($Honapok[ intval(substr($szuletesiIdo, 5, 2))-1 ]);
+    $nap = intval(substr($szuletesiIdo, -2));
+    if ($szuletesiHely == '') $szuletesiHely = 'n.a.';
+
+    $return .= '%--Osztályozó napló egy diák fejléce--'.$sorszam.'
+\ifodd\pageno\hoffset=-0,64cm\else\hoffset=-1,64cm\fi
+\hbox to\hsize{\nagy '.$sorszam.'. '.$diakNev.'\hfil '.$szuletesiHely.", $ev. $ho $nap.".'}%
+\medskip';
+
+    return $return;
+
+}
+
+function putTeXOsztalyozoAllandoFejlec($Ho) {
+    global $hoRomai;
+    foreach ($Ho as $k=>$v) {
+	$rHo[$k] = $hoRomai[$v].'.';
+    }
+
+
+    $return .= '
+\halign{';
+
+    if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) {
+	$return .= '\hbox to 194.8pt{\strut\hfil #\hfil}\vrule width1.2pt&';
+	$return .= '\hbox to 194.8pt{\strut\hfil #\hfil}\vrule width1.2pt\cr%'."\n";
+	$return .= 'I.&II.\cr%'."\n";
+	$txt = 'félévben nyert érdemjegy';
+	$return .= '\noalign{\hrule height0.8pt}%
+\multispan{2}{\vbox to 25pt{\hsize=390.8pt\vfil\hbox to 390.8pt{\hfil '.$txt.'\hfil}\vfil}\vrule width1.2pt}\cr%
+}%
+';
+    } else {
+	for($i=1; $i<=10; $i++) $return .= '\hbox to 38pt{\strut\hfil #\hfil}\vrule width1.2pt&';
+	$return = substr($return,0,-1);
+	$return .= '\cr% 10 darab'."\n";
+	// Ha a hónapokat írnánk ki?
+	$return .= implode('&', $rHo).'\cr%'."\n";
+	$txt = 'hónapban nyert érdemjegy';
+// Vagy tíz "témakört"..
+    //1.&2.&3.&4.&5.&6.&7.&8.&9.&10.\cr%
+//    $return .= '1.';
+//    for ($i = 1; $i < count($Ho); $i++) $return .= '&'.($i+1).'.';
+//    $return .= '\cr%'."\n";
+//    $txt = 'szakaszból (témakörből) nyert érdemjegy';
+    $return .= '\noalign{\hrule height0.8pt}%
+\multispan{10}{\vbox to 25pt{\hsize=390.8pt\vfil\hbox to 390.8pt{\hfil '.$txt.'\hfil}\vfil}\vrule width1.2pt}\cr%
+}%
+';
+
+    }
+
+    return $return;
+
+}
+
+function putTeXOsztalyozoJegyek($diakId, $ADAT, $start = 0) {
+/*
+    $sorszam - hány tárgy sora lett kiírva
+    $i - Hányadik tárgynál tartunk az osztály tárgyai között
+    $start - honnan indul a $i
+*/
+    global $KOVETELMENY, $_TANEV;
+
+// csúnya megoldás, de nincs jobb ötletem:
+    global $iGlobal;
+
+    $return .= '%%%% Osztalyozó jegyek %%%%'."\n";
+//    $return .= '\halign{\vrule width2pt\hbox to 85pt{\vbox to 30pt{\hsize=85pt\vfil{\ #}\vfil}\hfill}\vrule width1.2pt&'; // Tárgy oszlopa - balra igazított
+    $return .= '\halign{\vrule width2pt\hbox to 85pt{\hglue 5pt plus 0pt minus 0pt \vbox to 30pt{\hsize=80pt\vfil{#}\vfil}\hfill}\vrule width1.2pt&'; // Tárgy oszlopa - balra igazított
+
+    if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) {
+	for ($i = 0; $i < 2; $i++) { // A hónapok
+    	    $return .= '\hbox to 194.8pt{\hfil\vbox to 30pt{\hsize=186.8pt{\baselineskip=9pt\vfil#\vfil}}\hfil}\vrule width1.2pt&'; // középre igazított
+	}
+    } else {
+	for ($i = 0; $i < count($ADAT['honapok']); $i++) { // A hónapok
+    	    $return .= '\hbox to 38pt{\hfil\vbox to 30pt{\hsize=30pt{\baselineskip=9pt\vfil#\vfil}}\hfil}\vrule width1.2pt&'; // középre igazított
+	}
+    }
+    $return .= '\hbox to 28pt{\vbox to 30pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}}\vrule&%
+\hbox to 28pt{\vbox to 30pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}}\vrule width2pt\cr%
+%%%% Formátum sor vége %%%%
+\noalign{\hrule height2pt}%
+%%%% Tárgy fejlécsora %%%%
+\omit{\vrule width2pt\hbox to 85pt{\vbox to 25pt{\hsize=85pt\vfil{\hfil Tantárgy\vfil}\vfil}\hfill}\vrule width1.2pt}&%
+%%%% Hónapok fejlécsora %%%%'."\n";
+if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) $return .= '\multispan{2}{\lower3pt\vbox{'.putTeXOsztalyozoAllandoFejlec($ADAT['honapok']).'}}&%'."\n";
+else $return .= '\multispan{10}{\lower3pt\vbox{'.putTeXOsztalyozoAllandoFejlec($ADAT['honapok']).'}}&%'."\n";
+$return .= '%%%% Zárójegy fejlécsora %%%%
+\multispan2{\vbox{%
+\halign{\hbox to 28pt{\space\lower3pt\vbox to 25pt{\hsize=22pt\vfil\baselineskip=0pt #\vfil}\space}\vrule&%
+\hbox to 28pt{\space\lower3pt\vbox to 25pt{\hsize=22pt\vfil\baselineskip=0pt #\vfil}\space}%
+\cr%
+\multispan2{\strut\hfil Osztályzata\hfil}\cr%
+\noalign{\hrule height 0.8pt}%
+félév- kor&év végén\cr%
+}%
+}\vrule width2pt}\cr%
+%%%%%%%% Fejléc vége %%%%%%%%
+\noalign{\hrule height1.2pt}%
+';
+
+## =====================================================
+# Tárgynév formálása, és a 10 hónapban külön a rublikák
+    $sorszam = 0;
+    for ($i = $start; ($i < count($ADAT['targyak']) && $sorszam < 20); $i++) {
+
+	$targyId = $ADAT['targyak'][$i]['targyId'];
+	$targyNev = $ADAT['targyak'][$i]['targyNev'];
+	// A hosszabb nevek esetén az első szóköz nem nyújtható - de ezt most az elválaszott alak kiiktatja 
+	// if ($pos = strpos($targyNev, ' ')) $targyNev = substr($targyNev, 0, $pos).'\hglue 1ex plus 0pt minus 0pt '.substr($targyNev, $pos+1);
+        if (
+            (
+		//---------IDE ÍRJ
+		//is_array($ADAT['jegyek'][$diakId][$targyId])
+		in_array($targyId,$ADAT['diakTargy'][$diakId])
+		|| is_array($ADAT['zaroJegy'][1][$diakId][$targyId])
+		|| is_array($ADAT['zaroJegy'][2][$diakId][$targyId])
+	    )
+	    && ($targyId != $ADAT['targyak']['magatartasId'])
+	    && ($targyId != $ADAT['targyak']['szorgalomId'])
+            && ($targyNev != 'osztályfőnöki')
+            && ($targyNev != 'magatartás')
+            && ($targyNev != 'szorgalom')
+        ) {
+            $sorszam++;
+	    // $return .= $targyNev;
+	    $return .= $ADAT['targyak'][$i]['elvalasztott'];
+            $return .= '&';
+
+	    if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE !== true) {
+	      for ($k = 0; $k < count($ADAT['honapok']); $k++) {
+            	$ho = $ADAT['honapok'][$k];
+            	for($j = 0; $j < count($ADAT['jegyek'][$diakId][$targyId][$ho]); $j++) {
+		    $_jegy = $ADAT['jegyek'][$diakId][$targyId][$ho][$j]['jegy'];
+		    $_jegyTipus = $ADAT['jegyek'][$diakId][$targyId][$ho][$j]['jegyTipus'];
+		    $return .= TeXSpecialChars($KOVETELMENY[$_jegyTipus][$_jegy]['rovid']).' ';
+            	}
+		$return .= '&';
+    	      }
+	    } else { /* Ha félévenként! */
+              for ($felev=1; $felev<=2; $felev++) {
+		for ($j=0; $j0) $return .= ' ';
+        	    if ($zaroJegyek[$zji]['jegy'] != 0) $return .= TeXSpecialChars(
+			$KOVETELMENY[ $zaroJegyek[$zji]['jegyTipus'] ][ $zaroJegyek[$zji]['jegy'] ]['rovid']
+		    );
+        	    $return .= TeXSpecialChars(nagybetus(substr(
+			$zaroJegyek[$zji]['megjegyzes'],0,1
+		    )));
+
+		}
+	    } // ha még tagja félévkor az osztálynak
+
+            $return .= '&';
+
+	    if (
+		strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt']) == ''
+		|| strtotime($_TANEV['szemeszter'][2]['zarasDt']) <= strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt'])
+	    ) {
+		$zaroJegyek=$ADAT['zaroJegy'][2][$diakId][$targyId];
+		for ($zji=0; $zji0) $return .= ' ';
+        	    if ($zaroJegyek[$zji]['jegy'] != 0) $return .= TeXSpecialChars(
+			$KOVETELMENY[ $zaroJegyek[$zji]['jegyTipus'] ][ $zaroJegyek[$zji]['jegy'] ]['rovid']
+		    );
+        	    $return .= TeXSpecialChars(nagybetus(substr(
+			$zaroJegyek[$zji]['megjegyzes'],0,1
+		    )));
+		}
+	    } // ha még tagja év végén az osztálynak
+            $return .= '\cr%
+\noalign{\hrule height0.8pt}%
+';
+        }
+    }
+
+
+    for($j = $sorszam; $j < 20; $j++) {
+	if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) $return .= '&&&&\cr';
+        else $return .= str_repeat('&', 2+count($ADAT['honapok'])).'\cr';
+// 	$return .= '0&1&2&3&4&5&6&7&8&9&10&11&12\cr';
+        $return .= '\noalign{\hrule height0.8pt}';
+    }
+
+    $return .= '}';
+
+    $iGlobal = $i;
+
+    return $return;
+}
+
+function putTeXOsztalyozoAdatok($diakId, $ADAT) {
+
+    global $KOVETELMENY;
+
+    $return .= '\halign{\vrule width2.0pt\hbox to 398.6pt{\vbox to 80pt{\hsize=398.6pt#}}\vrule width1.2pt&%
+\hbox to 135.2pt{#}\vrule width2pt\cr%
+\noalign{\hrule height1.2pt}%
+\quad\vbox{\vbox to 8pt{}%
+\settabs\+ Oktatási azonosító\quad&\quad Itt egy nagyon hosszzú név \quad&\quad Törvényes képviselő:\ &\quad adatsor3 \cr
+\+ Oktatási azonosító:&'.
+$ADAT['diakAdat'][$diakId]['oId']
+.'&Törzslapszám:&'.
+TeXSpecialChars($ADAT['diakAdat'][$diakId]['torzslapszam'])
+#.'&Törvényes képviselő:&'.
+#str_replace(',',', ',$ADAT['diakAdat'][$diakId]['torvenyesKepviselo'])
+.'\cr%
+\+ Anyja neve:&'.
+# Ha van leánykori neve, akkor azt írjuk ki, különben a viselt nevet
+(($ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuleteskoriCsaladinev']!='')?trim(
+    $ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuleteskoriCsaladinev'].' '.
+    $ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuleteskoriUtonev']
+):$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuloNev'])
+.'&TAJ:&'.
+implode('-', str_split($ADAT['diakAdat'][$diakId]['tajSzam'],3))
+.'\cr%';
+    $return .= '
+\+ '
+.'Apa neve:&'.
+$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['apaId'] ]['szuloNev']
+.'&Telefonszám:&'.
+implode(
+    ', ',
+  array_unique( 
+    array_diff(
+	array($ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['telefon'],$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['apaId'] ]['telefon']),
+	array(null,'')
+    )
+  )
+)
+.'\cr%';
+    $return .= '
+\+ Gondviselő neve:&'.
+$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['gondviseloId'] ]['szuloNev']
+.'&Törvényes képviselő:&'.
+str_replace(',',', ',$ADAT['diakAdat'][$diakId]['torvenyesKepviselo'])
+.'\cr%';
+$return .= '
+\+ Tanuló lakcíme:&'.TeXSpecialChars($ADAT['diakAdat'][$diakId]['lakhelyIrsz'].' '
+    .$ADAT['diakAdat'][$diakId]['lakhelyHelyseg'].', '
+    .$ADAT['diakAdat'][$diakId]['lakhelyKozteruletNev'].' '
+    .$ADAT['diakAdat'][$diakId]['lakhelyKozteruletJelleg'].' '
+    .$ADAT['diakAdat'][$diakId]['lakhelyHazszam'].' '
+    .$ADAT['diakAdat'][$diakId]['lakhelyEmelet'].' '
+    .$ADAT['diakAdat'][$diakId]['lakhelyAjto'].' ')
+    .'\cr%';
+if ($ADAT['diakAdat'][$diakId]['gondozasiSzam'] != '' || $ADAT['diakAdat'][$diakId]['fogyatekossag'] != '') {
+    $return .= '
+\+ Felmentés:&'.
+str_replace(',',', ',$ADAT['diakAdat'][$diakId]['fogyatekossag']).' ('.TeXSpecialChars($ADAT['diakAdat'][$diakId]['gondozasiSzam']).')'
+.'\cr%';
+}
+
+    $return .= '
+}&%---------------------------------
+\lower3pt\vbox{%
+\halign{\hbox to 77.6pt{\vbox to 19.3pt{\hsize=77.6pt\vfil\space#\vfil}}&%
+\vrule\hbox to 28pt{\vbox to 19.3pt{\hsize=28pt\vfil{\nagyss\hfil#\hfil}\vfil}}\vrule&%
+\hbox to 28pt{\vbox to 19.3pt{\hsize=28pt\vfil{\nagyss\hfil#\hfil}\vfil}}\cr%
+\quad Magatartás&';
+$return .= $KOVETELMENY[ $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegyTipus'] 
+		][ 	 $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegy'] ]['rovid'];
+$return .= '&';
+$return .= $KOVETELMENY[ $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegyTipus'] 
+	        ][       $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegy'] ]['rovid'];
+$return .= '\cr%
+\noalign{\hrule}%
+\quad Szorgalom&';
+$return .= $KOVETELMENY[ $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegyTipus'] 
+	        ][       $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegy'] ]['rovid'];
+$return .= '&';
+$return .= $KOVETELMENY[ $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegyTipus'] 
+	        ][       $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegy'] ]['rovid'];
+$return .= '\cr%
+\noalign{\hrule height1.2pt}%
+\omit\vbox to 42.4pt{\hsize=77.6pt{%======================
+\halign{\hbox to 30.4pt{\space\vbox to 20.8pt{\hsize=28.4pt\vfil#\vfil}}\vrule&%
+\hbox to 46.4pt{\hbox to 2pt{}\vbox to 20.8pt{\hsize=40.4pt#}}\cr%
+igazolt&\vfil mulasztott\cr%
+\noalign{\hrule width 30.4pt}%
+\baselineskip9pt igazo\-latlan&órák száma\cr%
+}%
+%===========================
+}}&%~~~~~~~~~~~~~~~~
+\omit\vrule\vbox{\halign{\vbox to 20.8pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}\cr%
+'.intval($ADAT['hianyzas'][1][$diakId]['igazolt']).'\cr%
+\noalign{\hrule}%
+'.intval($ADAT['hianyzas'][1][$diakId]['igazolatlan']+floor($ADAT['hianyzas'][1][$diakId]['kesesPercOsszeg']/45)).'\cr%
+}}\vrule%
+%~~~~~~~~~~~~~~~~~~~
+&%~~~~~~~~~~~~~~~~~~
+\omit\vbox{\halign{\vbox to 20.8pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}\cr%
+'.intval($ADAT['hianyzas'][2][$diakId]['igazolt']).'\cr%
+\noalign{\hrule}%
+'.intval($ADAT['hianyzas'][2][$diakId]['igazolatlan']+floor($ADAT['hianyzas'][2][$diakId]['kesesPercOsszeg']/45)).'\cr%
+}}%
+%~~~~~~~~~~~~~~~~~~~
+\cr%
+}%
+}%
+%-----------------------------------
+\cr%
+\noalign{\hrule height2pt}%
+}';
+    return $return;
+
+}
+
+function putTeXTanarLista($ADAT, $lapDobasok) {
+
+    $TANAROK = $ADAT['tanarok'];
+
+    $return = '';
+    $dbTanar = count($TANAROK);
+    $maxTanarperlap = 24;
+    $maxLap = ceil($dbTanar / $maxTanarperlap);
+
+    if ($lapDobasok%2==1) $return .= putTexUresLap();
+
+    for ($lap=0; $lap<$maxLap; $lap++) {
+	if ($maxLap>1) $extStr = ' '.$maxLap.'/'.($lap+1);
+
+	$return .= '\vbox to 32pt{}\centerline{\nagy Aláíróív'.$extStr.'}%'."\n";  //\bigskip
+	$return .= '\vfill'."\n";
+	$return .= '\centerline{Ezt a haladási naplót '.$ADAT['tanitasiNapokSzama'].' tanítási nappal lezártam.}'."\n";
+	$return .= '\centerline{Ezt az osztályozó naplót '.count($ADAT['diakIds']);
+	$return .= ' beírt tanulóval lezártam.}'."\n";
+
+	$return .= '\vfill'."\n";
+	for ($i = 0 + $lap*($maxTanarperlap); $i < $dbTanar && ($maxLap==1 || ($maxLap>=2 && $i<($lap+1)*$maxTanarperlap)); $i=$i+2) {
+    	    $return .= '\line{\hfill'.
+                        '\vbox to 45pt{\hsize=150pt\vfil'.
+                                '\hbox to 150pt{\dotfill}'.
+                                '\hbox to 150pt{\hfil '.$TANAROK[$i].'\hfil}'.
+                        '}';
+    	    if ($TANAROK[$i+1] != '' && $i+1<($lap+1)*$maxTanarperlap) {
+        	$return .=  '\hbox to 80pt{}'.
+                        '\vbox to 45pt{\hsize=150pt\vfil'.
+                                '\hbox to 150pt{\dotfill}'.
+                                '\hbox to 150pt{\hfil '.$TANAROK[$i+1].'\hfil}'.
+                        '}';
+    	    }
+    	    $return .= '\hfill}';
+	}
+	$return .= '\vfill'."\n";
+
+	$return .= putTeXUresLap();
+
+    }
+
+    return $return;
+}
+
+/* Páratlan mayTanarperlap-pal nem jó!!
+
+function putTeXTanarLista($ADAT, $lapDobasok) {
+
+// Gutbrod András
+
+  $TANAROK = $ADAT['tanarok'];
+
+// teszteléshez...
+$TANAROK = array(
+    'Tanár 01', 'Tanár 02', 'Tanár 03', 'Tanár 04', 'Tanár 05', 'Tanár 06', 'Tanár 07', 'Tanár 08', 'Tanár 09', 'Tanár 10',
+    'Tanár 11', 'Tanár 12', 'Tanár 13', 'Tanár 14', 'Tanár 15', 'Tanár 16', 'Tanár 17', 'Tanár 18', 'Tanár 19', 'Tanár 20',
+    'Tanár 21', 'Tanár 22', 'Tanár 23', 'Tanár 24', 'Tanár 25', 'Tanár 26', 'Tanár 27', 'Tanár 28', 'Tanár 29', 'Tanár 30',
+    'Tanár 31', 'Tanár 32', 'Tanár 33', 'Tanár 34', 'Tanár 35', 'Tanár 36', 'Tanár 37', 'Tanár 38', 'Tanár 39', 'Tanár 40',
+    'Tanár 41', 'Tanár 42', 'Tanár 43', 'Tanár 44', 'Tanár 45', 'Tanár 46', 'Tanár 47', 'Tanár 48', 'Tanár 49', 'Tanár 50', 'Tanár 51'
+);
+
+
+    $return = '';
+    $dbTanar = count($TANAROK);
+    $maxTanarperlap = 23;
+    $maxLap = ceil($dbTanar / $maxTanarperlap);
+    $lap = 1;
+
+    if ($lapDobasok%2==1) $return .= putTexUresLap();
+
+  for ($i=0; $i<$dbTanar; $i++) {
+
+    // lap teteje?
+    if ($i % $maxTanarperlap == 0) {
+
+       if ($maxLap>1) $extStr = ' '.$maxLap.'/'.($lap);
+
+       $return .= '\vbox to 32pt{}\centerline{\nagy Aláíróív'.$extStr.'}%'."\n";
+       $return .= '\vfill'."\n";
+       $return .= '\centerline{Ezt a haladási naplót '.$ADAT['tanitasiNapokSzama'].' tanítási nappal lezártam.}'."\n";
+       $return .= '\centerline{Ezt az osztályozó naplót '.count($ADAT['diakIds']);
+       $return .= ' beírt tanulóval lezártam.}'."\n";
+       $return .= '\vfill'."\n";
+
+    }
+
+    if ($i % 2 == 0) {
+
+        $return .= '\line{\hfill'.
+                        '\vbox to 45pt{\hsize=150pt\vfil'.
+                                '\hbox to 150pt{\dotfill}'.
+                                '\hbox to 150pt{\hfil '.$TANAROK[$i].'\hfil}'.
+                        '}';
+
+        // utolsó?
+        if (($i+1) == $dbTanar) {
+           $return .= '\hfill}';
+        }
+
+    } else {
+
+        $return .=  '\hbox to 80pt{}'.
+                        '\vbox to 45pt{\hsize=150pt\vfil'.
+                                '\hbox to 150pt{\dotfill}'.
+                                '\hbox to 150pt{\hfil '.$TANAROK[$i].'\hfil}'.
+                        '}';
+        $return .= '\hfill}';
+
+    }
+
+    // lap alja?
+    if ((($i+1) % $maxTanarperlap) == 0) {
+
+       $return .= '\vfill'."\n";
+       $return .= putTeXUresLap();
+       $lap = $lap+1;
+
+    } else {
+
+       // Nem lap alja és utolsó.
+       if (($i+1) == $dbTanar) {
+
+          $return .= '\vfill'."\n";
+          $return .= putTeXUresLap();
+
+       }
+    }
+  }
+
+  return $return;
+
+}
+
+*/
+
+?>
diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/torzslap.php b/mayor-orig/www/include/modules/naplo/nyomtatas/torzslap.php
new file mode 100644
index 00000000..4ae32d4b
--- /dev/null
+++ b/mayor-orig/www/include/modules/naplo/nyomtatas/torzslap.php
@@ -0,0 +1,199 @@
+ $ADAT['targySorrendNev'],'osztalyId' => $ADAT['osztalyId'])); $Targyak = array();
+	for ($i = 0; $i < count($_Targyak); $i++) {
+	    $Targyak[ $_Targyak[$i]['targyId'] ] = $_Targyak[$i];
+	    $Targyak[ $_Targyak[$i]['targyId'] ]['targyNev'] = nagybetus(mb_substr($_Targyak[$i]['targyNev'],0,1)).mb_substr($_Targyak[$i]['targyNev'],1);
+	}
+	unset($_Targyak);
+
+	list($ev,$ho,$nap) = explode('-', $ADAT['dt']);
+	list($evf,$oszt) = explode('.', $ADAT['osztalyAdat']['osztalyJel']);
+	
+	$DATA = array(
+	    'file' => $ADAT['file'],
+	    'base' => array('nyomtatasDt' => date('Y.m.d'), 'datumEv' => $ev, 'datumHonap' => $ho, 'datumNap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]),
+		'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'], 
+		'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'],
+		'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'],
+		'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'],
+		'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'],
+		'tanevJele' => substr($ADAT['szemeszter']['tanevAdat']['kezdesDt'],0,4).'/'.substr($ADAT['szemeszter']['tanevAdat']['zarasDt'],2,2),
+		'felevi' => ($ADAT['szemeszter']['szemeszter'] == 1),
+		'diak' => $ADAT['diakIds'], 'osztaly' => "$evf. ".nagybetus($oszt),
+		'szovegesErtekeles' => false,
+	    ),
+	    'diak' => $ADAT['diakAdat'],
+	    'targy' => $Targyak,
+	    'szempont' => array(),
+	    'minosites' => array(),
+	);
+
+	unset($Intezmeny);
+	// Az osztályzatokhoz tartozó tárgyak (lesznek szöveges értékeléshez tartozók is....)
+	for ($i = 0; $i < count ($ADAT['targyak']); $i++) {
+            $DATA['osztalyzatTargy'][ $ADAT['targyak'][$i]['targyId'] ] = $ADAT['targyak'][$i];
+        }
+        if (is_array($ADAT['jegyek']) && count($ADAT['jegyek']) > 0) foreach ($ADAT['jegyek'] as $diakId => $dJegyek) {
+            if (is_array($dJegyek) && count($dJegyek) > 0) { // Ha vanak egyáltalán jegyei...
+                foreach ($DATA['osztalyzatTargy'] as $targyId => $tAdat) { // A helyes sorrend miatt kell ezen végigmenni
+                    if (is_array($dJegyek[$targyId])) { // van az adott tárgyból jegye
+			$targyNev = kisbetus($Targyak[$targyId]['targyNev']);
+                        $tJegyek = $dJegyek[$targyId];
+                        // Az utolsó jegyet írjuk csak ki
+                        $jegy = $tJegyek[ count($tJegyek)-1 ];
+                        if (in_array($targyId, $ADAT['szorgalomIds'])) {
+                            $DATA['diak'][$diakId]['szorgalom'] = $KOVETELMENY['szorgalom'][ $jegy['jegy'] ]['hivatalos'];
+                            $DATA['diak'][$diakId]['szorgMegjJel'] = nagybetus($jegy['megjegyzes'][0]);
+                        } elseif (in_array($targyId, $ADAT['magatartasIds'])) {
+                            $DATA['diak'][$diakId]['magatartas'] = $KOVETELMENY['magatartás'][ $jegy['jegy'] ]['hivatalos'];
+                            $DATA['diak'][$diakId]['magMegjJel'] = nagybetus($jegy['megjegyzes'][0]);
+                        } else {
+                            $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId] = $jegy;
+                            $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['jTipus'] = $jegy['jegyTipus'];
+                            $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['mJel'] = nagybetus($jegy['megjegyzes'][0]);
+                            $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['hivatalos'] = $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['hivatalos'];
+			    if ($jegy['megjegyzes'] == 'dicséret') { // csak dicséreteket rakunk be - év végén nincs más
+				$DATA['diak'][$diakId]['bejegyzesek'] .= str_replace('%1%', $targyNev, $bizonyitvanyJegyzetek['dicséret'])."\n\n";
+			    }
+                            $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['evesOraszam'] = $ADAT['targyOraszam'][$diakId][$targyId]['evesOraszam'];
+                        }
+                    }
+                }
+            }
+        }
+
+	$DATA['diak'][$diakId]['feljegyzesek'] = $DATA['diak'][$diakId]['zaroZaradek'] = $DATA['diak'][$diakId]['zaradekok'] = '';
+	if (is_array($ADAT['diakZaradekok'])) {
+	    foreach ($ADAT['diakZaradekok'] as $diakId => $dZaradekok) {
+		if (count($dZaradekok) > 0) {
+		    foreach ($dZaradekok as $idx => $zAdat) {
+			if (in_array($zAdat['zaradekIndex'], array_values($ZaradekIndex['törzslap feljegyzés']))) {
+			    $DATA['diak'][$diakId]['feljegyzesek'] .= '['.$zAdat['sorszam'].'] '.$zAdat['szoveg'].' ('.dateToString($zAdat['dt']).')';
+			} elseif (
+			    in_array($zAdat['zaradekIndex'], array_values($ZaradekIndex['konferencia']))
+			    || in_array($zAdat['zaradekIndex'], array_values($ZaradekIndex['konferencia bukás']))
+			) {
+			    $DATA['diak'][$diakId]['zaroZaradek'] .= '['.$zAdat['sorszam'].'] '.$zAdat['szoveg'].' ('.dateToString($zAdat['dt']).')'."\n\n";
+			} else {
+			    $DATA['diak'][$diakId]['zaradekok'] .= '['.$zAdat['sorszam'].'] '.$zAdat['szoveg'].' ('.dateToString($zAdat['dt']).')'."\n\n";
+			}
+		    }
+		}
+	    }
+	}
+	if (is_array($ADAT['diakBejegyzesek'])) {
+	    foreach ($ADAT['diakBejegyzesek'] as $diakId => $dBejegyzesek) {
+		if (is_null($DATA['diak'][$diakId]['bejegyzesek'])) $DATA['diak'][$diakId]['bejegyzesek'] = '';
+		if (count($dBejegyzesek)>0) {
+		    foreach ($dBejegyzesek as $idx => $bAdat) {
+			$DATA['diak'][$diakId]['bejegyzesek'] .= $bAdat['szoveg']."\n\n";
+		    }
+		}
+	    }
+	}
+	if (is_array($ADAT['diakAdat'])) {
+	    foreach ($ADAT['diakAdat'] as $diakId => $dAdat) { // alapértelmezések
+		if ($DATA['diak'][$diakId]['feljegyzesek'] == '') $DATA['diak'][$diakId]['feljegyzesek'] = '\ ';
+		foreach (array('igazolt','igazolatlan','kesesPercOsszeg','kesesIgazolatlan','osszesIgazolatlan',
+			'gyakIgazolt','gyakIgazolatlan','gyakKesesPercOsszeg','gyakKesesIgazolatlan','gyakOsszesIgazolatlan',
+			'elmIgazolt','elmIgazolatlan','elmKesesPercOsszeg','elmKesesIgazolatlan','elmOsszesIgazolatlan') as $_k) {
+		    $DATA['diak'][$diakId][$_k] = 0;
+		}
+	    }
+	}
+	if (is_array($ADAT['hianyzas'])) {
+    	    foreach ($ADAT['hianyzas'] as $diakId => $dHianyzas) {
+                $DATA['diak'][$diakId]['igazolt'] = intval($dHianyzas['igazolt']);
+                $DATA['diak'][$diakId]['igazolatlan'] = intval($dHianyzas['igazolatlan']);
+                $DATA['diak'][$diakId]['kesesPercOsszeg'] = intval($dHianyzas['kesesPercOsszeg']);
+                $DATA['diak'][$diakId]['kesesIgazolatlan'] = floor($dHianyzas['kesesPercOsszeg']/45);
+                $DATA['diak'][$diakId]['osszesIgazolatlan'] = intval($DATA['diak'][$diakId]['igazolatlan']+$DATA['diak'][$diakId]['kesesIgazolatlan']);
+
+                $DATA['diak'][$diakId]['gyakIgazolt'] = intval($dHianyzas['gyakorlatIgazolt']);
+                $DATA['diak'][$diakId]['gyakIgazolatlan'] = intval($dHianyzas['gyakorlatIgazolatlan']);
+                $DATA['diak'][$diakId]['gyakKesesPercOsszeg'] = intval($dHianyzas['gyakorlatKesesPercOsszeg']);
+                $DATA['diak'][$diakId]['gyakKesesIgazolatlan'] = floor($dHianyzas['gyakorlatKesesPercOsszeg']/45);
+                $DATA['diak'][$diakId]['gyakOsszesIgazolatlan'] = intval($DATA['diak'][$diakId]['gyakIgazolatlan']+$DATA['diak'][$diakId]['gyakKesesIgazolatlan']);
+
+                $DATA['diak'][$diakId]['elmIgazolt'] = intval($dHianyzas['elmeletIgazolt']);
+                $DATA['diak'][$diakId]['elmIgazolatlan'] = intval($dHianyzas['elmeletIgazolatlan']);
+                $DATA['diak'][$diakId]['elmKesesPercOsszeg'] = intval($dHianyzas['elmeletKesesPercOsszeg']);
+                $DATA['diak'][$diakId]['elmKesesIgazolatlan'] = floor($dHianyzas['elmeletKesesPercOsszeg']/45);
+                $DATA['diak'][$diakId]['elmOsszesIgazolatlan'] = intval($DATA['diak'][$diakId]['elmIgazolatlan']+$DATA['diak'][$diakId]['elmKesesIgazolatlan']);
+    	    }
+	}
+	// van egyáltalán tanév adat?
+	if (strtotime($ADAT['dt']) < strtotime($ADAT['tanevAdat']['szemeszter'][1]['zarasDt'])) $DATA['base']['negyedev'] = 'az első';
+	else $DATA['base']['negyedev'] = 'a harmadik';
+	foreach ($Ertekeles as $diakId => $E) {
+	    $DATA['diak'][$diakId]['targy'] = array();
+
+	    // !!! Tesztelendő !!! //
+#	    foreach ($E as $targyId => $eAdat) {
+	    foreach ($Targyak as $targyId => $tAdat) {
+		if (is_array($E[$targyId])) {
+		    $eAdat = $E[$targyId];
+		    $DATA['base']['szovegesErtekeles'] = true;
+		} else {
+		    continue;
+		}
+	    // !!! Tesztelendő !!! //
+		if (
+		    is_array($eAdat['szovegesErtekeles']['minosites']) 
+		    && count($eAdat['szovegesErtekeles']['minosites']) > 0
+		    && $ADAT['tolDt'] <= $eAdat['szovegesErtekeles']['dt']
+		) {
+
+		    $DATA['diak'][$diakId]['targy'][$targyId] = $eAdat; // Ezt lehetne finomítani
+
+		    $DATA['diak'][$diakId]['targy'][$targyId]['szempont'] = $eAdat['szempontRendszer']['szempont'];
+                    $targyMinositesId = $eAdat['szovegesErtekeles']['minosites'][0]; // Ha egy tárgy egy minősítés kell (az első)
+		    foreach ($eAdat['szempontRendszer']['szempont'] as $szempontId => $szAdat) {
+			$DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['egyediMinosites'] = 
+				$eAdat['szovegesErtekeles']['egyediMinosites'][$szempontId]['egyediMinosites'];
+			$M = $eAdat['szempontRendszer']['minosites'][$szempontId];
+			$elsoValasztottKovetkezik = true;
+                	for ($i = 0; $i < count($M); $i++) {
+			    $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][ $M[$i]['minositesId'] ] 
+				= array('minosites' => $M[$i]['minosites']);
+			    if (in_array($M[$i]['minositesId'], $eAdat['szovegesErtekeles']['minosites'])) {
+				$DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['valasztott'] = true;
+				$DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['elsoValasztott'] = $elsoValasztottKovetkezik;
+				$DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['tobbedikValasztott'] = (!$elsoValasztottKovetkezik);
+				$elsoValasztottKovetkezik = false;
+                    		if ($M[$i]['minositesId'] == $targyMinositesId) {
+                        	    $DATA['diak'][$diakId]['targy'][$targyId]['targyMinosites'] = $M[$i]['minosites']; // Ha tárgyanként egy minősítés kell (az első)
+                        	}
+                    	    }
+                	}
+		    }
+		}
+	    }
+	}
+
+	return template2file($templateFile, $DATA);
+
+    }
+
+
+?>
diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php b/mayor-orig/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php
new file mode 100644
index 00000000..024fbe94
--- /dev/null
+++ b/mayor-orig/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php
@@ -0,0 +1,60 @@
+false,'fv'=>'getTanulmanyiEgyseg','modul'=>'naplo_intezmeny','result'=>'record','values'=>array($tovabbkepzesId, $tanarId, $tanev)));
+
+    }
+
+    function tovabbkepzesNyomtatvanyKeszites($ADAT) {
+
+	global $Honapok;
+
+	// A sablonfile meghatározása
+        define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+        $tmplFile = 'tovabbkepzesHatarozat';
+
+        if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) {
+            $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl';
+        } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) {
+            $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+        } else {
+            $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+            return false;
+        }
+
+	$Intezmeny = getIntezmenyByRovidnev(__INTEZMENY);
+	list($ev, $ho, $nap) = explode('-', $ADAT['tanulmanyiEgyseg']['igDt']);
+	$DATA = array(
+            'file' => $ADAT['file'],
+            'base' => array('nyomtatasDt' => date('Y.m.d'), 'nyomtatasDatumStr' => date('Y. m. d.'), 
+		'datumEv' => $ev, 'datumHonap' => $ho, 'datumNap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]),
+                'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'],
+                'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'],
+                'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'],
+                'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'],
+                'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'],
+
+		'tanev'=>$ADAT['tanulmanyiEgyseg']['tanev'], 'reszosszeg'=>$ADAT['tanulmanyiEgyseg']['reszosszeg'], 'tamogatas'=>$ADAT['tanulmanyiEgyseg']['tamogatas'], 
+		'tovabbkepzesStatusz'=>$ADAT['tanulmanyiEgyseg']['tovabbkepzesStatusz'], 'megjegyzes'=>$ADAT['tanulmanyiEgyseg']['megjegyzes'], 'tovabbkepzesNev'=>$ADAT['tanulmanyiEgyseg']['tovabbkepzesNev'], 
+		'oraszam'=>$ADAT['tanulmanyiEgyseg']['oraszam'], 'akkreditalt'=>$ADAT['tanulmanyiEgyseg']['akkreditalt'], 'tovIntRovidNev'=>$ADAT['tanulmanyiEgyseg']['intezmenyRovidNev'],
+		'tovIntNev'=>$ADAT['tanulmanyiEgyseg']['intezmenyNev'], 'tovIntCim'=>$ADAT['tanulmanyiEgyseg']['intezmenyCim'],
+		'tolDt'=>str_replace('-','. ',$ADAT['tanulmanyiEgyseg']['tolDt']).'.', 'igDt'=>str_replace('-','. ',$ADAT['tanulmanyiEgyseg']['igDt']).'.',
+
+		'tanarNev' => $ADAT['tanarAdat']['tanarNev'], 'szuletesiHely' => $ADAT['tanarAdat']['szuletesiHely'], 'szuletesiIdo' => $ADAT['tanarAdat']['szuletesiIdo'],
+		'hetiMunkaora' => $ADAT['tanarAdat']['hetiMunkaora'], 'statusz' => $ADAT['tanarAdat']['statusz'], 'hetiKotelezoOraszam' => $ADAT['tanarAdat']['hetiKotelezoOraszam'], 
+		'besorolas' => $ADAT['tanarAdat']['besorolas'],
+            ),
+
+	);
+
+//dump($ADAT);
+//dump($DATA);
+//die();
+	return template2file($templateFile, $DATA);
+    }
+
+?>
\ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/zaradekok.php b/mayor-orig/www/include/modules/naplo/nyomtatas/zaradekok.php
new file mode 100644
index 00000000..50501765
--- /dev/null
+++ b/mayor-orig/www/include/modules/naplo/nyomtatas/zaradekok.php
@@ -0,0 +1,63 @@
+ $ADAT['file'],
+            'base' => array('nyomtatasDt' => date('Y.m.d'), 
+                'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'],
+                'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'],
+                'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'],
+                'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'],
+                'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'],
+                'osztalyJele' => $evf.'/'.nagybetus($oszt), 'tanevJele' => $ADAT['tanev'].'/'.$zEv,
+            ),
+        );
+
+	for ($i = 0; $i < count($ADAT['diakIds']); $i++) 
+	    $DATA['diak'][ $ADAT['diakIds'][$i] ] = array('diakNev' => $ADAT['diak'][ $ADAT['diakIds'][$i] ]['diakNev']);
+	foreach ($ADAT['zaradek'] as $diakId => $dZaradek) {
+	    for ($i = 0; $i < count($dZaradek); $i++) {
+		$DATA['diak'][$diakId]['zaradek'][ $dZaradek[$i]['zaradekId'] ] = $dZaradek[$i]['zaradekId'];
+		$DATA['zaradek'][ $dZaradek[$i]['zaradekId'] ] = $dZaradek[$i];
+	    }
+	}
+	foreach ($ADAT['bejegyzes'] as $diakId => $dBejegyzes) {
+	    for ($i = 0; $i < count($dBejegyzes); $i++) {
+		$DATA['diak'][$diakId]['bejegyzes'][ $dBejegyzes[$i]['bejegyzesId'] ] = $dBejegyzes[$i]['bejegyzesId'];
+		$DATA['bejegyzes'][ $dBejegyzes[$i]['bejegyzesId'] ] = $dBejegyzes[$i];
+		// A "bejegyzes" név már foglalt ezért át kell nevezni a bejegyzesTipusNev-et...
+		$DATA['bejegyzes'][ $dBejegyzes[$i]['bejegyzesId'] ]['szovFokozat'] = $dBejegyzes[$i]['bejegyzesTipusNev'];
+	    }
+	}
+	$DATA['base']['diak'] = array();
+	for ($i = 0; $i < count($ADAT['diakIds']); $i++) {
+	    if (
+		is_array($DATA['diak'][ $ADAT['diakIds'][$i] ]['bejegyzes']) 
+		|| is_array($DATA['diak'][ $ADAT['diakIds'][$i] ]['zaradek'])
+	    ) $DATA['base']['diak'][] = $ADAT['diakIds'][$i];
+	}
+
+        return template2file($templateFile, $DATA);
+
+
+    }
+
+?>
-- 
cgit v1.2.3