mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Lehrveranstaltungszeugnis, Fehler in PDF-Export
Ein Lehrveranstaltungszeugnis kann aus dem FAS heraus generiert werden. Fehler in der Reihenfolge in der Funktion strstr. Studienerfolg für KSM angepasst.
This commit is contained in:
@@ -41,6 +41,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
|
||||
<menupopup id="lehrveranstaltung-noten-tree-popup">
|
||||
<menuitem label="Entfernen" oncommand="LehrveranstaltungNotenDelete();" id="lehrveranstaltung-noten-tree-popup-delete" hidden="false"/>
|
||||
<menuitem label="Freifaecher-Zertifikat erstellen" oncommand="LehrveranstaltungFFZertifikatPrint();" id="lehrveranstaltung-noten-tree-popup-ffzertifikat" hidden="false"/>
|
||||
<menuitem label="Lehrveranstaltungszeugnis erstellen" oncommand="LehrveranstaltungLVZeugnisPrint();" id="lehrveranstaltung-noten-tree-popup-lvzeugnis" hidden="false"/>
|
||||
</menupopup>
|
||||
</popupset>
|
||||
<hbox flex="1" style="margin-top: 10px;">
|
||||
@@ -103,6 +104,10 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#studiengang" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="lehrveranstaltung-noten-tree-studiengang_kz" label="Studiengang_kz" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#studiengang_kz" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="lehrveranstaltung-noten-tree-student_semester" label="Semester" flex="2" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#student_semester" />
|
||||
@@ -125,6 +130,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
|
||||
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#student_uid"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#lehrveranstaltung_id"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#studiengang"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#studiengang_kz"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#student_semester"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
|
||||
@@ -1818,8 +1818,46 @@ function LehrveranstaltungFFZertifikatPrint()
|
||||
}
|
||||
}
|
||||
var ss = getStudiensemester();
|
||||
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-studiengang_kz"] : "lehrveranstaltung-noten-tree-studiengang_kz";
|
||||
stg_kz = tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&uid='+paramList+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
|
||||
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&uid='+paramList+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
|
||||
window.location.href = url;
|
||||
//prompt('test:',url);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Erstellt ein Lehrveranstaltungszeugnis fuer die LV
|
||||
// ****
|
||||
function LehrveranstaltungLVZeugnisPrint()
|
||||
{
|
||||
tree = document.getElementById('lehrveranstaltung-noten-tree');
|
||||
//Alle markierten Noten holen
|
||||
var start = new Object();
|
||||
var end = new Object();
|
||||
var numRanges = tree.view.selection.getRangeCount();
|
||||
var paramList= '';
|
||||
var anzahl=0;
|
||||
var lvid='';
|
||||
|
||||
for (var t = 0; t < numRanges; t++)
|
||||
{
|
||||
tree.view.selection.getRangeAt(t,start,end);
|
||||
for (var v = start.value; v <= end.value; v++)
|
||||
{
|
||||
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
|
||||
uid = tree.view.getCellText(v,col);
|
||||
paramList += ';'+uid;
|
||||
anzahl = anzahl+1;
|
||||
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
|
||||
lvid = tree.view.getCellText(v,col);
|
||||
}
|
||||
}
|
||||
var ss = getStudiensemester();
|
||||
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-studiengang_kz"] : "lehrveranstaltung-noten-tree-studiengang_kz";
|
||||
stg_kz = tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl=LVZeugnis&stg_kz='+stg_kz+'&uid='+paramList+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
|
||||
window.location.href = url;
|
||||
//prompt('test:',url);
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ else
|
||||
// in dem der 1. Studierende in der Liste ist
|
||||
if(isset($_GET['uid']) && $_GET['uid']!='')
|
||||
{
|
||||
if(strstr(';',$_GET['uid']))
|
||||
if(strstr($_GET['uid'],';'))
|
||||
$uids = explode(';',$_GET['uid']);
|
||||
else
|
||||
$uids = $_GET['uid'];
|
||||
@@ -190,7 +190,7 @@ if($xsl=='AccountInfo')
|
||||
exit;
|
||||
}
|
||||
}
|
||||
elseif(in_array($xsl,array('Zertifikat','Diplomurkunde','Diplomzeugnis','Bakkurkunde','BakkurkundeEng','Bakkzeugnis',
|
||||
elseif(in_array($xsl,array('Lehrveranstaltungszeugnis','Zertifikat','Diplomurkunde','Diplomzeugnis','Bakkurkunde','BakkurkundeEng','Bakkzeugnis',
|
||||
'PrProtokollBakk','PrProtokollDipl','Lehrauftrag','DiplomurkundeEng','Zeugnis','ZeugnisEng','StudienerfolgEng',
|
||||
'Sammelzeugnis','PrProtDiplEng','PrProtBakkEng','BakkzeugnisEng','DiplomzeugnisEng','statusbericht',
|
||||
'DiplSupplement','Zutrittskarte','Projektbeschr','Ausbildungsver','AusbildStatus','PrProtBA','PrProtMA',
|
||||
|
||||
@@ -41,6 +41,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
|
||||
<menupopup id="student-noten-tree-popup">
|
||||
<menuitem label="Entfernen" oncommand="StudentNotenDelete();" id="student-noten-tree-popup-delete" hidden="false"/>
|
||||
<menuitem label="Zertifikat erstellen" oncommand="StudentFFZertifikatPrint();" id="student-noten-tree-popup-ffzertifikat" hidden="false"/>
|
||||
<menuitem label="Lehrveranstaltungszeugnis erstellen" oncommand="StudentLVZeugnisPrint();" id="student-noten-tree-popup-lvzeugnis" hidden="false"/>
|
||||
</menupopup>
|
||||
</popupset>
|
||||
<hbox flex="1" style="margin-top: 10px;">
|
||||
|
||||
@@ -374,6 +374,31 @@ function StudentFFZertifikatPrint()
|
||||
window.location.href = url;
|
||||
}
|
||||
|
||||
//****
|
||||
//* Erstellt ein Lehrveranstaltungszeugnis fuer die LV
|
||||
//****
|
||||
function StudentLVZeugnisPrint()
|
||||
{
|
||||
// netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-noten-tree');
|
||||
|
||||
col = tree.columns ? tree.columns["student-noten-tree-student_uid"] : "student-noten-tree-student_uid";
|
||||
uid = tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
col = tree.columns ? tree.columns["student-noten-tree-lehrveranstaltung_id"] : "student-noten-tree-lehrveranstaltung_id";
|
||||
lvid = tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
col = tree.columns ? tree.columns["student-noten-tree-studiensemester_kurzbz"] : "student-noten-tree-studiensemester_kurzbz";
|
||||
stsem = tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
col = tree.columns ? tree.columns["student-noten-tree-studiengang_kz"] : "student-noten-tree-studiengang_kz";
|
||||
stg_kz = tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl=LVZeugnis&stg_kz='+stg_kz+'&uid=;'+uid+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
|
||||
|
||||
window.location.href = url;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Asynchroner (Nicht blockierender) Refresh des StudentenTrees
|
||||
// ****
|
||||
|
||||
@@ -0,0 +1,247 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Gerald Raab <gerald.raab@technikum-wien.at>.
|
||||
*/
|
||||
// content type setzen
|
||||
header("Content-type: application/xhtml+xml");
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/zeugnisnote.class.php');
|
||||
require_once('../include/datum.class.php');
|
||||
require_once('../include/note.class.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
require_once('../include/mitarbeiter.class.php');
|
||||
|
||||
$datum = new datum();
|
||||
$db = new basis_db();
|
||||
$projektarbeit=array();
|
||||
$fussnotenzeichen=array('¹)','²)','³)');
|
||||
$anzahl_fussnoten=0;
|
||||
$studiengang_typ='';
|
||||
$xml_fussnote='';
|
||||
|
||||
function breaktext($text, $zeichen)
|
||||
{
|
||||
$arr = explode(' ',$text);
|
||||
$ret = '';
|
||||
$teilstring='';
|
||||
|
||||
foreach($arr as $elem)
|
||||
{
|
||||
if(strlen($teilstring.$elem)>$zeichen)
|
||||
{
|
||||
$ret.=' '.$teilstring.'\n';
|
||||
$teilstring=$elem;
|
||||
}
|
||||
else
|
||||
$teilstring .=' '.$elem;
|
||||
}
|
||||
$ret.=$teilstring;
|
||||
return $ret;
|
||||
}
|
||||
|
||||
if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
{
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
$uid = null;
|
||||
|
||||
$uid_arr = explode(";",$uid);
|
||||
|
||||
if ($uid_arr[0] == "")
|
||||
{
|
||||
unset($uid_arr[0]);
|
||||
$uid_arr = array_values($uid_arr);
|
||||
}
|
||||
|
||||
$note_arr = array();
|
||||
$note = new note();
|
||||
$note->getAll();
|
||||
foreach ($note->result as $n){
|
||||
$note_arr[$n->note] = $n->anmerkung;
|
||||
$note_bezeichnung_arr[$n->note] = $n->bezeichnung;
|
||||
|
||||
}
|
||||
if(isset($_GET['ss']))
|
||||
$studiensemester_kurzbz = $_GET['ss'];
|
||||
else
|
||||
die('Studiensemester muss uebergeben werden');
|
||||
|
||||
if(isset($_GET['lvid']))
|
||||
$lehrveranstaltung_id = $_GET['lvid'];
|
||||
else
|
||||
$lehrveranstaltung_id = 0;
|
||||
|
||||
//Daten holen
|
||||
|
||||
$lqry = "SELECT
|
||||
tbl_person.titelpre, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpost
|
||||
FROM
|
||||
public.tbl_benutzer JOIN public.tbl_person using (person_id)
|
||||
WHERE
|
||||
tbl_benutzer.uid = (SELECT
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehrfunktion USING(lehrfunktion_kurzbz),
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
|
||||
ORDER BY tbl_lehrfunktion.standardfaktor desc limit 1)";
|
||||
|
||||
$leiter_titel = '';
|
||||
$leiter_vorname = '';
|
||||
$leiter_nachname = '';
|
||||
$leiter_titelpost = '';
|
||||
|
||||
if($db->db_query($lqry))
|
||||
{
|
||||
if ($lrow = $db->db_fetch_object())
|
||||
{
|
||||
$leiter_titel = $lrow->titelpre;
|
||||
$leiter_vorname = $lrow->vorname;
|
||||
$leiter_nachname = $lrow->nachname;
|
||||
$leiter_titelpost = $lrow->titelpost;
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "SELECT wochen FROM public.tbl_semesterwochen
|
||||
WHERE (studiengang_kz, semester) in (SELECT studiengang_kz, semester
|
||||
FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER).")";
|
||||
$wochen = 15;
|
||||
if($result_wochen = $db->db_query($qry))
|
||||
{
|
||||
if($row_wochen = $db->db_fetch_object($result_wochen))
|
||||
{
|
||||
$wochen = $row_wochen->wochen;
|
||||
}
|
||||
}
|
||||
$lvqry = "SELECT * from lehre.tbl_lehrveranstaltung where lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
|
||||
|
||||
if($db->db_query($lvqry))
|
||||
{
|
||||
if ($lvrow = $db->db_fetch_object())
|
||||
{
|
||||
$sws = $lvrow->semesterstunden/$wochen;
|
||||
$ects = $lvrow->ects;
|
||||
$lvbezeichnung = $lvrow->bezeichnung;
|
||||
$lvstg = $lvrow->studiengang_kz;
|
||||
}
|
||||
}
|
||||
|
||||
$lehrinhalte = '';
|
||||
$infoqry = "SELECT * FROM campus.tbl_lvinfo WHERE sprache='German' AND lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
|
||||
if($db->db_query($infoqry))
|
||||
{
|
||||
if ($inforow = $db->db_fetch_object())
|
||||
{
|
||||
$lehrinhalte_arr = explode("<br>",$inforow->lehrinhalte);
|
||||
for ($i = 0; $i < sizeof($lehrinhalte_arr); $i++)
|
||||
{
|
||||
$lehrinhalte .= $lehrinhalte_arr[$i].'\n';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>";
|
||||
$xml .= "<zertifikate>";
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->load($studiensemester_kurzbz);
|
||||
|
||||
for ($i = 0; $i < sizeof($uid_arr); $i++)
|
||||
{
|
||||
$anzahl_fussnoten=0;
|
||||
$studiengang_typ='';
|
||||
$xml_fussnote='';
|
||||
|
||||
$query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.bezeichnung, tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, tbl_person.titelpost, tbl_person.geschlecht FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz and tbl_student.student_uid = tbl_benutzer.uid and tbl_benutzer.person_id = tbl_person.person_id and tbl_student.student_uid = '".$uid_arr[$i]."'";
|
||||
|
||||
if($db->db_query($query))
|
||||
{
|
||||
if(!$row = $db->db_fetch_object())
|
||||
die('Student not found');
|
||||
}
|
||||
else
|
||||
die('Student not found');
|
||||
$stg_oe_obj = new studiengang($row->studiengang_kz);
|
||||
$stgleiter = $stg_oe_obj->getLeitung($row->studiengang_kz);
|
||||
$stgl='';
|
||||
foreach ($stgleiter as $stgleiter_uid)
|
||||
{
|
||||
$stgl_ma = new mitarbeiter($stgleiter_uid);
|
||||
$stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost);
|
||||
}
|
||||
|
||||
$xml .= "\n <zertifikat>";
|
||||
$xml .= "\n <studiensemester>".$studiensemester->bezeichnung."</studiensemester>";
|
||||
$xml .= "\n <vorname>".$row->vorname."</vorname>";
|
||||
$xml .= "\n <nachname>".$row->nachname."</nachname>";
|
||||
$xml .= "\n <name>".trim($row->titelpre.' '.$row->vorname.' '.mb_strtoupper($row->nachname).($row->titelpost!=''?', '.$row->titelpost:''))."</name>";
|
||||
$gebdatum = date('d.m.Y',strtotime($row->gebdatum));
|
||||
$xml .= "\n <gebdatum>".$gebdatum."</gebdatum>";
|
||||
$xml .= "\n <geschlecht>".$row->geschlecht."</geschlecht>";
|
||||
$xml .= "\n <matrikelnr>".$row->matrikelnr."</matrikelnr>";
|
||||
$xml .= "\n <studiengangsleiter>".$stgl."</studiengangsleiter>";
|
||||
$datum_aktuell = date('d.m.Y');
|
||||
$xml .= "\n <ort_datum>Wien, am ".$datum_aktuell."</ort_datum>";
|
||||
|
||||
|
||||
$obj = new zeugnisnote();
|
||||
$obj->load($lehrveranstaltung_id, $uid_arr[$i], $studiensemester_kurzbz);
|
||||
|
||||
if ($obj->note)
|
||||
{
|
||||
$note = $note_arr[$obj->note];
|
||||
$note_bezeichnung = $note_bezeichnung_arr[$obj->note];
|
||||
}
|
||||
else
|
||||
{
|
||||
$note = "";
|
||||
$note_bezeichnung = "";
|
||||
}
|
||||
$note2=$note;
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg->load($lvstg);
|
||||
$xml .= " <lv_studiengang_bezeichnung>".$stg->bezeichnung."</lv_studiengang_bezeichnung>";
|
||||
$xml .= " <lv_studiengang_typ>".$stg->typ."</lv_studiengang_typ>";
|
||||
$xml .= " <lv_studiengang_kennzahl>".sprintf('%04s',$lvstg)."</lv_studiengang_kennzahl>";
|
||||
|
||||
$xml .= " <bezeichnung><![CDATA[".$lvbezeichnung."]]></bezeichnung>";
|
||||
$xml .= " <note>".$note."</note>";
|
||||
$xml .= " <note_bezeichnung>".$note_bezeichnung."</note_bezeichnung>";
|
||||
$xml .= " <sws>".($sws==0?'':number_format(sprintf('%.1F',$sws),1))."</sws>";
|
||||
$xml .= " <ects>".number_format($ects,1)."</ects>";
|
||||
$xml .= " <lvleiter>".$leiter_titel." ".$leiter_vorname." ".$leiter_nachname.($leiter_titelpost!=''?', '.$leiter_titelpost:'')."</lvleiter>";
|
||||
$xml .= " <lehrinhalte><![CDATA[".clearHtmlTags($lehrinhalte)."]]></lehrinhalte>";
|
||||
|
||||
|
||||
$xml .= " </zertifikat>";
|
||||
}
|
||||
$xml .= "</zertifikate>";
|
||||
echo $xml;
|
||||
}
|
||||
?>
|
||||
@@ -106,7 +106,7 @@
|
||||
<fo:table-row line-height="14pt">
|
||||
<fo:table-cell border-width="0.2mm" border-style="solid">
|
||||
<fo:block font-family="sans-serif" font-size="8pt" content-width="45mm" text-align="left">
|
||||
<xsl:text> Studiengang\n</xsl:text>
|
||||
<xsl:text> Lehrgang zur Weiterbildung nach §9 FHStG idgF\n</xsl:text>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell border-width="0.2mm" border-style="solid">
|
||||
|
||||
Reference in New Issue
Block a user