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