mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -34,20 +34,22 @@ require_once(dirname(__FILE__).'/../../../include/functions.inc.php');
|
||||
require_once(dirname(__FILE__).'/../../../include/wochenplan.class.php');
|
||||
require_once(dirname(__FILE__).'/../../../include/datum.class.php');
|
||||
require_once(dirname(__FILE__).'/../../../include/studiensemester.class.php');
|
||||
require_once(dirname(__FILE__).'/../../../include/phrasen.class.php');
|
||||
require_once(dirname(__FILE__).'/../../../include/lehrveranstaltung.class.php');
|
||||
require_once(dirname(__FILE__).'/../../../include/phrasen.class.php');
|
||||
require_once(dirname(__FILE__).'/../../../include/Excel/excel.php');
|
||||
|
||||
if(!$db = new basis_db())
|
||||
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
||||
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
|
||||
//Startwerte setzen
|
||||
if(!isset($_GET['db_stpl_table']))
|
||||
$db_stpl_table='stundenplan';
|
||||
else
|
||||
$db_stpl_table=$_GET['db_stpl_table'];
|
||||
|
||||
|
||||
if(!in_array($db_stpl_table,array('stundenplan','stundenplandev')))
|
||||
die('db_stpl_table invalid');
|
||||
if(isset($_GET['type']))
|
||||
@@ -83,16 +85,16 @@ if(isset($_GET["cal"]))
|
||||
// fuer Abonnierung im Google ueber /webdav/google.php
|
||||
$cal = $_GET["cal"];
|
||||
$uid=decryptData($cal,LVPLAN_CYPHER_KEY);
|
||||
//Wenn der Key manuell geaendert wird koennen Fehlerhaft kodierte Zeichen
|
||||
//Wenn der Key manuell geaendert wird koennen Fehlerhaft kodierte Zeichen
|
||||
//entstehen und fuehren zu DB fehlern deshalb werden falsch kodierte uids hier aussortiert
|
||||
if(!check_utf8($uid))
|
||||
die('Fehlerhafter Parameter');
|
||||
|
||||
|
||||
//Pruefen ob dieser Benutzer auch wirklich existiert
|
||||
$benutzer = new benutzer();
|
||||
if(!$benutzer->load($uid))
|
||||
die('Ungueltiger Benutzername');
|
||||
|
||||
|
||||
//Output-Format wird auf ical geaendert
|
||||
$target='ical';
|
||||
$format='ical';
|
||||
@@ -114,11 +116,11 @@ if(!isset($begin))
|
||||
$objSS->load($ss);
|
||||
$datum_obj = new datum();
|
||||
$begin = $datum_obj->mktime_fromdate($objSS->start);
|
||||
|
||||
|
||||
// Ein Monat vor ende des Studiensemester soll zusaetzlich das kommende angezeigt werden
|
||||
$datum_obj = new datum();
|
||||
$diff = $datum_obj->DateDiff($objSS->ende, date('Y-m-d H:i:s'));
|
||||
|
||||
|
||||
if($diff>=-30)
|
||||
{
|
||||
$objSS->getNextFrom($ss);
|
||||
@@ -128,21 +130,6 @@ if(!isset($begin))
|
||||
$ende = $datum_obj->mktime_fromdate($objSS->ende);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// for spezial friends
|
||||
if($uid=='maderdon')
|
||||
{
|
||||
if(!isset($_GET['format']))
|
||||
{
|
||||
$format='ical';
|
||||
$version=2;
|
||||
$target='ical';
|
||||
$begin=1188597600;
|
||||
$ende=1202166000;
|
||||
}
|
||||
}
|
||||
|
||||
$jahr=date("Y",$begin);
|
||||
$mon=date("m",$begin);
|
||||
$name='FH-Kalender_'.$mon.'_'.$jahr;
|
||||
@@ -194,6 +181,10 @@ TZOFFSETTO:+0100
|
||||
END:STANDARD
|
||||
END:VTIMEZONE';
|
||||
}
|
||||
elseif($format=='excel')
|
||||
{
|
||||
$exceldata=array();
|
||||
}
|
||||
// Print in HTML-File
|
||||
else
|
||||
{
|
||||
@@ -299,7 +290,7 @@ while($begin<$ende)
|
||||
$i++;
|
||||
if(!date("w",$begin))
|
||||
$begin=jump_day($begin,1);
|
||||
|
||||
|
||||
$stdplan->init_stdplan();
|
||||
$datum=$begin;
|
||||
$begin+=604800; // eine Woche
|
||||
@@ -312,9 +303,14 @@ while($begin<$ende)
|
||||
|
||||
// Stundenplan der Woche drucken
|
||||
if($format=='csv' || $format=='ical')
|
||||
{
|
||||
{
|
||||
$stdplan->draw_week_csv($target, LVPLAN_KATEGORIE);
|
||||
}
|
||||
elseif($format=='excel')
|
||||
{
|
||||
$data = $stdplan->draw_week_csv('return', LVPLAN_KATEGORIE);
|
||||
$exceldata = array_merge($exceldata, $data);
|
||||
}
|
||||
else
|
||||
{
|
||||
$style='style="padding-top: 10px;" class="page-break-after"';
|
||||
@@ -335,10 +331,108 @@ elseif($format=='ical')
|
||||
{
|
||||
echo $crlf.'END:VCALENDAR';
|
||||
}
|
||||
elseif($format=='excel')
|
||||
{
|
||||
OutputKalenderAsExcel($exceldata);
|
||||
}
|
||||
// Print in HTML-File
|
||||
else
|
||||
{
|
||||
echo '<P class="dont-print">'.$p->t('lvplan/fehlerUndFeedback').' <A class="Item" href="mailto:'.MAIL_LVPLAN.'">'.$p->t('lvplan/lvKoordinationsstelle').'</A></P>';
|
||||
echo '</body></html>';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function OutputKalenderAsExcel($exceldata)
|
||||
{
|
||||
// Creating a workbook
|
||||
$workbook = new Spreadsheet_Excel_Writer();
|
||||
|
||||
// sending HTTP headers
|
||||
$workbook->send("Termine". "_" . date("d_m_Y") . ".xls");
|
||||
$workbook->setVersion(8);
|
||||
// Creating a worksheet
|
||||
$worksheet =& $workbook->addWorksheet("Termine");
|
||||
$worksheet->setInputEncoding('utf-8');
|
||||
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
|
||||
$format_title =& $workbook->addFormat();
|
||||
$format_title->setBold();
|
||||
// let's merge
|
||||
$format_title->setAlign('merge');
|
||||
|
||||
//Zeilenueberschriften ausgeben
|
||||
$headline=array('Datum','Von','Bis','Ort','Lektoren','Gruppen','Lehrfach','Anmerkung','StundeVon','StundeBis');
|
||||
|
||||
$i=0;
|
||||
foreach ($headline as $title)
|
||||
{
|
||||
$worksheet->write(0,$i,$title, $format_bold);
|
||||
$maxlength[$i]=mb_strlen($title);
|
||||
$i++;
|
||||
}
|
||||
|
||||
$zeile=1;
|
||||
if(is_array($exceldata))
|
||||
{
|
||||
foreach($exceldata as $row)
|
||||
{
|
||||
$i=0;
|
||||
|
||||
writecol($worksheet, $maxlength,$zeile, $i++, $row['start_date']);
|
||||
writecol($worksheet, $maxlength,$zeile, $i++, $row['start_time']);
|
||||
writecol($worksheet, $maxlength,$zeile, $i++, $row['end_time']);
|
||||
writecol($worksheet, $maxlength,$zeile, $i++, $row['ort']);
|
||||
$lkt='';
|
||||
foreach($row['lektor_uid'] as $row_lkt)
|
||||
{
|
||||
$bn = new benutzer();
|
||||
$bn->load($row_lkt);
|
||||
|
||||
$lkt.=$bn->vorname.' '.$bn->nachname.', ';
|
||||
}
|
||||
$lkt = mb_substr($lkt, 0, -2);
|
||||
writecol($worksheet, $maxlength,$zeile, $i++, $lkt);
|
||||
writecol($worksheet, $maxlength,$zeile, $i++, implode(',',$row['gruppen']));
|
||||
|
||||
if($row['lehrfach_id']!='')
|
||||
{
|
||||
$lv = new lehrveranstaltung();
|
||||
$lv->load($row['lehrfach_id']);
|
||||
$bezeichnung = $lv->bezeichnung;
|
||||
}
|
||||
else
|
||||
$bezeichnung = $row['Summary'];
|
||||
|
||||
writecol($worksheet, $maxlength,$zeile, $i++, $bezeichnung);
|
||||
writecol($worksheet, $maxlength,$zeile, $i++, $row['titel']);
|
||||
|
||||
writecol($worksheet, $maxlength,$zeile, $i++, min($row['stunden']));
|
||||
writecol($worksheet, $maxlength,$zeile, $i++, max($row['stunden']));
|
||||
|
||||
|
||||
$zeile++;
|
||||
}
|
||||
}
|
||||
|
||||
//Die Breite der Spalten setzen
|
||||
foreach($maxlength as $i=>$breite)
|
||||
$worksheet->setColumn($i, $i, $breite+2);
|
||||
|
||||
$workbook->close();
|
||||
}
|
||||
function writecol($worksheet, &$maxlength, $zeile, $i, $content)
|
||||
{
|
||||
$worksheet->write($zeile, $i, $content);
|
||||
|
||||
if(isset($maxlength[$i]))
|
||||
if(mb_strlen($content)>$maxlength[$i])
|
||||
$maxlength[$i]=mb_strlen($content);
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
+32
-31
@@ -37,7 +37,7 @@ require_once('../../include/addon.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
|
||||
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
|
||||
@@ -60,9 +60,9 @@ else
|
||||
|
||||
if(isset($_GET['version']) && is_numeric($_GET['version']))
|
||||
$version = $_GET['version'];
|
||||
else
|
||||
else
|
||||
$version ='';
|
||||
|
||||
|
||||
if(isset($_GET['xsl_oe_kurzbz']))
|
||||
$xsl_oe_kurzbz=$_GET['xsl_oe_kurzbz'];
|
||||
else
|
||||
@@ -106,11 +106,12 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
$buchungstypen = unserialize (CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN);
|
||||
}
|
||||
|
||||
$stsem_zahlung = $konto->getLastStSemBuchungstypen($user, $buchungstypen);
|
||||
|
||||
if(isset($_GET['ss']))
|
||||
$stsem_zahlung = $konto->getLastStSemBuchungstypen($user, $buchungstypen, $_GET['ss']);
|
||||
|
||||
if((($xsl=='Inskription') || ($xsl == 'Studienblatt')) && ($_GET["ss"] != $stsem_zahlung))
|
||||
{
|
||||
die('Der Studienbeitrag wurde noch nicht bezahlt');
|
||||
die('Der Studienbeitrag wurde noch nicht bezahlt');
|
||||
}
|
||||
if(isset($_GET['buchungsnummern']))
|
||||
{
|
||||
@@ -134,11 +135,11 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
//echo $xml_url;
|
||||
// Load the XML source
|
||||
$xml_doc = new DOMDocument;
|
||||
|
||||
|
||||
if(!$xml_doc->load($xml_url))
|
||||
die('unable to load xml');
|
||||
//echo ':'.$xml_doc->saveXML().':';
|
||||
|
||||
|
||||
//XSL aus der DB holen
|
||||
$vorlage = new vorlage();
|
||||
if($xsl_oe_kurzbz!='')
|
||||
@@ -149,7 +150,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
{
|
||||
if($xsl_stg_kz=='')
|
||||
$xsl_stg_kz='0';
|
||||
|
||||
|
||||
$vorlage->getAktuelleVorlage($xsl_stg_kz, $xsl, $version);
|
||||
}
|
||||
|
||||
@@ -159,12 +160,12 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
{
|
||||
case 'application/vnd.oasis.opendocument.text':
|
||||
$endung = 'odt';
|
||||
break;
|
||||
break;
|
||||
case 'application/vnd.oasis.opendocument.spreadsheet':
|
||||
$endung = 'ods';
|
||||
break;
|
||||
$endung = 'ods';
|
||||
break;
|
||||
default:
|
||||
$endung = 'pdf';
|
||||
$endung = 'pdf';
|
||||
}
|
||||
|
||||
// Load the XSL source
|
||||
@@ -172,11 +173,11 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
|
||||
if(!$xsl_doc->loadXML($vorlage->text))
|
||||
die('unable to load xsl');
|
||||
|
||||
|
||||
// Configure the transformer
|
||||
$proc = new XSLTProcessor;
|
||||
$proc->importStyleSheet($xsl_doc); // attach the xsl rules
|
||||
|
||||
|
||||
$buffer = $proc->transformToXml($xml_doc);
|
||||
//echo $buffer;
|
||||
//exit;
|
||||
@@ -186,7 +187,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
file_put_contents('content.xml', $buffer);
|
||||
|
||||
// Wenn ein Style XSL uebergeben wurde wird ein zweites XML File erstellt mit den
|
||||
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
|
||||
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
|
||||
if(isset($_GET['style_xsl']))
|
||||
{
|
||||
$style_xsl=$_GET['style_xsl'];
|
||||
@@ -220,8 +221,8 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
}
|
||||
if(!$vorlage_found)
|
||||
$zipfile = DOC_ROOT.'/system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung;
|
||||
|
||||
|
||||
|
||||
|
||||
$tempname_zip = 'out.zip';
|
||||
if(copy($zipfile, $tempname_zip))
|
||||
{
|
||||
@@ -229,10 +230,10 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
if(isset($_GET['style_xsl']))
|
||||
exec("zip $tempname_zip styles.xml");
|
||||
|
||||
clearstatcache();
|
||||
clearstatcache();
|
||||
if($vorlage->bezeichnung!='')
|
||||
$filename = $vorlage->bezeichnung;
|
||||
else
|
||||
else
|
||||
$filename = $vorlage->vorlage_kurzbz;
|
||||
if($output == 'pdf')
|
||||
{
|
||||
@@ -261,12 +262,12 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
$filename = $filename.'.pdf';
|
||||
}
|
||||
exec("unoconv -e IsSkipEmptyPages=false --stdout -f pdf $tempname_zip > $tempPdfName");
|
||||
|
||||
$fsize = filesize($tempPdfName);
|
||||
|
||||
$fsize = filesize($tempPdfName);
|
||||
$handle = fopen($tempPdfName,'r');
|
||||
header('Content-type: application/pdf');
|
||||
header('Content-Disposition: attachment; filename="'.$filename.'"');
|
||||
header('Content-Length: '.$fsize);
|
||||
header('Content-Length: '.$fsize);
|
||||
}
|
||||
else if($output =='odt')
|
||||
{
|
||||
@@ -280,8 +281,8 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
$handle = fopen($tempname_zip,'r');
|
||||
header('Content-type: '.$vorlage->mimetype);
|
||||
header('Content-Disposition: attachment; filename="'.$filename.'.'.$endung.'"');
|
||||
header('Content-Length: '.$fsize);
|
||||
}
|
||||
header('Content-Length: '.$fsize);
|
||||
}
|
||||
else if($output =='doc')
|
||||
{
|
||||
$tempPdfName = $vorlage->vorlage_kurzbz.'.doc';
|
||||
@@ -291,19 +292,19 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
$studienordnung->loadStudienordnung($_GET['studienordnung_id']);
|
||||
$filename = $filename.'_'.$studienordnung->studiengangkurzbzlang.'.doc';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$filename = $filename.'.doc';
|
||||
}
|
||||
exec("unoconv -e IsSkipEmptyPages=false --stdout -f doc $tempname_zip > $tempPdfName");
|
||||
|
||||
$fsize = filesize($tempPdfName);
|
||||
|
||||
$fsize = filesize($tempPdfName);
|
||||
$handle = fopen($tempPdfName,'r');
|
||||
header('Content-type: application/vnd.ms-word');
|
||||
header('Content-Disposition: attachment; filename="'.$filename.'"');
|
||||
header('Content-Length: '.$fsize);
|
||||
header('Content-Length: '.$fsize);
|
||||
}
|
||||
while (!feof($handle))
|
||||
while (!feof($handle))
|
||||
{
|
||||
echo fread($handle, 8192);
|
||||
}
|
||||
@@ -339,7 +340,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
|
||||
//wenn uid gefunden wird, dann den Nachnamen zum Dateinamen dazuhaengen
|
||||
$nachname='';
|
||||
|
||||
|
||||
|
||||
if(isset($_GET['uid']) && $_GET['uid']!='')
|
||||
{
|
||||
|
||||
@@ -38,7 +38,7 @@ if(isset($_GET['stsem']))
|
||||
else
|
||||
$stsem = '';
|
||||
|
||||
$uid=get_uid();
|
||||
$uid=get_uid();
|
||||
|
||||
$student_studiengang = new student();
|
||||
$student_studiengang->load($uid);
|
||||
@@ -114,13 +114,13 @@ echo '
|
||||
|
||||
<body>
|
||||
<h1>'.$p->t('tools/dokumente').'</h1>';
|
||||
|
||||
|
||||
|
||||
|
||||
//Aktuelles Studiensemester oder gewaehltes Studiensemester
|
||||
$stsem_obj = new studiensemester();
|
||||
if($stsem=='')
|
||||
$stsem = $stsem_obj->getaktorNext();
|
||||
|
||||
|
||||
$stsem_obj->getAll();
|
||||
|
||||
echo "<br><hr>";
|
||||
@@ -133,7 +133,7 @@ echo $p->t('global/studiensemester')."</b> <SELECT name='stsem' onChange=\"MM_ju
|
||||
echo "<OPTION value='dokumente.php?stsem=$semrow->studiensemester_kurzbz'>$semrow->studiensemester_kurzbz</OPTION>";
|
||||
}
|
||||
echo "</SELECT><br />";
|
||||
|
||||
|
||||
$konto = new konto();
|
||||
|
||||
$buchungstypen = array();
|
||||
@@ -142,11 +142,11 @@ if(defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN"))
|
||||
$buchungstypen = unserialize (CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN);
|
||||
}
|
||||
|
||||
$stsem_zahlung = $konto->getLastStSemBuchungstypen($uid, $buchungstypen);
|
||||
$stsem_zahlung = $konto->getLastStSemBuchungstypen($uid, $buchungstypen, $stsem);
|
||||
if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung)
|
||||
{
|
||||
echo "<a href='../pdfExport.php?xsl=Inskription&xml=student.rdf.php&ss=".$stsem."&uid=".$uid."&xsl_stg_kz=".$xsl_stg_kz."'>".$p->t('tools/inskriptionsbestaetigung')."</a>";
|
||||
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahltAmDatum',array($stsem, $konto->buchungsdatum));
|
||||
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem));
|
||||
}
|
||||
else
|
||||
echo $p->t('tools/inskriptionsbestaetigung')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem));
|
||||
@@ -158,7 +158,7 @@ if(defined('CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN') && CIS_DOKUMENTE_STUDIENBUC
|
||||
if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung)
|
||||
{
|
||||
echo "<a href='../pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&ss=".$stsem."&uid=".$uid."'>".$p->t('tools/studienbuchblatt')."</a>";
|
||||
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahltAmDatum',array($stsem, $konto->buchungsdatum));
|
||||
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem));
|
||||
}
|
||||
else
|
||||
echo $p->t('tools/studienbuchblatt')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem));
|
||||
@@ -173,7 +173,7 @@ if(defined('CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN') && CIS_DOKUMENTE_
|
||||
echo "<hr>";
|
||||
}
|
||||
echo "<br>";
|
||||
|
||||
|
||||
echo '</body>
|
||||
</html>
|
||||
';
|
||||
|
||||
@@ -97,7 +97,7 @@ $lehrstunde->getStundenplanData($db_stpl_table, $lehrveranstaltung_id, $variable
|
||||
$format_title->setAlign('merge');
|
||||
|
||||
//Zeilenueberschriften ausgeben
|
||||
$headline=array('Datum','Von','Bis','Ort','Lektoren','Gruppen','Lehrfach','StundeVon','StundeBis');
|
||||
$headline=array('Datum','Von','Bis','Ort','Lektoren','Gruppen','Lehrfach','Anmerkung','StundeVon','StundeBis');
|
||||
|
||||
$i=0;
|
||||
foreach ($headline as $title)
|
||||
@@ -133,6 +133,7 @@ $lehrstunde->getStundenplanData($db_stpl_table, $lehrveranstaltung_id, $variable
|
||||
writecol($zeile, $i++, $lektoren);
|
||||
writecol($zeile, $i++, implode(',',$row->gruppen));
|
||||
writecol($zeile, $i++, $row->lehrfach_bezeichnung);
|
||||
writecol($zeile, $i++, implode(',',$row->titel));
|
||||
writecol($zeile, $i++, $row->stundevon);
|
||||
writecol($zeile, $i++, $row->stundebis);
|
||||
|
||||
|
||||
@@ -105,6 +105,10 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/termine/rdf#anwesend" onclick="termineTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="termine-treecol-titel" label="Titel" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/termine/rdf#titel" onclick="termineTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="termine-treecol-datum_iso" label="DatumISO" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/termine/rdf#datum_iso" onclick="termineTreeSort()"/>
|
||||
@@ -131,6 +135,7 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
|
||||
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#lektor" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#lehrfach" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#anwesend" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#titel" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#datum_iso" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#lehreinheit_id" />
|
||||
</treerow>
|
||||
|
||||
@@ -489,7 +489,7 @@ class konto extends basis_db
|
||||
AND tbl_benutzer.person_id = tbl_konto.person_id
|
||||
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
|
||||
AND tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr";
|
||||
|
||||
|
||||
if($this->db_query($subqry))
|
||||
{
|
||||
if ($this->db_num_rows()==0)
|
||||
@@ -629,7 +629,7 @@ class konto extends basis_db
|
||||
* student_uid und studiensemester
|
||||
* gibt true/false zurueck und setzt bei true das buchungsdatum $this->buchungsdatum
|
||||
*/
|
||||
public function getLastStSemBuchungstypen($uid, $buchungstyp_kurzbz_array)
|
||||
public function getLastStSemBuchungstypen($uid, $buchungstyp_kurzbz_array, $studiensemester_kurzbz=null)
|
||||
{
|
||||
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum, tbl_konto.buchungsnr_verweis, tbl_konto.studiensemester_kurzbz
|
||||
FROM
|
||||
@@ -640,7 +640,11 @@ class konto extends basis_db
|
||||
WHERE
|
||||
tbl_benutzer.uid = ".$this->db_add_param($uid)."
|
||||
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
|
||||
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")
|
||||
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")";
|
||||
if(!is_null($studiensemester_kurzbz))
|
||||
$subqry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
|
||||
$subqry.="
|
||||
ORDER BY tbl_studiensemester.start DESC";
|
||||
|
||||
if($result = $this->db_query($subqry))
|
||||
|
||||
@@ -505,7 +505,7 @@ class lehreinheitmitarbeiter extends basis_db
|
||||
}
|
||||
|
||||
$qry = "SELECT
|
||||
vw_mitarbeiter.uid, vorname, nachname, titelpre, titelpost
|
||||
distinct vw_mitarbeiter.uid, vorname, nachname, titelpre, titelpost
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
|
||||
@@ -950,7 +950,8 @@ class lehrstunde extends basis_db
|
||||
CASE WHEN gruppe_kurzbz is not null THEN gruppe_kurzbz
|
||||
ELSE (SELECT UPPER(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=stpl.studiengang_kz) || COALESCE(stpl.semester,'0') || COALESCE(stpl.verband,'') || COALESCE(stpl.gruppe,'')
|
||||
END) as gruppen, array_agg(mitarbeiter_uid) as lektoren,
|
||||
array_agg(ort_kurzbz) as orte
|
||||
array_agg(ort_kurzbz) as orte,
|
||||
array_agg(titel) as titel
|
||||
FROM
|
||||
lehre.tbl_".$db_stpl_table." as stpl
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
@@ -993,6 +994,7 @@ class lehrstunde extends basis_db
|
||||
|
||||
$qry.="GROUP BY stpl.datum, stpl.unr, stpl.lehreinheit_id, lehrfach.bezeichnung
|
||||
ORDER BY stpl.datum, min(stpl.stunde), stpl.unr, stpl.lehreinheit_id";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
@@ -1005,6 +1007,7 @@ class lehrstunde extends basis_db
|
||||
$obj->gruppen = array_unique($this->db_parse_array($row->gruppen));
|
||||
$obj->lektoren = array_unique($this->db_parse_array($row->lektoren));
|
||||
$obj->orte = array_unique($this->db_parse_array($row->orte));
|
||||
$obj->titel = array_filter(array_unique($this->db_parse_array($row->titel)));
|
||||
$obj->lehrfach_bezeichnung = $row->lehrfach_bezeichnung;
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
|
||||
|
||||
@@ -159,6 +159,7 @@ function checkZeilenUmbruch()
|
||||
'name'=>$p->t('lehre/semesterplan'),
|
||||
'icon'=>'../../../skin/images/button_semplan.png',
|
||||
'link'=>$link,
|
||||
'link_target'=>'_blank',
|
||||
'text'=>$text
|
||||
);
|
||||
}
|
||||
@@ -734,4 +735,4 @@ function isDirectoryEmpty($DOC_ROOT, $kurzbz, $semester, $short_short_name, $typ
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
@@ -495,11 +495,13 @@ class wochenplan extends basis_db
|
||||
//global $kalender_begin_ws, $kalender_ende_ws, $kalender_begin_ss, $kalender_ende_ss;
|
||||
$kal_link_ws=$this->kal_link.'&begin='.$this->studiensemester_now->start.'&ende='.$this->studiensemester_now->ende;
|
||||
$kal_link_ss=$this->kal_link.'&begin='.$this->studiensemester_next->start.'&ende='.$this->studiensemester_next->ende;
|
||||
|
||||
//echo ' <strong>'.$p->t('global/kalender').': </strong>'.$this->crlf;
|
||||
echo $this->crlf;
|
||||
//echo ' '.$p->t('lvplan/uebersicht').': <A href="'.$kal_link_ws.'&format=html" target="_blank" title="HTML">'.$this->studiensemester_now->name.'</A> '.$this->crlf;
|
||||
echo $this->studiensemester_now->name.'<br>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ws.'&format=html" target="_blank" title="HTML"><IMG src="../../../skin/images/html.png" height="30" alt="HTML" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ws.'&format=excel" title="excel"><IMG src="../../../skin/images/xls.png" height="30" alt="Excel" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ws.'&format=csv" title="CSV"><IMG src="../../../skin/images/csv.png" height="30" alt="CSV" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ws.'&format=csv&target=outlook" title="CSV-Outlook"><IMG src="../../../skin/images/outlook.png" height="30" alt="CSV-Outlook" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ws.'&format=ical&version=1&target=ical" title="iCal Version 1.0"><IMG src="../../../skin/images/ical1.0.png" height="30" alt="vCal Version 1.0" border="0"></A>'.$this->crlf;
|
||||
@@ -508,6 +510,7 @@ class wochenplan extends basis_db
|
||||
//echo ' '.$p->t('lvplan/uebersicht').': <A href="'.$kal_link_ss.'&format=html" target="_blank" title="HTML">'.$this->studiensemester_next->name.'</A> '.$this->crlf;
|
||||
echo ' <span style="color:#999">'.$this->studiensemester_next->name.'</span><br>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ss.'&format=html" target="_blank" title="HTML"><IMG src="../../../skin/images/html_light.png" height="30" alt="HTML" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ss.'&format=excel" title="excel"><IMG src="../../../skin/images/xls_light.png" height="30" alt="Excel" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ss.'&format=csv" title="CSV"><IMG src="../../../skin/images/csv_light.png" height="30" alt="CSV" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ss.'&format=csv&target=outlook" title="CSV-Outlook"><IMG src="../../../skin/images/outlook_light.png" height="30" alt="CSV-Outlook" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ss.'&format=ical&version=1&target=ical" title="iCal Version 1.0"><IMG src="../../../skin/images/ical1.0_light.png" height="30" alt="iCal Version 1.0" border="0"></A>'.$this->crlf;
|
||||
@@ -2264,6 +2267,7 @@ class wochenplan extends basis_db
|
||||
{
|
||||
$blocked=array();
|
||||
$gruppiert=array();
|
||||
|
||||
for ($k=0; $k<$num_rows_stunde; $k++)
|
||||
{
|
||||
$row = $this->db_fetch_object($this->stunde, $k);
|
||||
@@ -2280,14 +2284,20 @@ class wochenplan extends basis_db
|
||||
unset($lehrverband);
|
||||
if (isset($lehrfach))
|
||||
unset($lehrfach);
|
||||
if (isset($lektor_uids))
|
||||
unset($lektor_uids);
|
||||
if (isset($stunden_arr))
|
||||
unset($stunden_arr);
|
||||
foreach ($this->std_plan[$i][$j] as $lehrstunde)
|
||||
{
|
||||
|
||||
$unr[]=$lehrstunde->unr;
|
||||
// Lektoren
|
||||
$lektor[]=$lehrstunde->lektor;
|
||||
$lektor_uids[]=$lehrstunde->lektor_uid;
|
||||
// Lehrverband
|
||||
$lvb=$lehrstunde->stg.'-'.$lehrstunde->sem;
|
||||
$stunden_arr[]=$j;
|
||||
if ($lehrstunde->ver!=null && $lehrstunde->ver!='0' && $lehrstunde->ver!='')
|
||||
{
|
||||
$lvb.=$lehrstunde->ver;
|
||||
@@ -2383,49 +2393,38 @@ class wochenplan extends basis_db
|
||||
if(!$blockcontinue)
|
||||
{
|
||||
// Blockungen ueber mehrere Stunden erkennen
|
||||
if (isset($this->std_plan[$i][$j+1][$idx]) && isset($this->std_plan[$i][$j+1][$idx]->stundenplan_id)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+1][$idx]->unr)
|
||||
&& $this->std_plan[$i][$j][$idx]!='0' && $k<($num_rows_stunde-1)
|
||||
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+1][$idx]->lektor))
|
||||
|
||||
$blockflag=false;
|
||||
for($blockstunden=1;$blockstunden<=$num_rows_stunde;$blockstunden++)
|
||||
{
|
||||
//2er Block
|
||||
if(isset($blocked[$this->std_plan[$i][$j][$idx]->unr]))
|
||||
$blocked[$this->std_plan[$i][$j][$idx]->unr]++;
|
||||
else
|
||||
$blocked[$this->std_plan[$i][$j][$idx]->unr]=1;
|
||||
$row = $this->db_fetch_object($this->stunde, ($k+1));
|
||||
$end_time=$row->ende;
|
||||
|
||||
if (isset($this->std_plan[$i][$j+2][$idx]) && isset($this->std_plan[$i][$j+2][$idx]->stundenplan_id)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+2][$idx]->unr)
|
||||
&& $k<($num_rows_stunde-2)
|
||||
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+2][$idx]->lektor))
|
||||
if (isset($this->std_plan[$i][$j+$blockstunden][$idx]) && isset($this->std_plan[$i][$j+$blockstunden][$idx]->stundenplan_id)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+$blockstunden][$idx]->unr)
|
||||
&& $this->std_plan[$i][$j][$idx]!='0' && $k<($num_rows_stunde-$blockstunden)
|
||||
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+$blockstunden][$idx]->lektor))
|
||||
{
|
||||
//3er Block
|
||||
$blocked[$this->std_plan[$i][$j][$idx]->unr]++;
|
||||
$row = $this->db_fetch_object($this->stunde, ($k+2));
|
||||
$end_time=$row->ende;
|
||||
|
||||
if (isset($this->std_plan[$i][$j+3][$idx]) && isset($this->std_plan[$i][$j+3][$idx]->stundenplan_id)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+3][$idx]->unr)
|
||||
&& $k<($num_rows_stunde-3)
|
||||
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+3][$idx]->lektor))
|
||||
{
|
||||
//4er Block
|
||||
if(isset($blocked[$this->std_plan[$i][$j][$idx]->unr]))
|
||||
$blocked[$this->std_plan[$i][$j][$idx]->unr]++;
|
||||
$row = $this->db_fetch_object($this->stunde, ($k+3));
|
||||
else
|
||||
$blocked[$this->std_plan[$i][$j][$idx]->unr]=1;
|
||||
$row = $this->db_fetch_object($this->stunde, ($k+$blockstunden));
|
||||
$stunden_arr[]=$row->stunde;
|
||||
$end_time=$row->ende;
|
||||
$blockflag=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!$blockflag)
|
||||
{
|
||||
$row = $this->db_fetch_object($this->stunde, $k);
|
||||
$stunden_arr[]=$row->stunde;
|
||||
$end_time=$row->ende;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$row = $this->db_fetch_object($this->stunde, $k);
|
||||
$end_time=$row->ende;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Wenn im selben Raum mehrere Lektoren sind bzw mehrere Gruppen
|
||||
//dann werden diese zusammengruppiert und als ein Eintrag angezeigt
|
||||
for($idx1=0;$idx1<count($this->std_plan[$i][$j]);$idx1++)
|
||||
@@ -2544,9 +2543,19 @@ class wochenplan extends basis_db
|
||||
$description = str_replace(',',' ',$description);
|
||||
|
||||
$return[]=array('UID'=>$UID,
|
||||
'lehrfach_id'=>(isset($this->std_plan[$i][$j][$idx]->lehrfach_id)?$this->std_plan[$i][$j][$idx]->lehrfach_id:''),
|
||||
'ort'=>$this->std_plan[$i][$j][$idx]->ort,
|
||||
'lektor_uid'=>array_unique($lektor_uids),
|
||||
'gruppen'=>array_unique($lehrverband),
|
||||
'stunden'=>array_unique($stunden_arr),
|
||||
'titel'=>$this->std_plan[$i][$j][$idx]->titel,
|
||||
'unr'=>$unr,
|
||||
'Summary'=>$Summary,
|
||||
'Description'=>$description,
|
||||
'start_date'=>$start_date,
|
||||
'end_date'=>$end_date,
|
||||
'start_time'=>$start_time,
|
||||
'end_time'=>$end_time,
|
||||
'dtstart'=>$start_date_time_ical,
|
||||
'dtend'=>$end_date_time_ical,
|
||||
'reservierung'=>$this->std_plan[$i][$j][$idx]->reservierung,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
//Dokumente
|
||||
$this->phrasen['tools/dokumente']='Dokumente';
|
||||
$this->phrasen['tools/inskriptionsbestaetigung']='Inskriptionsbestätigung';
|
||||
$this->phrasen['tools/studienbeitragFuerSSBezahltAmDatum']='Studienbeitrag für das %1$s bezahlt am %2$s';
|
||||
$this->phrasen['tools/studienbeitragFuerSSBezahlt']='Studienbeitrag für das %1$s bezahlt';
|
||||
$this->phrasen['tools/studienbeitragFuerSSNochNichtBezahlt']='Studienbeitrag für das %1$s noch nicht bezahlt';
|
||||
$this->phrasen['tools/studienerfolgsbestaetigung']='Studienerfolgsbestätigung';
|
||||
$this->phrasen['tools/studiensemesterAuswaehlen']='Bitte wählen Sie das entsprechende Studiensemester aus';
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
//Dokumente
|
||||
$this->phrasen['tools/dokumente']='Documents';
|
||||
$this->phrasen['tools/inskriptionsbestaetigung']='Enrollment Confirmation';
|
||||
$this->phrasen['tools/studienbeitragFuerSSBezahltAmDatum']='tuition fee for semester %1$s paid at %2$s';
|
||||
$this->phrasen['tools/studienbeitragFuerSSBezahlt']='tuition fee for semester %1$s paid';
|
||||
$this->phrasen['tools/studienbeitragFuerSSNochNichtBezahlt']='tuition fee for semester %1$s not yet paid';
|
||||
$this->phrasen['tools/studienerfolgsbestaetigung']='Student progress report';
|
||||
$this->phrasen['tools/studiensemesterAuswaehlen']='Please select the corresponding semester';
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
*/
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/globals.inc.php');
|
||||
require_once('../include/rdf.class.php');
|
||||
require_once('../include/basis_db.class.php');
|
||||
require_once('../include/betriebsmittel.class.php');
|
||||
@@ -104,7 +105,8 @@ elseif(isset($_REQUEST['von']) && isset($_REQUEST['bis']) && $_REQUEST['xmlforma
|
||||
max(tbl_stundenplan.stunde) as bis,
|
||||
array_agg(tbl_betriebsmittel.beschreibung) as beschreibung,
|
||||
array_agg(tbl_stundenplan_betriebsmittel.anmerkung) as anmerkung,
|
||||
array_agg(tbl_stundenplan.mitarbeiter_uid) as mitarbeiter_uid
|
||||
array_agg(tbl_stundenplan.mitarbeiter_uid) as mitarbeiter_uid,
|
||||
array_agg(tbl_stundenplan.titel) as titel
|
||||
FROM
|
||||
lehre.tbl_stundenplan_betriebsmittel
|
||||
JOIN lehre.tbl_stundenplan ON(stundenplandev_id=stundenplan_id)
|
||||
@@ -143,6 +145,7 @@ elseif(isset($_REQUEST['von']) && isset($_REQUEST['bis']) && $_REQUEST['xmlforma
|
||||
echo '</tage>';
|
||||
echo '<tage>';
|
||||
echo '<datum><![CDATA['.$datum_obj->formatDatum($row->datum,'d.m.Y').']]></datum>';
|
||||
echo '<wochentag><![CDATA['.$tagbez[1][$datum_obj->formatDatum($row->datum,'w')].']]></wochentag>';
|
||||
|
||||
$lastdatum = $row->datum;
|
||||
}
|
||||
@@ -177,7 +180,8 @@ elseif(isset($_REQUEST['von']) && isset($_REQUEST['bis']) && $_REQUEST['xmlforma
|
||||
echo '<anmerkung><![CDATA['.$anmerkung.']]></anmerkung>';
|
||||
}
|
||||
echo '</anmerkungen>';
|
||||
|
||||
$titel = array_filter(array_unique($db->db_parse_array($row->titel)));
|
||||
echo '<titel><![CDATA['.implode($titel,',').']]></titel>';
|
||||
echo '<lvbezeichnung><![CDATA['.$row->lvbezeichnung.']]></lvbezeichnung>';
|
||||
echo '<studiengang_kurzbzlang><![CDATA['.$row->stg.']]></studiengang_kurzbzlang>';
|
||||
echo '</item>';
|
||||
|
||||
+3
-2
@@ -99,6 +99,7 @@ if(isset($lehrstunde->result) && is_array($lehrstunde->result))
|
||||
$oRdf->obj[$i]->setAttribut('ort',implode(',',$row->orte),true);
|
||||
$oRdf->obj[$i]->setAttribut('lehrfach',$row->lehrfach_bezeichnung,true);
|
||||
$oRdf->obj[$i]->setAttribut('lehreinheit_id',$row->lehreinheit_id,true);
|
||||
$oRdf->obj[$i]->setAttribut('titel',implode(',',$row->titel),true);
|
||||
|
||||
$anwesenheit = new anwesenheit();
|
||||
if($anwesenheit->AnwesenheitExists($row->lehreinheit_id, $row->datum, $student_uid))
|
||||
@@ -107,7 +108,7 @@ if(isset($lehrstunde->result) && is_array($lehrstunde->result))
|
||||
$anwesend='Nein';
|
||||
$oRdf->obj[$i]->setAttribut('anwesend',$anwesend,true);
|
||||
$oRdf->obj[$i]->setAttribut('datum_iso',$row->datum,true);
|
||||
|
||||
|
||||
// Terminkollisionen prüfen
|
||||
$kollision = "";
|
||||
if($lehrveranstaltung_id == '')
|
||||
@@ -115,7 +116,7 @@ if(isset($lehrstunde->result) && is_array($lehrstunde->result))
|
||||
for($x = $row->stundevon; $x <= $row->stundebis; $x++)
|
||||
{
|
||||
$orte = implode(',',$row->orte);
|
||||
|
||||
|
||||
if(isset($verplanteStunden[$row->datum]) && in_array($x, $verplanteStunden[$row->datum]))
|
||||
{
|
||||
if(!isset($verplanteStunden[$row->datum][$orte]) || !in_array($x, $verplanteStunden[$row->datum][$orte]))
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
Reference in New Issue
Block a user