aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/www/include/modules/naplo/nyomtatas
diff options
context:
space:
mode:
authorM.Gergo2018-07-06 11:14:41 +0200
committerM.Gergo2018-07-06 11:14:41 +0200
commit43de9af71f7f4ca5731b94a06d688ae8412ba427 (patch)
tree54835de1dfcda504c02da261f0dc26885aed2e89 /mayor-orig/www/include/modules/naplo/nyomtatas
parent50310b0e4513ee3fcce67351ae61e8fff851130e (diff)
downloadmayor-43de9af71f7f4ca5731b94a06d688ae8412ba427.tar.gz
mayor-43de9af71f7f4ca5731b94a06d688ae8412ba427.zip
2018/Feb/28 -i állapot hozzáadva, mint a módosítások kiindulási állapota
Diffstat (limited to 'mayor-orig/www/include/modules/naplo/nyomtatas')
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php64
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php164
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/diakAdatlap.php22
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php336
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/ertesito.php101
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/haladasinaplo.php139
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php148
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/nyomtatas.php89
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php24
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php48
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php41
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php131
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php48
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/tex.php1285
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/torzslap.php199
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php60
-rw-r--r--mayor-orig/www/include/modules/naplo/nyomtatas/zaradekok.php63
17 files changed, 2962 insertions, 0 deletions
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 @@
+<?php
+
+ function getBeiskolazasiTerv($tanev) {
+
+ $q = "select * from tovabbkepzesTanulmanyiEgyseg left join tovabbkepzes using (tovabbkepzesId) left join tovabbkepzoIntezmeny using (tovabbkepzoIntezmenyId)
+ left join tovabbkepzesTanar using (tanarId, tovabbkepzesId)
+ where tovabbkepzesStatusz in ('terv','jóváhagyott','teljesített') and tanev=%u";
+ return db_query($q, array('fv'=>'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 @@
+<?php
+
+ define('__PRINT_DIR',_DOWNLOADDIR.'/private/osztalyozo');
+
+ function pdfBizonyitvany($file, $ADAT) {
+
+ global $KOVETELMENY, $Honapok, $bizonyitvanyMegjegyzesek;
+
+// $ftex = fopen(__PRINT_DIR.'/'.$file.'-A6.tex', 'w');
+// if (!$ftex) return false;
+
+ $ev = substr($ADAT['szemeszterAdat']['zarasDt'], 0, 4);
+ $ho = substr($ADAT['szemeszterAdat']['zarasDt'], 5, 2);
+ $nap = substr($ADAT['szemeszterAdat']['zarasDt'], 8, 2);
+ $dtStr = $ev.'. '.kisbetus($Honapok[--$ho]).' '.$nap.'.';
+
+
+ // fejléc
+ $TeX = '\documentclass[8pt]{article}'."\n\n";
+ $TeX .= '\usepackage[a6paper]{geometry} % A6-os méret'."\n";
+// $TeX .= '\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás'."\n";
+ $TeX .= '\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)'."\n";
+ $TeX .= '\usepackage{ucs} % Jobb UTF-8 támogatás'."\n";
+ $TeX .= '\usepackage{t1enc}'."\n";
+ $TeX .= '\usepackage[magyar]{babel} % magyar elválasztási szabályok'."\n";
+ $TeX .= '\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után'."\n";
+ $TeX .= '\usepackage{booktabs} % táblázatok magasabb szintű formázása'."\n";
+// $TeX .= '\usepackage{soul} % Ritkítás'."\n";
+ $TeX .= '\usepackage{fancyhdr} % Ritkítás'."\n";
+// $TeX .= '\pagestyle{empty}'."\n";
+ $TeX .= '\pagestyle{fancy}'."\n";
+
+ $TeX .= '\def\mayor{%'."\n";
+// $TeX .= '\font\mayorfnt=cmsl6%'."\n";
+// $TeX .= '\font\Mayorfnt=cmsl9'."\n";
+ $TeX .= '\font\mayorfnt=cmsl4%'."\n";
+ $TeX .= '\font\Mayorfnt=cmsl6'."\n";
+ $TeX .= '{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}'."\n";
+
+ $TeX .= '\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}'."\n";
+ $TeX .= '\addtolength{\skip\footins}{2mm}'."\n";
+ $TeX .= '\addtolength{\textheight}{10mm}'."\n";
+ $TeX .= '\setlength{\footskip}{16pt}'."\n";
+ $TeX .= '\setlength{\headsep}{14pt}'."\n";
+
+ $TeX .= '\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d').'}';
+ $TeX .= '\lhead{\tiny '.$ADAT['intezmeny']['nev'].'}'."\n";
+ $TeX .= '\rhead{\tiny Értesítő '.$ADAT['szemeszterAdat']['tanev'].'-'.(1+$ADAT['szemeszterAdat']['tanev']).'/'.$ADAT['szemeszterAdat']['szemeszter'].'}';
+
+ $TeX .= '\begin{document}'."\n\n";
+
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) {
+
+ $diakId = $ADAT['diakok'][$i]['diakId'];
+ $jegyek = $ADAT['jegyek'][$diakId];
+ $hianyzas = $ADAT['hianyzas'][$diakId];
+//2013NKT if (_KESESI_IDOK_OSSZEADODNAK===true)
+ $igazolatlan = intval($hianyzas['kesesPercOsszeg']/45)+intval($hianyzas['igazolatlan']);
+//2013NKT else
+//2013NKT $igazolatlan = intval($hianyzas['igazolatlan']);
+ $igazolt = intval($hianyzas['igazolt']);
+ //$atlag = $ADAT['atlag'][$diakId];
+
+ $TeX .= '\begin{center}'."\n";
+
+// $TeX .= '{\large\bfseries\scshape\so{\\\'Ertes{\\\'\\i}t\\H o}}'."\n";
+// $TeX .= '\vspace{8pt}'."\n\n";
+ $TeX .= '{\large '.$ADAT['diakok'][$i]['diakNev'].'}\\\\ '."\n";
+// $TeX .= '\vspace{2pt}'."\n\n";
+// $TeX .= '{\scriptsize '.$ADAT['osztaly']['osztalyJel'].' osztály\\\\'.$ADAT['intezmeny']['nev']."}\n\n";
+ $TeX .= '{\scriptsize '.$ADAT['osztaly']['osztalyJel'].' osztály'."}\n\n";
+ $TeX .= '\vspace{2pt}'."\n\n";
+// $TeX .= '{\small '.$ADAT['szemeszterAdat']['tanev'].'-'.(1+$ADAT['szemeszterAdat']['tanev']).'/'.$ADAT['szemeszterAdat']['szemeszter'].'}'."\n";
+// $TeX .= '\vspace{4pt}'."\n\n";
+
+
+ // --!!--!!-- Magatartás és szorgalom jegyek, ID alapján kellenének, nem pedig targyNev alapján!
+ $__magatartas = '';
+ for ($m=0; $m<count($ADAT['magatartasIdk']); $m++) {
+ $__mId = $ADAT['magatartasIdk'][$m];
+ for ($m2=0; $m2<count($jegyek[$__mId]); $m2++) {
+ if ($__magatartas!='') $__magatartas .= ' ';
+ $__magatartas .= $KOVETELMENY['magatartás'][$jegyek[$__mId][$m2]['jegy']]['hivatalos'];
+ }
+ }
+ $__szorgalom = '';
+ for ($m=0; $m<count($ADAT['szorgalomIdk']); $m++) {
+ $__szId = $ADAT['szorgalomIdk'][$m];
+ for ($m2=0; $m2<count($jegyek[$__szId]); $m2++) {
+ if ($__szorgalom!='') $__szorgalom .= ' ';
+ $__szorgalom .= $KOVETELMENY['szorgalom'][$jegyek[$__szId][$m2]['jegy']]['hivatalos'];
+ }
+ }
+
+ $TeX .= '\small'."\n";
+ $TeX .= '\begin{tabular}{@{\ \ }l|r@{\ \ }}'."\n";
+ $TeX .= '\toprule\hline magatartás & ';
+ $TeX .= '\emph{'.$__magatartas.'}\\\\ '."\n";
+ $TeX .= '\hline szorgalom & ';
+ $TeX .= '\emph{'.$__szorgalom.'}\\\\ '."\n";
+// $TeX .= '\midrule\multicolumn{2}{c}{tantárgyak} \\\\'."\n";
+// $TeX .= '\midrule\hline'."\n";
+ $TeX .= '\hline\hline'."\n";
+// $TeX .= '\hline\multicolumn{2}{c}{tantárgyak} \\\\'."\n";
+// $TeX .= '\hline'."\n";
+
+ for ($j = 0; $j < count($ADAT['targyak']); $j++) if (!in_array($ADAT['targyak'][$j]['targyId'], array_merge($ADAT['magatartasIdk'],$ADAT['szorgalomIdk']))) {
+ $__jegyek='';
+ for ($k=0; $k<count($jegyek[$ADAT['targyak'][$j]['targyId']]); $k++) {
+ $jegyAdat = $jegyek[$ADAT['targyak'][$j]['targyId']][$k];
+ if ($jegyAdat['jegy'] != '' && $jegyAdat['jegy'] != 0) {
+ if ($__jegyek!='') $__jegyek .= ' ';
+ $__jegyek .= $KOVETELMENY[$jegyAdat['jegyTipus']][$jegyAdat['jegy']]['hivatalos'].' '.$bizonyitvanyMegjegyzesek[$jegyAdat['megjegyzes']];
+ }
+ }
+ if ($__jegyek!='') {
+ $TeX .= $ADAT['targyak'][$j]['targyNev'].' & \emph{'.$__jegyek.'} \\\\ '."\n";
+ $TeX .= '\hline'."\n";
+ }
+
+ }
+ $TeX .= '\bottomrule'."\n";
+ $TeX .= '\end{tabular}'."\n\n";
+
+ $TeX .= '\vspace{4pt}'."\n";
+ $TeX .= '\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}'."\n";
+ $TeX .= '\multicolumn{4}{c}{mulasztott órák száma} \\\\ '."\n";
+ $TeX .= '\midrule'."\n";
+ $TeX .= 'igazolt&{\sl '.$igazolt.'}&';
+ if (!__ZARO_SZEMESZTER) $TeX .= 'igazolatlan\footnotemark[1]&';
+ else $TeX .= 'igazolatlan&';
+ $TeX .= '{\sl '.$igazolatlan.'}\\\\ '."\n";
+
+ $TeX .= '\bottomrule'."\n";
+ $TeX .= '\end{tabular}'."\n";
+ if (!__ZARO_SZEMESZTER) $TeX .= '\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}'."\n";
+
+ $TeX .= '\vspace{4pt}\begin{flushleft}'."\n";
+ $TeX .= '{\scriptsize '.$ADAT['intezmeny']['cimHelyseg'].', '.$dtStr."}\n";
+ $TeX .= '\end{flushleft}'."\n";
+
+ $TeX .= '\vspace{6pt}\slshape\scriptsize'."\n";
+ $TeX .= '\begin{tabular}{ccc}'."\n";
+ $TeX .= '\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\\\ '."\n";
+ $TeX .= 'osztályfőnök&&szülő\\\\ '."\n";
+ $TeX .= '\end{tabular}'."\n";
+
+ $TeX .= '\end{center}'."\n";
+
+ $TeX .= '\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%'."\n\n";
+
+ }
+
+ // dokumentum lezárása
+ $TeX .= '\end{document}'."\n";
+
+ pdfLaTeXA6($TeX, $file);
+
+ return true;
+
+
+ }
+
+?>
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 @@
+<?php
+
+ function nyomtatvanyKeszites($ADAT) {
+
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/diakAdatlap.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/diakAdatlap.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/diakAdatlap.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/diakAdatlap.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/szovegesErtekeles.tmpl';
+ return false;
+ }
+
+ return template2file($templateFile, $ADAT);
+
+ }
+
+
+?>
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 @@
+<?php
+
+ function getValasztottTankorok($tanev, $szemeszter, $OSZTALYIDK) {
+
+ if ($tanev=='') {
+ $tanevAdat = $_TANEV;
+ } else {
+ $tanevAdat = getTanevAdat($tanev);
+ }
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
+
+ $DT['tolDt'] = $tanevAdat['kezdesDt'];
+ $DT['igDt'] = $tanevAdat['zarasDt'] ;
+
+ $tankorBlokkok = getTankorBlokkok($tanev);
+ $TID2B = $TID2BN = array();
+ if (is_array($tankorBlokkok) && is_array($tankorBlokkok['idk']))
+ foreach ($tankorBlokkok['idk'] as $blokkId => $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.'<br>';
+//echo $diakId.' '.$diakNev.' '.$diakOsztaly.'<hr>';
+//echo '<pre>';
+//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.'<br>';
+//echo $diakId.' '.$diakNev.' '.$diakOsztaly.'<hr>';
+//echo '<pre>';
+//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 @@
+<?php
+
+ function pdfErtesito($ADAT) {
+
+ global $KOVETELMENY, $Honapok, $bizonyitvanyMegjegyzesek;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'ertesito';
+ 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;
+ }
+
+ list($ev,$ho,$nap) = explode('-', $ADAT['szemeszterAdat']['zarasDt']);
+
+ $DATA = array(
+ 'file' => $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 '<pre>';
+//var_dump($DATA['base']['diak'], $ADAT['jegyek']);
+//echo '</pre>';
+//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 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ function getTankorokNaploja() {
+
+ $q = "SELECT tankorId,osztalyId FROM tankorNaplo";
+ return db_query($q, array('fv' => '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'<dt AND dt<'%s'
+ AND diakId IN (".implode(',', array_fill(0, count($ADAT['diakIds']), '%u')).") AND tipus IN ('hiányzás','késés')
+ ORDER BY dt,ora,diakId";
+ $v = mayor_array_join(array($ADAT['tanevAdat']['kezdesDt'], $ADAT['tanevAdat']['zarasDt']), $ADAT['diakIds']);
+ $A = db_query($q, array('fv' => '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 @@
+<?php
+
+ function naploGeneralas($filename, $tolDt, $igDt) {
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/helyettesitesinaplo.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/helyettesitesinaplo.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/helyettesitesinaplo.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/helyettesitesinaplo.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/helyettesitesinaplo.tmpl';
+ return false;
+ }
+
+ $Helyettesitesek = getHelyettesitettOra($tolDt, $igDt);
+ $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY);
+
+ $DATA = array(
+ 'file' => $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 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ global $HIANYZASJELOLES, $targyTXT, $targyTXT2, $targyCsoportTXT;
+
+// function generatePDF($texFile) {
+//
+//echo 'tex -output-directory /tmp -fmt '._BASEDIR.'../install/module-naplo/tex/mayor '.$texFile;
+// exec('tex -output-directory /tmp -fmt '._BASEDIR.'../install/module-naplo/tex/mayor '.$texFile);
+//
+// }
+
+ $HIANYZASJELOLES = array(
+ 'hiányzás'=>'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 @@
+<?php
+
+ function getDiakJegyek($ADAT) {
+ global $_TANEV;
+ $q = "SELECT diakId,targyId, dt, SUBSTRING(dt,6,2) AS ho, jegy, jegyTipus
+ FROM jegy LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+ WHERE diakId IN (".implode(',', array_fill(0, count($ADAT['diakIds']), '%u')).") ORDER BY jegy.dt";
+ $r = db_query($q, array('fv' => '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 @@
+<?php
+
+ function generateJegyzokonyv($ADAT) {
+
+ global $Honapok, $_TANEV;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'sniEvVegiJegyzokonyv';
+ 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;
+ }
+
+ list($kEv,$kHo,$kNap) = explode('-', $_TANEV['kezdesDt']);
+ list($zEv,$zHo,$zNap) = explode('-', $_TANEV['zarasDt']);
+ if (!is_array($ADAT['osztalyTanar'])) $ADAT['osztalyTanar'] = array();
+ $DATA = array(
+ 'file' => $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 '<pre>';
+//var_dump($ADAT['diakAdat']);
+//echo '</pre>';
+
+ 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 @@
+<?php
+
+ function generateJegyzokonyv($ADAT) {
+
+ global $Honapok;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'sniHaviJegyzokonyv';
+ 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;
+ }
+
+ list($ev,$ho,$nap) = explode('-', $ADAT['dt']);
+ $DATA = array(
+ 'file' => $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 @@
+<?php
+
+ function nyomtatvanyKeszites($ADAT) {
+
+ global $Honapok;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ if (isset($ADAT['szemeszterId'])) $tmplFile = 'szovegesZaroErtekeles';
+ else $tmplFile = 'szovegesErtekeles';
+ 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);
+ $Ertekeles = getOsztalySzovegesErtekeles($ADAT);
+ $_Targyak = getTargyak(array('targySorrendNev' => $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 '<pre>';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 @@
+<?php
+
+ function tankorNaploInit($torlessel = false) {
+
+ // Az eddigi ejegyzések törlése - induljunk tiszta lappal!
+ if ($torlessel === true) {
+ $q = "DELETE FROM tankorNaplo";
+ db_query($q, array('fv' => '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 @@
+<?php
+
+function putTeXLapdobas() {
+ return '\vfil\eject%'."\n";
+}
+
+function putTeXUresLap() {
+ return '\eject\null\vfill\eject%'."\n";
+}
+
+
+function putTeXDefineFootline($osztalyJel = '', $ofo = '') {
+
+ global $_TANEV;
+
+ $tanev = $_TANEV['tanev'].'/'.substr($_TANEV['zarasDt'],0,4);
+
+ if ($osztalyJel != '') {
+ list($evf,$oJel) = explode('.', $osztalyJel);
+ $osztalySTR = TeXSpecialChars($evf.'/'.($evf>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; $j<count($ADAT['jegyek'][$diakId]['felevenkent'][$targyId][$felev]); $j++) {
+ $_jegy = $ADAT['jegyek'][$diakId]['felevenkent'][$targyId][$felev][$j]['jegy'];
+ $_jegyTipus = $ADAT['jegyek'][$diakId]['felevenkent'][$targyId][$felev][$j]['jegyTipus'];
+ $return .= TeXSpecialChars($KOVETELMENY[$_jegyTipus][$_jegy]['rovid']).' ';
+ }
+ $return .= '&';
+ }
+ }
+
+ if (
+ strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt']) == ''
+ || strtotime($_TANEV['szemeszter'][1]['zarasDt']) <=strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt'])
+ ) {
+ $zaroJegyek=$ADAT['zaroJegy'][1][$diakId][$targyId];
+ for ($zji=0; $zji<count($zaroJegyek); $zji++) {
+ if ($zji>0) $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; $zji<count($zaroJegyek); $zji++) {
+ if ($zji>0) $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 @@
+<?php
+
+ function torzslapNyomtatvanyKeszites($ADAT) {
+
+ global $Honapok, $KOVETELMENY, $ZaradekIndex, $bizonyitvanyJegyzetek;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'torzslap';
+
+ 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);
+ $Ertekeles = getOsztalySzovegesErtekeles($ADAT);
+ $_Targyak = getTargyak(array('targySorrendNev' => $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 @@
+<?php
+
+ function getTanulmanyiEgyseg($tovabbkepzesId, $tanarId, $tanev) {
+
+ $q = "select * from tovabbkepzesTanulmanyiEgyseg left join tovabbkepzes using (tovabbkepzesId) left join tovabbkepzoIntezmeny using (tovabbkepzoIntezmenyId)
+ left join tovabbkepzesTanar using (tanarId, tovabbkepzesId)
+ where tovabbkepzesId=%u and tanarId=%u and tanev=%u";
+ return db_query($q, array('debug'=>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 @@
+<?php
+
+ function pdfZaradekok($ADAT) {
+
+ global $Honapok;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'zaradekok';
+ 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;
+ }
+
+ list($evf, $oszt) = explode('.', $ADAT['osztaly']['osztalyJel']);
+ list($zEv, $zHo, $zNap) = explode('-', $ADAT['tanevAdat']['zarasDt']);
+
+ $DATA = array(
+ 'file' => $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);
+
+
+ }
+
+?>