Merge branch 'master' into ci

Conflicts:
	composer.json
	composer.lock
	phpci.yml
	system/checksystem.php
	system/dbupdate_3.2.php
	tests/codeception/_data/dump.sql
	tests/codeception/tests/acceptance/CISLoginPage.php
This commit is contained in:
oesi
2017-01-20 11:05:08 +01:00
83 changed files with 5390 additions and 5860 deletions
+4 -2
View File
@@ -103,12 +103,14 @@ ob_start();
if(isset($_GET['content_id']) && $_GET['content_id'] != '')
{
$content_id = $_GET['content_id'];
// Uses urlencode to avoid XSS issues
$content_id = urlencode($_GET['content_id']);
}
else
{
$content_id = CIS_MENU_ENTRY_CONTENT;
} ?>
}
?>
<ul id="menu">
<?php if($content_id != CIS_MENU_ENTRY_CONTENT): ?>
@@ -17,13 +17,13 @@ function makeUploadName($db, $which, $lehreinheit_id=null, $uebung_id=null, $ss=
{
$query = "SELECT nachname, vorname from tbl_person, tbl_benutzer where tbl_benutzer.person_id = tbl_person.person_id and tbl_benutzer.uid = ".$db->db_add_param($uid);
$result = $db->db_query($query);
$row = $db->db_fetch_object($result);
$row = $db->db_fetch_object($result);
$name .= "_".$uebung_id."_".$row->nachname."_".$row->vorname."_".$uid."_".$date;
}
else if ($which == "zip")
{
$name .= "_".$uebung_id."_".$date;
$name .= "_".$uebung_id."_".$date;
}
$name = str_replace(":","-",$name);
return $name;
@@ -24,7 +24,7 @@
// ********************
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
@@ -41,14 +41,13 @@ require_once('../../../../include/zeugnisnote.class.php');
require_once('../../../../include/phrasen.class.php');
include('functions.inc.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$user = get_uid();
//$user = 'if06b172';
//$user = 'if06b144';
$lektorenansicht = 0;
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
@@ -62,12 +61,10 @@ else
$lehreinheit_id = '';
$uid = (isset($_GET['uid'])?$_GET['uid']:''); //Uid
if(check_lektor($user) && (isset($_GET['uid']) && $_GET["uid"] != ""))
{
$rights = new benutzerberechtigung();
$rights->getBerechtigungen($user);
$rights->getBerechtigungen($user);
$lehreinheit=new lehreinheit($_GET["lehreinheit_id"]);
if(!check_lektor_lehrveranstaltung($user, $lehreinheit->lehrveranstaltung_id, $lehreinheit->studiensemester_kurzbz) && !$rights->isBerechtigt('admin',0))
die($p->t('global/keineBerechtigungFuerDieseSeite'));
@@ -94,17 +91,29 @@ $datum_obj = new datum();
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
//Abgabedatei ausliefern
if (isset($_GET["download_abgabe"])){
if (isset($_GET["download_abgabe"]))
{
$file=$_GET["download_abgabe"];
$file = preg_replace('/[^A-Za-z0-9\-_.]/', '',$file);
$uebung_id = $_GET["uebung_id"];
$ueb = new uebung();
$ueb->load_studentuebung($user, $uebung_id);
$ueb->load_abgabe($ueb->abgabe_id);
$filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
exit;
if($ueb->load_studentuebung($user, $uebung_id))
{
if($ueb->load_abgabe($ueb->abgabe_id))
{
$filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
exit;
}
else
{
die($ueb->errormsg);
}
}
else
die($ueb->errormsg);
}
//Angabedatei ausliefern
@@ -162,20 +171,21 @@ if (isset($_POST["abgabe"]))
{
$abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"];
$abgabe_anmerkung = (isset($_POST["abgabe_anmerkung"])?$_POST["abgabe_anmerkung"]:'');
if ($abgabedatei_up)
{
//echo $abgabedatei_up;
$datum = date('Y-m-d H:i:s');
$datumstr = ereg_replace(" ","_",$datum);
$datumstr = str_replace(" ","_",$datum);
$name_up = pathinfo($_FILES["abgabedatei"]["name"]);
$name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$user, $date=$datumstr);
$name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu);
$abgabedatei = $name_neu.".".$name_up["extension"];
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$uebung_obj = new uebung();
$uebung_obj->load_studentuebung($user, $uebung_id);
if ($uebung_obj->errormsg != "")
{
$uebung_obj->student_uid = $user;
@@ -194,12 +204,12 @@ if (isset($_POST["abgabe"]))
$uebung_obj->new = true;
$uebung_obj->studentuebung_save($new=true);
//echo $uebung_obj->errormsg;
}
if ($uebung_obj->abgabe_id != null)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
$uebung_obj->abgabedatei = $abgabedatei;
$uebung_obj->abgabezeit = $datum;
$uebung_obj->abgabe_anmerkung = $abgabe_anmerkung;
@@ -213,10 +223,10 @@ if (isset($_POST["abgabe"]))
$uebung_obj->abgabe_save(true);
}
$uebung_obj->studentuebung_save(false);
//Abgabedatei ablegen
//Abgabedatei ablegen
move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad);
}
else
{
$abgabe_anmerkung = $_POST["abgabe_anmerkung"];
@@ -225,7 +235,7 @@ if (isset($_POST["abgabe"]))
if ($uebung_obj2->errormsg == "")
{
if ($uebung_obj2->abgabe_id != null)
{
{
$uebung_obj2->load_abgabe($uebung_obj2->abgabe_id);
$uebung_obj2->abgabe_anmerkung = $abgabe_anmerkung;
$uebung_obj2->abgabe_save(false);
@@ -259,11 +269,11 @@ $qry = "SELECT distinct lehreinheit_id, lehrfach.kurzbz FROM lehre.tbl_lehreinhe
SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id)
WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem).")
UNION
SELECT
lehreinheit_id
FROM
SELECT
lehreinheit_id
FROM
public.tbl_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband
WHERE
WHERE
tbl_student.student_uid=".$db->db_add_param($user)." AND
tbl_studentlehrverband.student_uid=tbl_student.student_uid AND
tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND
@@ -370,7 +380,7 @@ echo '<td class="tdwidth10">&nbsp;</td>';
echo "<td width='100%'>\n";
echo "<table width='100%'><tr><td><b>".$lv_obj->bezeichnung_arr[$sprache]."</b></td><td align='right'><a href='../../../../documents/".strtolower($stg_obj->kuerzel)."/$lv_obj->semester/$lv_obj->lehreverzeichnis/download/' target='_blank' class='Item'>".$p->t('benotungstool/downloadverzeichnisAnzeigen')."</a></td></tr></table><br>";
if($lehreinheit_id=='')
if($lehreinheit_id=='')
die($p->t('benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung'));
$qry = "SELECT vorname, nachname FROM campus.vw_student WHERE uid=".$db->db_add_param($user);
@@ -383,7 +393,7 @@ if($result = $db->db_query($qry))
if (!isset($_GET["notenuebersicht"]))
{
$l = 0;
$l = 0;
$ueb_check = new uebung();
$ueb_check->load_uebung($lehreinheit_id,1);
if (count($ueb_check->uebungen > 0))
@@ -396,7 +406,7 @@ if (!isset($_GET["notenuebersicht"]))
$l = 1;
}
}
if ($l > 0)
{
echo "<br><b>".$p->t('lehre/leistungsuebersicht')." / <a href='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&notenuebersicht=1&uid=$user'>".$p->t('benotungstool/notenuebersichtFuer')." $name</b><br><br>";
@@ -409,12 +419,12 @@ if (!isset($_GET["notenuebersicht"]))
echo "<option value='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uid=$user' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
$selected = '';
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
@@ -427,41 +437,41 @@ if (!isset($_GET["notenuebersicht"]))
}
else
$disabled = '';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$user' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo '</td>';
echo "<td>
<table>
<tr>
@@ -482,21 +492,21 @@ if (!isset($_GET["notenuebersicht"]))
else
{
$callURL="studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&notenuebersicht=1&uid=$user";
#header("Location:$callURL");
#header("Location:$callURL");
echo "<script language=\"JavaScript\">";
echo "window.location.href ='$callURL'";
echo "</script>";
exit;
//echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt";
exit;
//echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt";
}
//******SPEICHERN DER DATEN*************
if(isset($_POST['submit']))
{
$error=false;
$ueb_hlp_obj = new uebung();
$ueb_hlp_obj->load($uebung_id);
//Wenn Kreuzerlliste Freigegeben ist
@@ -504,21 +514,21 @@ if (!isset($_GET["notenuebersicht"]))
$datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabebis)>time())
{
$bsp_obj = new beispiel();
if($bsp_obj->load_beispiel($uebung_id))
{
$anzahl_solved = 0;
$anzahl_solved = 0;
foreach ($bsp_obj->beispiele as $row)
{
if (isset($_POST['solved_'.$row->beispiel_id]) && ($_POST['solved_'.$row->beispiel_id]==1))
$anzahl_solved++;
}
if (($anzahl_solved <= $ueb_hlp_obj->maxbsp) || ($ueb_hlp_obj->maxbsp == 0))
{
{
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel();
if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id))
{
$stud_bsp_obj->new=false;
@@ -530,18 +540,18 @@ if (!isset($_GET["notenuebersicht"]))
$stud_bsp_obj->insertvon = $user;
$stud_bsp_obj->vorbereitet = false;
}
if (isset($_POST['solved_'.$row->beispiel_id]))
if (isset($_POST['solved_'.$row->beispiel_id]))
$stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false);
$stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false);
$stud_bsp_obj->updateamum = date('Y-m-d H:i:s');
$stud_bsp_obj->updatevon = $user;
$stud_bsp_obj->student_uid = $user;
$stud_bsp_obj->beispiel_id = $row->beispiel_id;
if(!$row->check_anzahl_studentbeispiel($row->beispiel_id))
die('<span class="error">Fehler beim Ermitteln der Beispiele</span>');
if (($row->anzahl_studentbeispiel >= $ueb_hlp_obj->maxstd) && ($stud_bsp_obj->vorbereitet==true) && ($ueb_hlp_obj->maxstd != null)) //isset($_POST['problem_'.$row->beispiel_id]) && $stud_bsp_obj->new ||
if (($row->anzahl_studentbeispiel >= $ueb_hlp_obj->maxstd) && ($stud_bsp_obj->vorbereitet==true) && ($ueb_hlp_obj->maxstd != null)) //isset($_POST['problem_'.$row->beispiel_id]) && $stud_bsp_obj->new ||
{
$hlp = new beispiel();
if($hlp->load_studentbeispiel($user, $row->beispiel_id))
@@ -552,7 +562,7 @@ if (!isset($_GET["notenuebersicht"]))
$error = true;
}
}
}
}
else
{
if(!$stud_bsp_obj->studentbeispiel_save())
@@ -565,11 +575,11 @@ if (!isset($_GET["notenuebersicht"]))
}
else
{
$error=true;
$error=true;
echo $p->t('benotungstool/zuVieleBeispieleAngekreuzt')."!<br>";
}
}
if($error)
echo "<span class='error'>".$p->t('benotungstool/esKonntenNichtAlleDatenGespeichertWerden')."</span><br>";
else
@@ -578,19 +588,20 @@ if (!isset($_GET["notenuebersicht"]))
else
echo "<span class='error'>".$p->t('benotungstool/nichtGespeichertKreuzerllisteNichtFreigegeben')."!</span>";
}
//********ANZEIGE DER EINGETRAGENEN KREUZERL***********
if ($l > 0)
{
{
$uebung_obj = new uebung();
$uebung_obj->load($uebung_id);
$downloadname = mb_ereg_replace($uebung_id,mb_ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei);
$downloadname = preg_replace('/[^A-Za-z0-9\-_.]/', '',$downloadname);
echo $p->t('benotungstool/freigegebenVon')." ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." ".$p->t('global/bis')." ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis));
echo "<br><br><h3><u>$uebung_obj->bezeichnung</u></h3>";
if ($uebung_obj->angabedatei)
echo $p->t('benotungstool/angabe').": <a href='studentenansicht.php?uid=$user&lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&download=".$downloadname."'>".$downloadname."</a><br><br>";
$ueb_obj = new uebung();
if($ueb_obj->load_studentuebung($user, $uebung_id))
{
@@ -608,39 +619,39 @@ if (!isset($_GET["notenuebersicht"]))
$anmerkung = mb_str_replace("\n", "<br>", $anmerkung);
if ($uebung_obj->beispiele)
{
$qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id IN (SELECT beispiel_id from campus.tbl_beispiel where uebung_id =".$db->db_add_param($uebung_id, FHC_INTEGER).") AND vorbereitet=true and student_uid = ".$db->db_add_param($user);
if($result_cnt = $db->db_query($qry_cnt))
if($row_cnt = $db->db_fetch_object($result_cnt))
$anzahl = $row_cnt->anzahl;
echo "<script type='text/javascript'>";
if ($uebung_obj->maxbsp)
echo "maxbsp = ".$uebung_obj->maxbsp.";";
else
echo "maxbsp = 9999;";
echo "maxbsp = 9999;";
echo "aktbsp = ".$anzahl.";";
echo "function plus1(id)
{
aktbsp++;
if (aktbsp > maxbsp)
{
{
document.bspform.reset();
alert('Sie dürfen maximal '+maxbsp+' Beispiele markieren!');
aktbsp = ".$anzahl.";
alert('Sie dürfen maximal '+maxbsp+' Beispiele markieren!');
aktbsp = ".$anzahl.";
}
}
function minus1()
{
aktbsp--;
}
aktbsp--;
}
";
echo "</script>";
$bsp_obj = new beispiel();
$bsp_obj->load_beispiel($uebung_id);
$bsp_obj->load_beispiel($uebung_id);
if ($bsp_obj->beispiele)
{
echo " <table>";
@@ -648,7 +659,7 @@ if (!isset($_GET["notenuebersicht"]))
echo "<tr><td>".$p->t('benotungstool/maxBeispieleStudent').":</td><td><b>".$uebung_obj->maxbsp."</b></td></tr>";
if ($uebung_obj->maxstd > 0)
echo "<tr><td>".$p->t('benotungstool/maxStudentenBeispiel').":</td><td style='background-color:#dddddd;'><b>".$uebung_obj->maxstd."</b></td></tr>";
echo "</table>";
echo "</table>";
echo "
<form accept-charset='UTF-8' method='POST' name='bspform' action='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&uid=$user'>
<table width='100%'>
@@ -664,12 +675,12 @@ if (!isset($_GET["notenuebersicht"]))
<td class='ContentHeader2'>".$p->t('benotungstool/probleme')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/punkte')."</td>
</tr>";
foreach ($bsp_obj->beispiele as $row)
{
$bsp_voll = false;
$bsp_voll = false;
$stud_bsp_obj = new beispiel();
if ($uebung_obj->maxstd > 0)
{
@@ -690,7 +701,7 @@ if (!isset($_GET["notenuebersicht"]))
if ($bsp_voll)
{
$ro = " disabled";
$markiert = " style='background-color:#dddddd;'";
$markiert = " style='background-color:#dddddd;'";
}
else
{
@@ -704,64 +715,64 @@ if (!isset($_GET["notenuebersicht"]))
<td align='center'><input type='checkbox' name='problem_$row->beispiel_id' ".($probleme?'checked':'')."$ro></td>
<td align='center'>$row->punkte</td>
</tr>";
}
//Speichern button nur Anzeigen wenn die Uebung Freigegeben ist
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
echo "<tr><td align='right' colspan=5><input type='submit' value='".$p->t('global/speichern')."' name='submit'></td></form></tr>";
echo "</table>";
}
else
echo "<table><tr><td>".$p->t('benotungstool/keineBeispieleAngelegt')."</td></tr></table><table width='100%'><tr><td width='70%'></div><table><tr><td>&nbsp;</td></tr></table>";
if ($uebung_obj->abgabe)
{
echo "<br><table><tr><td>".$p->t('benotungstool/abgabedatei').":</td></tr>\n";
$uebung_obj->load_studentuebung($user, $uebung_id);
if ($uebung_obj->abgabe_id)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
echo " <tr>";
echo" <td><a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&download_abgabe=".$uebung_obj->abgabedatei."'>".$uebung_obj->abgabedatei."</a>";
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
echo " <a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&deleteabgabe=1'>[del]</a></td>";
echo "</tr>";
}
}
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
{
echo " <tr>\n";
echo " <form accept-charset='UTF-8' method='POST' action='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem' enctype='multipart/form-data' name='kl_angabe'>\n";
echo " <td>\n";
echo " <input type='file' name='abgabedatei'> <input type='submit' name='abgabe' value='".$p->t('benotungstool/abgeben')."'>";
echo " </td>\n";
echo " </td>\n";
echo " </form>\n";
echo "</tr>\n";
}
echo "</table>";
}
echo "</td><td valign='top' algin='right'>";
//Gesamtpunkte diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER);
$punkte_gesamt=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt = $row->punktegesamt;
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user)." AND vorbereitet=true";
$punkte_eingetragen=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
//Gesamtpunkte alle Kreuzerllisten in dieser Übung
$ueb_help = new uebung($uebung_id);
$liste_id = $ueb_help->liste_id;
@@ -772,19 +783,19 @@ if (!isset($_GET["notenuebersicht"]))
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt_alle = $row->punktegesamt_alle;
//Eingetragen alle Kreuzerllisten
$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung
WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." AND
tbl_studentbeispiel.student_uid=".$db->db_add_param($user)." AND vorbereitet=true";
$punkte_eingetragen_alle=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0);
//Mitarbeitspunkte
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user)." AND liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER);
@@ -792,7 +803,7 @@ if (!isset($_GET["notenuebersicht"]))
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
//Mitarbeitspunkte
$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung
WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user);
@@ -801,7 +812,7 @@ if (!isset($_GET["notenuebersicht"]))
if($row = $db->db_fetch_object($result))
$mitarbeit = $row->mitarbeitspunkte;
echo "
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>".$p->t('benotungstool/dieseKreuzerlliste').":</td>
@@ -844,16 +855,16 @@ if (!isset($_GET["notenuebersicht"]))
</tr>
</table>
";
echo "
</td></tr>
</table>
</form>
";
//**********STATISTIK***************
if($uebung_obj->statistik)
{
@@ -878,7 +889,7 @@ if (!isset($_GET["notenuebersicht"]))
$qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id)." GROUP BY student_uid";
if($result_cnt = $db->db_query($qry_cnt))
$gesamt=$db->db_num_rows($result_cnt);
foreach ($beispiel_obj->beispiele as $row)
{
$i++;
@@ -888,12 +899,12 @@ if (!isset($_GET["notenuebersicht"]))
if($result_cnt = $db->db_query($qry_cnt))
if($row_cnt = $db->db_fetch_object($result_cnt))
$solved = $row_cnt->anzahl;
if($solved>0)
$psolved = $solved/$gesamt*100;
echo '<tr>
<td '.($i%2?'class="MarkLine"':'').' valign="top" height="10" width="200"><font size="2" face="Arial, Helvetica, sans-serif">
'.$row->bezeichnung.'
@@ -928,24 +939,24 @@ if (!isset($_GET["notenuebersicht"]))
}
else if ($uebung_obj->abgabe)
{
echo "<table width='100%'>\n";
echo "<tr><td>".($note!=''?'<b>'.$p->t('benotungstool/note').': </b>'.$note.'<br><br>':'')."</td></tr>\n";
echo"
echo"
<tr>
<td valign='top'>
".($anmerkung!=''?'<b>'.$p->t('global/anmerkungen').':</b><br> '.$anmerkung.'<br><br>':'')."
</td>";
echo "</tr>\n";
echo "<tr><td><hr></td></tr>\n";
$uebung_obj->load_studentuebung($user, $uebung_id);
if ($uebung_obj->abgabe_id)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
echo " <tr>";
echo" <td>".$p->t('benotungstool/abgabedatei').": <a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&download_abgabe=".$uebung_obj->abgabedatei."'>".$uebung_obj->abgabedatei."</a>";
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
echo " <a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&deleteabgabe=1'>[del]</a><br></td>";
echo "</tr>";
}
@@ -954,14 +965,14 @@ if (!isset($_GET["notenuebersicht"]))
echo " <tr>\n";
echo " <form accept-charset='UTF-8' method='POST' action='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem' enctype='multipart/form-data'>\n";
echo " <td>\n";
echo " <br>".$p->t('global/anmerkung').":<br><textarea name='abgabe_anmerkung' rows='3' cols='50'>".$uebung_obj->abgabe_anmerkung."</textarea><br>";
echo " <br>".$p->t('global/anmerkung').":<br><textarea name='abgabe_anmerkung' rows='3' cols='50'>".$uebung_obj->abgabe_anmerkung."</textarea><br>";
echo " <br>".$p->t('global/datei').":<br><input type='file' name='abgabedatei'> <input type='submit' name='abgabe' value='".$p->t('benotungstool/abgeben')."'>";
echo " </td>\n";
echo " </td>\n";
echo " </form>\n";
echo "</tr>\n";
}
echo "</table>\n";
}
}
@@ -974,7 +985,7 @@ else
$uid_arr = Array();
$vorname_arr = Array();
$nachname_arr = Array();
$qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
if($result_stud_dd = $db->db_query($qry_stud_dd))
{
@@ -983,43 +994,43 @@ else
{
$uid_arr[] = $row_stud_dd->uid;
$vorname_arr[] = $row_stud_dd->vorname;
$nachname_arr[] = $row_stud_dd->nachname;
$nachname_arr[] = $row_stud_dd->nachname;
}
}
echo "<br><hr><br>";
echo "<br><hr><br>";
echo $p->t('benotungstool/studentenAuswaehlen').": ";
$key = array_search($uid,$uid_arr);
$prev = $key-1;
$next = $key+1;
if ($key > 0)
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem&notenuebersicht=1'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem&notenuebersicht=1'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
for ($j = 0; $j < count($uid_arr); $j++)
{
{
if ($uid_arr[$j] == $uid)
$selected = " selected";
else
$selected = "";
echo "<option value='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$j]&stsem=$stsem&notenuebersicht=1'$selected>$vorname_arr[$j] $nachname_arr[$j]</option>";
}
echo "</select>";
if ($key < count($uid_arr)-1)
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem&notenuebersicht=1'> &gt;&gt; </a>";
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem&notenuebersicht=1'> &gt;&gt; </a>";
echo "<br><hr><br>";
}
echo "<br><b><a href='studentenansicht.php?uid=$user&lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leistungsuebersichtNotenuebersichtFuer')." $name</b><br><br>";
echo "<br><b><a href='studentenansicht.php?uid=$user&lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leistungsuebersichtNotenuebersichtFuer')." $name</b><br><br>";
echo "<table><tr><td>";
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
if(count($uebung_obj->uebungen)>0)
{
echo "<table style='border: 1px #dddddd solid'>";
echo " <tr>\n";
echo " <th colspan='2'>".$p->t('benotungstool/aufgabe')."</th>\n";
@@ -1029,21 +1040,21 @@ else
echo " <th>".$p->t('benotungstool/note')."</th>";
echo " </tr>\n";
foreach ($uebung_obj->uebungen as $row)
{
{
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
$l1note = new studentnote();
if(count($subuebung_obj->uebungen) >= 0)
{
$l1note->calc_l1_note($row->uebung_id, $user, $lehreinheit_id);
if ($l1note->negativ)
$l1_note = 5;
else
$l1_note = $l1note->l1_note;
echo " <tr>\n";
$l1_note = $l1note->l1_note;
echo " <tr>\n";
echo " <td colspan='2'>";
echo $row->bezeichnung;
if ($row->positiv)
@@ -1051,23 +1062,23 @@ else
echo " </td>\n";
echo " <td align='center'>".$row->gewicht."</td>\n";
echo " <td align='center'>";
if ($l1note->punkte_gesamt_l1 >0)
if ($l1note->punkte_gesamt_l1 >0)
echo $l1note->punkte_gesamt_l1;
echo "</td>\n";
echo "<td align='center'></td>";
echo "<td align='center'>".$l1_note."</td>\n";
echo " </tr>\n";
}
if(count($subuebung_obj->uebungen) > 0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
echo " <tr>\n";
echo " <td>- </td>";
echo " <td>- </td>";
echo " <td>\n";
echo $subrow->bezeichnung;
if ($subrow->positiv)
@@ -1081,15 +1092,15 @@ else
{
$l1note->calc_punkte($subrow->uebung_id, $user);
echo " <td align='center'>".$l1note->punkte_gesamt."</td>";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
}
else if ($subrow->abgabe)
{
$l1note->calc_note($subrow->uebung_id, $user);
echo " <td align='center'></td>\n";
echo " <td align='center'>".$l1note->note."</td>";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
echo " <td align='center'>".$l1note->note."</td>";
echo " <td align='center'></td>\n";
}
echo " </tr>\n"; /*
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
@@ -1097,9 +1108,9 @@ else
else
echo ' - ';
*/
}
}
}
$l1note->calc_gesamtnote($lehreinheit_id, $stsem, $user);
@@ -1108,24 +1119,24 @@ else
else
$gesamtnote = $l1note->studentgesamtnote;
echo "<tr style='background-color:#dddddd;'><td colspan='5'>".$p->t('benotungstool/errechneteGesamtnote').": </td><td align='center'>".$gesamtnote."</td></tr>";
echo "</table>";
echo "<span style='font-size:8pt;'>".$p->t('benotungstool/mussPositivSein')."</span>";
}
echo "</td><td valign='top'>";
$legesamtnote = new legesamtnote($lehreinheit_id);
if (!$legesamtnote->load($user, $lehreinheit_id))
{
{
$lenote = null;
}
else
{
$lenote = $legesamtnote->note;
}
}
if ($lvgesamtnote = new lvgesamtnote($lvid,$user,$stsem))
{
$lvnote = $lvgesamtnote->note;
@@ -1138,7 +1149,7 @@ else
}
else
$znote = null;
echo "<table style='border: 1px #dddddd solid'>\n";
echo " <tr><th colspan='2'>".$p->t('benotungstool/eingetrageneNoten')."</th></tr>";
echo "<tr>\n";
@@ -1154,7 +1165,7 @@ else
echo "<td>".$znote."</td>";
echo "</tr>\n";
echo "</table>";
echo "</td></tr></table>";
}
?>
@@ -21,7 +21,7 @@
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
@@ -34,9 +34,9 @@ require_once('../../../../include/studentnote.class.php');
require_once('../../../../include/datum.class.php');
require_once('functions.inc.php');
require_once('../../../../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$user = get_uid();
@@ -102,9 +102,9 @@ if (isset($_GET["handbuch"])){
if (isset($_FILES["abgabedatei"]))
{
//echo $_FILES["abgabedatei"];
//echo $_FILES["abgabedatei"];
$abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"];
if ($abgabedatei_up)
{
$student_uid = $uid;
@@ -112,13 +112,14 @@ if (isset($_FILES["abgabedatei"]))
$datumstr = ereg_replace(" ","_",$datum);
$name_up = pathinfo($_FILES["abgabedatei"]["name"]);
$name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$student_uid, $date=$datumstr);
$name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu);
$abgabedatei = $name_neu.".".$name_up["extension"];
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$uebung_obj = new uebung();
$uebung_obj->load_studentuebung($student_uid, $uebung_id);
if ($uebung_obj->errormsg != "")
{
$uebung_obj->student_uid = $student_uid;
@@ -137,12 +138,12 @@ if (isset($_FILES["abgabedatei"]))
$uebung_obj->new = true;
$uebung_obj->studentuebung_save($new=true);
echo $uebung_obj->errormsg;
}
if ($uebung_obj->abgabe_id != null)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
$uebung_obj->abgabedatei = $abgabedatei;
$uebung_obj->abgabezeit = $datum;
$uebung_obj->abgabe_anmerkung = "";
@@ -156,7 +157,7 @@ if (isset($_FILES["abgabedatei"]))
$uebung_obj->abgabe_save(true);
}
$uebung_obj->studentuebung_save(false);
//Abgabedatei ablegen
//Abgabedatei ablegen
move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad);
}
}
@@ -217,11 +218,11 @@ $stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -229,11 +230,11 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st
}
else
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -440,14 +441,14 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
die($p->t('benotungstool/studentWurdeNichtGefunden'));
//echo "<b>$row_stud->vorname $row_stud->nachname</b><br>\n";
$uid_arr = Array();
$vorname_arr = Array();
$nachname_arr = Array();
// studentenquery
// studentenquery
$qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
if($result_stud_dd = $db->db_query($qry_stud_dd))
{
@@ -456,7 +457,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
{
$uid_arr[] = $row_stud_dd->uid;
$vorname_arr[] = $row_stud_dd->vorname;
$nachname_arr[] = $row_stud_dd->nachname;
$nachname_arr[] = $row_stud_dd->nachname;
}
}
@@ -467,22 +468,22 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
$prev = $key-1;
$next = $key+1;
if ($key > 0)
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
for ($j = 0; $j < count($uid_arr); $j++)
{
{
if ($uid_arr[$j] == $uid)
$selected = " selected";
else
$selected = "";
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$j]&stsem=$stsem'$selected>$vorname_arr[$j] $nachname_arr[$j]</option>";
}
echo "</select>";
if ($key < count($uid_arr)-1)
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem'> &gt;&gt; </a>";
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem'> &gt;&gt; </a>";
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
if(count($uebung_obj->uebungen)>0)
@@ -492,15 +493,15 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
$selected = '';
if($uebung_id=='')
$uebung_id=$row->uebung_id;
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
@@ -510,46 +511,46 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
}
else
$disabled = '';
echo "<OPTION style='background-color:#cccccc;' value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id&uid=$uid' $selected $disabled>";
echo $row->bezeichnung;
echo '</OPTION>';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$uid' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo '</td>';
echo "<td>
<table>
<tr>
@@ -581,7 +582,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
$mitarbeit = 0;
$note = '';
}
if ($ueb_obj->beispiele && is_numeric($_GET['uebung_id']))
{
echo "
@@ -598,10 +599,10 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<td class='ContentHeader2'>".$p->t('benotungstool/probleme')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/punkte')."</td>
</tr>";
$bsp_obj = new beispiel();
$bsp_obj->load_beispiel($uebung_id);
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel();
@@ -623,14 +624,14 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<td align='center'>$row->punkte</td>
</tr>";
}
echo "</table>";
$ueb_obj->load_studentuebung($uid, $uebung_id);
if ($ueb_obj->abgabe_id)
{
if ($ueb_obj->abgabe_id)
{
$ueb_obj->load_abgabe($ueb_obj->abgabe_id);
$filename = $ueb_obj->abgabedatei;
}
@@ -639,27 +640,27 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
if ($filename != '')
echo "<br>".$p->t('benotungstool/abgabedatei').": <a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid&download_abgabe=$filename'>".$filename."</a><br><br>";
echo "
</td><td valign='top' algin='right'>";
//Gesamtpunkte diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER);
$punkte_gesamt=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt = $row->punktegesamt;
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." AND vorbereitet=true";
$punkte_eingetragen=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
//Gesamtpunkte alle Kreuzerllisten in dieser Übung
$ueb_help = new uebung($uebung_id);
$liste_id = $ueb_help->liste_id;
@@ -670,19 +671,19 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt_alle = $row->punktegesamt_alle;
//Eingetragen alle Kreuzerllisten
$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung
WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id)." AND
tbl_studentbeispiel.student_uid=".$db->db_add_param($uid)." AND vorbereitet=true";
$punkte_eingetragen_alle=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0);
//Mitarbeitspunkte
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." and liste_id=".$db->db_add_param($liste_id);
@@ -690,7 +691,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
//Mitarbeitspunkte
$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung
WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid);
@@ -742,8 +743,8 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
</tr>
</table>
";
echo "
</td></tr>
<tr>
@@ -752,18 +753,18 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<input type='button' value='".$p->t('global/zurueck')."' onclick='history.back();'>
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
</td>
</tr>
</table>
</form>
";
}
else if (is_numeric($_GET['uebung_id']))
{
$ueb_obj->load_studentuebung($uid, $uebung_id);
if ($ueb_obj->abgabe_id)
{
if ($ueb_obj->abgabe_id)
{
$ueb_obj->load_abgabe($ueb_obj->abgabe_id);
$filename = $ueb_obj->abgabedatei;
}
@@ -790,28 +791,28 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<tr>
<td colspan='2'>
<input type='button' value='".$p->t('global/zurueck')."' onclick='history.back();'>
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
</td>
</tr>
</table>
</form>";
}
echo "</td></tr></table>";
echo "<table>\n";
echo "</td></tr></table>";
echo "<table>\n";
echo " <tr>\n";
echo " <form accept-charset='UTF-8' method='POST' action='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&uid=$uid' enctype='multipart/form-data'>\n";
echo " <td>\n";
echo " <b>".$p->t('benotungstool/studentenabgabedatei').":</b><br><input type='file' name='abgabedatei'> <input type='submit' name='abgabe' value='".$p->t('benotungstool/abgeben')."'>";
echo " </td>\n";
echo " </td>\n";
echo " </form>\n";
echo "</tr>\n";
echo "</table>";
}
else
{
//Übungen benoten
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
@@ -822,15 +823,15 @@ else
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
$selected = '';
if($uebung_id=='')
$uebung_id=$row->uebung_id;
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
@@ -840,61 +841,62 @@ else
}
else
$disabled = '';
echo "<OPTION style='background-color:#cccccc;' value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id&uid=$uid' $selected $disabled>";
echo $row->bezeichnung;
echo '</OPTION>';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$uid' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo "<a href='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem' target='_blank'> [".$p->t('benotungstool/benoten')."]</a>";
$abgabe_obj = new uebung($uebung_id);
if ($abgabe_obj->abgabe && glob(BENOTUNGSTOOL_PATH."abgabe/*_[WS]S[0-9][0-9][0-9][0-9]_".$uebung_id."_*"))
{
$date = date('Y-m-d_H:i:s');
$date = date('Y-m-d_H:i:s');
$downloadname = makeUploadName($db, $which="zip", $lehreinheit_id, $uebung_id, $stsem, $uid=null, $date);
$downloadname = mb_ereg_replace($uebung_id, ereg_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname);
$downloadname = str_replace($uebung_id, str_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname);
$downloadname = preg_replace('/[^A-Za-z0-9\-_]/', '',$downloadname);
echo "<a href='zipdownload_benotungstool.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&downloadname=$downloadname'> [".$p->t('benotungstool/abgabenDownloaden')."]</a>";
}
else
echo "[".$p->t('benotungstool/keineAbgabenVerfuegbar')."]";
echo '</td></tr></table>';
}
echo "<br><hr><br>";
//Studentenliste
echo $p->t('benotungstool/bitteWaehlenSieDenStudentenAus')."<br>";
@@ -907,14 +909,14 @@ else
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td class='ContentHeader2'>".$p->t('global/uid')."</td>
<td class='ContentHeader2'>".$p->t('global/nachname')."</td>
<td class='ContentHeader2'>".$p->t('global/vorname')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/studentenansicht')."</td>
</tr>
<tr>
<td>&nbsp;</td>
@@ -922,7 +924,7 @@ else
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>";
/*
/*
if($row_grp->gruppe_kurzbz!='')
{
echo "
@@ -945,16 +947,16 @@ else
" ORDER BY nachname, vorname";
}
*/
// studentenquery
// studentenquery
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname";
if($result_stud = $db->db_query($qry_stud))
{
$i=1;
while($row_stud = $db->db_fetch_object($result_stud))
{
echo "
<tr class='liste".($i%2)."'>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->uid</a></td>
@@ -36,11 +36,11 @@ require_once('functions.inc.php');
require_once('../../../../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
@@ -64,7 +64,7 @@ if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehr
$lehreinheit_id = $_GET['lehreinheit_id'];
else
$lehreinheit_id = '';
//Angabedatei ausliefern
if (isset($_GET["download"])){
$file=$_GET["download"];
@@ -100,7 +100,7 @@ if (isset($_GET["download"])){
{
return confirm('<?php echo $p->t('gesamtnote/wollenSieWirklichLoeschen');?>');
}
function set_notenschluessel_prozent()
{
document.ns.schluessel_punkte_1.value=89;
@@ -156,7 +156,7 @@ if (isset($_FILES["angabedatei"]))
$angabedatei_up = $_FILES["angabedatei"]["tmp_name"];
else
$angabedatei_up = null;
$beispiel_id = (isset($_GET['beispiel_id'])?$_GET['beispiel_id']:'');
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
@@ -223,11 +223,11 @@ $stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -235,11 +235,11 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st
}
else
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -384,7 +384,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$error_anzahlderbeispiele = "<span class='error'>".$p->t('benotungstool/anzahlDerBeispieleKleiner100')."</span>";
$error=true;
}
if ($maxstd != '')
{
if(!is_numeric($maxstd))
@@ -405,7 +405,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
}
else
$maxstd = null;
if ($maxbsp != '')
{
if(!is_numeric($maxbsp))
@@ -427,7 +427,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
else
$maxbsp = null;
}
$freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon);
$freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis);
@@ -462,7 +462,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav);
if (isset($_POST["uebung_neu"]))
{
if (isset($_POST["kl_abgabe"]))
if (isset($_POST["kl_abgabe"]))
$uebung_obj->abgabe=true;
else
$uebung_obj->abgabe=false;
@@ -487,12 +487,12 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$uebung_obj->maxbsp = $maxbsp;
$uebung_obj->gewicht = $gewicht;
$uebung_obj->get_next_nummer();
$uebung_obj->nummer = $uebung_obj->next_nummer;
$uebung_obj->nummer = $uebung_obj->next_nummer;
if($uebung_obj->save(true))
{
$uebung_id = $uebung_obj->uebung_id;
//Angabedatei ablegen
if ($angabedatei_up)
{
@@ -503,12 +503,12 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
//Find occurence of extensions ending with ".tar."
if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array))
$extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.'));
else
else
$extension = $name_up["extension"];
$name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem);
$angabedatei = $name_neu.".".$extension;
$angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei;
//$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei;
//unlink($angabepfad);
@@ -518,7 +518,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$uebung_obj->save(false);
}
//Beispiele anlegen
$error_msg='';
for($i=0;$i<$anzahlderbeispiele;$i++)
{
@@ -625,7 +625,7 @@ if(isset($_POST['uebung_edit']))
}
else
$maxstd = null;
if ($maxbsp != '')
{
if(!is_numeric($maxbsp))
@@ -646,7 +646,7 @@ if(isset($_POST['uebung_edit']))
}
else
$maxbsp = null;
if($freigabevon_sav>$freigabebis_sav)
{
echo "<span class='error'>".$p->t('benotungstool/vonDatumNichtGroesserAlsBisDatum')."</span>";
@@ -680,7 +680,7 @@ if(isset($_POST['uebung_edit']))
$extension = $name_up["extension"];
$name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem);
$angabedatei_neu = $name_neu.".".$extension;
$angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei_neu;
//$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei;
//unlink($angabepfad);
@@ -690,7 +690,7 @@ if(isset($_POST['uebung_edit']))
move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad);
}
else
{
{
$uebung_akt = new uebung();
$uebung_akt->load($uebung_id);
$angabedatei_neu = $uebung_akt->angabedatei;
@@ -702,7 +702,7 @@ if(isset($_POST['uebung_edit']))
$uebung_obj->angabedatei=$angabedatei_neu;
$uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav);
$uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav);
if ($uebung_obj->beispiele)
if ($uebung_obj->beispiele)
$uebung_obj->abgabe = (isset($_POST['kl_abgabe'])?true:false);
//$uebung_obj->beispiele=true;
$uebung_obj->bezeichnung=$thema;
@@ -749,11 +749,11 @@ if(isset($_POST['liste_edit']))
echo "<span class='error'>".$p->t('benotungstool/gewichtMussEineZahlSein')."</span>";
$error = true;
}
if(!$error)
{
$uebung_obj = new uebung();
$uebung_obj->load($_GET['liste_id']);
$uebung_obj->gewicht=$gewicht;
@@ -804,7 +804,7 @@ if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit']))
$beispiel_obj = new beispiel();
if(isset($_POST['beispiel_edit']))
{
$beispiel_obj->load($beispiel_id);
$beispiel_obj->load($beispiel_id);
$beispiel_obj->beispiel_id= $beispiel_id;
$beispiel_obj->new=false;
}
@@ -845,7 +845,7 @@ if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit']))
//Uebersichtstabelle
if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
{
echo "<table><tr><td valign='top'>";
//Bearbeiten der ausgewaehlten Uebung
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&liste_id=$liste_id' method=POST enctype='multipart/form-data'>\n";
@@ -857,23 +857,24 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
//$downloadname = mb_ereg_replace($uebung_id,ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei);
$downloadname = mb_str_replace(' ', '_', $uebung_obj->bezeichnung);
$downloadname = mb_str_replace($uebung_id, $downloadname, $uebung_obj->angabedatei);
$downloadname = preg_replace('/[^A-Za-z0-9\-_.]/', '',$downloadname);
echo "
<tr><td>".$p->t('benotungstool/thema')."</td><td align='right'><input type='text' name='thema' maxlength='32' value='".htmlentities($uebung_obj->bezeichnung,ENT_QUOTES,'UTF-8')."'></td><td>$error_thema</td></tr>
<tr><td>".$p->t('benotungstool/freigabe')."</td><td align='right'>von <input type='text' size='16' name='freigabevon' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))."'></td></tr>
<tr><td>".$p->t('benotungstool/format')."</td><td align='right'>bis <input type='text' size='16' name='freigabebis' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis))."'></td></tr>";
if ($uebung_obj->beispiele){
echo "<tr><td>".$p->t('benotungstool/maxStudentenBeispiel')."</td><td align='right'><input type='text' name='maxstd' value='$uebung_obj->maxstd'></td><td>$error_maxstd</td></tr>
<tr><td>".$p->t('benotungstool/maxBeispieleStudent')."</td><td align='right'><input type='text' name='maxbsp' value='$uebung_obj->maxbsp'></td><td>$error_maxbsp</td></tr>";
echo"<tr><td>".$p->t('benotungstool/abgabe')." </td><td><input type='checkbox' name='kl_abgabe' ".($uebung_obj->abgabe?'checked':'')."></td></tr>";
echo "<input type='hidden' size='16' name='gewicht' value='0'>";
}
}
else if ($uebung_obj->abgabe)
{
echo "<tr><td>".$p->t('benotungstool/gewicht')."</td><td align='right'><input type='text' size='16' name='gewicht' value='$uebung_obj->gewicht'></td><td>$error_gewicht</td></tr>";
echo "<tr><td>".$p->t('benotungstool/positiv')." </td><td><input type='checkbox' name='positiv' ".($uebung_obj->positiv?'checked':'')."></td></tr>";
}
if ($uebung_obj->beispiele)
if ($uebung_obj->beispiele)
echo"<tr><td>".$p->t('benotungstool/statistikFuerStudentenAnzeigen')." </td><td><input type='checkbox' name='statistik' ".($uebung_obj->statistik?'checked':'')."></td></tr>";
echo "<tr>";
echo "<td>".$p->t('benotungstool/angabeidatei')."</td>";
@@ -900,25 +901,25 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&liste_id=$liste_id' method=POST>\n";
echo "<table width='340'><tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/neuesBeispielAnlegen')."</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>\n\n";
echo "<tr><td>".$p->t('global/bezeichnung')." <input type='text' name='bezeichnung' maxlength='32' value='".$p->t('benotungstool/beispiel')." ".($anzahl<9?'0'.($anzahl+1):($anzahl+1))."'>";
echo "&nbsp;".$p->t('benotungstool/punkte')." <input type='text' size='2' name='punkte' value='1'></td></tr>";
echo "<tr><td align='right'><input type='submit' name='beispiel_neu' value='".$p->t('benotungstool/anlegen')."'></td></tr>";
echo "</table>
</form>";
}
echo "</td></tr><tr><td valign='top'>";
//Uebersicht der Beispiele
if ($uebung_obj->beispiele)
{
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&liste_id=$liste_id' method=POST>\n";
echo "<table width='340'><tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/vorhandeneBeispiele')."</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td><td></td></tr>\n\n";
if($anzahl>0)
{
echo "<tr><th>".$p->t('benotungstool/beispiel')."</th><th>".$p->t('benotungstool/punkte')."</th><th>".$p->t('benotungstool/auswahl')."</th></tr>\n";
@@ -932,7 +933,7 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
}
else
echo "<tr><td colspan='3'>".$p->t('benotungstool/keineBeispieleAngelegt')."</td><td></td></tr>";
echo "</table></form>";
}
echo "</td><td valign='top'>";
@@ -969,10 +970,10 @@ else
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method=POST>\n";
echo "<table><tr><td colspan='2' width='340' class='ContentHeader3'>".$p->t('benotungstool/uebungBearbeiten')."</td><td>&nbsp;</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>";
$liste_obj = new uebung();
$liste_obj->load($liste_id);
echo "
<tr><td>".$p->t('benotungstool/thema')."</td><td align='right'><input type='text' name='thema' maxlength='32' value='".htmlentities($liste_obj->bezeichnung,ENT_QUOTES,'UTF-8')."'></td><td>$error_thema</td></tr><tr><td>".$p->t('benotungstool/gewicht')."</td><td align='right'><input type='text' size='16' name='gewicht' value='$liste_obj->gewicht'></td><td>$error_gewicht</td></tr>
<tr><td>".$p->t('benotungstool/positiv')." </td><td><input type='checkbox' name='positiv' ".($liste_obj->positiv?'checked':'')."></td></tr>
@@ -980,13 +981,13 @@ else
</table>
</form>";
}
//Gesamtuebersicht ueber alle Listen innerhalb der Uebung
echo "<table><tr><td valign='top'>";
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method=POST>";
echo "<table width='440'>";
$studentuebung = new uebung();
if (!$studentuebung->check_studentuebung($liste_id))
if (!$studentuebung->check_studentuebung($liste_id))
echo "<tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/vorhandeneAufgabeBearbeiten')."</td></tr>";
$uebung_obj = new uebung();
@@ -1138,10 +1139,10 @@ else
$maxstudentenprobeispiel = '';
$maxbeispieleprostudent = '';
$gewicht = 1;
}
echo "</td><td valign='top'>";
if ($anzeigen != 'abgabe' && $anzeigen != 'nada')
{
echo "
@@ -1181,27 +1182,27 @@ else
}
}
}
if ($anzeigen != "beide")
{
{
if ($liste_obj->prozent == 't')
{
$einheit = " %";
$einheit_link = $p->t('benotungstool/notenschluesselInProzent')." / <a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id&notenschluessel=punkte'>".$p->t('benotungstool/punkten')."</a>";
}
}
else
{
$einheit=" ".$p->t('benotungstool/punkte');
$einheit_link = $p->t('benotungstool/notenschluesselIn')." <a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id&notenschluessel=prozent'>".$p->t('benotungstool/prozentPunkten');
}
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method='POST' name='ns'>\n";
echo "<table><tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/notenschluesselDefinieren')."</td></tr>\n";
echo "<tr>";
echo "<td colspan='3'>";
echo $einheit_link;
echo "</td>";
echo "</tr>";
echo "</td>";
echo "</tr>";
echo "<tr><td colspan='3'>&nbsp;</td></tr>\n";
echo "<tr><td>".$p->t('benotungstool/note')."</td><td>".$p->t('benotungstool/minimum')."</td></tr>";
echo "<tr><td><input type='text' name='schluessel_note_1' maxlength='2' size='2' value='1' readonly></td><td><input type='text' size='4' name='schluessel_punkte_1' value='$notenschluessel[1]'>$einheit</td></tr>";
@@ -1215,14 +1216,14 @@ else
echo "<input type='button' onclick='set_notenschluessel_prozent();' value='".$p->t('benotungstool/standardwerteSetzen')."'><br>";
echo "<input type='submit' name='schluessel' value='".$p->t('global/speichern')."'></td>";
echo "</tr>";
echo "</table>
</form>";
}
}
if(!isset($_POST['uebung_neu']))
$thema = "Abgabe ".($anzahl<9?'0'.($anzahl+1):($anzahl+1));
if ($anzeigen != 'beispiele' && $anzeigen != 'nada')
{
echo "
@@ -15,7 +15,7 @@
* 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>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
@@ -28,12 +28,12 @@
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
$user = get_uid();
$user = get_uid();
if(!check_lektor($user))
die('Sie haben keine Berechtigung fuer diese Seite');
//Gueltigkeit der Parameter pruefen
//Gueltigkeit der Parameter pruefen
if(!isset($_GET['uebung_id']) || !is_numeric($_GET['uebung_id']))
{
die('Fehler bei der Parameteruebergabe');
@@ -62,24 +62,30 @@ if(mb_strstr($downloadname,'..'))
//Pfade bauen
$pfad = BENOTUNGSTOOL_PATH.'abgabe/';
$filename = 'download_'.$user.'_'.$downloadname.'.zip';
$filename_tmp = 'download_'.$user.'_'.$uebung_id.'.zip';
if(!check_filename($filename))
if(!check_filename($filename) || !check_filename($filename_tmp))
die('Ungueltiger Parameter gefunden');
//Pfad wechseln
chdir($pfad);
if(chdir($pfad))
{
//File loeschen falls es existiert
//if(file_exists("download_".$user."*"))
exec('rm download_'.$user.'*');
//File loeschen falls es existiert
//if(file_exists("download_".$user."*"))
exec('rm download_'.$user.'*');
//Zip File erstellen
exec("zip -r ".escapeshellarg($filename).' *_[WS]S[0-9][0-9][0-9][0-9]_'.$uebung_id.'_*');
//Zip File erstellen
exec("zip -r ".escapeshellarg($filename_tmp).' *_[WS]S[0-9][0-9][0-9][0-9]_'.$uebung_id.'_*');
//Auf Zip File Verweisen
//header("Location: $pfad$filename");
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$filename.'"');
readfile($filename);
unlink($filename);
//Auf Zip File Verweisen
//header("Location: $pfad$filename");
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$filename.'"');
readfile($filename_tmp);
unlink($filename_tmp);
}
else
{
die('Path change failed');
}
?>
+2 -1
View File
@@ -64,7 +64,8 @@ $lv_obj->load($lvid);
$lv=$lv_obj;
if(isset($_GET['studiensemester_kurzbz']))
$studiensemester_kurzbz=$_GET['studiensemester_kurzbz'];
// Uses urlencode to avoid XSS issues
$studiensemester_kurzbz = urlencode($_GET['studiensemester_kurzbz']);
else
$studiensemester_kurzbz='';
+34 -1
View File
@@ -446,6 +446,34 @@ function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, t
});
$("#studienverpflichtung").html(html);
});
$.ajax({
dataType: 'json',
url: "./pruefungsanmeldung.json.php",
type: "POST",
data: {
method: "getPrestudenten"
},
error: loadError
}).success(function(data)
{
if(data.error !== false)
{
var html = "<select id='prestudent_studiengang' name='studiengang'>";
//show if more than 1 active prestudent exists
if(data.result.length > 1)
{
data.result.forEach(function(v,i){
html += "<option value='"+v.studiengang_kz+"'>"+v.kuerzel+"</option>";
});
}
html += "</select>";
console.log(html);
$("#studiengang").html("<td style='vertical-align: top; font-weight: bold;'><?php echo $p->t('pruefung/AnrechnungInStudiengang'); ?>:</td><td>"+html+"</td>");
}
});
var start = terminVon;
var ende = terminBis;
@@ -487,6 +515,10 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id)
var studienverpflichtung_id = null;
if($("#studienverpflichtung").length)
studienverpflichtung_id = $("#studienverpflichtung option:selected").val();
var studiengang_kz = null;
if($('#prestudent_studiengang').length)
studiengang_kz = $('#prestudent_studiengang option:selected').val();
$.ajax({
dataType: 'json',
@@ -498,7 +530,8 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id)
lehrveranstaltung_id: lehrveranstaltung_id,
bemerkung: bemerkungen,
uid: uid,
studienverpflichtung_id: studienverpflichtung_id
studienverpflichtung_id: studienverpflichtung_id,
studiengang_kz: studiengang_kz
},
error: loadError
}).success(function(data){
+74 -3
View File
@@ -491,6 +491,32 @@ function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, t
$("#studienverpflichtung").html(html);
});
$.ajax({
dataType: 'json',
url: "./pruefungsanmeldung.json.php",
type: "POST",
data: {
method: "getPrestudenten"
},
error: loadError
}).success(function(data)
{
if(data.error !== false)
{
//show if more than 1 active prestudent exists
if(data.result.length > 1)
{
var html = "<select id='prestudent_studiengang' name='studiengang'>";
data.result.forEach(function(v,i){
html += "<option value='"+v.studiengang_kz+"'>"+v.kuerzel+"</option>";
});
html += "</select>";
$("#studiengang").html("<td style='vertical-align: top; font-weight: bold;'><?php echo $p->t('pruefung/AnrechnungInStudiengang'); ?>:</td><td>"+html+"</td>");
}
}
});
var start = terminVon;
var ende = terminBis;
start = start.split(' ');
@@ -532,6 +558,10 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id)
if($("#studienverpflichtung").length)
studienverpflichtung_id = $("#studienverpflichtung option:selected").val();
var studiengang_kz = null;
if($('#prestudent_studiengang').length)
studiengang_kz = $('#prestudent_studiengang option:selected').val();
$.ajax({
dataType: 'json',
url: "./pruefungsanmeldung.json.php",
@@ -542,7 +572,8 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id)
lehrveranstaltung_id: lehrveranstaltung_id,
bemerkung: bemerkungen,
uid: uid,
studienverpflichtung_id: studienverpflichtung_id
studienverpflichtung_id: studienverpflichtung_id,
studiengang_kz: studiengang_kz
},
error: loadError
}).success(function(data){
@@ -778,10 +809,10 @@ function writeAnmeldungen(data)
});
liste += "</ul>";
$("#anmeldung_hinzufuegen").html("<input id='anmeldung_hinzufuegen_uid' type='text' placeholder='StudentIn-UID' /><input type='button' value='<?php echo $p->t('global/hinzufuegen'); ?>' onclick='saveAnmeldung(\""+lehrveranstaltung_id+"\",\""+terminId+"\");'/>");
$("#reihungSpeichernButton").html("<input type='button' value='<?php echo $p->t('pruefung/reihungSpeichern'); ?>' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>");
$("#reihungSpeichernButton").html("<input type='button' value='<?php echo $p->t('pruefung/reihungSpeichern'); ?>' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'><input type='button' value='<?php echo $p->t('pruefung/alleBestaetigen'); ?>' onclick='alleBestaetigen(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>");
$("#lvdaten").html(lv_bezeichnung+" ("+prf_termin+")");
$("#anmeldeDaten").html(liste);
$("#listeDrucken").html("<a href='./pruefungsanmeldungen_liste.php?termin_id="+terminId+"&lehrveranstaltung_id="+lehrveranstaltung_id+"&studiensemester="+studiensemester+"' target='_blank'><?php echo $p->t('pruefung/listeDrucken'); ?></a>");
$("#listeDrucken").html("<a href='./pruefungsanmeldungen_liste.pdf.php?termin_id="+terminId+"&lehrveranstaltung_id="+lehrveranstaltung_id+"&studiensemester="+studiensemester+"' target='_blank'><?php echo $p->t('pruefung/listeDrucken'); ?></a>");
if(ort_kurzbz !== null)
{
$("#raumLink").html("<span><?php echo $p->t('pruefung/pruefungsraum'); ?></span>"+ort_kurzbz);
@@ -800,6 +831,8 @@ function writeAnmeldungen(data)
}
else
{
$("#anmeldung_hinzufuegen").empty();
$("#lvdaten").empty();
$("#anmeldeDaten").empty();
$("#reihungSpeichernButton").empty();
$("#kommentar").empty();
@@ -807,6 +840,11 @@ function writeAnmeldungen(data)
$("#raumLink").empty();
$("#listeDrucken").empty();
messageBox("message", data.errormsg, "red", "highlight", 1000);
if (data.lv_bezeichnung)
{
$("#lvdaten").html(data.lv_bezeichnung+" ("+data.termin_datum+")");
$("#anmeldung_hinzufuegen").html("<input id='anmeldung_hinzufuegen_uid' type='text' placeholder='StudentIn-UID' /><input type='button' value='<?php echo $p->t('global/hinzufuegen'); ?>' onclick='saveAnmeldung(\""+data.lv_id+"\",\""+data.termin_id+"\");'/>");
}
}
}
@@ -891,6 +929,39 @@ function anmeldungBestaetigen(pruefungsanmeldung_id, termin_id, lehrveranstaltun
});
}
/**
* Ändert den Status aller Anmeldungen eines Termins auf "bestätigt"
* @param {type} termin_id ID des Prüfungstermines
* @param {type} lehrveranstaltung_id ID der Lehrveranstaltung
* @returns {undefined}
*/
function alleBestaetigen(termin_id, lehrveranstaltung_id)
{
$.ajax({
dataType: 'json',
url: "./pruefungsanmeldung.json.php",
type: "POST",
data: {
method: "alleBestaetigen",
termin_id: termin_id,
lehrveranstaltung_id: lehrveranstaltung_id
},
error: loadError
}).success(function(data){
if(data.error === 'false' && data.result === true)
{
if(termin_id !== 'undefined' && lehrveranstaltung_id !== 'undefined')
{
showAnmeldungen(termin_id, lehrveranstaltung_id);
}
}
else
{
messageBox("message", data.errormsg, "red", "highlight", 1000);
}
});
}
/**
* Anzeige eines DIVs zur Darstellung von Fehlermeldungen, etc.
* @param {type} divId ID des DIVs in dem die Meldung dargestellt werden soll
@@ -97,6 +97,9 @@ switch($method)
case 'anmeldungBestaetigen':
$data = anmeldungBestaetigen($uid);
break;
case 'alleBestaetigen':
$data = alleBestaetigen($uid);
break;
case 'getStudiengaenge':
$data = getStudiengaenge();
break;
@@ -118,8 +121,11 @@ switch($method)
break;
case 'getLvKompatibel':
$lvid = filter_input(INPUT_POST, "lehrveranstaltung_id");
$data = getLvKompatibel($lvid);
$data = getLvKompatibel($lvid, $uid);
break;
case 'getPrestudenten':
$data = getPrestudenten($uid, $aktStudiensemester);
break;
default:
break;
}
@@ -376,6 +382,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$stdsem = $studiensemester->getLastOrAktSemester(0);
$lv_besucht = false;
$studienverpflichtung_id = filter_input(INPUT_POST, "studienverpflichtung_id");
$studiengang_kz = filter_input(INPUT_POST, "studiengang_kz");
//Defaulteinstellung für Anzahlprüfungsversuche (wird durch Addon "ktu" überschrieben)
$maxAnzahlVersuche = 0;
@@ -420,7 +427,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$stdsem_lv_besuch = $stdsem;
}
}
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$lehrveranstaltung->lehrveranstaltungen = array();
$i++;
@@ -441,7 +448,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
// Defaulteinstellung für Prüfungstypen - schauen, ob bereits aus KTU-Addon geladen
if(!isset($pruefungstyp_kurzbzArray))
$pruefungstyp_kurzbzArray = array("Termin1","Termin2","kommPruef");
if(isset($pruefungstyp_kurzbzArray))
{
if($anzahlPruefungen < count($pruefungstyp_kurzbzArray))
@@ -519,7 +526,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $pruefungsfenster->studiensemester_kurzbz);
if($anmeldungen !== false)
{
$ects_verwendet = 0;
@@ -539,11 +546,20 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$konto = new konto();
$creditPoints = $konto->getCreditPointsOfStudiensemester($uid, $pruefungsfenster->studiensemester_kurzbz);
if(($creditPoints != false) && ($lehrveranstaltung->ects > ($creditPoints - $ects_verwendet)))
if(($creditPoints !== false))
{
$cpVerbleibend = $creditPoints - $ects_verwendet;
if(($lehrveranstaltung->ects > $cpVerbleibend))
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
}
}
elseif($konto->errormsg !== null)
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
$data['errormsg'] = 'Fehler beim Laden der Credit Points.';
}
if(isset($data['error']) && $data['error'] = 'true')
@@ -574,6 +590,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$anrechnung = new anrechnung();
$lv_komp = new lehrveranstaltung($studienverpflichtung_id);
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
$person = new person();
$person->getPersonFromBenutzer($uid);
$prestudent = new prestudent();
@@ -583,39 +600,92 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
if ($aktStudiensemester)
$stdsem = $aktStudiensemester;
if(count($prestudent->result) > 0)
$prestudenten = array();
foreach ($prestudent->result as $ps)
{
$prestudent_id = "";
foreach($prestudent->result as $ps)
{
if($ps->getLaststatus($ps->prestudent_id, $stdsem))
{
if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
else
{
if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
else
{
if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
if ($ps->getLaststatus($ps->prestudent_id, $stdsem))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
array_push($prestudenten, $ps);
}
}
}
if (count($prestudenten) > 0)
{
$prestudent_id = "";
if (count($prestudenten) != 1)
{
foreach ($prestudenten as $ps)
{
if($ps->studiengang_kz === $studiengang_kz)
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
else
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
else
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
}
}
else
{
foreach ($prestudenten as $ps)
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
else
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
else
{
if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
}
if($prestudent_id != "")
{
$anrechungSaveResult = false;
@@ -809,34 +879,38 @@ function getAnmeldungenTermin()
$pruefungstermin->lv_lehrtyp = $lv->lehrtyp_kurzbz;
$datum = new DateTime($pruefungstermin->von);
$pruefungstermin->datum = $datum->format('d.m.Y');
foreach($pruefungstermin->anmeldungen as $a)
{
$student = new student($a->uid);
$temp = new stdClass();
$temp->vorname = $student->vorname;
$temp->nachname = $student->nachname;
$temp->uid = $student->uid;
$a->student = $temp;
}
if(!empty($pruefungstermin->anmeldungen))
{
$data['result']=$pruefungstermin;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
if($pruefungsanmeldung->errormsg !== null)
foreach($pruefungstermin->anmeldungen as $a)
{
$data['errormsg']=$pruefungsanmeldung->errormsg;
$student = new student($a->uid);
$temp = new stdClass();
$temp->vorname = $student->vorname;
$temp->nachname = $student->nachname;
$temp->uid = $student->uid;
$a->student = $temp;
}
if(!empty($pruefungstermin->anmeldungen))
{
$data['result']=$pruefungstermin;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['errormsg']= $p->t('pruefung/keineAnmeldungenVorhanden');
$data['error']='true';
if($pruefungsanmeldung->errormsg !== null)
{
$data['errormsg']=$pruefungsanmeldung->errormsg;
}
else
{
$data['errormsg']= $p->t('pruefung/keineAnmeldungenVorhanden');
$data['lv_id'] = $lehrveranstaltung_id;
$data['termin_id'] = $pruefungstermin_id;
$data['termin_datum'] = $pruefungstermin->datum;
$data['lv_bezeichnung'] = $pruefungstermin->lv_bezeichnung;
}
}
}
return $data;
return $data;
}
/**
@@ -861,6 +935,67 @@ function saveReihung()
return $data;
}
/**
* Ändert den Status aller Prüfungsanmeldungen eines Termins/LV auf "bestaetigt"
* @return Array
*/
function alleBestaetigen($uid)
{
global $p;
$lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
$pruefungstermin_id = $_REQUEST["termin_id"];
$pruefungstermin = new pruefungstermin($pruefungstermin_id);
$pruefungsanmeldung = new pruefungsanmeldung();
$pranmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id);
foreach($pranmeldungen as $a)
{
$anmeldung = new pruefungsanmeldung($a->pruefungsanmeldung_id);
if ($anmeldung->status_kurzbz == 'angemeldet')
{
if ($anmeldung->changeState($a->pruefungsanmeldung_id, 'bestaetigt', $uid))
{
$anm = new pruefungsanmeldung($a->pruefungsanmeldung_id);
$termin = new pruefungstermin($anm->pruefungstermin_id);
$lv = new lehrveranstaltung($anm->lehrveranstaltung_id);
$ma = new mitarbeiter($uid);
$datum = new datum();
$ort = new ort($termin->ort_kurzbz);
$pruefung = new pruefungCis($termin->pruefung_id);
$to = $anm->uid."@".DOMAIN;
$from = "noreply@".DOMAIN;
$subject = $p->t('pruefung/emailSubjectAnmeldungBestaetigung');
$html = $p->t('pruefung/emailBody1')." ".$ma->vorname." ".$ma->nachname." ".$p->t('pruefung/emailBody2')."<br>";
$html .= "<br>";
$html .= $p->t('pruefung/emailBodyPruefung')." ".$lv->bezeichnung."<br>";
if($pruefung->einzeln)
{
$date = $datum->formatDatum($termin->von, "Y-m-d H:i:s");
$date = strtotime($date);
$date = $date+(60*$pruefung->pruefungsintervall*($anmeldung->reihung-1));
$von = date("H:i",$date);
$html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$von."<br>";
$html .= $p->t('pruefung/emailBodyDauer')." ".$pruefung->pruefungsintervall." ".$p->t('pruefung/emailBodyMinuten')."</br>";
}
else
$html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$datum->formatDatum($termin->von, "H:i")."<br>";
$html .= $p->t('pruefung/anmeldungErfolgreich')." ".$ort->bezeichnung."<br>";
$html .= "<br>";
$html .= "<a href='".APP_ROOT."cis/private/lehre/pruefung/pruefungsanmeldung.php'>".$p->t('pruefung/emailBodyLinkZurAnmeldung')."</a><br>";
$html .= "<br>";
$mail = new mail($to, $from, $subject,$p->t('pruefung/emailBodyBitteHtmlSicht'));
$mail->setHTMLContent($html);
$mail->send();
}
}
}
$data['result']=true;
$data['error']='false';
$data['errormsg']='';
return $data;
}
/**
* Ändert den Status einer Prüfungsanmeldung auf "bestaetigt"
* @return Array
@@ -1153,21 +1288,75 @@ function saveRaum($terminId, $ort_kurzbz, $uid)
return $data;
}
function getLvKompatibel($lvid)
function getLvKompatibel($lvid, $uid)
{
$lv = new lehrveranstaltung();
if($lv->getLVkompatibel($lvid))
$person = new person();
$person->getPersonFromBenutzer($uid);
$prestudent = new prestudent();
$prestudent->getPrestudenten($person->person_id);
$stplIds = array();
foreach ($prestudent->result as $ps)
{
$data['result']=$lv->lehrveranstaltungen;
$data['error']='false';
$data['errormsg']='';
if ($ps->getLaststatus($ps->prestudent_id))
{
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
array_push($stplIds, $ps->studienplan_id);
}
}
}
$lv = new lehrveranstaltung();
if($lv->getLVkompatibelTo($lvid, $stplIds))
{
$data['result']=$lv->lehrveranstaltungen;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['result']="";
$data['error']='true';
$data['errormsg']=$lv->errormsg;
$data['result']="";
$data['error']='true';
$data['errormsg']=$lv->errormsg;
}
return $data;
}
function getPrestudenten($uid, $aktStudiensemester)
{
$person = new person();
$person->getPersonFromBenutzer($uid);
$prestudent = new prestudent();
$prestudent->getPrestudenten($person->person_id);
$result = array();
if (count($prestudent->result) > 0)
{
foreach ($prestudent->result as $key=>$ps)
{
if ($ps->getLaststatus($ps->prestudent_id))
{
if(($ps->status_kurzbz === 'Student') || ($ps->status_kurzbz == 'Unterbrecher'))
{
$studiengang = new studiengang($ps->studiengang_kz);
array_push($result, $studiengang);
}
}
}
$data['result']=$result;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['result']="";
$data['error']='true';
$data['errormsg']=$lv->errormsg;
}
return $data;
}
?>
@@ -40,6 +40,17 @@ $p = new phrasen($sprache);
//TODO
$uid = get_uid();
if(isset($_GET['uid']))
{
// Administratoren duerfen die UID als Parameter uebergeben um den Studienplan
// von anderen Personen anzuzeigen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if($rechte->isBerechtigt('admin'))
$uid=$_GET['uid'];
}
$db = new basis_db();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
@@ -302,6 +313,9 @@ $studiensemester->getAll();
</td>
</tr>
<?php endif; ?>
<tr id="studiengang">
</tr>
<tr>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('global/anmerkung'); ?>: </td>
<td>
@@ -0,0 +1,167 @@
<?php
/* Copyright (C) 2015 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: Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/dokument_export.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/pruefungsanmeldung.class.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
require_once('../../../../include/vorlage.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$user=get_uid();
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$berechtigung = new benutzerberechtigung();
$berechtigung->getBerechtigungen($user);
if(isset($_GET['lehrveranstaltung_id']) && is_numeric($_GET['lehrveranstaltung_id']))
$lvid = $_GET['lehrveranstaltung_id'];
else
die('Eine gueltige LvID muss uebergeben werden');
if(isset($_GET['studiensemester']))
$studiensemester = $_GET['studiensemester'];
else
die('Eine Studiensemester muss uebergeben werden');
if(isset($_GET['termin_id']) && is_numeric($_GET['termin_id']))
$termin_id = $_GET['termin_id'];
else
die('Eine Termin-ID muss uebergeben werden');
$vorlagecheck = new vorlage();
if (!$vorlagecheck->loadVorlage('Pruefungslist'))
header('Location: pruefungsanmeldungen_liste.php?termin_id='.$termin_id.'&lehrveranstaltung_id='.$lvid.'&studiensemester='.$studiensemester);
if(!$berechtigung->isBerechtigt('admin') && !$berechtigung->isBerechtigt('assistenz') && !check_lektor_lehrveranstaltung($user,$lvid,$studiensemester))
die('Sie muessen LektorIn der LV oder Admin sein, um diese Seite aufrufen zu koennen');
$output='pdf';
if(isset($_GET['output']) && ($output='odt' || $output='doc'))
$output=$_GET['output'];
$lv = new lehrveranstaltung();
$lv->load($lvid);
$doc = new dokument_export('Pruefungslist');
$stg = new studiengang();
$stg->load($lv->studiengang_kz);
$studiengang_bezeichnung=$stg->bezeichnung;
$stg->getAllTypes();
$datum = new datum();
$stdsem = new studiensemester($studiensemester);
$pruefungsanmeldung = new pruefungsanmeldung();
$anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($termin_id, $lvid, $studiensemester, "bestaetigt");
$lehrveranstaltung = new lehrveranstaltung($lvid);
$einzeln = FALSE;
if(!empty($anmeldungen))
{
$pruefung = new pruefungCis($anmeldungen[0]->pruefung_id);
$pruefungstermin = new pruefungstermin($anmeldungen[0]->pruefungstermin_id);
$mitarbeiter = new mitarbeiter($pruefung->mitarbeiter_uid);
$dozent = $mitarbeiter->getFullName(FALSE);
$termin_datum = $datum->formatDatum($pruefungstermin->von, "d.m.Y - H:i");
$data = array(
'bezeichnung'=>$lv->bezeichnung,
'lehrveranstaltung_id'=>$lv->lehrveranstaltung_id,
'studiengang'=>$studiengang_bezeichnung,
'studiengang_kz'=>$lv->studiengang_kz,
'typ'=>$stg->studiengang_typ_arr[$stg->typ],
'studiensemester'=>$stdsem->bezeichnung,
'semester'=>$lv->semester,
'orgform'=>$lv->orgform_kurzbz,
'dozent'=>$dozent,
'termin_datum'=>$termin_datum
);
$count = 0;
foreach($anmeldungen as $anmeldung)
{
$student = new student($anmeldung->uid);
$prfTermin = new pruefungstermin($anmeldung->pruefungstermin_id);
if($einzeln)
{
$date = $datum->formatDatum($prfTermin->von, "Y-m-d H:i:s");
$date = strtotime($date);
$date = $date+(60*$pruefungsintervall*($count));
$date = $datum->formatDatum($prfTermin->von,"d.m.Y").' - '.date("H:i",$date);
$count++;
}
else
{
$date = $datum->formatDatum($prfTermin->von,"d.m.Y - H:i");
$count++;
}
$date = $datum->formatDatum($prfTermin->von,"d.m.Y");
$data[] = array('student'=>array(
'count' => $count,
'vorname' => $student->vorname,
'nachname' => $student->nachname,
'matr_nr' => $student->matr_nr,
'datum' => $date,
'wuensche' => $anmeldung->wuensche,
'kommentar' => $anmeldung->kommentar
));
}
$doc->addDataArray($data,'pruefungsliste');
//header("Content-type: application/xhtml+xml");
//echo $doc->ConvertArrayToXML($data,'anwesenheitsliste');
//exit;
if(!$doc->create($output))
die($doc->errormsg);
$doc->output();
$doc->close();
}
else {
echo $p->t('pruefung/keineBestaetigtenAnmeldungenVorhanden');
}
?>
+1 -1
View File
@@ -235,7 +235,7 @@ if ($num_rows_stpl>0)
echo '
<tr class="liste'.($i%2).'">
<td>'.$db->convert_html_chars($unr).'</td>
<td><A class="Item" href="mailto:'.$pers_email.'">'.$db->convert_html_chars($titelpre.' '.$pers_vorname.' '.$pers_nachname.' '.$titelpost).'</A></td>
<td><A class="Item" href="../profile/index.php?uid='.$row->uid.'" target="_self" onClick="window.resizeTo(1200,880)">'.$db->convert_html_chars($titelpre.' '.$pers_vorname.' '.$pers_nachname.' '.$titelpost).'</A></td>
<td title="'.$db->convert_html_chars($ort->bezeichnung).'">'.(!empty($ortkurzbz)?($ort->content_id!=''?'<a href="../../../cms/content.php?content_id='.$ort->content_id.'" target="_self" onClick="window.resizeTo(1200,880)">'.$db->convert_html_chars($ortkurzbz).'</a>':$db->convert_html_chars($ortkurzbz)):$db->convert_html_chars($ortkurzbz)).'</td>
<td>'.$db->convert_html_chars($lehrfachkurzbz).'</td>
<td>'.$db->convert_html_chars($bezeichnung).'</td>
+3 -2
View File
@@ -55,10 +55,11 @@ if (isset($_GET['datum']))
if (isset($_POST['datum']))
$datum=$_POST['datum'];
// Uses urlencode to avoid XSS issues
if (isset($_GET['ort_kurzbz']))
$ort_kurzbz=$_GET['ort_kurzbz'];
$ort_kurzbz = urlencode($_GET['ort_kurzbz']);
else if (isset($_POST['ort_kurzbz']))
$ort_kurzbz=$_POST['ort_kurzbz'];
$ort_kurzbz = urlencode($_POST['ort_kurzbz']);
else
$ort_kurzbz=null;
+87 -65
View File
@@ -291,9 +291,9 @@ if($zeugnisnote->getZeugnisnoten('',$uid,''))
foreach($zeugnisnote->result as $row_note)
{
if($row_note->note!='')
{
{
$noten_arr[$row_note->lehrveranstaltung_id][$row_note->studiensemester_kurzbz]=$row_note->note;
}
}
}
}
@@ -447,10 +447,18 @@ function drawTree($tree, $depth)
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
if(!$positiv)
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
//echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
if(count($kompatibleLVs) > 0)
{
checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid, true);
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif($positiv)
{
@@ -458,7 +466,7 @@ function drawTree($tree, $depth)
}
elseif($lvregelExists)
{
if($abgeschlossen && $positiv)
if($abgeschlossen || $positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
@@ -475,66 +483,7 @@ function drawTree($tree, $depth)
//check if compatible course has grade
elseif(count($kompatibleLVs) > 0)
{
$positiv = false;
$found = false;
$i = 0;
while(!$found && $i < count($kompatibleLVs))
{
foreach($kompatibleLVs as $komp)
{
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
if(count($anrechnung->result) == 1)
{
$lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
if(isset($noten_arr[$lv]))
{
$positiv=false;
foreach($noten_arr[$lv] as $note)
{
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
$found = true;
}
else
{
/* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert
* darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde
*/
if(!$found)
$found = false;
}
}
$i++;
}
}
if($found)
{
if($positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif(!$found)
{
if(!$row_tree->stpllv_pflicht)
{
echo '<span>'.$p->t('studienplan/optional').'</span>';
}
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid);
}
else
{
@@ -709,6 +658,79 @@ function drawTree($tree, $depth)
drawTree($row_tree->childs, $depth+1);
}
}
function checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid, $negativeNote= null)
{
$positiv = false;
$found = false;
$i = 0;
while(!$found && $i < count($kompatibleLVs))
{
foreach($kompatibleLVs as $komp)
{
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
if(count($anrechnung->result) == 1)
{
$lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
if(isset($noten_arr[$lv]))
{
$positiv=false;
foreach($noten_arr[$lv] as $note)
{
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
$found = true;
}
else
{
/* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert
* darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde
*/
if(!$found)
$found = false;
}
}
$i++;
}
}
if($found)
{
if($positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif(!$found)
{
if(!$row_tree->stpllv_pflicht)
{
echo '<span>'.$p->t('studienplan/optional').'</span>';
}
else
{
if(($negativeNote!= null) && ($negativeNote == true))
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
}
}
echo '</table>';
echo '<br><br>'.$p->t('studienplan/legende').':<br>
<table>
+1 -1
View File
@@ -127,7 +127,7 @@ if(!$person->load($uid))
{
if(elem[i].name.match("^wunsch"))
{
if(!elem[i].value.match("[12]"))
if(!elem[i].value.match("^\-?[1-2]\d{0,0}$"))
error=true;
}
}
+72 -76
View File
@@ -22,7 +22,7 @@
*/
/*******************************************************************************************************
* projektabgabe
* projektabgabe ermöglicht den Download aller Abgaben eines Stg.
* projektabgabe ermöglicht den Download aller Abgaben eines Stg.
* fuer Diplom- und Bachelorarbeiten
*******************************************************************************************************/
@@ -53,12 +53,12 @@ if(!is_numeric($stg_kz) && $stg_kz!='')
$abgabetyp=(isset($_REQUEST['abgabetyp'])?$_REQUEST['abgabetyp']:'');
$termin=(isset($_REQUEST['termin'])?$_REQUEST['termin']:'');
$htmlstr='';
$datum_obj = new datum();
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$rechte->getBerechtigungen($user);
$berechtigung_kurzbz = 'lehre/abgabetool:download';
if(isset($_GET['id']) && isset($_GET['uid']))
@@ -67,14 +67,14 @@ if(isset($_GET['id']) && isset($_GET['uid']))
{
if(!is_numeric($_GET['id']) || $_GET['id']=='')
die($p->t('global/fehlerBeiDerParameteruebergabe'));
$file = $_GET['id'].'_'.$_GET['uid'].'.pdf';
$filename = PAABGABE_PATH.$file;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
}
else
else
{
die($p->t('global/keineBerechtigungFuerDieseSeite'));
}
@@ -84,8 +84,7 @@ if(isset($_GET['id']) && isset($_GET['uid']))
if($aktion!='zip')
{
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
echo '<!DOCTYPE HTML>
<html>
<head>
<title>'.$p->t('abgabetool/projektabgabeUebersicht').'</title>
@@ -97,22 +96,22 @@ if($aktion!='zip')
<script src="../../../include/js/jquery.autocomplete.js" type="text/javascript"></script>
<script src="../../../include/js/jquery.autocomplete.min.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
$(document).ready(function()
{
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[5,0]],
widgets: ["zebra"]
});
});
});
</script>
</head>
<body>
<H1>'.$p->t('abgabetool/projektabgabeUebersicht').'</H1>';
$s = new studiengang();
$s->loadArray($rechte->getStgKz($berechtigung_kurzbz),'typ,kurzbz');
echo'<form method="GET" action="'.$_SERVER['PHP_SELF'].'" name="abgabeFrm">';
echo $p->t('global/studiengang').": <SELECT onchange='set_termin();' id='stg_kz' name='stg_kz'>";
@@ -135,27 +134,24 @@ if($aktion!='zip')
}
}
echo "</SELECT>";
$qry_termin=" SELECT distinct campus.tbl_paabgabe.datum as termin , to_char(campus.tbl_paabgabe.datum, 'DD-MM-YYYY') as termin_anzeige
FROM lehre.tbl_projektarbeit
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
";
//AND public.tbl_benutzer.aktiv
if ($stg_kz!='')
$qry_termin.=" AND public.tbl_studiengang.studiengang_kz='$stg_kz'";
if ($abgabetyp!='')
$qry_termin.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz='$abgabetyp'";
$qry_termin.=" ORDER BY termin desc";
$qry_termin=" SELECT distinct campus.tbl_paabgabe.datum as termin , to_char(campus.tbl_paabgabe.datum, 'DD-MM-YYYY') as termin_anzeige
FROM lehre.tbl_projektarbeit
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
";
//AND public.tbl_benutzer.aktiv
if ($stg_kz!='')
$qry_termin.=" AND public.tbl_studiengang.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER);
if ($abgabetyp!='')
$qry_termin.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz=".$db->db_add_param($abgabetyp);
$qry_termin.=" ORDER BY termin desc";
echo '&nbsp;'.$p->t('abgabetool/termin').'&nbsp;<select name="termin" id="termin">
<option value="" '. (!isset($_REQUEST['termin']) || empty($termin)?' selected ':'') .'>-'.$p->t('global/alle').'-</option> ';
if($result_termin=$db->db_query($qry_termin))
@@ -166,37 +162,37 @@ if($aktion!='zip')
}
}
echo '</select>';
?>
<script type="text/javascript">
function set_termin()
<script type="text/javascript">
function set_termin()
{
$('#termin').children().remove().end();
$.ajax
(
{
type: "POST",
url: 'projektabgabe_autocomplete.php',
dataType: 'json',
data: "work=work_termin_select" + "&stg_kz=" + $('#stg_kz').val() + "&abgabetyp=" + $('#abgabetyp').val(),
success: function(json)
{
var output = '';
for (p in json)
{
$('#termin').children().remove().end();
$.ajax
(
{
type: "POST",
url: 'projektabgabe_autocomplete.php',
dataType: 'json',
data: "work=work_termin_select" + "&stg_kz=" + $('#stg_kz').val() + "&abgabetyp=" + $('#abgabetyp').val(),
success: function(json)
{
var output = '';
for (p in json)
{
output += '<option value=\"' + json[p].oTermin + '\">' + json[p].oTerminAnzeige + '<\/option>\n';
}
$('#termin').html(output);
$('#termin').result(function(event, data, formatted) {}).focus();
}
}
);
output += '<option value=\"' + json[p].oTermin + '\">' + json[p].oTerminAnzeige + '<\/option>\n';
}
</script>
$('#termin').html(output);
$('#termin').result(function(event, data, formatted) {}).focus();
}
}
);
}
</script>
<?php
echo "&nbsp;<INPUT type='submit' name='ok' value='".$p->t('global/anzeigen')."' onclick=\"f=document.abgabeFrm;f.aktion.value='';\">&nbsp;<INPUT type='button' value='ZIP' onclick=\"f=document.abgabeFrm;f.aktion.value='zip';f.submit();\"></FORM><br>";
}
##if($stg_kz!='' || $abgabetyp!='' || $termin!='')
if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=='zip'))
@@ -207,20 +203,20 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
{
die($p->t('global/studiengangKonnteNichtGefundenWerden'));
}
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt($berechtigung_kurzbz, $s->oe_kurzbz))
{
$qry="";
$qry.=" SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,* FROM lehre.tbl_projektarbeit
$qry.=" SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,* FROM lehre.tbl_projektarbeit
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
";
if ($stg_kz!='')
@@ -233,7 +229,7 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
if($stg_kz=='' && $abgabetyp=='' && $termin=='')
{
$qry.=" limit 100 ";
$qry.=" limit 100 ";
}
if(!$erg=$db->db_query($qry))
@@ -261,7 +257,7 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
{
$htmlstr .= " <td align=center><a href='".$_SERVER['PHP_SELF']."?id=".$row->paabgabe_id."&amp;uid=$row->uid' target='_blank'><img src='../../../skin/images/pdf.ico' alt='PDF' title='abgegebene Datei' border=0></a></td>";
}
else
else
{
$htmlstr .= " <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>";
}
@@ -279,16 +275,16 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
{
$zipfile = $row->paabgabe_id.'_'.$row->uid.'.pdf';
}
else
else
{
$zipfile .= " ".$row->paabgabe_id.'_'.$row->uid.'.pdf';
}
}
}
}
$htmlstr .= "</tbody></table>";
}
}
else
}
else
{
die($p->t('global/keineBerechtigungFuerDieseSeite'));
}
@@ -317,18 +313,18 @@ else
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="Abgabe_'.$s->kuerzel.'.zip"');
$handle = fopen($zipausgabe, "rb");
while (!feof($handle))
while (!feof($handle))
{
echo fread($handle, 1024);
}
fclose($handle);
//echo file_get_contents($zipausgabe);
unlink($zipausgabe);
unlink($zipausgabe);
}
else
else
{
echo $p->t('global/dateiExistiertNicht');
}
+4 -1
View File
@@ -61,7 +61,10 @@ echo '<h1>',$p->t('tools/suche'),'</h1>';
$search = (isset($_REQUEST['search'])?$_REQUEST['search']:'');
echo '<form action="',$_SERVER['PHP_SELF'],'" name="searchform" method="GET">
// Uses htmlspecialchars to avoid XSS issues
$self = htmlspecialchars($_SERVER["PHP_SELF"], ENT_QUOTES, "utf-8");
echo '<form action="',$self,'" name="searchform" method="GET">
<input type="search" placeholder="'.$p->t('tools/suchbegriff').' ..." size="40" name="search" value="',$db->convert_html_chars($search),'" />
<img src="../../../skin/images/search.png" onclick="document.searchform.submit()" height="15px" class="suchicon"/>
</form><br>';
+2 -1
View File
@@ -86,7 +86,8 @@ $activities_str = "'".implode("','", $activities)."'";
$gesperrt_bis = '2015-08-31';
$sperrdatum = date('c', strtotime($gesperrt_bis));
$zeitaufzeichnung_id = (isset($_GET['zeitaufzeichnung_id'])?$_GET['zeitaufzeichnung_id']:'');
// Uses urlencode to avoid XSS issues
$zeitaufzeichnung_id = urlencode(isset($_GET['zeitaufzeichnung_id'])?$_GET['zeitaufzeichnung_id']:'');
$projekt_kurzbz = (isset($_POST['projekt'])?$_POST['projekt']:'');
$oe_kurzbz_1 = (isset($_POST['oe_kurzbz_1'])?$_POST['oe_kurzbz_1']:'');
$oe_kurzbz_2 = (isset($_POST['oe_kurzbz_2'])?$_POST['oe_kurzbz_2']:'');
+118 -36
View File
@@ -187,6 +187,11 @@ $( document ).ready(function()
}
}
});
function setBisdatum(datum)
{
if(document.getElementById("bis_datum").value=="")
document.getElementById("bis_datum").value=datum;
}
</script>
';
?>
@@ -269,20 +274,51 @@ if($method =="austauschprogram")
// Speichert Austauschprogram in preincoming tabelle
if(isset($_POST['submit_program']))
{
$preincoming->von = $date->formatDatum($_REQUEST['von'],'Y-m-d');
$preincoming->bis = $date->formatDatum($_REQUEST['bis'],'Y-m-d');
if (isset($_REQUEST['code']))
$preincoming->code = $_REQUEST['code'];
if($_REQUEST['austausch_kz']== "austausch_auswahl")
$preincoming->mobilitaetsprogramm_code = '';
$von_datum = $_REQUEST['von'];
$bis_datum = $_REQUEST['bis'];
//Datum auf Gueltigkeit pruefen
if (($von_datum != '' && !$date->formatDatum($von_datum,'Y-m-d')) || ($bis_datum != '' && !$date->formatDatum($bis_datum,'Y-m-d')))
{
echo '<span style="color: red"><b>'.($p->t('incoming/bitteGueltigesDatumEingeben')).'</b></span>';
}
else
$preincoming->mobilitaetsprogramm_code = $_REQUEST['austausch_kz'];
$preincoming->updateamum = date('Y-m-d H:i:s');
{
$von_datum = $date->formatDatum($von_datum,'Y-m-d');
$bis_datum = $date->formatDatum($bis_datum,'Y-m-d');
$dtstart = new DateTime($von_datum);
$dtende = new DateTime($bis_datum);
$jetzt = new DateTime();
if(!$preincoming->save())
echo $preincoming->errormsg;
else
echo $p->t('global/erfolgreichgespeichert');
if ($dtstart < $jetzt)
{
echo '<span style="color: red"><b>'.$p->t('incoming/beginnNichtInVergangenheit').'</b></span>';
$_REQUEST['von'] = '';
}
elseif ($von_datum != '' && $bis_datum != '' && $dtende < $dtstart)
{
echo '<span style="color: red"><b>'.$p->t('incoming/endeGroesserStart').'</b></span>';
$_REQUEST['bis'] = '';
}
else
{
$preincoming->von = $date->formatDatum($_REQUEST['von'],'Y-m-d');
$preincoming->bis = $date->formatDatum($_REQUEST['bis'],'Y-m-d');
if (isset($_REQUEST['code']))
$preincoming->code = $_REQUEST['code'];
if($_REQUEST['austausch_kz']== "austausch_auswahl")
$preincoming->mobilitaetsprogramm_code = '';
else
$preincoming->mobilitaetsprogramm_code = $_REQUEST['austausch_kz'];
$preincoming->updateamum = date('Y-m-d H:i:s');
if(!$preincoming->save())
echo $preincoming->errormsg;
else
echo $p->t('global/erfolgreichgespeichert');
}
}
}
// Ausgabe Austauschprogram Formular
echo ' <form method="POST" action="incoming.php?method=austauschprogram" name="AustauschForm">
@@ -317,11 +353,11 @@ if($method =="austauschprogram")
</tr>
<tr>
<td>'.$p->t('incoming/studiertvon').' </td>
<td><input type="text" name="von" class="datepicker_exchange" size="10" value="'.$date->formatDatum($preincoming->von,'d.m.Y').'"> (dd.mm.yyyy)</td>
<td><input type="text" id="von_datum" name="von" class="datepicker_exchange" size="10" value="'.($preincoming->von != ''?$date->formatDatum($preincoming->von,'d.m.Y'):$_REQUEST['von']).'" onchange="setBisdatum(this.value)"> (dd.mm.yyyy)</td>
</tr>
<tr>
<td>'.$p->t('incoming/studiertbis').' </td>
<td><input type="text" name="bis" class="datepicker_exchange" size="10" value="'.$date->formatDatum($preincoming->bis,'d.m.Y').'"> (dd.mm.yyyy)</td>
<td><input type="text" id="bis_datum" name="bis" class="datepicker_exchange" size="10" value="'.($preincoming->bis != ''?$date->formatDatum($preincoming->bis,'d.m.Y'):$_REQUEST['bis']).'"> (dd.mm.yyyy)</td>
</tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
@@ -345,12 +381,71 @@ else if($method=="lehrveranstaltungen")
{ // speichern der LV-ID
if($_GET['mode']=="add")
{
$id= $_GET['id'];
if($preincoming->addLehrveranstaltung($preincoming->preincoming_id, $_GET['id'], date('Y-m-d H:i:s')))
$message = '<span style="color: green"><b>'.($p->t('global/erfolgreichgespeichert')).'</b></span>';
else
$message = '<span style="color: red"><b>'.($p->t('global/fehleraufgetreten')).'</b></span>';
$id = $db->db_add_param($_GET['id'], FHC_INTEGER, false);
$freieplaetze = 0;
// Freie Plaetze ermitteln
$qry = " SELECT tbl_lehrveranstaltung.incoming, (
SELECT count(*)
FROM (
SELECT person_id
FROM campus.vw_student_lehrveranstaltung
JOIN PUBLIC.tbl_benutzer using (uid)
JOIN PUBLIC.tbl_student ON (uid = student_uid)
JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id)
WHERE lehrveranstaltung_id = ".$id."
AND lehreinheit_id IN (
SELECT lehreinheit_id
FROM lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id = ".$id."
AND tbl_lehreinheit.studiensemester_kurzbz = '$stsem->studiensemester_kurzbz'
)
AND tbl_prestudentstatus.status_kurzbz = 'Incoming'
AND tbl_prestudentstatus.studiensemester_kurzbz = '$stsem->studiensemester_kurzbz'
UNION
SELECT person_id
FROM PUBLIC.tbl_preincoming_lehrveranstaltung
JOIN PUBLIC.tbl_preincoming using (preincoming_id)
WHERE lehrveranstaltung_id = ".$id."
AND
(
(bis - '$stsem->start' > '$stsem->start' - von) OR
('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR
(bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR
('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR
(von >= '$stsem->start' AND bis <= '$stsem->ende') OR
(von <= '$stsem->start' AND bis >= '$stsem->ende') OR
(von IS NULL AND bis IS NULL) OR
(von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR
(bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start')
)
AND aktiv = true
) a
) AS anzahl
FROM lehre.tbl_lehrveranstaltung
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id = ".$id;
if($result = $db->db_query($qry))
{
if ($db->db_num_rows($result)>0)
{
if ($row = $db->db_fetch_object($result))
{
$freieplaetze = $row->incoming - $row->anzahl;
}
}
}
if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $_GET['id']) && $freieplaetze>0)
{
if($preincoming->addLehrveranstaltung($preincoming->preincoming_id, $_GET['id'], date('Y-m-d H:i:s')))
$message = '<span style="color: green"><b>'.($p->t('global/erfolgreichgespeichert')).'</b></span>';
else
$message = '<span style="color: red"><b>'.($p->t('global/fehleraufgetreten')).'</b></span>';
}
else
$message = '<span style="color: red"><b>'.$p->t('incoming/lvVollBelegt').'</b></span>';
}
// löschen der LV-ID
if($_GET['mode'] == "delete")
@@ -709,19 +804,6 @@ else if($method=="lehrveranstaltungen")
echo '</td>
</tr>
</table>
<script language="JavaScript">
function selectChange()
{
filter = document.filterSemester.filterLv.options[document.filterSemester.filterLv.selectedIndex].value;
filterSprache = document.filterSemester.filterUnterrichtssprache.options[document.filterSemester.filterUnterrichtssprache.selectedIndex].value;
filterStudiengang = document.filterSemester.filterStudiengang.options[document.filterSemester.filterStudiengang.selectedIndex].value;
url = [location.protocol, "//", location.host, location.pathname].join("");
url = url+"?method=lehrveranstaltungen&filter="+filter+"&unterrichtssprache="+filterSprache+"&studiengang="+filterStudiengang;
document.location=url;
}
</script>
</form>
<br><br>';
@@ -739,7 +821,7 @@ else if($method=="lehrveranstaltungen")
//Uebersicht LVs
/* Erklaerung der Datumszeitraeume ab Zeile 663:
/* Erklaerung der Datumszeitraeume ab Zeile 857:
* |=============== Studiensemester ===============|
* |--------------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend innerhalb SS
* |--------------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend innerhalb SS
@@ -861,7 +943,7 @@ else if($method=="lehrveranstaltungen")
if ($preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id))
$style = 'style="background-color: #88DD88"';
elseif ($freieplaetze==0)
elseif ($freieplaetze<=0)
$style = 'style="background-color: #FF8888"';
//if($freieplaetze>0)
//{
@@ -879,7 +961,7 @@ else if($method=="lehrveranstaltungen")
if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze>0)
echo '<td><a href="incoming.php?method=lehrveranstaltungen&mode=add&id='.$row->lehrveranstaltung_id.'&'.$filter_url.'">'.$p->t('global/anmelden').'</a></td>';
elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze==0)
elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze<=0)
echo '<td '.$style.'>'.$p->t('incoming/noVacancies').'</td>';
else
echo '<td '.$style.'>'.$p->t('global/angemeldet').'</td>';
+5 -2
View File
@@ -25,6 +25,7 @@
require_once(dirname(__FILE__).'/menu_addon.class.php');
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php');
require_once(dirname(__FILE__).'/../../include/studiensemester.class.php');
class menu_addon_freifaecher extends menu_addon
{
@@ -35,6 +36,8 @@ class menu_addon_freifaecher extends menu_addon
$this->link=false;
$sprache = getSprache();
$stsem = new studiensemester();
$stsem = $stsem->getAktOrNext();
$lv_obj = new lehrveranstaltung();
if(!$lv_obj->load_lva('0',null, null,true,false,'bezeichnung'))
@@ -44,7 +47,7 @@ class menu_addon_freifaecher extends menu_addon
{
$this->items[] = array('title'=>$row->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id,
'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stsem,
'name'=>'<span '.(!$row->aktiv?' style="" ':' style=""').'>'.(!$row->aktiv?' <img src="../skin/images/ampel_rot.png" height="8px" height="8px"> ':' <img src="../skin/images/ampel_gruen.png" height="8px"> ').' '.$this->CutString($row->bezeichnung_arr[$sprache], 21).'</span>'
);
}
@@ -70,4 +73,4 @@ class menu_addon_freifaecher extends menu_addon
}
new menu_addon_freifaecher();
?>
?>
@@ -30,6 +30,7 @@
* - studiengang_kurzbz_hi 3-stelliges Studiengangskuerzel grossgeschrieben
*/
require_once(dirname(__FILE__).'/menu_addon.class.php');
require_once(dirname(__FILE__).'/../../config/cis.config.inc.php');
require_once(dirname(__FILE__).'/../../include/studiengang.class.php');
require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php');
require_once(dirname(__FILE__).'/../../include/organisationsform.class.php');
@@ -58,6 +59,10 @@ class menu_addon_lehrveranstaltungen extends menu_addon
$p = new phrasen($sprache);
if (defined("CIS_LVMENUE_CUTLENGTH"))
$cutlength = CIS_LVMENUE_CUTLENGTH;
else
$cutlength = 21;
$this->block.='
<script language="JavaScript" type="text/javascript">
@@ -213,7 +218,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon
}
else
{
// Wenn es in diesem Studiengang keine genehmigte Studienordnung gibt dann
// Wenn es in diesem Studiengang keine genehmigte Studienordnung gibt dann
// alle LVs anzeigen und nur die Module herausfiltern
if($row->lehrtyp_kurzbz!='lv')
continue;
@@ -230,7 +235,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon
}
$this->block.= '<tr>';
$this->block.= ' <td class="tdwrap"><ul style="margin: 0px; padding: 0px; ">';
$this->block.= "<li style='padding: 0px;'><a title=\"".$row->bezeichnung_arr[$sprache]."\" href=\"private/lehre/lesson.php?lvid=$row->lehrveranstaltung_id\" target=\"content\">".$this->CutString($row->bezeichnung_arr[$sprache], 21).' '.$row->lehrform_kurzbz."</a></li>";
$this->block.= "<li style='padding: 0px;'><a title=\"".$row->bezeichnung_arr[$sprache]."\" href=\"private/lehre/lesson.php?lvid=$row->lehrveranstaltung_id\" target=\"content\">".$this->CutString($row->bezeichnung_arr[$sprache], $cutlength).' '.$row->lehrform_kurzbz."</a></li>";
$this->block.= ' </ul></td>';
$this->block.= '</tr>';
}
+6 -2
View File
@@ -23,6 +23,7 @@
* Zeigt eine Liste mit den LVs zu denen der Lektor oder Student zugeordnet ist.
*/
require_once(dirname(__FILE__).'/menu_addon.class.php');
require_once(dirname(__FILE__).'/../../config/cis.config.inc.php');
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
require_once(dirname(__FILE__).'/../../include/phrasen.class.php');
require_once(dirname(__FILE__).'/../../include/studiensemester.class.php');
@@ -41,7 +42,10 @@ class menu_addon_meinelv extends menu_addon
$is_lector=check_lektor($user);
$p = new phrasen($sprache);
$cutlength=21;
if (defined("CIS_LVMENUE_CUTLENGTH"))
$cutlength = CIS_LVMENUE_CUTLENGTH;
else
$cutlength = 21;
//Meine LVs Student
if(!$is_lector)
@@ -156,7 +160,7 @@ class menu_addon_meinelv extends menu_addon
public.tbl_studiengang
LEFT JOIN
public.tbl_studiengangstyp ON (tbl_studiengang.typ=tbl_studiengangstyp.typ)
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
-1
View File
@@ -109,5 +109,4 @@
"merge-extra": false
}
}
}
+3 -1
View File
@@ -216,7 +216,7 @@ define('CIS_PRUEFUNGSANMELDUNG_USER','p.pruefungsanmeldung');
define('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG', true);
//Gibt an, ob der Bereich zur Anmeldung zu Pruefungen des gesamten Studiengangs angezeigt werden soll
define('CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG', true);
define('CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG', true);
//Gibt an, wie viele Semester aus der Vergangenheit unter Meine LV angezeigt werden
define('CIS_MEINELV_ANZAHL_SEMESTER_PAST', 3);
@@ -224,4 +224,6 @@ define('CIS_MEINELV_ANZAHL_SEMESTER_PAST', 3);
//Gibt an, welche Buchungstypen bei der Überprüfung auf Einzahlung berücksichtigt werden
define('CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN', serialize(array("Studiengebuehr")));
//Gibt an bei welcher Länge die LV-Bezeichnungen im Menü abgeschnitten werden. Default: 21
define('CIS_LVMENUE_CUTLENGTH', 21);
?>
+17 -14
View File
@@ -1793,13 +1793,13 @@ function PrintStudienblatt(event)
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
if(studienplan_id!='')
break;
}
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
if(studienplan_id!='')
break;
}
}
}
catch(e)
@@ -1869,7 +1869,7 @@ function PrintStudienblatt(event)
{
if(error>0)
alert(error+' der ausgewaehlten Personen haben keinen Account');
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&output='+output+'&&uid='+data+"&ss="+ss;
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&output='+output+'&uid='+data+"&ss="+ss;
window.open(action,'Studienblatt','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
else
@@ -1884,6 +1884,7 @@ function PrintStudienblatt(event)
function PrintStudienblattEnglisch(event)
{
var tree = document.getElementById('student-prestudent-tree-rolle');
var ss = document.getElementById('statusbarpanel-semester').label;
var items = tree.view.rowCount;
try
@@ -1891,12 +1892,14 @@ function PrintStudienblattEnglisch(event)
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
if(studienplan_id!='')
break;
}
}
}
}
catch(e)
{
@@ -1965,7 +1968,7 @@ function PrintStudienblattEnglisch(event)
{
if(error>0)
alert(error+' der ausgewaehlten Personen haben keinen Account');
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=StudienblattEng&xml=studienblatt.xml.php&output='+output+'&&uid='+data;
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=StudienblattEng&xml=studienblatt.xml.php&output='+output+'&uid='+data+'&ss='+ss;
window.open(action,'StudienblattEng','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
else
+13 -13
View File
@@ -30,15 +30,15 @@ require_once('../../include/datum.class.php');
require_once('../../include/Excel/excel.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/benutzerberechtigung.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('admin'))
die('Sie haben keine Berechtigung fuer diese Seite');
require_once('../../include/benutzerberechtigung.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('admin'))
die('Sie haben keine Berechtigung fuer diese Seite');
$erhalter='';
$heute=date("d.m.Y");
@@ -143,7 +143,7 @@ if($studiensemester_kurzbz!='')
$worksheet->write($zeile,++$spalte,'Status',$format_bold);
$maxlength[$spalte]=20;
// Daten holen - Alle Personen mit akt. Status Student, Diplomand oder Praktikant
// Daten holen - Alle Personen mit akt. Status Student, Diplomand oder Praktikant plus Incoming
$qry="SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzahl, tbl_student.studiengang_kz, geschlecht, vorname, nachname, gebdatum AS geburtsdatum,
geburtsnation AS nation, titelpre, uid || '@".DOMAIN."' AS email,
(SELECT kontakt FROM public.tbl_kontakt WHERE person_id=public.tbl_person.person_id and (kontakttyp='mobil' OR kontakttyp='telefon') LIMIT 1) AS telefon,
@@ -163,7 +163,7 @@ if($studiensemester_kurzbz!='')
JOIN public.tbl_prestudent using(prestudent_id)
JOIN public.tbl_prestudentstatus on(tbl_prestudentstatus.prestudent_id=tbl_student.prestudent_id)
WHERE tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Praktikant')
AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Praktikant','Incoming')
AND tbl_student.studiengang_kz<999 AND tbl_prestudent.bismelden=true";
// AND tbl_benutzer.aktiv=true
@@ -339,7 +339,7 @@ if($studiensemester_kurzbz!='')
JOIN public.tbl_prestudent using(prestudent_id)
JOIN public.tbl_prestudentstatus on(tbl_prestudentstatus.prestudent_id=tbl_student.prestudent_id)
WHERE tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Praktikant')
AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Praktikant','Incoming')
AND tbl_student.studiengang_kz<999 AND
ka.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND ka.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=ka.studiengang_kz
AND kb.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND kb.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=kb.studiengang_kz
@@ -651,4 +651,4 @@ else
echo " <input type='submit' value='Erstellen'>";
echo "</form></body></html>";
}
?>
?>
+83 -76
View File
@@ -37,7 +37,7 @@ $db = new basis_db();
$user = get_uid();
$datum_obj = new datum();
loadVariables($user);
//Parameter holen
$data = $_POST['data'];
$studiensemester_kurzbz = $_GET['studiensemester_kurzbz'];
@@ -46,7 +46,7 @@ loadVariables($user);
$zeile=1;
$zgv_arr=array();
$zgvmas_arr=array();
//ZGV laden
$qry = "SELECT * FROM bis.tbl_zgv ORDER BY zgv_kurzbz";
if($result = $db->db_query($qry))
@@ -56,7 +56,7 @@ loadVariables($user);
$zgv_arr[$row->zgv_code]=$row->zgv_kurzbz;
}
}
//ZGV Master laden
$qry = "SELECT * FROM bis.tbl_zgvmaster ORDER BY zgvmas_kurzbz";
if($result = $db->db_query($qry))
@@ -66,7 +66,7 @@ loadVariables($user);
$zgvmas_arr[$row->zgvmas_code]=$row->zgvmas_kurzbz;
}
}
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
@@ -76,7 +76,7 @@ loadVariables($user);
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Studenten");
$worksheet->setInputEncoding('utf-8');
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
@@ -88,7 +88,7 @@ loadVariables($user);
//Zeilenueberschriften ausgeben
$i=0;
$zeile=1;
$worksheet->write($zeile,$i,"ANREDE", $format_bold);
$maxlength[$i]=6;
$worksheet->write($zeile,++$i,"TITELPRE", $format_bold);
@@ -109,6 +109,8 @@ loadVariables($user);
$maxlength[$i]=3;
$worksheet->write($zeile,++$i,"ORT", $format_bold);
$maxlength[$i]=3;
$worksheet->write($zeile,++$i,"GEMEINDE", $format_bold);
$maxlength[$i]=9;
$worksheet->write($zeile,++$i,"NATION", $format_bold);
$maxlength[$i]=6;
$worksheet->write($zeile,++$i,"GEBURTSDATUM", $format_bold);
@@ -127,7 +129,7 @@ loadVariables($user);
$maxlength[$i]=17;
$worksheet->write($zeile,++$i,"GESCHLECHT", $format_bold);
$maxlength[$i]=10;
$worksheet->write($zeile,++$i,"STUDIENGANG", $format_bold);
$maxlength[$i]=11;
$worksheet->write($zeile,++$i,"SEMESTER IM $studiensemester_kurzbz", $format_bold);
@@ -138,7 +140,7 @@ loadVariables($user);
$maxlength[$i]=7;
$worksheet->write($zeile,++$i,"GRUPPE", $format_bold);
$maxlength[$i]=6;
$worksheet->write($zeile,++$i,"ZGV", $format_bold);
$maxlength[$i]=10;
$worksheet->write($zeile,++$i,"ZGV Ort", $format_bold);
@@ -151,7 +153,7 @@ loadVariables($user);
$maxlength[$i]=14;
$worksheet->write($zeile,++$i,"ZGV Master Datum", $format_bold);
$maxlength[$i]=16;
$worksheet->write($zeile,++$i,"STATUS", $format_bold);
$maxlength[$i]=6;
$worksheet->write($zeile,++$i,"EMail Intern", $format_bold);
@@ -175,13 +177,13 @@ loadVariables($user);
$maxlength[$i]=8;
$worksheet->write($zeile,++$i,"PRESTUDENTID", $format_bold);
$maxlength[$i]=12;
$zeile++;
$ids = explode(';',$data);
$prestudent_ids = '';
foreach ($ids as $id)
foreach ($ids as $id)
{
if($id!='')
{
@@ -190,12 +192,12 @@ loadVariables($user);
$prestudent_ids .= "'".addslashes($id)."'";
}
}
if($prestudent_ids!='')
{
// Student holen
$qry = "SELECT *, (SELECT UPPER(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_prestudent.studiengang_kz) as stgbez FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student USING(prestudent_id) WHERE prestudent_id in($prestudent_ids) ORDER BY nachname, vorname";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
@@ -205,7 +207,7 @@ loadVariables($user);
}
}
}
function draw_content($row)
{
global $maxlength, $datum_obj;
@@ -213,97 +215,102 @@ loadVariables($user);
global $zgv_arr, $zgvmas_arr;
global $studiensemester_kurzbz;
$db = new basis_db();
$prestudent = new prestudent();
$prestudent->getLastStatus($row->prestudent_id);
$status = $prestudent->status_kurzbz;
$orgform = $prestudent->orgform_kurzbz;
$i=0;
//Anrede
if(mb_strlen($row->anrede)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->anrede);
$worksheet->write($zeile,$i, $row->anrede);
$i++;
//Titelpre
if(mb_strlen($row->titelpre)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->titelpre);
$worksheet->write($zeile,$i, $row->titelpre);
$i++;
//Nachname
if(mb_strlen($row->nachname)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->nachname);
$worksheet->write($zeile,$i, $row->nachname);
$i++;
//Vorname
if(mb_strlen($row->vorname)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->vorname);
$worksheet->write($zeile,$i, $row->vorname);
$i++;
//Titelpost
if(mb_strlen($row->titelpost)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->titelpost);
$worksheet->write($zeile,$i, $row->titelpost);
$i++;
//Email Privat
//ZustellEmailAdresse aus der Datenbank holen und dazuhaengen
$qry_1 = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id='$row->person_id' AND zustellung=true ORDER BY kontakt_id DESC LIMIT 1";
if($result_1 = $db->db_query($qry_1))
{
if($row_1 = $db->db_fetch_object($result_1))
{
{
if(mb_strlen($row_1->kontakt)>$maxlength[$i])
$maxlength[$i]=mb_strlen($row_1->kontakt);
$worksheet->write($zeile,$i, $row_1->kontakt);
}
}
$i++;
//Zustelladresse
//Zustelladresse aus der Datenbank holen und dazuhaengen
$qry_1 = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id' AND zustelladresse=true LIMIT 1";
if($result_1 = $db->db_query($qry_1))
{
if($row_1 = $db->db_fetch_object($result_1))
{
{
if(mb_strlen($row_1->strasse)>$maxlength[$i])
$maxlength[$i]=mb_strlen($row_1->strasse);
$worksheet->write($zeile,$i, $row_1->strasse);
$i++;
if(mb_strlen($row_1->plz)>$maxlength[$i])
$maxlength[$i]=mb_strlen($row_1->plz);
$worksheet->writeString($zeile,$i, $row_1->plz);
$i++;
if(mb_strlen($row_1->ort)>$maxlength[$i])
$maxlength[$i]=mb_strlen($row_1->ort);
$worksheet->write($zeile,$i, $row_1->ort);
$i++;
if(mb_strlen($row_1->gemeinde)>$maxlength[$i])
$maxlength[$i]=mb_strlen($row_1->gemeinde);
$worksheet->write($zeile,$i, $row_1->gemeinde);
$i++;
if(mb_strlen($row_1->nation)>$maxlength[$i])
$maxlength[$i]=mb_strlen($row_1->nation);
$worksheet->write($zeile,$i, $row_1->nation);
$i++;
}
else
$i+=4;
else
$i+=5;
}
else
$i+=4;
else
$i+=5;
//Geburtsdatum
if(mb_strlen($row->gebdatum)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->gebdatum);
$worksheet->write($zeile,$i, $datum_obj->convertISODate($row->gebdatum));
$i++;
//Geburtsort
if(mb_strlen($row->gebort)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->gebort);
@@ -315,7 +322,7 @@ loadVariables($user);
$maxlength[$i] = mb_strlen($row->geburtsnation);
$worksheet->write($zeile,$i,$row->geburtsnation);
$i++;
//Personenkennzeichen
if(isset($row->matrikelnr))
{
@@ -324,37 +331,37 @@ loadVariables($user);
$worksheet->writeString($zeile,$i, $row->matrikelnr);
}
$i++;
//Staatsbuergerschaft
if(mb_strlen($row->staatsbuergerschaft)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->staatsbuergerschaft);
$worksheet->write($zeile,$i, $row->staatsbuergerschaft);
$i++;
//SVNR
if(mb_strlen($row->svnr)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->svnr);
$worksheet->write($zeile,$i, $row->svnr);
$i++;
//Ersatzkennzeichen
if(mb_strlen($row->ersatzkennzeichen)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->ersatzkennzeichen);
$worksheet->write($zeile,$i, $row->ersatzkennzeichen);
$i++;
//Geschlecht
if(mb_strlen($row->geschlecht)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->geschlecht);
$worksheet->write($zeile,$i, $row->geschlecht);
$i++;
//Studiengang
//Studiengang
if(mb_strlen($row->stgbez)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->stgbez);
$worksheet->write($zeile,$i, $row->stgbez);
$i++;
$qry = "SELECT tbl_studentlehrverband.semester AS semester_studiensemester, tbl_student.semester AS semester_aktuell,* FROM public.tbl_studentlehrverband JOIN public.tbl_student USING(student_uid) WHERE prestudent_id='$row->prestudent_id' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result_sem = $db->db_query($qry))
{
@@ -365,7 +372,7 @@ loadVariables($user);
$verband = $row_sem->verband;
$gruppe = $row_sem->gruppe;
}
else
else
{
$qry = "SELECT public.tbl_prestudentstatus.ausbildungssemester FROM public.tbl_prestudentstatus WHERE prestudent_id='$row->prestudent_id' AND (status_kurzbz='Interessent' OR status_kurzbz='Bewerber') ORDER BY datum DESC LIMIT 1";
if (($result_sem = $db->db_query($qry)) && ($row_sem = $db->db_fetch_object($result_sem)))
@@ -377,10 +384,10 @@ loadVariables($user);
$semester_aktuell = '';
$verband = '';
$gruppe = '';
}
}
}
}
//Semester im eingestellten Studiensemester
//Semester im eingestellten Studiensemester
if(isset($semester_studiensemester))
{
if(mb_strlen($semester_studiensemester)>$maxlength[$i])
@@ -388,8 +395,8 @@ loadVariables($user);
$worksheet->write($zeile,$i, $semester_studiensemester);
}
$i++;
//Semester aktuell
//Semester aktuell
if(isset($semester_aktuell))
{
if(mb_strlen($semester_aktuell)>$maxlength[$i])
@@ -397,7 +404,7 @@ loadVariables($user);
$worksheet->write($zeile,$i, $semester_aktuell);
}
$i++;
//Verband
if(isset($verband))
{
@@ -406,7 +413,7 @@ loadVariables($user);
$worksheet->write($zeile,$i, $verband);
}
$i++;
//Gruppe
if(isset($gruppe))
{
@@ -415,8 +422,8 @@ loadVariables($user);
$worksheet->write($zeile,$i, $gruppe);
}
$i++;
//ZGV
//ZGV
if($row->zgv_code!='' && isset($zgv_arr[$row->zgv_code]))
{
if(mb_strlen($zgv_arr[$row->zgv_code])>$maxlength[$i])
@@ -424,19 +431,19 @@ loadVariables($user);
$worksheet->write($zeile,$i, $zgv_arr[$row->zgv_code]);
}
$i++;
//ZGV Ort
if(mb_strlen($row->zgvort)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->zgvort);
$worksheet->write($zeile,$i, $row->zgvort);
$i++;
//ZGV Datum
if(mb_strlen($row->zgvdatum)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->zgvdatum);
$worksheet->write($zeile,$i, $row->zgvdatum);
$i++;
//ZGV Master
if($row->zgvmas_code!='' && isset($zgvmas_arr[$row->zgvmas_code]))
{
@@ -445,25 +452,25 @@ loadVariables($user);
$worksheet->write($zeile,$i, $zgvmas_arr[$row->zgvmas_code]);
}
$i++;
//ZGV Master Ort
if(mb_strlen($row->zgvmaort)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->zgvmaort);
$worksheet->write($zeile,$i, $row->zgvmaort);
$i++;
//ZGV Master Datum
if(mb_strlen($row->zgvmadatum)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->zgvmadatum);
$worksheet->write($zeile,$i, $row->zgvmadatum);
$i++;
//Status
//Status
if(mb_strlen($status)>$maxlength[$i])
$maxlength[$i] = mb_strlen($status);
$worksheet->write($zeile,$i, $status);
$i++;
//Email Intern
if(isset($row->student_uid))
{
@@ -472,35 +479,35 @@ loadVariables($user);
$worksheet->write($zeile,$i, $row->student_uid.'@'.DOMAIN);
}
$i++;
//Nebenwohnsitz
//Nebenwohnsitz aus der Datenbank holen und dazuhaengen
$qry_1 = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id' AND typ='n' LIMIT 1";
if($result_1 = $db->db_query($qry_1))
{
if($row_1 = $db->db_fetch_object($result_1))
{
{
if(mb_strlen($row_1->strasse)>$maxlength[$i])
$maxlength[$i]=mb_strlen($row_1->strasse);
$worksheet->write($zeile,$i, $row_1->strasse);
$i++;
if(mb_strlen($row_1->plz)>$maxlength[$i])
$maxlength[$i]=mb_strlen($row_1->plz);
$worksheet->writeString($zeile,$i, $row_1->plz);
$i++;
if(mb_strlen($row_1->ort)>$maxlength[$i])
$maxlength[$i]=mb_strlen($row_1->ort);
$worksheet->write($zeile,$i, $row_1->ort);
$i++;
}
else
else
$i+=3;
}
else
else
$i+=3;
//Telefon
$qry_1 = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp in('mobil','telefon','so.tel') AND person_id='$row->person_id' AND zustellung=true LIMIT 1";
if($result_1 = $db->db_query($qry_1))
@@ -513,7 +520,7 @@ loadVariables($user);
}
}
$i++;
//Spezialgruppen
$grps='';
$qry_1 = "SELECT gruppe_kurzbz FROM public.tbl_student JOIN public.tbl_benutzergruppe ON (student_uid=uid) WHERE tbl_student.prestudent_id='$row->prestudent_id' AND tbl_benutzergruppe.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
@@ -523,7 +530,7 @@ loadVariables($user);
{
if($grps!='')
$grps.=',';
$grps.=$row_1->gruppe_kurzbz;
}
}
@@ -531,7 +538,7 @@ loadVariables($user);
$maxlength[$i]=mb_strlen($grps);
$worksheet->write($zeile,$i, $grps);
$i++;
//UID
if(isset($row->student_uid))
{
@@ -540,31 +547,31 @@ loadVariables($user);
$worksheet->write($zeile,$i, $row->student_uid);
}
$i++;
//Orgform
if(mb_strlen($orgform)>$maxlength[$i])
$maxlength[$i] = mb_strlen($orgform);
$worksheet->write($zeile,$i, $orgform);
$i++;
//Vornamen
if(mb_strlen($row->vornamen)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->vornamen);
$worksheet->write($zeile,$i, $row->vornamen);
$i++;
//PrestudentID
if(mb_strlen($row->prestudent_id)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->prestudent_id);
$worksheet->write($zeile,$i, $row->prestudent_id);
$i++;
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet->setColumn($i, $i, $breite+2);
$workbook->close();
?>
+9 -3
View File
@@ -131,9 +131,15 @@ class benutzerfunktion extends basis_db
*/
public function getBenutzerFunktion($uid, $funktion_kurzbz, $oe_kurzbz)
{
$qry = "SELECT * FROM public.tbl_benutzerfunktion
WHERE uid=".$this->db_add_param($uid)." AND funktion_kurzbz=".$this->db_add_param($funktion_kurzbz)."
AND oe_kurzbz=".$this->db_add_param($oe_kurzbz);
$qry = "SELECT
bfunk.*, stg.studiengang_kz
FROM
public.tbl_benutzerfunktion AS bfunk
INNER JOIN public.tbl_studiengang AS stg ON(stg.oe_kurzbz = bfunk.oe_kurzbz)
WHERE
bfunk.uid=".$this->db_add_param($uid)."
AND bfunk.funktion_kurzbz=".$this->db_add_param($funktion_kurzbz)."
AND bfunk.oe_kurzbz=".$this->db_add_param($oe_kurzbz);
if($result = $this->db_query($qry))
{
+16 -3
View File
@@ -818,7 +818,7 @@ class betriebsmittel extends basis_db
* @return Daten Objekt wenn ok, false im Fehlerfall
*/
function betriebsmittel_inventar($order=null,$inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null)
function betriebsmittel_inventar($order=null,$inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null,$anlage_jahr_monat=null)
{
// Init
$this->errormsg='';
@@ -853,7 +853,7 @@ class betriebsmittel extends basis_db
LEFT JOIN public.tbl_firma ON(tbl_firma.firma_id=tbl_bestellung.firma_id )';
$qry.=" WHERE not tbl_betriebsmittel.betriebsmittel_id is null ";
$where=$this->betriebsmittel_inventar_get_where($inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id);
$where=$this->betriebsmittel_inventar_get_where($inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id,$anlage_jahr_monat);
if ($where!='' && !$where)
return $this->result;
@@ -957,7 +957,7 @@ class betriebsmittel extends basis_db
* @param $betriebsmittel_id
* @return unknown
*/
public function betriebsmittel_inventar_get_where($inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null)
public function betriebsmittel_inventar_get_where($inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null,$anlage_jahr_monat=null)
{
$where='';
// Inventarnummer oder Betriebsmittelnummer
@@ -1123,6 +1123,19 @@ class betriebsmittel extends basis_db
$where.=$jm;
$where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ". $jm ." group by betriebsmittel_id) ";
}
elseif (!is_null($anlage_jahr_monat) && $anlage_jahr_monat!='')
{
$anlage_jahr_monat=mb_strtoupper(trim(str_replace(array('-','.','/','*','%',"'",'"'),'',trim($anlage_jahr_monat))));
$jm='';
if (!empty($anlage_jahr_monat) && is_numeric($anlage_jahr_monat) && strlen($anlage_jahr_monat)>6)
$jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMMDD') = ".$this->db_add_param($anlage_jahr_monat)." ";
elseif (!empty($anlage_jahr_monat) && is_numeric($anlage_jahr_monat) && strlen($anlage_jahr_monat)>4)
$jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMM') = ".$this->db_add_param($anlage_jahr_monat)." ";
elseif (!is_null($anlage_jahr_monat) && !empty($anlage_jahr_monat))
$jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYY') = ".$this->db_add_param($anlage_jahr_monat)." ";
$where.=$jm;
$where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ". $jm ." group by betriebsmittel_id) ";
}
else if (!is_null($betriebsmittelstatus_kurzbz) && $betriebsmittelstatus_kurzbz!='')
$where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null group by betriebsmittel_id) ";
+1 -1
View File
@@ -374,7 +374,7 @@ class bisverwendung extends basis_db
mitarbeiter_uid=".$this->db_add_param($uid)."
AND (beginn<=".$this->db_add_param($datum)." OR beginn is null)
AND (ende>=".$this->db_add_param($datum_obj->formatDatum($datum,'Y-m-01'))." OR ende is null)
ORDER BY beginn;";
ORDER BY ende desc;";
if($this->db_query($qry))
{
+84 -83
View File
@@ -21,7 +21,7 @@
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/authentication.class.php');
require_once(dirname(__FILE__).'/betriebsmittelperson.class.php');
require_once(dirname(__FILE__).'/betriebsmittelperson.class.php');
// Auth: Benutzer des Webportals
/**
@@ -78,13 +78,13 @@ function check_uid($uid)
{
if(ctype_alnum($uid) && mb_strlen($uid)<=32)
return true;
else
else
return false;
}
function check_stsem($stsem)
{
return preg_match('/^[WS][S][0-9]{4}$/', $stsem);
return preg_match('/^[WS][S][0-9]{4}$/', $stsem);
}
/**
@@ -93,7 +93,7 @@ function check_stsem($stsem)
*/
function check_ort($ort_kurzbz)
{
if(preg_match('/^[A-Za-z0-9_.\-]{0,16}$/', $ort_kurzbz))
if(preg_match('/^[A-Za-z0-9_.\-]{0,16}$/', $ort_kurzbz))
return true;
else
return false;
@@ -102,7 +102,7 @@ function check_ort($ort_kurzbz)
function check_lektor($uid)
{
$db = new basis_db();
// uid von View 'Lektor' holen
$sql_query="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=".$db->db_add_param($uid);
//echo $sql_query;
@@ -118,20 +118,20 @@ function check_lektor($uid)
else
return 0;
}
else
else
return 0;
}
function check_lektor_lehrveranstaltung($uid, $lehrveranstaltung_id, $studiensemester_kurzbz)
{
$db = new basis_db();
// uid von View 'Lektor' holen
$sql_query="SELECT mitarbeiter_uid FROM campus.vw_lehreinheit
WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND
lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER)." AND
WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND
lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER)." AND
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz);
//echo $sql_query;
if($db->db_query($sql_query))
{
@@ -145,14 +145,14 @@ function check_lektor_lehrveranstaltung($uid, $lehrveranstaltung_id, $studiensem
else
return 0;
}
else
else
return 0;
}
function check_student($uid)
{
$db = new basis_db();
// uid von Tabelle 'Student' holen
$sql_query="SELECT student_uid FROM public.tbl_student WHERE student_uid=".$db->db_add_param($uid);
//echo $sql_query;
@@ -168,7 +168,7 @@ function check_student($uid)
else
return 0;
}
else
else
return 0;
}
@@ -200,7 +200,7 @@ function montag($datum)
}
else
{
if($wt!=1)
$datum-=86400*($wt-1);
}
@@ -247,7 +247,7 @@ function jump_week($datum, $wochen)
function loadVariables($user)
{
$db = new basis_db();
$error_msg='';
$num_rows=0;
$sql_query="SELECT * FROM public.tbl_variable WHERE uid=".$db->db_add_param($user);
@@ -261,7 +261,7 @@ function loadVariables($user)
global ${$row->name};
${$row->name}=$row->wert;
}
if (!isset($semester_aktuell))
if(!$db->db_query('SELECT * FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1'))
$error_msg.=$db->db_last_error().'<BR>'.$sql_query;
@@ -292,19 +292,19 @@ function loadVariables($user)
global $ignore_kollision;
$ignore_kollision='false';
}
if (!isset($kollision_student))
{
global $kollision_student;
$kollision_student='false';
}
if (!isset($max_kollision))
{
global $max_kollision;
$max_kollision='0';
}
if (!isset($ignore_zeitsperre))
{
global $ignore_zeitsperre;
@@ -322,7 +322,7 @@ function loadVariables($user)
global $emailadressentrennzeichen;
$emailadressentrennzeichen=',';
}
if(!isset($alle_unr_mitladen))
{
global $alle_unr_mitladen;
@@ -398,17 +398,17 @@ function checkalias($alias)
}
/**
*
* Gibt UID zur passenden Kartennummer zurück, false im Fehlerfall
*
* Gibt UID zur passenden Kartennummer zurück, false im Fehlerfall
* @param $number
*/
function getUidFromCardNumber($number)
{
$betriebsmittel = new betriebsmittelperson();
$betriebsmittel = new betriebsmittelperson();
if($betriebsmittel->getKartenzuordnung($number))
return $betriebsmittel->uid;
return $betriebsmittel->uid;
else
return false;
return false;
}
@@ -434,20 +434,20 @@ function intersect($str1, $str2)
$size = mb_strlen($str1);
else
$size = mb_strlen($str2);
$intersect = null;
for ($i=0; $i<$size; $i++)
for ($i=0; $i<$size; $i++)
{
if (mb_substr($str1, $i, 1) == mb_substr($str2, $i, 1))
$intersect.= mb_substr($str1, $i, 1);
$intersect.= mb_substr($str1, $i, 1);
}
return $intersect;
}
/**
* Konvertiert Problematische Sonderzeichen in Strings fuer
* Konvertiert Problematische Sonderzeichen in Strings fuer
* Accountnamen und EMail-Aliase
*
* @param $str
@@ -456,7 +456,7 @@ function intersect($str1, $str2)
function convertProblemChars($str)
{
$enc = 'UTF-8';
$acentos = array(
'A' => '/&Agrave;|&Aacute;|&Acirc;|&Atilde;|&Aring;/',
'Ae' => '/&Auml;/',
@@ -485,7 +485,7 @@ function convertProblemChars($str)
'ss' => '/&szlig;/'
);
return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc));
return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc));
}
//Ersetzt alle Problemzeichen in einem String bevor dieser als xml oder rdf ausgegeben wird
@@ -505,7 +505,7 @@ function xmlclean($string)
chr(014), //NP form feed, new page
chr(016), //shift out
chr(017), //shift in
chr(020), //data link escape
chr(021), //device control 1
chr(022), //device control 2
@@ -531,66 +531,66 @@ function xmlclean($string)
* @param String der die Zeichenkette enthaelt die verkuertzt werden soll
* @param Laenge des Strings der geliefert werden soll (inkl. der Laenge des Fortsetzungszeichen)
* @return Daten Objekt wenn ok, false im Fehlerfall
*/
*/
function StringCut($str='',$len=0,$checkWortumbruch=false,$fortsetzungszeichen='...')
{
// Plausib
if (!is_numeric($len))
return $str;
$len=intval($len);
if ($len <1 )
return $str;
if (is_null($checkWortumbruch) || empty($checkWortumbruch))
$checkWortumbruch=false;
if (is_null($fortsetzungszeichen) || empty($fortsetzungszeichen) || $checkWortumbruch)
if (is_null($fortsetzungszeichen) || empty($fortsetzungszeichen) || $checkWortumbruch)
$fortsetzungszeichen='';
// null oder Leerzeichen beim Fortsetzungszeichen entfernen
// null oder Leerzeichen beim Fortsetzungszeichen entfernen
$fortsetzungszeichen=trim($fortsetzungszeichen);
// Pruefen auf UTF-8 und Bearbeitungsfunktionen
$utf8=check_utf8($str);
if (!function_exists('mb_strlen'))
if (!function_exists('mb_strlen'))
$utf8=false;
if (!function_exists('mb_substr'))
if (!function_exists('mb_substr'))
$utf8=false;
// ist der String nicht laenger als die gewuenschte Lange kann hier beendet werden
// ist der String nicht laenger als die gewuenschte Lange kann hier beendet werden
if ($utf8)
$vLen=mb_strlen($str);
else
$vLen=strlen($str);
else
$vLen=strlen($str);
// String ist nicht laenger als die gewuenschte leange - kpl.String retour senden
// String ist nicht laenger als die gewuenschte leange - kpl.String retour senden
if ($len>=$vLen)
return $str;
if (!$checkWortumbruch)
{
if ($utf8)
$vLen=$len-mb_strlen($fortsetzungszeichen,'utf-8');
else
$vLen=$len- strlen($fortsetzungszeichen);
else
$vLen=$len- strlen($fortsetzungszeichen);
// die Laenge vom Fortsetzungszeichen mit berucksichtigen
if ($utf8) // Teilstring ermitteln, und Ergebnis zuruck geben
return mb_substr($str,0,$vLen,'utf-8').$fortsetzungszeichen;
else // Teilstring ermitteln, und Ergebnis zuruck geben
return substr($str,0,$vLen).$fortsetzungszeichen;
}
}
if ($utf8) // Teilstring ermitteln, und Ergebnis zuruck geben
$vStr=mb_substr($str,0,$len,'utf-8');
else // Teilstring ermitteln, und Ergebnis zuruck geben
$vStr=substr($str,0,$len);
if ($utf8)
$vLen=mb_strlen($vStr);
else
$vLen=strlen($vStr);
else
$vLen=strlen($vStr);
// Suchen letztes Leerzeichen im String
for ($i=$vLen;$i>0;$i--)
{
@@ -603,7 +603,7 @@ function StringCut($str='',$len=0,$checkWortumbruch=false,$fortsetzungszeichen='
{
if (substr($vStr,$i,1)==' ' && $i>0)
return $vStr=trim(substr($str,0,$i));
}
}
}
return $vStr;
}
@@ -631,7 +631,7 @@ function check_utf8($str="")
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$/x",$cStr);
return $stati;
}
@@ -646,29 +646,29 @@ function array_to_xml($rows,$root='root')
{
if (!count($rows))
return '<'.$root.' />'."\r\n";
$xml_string='';
$xml_string.='<'.$root.'>'."\r\n";
reset($rows);
for ($i=0;$i<count($rows);$i++)
{
{
$xml_string.='<row>'."\r\n";
$row=$rows[$i];
@reset($row);
while (@list( $tmp_key, $tmp_value ) = each($row) )
while (@list( $tmp_key, $tmp_value ) = each($row) )
{
if (!is_numeric($tmp_key))
{
$xml_string.='<'.$tmp_key.'><![CDATA['.trim($tmp_value).']]></'.$tmp_key.'>'."\r\n";
}
}
elseif (is_numeric($tmp_key))
{
$xml_string.='<row'.$tmp_key.'><![CDATA['.trim($tmp_value).']]></row'.$tmp_key.'>'."\r\n";
}
}
}
}
$xml_string.='</row>'."\r\n";
}
}
$xml_string.='</'.$root.'>'."\r\n";
return $xml_string;
}
@@ -692,13 +692,13 @@ function array_to_rdf($rows,$root='root',$rdf_uri='rdf')
reset($rows);
for ($i=0;$i<count($rows);$i++)
{
{
$rdf_string.='<'.strtoupper($rdf_uri).':li>'."\r\n";
$rdf_string.='<'.strtoupper($rdf_uri).':Description id="'.$i.'" about="http://'.$rdf_server.'/liste'.$i.'">'."\r\n";
$row=$rows[$i];
reset($row);
while (list( $tmp_key, $tmp_value ) = each($row) )
while (list( $tmp_key, $tmp_value ) = each($row) )
{
if (!is_numeric($tmp_key))
{
@@ -731,11 +731,11 @@ function isint( $mixed )
* @param $haystack
* @return string
*/
function mb_str_replace( $needle, $replacement, $haystack )
function mb_str_replace( $needle, $replacement, $haystack )
{
$needle_len = mb_strlen($needle);
$pos = mb_strpos( $haystack, $needle);
while (!($pos ===false))
while (!($pos ===false))
{
$front = mb_substr( $haystack, 0, $pos );
$back = mb_substr( $haystack, $pos + $needle_len);
@@ -746,10 +746,10 @@ function mb_str_replace( $needle, $replacement, $haystack )
}
/**
*
*
* Prueft ob es sich um einen gueltigen Filenamen handelt
* Filenamen mit HTML-Tags oder sonstigem Schadcode sind nicht gueltig
*
*
* @param string $filename
* @return boolean true wenn gueltig, sonst false
*/
@@ -784,11 +784,12 @@ function getSprache()
{
if(isset($_COOKIE['sprache']))
{
$sprache=$_COOKIE['sprache'];
// Uses urlencode to avoid XSS issues
$sprache = urlencode($_COOKIE['sprache']);
}
else
{
$sprache=DEFAULT_LANGUAGE;
$sprache = DEFAULT_LANGUAGE;
}
setSprache($sprache);
}
@@ -824,7 +825,7 @@ function check_user($username, $passwort)
}
}
function safe_b64encode($string)
function safe_b64encode($string)
{
$data = base64_encode($string);
$data = str_replace(array('+','/','='),array('-','_',''),$data);
@@ -835,7 +836,7 @@ function safe_b64decode($string)
{
$data = str_replace(array('-','_'),array('+','/'),$string);
$mod4 = strlen($data) % 4;
if ($mod4)
if ($mod4)
{
$data .= substr('====', $mod4);
}
@@ -874,7 +875,7 @@ function clearHtmlTags($text)
{
$newline='
';
$text=mb_str_replace('<br>','\n',$text);
$text=mb_str_replace('<br/>','\n',$text);
$text=mb_str_replace('<br />','\n',$text);
@@ -885,10 +886,10 @@ function clearHtmlTags($text)
$text=mb_str_replace('</ul>','',$text);
$text=mb_str_replace('<li>',$newline.' - ',$text);
$text=mb_str_replace('</li>','',$text);
$text=mb_str_replace('</lI>','',$text);
$text=mb_str_replace('</li','',$text);
return $text;
}
@@ -897,8 +898,8 @@ function clearHtmlTags($text)
* @param string $semester z.B. SS2014
* @return string nächstes semester
*/
function incSemester($semester)
{
function incSemester($semester)
{
$result = null;
$jahr = intval(substr($semester,2,4));
if (substr($semester,0,2) === 'SS') {
@@ -946,9 +947,9 @@ function generateActivationKey()
function check_infrastruktur($uid)
{
$db = new basis_db();
// checken, ob der user eine oezuordnung der infrastruktur hat
$sql_query="SELECT 1 FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz = 'oezuordnung' and oe_kurzbz in ('Infrastruktur', 'Systementwicklung', 'ServiceDesk', 'Empfang', 'Haustechnik', 'ITService', 'LVPlanung') and (datum_bis > now() or datum_bis is NULL) and uid=".$db->db_add_param($uid);
$sql_query="SELECT 1 FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz = 'oezuordnung' and oe_kurzbz in ('Infrastruktur', 'Systementwicklung', 'ServiceDesk', 'Empfang', 'Haustechnik', 'ITService', 'LVPlanung','ITBereich') and (datum_bis > now() or datum_bis is NULL) and uid=".$db->db_add_param($uid);
//echo $sql_query;
if($db->db_query($sql_query))
{
@@ -961,7 +962,7 @@ function check_infrastruktur($uid)
else
return 0;
}
else
else
return 0;
}
?>
+132 -2
View File
@@ -1287,8 +1287,8 @@ class lehrveranstaltung extends basis_db
$tree = array();
foreach ($this->lehrveranstaltungen as $row)
{
if ($row->studienplan_lehrveranstaltung_id_parent == ''
|| (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN")
if ($row->studienplan_lehrveranstaltung_id_parent == ''
|| (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN")
&& CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN))
{
$tree[$row->studienplan_lehrveranstaltung_id] = $row;
@@ -1592,6 +1592,91 @@ class lehrveranstaltung extends basis_db
}
}
/**
* Lädt alle Lehrveranstaltungen zu denen die übergebene LV ID kompatibel ist
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
*/
public function getLVkompatibelTo($lehrveranstaltung_id, $studienplan_ids=array())
{
if (!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
if((!is_array($studienplan_ids)) && (count($studienplan_ids) < 1))
{
$this->errormsg = 'Es muss ein Array von Studienplan_IDs mit mindestens einem Element übergeben werden.';
return false;
}
$studienplaene = "";
foreach($studienplan_ids as $stplId)
{
$studienplaene .= $stplId.",";
}
$studienplaene = rtrim($studienplaene, ",");
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung USING (lehrveranstaltung_id)
WHERE lehrveranstaltung_id IN (
SELECT lehrveranstaltung_id
FROM lehre.tbl_lehrveranstaltung_kompatibel
WHERE lehrveranstaltung_id_kompatibel=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).")
AND studienplan_id IN(".$studienplaene.");";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->bezeichnung = $row->bezeichnung;
$lv_obj->kurzbz = $row->kurzbz;
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$lv_obj->semester = $row->semester;
$lv_obj->ects = $row->ects;
$lv_obj->semesterstunden = $row->semesterstunden;
$lv_obj->anmerkung = $row->anmerkung;
$lv_obj->lehre = $this->db_parse_bool($row->lehre);
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
$lv_obj->ext_id = $row->ext_id;
$lv_obj->insertamum = $row->insertamum;
$lv_obj->insertvon = $row->insertvon;
$lv_obj->planfaktor = $row->planfaktor;
$lv_obj->planlektoren = $row->planlektoren;
$lv_obj->planpersonalkosten = $row->planpersonalkosten;
$lv_obj->plankostenprolektor = $row->plankostenprolektor;
$lv_obj->updateamum = $row->updateamum;
$lv_obj->updatevon = $row->updatevon;
$lv_obj->sprache = $row->sprache;
$lv_obj->sort = $row->sort;
$lv_obj->incoming = $row->incoming;
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$lv_obj->koordinator = $row->koordinator;
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($lv_obj->bezeichnung_arr['English'] == '')
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
}
/**
* Speichert eine Kombination aus LV und ihrer kompatiblen Lehrveranstaltung
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
@@ -2487,5 +2572,50 @@ class lehrveranstaltung extends basis_db
return false;
}
}
/**
* Prueft ob eine Lehrveranstaltung im gewaehlten Studiensemester angeboten wird.
* Dazu wird geprueft ob die LV einem aktuellen Studienplan zugeordnet ist, und ob ein Lehrauftrag vorhanden ist.
*
* @param $lehrveranstaltung_id ID der Lehrveranstaltung.
* @param $studiensemester_kurzbz Kurzbz des Studiensemesters.
* @return boolean true wenn angeboten, false wenn nicht angeboten
*/
public function isOffered($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
*
FROM
lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id)."
AND studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)."
AND EXISTS (
SELECT
*
FROM
lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
)";
if($result = $this->db_query($qry))
{
if($row = $this->db_num_rows($result)>0)
{
return true;
}
else
{
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+32
View File
@@ -0,0 +1,32 @@
<?php
/* Copyright (C) 2016 Technikum-Wien
*
* 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: Andreas Moik <moik@technikum-wien.at>
*/
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
$dr = DOC_ROOT;
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
if($dr=='')
$dr='/';
//Originaldateien des Herstellers
echo '<script src="'.$dr.'vendor/jsoneditor/dist/jsoneditor.js"></script>';
echo '<link href="'.$dr.'vendor/jsoneditor/dist/jsoneditor.css" rel="stylesheet" type="text/css">';
?>
Regular → Executable
+70 -69
View File
@@ -2,22 +2,22 @@
/*
* Copyright 2014 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -28,7 +28,7 @@ class pruefungCis extends basis_db
{
public $new;
public $result = array();
public $pruefung_id; //bigint
public $mitarbeiter_uid; //varchar(32)
public $studiensemester_kurzbz; //varchar(16)
@@ -44,15 +44,15 @@ class pruefungCis extends basis_db
public $updatevon; //varcahr(32)
public $updateamum; //timestamp without timezone
public $pruefungsintervall; //smallint
public $lehrveranstaltungen = array(); //Lehrveranstaltungen zur Prüfung
public $termine = array(); //Termine zur Prüfung
/**
* Konstruktor
* @param pruefung_id ID der zu ladenden Prüfung
*/
public function __construct($pruefung_id = null)
public function __construct($pruefung_id = null)
{
parent::__construct();
@@ -87,52 +87,52 @@ class pruefungCis extends basis_db
{
return $this->$name;
}
/**
* Prüft Attribute auf Ihre Richtigkeit
* @return boolean true, wenn alle Prüfungen positiv verlaufen, andernfalls false
*/
public function validate()
{
{
if(!is_numeric($this->pruefungsfenster_id) && $this->pruefungsfenster_id != null)
{
$this->errormsg = "pruefungsfenster_id muss eine gültige Zahl sein.";
return false;
}
if(mb_strlen($this->mitarbeiter_uid) > 32)
{
$this->errormsg = "mitarbeiter_uid darf nicht länger als 32 Zeichen sein.";
return false;
}
if(mb_strlen($this->studiensemester_kurzbz) > 16 && $this->studiensemester_kurzbz != null)
{
$this->errormsg = "studiensemester_kurzbz darf nicht länger als 16 Zeichen sein.";
return false;
}
if(mb_strlen($this->pruefungstyp_kurzbz) > 16 && $this->pruefungstyp_kurzbz != null)
{
$this->errormsg = "pruefungstyp_kurzbz darf nicht länger als 16 Zeichen sein.";
return false;
}
if(mb_strlen($this->titel) > 256)
{
$this->errormsg = "pruefungstyp_kurzbz darf nicht länger als 256 Zeichen sein.";
return false;
}
if(mb_strlen($this->methode) > 64)
{
$this->errormsg = "methode darf nicht länger als 64 Zeichen sein.";
return false;
}
return true;
}
/**
* speichert einen Prüfungs-Datensatz
* @param boolean $new gibt an ob es ich um einen neuen Datensatz (true) oder um ein update (false) handelt
@@ -178,15 +178,15 @@ class pruefungCis extends basis_db
. 'pruefungsintervall='.$this->db_add_param($this->pruefungsintervall).' '
. 'WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';';
}
if($this->db_query($qry))
{
if ($new)
if ($new)
{
$qry = "SELECT currval('campus.seq_pruefung_pruefung_id') as id";
if ($this->db_query($qry))
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
if ($row = $this->db_fetch_object())
{
$this->pruefung_id = $row->id;
foreach ($this->lehrveranstaltungen as $lv)
@@ -209,7 +209,7 @@ class pruefungCis extends basis_db
}
$this->db_query('COMMIT;');
return true;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
@@ -217,7 +217,7 @@ class pruefungCis extends basis_db
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
@@ -259,7 +259,7 @@ class pruefungCis extends basis_db
return false;
}
}
/**
* Lädt einen Datensatz aus der Datenbank
* @param integer $pruefung_id ID der zu ladenden Prüfung
@@ -272,14 +272,14 @@ class pruefungCis extends basis_db
$this->errormsg = "Prüfung ID ist keine gültige Zahl";
return false;
}
$qry = 'SELECT * FROM campus.tbl_pruefung WHERE pruefung_id='.$this->db_add_param($pruefung_id).';';
if(!$this->db_query($qry))
{
$this->errormsg = "Prüfung konnte nicht geladen werden";
return false;
}
}
else
{
if($row = $this->db_fetch_object())
@@ -299,7 +299,7 @@ class pruefungCis extends basis_db
return true;
}
}
/**
* Lädt alle Prüfungen zu einer UID
* @param String $uid UID deren Prüfungen geladen werden sollen
@@ -318,8 +318,8 @@ class pruefungCis extends basis_db
{
$qry .= ' ORDER BY '.$order;
}
$qry .= ';';
$qry .= ';';
if(!$this->db_query($qry))
{
$this->errormsg = "Prüfungen konnten nicht geladen werden";
@@ -347,7 +347,7 @@ class pruefungCis extends basis_db
return true;
}
}
/**
* speichert die zugehörigen LVs zu einer Prüfung
* @param Integer $lehrveranstaltung_id ID einer Lehrveranstaltung
@@ -361,17 +361,17 @@ class pruefungCis extends basis_db
$this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein";
return false;
}
if(!is_numeric($pruefung_id))
{
$this->errormsg = "Prüfung ID muss eine gültige Zahl sein";
return false;
}
$qry = 'INSERT INTO campus.tbl_lehrveranstaltung_pruefung (lehrveranstaltung_id, pruefung_id) VALUES ('
.$this->db_add_param($lehrveranstaltung_id).', '
.$this->db_add_param($pruefung_id).');';
if(!$this->db_query($qry))
{
$this->errormsg = "Lehrveranstaltungen konnten nicht gespeichert werden.";
@@ -379,7 +379,7 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* lädt alle zum Objekt gehörenden Lehrveranstaltungen
* @return boolean true, wenn ok; false, im Fehlerfall
@@ -387,7 +387,7 @@ class pruefungCis extends basis_db
public function getLehrveranstaltungenByPruefung()
{
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -405,7 +405,7 @@ class pruefungCis extends basis_db
$this->errormsg = "Zugehörige Lehrveranstaltungen konnten nicht geladen werden.";
return false;
}
}
/**
@@ -424,7 +424,7 @@ class pruefungCis extends basis_db
$this->errormsg = "Pruefung ID muss eine gültige Zahl sein";
return false;
}
$qry = 'INSERT INTO campus.tbl_pruefungstermin (pruefung_id, von, bis, teilnehmer_max, teilnehmer_min, sammelklausur) VALUES ('
. $this->db_add_param($pruefung_id).', '
. $this->db_add_param($beginn).', '
@@ -432,7 +432,7 @@ class pruefungCis extends basis_db
. $this->db_add_param($max).', '
. $this->db_add_param($min).', '
. $this->db_add_param($sammelklausur).');';
if(!$this->db_query($qry))
{
$this->errormsg = "Termine konnten nicht gespeichert werden!";
@@ -440,15 +440,16 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* Lädt alle Termine zum Prüfungs-Objekt
* @return boolean true, wenn ok; false, im Fehlerfall
*/
public function getTermineByPruefung()
{
$qry = 'SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';';
//$qry = 'SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';';
$fromdate = date("Y-m-d", strtotime("-2 months"));
$qry = "SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id=".$this->db_add_param($this->pruefung_id)."and von > '".$fromdate."';";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -473,9 +474,9 @@ class pruefungCis extends basis_db
$this->errormsg = "Zugehörige Termine konnten nicht geladen werden.";
return false;
}
}
/**
* ändert einen Termin zur Prüfung
* @param integer $pruefungstermin_id ID eines Prüfungstermins
@@ -493,7 +494,7 @@ class pruefungCis extends basis_db
$this->errormsg = "Pruefungstermin ID muss eine gültige Zahl sein.";
return false;
}
$qry = 'UPDATE campus.tbl_pruefungstermin SET '
. 'pruefung_id='.$this->db_add_param($pruefung_id).', '
. 'von='.$this->db_add_param($beginn).', '
@@ -501,7 +502,7 @@ class pruefungCis extends basis_db
. 'teilnehmer_max='.$this->db_add_param($max).', '
. 'teilnehmer_min='.$this->db_add_param($min).' '
. 'WHERE pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';';
if(!$this->db_query($qry))
{
$this->errormsg = "Termin konnte nicht geändert werden.";
@@ -509,7 +510,7 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* Setzt den Storniert-Status einer Prüfung auf True
* @param integer $pruefung_id ID einer Prüfung
@@ -522,9 +523,9 @@ class pruefungCis extends basis_db
$this->errormsg = "Pruefung ID muss eine gültige Zahl sein.";
return false;
}
$qry = 'UPDATE campus.tbl_pruefung SET storniert=true WHERE pruefung_id='.$this->db_add_param($pruefung_id).';';
if(!$this->db_query($qry))
{
$this->errormsg = "Prüfung konnte nicht storniert werden.";
@@ -532,7 +533,7 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* löscht die Verknüpfung zwischen einer Lehrveranstaltung und einer Prüfung
* @param integer $lehrveranstaltung_id ID einer Lehrveranstaltung
@@ -550,9 +551,9 @@ class pruefungCis extends basis_db
$this->errormsg = "Prüfung ID muss eine gültige Zahl sein.";
return false;
}
$qry = 'DELETE FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id).' AND pruefung_id='.$this->db_add_param($pruefung_id).';';
if(!$this->db_query($qry))
{
$this->errormsg = 'Lehrveranstaltung konnte nicht gelöscht werden.';
@@ -560,7 +561,7 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* löscht einen Prüfungstermin einer Prüfung
* @param integer $pruefungstermin_id ID eines Prüfungstermins
@@ -573,9 +574,9 @@ class pruefungCis extends basis_db
$this->errormsg = "Pruefungstermin ID muss eine gültige Zahl sein.";
return false;
}
$qry = 'DELETE FROM campus.tbl_pruefungstermin WHERE pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';';
if(!$this->db_query($qry))
{
$this->errormsg = 'Termin konnte nicht gelöscht werden.';
@@ -583,7 +584,7 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* Lädt alle Prüfungen zur angebenen Lehrveranstaltung
* @param String|Array $lehrveranstaltung_IDs einzelne ID einer Lehrveranstaltung oder ein Array von IDs
@@ -596,7 +597,7 @@ class pruefungCis extends basis_db
$this->errormsg = "Keine Lehrveranstaltungen übergeben.</br>";
return false;
}
$in = "";
if (is_array($lehrveranstaltung_IDs))
{
@@ -610,9 +611,9 @@ class pruefungCis extends basis_db
{
$in = $lehrveranstaltung_IDs;
}
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id IN ('.$in.');';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -627,7 +628,7 @@ class pruefungCis extends basis_db
}
return false;
}
/**
* Lädt alle Prüfung-Lehrveranstaltung Kombinationen
* @return boolean true, wenn ok; false, im Fehlerfall
@@ -635,7 +636,7 @@ class pruefungCis extends basis_db
public function getAll()
{
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung;';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -650,7 +651,7 @@ class pruefungCis extends basis_db
}
return false;
}
/**
* Lädt alle Prüfungen
* @param String $mitarbeiter_uid UID des Mitarbeiters (optional)
@@ -659,14 +660,14 @@ class pruefungCis extends basis_db
public function getAllPruefungen($mitarbeiter_uid = NULL)
{
$qry = 'SELECT * FROM campus.tbl_pruefung';
if(!is_null($mitarbeiter_uid))
{
$qry .= ' WHERE mitarbeiter_uid='.$this->db_add_param($mitarbeiter_uid);
}
$qry .= ';';
if(!$this->db_query($qry))
{
$this->errormsg = "Prüfungen konnten nicht geladen werden";
@@ -694,17 +695,17 @@ class pruefungCis extends basis_db
return true;
}
}
/**
* Lädt den Wert des letzten Studenten in der Anmeldereihung
* @param type $pruefungstermin_id Id eines Prüfungstermines
* @return boolean|integer Wert des Letzten in der Reihung oder false, wenn ein Fehler auftritt
* @return boolean|integer Wert des Letzten in der Reihung oder false, wenn ein Fehler auftritt
*/
public function getLastOfReihung($pruefungstermin_id)
{
$qry = 'SELECT MAX(reihung) FROM campus.tbl_pruefungsanmeldung WHERE '
. 'pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';';
if($this->db_query($qry))
{
$row = $this->db_fetch_object();
@@ -716,4 +717,4 @@ class pruefungCis extends basis_db
return false;
}
}
}
}
+17 -10
View File
@@ -174,16 +174,23 @@ class pruefungsanmeldung extends basis_db {
/**
* Lädt alle Prüfungsanmeldungen eines Studenten
* @param type $uid UID eines Studenten
* @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
* @param type $studiensemester_kurzbz Filter nach Studiensemester (zB 'WS2013')
* @param type $status_kurzbz Filter nach Status (zB 'angemeldet')
* @return boolean|array false, bei Fehler; Array mit Anmeldungen
*/
public function getAnmeldungenByStudent($uid, $studiensemester_kurbz=null, $status_kurzbz=null)
public function getAnmeldungenByStudent($uid, $studiensemester_kurzbz=null, $status_kurzbz=null)
{
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
. 'WHERE uid='.$this->db_add_param($uid).';';
. 'WHERE uid='.$this->db_add_param($uid);
if($studiensemester_kurzbz != null)
{
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
}
$qry .= ';';
if(!$this->db_query($qry))
{
@@ -204,13 +211,13 @@ class pruefungsanmeldung extends basis_db {
$anmeldung->pruefung_id = $row->pruefung_id;
$anmeldung->von = $row->von;
$anmeldung->bis = $row->bis;
$anmeldung->reihung = $row->reihung;
$anmeldung->wuensche = $row->wuensche;
$anmeldung->kommentar = $row->kommentar;
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$anmeldung->reihung = $row->reihung;
$anmeldung->wuensche = $row->wuensche;
$anmeldung->kommentar = $row->kommentar;
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
array_push($anmeldungen, $anmeldung);
}
return $anmeldungen;
+1 -13
View File
@@ -32,8 +32,6 @@ class statistik extends basis_db
public $bezeichnung;
public $url;
public $sql;
public $php;
public $r;
public $gruppe;
public $publish;
public $insertamum;
@@ -92,8 +90,6 @@ class statistik extends basis_db
$this->bezeichnung = $row->bezeichnung;
$this->url = $row->url;
$this->sql = $row->sql;
$this->php = $row->php;
$this->r = $row->r;
$this->gruppe = $row->gruppe;
$this->publish = $this->db_parse_bool($row->publish);
$this->insertamum = $row->insertamum;
@@ -141,8 +137,6 @@ class statistik extends basis_db
$obj->bezeichnung = $row->bezeichnung;
$obj->url = $row->url;
$obj->sql = $row->sql;
$obj->php = $row->php;
$obj->r = $row->r;
$obj->gruppe = $row->gruppe;
$obj->publish = $this->db_parse_bool($row->publish);
$obj->insertamum = $row->insertamum;
@@ -187,8 +181,6 @@ class statistik extends basis_db
$obj->bezeichnung = $row->bezeichnung;
$obj->url = $row->url;
$obj->sql = $row->sql;
$obj->php = $row->php;
$obj->r = $row->r;
$obj->gruppe = $row->gruppe;
$obj->publish = $this->db_parse_bool($row->publish);
$obj->insertamum = $row->insertamum;
@@ -267,14 +259,12 @@ class statistik extends basis_db
if($new)
{
$qry = 'INSERT INTO public.tbl_statistik(statistik_kurzbz, content_id, bezeichnung, url, sql,
php, r, gruppe, publish, insertamum, insertvon, updateamum, updatevon, preferences, berechtigung_kurzbz) VALUES('.
gruppe, publish, insertamum, insertvon, updateamum, updatevon, preferences, berechtigung_kurzbz) VALUES('.
$this->db_add_param($this->statistik_kurzbz).','.
$this->db_add_param($this->content_id,FHC_INTEGER).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->url).','.
$this->db_add_param($this->sql).','.
$this->db_add_param($this->php).','.
$this->db_add_param($this->r).','.
$this->db_add_param($this->gruppe).','.
$this->db_add_param($this->publish, FHC_BOOLEAN).','.
$this->db_add_param($this->insertamum).','.
@@ -294,8 +284,6 @@ class statistik extends basis_db
' statistik_kurzbz='.$this->db_add_param($this->statistik_kurzbz).','.
' url='.$this->db_add_param($this->url).','.
' sql='.$this->db_add_param($this->sql).','.
' php='.$this->db_add_param($this->php).','.
' r='.$this->db_add_param($this->r).','.
' gruppe='.$this->db_add_param($this->gruppe).','.
' publish='.$this->db_add_param($this->publish, FHC_BOOLEAN).','.
' insertamum='.$this->db_add_param($this->insertamum).','.
+42
View File
@@ -226,6 +226,7 @@ class studiengang extends basis_db
return true;
}
// DEPRECATED! SIEHE NAECHSTE FUNKTION
/**
* Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann
*
@@ -255,6 +256,47 @@ class studiengang extends basis_db
return true;
}
// DIESE FUNKTION WARE BESSER GEEIGNET, DA DIE ALTE NOCH AUF DIE vw_studienplan ZUGREIFT
// IN DER DIE GUELTIGEN SEMESTER NOCH VON DEN STUDIENORDNUNGEN ERMITTELT WERDEN ANSTATT VON DEN STUDIENPLAENEN
// IN DIESER WERDEN AUCH DIE STUDIENSEMESTER ABGEFRAGT
/**
* Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann
*
* @param string $order Default: typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC. Spalten, nach denen Sortiert werden soll.
* @param array $studiensemester_kurzbz Array von Studiensemestern, in deren Gueltigkeit die Studienplaene liegen
* @return boolean
*/
/*public function getAllForBewerbung($order = 'typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC', $studiensemester_kurzbz = '')
{
$qry = "SELECT DISTINCT studiengang_kz, typ, organisationseinheittyp_kurzbz, studiengangbezeichnung, standort, studiengangbezeichnung_englisch, lgartcode, tbl_lgartcode.bezeichnung "
. "FROM lehre.tbl_studienplan "
. "JOIN lehre.tbl_studienordnung USING (studienordnung_id) "
. "JOIN public.tbl_studiengang USING (studiengang_kz) "
. "JOIN public.tbl_organisationseinheit USING (oe_kurzbz) "
. "JOIN public.tbl_organisationseinheittyp USING (organisationseinheittyp_kurzbz) "
. "LEFT JOIN lehre.tbl_studienplan_semester USING (studienplan_id) "
. "LEFT JOIN bis.tbl_lgartcode USING (lgartcode) "
. "WHERE onlinebewerbung IS TRUE "
. "AND tbl_studienplan.aktiv IS TRUE "
. "AND tbl_studienplan_semester.semester=1 "
. "AND tbl_studienplan_semester.studiensemester_kurzbz IN (".$this->implode4SQL($studiensemester_kurzbz).") ";
$qry .= " ORDER BY ".$order;
if(!$result = $this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = $this->db_fetch_object($result))
{
$this->result[] = $row;
}
return true;
}*/
/**
* Laedt alle Studientypen in das Attribut studiengang_typ_array
+9 -2
View File
@@ -55,9 +55,16 @@ class tags extends basis_db
*
* Gibt alle Tags zurück
*/
public function getAll()
public function getAll($tag_search = null)
{
$qry = "SELECT * FROM public.tbl_tag; ";
$matchcode=mb_strtoupper(str_replace(array('<','>',' ',';','*','_','-',',',"'",'"'),"%",$tag_search));
$qry = "SELECT * FROM public.tbl_tag ";
if (!empty($tag_search))
{
$qry.="WHERE UPPER(trim(public.tbl_tag.tag)) like '%".$this->db_escape($matchcode)."%' ";
}
$qry.="ORDER BY UPPER(trim(public.tbl_tag.tag)) ";
if($this->db_query($qry))
{
+31 -31
View File
@@ -366,31 +366,31 @@ else
//Feld Umrechnung Punkte=>Note
$maxY=620;
$maxX=40;
$maxX=30;
$pdf->SetFont('Arial','',10);
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'Kriterien:');
$pdf->SetFont('Arial','',7);
$maxX +=120;
$pdf->SetFont('Arial','',8);
$maxX +=55;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'0 - 50 Pkte = 5',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'Ergebnis <= 50 Pkte = 5',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'51 - 64 Pkte = 4',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'50 < Ergebnis < 65 = 4',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'65 - 77 Pkte = 3',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'65 <= Ergebnis < 78 = 3',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'78 - 90 Pkte = 2',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'78 <= Ergebnis < 91 = 2',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'91 - 100 Pkte = 1',1,'C',0);
$pdf->MultiCell(95,12,'91 Pkte <= Ergebnis = 1',1,'C',0);
$maxY=$pdf->GetY();
$maxX=160;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(240,12,'1 Gruppe < 50 Punkte => Bachelorarbeit gesamt negativ','LB','L',0);
$maxX +=240;
$maxX=85;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(315,12,'1 Gruppe < 50 Punkte => Masterarbeit gesamt negativ','LB','L',0);
$maxX +=315;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'','TB','C',0);
$maxX +=80;
@@ -400,10 +400,10 @@ else
//Zeile Note und Unterschrift
$pdf->SetFont('Arial','',11);
$maxY+=25;
$maxX=+40;
$maxX=+30;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'Note: '.$note,0,'L',0);
$maxX=+40;
$maxX=+50;
$maxY=$pdf->GetY();
$pdf->SetXY($maxX,$maxY);
$maxX +=300;
@@ -657,26 +657,26 @@ else
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'Kriterien:');
$pdf->SetFont('Arial','',8);
$maxX +=130;
$maxX +=55;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'0 - 50 Pkte = 5',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'Ergebnis <= 50 Pkte = 5',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'51 - 64 Pkte = 4',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'50 < Ergebnis < 65 = 4',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'65 - 77 Pkte = 3',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'65 <= Ergebnis < 78 = 3',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'78 - 90 Pkte = 2',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'78 <= Ergebnis < 91 = 2',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'91 - 100 Pkte = 1',1,'C',0);
$pdf->MultiCell(95,12,'91 Pkte <= Ergebnis = 1',1,'C',0);
$maxY=$pdf->GetY();
$maxX=160;
$maxX=85;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(240,12,'1 Gruppe < 50 Punkte => Masterarbeit gesamt negativ','LB','L',0);
$maxX +=240;
$pdf->MultiCell(315,12,'1 Gruppe < 50 Punkte => Masterarbeit gesamt negativ','LB','L',0);
$maxX +=315;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'','TB','C',0);
$maxX +=80;
+10 -7
View File
@@ -81,15 +81,18 @@ if(!$generateuid_addon_found)
// Das File aliases enthaelt die Mailverteiler haendisch gewarteten Mailverteiler die nicht
// in der FHC Datenbank vorhanden sind.
// Diese duerfen nicht als UID verwendet werden, da es sonst zu Konflikten kommt
$aliases = file_get_contents(DOC_ROOT.'../system/aliases');
$aliases = explode("\n",$aliases);
foreach($aliases as $alias)
if(file_exists(DOC_ROOT.'../system/aliases'))
{
if(!strstr($alias,'#'))
$aliases = file_get_contents(DOC_ROOT.'../system/aliases');
$aliases = explode("\n",$aliases);
foreach($aliases as $alias)
{
$entry = preg_split("/[\s:]+/", $alias);
if($entry[0]!='')
$reserviert[]=$entry[0];
if(!strstr($alias,'#'))
{
$entry = preg_split("/[\s:]+/", $alias);
if($entry[0]!='')
$reserviert[]=$entry[0];
}
}
}
+1 -1
View File
@@ -138,7 +138,7 @@ $menu=array
),
'Stammdaten'=> array
(
'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/berechtigung','basis/variable','basis/studiengang','basis/ort','basis/firma','basis/fhausweis'), 'image'=>'vilesci_stammdaten.png',
'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/berechtigung','basis/variable','basis/studiengang','basis/ort','basis/firma','basis/fhausweis','basis/infoscreen'), 'image'=>'vilesci_stammdaten.png',
'link'=>'left.php?categorie=Stammdaten', 'target'=>'nav',
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('admin','assistenz')),
+7 -2
View File
@@ -6,12 +6,17 @@
.panel-body-noheader {
border-top-width: 1px;
}
.panel-header,
.panel-body {
.panel {
background-color: #EEE;
color: #333;
border-color: #888;
border: 1px solid #888;
}
.panel-body {
background-color: #EEE;
color: #333;
font-size: 12px;
border: none;
}
+6 -6
View File
@@ -1,12 +1,12 @@
.icon-fhc-chart{
background:url('../../../skin/images/Graphs_clip_art.svg') no-repeat center center;
background-size: 16px 16px;
background:url('../../../skin/images/Chart.svg') no-repeat center center;
background-size: 11px 16px;
}
.icon-fhc-report{
background:url('../../../skin/images/x-office-presentation.svg') no-repeat center center;
background-size: 16px 16px;
background:url('../../../skin/images/Report.svg') no-repeat center center;
background-size: 11px 16px;
}
.icon-fhc-statistik{
background:url('../../../skin/images/x-office-spreadsheet.svg') no-repeat center center;
background-size: 16px 16px;
background:url('../../../skin/images/Statistik.svg') no-repeat center center;
background-size: 11px 16px;
}
+6 -2
View File
@@ -132,6 +132,10 @@ $this->phrasen['incoming/tabelleSortierinformation']='Sie können die Spalten du
$this->phrasen['incoming/waehlenSieAusDenOptionen']='Bitte wählen Sie die gewünschen Optionen aus dem DropDown und klicken Sie auf "Filter"';
$this->phrasen['incoming/lvInfo']='LV-Info';
$this->phrasen['incoming/erfolgreichAbgeschickt']='Ihre Bewerbung wurde erfolgreich abgeschickt. Die zuständige Assistenz wird sich in Kürze mit Ihnen in Verbindung setzen';
$this->phrasen['incoming/fehlerBeimSenden']='Fehler beim senden der Bewerbung. Bitte kontaktieren Sie <a href="mailto:'.MAIL_INTERNATIONAL.'">'.MAIL_INTERNATIONAL.'</a>';
$this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='Das Feld "Jahre studiert" muss eine ganze Zahl sein</a>';
$this->phrasen['incoming/fehlerBeimSenden']='Fehler beim Senden der Bewerbung. Bitte kontaktieren Sie <a href="mailto:'.MAIL_INTERNATIONAL.'">'.MAIL_INTERNATIONAL.'</a>';
$this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='Das Feld "Jahre studiert" muss eine ganze Zahl sein';
$this->phrasen['incoming/lvVollBelegt']='Es sind mittlerweile keine freien Plätze mehr für diese Lehrveranstaltung verfügbar. Bei Rückfragen kontaktieren Sie bitte <a href="mailto:'.MAIL_INTERNATIONAL.'">'.MAIL_INTERNATIONAL.'</a>';
$this->phrasen['incoming/beginnNichtInVergangenheit']='Das Beginndatum darf nicht in der Vergangenheit liegen';
$this->phrasen['incoming/endeGroesserStart']='Das Endedatum darf nicht vor dem Beginndatum liegen';
$this->phrasen['incoming/bitteGueltigesDatumEingeben']='Das Start- oder Endedatum muss im Format TT.MM.YYYY vorliegen';
?>
+1 -1
View File
@@ -60,7 +60,7 @@ Sollte innerhalb der nächsten Tagen keine neuerliche Aktivierung Ihres Benutzer
sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.<br>';
$this->phrasen['profil/nurJPGBilder']='Derzeit können nur Bilder im JPG Format hochgeladen werden';
$this->phrasen['profil/BilduploadInfotext']='Derzeit können nur Bilder im JPG Format mit einer Maximalgröße von 15MB hochgeladen werden!<br><br><b>Bitte beachten Sie die <a href="../../cms/content.php?content_id=%s">Richtlinien für den Bildupload</a></b>';
$this->phrasen['profil/BilduploadInfotext']='Derzeit können nur Bilder im JPG Format mit einer Maximalgröße von 15MB hochgeladen werden!<br><br><b>Bitte beachten Sie die <a href="'.APP_ROOT.'cms/content.php?content_id=%s">Richtlinien für den Bildupload</a></b>';
$this->phrasen['profil/Bild']='Profilfoto';
$this->phrasen['profil/Bildupload']='Bildupload';
$this->phrasen['profil/fotofreigeben']='Sperre des Profilfotos aufheben';
+3
View File
@@ -75,6 +75,7 @@ $this->phrasen['pruefung/terminGeloescht'] = 'Termin gelöscht';
$this->phrasen['pruefung/unbegrenzt'] = 'unbegrenzt';
$this->phrasen['pruefung/bewertungenZu'] = 'Bewertungen zu';
$this->phrasen['pruefung/keineAuswahl'] = 'Keine Auswahl';
$this->phrasen['pruefung/alleBestaetigen'] = 'Alle bestätigen';
// pruefungsbewertung
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Prüfungsbewertung';
@@ -149,5 +150,7 @@ Die Prüfung zur LV %1$s wurde verschoben.
Der neue Termin für die Prüfung ist am %2$s um %3$s Uhr.';
$this->phrasen['pruefung/emailVerschiebungSubject'] = 'Verschiebung einer Prüfung';
$this->phrasen['pruefung/AnrechnungInStudiengang'] = 'Studiengang für Anrechnung';
?>
+5 -1
View File
@@ -134,5 +134,9 @@ $this->phrasen['incoming/waehlenSieAusDenOptionen']='Please choose your options
$this->phrasen['incoming/lvInfo']='Course-Info';
$this->phrasen['incoming/erfolgreichAbgeschickt']='Admission sent successfully. The administrative assistant responsible will contact you soon';
$this->phrasen['incoming/fehlerBeimSenden']='An error occured while sending the application. Please contact <a href="mailto:'.MAIL_INTERNATIONAL.'">'.MAIL_INTERNATIONAL.'</a>';
$this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='"Years completed" must be a positive integer</a>';
$this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='"Years completed" must be a positive integer</a>';
$this->phrasen['incoming/lvVollBelegt']='By now there are no vacancies for this course. For further questions please contact <a href="mailto:'.MAIL_INTERNATIONAL.'">'.MAIL_INTERNATIONAL.'</a>';
$this->phrasen['incoming/beginnNichtInVergangenheit']='The "From"-date may not be in the past';
$this->phrasen['incoming/endeGroesserStart']='The "To"-date may not be before the start';
$this->phrasen['incoming/bitteGueltigesDatumEingeben']='The date for the begin and end must be entered in the DD.MM.YYYY format';
?>
+1 -1
View File
@@ -57,7 +57,7 @@ If your account has been deactivated by mistake, please contact the administrati
$this->phrasen['profil/nurJPGBilder']='Currently it is only possible to upload JPEG images';
$this->phrasen['profil/BilduploadInfotext']='Currently it is only possible to upload JPG images with a maximum size of 15MB!<br><br><b>Please follow the <a href="../../cms/content.php?content_id=%s">guidelines for uploading images</a></b>';
$this->phrasen['profil/BilduploadInfotext']='Currently it is only possible to upload JPG images with a maximum size of 15MB!<br><br><b>Please follow the <a href="'.APP_ROOT.'cms/content.php?content_id=%s">guidelines for uploading images</a></b>';
$this->phrasen['profil/Bild']='Picture';
$this->phrasen['profil/Bildupload']='Upload Picture';
$this->phrasen['profil/fotofreigeben']='Unlock your profile photo';
+1
View File
@@ -75,6 +75,7 @@ $this->phrasen['pruefung/terminGeloescht'] = 'Termin gelöscht';
$this->phrasen['pruefung/unbegrenzt'] = 'unlimited';
$this->phrasen['pruefung/bewertungenZu'] = 'Bewertungen zu';
$this->phrasen['pruefung/keineAuswahl'] = 'Keine Auswahl';
$this->phrasen['pruefung/alleBestaetigen'] = 'Confirm all';
// pruefungsbewertung
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Prüfungsbewertung';
+1
View File
@@ -75,6 +75,7 @@ $this->phrasen['pruefung/terminGeloescht'] = 'Appello eliminato';
$this->phrasen['pruefung/unbegrenzt'] = '';
$this->phrasen['pruefung/bewertungenZu'] = 'Studenti iscritti allappello di';
$this->phrasen['pruefung/keineAuswahl'] = 'Nessuna selezione';
$this->phrasen['pruefung/alleBestaetigen'] = 'Confermare tutti';
// pruefungsbewertung
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Voti desame';
+5 -5
View File
@@ -4,7 +4,7 @@ $this->phrasen['upload/auswaehlen']='';
$this->phrasen['upload/benutzerKonnteNichtZugeordnetWerden']='';
$this->phrasen['upload/dateiAufServerDateiformat']='Errore: il formato del file che si vuole caricare sul server non viene supportato';
$this->phrasen['upload/dateien']='';
$this->phrasen['upload/dateienAutomatischUeberschreiben']='';
$this->phrasen['upload/dateienAutomatischUeberschreiben']='sovrascrivere file omonimi';
$this->phrasen['upload/dateienImOrdner']='';
$this->phrasen['upload/dateienInOrdnern']='';
$this->phrasen['upload/dateiExistiertBereits']='Errore: il file è già esistente! Si prega di utilizzare l\'opzione "sovrascrivere automaticamente i file';
@@ -21,18 +21,18 @@ $this->phrasen['upload/keineOrdnerGefunden']='impossibile trovare cartelle corri
$this->phrasen['upload/keineSemesterDefiniert']='';
$this->phrasen['upload/keineStudiengaengeDefiniert']='';
$this->phrasen['upload/leeren']='';
$this->phrasen['upload/maxUploadgroesse']='';
$this->phrasen['upload/maxUploadgroesse']='Grandezza massima per file';
$this->phrasen['upload/name']='';
$this->phrasen['upload/neuesVerzeichnisErstellen']='';
$this->phrasen['upload/neuesVerzeichnisErstellen']='crea nuova cartella';
$this->phrasen['upload/studentenUploadEinsehen']='';
$this->phrasen['upload/studentenUploadVerwalten']='';
$this->phrasen['upload/studentenUploadverzeichnis']='';
$this->phrasen['upload/studentenUploadverzeichnisLeeren']='';
$this->phrasen['upload/umEinenOrdnerOderEineDatei']='';
$this->phrasen['upload/umEinenOrdnerOderEineDatei']='Per cancellare o modificare un file o una cartella barrare la corrispettiva casella.';
$this->phrasen['upload/unterordnerVon']='';
$this->phrasen['upload/upload']='';
$this->phrasen['upload/verzeichnisErstellen']='';
$this->phrasen['upload/verzeichnisname']='';
$this->phrasen['upload/verzeichnisname']='Nome cartella';
$this->phrasen['upload/verzeichnisnameDarfNurBuchstaben']='';
$this->phrasen['upload/wollenSieOrdnerWirklichLoeschen']='';
$this->phrasen['upload/wollenSieUploadWirklichLeeren']='';
+3 -3
View File
@@ -94,7 +94,7 @@ foreach($uid_arr as $uid)
$datum_aktuell = date('d.m.Y');
$gebdatum = date('d.m.Y',strtotime($student->gebdatum));
$prestudent = new prestudent($student->prestudent_id);
$prestudent->getLastStatus($student->prestudent_id,$studiensemester,'Student');
$prestudent->getLastStatus($student->prestudent_id,$studiensemester);
$studienordnung = new studienordnung();
$studienordnung->getStudienordnungFromStudienplan($prestudent->studienplan_id);
$studiengang = new studiengang();
@@ -180,7 +180,7 @@ foreach($uid_arr as $uid)
echo "\t\t<studiensemester_beginn>".$studiensemester_beginn->bezeichnung."</studiensemester_beginn>";
echo "\t\t<studiensemester_beginndatum>".date('d.m.Y',strtotime($studiensemester_beginn->start))."</studiensemester_beginndatum>";
$prestudent->getLastStatus($student->prestudent_id,$studiensemester,'Student');
$prestudent->getLastStatus($student->prestudent_id,$studiensemester);
$studiensemester_abschluss = new studiensemester();
$abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester);
$studiensemester_abschluss->load($abschluss);
@@ -306,7 +306,7 @@ foreach($uid_arr as $uid)
}
}
$prestudent = new prestudent();
$prestudent->getLastStatus($student->prestudent_id, null, 'Student');
$prestudent->getLastStatus($student->prestudent_id, null);
if($prestudent->orgform_kurzbz!='')
$orgform = $prestudent->orgform_kurzbz;
+320 -304
View File
@@ -48,7 +48,7 @@ function breaktext($text, $zeichen)
$arr = explode(' ',$text);
$ret = '';
$teilstring='';
foreach($arr as $elem)
{
if(strlen($teilstring.$elem)>$zeichen)
@@ -56,7 +56,7 @@ function breaktext($text, $zeichen)
$ret.=' '.$teilstring.'\n';
$teilstring=$elem;
}
else
else
$teilstring .=' '.$elem;
}
$ret.=$teilstring;
@@ -68,9 +68,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
if(isset($_GET['uid']))
$uid = $_GET['uid'];
else
else
$uid = null;
$uid_arr = explode(";",$uid);
if ($uid_arr[0] == "")
@@ -78,339 +78,355 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
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;
if(isset($_GET['ss']))
$studiensemester_kurzbz = $_GET['ss'];
else
else
$studiensemester_kurzbz = $semester_aktuell;
//Daten holen
$xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>";
$xml .= "<zeugnisse>";
for ($i = 0; $i < sizeof($uid_arr); $i++)
{
{
$anzahl_fussnoten=0;
$studiengang_typ='';
$xml_fussnote='';
$projektarbeit=array();
$query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.projektarbeit_note_anzeige,
tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studentlehrverband.semester,
tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre,
tbl_person.titelpost, tbl_person.anrede, tbl_studiensemester.bezeichnung as sembezeichnung,
tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id, tbl_studiengang.max_semester
FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer, tbl_studentlehrverband, tbl_studiensemester
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 = '".addslashes($uid_arr[$i])."'
AND tbl_studentlehrverband.student_uid=tbl_student.student_uid
AND tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz
AND tbl_studentlehrverband.studiensemester_kurzbz = '".addslashes($studiensemester_kurzbz)."'";
$query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.projektarbeit_note_anzeige,
tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studentlehrverband.semester,
tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre,
tbl_person.titelpost, tbl_person.anrede, tbl_studiensemester.bezeichnung as sembezeichnung,
tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id, tbl_studiengang.max_semester
FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer, tbl_studentlehrverband, tbl_studiensemester
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 = ".$db->db_add_param($uid_arr[$i])."
AND tbl_studentlehrverband.student_uid=tbl_student.student_uid
AND tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz
AND tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz);
if($result = $db->db_query($query))
{
if(!$row = $db->db_fetch_object($result))
die('Student not found');
}
else
die('Student not found');
$studiengang = new studiengang();
$stgleiter = $studiengang->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);
}
//Wenn das Semester 0 ist, dann wird das Semester aus der Rolle geholt. (Ausnahme: Incoming)
//damit bei Outgoing Studenten die im 0. Semester angelegt sind das richtige Semester aufscheint
$qry ="SELECT ausbildungssemester as semester FROM public.tbl_prestudentstatus
WHERE
prestudent_id='".addslashes($row->prestudent_id)."' AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND
status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent')
ORDER BY DATUM DESC LIMIT 1";
if($result_sem = $db->db_query($qry))
{
if($row_sem = $db->db_fetch_object($result_sem))
$xml .= "\n <zeugnis>";
if($row = $db->db_fetch_object($result))
{
$row->semester = $row_sem->semester;
$bezeichnung = $row_sem->semester.'. Semester';
}
else
$bezeichnung = '';
}
else
$bezeichnung = '';
$xml .= "\n <zeugnis>";
$xml .= " <studiensemester>".$row->sembezeichnung."</studiensemester>";
$xml .= " <stsem>".$row->stsem."</stsem>";
$xml .= " <semester>".$row->semester."</semester>";
$xml .= " <semester_bezeichnung>".$bezeichnung."</semester_bezeichnung>";
$xml .= " <studiengang>".$row->bezeichnung."</studiengang>";
$xml .= " <studiengang_englisch>".$row->english."</studiengang_englisch>";
if($row->typ=='b')
$bezeichnung='Bachelor';
elseif($row->typ=='m')
$bezeichnung='Master';
elseif($row->typ=='d')
$bezeichnung='Diplom';
else
$bezeichnung='';
$studiengang_typ=$row->typ;
$semester = $row->semester;
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($row->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($row->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($row->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($row->studiengang_kz));
$xml .= " <studiengang_art>".$bezeichnung."</studiengang_art>";
$xml .= " <studiengang_kz>".$studiengang_kz."</studiengang_kz>";
$xml .= "\n <anrede>".$row->anrede."</anrede>";
$xml .= "\n <vorname>".$row->vorname."</vorname>";
$xml .= " <nachname>".$row->nachname."</nachname>";
$xml .= " <name>".trim($row->titelpre.' '.trim($row->vorname.' '.$row->vornamen).' '.$row->nachname.($row->titelpost!=''?', '.$row->titelpost:''))."</name>";
$gebdatum = date('d.m.Y',strtotime($row->gebdatum));
$xml .= " <gebdatum>".$gebdatum."</gebdatum>";
$xml .= " <matrikelnr>".trim($row->matrikelnr)."</matrikelnr>";
$xml .= " <studiengangsleiter>".$stgl."</studiengangsleiter>";
$datum_aktuell = date('d.m.Y');
$xml .= " <ort_datum>".$datum_aktuell."</ort_datum>";
$xml .= " <projektarbeit_note_anzeige>".($row->projektarbeit_note_anzeige=='t'?'true':'false')."</projektarbeit_note_anzeige>";
$qry_proj = "SELECT lehrveranstaltung_id, titel, themenbereich, note, titel_english, tbl_projekttyp.bezeichnung, projekttyp_kurzbz FROM lehre.tbl_projektarbeit JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) WHERE student_uid='".addslashes($uid_arr[$i])."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND projekttyp_kurzbz in('Bachelor', 'Diplom') ORDER BY beginn ASC, projektarbeit_id ASC";
if($result_proj = $db->db_query($qry_proj))
{
while($row_proj = $db->db_fetch_object($result_proj))
{
$projektarbeit[$row_proj->lehrveranstaltung_id]['titel']=$row_proj->titel;
$projektarbeit[$row_proj->lehrveranstaltung_id]['titel_en']=$row_proj->titel_english;
$projektarbeit[$row_proj->lehrveranstaltung_id]['themenbereich']=$row_proj->themenbereich;
$projektarbeit[$row_proj->lehrveranstaltung_id]['note']=$row_proj->note;
$projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_bezeichnung']=$row_proj->bezeichnung;
$projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_kurzbz']=$row_proj->projekttyp_kurzbz;
}
}
// Wenn es das letzte Semesterzeugnis ist, wird zusaetzlich die Abschlusspruefung geliefert
if($row->semester==$row->max_semester)
{
$qry_abschlusspruefung = "SELECT
tbl_abschlusspruefung.datum,
tbl_abschlusspruefung.pruefungstyp_kurzbz,
tbl_abschlussbeurteilung.bezeichnung,
tbl_abschlussbeurteilung.bezeichnung_english
FROM
lehre.tbl_abschlusspruefung
LEFT JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz)
WHERE
tbl_abschlusspruefung.student_uid=".$db->db_add_param($uid_arr[$i])."
ORDER BY datum DESC LIMIT 1";
if($result_abschlusspruefung = $db->db_query($qry_abschlusspruefung))
{
if($row_abschlusspruefung = $db->db_fetch_object($result_abschlusspruefung))
$studiengang = new studiengang();
$stgleiter = $studiengang->getLeitung($row->studiengang_kz);
$stgl='';
foreach ($stgleiter as $stgleiter_uid)
{
$xml .= " <abschlusspruefung_typ>".$row_abschlusspruefung->pruefungstyp_kurzbz."</abschlusspruefung_typ>";
$xml .= " <abschlusspruefung_datum>".$datum->formatDatum($row_abschlusspruefung->datum,'d.m.Y')."</abschlusspruefung_datum>";
$xml .= " <abschlusspruefung_note>".$row_abschlusspruefung->bezeichnung."</abschlusspruefung_note>";
$xml .= " <abschlusspruefung_note_english>".$row_abschlusspruefung->bezeichnung_english."</abschlusspruefung_note_english>";
$stgl_ma = new mitarbeiter($stgleiter_uid);
$stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost);
}
}
}
$obj = new zeugnisnote();
$obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid_arr[$i], $studiensemester_kurzbz);
$ects_gesamt = 0;
$prestudent_id = $row->prestudent_id;
foreach ($obj->result as $row)
{
if($row->zeugnis)
{
if (trim($row->note)!=='')
$note = $note_arr[$row->note];
else
$note = "";
$note2=$note;
//Firma fuer Berufspraktikum
$qry = "SELECT tbl_firma.name
FROM
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, public.tbl_firma
WHERE
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
tbl_projektarbeit.firma_id = tbl_firma.firma_id AND
tbl_projektarbeit.student_uid='".addslashes($uid_arr[$i])."' AND
tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND
tbl_lehrveranstaltung.lehrveranstaltung_id='".addslashes($row->lehrveranstaltung_id)."'";
$firma = '';
$firma_eng = '';
if($result_firma = $db->db_query($qry))
//Wenn das Semester 0 ist, dann wird das Semester aus der Rolle geholt. (Ausnahme: Incoming)
//damit bei Outgoing Studenten die im 0. Semester angelegt sind das richtige Semester aufscheint
$qry ="SELECT ausbildungssemester as semester FROM public.tbl_prestudentstatus
WHERE
prestudent_id=".$db->db_add_param($row->prestudent_id)." AND
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent')
ORDER BY DATUM DESC LIMIT 1";
if($result_sem = $db->db_query($qry))
{
if($row_firma = $db->db_fetch_object($result_firma))
if($row_sem = $db->db_fetch_object($result_sem))
{
if($row_firma->name!='')
$row->semester = $row_sem->semester;
$bezeichnung = $row_sem->semester.'. Semester';
}
else
$bezeichnung = '';
}
else
$bezeichnung = '';
$xml .= " <studiensemester>".$row->sembezeichnung."</studiensemester>";
$xml .= " <stsem>".$row->stsem."</stsem>";
$xml .= " <semester>".$row->semester."</semester>";
$xml .= " <semester_bezeichnung>".$bezeichnung."</semester_bezeichnung>";
$xml .= " <studiengang>".$row->bezeichnung."</studiengang>";
$xml .= " <studiengang_englisch>".$row->english."</studiengang_englisch>";
if($row->typ=='b')
$bezeichnung='Bachelor';
elseif($row->typ=='m')
$bezeichnung='Master';
elseif($row->typ=='d')
$bezeichnung='Diplom';
else
$bezeichnung='';
$studiengang_typ=$row->typ;
$semester = $row->semester;
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($row->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($row->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($row->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($row->studiengang_kz));
$xml .= " <studiengang_art>".$bezeichnung."</studiengang_art>";
$xml .= " <studiengang_kz>".$studiengang_kz."</studiengang_kz>";
$xml .= "\n <anrede>".$row->anrede."</anrede>";
$xml .= "\n <vorname>".$row->vorname."</vorname>";
$xml .= " <nachname>".$row->nachname."</nachname>";
$xml .= " <name>".trim($row->titelpre.' '.trim($row->vorname.' '.$row->vornamen).' '.$row->nachname.($row->titelpost!=''?', '.$row->titelpost:''))."</name>";
$gebdatum = date('d.m.Y',strtotime($row->gebdatum));
$xml .= " <gebdatum>".$gebdatum."</gebdatum>";
$xml .= " <matrikelnr>".trim($row->matrikelnr)."</matrikelnr>";
$xml .= " <studiengangsleiter>".$stgl."</studiengangsleiter>";
$datum_aktuell = date('d.m.Y');
$xml .= " <ort_datum>".$datum_aktuell."</ort_datum>";
$xml .= " <projektarbeit_note_anzeige>".($row->projektarbeit_note_anzeige=='t'?'true':'false')."</projektarbeit_note_anzeige>";
$qry_proj = "
SELECT
lehrveranstaltung_id, titel, themenbereich, note, titel_english,
tbl_projekttyp.bezeichnung, projekttyp_kurzbz
FROM
lehre.tbl_projektarbeit
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
WHERE
student_uid=".$db->db_add_param($uid_arr[$i])."
AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND projekttyp_kurzbz in('Bachelor', 'Diplom')
ORDER BY beginn ASC, projektarbeit_id ASC";
if($result_proj = $db->db_query($qry_proj))
{
while($row_proj = $db->db_fetch_object($result_proj))
{
$projektarbeit[$row_proj->lehrveranstaltung_id]['titel']=$row_proj->titel;
$projektarbeit[$row_proj->lehrveranstaltung_id]['titel_en']=$row_proj->titel_english;
$projektarbeit[$row_proj->lehrveranstaltung_id]['themenbereich']=$row_proj->themenbereich;
$projektarbeit[$row_proj->lehrveranstaltung_id]['note']=$row_proj->note;
$projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_bezeichnung']=$row_proj->bezeichnung;
$projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_kurzbz']=$row_proj->projekttyp_kurzbz;
}
}
// Wenn es das letzte Semesterzeugnis ist, wird zusaetzlich die Abschlusspruefung geliefert
if($row->semester==$row->max_semester)
{
$qry_abschlusspruefung = "SELECT
tbl_abschlusspruefung.datum,
tbl_abschlusspruefung.pruefungstyp_kurzbz,
tbl_abschlussbeurteilung.bezeichnung,
tbl_abschlussbeurteilung.bezeichnung_english
FROM
lehre.tbl_abschlusspruefung
LEFT JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz)
WHERE
tbl_abschlusspruefung.student_uid=".$db->db_add_param($uid_arr[$i])."
ORDER BY datum DESC LIMIT 1";
if($result_abschlusspruefung = $db->db_query($qry_abschlusspruefung))
{
if($row_abschlusspruefung = $db->db_fetch_object($result_abschlusspruefung))
{
$firma = " bei Firma: $row_firma->name";
$firma_eng = " at: $row_firma->name";
$xml .= " <abschlusspruefung_typ>".$row_abschlusspruefung->pruefungstyp_kurzbz."</abschlusspruefung_typ>";
$xml .= " <abschlusspruefung_datum>".$datum->formatDatum($row_abschlusspruefung->datum,'d.m.Y')."</abschlusspruefung_datum>";
$xml .= " <abschlusspruefung_note>".$row_abschlusspruefung->bezeichnung."</abschlusspruefung_note>";
$xml .= " <abschlusspruefung_note_english>".$row_abschlusspruefung->bezeichnung_english."</abschlusspruefung_note_english>";
}
}
}
//Bakk/Dipl Fussnoten
if(array_key_exists($row->lehrveranstaltung_id, $projektarbeit))
{
$bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma.' '.$fussnotenzeichen[$anzahl_fussnoten];
$bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng.' '.$fussnotenzeichen[$anzahl_fussnoten];
$xml_fussnote .="\n <fussnote>";
$xml_fussnote .=" <fussnotenzeichen>".$fussnotenzeichen[$anzahl_fussnoten]."</fussnotenzeichen>";
//$projektarbeit[$row->lehrveranstaltung_id]['titel'] = breaktext($projektarbeit[$row->lehrveranstaltung_id]['titel'], 40);
$anzahl_nl = substr_count($projektarbeit[$row->lehrveranstaltung_id]['titel'],'\n');
$nl2='';
if($projektarbeit[$row->lehrveranstaltung_id]['themenbereich']!='')
{
//$xml_fussnote .=" <themenbereich_bezeichnung>Themenbereich: </themenbereich_bezeichnung>";
$xml_fussnote .=" <themenbereich><![CDATA[".$projektarbeit[$row->lehrveranstaltung_id]['themenbereich'].']]></themenbereich>';
$anzahl_nl++;
$nl2='\n';
}
/*if($studiengang_typ=='b')
$typ = 'Bachelorarbeit:';
else
$typ = 'Master Thesis:';*/
$nl='';
$nl2='';
$xml_fussnote .=" <titel_bezeichnung><![CDATA[".$projektarbeit[$row->lehrveranstaltung_id]['projekttyp_bezeichnung']."]]></titel_bezeichnung>";
$xml_fussnote .=" <titel_kurzbz><![CDATA[".$projektarbeit[$row->lehrveranstaltung_id]['projekttyp_kurzbz']."]]></titel_kurzbz>";
$xml_fussnote .=" <titel><![CDATA[".$projektarbeit[$row->lehrveranstaltung_id]['titel'].$nl2."]]></titel>";
$xml_fussnote .=" <titel_en><![CDATA[".$projektarbeit[$row->lehrveranstaltung_id]['titel_en'].$nl2."]]></titel_en>";
//$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']];
$note = $projektarbeit[$row->lehrveranstaltung_id]['note'];
//$nl = str_repeat('\n',($anzahl_nl));
$xml_fussnote .=' <note>'.(isset($note_arr[$note])?$note_arr[$note]:$note).$nl.'</note>';
$xml_fussnote .=' <sws>'.$nl.'</sws>';
$xml_fussnote .=' <ects>'.$nl.'</ects>';
$xml_fussnote .=' <lv_lehrform_kurzbz>'.$nl.'</lv_lehrform_kurzbz>';
$xml_fussnote .=" </fussnote>";
$anzahl_fussnoten++;
}
else
{
$bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma;
$bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng;
}
$bisio_von = '';
$bisio_bis = '';
$bisio_ort = '';
$bisio_universitaet = '';
$auslandssemester=false;
$qry = "SELECT tbl_bisio.* FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE tbl_lehreinheit.lehrveranstaltung_id='$row->lehrveranstaltung_id'
AND student_uid='".addslashes($uid_arr[$i])."'";
if($result_bisio = $db->db_query($qry))
{
if($row_bisio = $db->db_fetch_object($result_bisio))
{
$bisio_von = $row_bisio->von;
$bisio_bis = $row_bisio->bis;
$bisio_ort = $row_bisio->ort;
$bisio_universitaet = $row_bisio->universitaet;
$auslandssemester=true;
$note2 = 'ar';
}
}
$qry = "SELECT wochen FROM public.tbl_semesterwochen
WHERE (studiengang_kz, semester) in (SELECT studiengang_kz, semester
FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=$row->lehrveranstaltung_id)";
$wochen = 15;
if($result_wochen = $db->db_query($qry))
{
if($row_wochen = $db->db_fetch_object($result_wochen))
{
$wochen = $row_wochen->wochen;
}
}
$xml .= "\n <unterrichtsfach>";
$xml .= " <bezeichnung><![CDATA[".$bezeichnung."]]></bezeichnung>";
$xml .= " <bezeichnung_englisch><![CDATA[".$bezeichnung_englisch."]]></bezeichnung_englisch>";
$xml .= " <note>".$note2."</note>";
$xml .= " <sws>".($row->semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1))."</sws>";
$ectspunkte='';
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($prestudent_id, null, $row->lehrveranstaltung_id);
if($anrechnung->result != null)
{
$lv = new lehrveranstaltung($anrechnung->result[0]->lehrveranstaltung_id);
if(($lv->ects !== $row->ects) && ($lv->ects != "") && ($lv->ects != null))
{
$row->ects = $lv->ects;
}
}
if($row->ects==0 || $row->ects=='')
$ectspunkte='';
else
$obj = new zeugnisnote();
$obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid_arr[$i], $studiensemester_kurzbz);
$ects_gesamt = 0;
$prestudent_id = $row->prestudent_id;
foreach ($obj->result as $row)
{
//Bei 2 Nachkommastellen beide anzeigen, sonst nur 1
if(number_format($row->ects,1)==number_format($row->ects,2))
$ectspunkte=number_format($row->ects,1);
else
$ectspunkte=number_format($row->ects,2);
if($row->zeugnis)
{
if (trim($row->note)!=='')
$note = $note_arr[$row->note];
else
$note = "";
$note2=$note;
//Firma fuer Berufspraktikum
$qry = "SELECT tbl_firma.name
FROM
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, public.tbl_firma
WHERE
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
tbl_projektarbeit.firma_id = tbl_firma.firma_id AND
tbl_projektarbeit.student_uid=".$db->db_add_param($uid_arr[$i])." AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id);
$firma = '';
$firma_eng = '';
if($result_firma = $db->db_query($qry))
{
if($row_firma = $db->db_fetch_object($result_firma))
{
if($row_firma->name!='')
{
$firma = " bei Firma: $row_firma->name";
$firma_eng = " at: $row_firma->name";
}
}
}
//Bakk/Dipl Fussnoten
if(array_key_exists($row->lehrveranstaltung_id, $projektarbeit))
{
$bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma.' '.$fussnotenzeichen[$anzahl_fussnoten];
$bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng.' '.$fussnotenzeichen[$anzahl_fussnoten];
$xml_fussnote .="\n <fussnote>";
$xml_fussnote .=" <fussnotenzeichen>".$fussnotenzeichen[$anzahl_fussnoten]."</fussnotenzeichen>";
//$projektarbeit[$row->lehrveranstaltung_id]['titel'] = breaktext($projektarbeit[$row->lehrveranstaltung_id]['titel'], 40);
$anzahl_nl = substr_count($projektarbeit[$row->lehrveranstaltung_id]['titel'],'\n');
$nl2='';
if($projektarbeit[$row->lehrveranstaltung_id]['themenbereich']!='')
{
//$xml_fussnote .=" <themenbereich_bezeichnung>Themenbereich: </themenbereich_bezeichnung>";
$xml_fussnote .=" <themenbereich><![CDATA[".$projektarbeit[$row->lehrveranstaltung_id]['themenbereich'].']]></themenbereich>';
$anzahl_nl++;
$nl2='\n';
}
/*if($studiengang_typ=='b')
$typ = 'Bachelorarbeit:';
else
$typ = 'Master Thesis:';*/
$nl='';
$nl2='';
$xml_fussnote .=" <titel_bezeichnung><![CDATA[".$projektarbeit[$row->lehrveranstaltung_id]['projekttyp_bezeichnung']."]]></titel_bezeichnung>";
$xml_fussnote .=" <titel_kurzbz><![CDATA[".$projektarbeit[$row->lehrveranstaltung_id]['projekttyp_kurzbz']."]]></titel_kurzbz>";
$xml_fussnote .=" <titel><![CDATA[".$projektarbeit[$row->lehrveranstaltung_id]['titel'].$nl2."]]></titel>";
$xml_fussnote .=" <titel_en><![CDATA[".$projektarbeit[$row->lehrveranstaltung_id]['titel_en'].$nl2."]]></titel_en>";
//$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']];
$note = $projektarbeit[$row->lehrveranstaltung_id]['note'];
//$nl = str_repeat('\n',($anzahl_nl));
$xml_fussnote .=' <note>'.(isset($note_arr[$note])?$note_arr[$note]:$note).$nl.'</note>';
$xml_fussnote .=' <sws>'.$nl.'</sws>';
$xml_fussnote .=' <ects>'.$nl.'</ects>';
$xml_fussnote .=' <lv_lehrform_kurzbz>'.$nl.'</lv_lehrform_kurzbz>';
$xml_fussnote .=" </fussnote>";
$anzahl_fussnoten++;
}
else
{
$bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma;
$bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng;
}
$bisio_von = '';
$bisio_bis = '';
$bisio_ort = '';
$bisio_universitaet = '';
$auslandssemester=false;
$qry = "SELECT tbl_bisio.* FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE tbl_lehreinheit.lehrveranstaltung_id='$row->lehrveranstaltung_id'
AND student_uid=".$db->db_add_param($uid_arr[$i]);
if($result_bisio = $db->db_query($qry))
{
if($row_bisio = $db->db_fetch_object($result_bisio))
{
$bisio_von = $row_bisio->von;
$bisio_bis = $row_bisio->bis;
$bisio_ort = $row_bisio->ort;
$bisio_universitaet = $row_bisio->universitaet;
$auslandssemester=true;
$note2 = 'ar';
}
}
$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($row->lehrveranstaltung_id).")";
$wochen = 15;
if($result_wochen = $db->db_query($qry))
{
if($row_wochen = $db->db_fetch_object($result_wochen))
{
$wochen = $row_wochen->wochen;
}
}
$xml .= "\n <unterrichtsfach>";
$xml .= " <bezeichnung><![CDATA[".$bezeichnung."]]></bezeichnung>";
$xml .= " <bezeichnung_englisch><![CDATA[".$bezeichnung_englisch."]]></bezeichnung_englisch>";
$xml .= " <note>".$note2."</note>";
$xml .= " <sws>".($row->semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1))."</sws>";
$ectspunkte='';
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($prestudent_id, null, $row->lehrveranstaltung_id);
if($anrechnung->result != null)
{
$lv = new lehrveranstaltung($anrechnung->result[0]->lehrveranstaltung_id);
if(($lv->ects !== $row->ects) && ($lv->ects != "") && ($lv->ects != null))
{
$row->ects = $lv->ects;
}
}
if($row->ects==0 || $row->ects=='')
$ectspunkte='';
else
{
//Bei 2 Nachkommastellen beide anzeigen, sonst nur 1
if(number_format($row->ects,1)==number_format($row->ects,2))
$ectspunkte=number_format($row->ects,1);
else
$ectspunkte=number_format($row->ects,2);
}
$ects_gesamt+=$ectspunkte;
$xml .= " <ects>".$ectspunkte."</ects>";
$xml .= " <lv_lehrform_kurzbz>".$row->lv_lehrform_kurzbz."</lv_lehrform_kurzbz>";
if($auslandssemester)
{
$xml .= " <bisio_von>".date('d.m.Y', $datum->mktime_fromdate($bisio_von))."</bisio_von>";
$xml .= " <bisio_bis>".date('d.m.Y', $datum->mktime_fromdate($bisio_bis))."</bisio_bis>";
$xml .= " <bisio_ort>$bisio_ort</bisio_ort>";
$xml .= " <bisio_universitaet>$bisio_universitaet</bisio_universitaet>";
}
$xml .= " </unterrichtsfach>";
}
}
$ects_gesamt+=$ectspunkte;
$xml .= " <ects>".$ectspunkte."</ects>";
$xml .= " <lv_lehrform_kurzbz>".$row->lv_lehrform_kurzbz."</lv_lehrform_kurzbz>";
if($auslandssemester)
{
$xml .= " <bisio_von>".date('d.m.Y', $datum->mktime_fromdate($bisio_von))."</bisio_von>";
$xml .= " <bisio_bis>".date('d.m.Y', $datum->mktime_fromdate($bisio_bis))."</bisio_bis>";
$xml .= " <bisio_ort>$bisio_ort</bisio_ort>";
$xml .= " <bisio_universitaet>$bisio_universitaet</bisio_universitaet>";
}
$xml .= " </unterrichtsfach>";
$xml .= "<ects_gesamt>".$ects_gesamt."</ects_gesamt>";
$xml .= $xml_fussnote;
}
else
{
$xml .="<name>PERSON NICHT GEFUNDEN / KEIN STATUS</name>";
}
$xml .= " </zeugnis>";
}
$xml .= "<ects_gesamt>".$ects_gesamt."</ects_gesamt>";
$xml .= $xml_fussnote;
$xml .= " </zeugnis>";
}
$xml .= "</zeugnisse>";
echo $xml;
+223
View File
@@ -0,0 +1,223 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="75mm"
height="100mm"
viewBox="0 0 75 100"
version="1.1"
id="svg4517"
inkscape:version="0.92pre3 r"
sodipodi:docname="Chart.svg">
<defs
id="defs4511">
<linearGradient
inkscape:collect="always"
id="linearGradient5781">
<stop
style="stop-color:#bb8a8a;stop-opacity:1"
offset="0"
id="stop5777" />
<stop
style="stop-color:#121212;stop-opacity:1"
offset="1"
id="stop5779" />
</linearGradient>
<linearGradient
id="linearGradient5414-8"
inkscape:collect="always">
<stop
id="stop5515"
offset="0"
style="stop-color:#ce2121;stop-opacity:1" />
<stop
id="stop5517"
offset="1"
style="stop-color:#d7a98e;stop-opacity:0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5414-8"
id="linearGradient5416"
x1="15.893733"
y1="291.10629"
x2="84.106262"
y2="202.89375"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5781"
id="linearGradient5783"
x1="77.190254"
y1="208.05676"
x2="22.4"
y2="277"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5781"
id="linearGradient8743"
gradientUnits="userSpaceOnUse"
x1="77.190254"
y1="208.05676"
x2="22.4"
y2="277" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5781"
id="linearGradient8745"
gradientUnits="userSpaceOnUse"
x1="77.190254"
y1="208.05676"
x2="22.4"
y2="277" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5781"
id="linearGradient8747"
gradientUnits="userSpaceOnUse"
x1="77.190254"
y1="208.05676"
x2="22.4"
y2="277" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5781"
id="linearGradient8749"
gradientUnits="userSpaceOnUse"
x1="77.190254"
y1="208.05676"
x2="22.4"
y2="277" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5781"
id="linearGradient8751"
gradientUnits="userSpaceOnUse"
x1="77.190254"
y1="208.05676"
x2="22.4"
y2="277" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5781"
id="linearGradient8753"
gradientUnits="userSpaceOnUse"
x1="77.190254"
y1="208.05676"
x2="22.4"
y2="277" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.9899495"
inkscape:cx="-526.03693"
inkscape:cy="395.68782"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="2497"
inkscape:window-height="1016"
inkscape:window-x="63"
inkscape:window-y="27"
inkscape:window-maximized="1"
showguides="false" />
<metadata
id="metadata4514">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-197)">
<rect
style="opacity:1;fill:url(#linearGradient5416);fill-opacity:1;fill-rule:nonzero;stroke:#474747;stroke-width:1.95017505;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5081"
width="73.04982"
height="98.049828"
x="0.97508752"
y="197.97508" />
<g
id="g5775"
style="fill:url(#linearGradient5783);fill-opacity:1"
transform="matrix(1.0709151,0,0,1.111518,-16.04575,-27.544968)">
<rect
y="227"
x="22.4"
height="50"
width="5"
id="rect5693"
style="opacity:1;fill:url(#linearGradient8743);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43855953;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="207"
x="32.399998"
height="70"
width="5"
id="rect5693-8"
style="opacity:1;fill:url(#linearGradient8745);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.06855869;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="217"
x="42.399998"
height="60"
width="5"
id="rect5693-8-5"
style="opacity:1;fill:url(#linearGradient8747);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.76675367;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="227"
x="52.399998"
height="50"
width="5"
id="rect5693-8-5-2"
style="opacity:1;fill:url(#linearGradient8749);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43856001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="237"
x="62.399998"
height="40"
width="5"
id="rect5693-8-5-1"
style="opacity:1;fill:url(#linearGradient8751);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.0755415;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="227"
x="72.399963"
height="50"
width="5"
id="rect5693-8-5-9"
style="opacity:1;fill:url(#linearGradient8753);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43856001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:11.54670906px;line-height:7.21669388px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28866774px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="41.84409"
y="289.04132"
id="text4505"
transform="scale(0.98156545,1.0187808)"><tspan
sodipodi:role="line"
id="tspan4503"
x="41.84409"
y="289.04132"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.42420578px;font-family:cantarell;-inkscape-font-specification:cantarell;fill:#000000;fill-opacity:1;stroke-width:0.28866774px">C</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.4 KiB

+129
View File
@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="75mm"
height="100mm"
viewBox="0 0 75 100"
version="1.1"
id="svg4517"
inkscape:version="0.92pre3 r"
sodipodi:docname="Filter.svg">
<defs
id="defs4511">
<linearGradient
inkscape:collect="always"
id="linearGradient5821">
<stop
style="stop-color:#f9f9f9;stop-opacity:0.063"
offset="0"
id="stop5817" />
<stop
style="stop-color:#000000;stop-opacity:1"
offset="1"
id="stop5819" />
</linearGradient>
<linearGradient
id="linearGradient5414-8"
inkscape:collect="always">
<stop
id="stop5515"
offset="0"
style="stop-color:#4f5fab;stop-opacity:1" />
<stop
id="stop5517"
offset="1"
style="stop-color:#d7a98e;stop-opacity:0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5414-8"
id="linearGradient5416"
x1="15.893733"
y1="291.10629"
x2="84.106262"
y2="202.89375"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5821"
id="linearGradient5823"
x1="22.550903"
y1="284.15033"
x2="74.819145"
y2="212.27556"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="153.56609"
inkscape:cy="212.7952"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="2497"
inkscape:window-height="1016"
inkscape:window-x="63"
inkscape:window-y="27"
inkscape:window-maximized="1"
showguides="false" />
<metadata
id="metadata4514">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-197)">
<rect
style="opacity:1;fill:url(#linearGradient5416);fill-opacity:1;fill-rule:nonzero;stroke:#474747;stroke-width:1.95017505;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5081"
width="73.04982"
height="98.049828"
x="0.97508752"
y="197.97508" />
<path
style="fill:url(#linearGradient5823);fill-opacity:1;fill-rule:evenodd;stroke:#595959;stroke-width:3.27308297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 31.951742,241.74867 v 44.46072 l 10.70915,-11.11518 v -33.34554 l 21.4183,-33.34554 h -53.54575 z"
id="path5813"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:11.54670906px;line-height:7.21669388px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28866774px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="47.490475"
y="289.5903"
id="text4505"
transform="scale(0.98156545,1.0187808)"><tspan
sodipodi:role="line"
id="tspan4503"
x="47.490475"
y="289.5903"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.42420578px;font-family:cantarell;-inkscape-font-specification:cantarell;fill:#000000;fill-opacity:1;stroke-width:0.28866774px">F</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

+929
View File
@@ -0,0 +1,929 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="75mm"
height="100mm"
viewBox="0 0 75 100"
version="1.1"
id="svg4517"
inkscape:version="0.92pre3 r"
sodipodi:docname="Report.svg">
<defs
id="defs4511">
<linearGradient
inkscape:collect="always"
id="linearGradient4922">
<stop
style="stop-color:#030303;stop-opacity:1"
offset="0"
id="stop4918" />
<stop
style="stop-color:#e9e9e9;stop-opacity:1"
offset="1"
id="stop4920" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5414">
<stop
style="stop-color:#af86af;stop-opacity:1"
offset="0"
id="stop5410" />
<stop
style="stop-color:#faf4f1;stop-opacity:1"
offset="1"
id="stop5412" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5414"
id="linearGradient5416"
x1="15.893733"
y1="291.10629"
x2="84.106262"
y2="202.89375"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient4924"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8643"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8645"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8647"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8649"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8651"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8653"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8655"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8657"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8659"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8661"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8663"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8665"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8667"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8669"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8671"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8673"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8675"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8677"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8679"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8681"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8683"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8685"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8687"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8689"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8691"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8693"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8695"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8697"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8699"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8701"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8703"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8705"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8707"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8709"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8711"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8713"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8715"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8717"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8719"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8721"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8723"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8725"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8727"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8729"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8731"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8733"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8735"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8737"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8739"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4922"
id="linearGradient8741"
gradientUnits="userSpaceOnUse"
x1="79.720238"
y1="205.70483"
x2="20.657738"
y2="281.67804" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="67.050792"
inkscape:cy="69.086972"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="2497"
inkscape:window-height="1016"
inkscape:window-x="63"
inkscape:window-y="27"
inkscape:window-maximized="1"
showguides="false"
inkscape:snap-grids="false"
inkscape:snap-to-guides="false"
inkscape:snap-others="false"
inkscape:object-nodes="false"
inkscape:snap-nodes="false"
inkscape:snap-global="false" />
<metadata
id="metadata4514">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-197)">
<rect
style="fill:url(#linearGradient5416);fill-opacity:1;fill-rule:nonzero;stroke:#474747;stroke-width:1.95017505;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5081"
width="73.04982"
height="98.049828"
x="0.97508752"
y="197.97508" />
<g
id="g4895"
style="fill:url(#linearGradient4924);fill-opacity:1"
transform="matrix(1.0709151,0,0,1.111518,-16.04575,-27.544968)">
<g
transform="translate(35.71875,-3.7797619)"
id="g4685"
style="fill:url(#linearGradient8695);fill-opacity:1">
<rect
style="fill:url(#linearGradient8643);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25962421;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100"
width="0.23874897"
height="26.136824"
x="23.709431"
y="209.80672" />
<rect
style="fill:url(#linearGradient8645);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801665;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-6"
width="0.23874897"
height="25.814148"
x="26.09692"
y="210.12939" />
<rect
style="fill:url(#linearGradient8647);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801665;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-7"
width="0.23874897"
height="25.814148"
x="28.484411"
y="210.12939" />
<rect
style="fill:url(#linearGradient8649);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801665;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-5"
width="0.23874897"
height="25.814148"
x="30.871897"
y="210.12939" />
<rect
style="fill:url(#linearGradient8651);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801665;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3"
width="0.23874897"
height="25.814148"
x="33.259388"
y="210.12939" />
<rect
style="fill:url(#linearGradient8653);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801665;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-56"
width="0.23874897"
height="25.814148"
x="38.034367"
y="210.12939" />
<rect
style="fill:url(#linearGradient8655);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801665;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-2"
width="0.23874897"
height="25.814148"
x="35.646873"
y="210.12939" />
<rect
style="fill:url(#linearGradient8657);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801665;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-9"
width="0.23874897"
height="25.814148"
x="40.421856"
y="210.12939" />
<rect
style="fill:url(#linearGradient8659);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25962424;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-1"
width="0.23874897"
height="26.136824"
x="42.809345"
y="209.80672" />
<rect
style="fill:url(#linearGradient8661);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25962427;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2"
width="19.338667"
height="0.32267687"
x="23.709431"
y="235.62086" />
<rect
style="fill:url(#linearGradient8663);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-7"
width="19.099916"
height="0.32267687"
x="23.709431"
y="214.64687" />
<rect
style="fill:url(#linearGradient8665);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-0"
width="19.099916"
height="0.32267687"
x="23.709431"
y="216.26025" />
<rect
style="fill:url(#linearGradient8667);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-9"
width="19.099916"
height="0.32267687"
x="23.709431"
y="211.4201" />
<rect
style="fill:url(#linearGradient8669);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-3"
width="19.099916"
height="0.32267687"
x="23.709431"
y="213.03348" />
<rect
style="fill:url(#linearGradient8671);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-6"
width="19.099916"
height="0.32267687"
x="23.709431"
y="217.87364" />
<rect
style="fill:url(#linearGradient8673);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-06"
width="19.099916"
height="0.32267687"
x="23.709431"
y="219.48701" />
<rect
style="fill:url(#linearGradient8675);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-2"
width="19.099916"
height="0.32267687"
x="23.709431"
y="221.1004" />
<rect
style="fill:url(#linearGradient8677);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-61"
width="19.099916"
height="0.32267687"
x="23.709431"
y="227.55394" />
<rect
style="fill:url(#linearGradient8679);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-8"
width="19.099916"
height="0.32267687"
x="23.709431"
y="230.7807" />
<rect
style="fill:url(#linearGradient8681);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-79"
width="19.099916"
height="0.32267687"
x="23.709431"
y="234.00748" />
<rect
style="fill:url(#linearGradient8683);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-20"
width="19.099916"
height="0.32267687"
x="23.709431"
y="222.71378" />
<rect
style="fill:url(#linearGradient8685);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-23"
width="19.099916"
height="0.32267687"
x="23.709431"
y="225.94055" />
<rect
style="fill:url(#linearGradient8687);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-75"
width="19.099916"
height="0.32267687"
x="23.709431"
y="224.32718" />
<rect
style="fill:url(#linearGradient8689);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-92"
width="19.099916"
height="0.32267687"
x="23.709431"
y="229.16731" />
<rect
style="fill:url(#linearGradient8691);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25801668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-28"
width="19.099916"
height="0.32267687"
x="23.709431"
y="232.39409" />
<rect
style="fill:url(#linearGradient8693);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.25962427;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-97"
width="19.338667"
height="0.32267687"
x="23.709431"
y="209.80672" />
</g>
<rect
y="246"
x="20"
height="1"
width="60"
id="rect5100-3-2-3-3"
style="fill:url(#linearGradient8697);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80505168;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="241"
x="20"
height="1"
width="60"
id="rect5100-3-2-3-3-6"
style="fill:url(#linearGradient8699);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80505168;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="236"
x="20"
height="1"
width="60"
id="rect5100-3-2-3-3-6-7"
style="fill:url(#linearGradient8701);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80505168;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="251"
x="45"
height="1"
width="35"
id="rect5100-3-2-3-3-5"
style="fill:url(#linearGradient8703);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="256"
x="45"
height="1"
width="35"
id="rect5100-3-2-3-3-3"
style="fill:url(#linearGradient8705);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="261"
x="45"
height="1"
width="35"
id="rect5100-3-2-3-3-56"
style="fill:url(#linearGradient8707);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="266"
x="45"
height="1"
width="35"
id="rect5100-3-2-3-3-2"
style="fill:url(#linearGradient8709);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="276"
x="45"
height="1"
width="35"
id="rect5100-3-2-3-3-9"
style="fill:url(#linearGradient8711);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="231"
x="20"
height="1"
width="35"
id="rect5100-3-2-3-3-1"
style="fill:url(#linearGradient8713);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="281"
x="45"
height="1"
width="35"
id="rect5100-3-2-3-3-27"
style="fill:url(#linearGradient8715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="271"
x="45"
height="1"
width="35"
id="rect5100-3-2-3-3-0"
style="fill:url(#linearGradient8717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="226"
x="20"
height="1"
width="35"
id="rect5100-3-2-3-3-1-9"
style="fill:url(#linearGradient8719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="221"
x="20"
height="1"
width="35"
id="rect5100-3-2-3-3-1-3"
style="fill:url(#linearGradient8721);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="211"
x="20"
height="1"
width="35"
id="rect5100-3-2-3-3-1-6"
style="fill:url(#linearGradient8723);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="206"
x="20"
height="1"
width="35"
id="rect5100-3-2-3-3-1-0"
style="fill:url(#linearGradient8725);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<rect
y="216"
x="20"
height="1"
width="35"
id="rect5100-3-2-3-3-1-62"
style="fill:url(#linearGradient8727);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" />
<g
transform="matrix(0.41143708,0,0,0.41143708,10.886928,168.17075)"
style="fill:url(#linearGradient8741);fill-opacity:1"
id="g5775">
<rect
style="opacity:1;fill:url(#linearGradient8729);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43855953;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5693"
width="5"
height="50"
x="22.4"
y="227" />
<rect
style="opacity:1;fill:url(#linearGradient8731);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.06855869;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5693-8"
width="5"
height="70"
x="32.399998"
y="207" />
<rect
style="opacity:1;fill:url(#linearGradient8733);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.76675367;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5693-8-5"
width="5"
height="60"
x="42.399998"
y="217" />
<rect
style="opacity:1;fill:url(#linearGradient8735);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43856001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5693-8-5-2"
width="5"
height="50"
x="52.399998"
y="227" />
<rect
style="opacity:1;fill:url(#linearGradient8737);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.0755415;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5693-8-5-1"
width="5"
height="40"
x="62.399998"
y="237" />
<rect
style="opacity:1;fill:url(#linearGradient8739);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43856001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5693-8-5-9"
width="5"
height="50"
x="72.399963"
y="227" />
</g>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:11.54670906px;line-height:7.21669388px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28866774px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="42.123096"
y="289.59741"
id="text4505"
transform="scale(0.98156545,1.0187808)"><tspan
sodipodi:role="line"
id="tspan4503"
x="42.123096"
y="289.59741"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.42420578px;font-family:cantarell;-inkscape-font-specification:cantarell;fill:#000000;fill-opacity:1;stroke-width:0.28866774px">R</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 32 KiB

+574
View File
@@ -0,0 +1,574 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="75mm"
height="100mm"
viewBox="0 0 75 100"
version="1.1"
id="svg4517"
inkscape:version="0.92pre3 r"
sodipodi:docname="Statistik.svg">
<defs
id="defs4511">
<linearGradient
inkscape:collect="always"
id="linearGradient912">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop908" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop910" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5414">
<stop
style="stop-color:#e9bf1c;stop-opacity:1"
offset="0"
id="stop5410" />
<stop
style="stop-color:#d7a98e;stop-opacity:0"
offset="1"
id="stop5412" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5365">
<stop
style="stop-color:#ffffff;stop-opacity:1"
offset="0"
id="stop5361" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop5363" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5365"
id="linearGradient5367"
x1="10"
y1="286"
x2="91"
y2="207"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5414"
id="linearGradient5416"
x1="15.893733"
y1="291.10629"
x2="84.106262"
y2="202.89375"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient914"
x1="10"
y1="246.5"
x2="91"
y2="246.5"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4509"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4511"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4513"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4515"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4517"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4519"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4521"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4523"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4525"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4527"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4529"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4531"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4533"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4535"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4537"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4539"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4541"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4543"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4545"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4547"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4549"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4551"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4553"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4555"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4557"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient912"
id="linearGradient4559"
gradientUnits="userSpaceOnUse"
x1="10"
y1="246.5"
x2="91"
y2="246.5" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="-56.976954"
inkscape:cy="42.697031"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="2497"
inkscape:window-height="1016"
inkscape:window-x="63"
inkscape:window-y="27"
inkscape:window-maximized="1"
showguides="false" />
<metadata
id="metadata4514">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-197)">
<rect
style="fill:url(#linearGradient5416);fill-opacity:1;fill-rule:nonzero;stroke:#474747;stroke-width:1.95017505;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5081"
width="73.04982"
height="98.049828"
x="0.97508752"
y="197.97508" />
<g
id="g5359"
transform="matrix(0.64456095,0,0,0.86515033,5.3648571,26.350421)"
style="fill:url(#linearGradient5367);fill-opacity:1">
<g
id="g906"
style="opacity:0.64200003;fill:#000000;fill-opacity:1;stroke:url(#linearGradient914)"
transform="translate(0,7.3826591)">
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4509);stroke-width:0.93538535;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100"
width="1"
height="81"
x="10"
y="206" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4511);stroke-width:0.9295935;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-6"
width="1"
height="80"
x="20"
y="207" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4513);stroke-width:0.9295935;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-7"
width="1"
height="80"
x="30"
y="207" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4515);stroke-width:0.9295935;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-5"
width="1"
height="80"
x="40"
y="207" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4517);stroke-width:0.9295935;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3"
width="1"
height="80"
x="50"
y="207" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4519);stroke-width:0.9295935;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-56"
width="1"
height="80"
x="70"
y="207" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4521);stroke-width:0.9295935;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-2"
width="1"
height="80"
x="60"
y="207" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4523);stroke-width:0.9295935;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-9"
width="1"
height="80"
x="80"
y="207" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4525);stroke-width:0.93538541;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-1"
width="1"
height="81"
x="90"
y="206" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4527);stroke-width:0.93538553;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2"
width="81"
height="1"
x="10"
y="286" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4529);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-7"
width="80"
height="1"
x="10"
y="221" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4531);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-0"
width="80"
height="1"
x="10"
y="226" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4533);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-9"
width="80"
height="1"
x="10"
y="211" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4535);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-3"
width="80"
height="1"
x="10"
y="216" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4537);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-6"
width="80"
height="1"
x="10"
y="231" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4539);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-06"
width="80"
height="1"
x="10"
y="236" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4541);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-2"
width="80"
height="1"
x="10"
y="241" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4543);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-61"
width="80"
height="1"
x="10"
y="261" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4545);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-8"
width="80"
height="1"
x="10"
y="271" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4547);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-79"
width="80"
height="1"
x="10"
y="281" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4549);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-20"
width="80"
height="1"
x="10"
y="246" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4551);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-23"
width="80"
height="1"
x="10"
y="256" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4553);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-75"
width="80"
height="1"
x="10"
y="251" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4555);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-92"
width="80"
height="1"
x="10"
y="266" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4557);stroke-width:0.92959362;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-28"
width="80"
height="1"
x="10"
y="276" />
<rect
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4559);stroke-width:0.93538553;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945"
id="rect5100-3-2-97"
width="81"
height="1"
x="10"
y="206" />
</g>
</g>
<g
aria-label="P"
transform="matrix(0.28334626,0,0,0.29408913,-74.703128,194.8477)"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="flowRoot5418">
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="419.58417"
y="338.6937"
id="text4505"><tspan
sodipodi:role="line"
id="tspan4503"
x="419.58417"
y="338.6937"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:192px;font-family:cantarell;-inkscape-font-specification:cantarell;fill:#000000;fill-opacity:1">S</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 19 KiB

+10 -5
View File
@@ -37,12 +37,17 @@ echo '<html>
</head>
<body>';
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if (php_sapi_name() != 'cli')
{
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(! $rechte->isBerechtigt('admin'))
exit('Sie ('.$uid.') haben keine Berechtigung');
if(!$rechte->isBerechtigt('admin'))
{
exit('Sie haben keine Berechtigung');
}
}
echo '<H1>Systemcheck!</H1>';
echo '<H2>DB-Updates!</H2>';
+42 -1
View File
@@ -1670,6 +1670,47 @@ if(!$result = @$db->db_query("SELECT aufnahmegruppe FROM public.tbl_gruppe"))
echo 'Boolean aufnahmegruppe zu Gruppen hinzugefuegt. aufnahmegruppe_kurzbz zu tbl_prestudent und tbl_reihungstest hinzugefuegt<br>';
}
// Removing column "r" from tbl_statistik
if ($result = @$db->db_query("SELECT r FROM public.tbl_statistik LIMIT 1;"))
{
$qry = "ALTER TABLE public.tbl_statistik DROP COLUMN r;";
if (!$db->db_query($qry))
echo '<strong>public.tbl_statistik: ' . $db->db_last_error() . '</strong><br>';
else
echo ' public.tbl_statistik: Spalte r entfernt.<br>';
}
// Removing column "php" from tbl_statistik
if ($result = @$db->db_query("SELECT php FROM public.tbl_statistik LIMIT 1;"))
{
$qry = "ALTER TABLE public.tbl_statistik DROP COLUMN php;";
if (!$db->db_query($qry))
echo '<strong>public.tbl_statistik: ' . $db->db_last_error() . '</strong><br>';
else
echo ' public.tbl_statistik: Spalte php entfernt.<br>';
}
// vorlage_kurzbz von 16 auf 32 Zeichen
if($result = $db->db_query("SELECT character_maximum_length FROM information_schema.columns WHERE column_name='vorlage_kurzbz' AND table_name='tbl_vorlage' AND table_schema='public';"))
{
if($row = $db->db_fetch_object($result))
{
if($row->character_maximum_length==16)
{
$qry = "ALTER TABLE public.tbl_vorlage ALTER COLUMN vorlage_kurzbz TYPE varchar(32);
ALTER TABLE public.tbl_vorlagestudiengang ALTER COLUMN vorlage_kurzbz TYPE varchar(32);
";
if(!$db->db_query($qry))
echo '<strong>public.tbl_vorlage: '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_vorlage: Spalte vorlage_kurzbz auf 32 Zeichen verlaengert<br>';
}
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -1882,7 +1923,7 @@ $tabellen=array(
"public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id"),
"public.tbl_sprache" => array("sprache","locale","flagge","index","content","bezeichnung"),
"public.tbl_standort" => array("standort_id","adresse_id","kurzbz","bezeichnung","insertvon","insertamum","updatevon","updateamum","ext_id", "firma_id","code"),
"public.tbl_statistik" => array("statistik_kurzbz","bezeichnung","url","r","gruppe","sql","php","content_id","insertamum","insertvon","updateamum","updatevon","berechtigung_kurzbz","publish","preferences"),
"public.tbl_statistik" => array("statistik_kurzbz","bezeichnung","url","gruppe","sql","content_id","insertamum","insertvon","updateamum","updatevon","berechtigung_kurzbz","publish","preferences"),
"public.tbl_student" => array("student_uid","matrikelnr","prestudent_id","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_studentlehrverband" => array("student_uid","studiensemester_kurzbz","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_studiengang" => array("studiengang_kz","kurzbz","kurzbzlang","typ","bezeichnung","english","farbe","email","telefon","max_semester","max_verband","max_gruppe","erhalter_kz","bescheid","bescheidbgbl1","bescheidbgbl2","bescheidgz","bescheidvom","orgform_kurzbz","titelbescheidvom","aktiv","ext_id","zusatzinfo_html","moodle","sprache","testtool_sprachwahl","studienplaetze","oe_kurzbz","lgartcode","mischform","projektarbeit_note_anzeige", "onlinebewerbung"),
+67
View File
@@ -0,0 +1,67 @@
<?php
/* Copyright (C) 2016 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
/*
* Dieses Script generiert fuer Testzwecke fuer jedes DMS-File einen symbolischen Link auf
* eine Testdatei um im Testsystem korrekte Dateilinks zu haben.
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
$uid = get_uid();
$db = new basis_db();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('system/developer',null,'suid'))
die($rechte->errormsg);
$anzahl_neu=0;
$anzahl_vorhanden=0;
$qry = "SELECT filename FROM campus.tbl_dms_version";
$path = '/var/fhcomplete/dms/';
chdir($path);
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$extension = strtolower(mb_substr($row->filename, mb_strrpos($row->filename,'.')+1));
if(in_array($extension, array('jpg','pdf','zip','doc','docx','gif','png','jpeg','odt','ods','xls')))
$testfile = 'testfile.'.strtolower($extension);
else
$testfile = 'testfile.txt';
if(!file_exists($row->filename))
{
$cmd = 'ln -s '.$testfile.' '.$row->filename;
exec($cmd);
echo "<br>\ncreate $row->filename";
$anzahl_neu++;
}
else
{
echo "<br>\nexists $row->filename";
$anzahl_vorhanden++;
}
}
}
echo '<hr>';
echo 'Done';
echo '<br>Neu:'.$anzahl_neu;
echo '<br>Vorhanden:'.$anzahl_vorhanden;
?>
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -359,7 +359,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-row>
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A2" table:number-columns-spanned="2" office:value-type="string">
<text:p text:style-name="P4">Topic and Assessment of Master's thesis</text:p>
<text:p text:style-name="P4">Topic and Assessment of Master's Thesis</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.B5" table:number-columns-spanned="6" office:value-type="string">
@@ -381,7 +381,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.A1" table:number-columns-spanned="7" office:value-type="string">
<text:p text:style-name="P4">Examination interview on the Masters thesis and its links to subjects of the curriculum as well as examination interview on a curricular theme</text:p>
<text:p text:style-name="P4">Examination interview on the Masters Thesis and its links to subjects of the curriculum as well as examination interview on a curricular theme</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
@@ -396,8 +396,8 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.D2" table:number-columns-spanned="7" office:value-type="string">
<text:p text:style-name="P14"><draw:custom-shape text:anchor-type="char" draw:z-index="6" draw:name="Rechteck 1" draw:style-name="gr1" draw:text-style-name="P21" svg:width="0.336cm" svg:height="0.359cm" svg:x="10.964cm" svg:y="0.153cm"><text:p/><draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/></draw:custom-shape>Presentation of the Master's thesis</text:p>
<text:p text:style-name="P14">Examination interview on the Master's thesis <text:span text:style-name="T1">and its links</text:span></text:p>
<text:p text:style-name="P14"><draw:custom-shape text:anchor-type="char" draw:z-index="6" draw:name="Rechteck 1" draw:style-name="gr1" draw:text-style-name="P21" svg:width="0.336cm" svg:height="0.359cm" svg:x="10.964cm" svg:y="0.153cm"><text:p/><draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/></draw:custom-shape>Presentation of the Master's Thesis</text:p>
<text:p text:style-name="P14">Examination interview on the Master's Thesis <text:span text:style-name="T1">and its links</text:span></text:p>
<text:p text:style-name="P4"><draw:custom-shape text:anchor-type="char" draw:z-index="4" draw:name="Rechteck 1" draw:style-name="gr1" draw:text-style-name="P21" svg:width="0.336cm" svg:height="0.359cm" svg:x="10.982cm" svg:y="-0.046cm"><text:p/><draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/></draw:custom-shape>to subjects of the curriculum</text:p>
<text:p text:style-name="P14"><draw:custom-shape text:anchor-type="char" draw:z-index="5" draw:name="Rechteck 1" draw:style-name="gr1" draw:text-style-name="P21" svg:width="0.336cm" svg:height="0.359cm" svg:x="10.986cm" svg:y="-0.019cm"><text:p/><draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/></draw:custom-shape>Examination interview on other subjects relevant to the curriculum</text:p>
</table:table-cell>
@@ -410,7 +410,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-row>
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A1" table:number-columns-spanned="9" office:value-type="string">
<text:p text:style-name="P4">Notes on the presentation of the Master's thesis</text:p>
<text:p text:style-name="P4">Notes on the presentation of the Master's Thesis</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
@@ -538,10 +538,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.D2" table:number-columns-spanned="5" office:value-type="string">
<text:p text:style-name="P4">
(+++) Passed with highest distinction
(+++) Passed with distinction
</text:p>
<text:p text:style-name="P4">
(++) Passt with distinction
(++) Passed with merit
</text:p>
<text:p text:style-name="P4">
(+) Passed
+1 -1
View File
@@ -381,7 +381,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.A1" table:number-columns-spanned="7" office:value-type="string">
<text:p text:style-name="P4">Prüfungsgespräch über Masterarbeit und Querverbindungen zu Fächern des Studienplans sowie Prüfungsgespräch über Stoffgebiet</text:p>
<text:p text:style-name="P4">Prüfungsgespräch über die Masterarbeit und deren Querverbindungen zu Fächern des Studienplans sowie Prüfungsgespräch über das Stoffgebiet</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
+1 -1
View File
@@ -381,7 +381,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.A1" table:number-columns-spanned="7" office:value-type="string">
<text:p text:style-name="P4">Prüfungsgespräch über Masterarbeit und Querverbindungen zu Fächern des Studienplans sowie Prüfungsgespräch über Stoffgebiet</text:p>
<text:p text:style-name="P4">Prüfungsgespräch über die Masterarbeit und deren Querverbindungen zu Fächern des Studienplans sowie Prüfungsgespräch über das Stoffgebiet</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
+1 -1
View File
@@ -369,7 +369,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
<text:p text:style-name="P9"/>
<text:p text:style-name="P9"/>
<text:p text:style-name="P10"/>
<text:p text:style-name="P10">Final assessment: Passed with highest distinction, Passed with distinction, Passed</text:p>
<text:p text:style-name="P10">Final assessment: Passed with distinction, Passed with merit, Passed</text:p>
<text:p text:style-name="P10">Pursuant to section 6 subsection 1 of the University of Applied Sciences Studies Act (FHStG), BGBI. Nr. <xsl:value-of select="bescheidbgbl1" /> idgF</text:p>
<text:p text:style-name="P18"/>
<text:p text:style-name="P18"/>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -2784,7 +2784,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-row>
</table:table>
<text:p text:style-name="P15"/>
<text:p text:style-name="P23">Grading Scheme: Passed with highest distinction, Passed with distinction, Passed</text:p>
<text:p text:style-name="P23">Grading Scheme: Passed with distinction, Passed with merit, Passed</text:p>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22">
<draw:frame xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" draw:style-name="fr4" draw:name="graphics5" text:anchor-type="char" svg:x="4.50cm" svg:y="0.1cm" svg:width="3.5cm" svg:height="3.5cm" draw:z-index="16" >
+1 -1
View File
@@ -2814,7 +2814,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
</table:table-row>
</table:table>
<text:p text:style-name="P15"/>
<text:p text:style-name="P23">Grading Scheme: Passed with highest distinction, Passed with distinction, Passed</text:p>
<text:p text:style-name="P23">Grading Scheme: Passed with distinction, Passed with merit, Passed</text:p>
<text:p text:style-name="P22"/>
</xsl:if>
<text:p text:style-name="P22">
+2 -2
View File
@@ -352,7 +352,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.B1" office:value-type="string">
<text:p text:style-name="P20">
<text:span text:style-name="T2"><xsl:value-of select="abschlussbeurteilung_kurzbz" /></text:span>
<text:span text:style-name="T2"><xsl:value-of select="abschlussbeurteilung_kurzbzEng" /></text:span>
</text:p>
</table:table-cell>
</table:table-row>
@@ -393,7 +393,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
<text:p text:style-name="P9"/>
<text:p text:style-name="P9"/>
<text:p text:style-name="P10"/>
<text:p text:style-name="P10">Final assessment: Passed with highest distinction, Passed with distinction, Passed</text:p>
<text:p text:style-name="P10">Final assessment: Passed with distinction, Passed with merit, Passed</text:p>
<text:p text:style-name="P10">Pursuant to section 6 subsection 1 of the University of Applied Sciences Studies Act (FHStG), BGBI. Nr. <xsl:value-of select="bescheidbgbl1" /> idgF</text:p>
<text:p text:style-name="P18"/>
<text:p text:style-name="P18"/>
+130 -29
View File
@@ -26,6 +26,7 @@ require_once('../../include/studiensemester.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
$uid = get_uid();
@@ -86,23 +87,50 @@ if($result = $db->db_query($qry))
}
}
$ba1_arr = array();
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1";
if($result = $db->db_query($qry))
while($row = $db->db_fetch_object($result))
$ba1_arr[$row->ba1code]=$row->ba1kurzbz;
$ba2_arr = array();
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart2";
if($result = $db->db_query($qry))
while($row = $db->db_fetch_object($result))
$ba2_arr[$row->ba2code]=$row->ba2bez;
$verwendung_arr = array();
$qry = "SELECT * FROM bis.tbl_verwendung";
if($result = $db->db_query($qry))
while($row = $db->db_fetch_object($result))
$verwendung_arr[$row->verwendung_code]=$row->verwendungbez;
$ausmass_arr = array();
$qry = "SELECT * FROM bis.tbl_beschaeftigungsausmass";
if($result = $db->db_query($qry))
while($row = $db->db_fetch_object($result))
$ausmass_arr[$row->beschausmasscode]=$row->beschausmassbez;
$stg_obj = new studiengang();
$stg_obj->getAll(null,false);
$qry="
SELECT DISTINCT ON (UID) *
FROM
public.tbl_mitarbeiter
SELECT DISTINCT ON (UID) *
FROM
public.tbl_mitarbeiter
JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
JOIN public.tbl_person USING(person_id)
JOIN bis.tbl_bisverwendung USING(mitarbeiter_uid)
WHERE
bismelden
AND personalnummer>0
WHERE
bismelden
AND personalnummer>0
AND (tbl_bisverwendung.ende is NULL OR tbl_bisverwendung.ende>".$db->db_add_param($bisprevious).")
ORDER BY uid, nachname,vorname
";
if($result = $db->db_query($qry))
{
$datei.="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Erhalter>
<ErhKz>".$erhalter."</ErhKz>
@@ -111,7 +139,7 @@ if($result = $db->db_query($qry))
while($row = $db->db_fetch_object($result))
{
$mitarbeiter_data=array();
$error_person = false;
$person_content='';
$qryet="SELECT * FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid).";";
@@ -123,7 +151,7 @@ if($result = $db->db_query($qry))
}
}
$error_log='';
if($row->gebdatum=='' || $row->gebdatum==NULL)
{
$error_log.=($error_log!=''?', ':'')."Geburtsdatum ('".$row->gebdatum."')";
@@ -140,7 +168,9 @@ if($result = $db->db_query($qry))
$mitarbeiter_data['personalnummer']=sprintf("%015s",$row->personalnummer);
$mitarbeiter_data['vorname']=$row->vorname;
$mitarbeiter_data['nachname']=$row->nachname;
$mitarbeiter_data['fixangestellt']=($row->fixangestellt=='t'?true:false);
$mitarbeiter_data['lektor']=($row->lektor=='t'?true:false);
$person_content.="
<Person>
<PersonalNummer>".sprintf("%015s",$row->personalnummer)."</PersonalNummer>
@@ -202,17 +232,17 @@ if($result = $db->db_query($qry))
$verwendung_data[$key]['ba2code']=$rowvw->ba2code;
$verwendung_data[$key]['beschausmasscode']=$rowvw->beschausmasscode;
$verwendung_data[$key]['verwendung_code']=$rowvw->verwendung_code;
//Studiengangsleiter
$qryslt="SELECT
tbl_benutzerfunktion.*, tbl_studiengang.studiengang_kz
FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz)
WHERE
uid=".$db->db_add_param($row->mitarbeiter_uid)."
AND funktion_kurzbz='Leitung'
AND (datum_von<".$db->db_add_param($bisdatum)." OR datum_von is null)
$qryslt="SELECT
tbl_benutzerfunktion.*, tbl_studiengang.studiengang_kz
FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz)
WHERE
uid=".$db->db_add_param($row->mitarbeiter_uid)."
AND funktion_kurzbz='Leitung'
AND (datum_von<".$db->db_add_param($bisdatum)." OR datum_von is null)
AND (datum_bis>".$db->db_add_param($bisprevious)." OR datum_bis is NULL)
AND studiengang_kz>0
AND studiengang_kz<10000;";
@@ -259,7 +289,7 @@ if($result = $db->db_query($qry))
$error_log.=($error_log!=''?', ':'')."BesondereQualifikationCode ('".$eteam[$rowfkt->studiengang_kz]."')";
}
}
$verwfkt_found=false;
// Wenn mehrere Verwendungen vorhanden sind fuer und funktionen fuer die gleichen Studiengaenge
@@ -287,7 +317,7 @@ if($result = $db->db_query($qry))
}
}
}
$mitarbeiter_data['verwendung']=$verwendung_data;
//Verwendungen ausgeben
foreach($verwendung_data as $row_verwendung)
{
@@ -297,7 +327,7 @@ if($result = $db->db_query($qry))
<BeschaeftigungsArt2>".$row_verwendung['ba2code']."</BeschaeftigungsArt2>
<BeschaeftigungsAusmass>".$row_verwendung['beschausmasscode']."</BeschaeftigungsAusmass>
<VerwendungsCode>".$row_verwendung['verwendung_code']."</VerwendungsCode>";
if(isset($row_verwendung['stgltg']))
{
foreach($row_verwendung['stgltg'] as $row_stgl)
@@ -340,14 +370,14 @@ if($result = $db->db_query($qry))
}
$person_content.="
</Funktion>";
}
}
}
$person_content.="
</Verwendung>";
}
}
else
else
{
$qry_count="SELECT 1 FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid);
if($result_count=$db->db_query($qry_count))
@@ -384,7 +414,7 @@ if($result = $db->db_query($qry))
if($error_person)
$v.='</span>';
}
else
else
{
if(!$error_person)
{
@@ -400,7 +430,10 @@ if($result = $db->db_query($qry))
echo ' <html><head><title>BIS - Meldung Mitarbeiter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">';
include('../../include/meta/jquery.php');
include('../../include/meta/jquery-tablesorter.php');
echo '
</head><body>';
echo "<H1>BIS - Mitarbeiterdaten werden &uuml;berpr&uuml;ft (f&uuml;r Meldung ".$stsem." / $bisprevious - $bisdatum)</H1><br>";
echo "Anzahl Mitarbeiter: Gesamt: ".$mitarbeiterzahl." / echter Dienstvertrag: ".$echt." / freier Dienstvertrag: ".$frei."<br><br>";
@@ -416,13 +449,30 @@ fclose($dateiausgabe);
echo '<h2>Folgende Personen werden gemeldet</h2>
Anzahl:'.count($mitarbeiter_gesamt).'
<table>
<script type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[2,0]],
widgets: ["zebra"]
});
});
</script>
<table class="tablesorter" id="t1">
<thead>
<tr>
<th>UID</th>
<th>Vorname</th>
<th>Nachname</th>
<th>Personalnummer</th>
<th>Fixangestellt</th>
<th>Lektor</th>
<th>BeschaeftigungsArt1</th>
<th>BeschaeftigungsArt2</th>
<th>Ausmass</th>
<th>Verwendung</th>
<th>Details (Funktion/Lehre)</th>
</tr>
</thead>
<tbody>';
@@ -434,6 +484,57 @@ foreach($mitarbeiter_gesamt as $row)
echo '<td>'.$row['vorname'].'</td>';
echo '<td>'.$row['nachname'].'</td>';
echo '<td>'.$row['personalnummer'].'</td>';
echo '<td>'.($row['fixangestellt']?'Ja':'Nein').'</td>';
echo '<td>'.($row['lektor']?'Ja':'Nein').'</td>';
foreach($row['verwendung'] as $row_verwendung)
{
// Ba1Code
if(isset($ba1_arr[$row_verwendung['ba1code']]))
echo '<td>'.$ba1_arr[$row_verwendung['ba1code']].'</td>';
else
echo '<td>'.$row_verwendung['ba1code'].'</td>';
// Ba2Code
if(isset($ba2_arr[$row_verwendung['ba2code']]))
echo '<td>'.$ba2_arr[$row_verwendung['ba2code']].'</td>';
else
echo '<td>'.$row_verwendung['ba2code'].'</td>';
// Ausmass
if(isset($ausmass_arr[$row_verwendung['beschausmasscode']]))
echo '<td>'.$ausmass_arr[$row_verwendung['beschausmasscode']].'</td>';
else
echo '<td>'.$row_verwendung['beschausmasscode'].'</td>';
// Verwendung
if(isset($verwendung_arr[$row_verwendung['verwendung_code']]))
echo '<td nowrap>'.$verwendung_arr[$row_verwendung['verwendung_code']].'</td>';
else
echo '<td nowrap>'.$row_verwendung['verwendung_code'].'</td>';
echo '<td nowrap>';
// Details
if(isset($row_verwendung['stgltg']))
{
foreach($row_verwendung['stgltg'] as $row_stgl)
{
echo 'Leitung:'.$stg_obj->kuerzel_arr[$row_stgl];
echo '<br>';
}
}
if(isset($row_verwendung['fkt']))
{
foreach($row_verwendung['fkt'] as $row_fkt)
{
echo $stg_obj->kuerzel_arr[$row_fkt['stgkz']].': '.$row_fkt['sws'].' SWS';
echo '<br>';
}
}
echo '</td>';
}
echo '</tr>';
}
echo '</tbody></table><br>';
+1 -1
View File
@@ -927,7 +927,7 @@ function GenerateXMLStudentBlock($row)
$gsblock.="
<GS>
<MobilitaetsProgrammCode>".$rowgs->mobilitaetsprogramm_code."</MobilitaetsProgrammCode>
<ProgrammNr>".sprintf('%04s',$rowgs->programm_code)."</ProgrammNr>
<ProgrammNr>".$rowgs->programm_code."</ProgrammNr>
<StudTyp>".$studtyp."</StudTyp>
<PartnerCode>".$rowgs->partner_code."</PartnerCode>
<Ausbildungssemester>".$rowgs->ausbildungssemester."</Ausbildungssemester>
+26 -2
View File
@@ -72,6 +72,7 @@ if (!$uid = get_uid())
$jahr_monat=trim(isset($_REQUEST['jahr_monat']) ? $_REQUEST['jahr_monat']:'');
$afa=trim(isset($_REQUEST['afa']) ? $_REQUEST['afa']:'');
$inventur_jahr=trim(isset($_REQUEST['inventur_jahr']) ? $_REQUEST['inventur_jahr']:'');
$anlage_jahr_monat=trim(isset($_REQUEST['anlage_jahr_monat']) ? $_REQUEST['anlage_jahr_monat']:'');
$person_id=trim(isset($_REQUEST['person_id']) ? $_REQUEST['person_id']:'');
if (!empty($person_id) && !is_numeric($person_id))
@@ -503,6 +504,28 @@ if (!$uid = get_uid())
<option <?php echo ($jahr_monat_select=='-' || empty($jahr_monat_select) ?' selected="selected" ':''); ?> value="">&nbsp;-&nbsp;</option>
</select>&nbsp;
</td>
<td><label for="anlage_jahr_monat">Anlagedatum</label>&nbsp;
<select id="anlage_jahr_monat" name="anlage_jahr_monat">
<?php
$anlage_jahr_monat_select=trim((!isset($_REQUEST['anlage_jahr_monat'])? '-':$anlage_jahr_monat));
$tmpJahr=(int)date("Y",mktime(0, 0, 0, 1, 1, date("Y")-12));
for ($i=0;$i<12;$i++)
{
$tmpJahr=$tmpJahr + 1;
$jjjjmm=$tmpJahr.'-00';
echo '<option '.($anlage_jahr_monat_select==$tmpJahr?' selected="selected" ':'').' value="'.$tmpJahr.'">&nbsp;--'.$tmpJahr.'--&nbsp;</option>';
for ($ii=1;$ii<=12;$ii++)
{
$jjjjmm=$tmpJahr.'-'.($ii<10?'0'."$ii":$ii);
echo '<option '.($anlage_jahr_monat_select==$jjjjmm?' selected="selected" ':'').' value="'.$jjjjmm.'">&nbsp;'.$jjjjmm.'&nbsp;</option>';
if ($tmpJahr==date("Y") && $ii==date("m"))
break;
}
}
?>
<option <?php echo ($anlage_jahr_monat_select=='-' || empty($anlage_jahr_monat_select) ?' selected="selected" ':''); ?> value="">&nbsp;-&nbsp;</option>
</select>&nbsp;
</td>
<td style="background-color: #FFFFDD;">&nbsp;<a href="javascript:document.sendform.submit();"><img border="0" src="../../skin/images/application_go.png" alt="suchen">&nbsp;suchen</a>&nbsp;<input style="display:none;" name="debug" value="<?php echo $debug;?>"></td>
</tr>
</table>
@@ -824,12 +847,12 @@ if (!$uid = get_uid())
if (empty($bestellung_id) && empty($bestellnr) )
$bestelldetail_id='';
$check=$inventarnummer.$ort_kurzbz.$betriebsmittelstatus_kurzbz.$betriebsmitteltyp.$bestellung_id.$bestelldetail_id.$bestellnr.$hersteller.$afa.$jahr_monat.$firma_id.$inventur_jahr.$beschreibung.$oe_kurzbz.$seriennummer.$person_id.$betriebsmittel_id;
$check=$inventarnummer.$ort_kurzbz.$betriebsmittelstatus_kurzbz.$betriebsmitteltyp.$bestellung_id.$bestelldetail_id.$bestellnr.$hersteller.$afa.$jahr_monat.$firma_id.$inventur_jahr.$beschreibung.$oe_kurzbz.$seriennummer.$person_id.$betriebsmittel_id.$anlage_jahr_monat;
$order=null; // Sortierung
$oBetriebsmittel->result=array();
$oBetriebsmittel->errormsg='';
if ($check!='' && !$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id))
if ($check!='' && !$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id, $anlage_jahr_monat))
$errormsg[]=$oBetriebsmittel->errormsg;
echo '<form action="inventarliste.php" method="POST" target="_blank">
@@ -851,6 +874,7 @@ if (!$uid = get_uid())
<input type="hidden" name="seriennummer" value="'.$seriennummer.'">
<input type="hidden" name="person_id" value="'.$person_id.'">
<input type="hidden" name="betriebsmittel_id" value="'.$betriebsmittel_id.'">
<input type="hidden" name="anlage_jahr_monat" value="'.$anlage_jahr_monat.'">
<input type="submit" value="Excel Export" />
</form>
';
+2 -1
View File
@@ -57,6 +57,7 @@ $afa=trim(isset($_REQUEST['afa']) ? $_REQUEST['afa']:'');
$inventur_jahr=trim(isset($_REQUEST['inventur_jahr']) ? $_REQUEST['inventur_jahr']:'');
$order = trim(isset($_REQUEST['order']) ? $_REQUEST['order']:'');
$person_id = trim(isset($_REQUEST['person_id']) ? $_REQUEST['person_id']:'');
$anlage_jahr_monat=trim(isset($_REQUEST['anlage_jahr_monat']) ? $_REQUEST['anlage_jahr_monat']:'');
$debug = false;
$schreib_recht_administration=false;
@@ -70,7 +71,7 @@ $oBetriebsmittelstatus->result=array();
$resultBetriebsmittelstatus=$oBetriebsmittelstatus->result;
$oBetriebsmittel = new betriebsmittel();
if (!$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id))
if (!$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id,$anlage_jahr_monat))
$errormsg[]=$oBetriebsmittel->errormsg;
$resultBetriebsmittel = $oBetriebsmittel->result;
@@ -475,6 +475,22 @@
$htmlstr.= $row->studiensemester_kurzbz.'; ';
}
}
$htmlstr.='<br><b>Verwendung in folgenden Studienplänen</b>: ';
$qry ="SELECT distinct tbl_studienplan.bezeichnung
FROM
lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING(studienplan_id)
WHERE lehrveranstaltung_id=".$db->db_add_param($lv->lehrveranstaltung_id).'
ORDER BY tbl_studienplan.bezeichnung desc';
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$htmlstr.= $row->bezeichnung.'; ';
}
}
$htmlstr.='</span>';
// Details Ende
}
+10 -8
View File
@@ -1407,16 +1407,18 @@ function writeEctsSum(parent)
}
if($(parent).attr("rel") === "semester")
{
var cells = $(parent).find(".jstree-grid-col-1");
var cells = $(parent).children("ul").children();
var sum = 0;
for(var j=1; j<cells.length; j++)
for(var j=0; j<cells.length; j++)
{
if(!isNaN(parseFloat(cells[j].childNodes[0].innerHTML)))
if(!isNaN(parseFloat(cells[j].childNodes[2].childNodes[0].innerHTML)))
{
sum+=parseFloat(cells[j].childNodes[0].innerHTML);
sum+=parseFloat(cells[j].childNodes[2].childNodes[0].innerHTML);
}
}
cells[0].childNodes[0].innerHTML = "<b>"+sum+"</b>";
$(parent).children()[2].innerHTML = "<b>"+sum+"</b>";
}
}
@@ -1427,14 +1429,14 @@ function writeOverallSum(root)
{
if(!$('#stplDetails').length)
$("#treeData").append('<div id="stplDetails" style="padding-top: 1.0em"></div>');
var cells = $(root).find(".jstree-grid-col-1");
var cells = $(root).children("ul").children();
var sum = 0;
for(var i=0; i<cells.length; i++)
{
if(!isNaN(parseFloat(cells[i].childNodes[0].innerHTML)))
if(!isNaN(parseFloat(cells[i].childNodes[2].childNodes[0].innerHTML)))
{
sum+=parseFloat(cells[i].childNodes[0].innerHTML);
sum+=parseFloat(cells[i].childNodes[2].childNodes[0].innerHTML);
}
}
$("#stplDetails").html("ECTS-Summe: <b>"+sum+"</b>");
+424 -169
View File
@@ -52,6 +52,12 @@ $stsem->getNextStudiensemester();
$stg = new studiengang();
$stg->getAll();
$message = '';
$filter_url = '';
if (isset($_GET['filter']) || isset($_GET['unterrichtssprache']) || isset($_GET['studiengang']))
$filter_url = 'filter='.$_GET['filter'].'&unterrichtssprache='.$_GET['unterrichtssprache'].'&studiengang='.$_GET['studiengang'].'&go=Filter&';
?>
<html>
<head>
@@ -66,14 +72,20 @@ $stg->getAll();
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[0,0],[2,0],[3,0],[4,0]],
widgets: ["zebra"]
});
{
sortList: [[1,0],[3,0],[4,0],[5,0]],
widgets: ["zebra"],
headers: {10: {sorter: false}, 11: {sorter: false}}
});
$("#t2").tablesorter(
{
sortList: [[0,0],[1,0]],
widgets: ["zebra"]
});
});
function conf(val1)
{
return confirm("Incomingplätze von '"+val1+"' auf 0 setzen?");
return confirm("Incomingplätze der LV '"+val1+"' auf 0 setzen?");
}
</script>
@@ -96,88 +108,101 @@ if($method=="lehrveranstaltungen")
$lehrveranstaltung->incoming = 0;
if($lehrveranstaltung->save())
echo $p->t('global/erfolgreichgespeichert');
$message = $p->t('global/erfolgreichgespeichert');
else
echo $p->t('global/fehleraufgetreten');
$message = $p->t('global/fehleraufgetreten');
}
// Übersicht aller LVs
echo '<h2>Lehrveranstaltungs-Verwaltung</h2>';
echo '
<form name="filterSemester">
<table border="0">
<tr>
<td>'.$p->t('incoming/filter').':
<SELECT name="filterLv" onchange=selectChange()>
<option value="allSemester">'.$p->t('incoming/alleSemester').'</option>';
// Vorauswahl der Übergebenen Filter
$WSemesterSelected = '';
$SSemesterSelected = '';
if(isset($_GET['filter']))
if($_GET['filter'] == 'WSemester')
$WSemesterSelected ='selected';
elseif($_GET['filter']=='SSemester')
$SSemesterSelected='selected';
echo '<option value="WSemester" '.$WSemesterSelected.'>'.$p->t('incoming/wintersemester').'</option>';
<form name="filterSemester" action="'.$_SERVER['PHP_SELF'].'" method="GET">
<table width="90%" border="0" align="center">
<tr>
<td>'.$p->t('incoming/studentenImWS').'</td>
</tr>
<tr>
<td>'.$p->t('incoming/studentenImSS').'</td>
</tr>
<tr>
<td>'.$p->t('incoming/filter').':
<SELECT name="filter">
<option value="allSemester">'.$p->t('incoming/alleSemester').'</option>';
echo '<option value="SSemester" '.$SSemesterSelected.'>'.$p->t('incoming/sommersemester').'</option>';
// Vorauswahl der Übergebenen Filter
$WSemesterSelected = '';
$SSemesterSelected = '';
echo'</SELECT><br>';
echo $p->t('courseInformation/unterrichtssprache').':<SELECT name="filterUnterrichtssprache" onchange=selectChange()>
<option value="">'.$p->t('incoming/alleSprachen').'</option>';
// Vorauswahl der Übergebenen Filter
$GermanSelected = '';
$EnglishSelected = '';
if(isset($_GET['unterrichtssprache']))
if($_GET['unterrichtssprache'] == 'German')
$GermanSelected ='selected';
elseif($_GET['unterrichtssprache']=='English')
$EnglishSelected='selected';
echo '<option value="German" '.$GermanSelected.'>German</option>';
echo '<option value="English" '.$EnglishSelected.'>English</option>';
echo'</SELECT><br>';
echo $p->t('global/studiengang').':<SELECT name="filterStudiengang" onchange=selectChange()>
<option value="">Alle Studiengänge</option>';
// Vorauswahl der Übergebenen Filter
$studiengang = new studiengang();
$studiengang->getAll('typ,kurzbz', true);
foreach ($studiengang->result as $row)
if(isset($_GET['filter']))
if($_GET['filter'] == 'WSemester')
$WSemesterSelected ='selected';
elseif($_GET['filter']=='SSemester')
$SSemesterSelected='selected';
echo '<option value="WSemester" '.$WSemesterSelected.'>'.$p->t('incoming/wintersemester').'</option>';
echo '<option value="SSemester" '.$SSemesterSelected.'>'.$p->t('incoming/sommersemester').'</option>';
echo'</SELECT><br>';
echo $p->t('courseInformation/unterrichtssprache').':<SELECT name="unterrichtssprache">
<option value="">'.$p->t('incoming/alleSprachen').'</option>';
// Vorauswahl der Übergebenen Filter
$GermanSelected = '';
$EnglishSelected = '';
if(isset($_GET['unterrichtssprache']))
if($_GET['unterrichtssprache'] == 'German')
$GermanSelected ='selected';
elseif($_GET['unterrichtssprache']=='English')
$EnglishSelected='selected';
echo '<option value="German" '.$GermanSelected.'>'.$p->t("global/deutsch").'</option>';
echo '<option value="English" '.$EnglishSelected.'>'.$p->t("global/englisch").'</option>';
echo'</SELECT><br>';
echo $p->t('global/studiengang').':<SELECT name="studiengang">
<option value="">'.$p->t('incoming/alleStudiengaenge').'</option>';
// Vorauswahl der Übergebenen Filter
$studiengang = new studiengang();
$studiengang->getAll('typ,kurzbz', true);
$type = array('b' => 'Bachelor', 'm' => 'Master', 'e' => 'Other');
$typ = '';
foreach ($studiengang->result as $row)
{
//Nur Bachelor, Master und CIR-Studiengang
if ($row->typ == 'b' || $row->typ == 'm' || $row->studiengang_kz == '10006')
{
$selected = '';
if ($typ != $row->typ || $typ=='')
{
if ($typ!='')
echo '</optgroup>';
echo '<optgroup label="'.$type[$row->typ].'">';
}
if(isset($_GET['studiengang']) && $_GET['studiengang'] == $row->studiengang_kz)
$selected='selected';
echo '<option value="'.$row->studiengang_kz.'" '.$selected.'>'.strtoupper($row->typ.$row->kurzbz).' - '.$row->bezeichnung.'</option>';
$studiengang_language = ($sprache == 'German') ? $row->bezeichnung : $row->english;
echo '<option value="'.$row->studiengang_kz.'" '.$selected.'>'.strtoupper($row->typ.$row->kurzbz).' - '.$studiengang_language.'</option>';
$typ = $row->typ;
}
echo'</SELECT>';
echo '</td>
</tr>
</table>
<script language="JavaScript">
function selectChange()
{
filter = document.filterSemester.filterLv.options[document.filterSemester.filterLv.selectedIndex].value;
filterSprache = document.filterSemester.filterUnterrichtssprache.options[document.filterSemester.filterUnterrichtssprache.selectedIndex].value;
filterStudiengang = document.filterSemester.filterStudiengang.options[document.filterSemester.filterStudiengang.selectedIndex].value;
url = [location.protocol, "//", location.host, location.pathname].join("");
url = url+"?method=lehrveranstaltungen&filter="+filter+"&unterrichtssprache="+filterSprache+"&studiengang="+filterStudiengang;
document.location=url;
}
</script>
}
echo'</SELECT><br><br>';
echo '<input type="hidden" name="method" value="lehrveranstaltungen">';
//echo '<input type="hidden" >';
echo '<input type="submit" name="go" value="Filter">';
echo '</td>
</tr>
</table>
</form>';
// Filter für Semester setzen
@@ -192,114 +217,344 @@ if($method=="lehrveranstaltungen")
if(isset($_GET['unterrichtssprache']) && $_GET['unterrichtssprache']!='')
$filterqry .= " AND tbl_lehrveranstaltung.sprache='".$_GET['unterrichtssprache']."'";
//Uebersicht LVs
$qry = "SELECT
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.ects,
tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache,
tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.incoming, tbl_lehrveranstaltung.orgform_kurzbz,
(
Select count(*)
FROM (
SELECT
person_id
FROM
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer using(uid)
JOIN public.tbl_student ON(uid=student_uid)
JOIN public.tbl_prestudentstatus USING(prestudent_id)
/* Erklaerung der Datumszeitraeume ab Zeile 857:
* |=============== Studiensemester ===============|
* |--------------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend innerhalb SS
* |--------------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend innerhalb SS
* |----------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend außerhalb SS
* |---------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend außerhalb SS
* |------------------------------| Incoming ist innerhalb oder GENAU SS da
* |------------------------------------------------------| Incoming ist VOR SS-Anfang und NACH SS-Ende da, jedoch ueberwiegend ueberlappend mit SS
* ------------------------------------------------------------ Von und Bis ist NULL
* -------------------| Von ist NULL und bis innerhalb SS
* |--------------------------- Bis ist NULL und von innerhalb SS
*/
$studiensemester_array = array();
$studiensemester = new studiensemester();
$studiensemester_array[] = $studiensemester->getakt();
$studiensemester->getFutureStudiensemester('',2);
foreach ($studiensemester->studiensemester AS $row)
$studiensemester_array[] = $row->studiensemester_kurzbz;
if(isset($_GET['go']))
{
// QUERY liefert LVs aus den gültigen Studienordnungen UND jene mit Anmeldungen, auch wenn Incomingplätze 0 sind oder die LV in keinem gültigen Studienplan liegt
$qry = "SELECT
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.ects,
tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache,
tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.incoming, tbl_lehrveranstaltung.orgform_kurzbz,
(
Select count(*)
FROM (
SELECT
person_id
FROM
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer using(uid)
JOIN public.tbl_student ON(uid=student_uid)
JOIN public.tbl_prestudentstatus USING(prestudent_id)
WHERE
lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND
lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND
tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz')
AND
tbl_prestudentstatus.status_kurzbz='Incoming'
AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz'
UNION
SELECT
person_id
FROM
public.tbl_preincoming_lehrveranstaltung
JOIN public.tbl_preincoming using(preincoming_id)
WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND
(
(bis - '$stsem->start' > '$stsem->start' - von) OR
('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR
(bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR
('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR
(von >= '$stsem->start' AND bis <= '$stsem->ende') OR
(von <= '$stsem->start' AND bis >= '$stsem->ende') OR
(von IS NULL AND bis IS NULL) OR
(von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR
(bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start')
)
AND aktiv = true
)a ) as anzahl
FROM
lehre.tbl_lehrveranstaltung
JOIN
public.tbl_studiengang USING(studiengang_kz)
WHERE
lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND
lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND
tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz')
AND
tbl_prestudentstatus.status_kurzbz='Incoming'
AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz'
tbl_lehrveranstaltung.incoming>0 AND
tbl_lehrveranstaltung.aktiv AND
tbl_lehrveranstaltung.lehre AND
tbl_lehrveranstaltung.lehrveranstaltung_id IN
(
SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING (studienplan_id)
JOIN lehre.tbl_studienordnung USING (studienordnung_id)
JOIN lehre.tbl_studienplan_semester USING (studienplan_id)
WHERE tbl_studienordnung.status_kurzbz='approved'
AND tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id
AND tbl_studienplan_semester.studiensemester_kurzbz IN ('".implode("','", $studiensemester_array)."')
AND tbl_studienplan_semester.semester=tbl_lehrveranstaltung.semester
)
AND ((tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000) OR tbl_lehrveranstaltung.studiengang_kz=10006)";
if (isset($_GET['studiengang']) && $_GET['studiengang'] !='')
$qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang'];
$qry .= " AND tbl_studiengang.aktiv ".$filterqry;
$qry .= "
UNION
SELECT
person_id
FROM
public.tbl_preincoming_lehrveranstaltung
JOIN public.tbl_preincoming using(preincoming_id)
WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND
(von is null OR von <= '$stsem->start')
AND
(bis is null OR bis >= (DATE '$stsem->ende'))
AND aktiv = true
)a ) as anzahl
FROM
lehre.tbl_lehrveranstaltung JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
/*tbl_lehrveranstaltung.incoming>0 AND*/
tbl_lehrveranstaltung.aktiv AND
tbl_lehrveranstaltung.lehre
AND tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000";
if (isset($_GET['studiengang']) && $_GET['studiengang'] !='')
$qry .= "AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang'];
$qry .= "AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz
";
echo '<table class="tablesorter" id="t1" width="90%" border="0" align="center">
SELECT
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.ects,
tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache,
tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.incoming, tbl_lehrveranstaltung.orgform_kurzbz,
(
Select count(*)
FROM (
SELECT
person_id
FROM
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer using(uid)
JOIN public.tbl_student ON(uid=student_uid)
JOIN public.tbl_prestudentstatus USING(prestudent_id)
WHERE
lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND
lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND
tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz')
AND
tbl_prestudentstatus.status_kurzbz='Incoming'
AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz'
UNION
SELECT
person_id
FROM
public.tbl_preincoming_lehrveranstaltung
JOIN public.tbl_preincoming using(preincoming_id)
WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND
(
(bis - '$stsem->start' > '$stsem->start' - von) OR
('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR
(bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR
('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR
(von >= '$stsem->start' AND bis <= '$stsem->ende') OR
(von <= '$stsem->start' AND bis >= '$stsem->ende') OR
(von IS NULL AND bis IS NULL) OR
(von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR
(bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start')
)
AND aktiv = true
)a ) as anzahl
FROM
public.tbl_preincoming_lehrveranstaltung
JOIN public.tbl_preincoming using(preincoming_id)
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
(
(bis - '$stsem->start' > '$stsem->start' - von) OR
('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR
(bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR
('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR
(von >= '$stsem->start' AND bis <= '$stsem->ende') OR
(von <= '$stsem->start' AND bis >= '$stsem->ende') OR
(von IS NULL AND bis IS NULL) OR
(von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR
(bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start')
)
AND tbl_preincoming.aktiv = true
";
if (isset($_GET['studiengang']) && $_GET['studiengang'] !='')
$qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang'];
$qry .= " AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz";
if($result = $db->db_query($qry))
{
if ($db->db_num_rows($result)>0)
{
echo '<center>'.$message.'</center>';
echo '<p style="padding-left: 10px; padding-right: 10px;">'.$p->t('incoming/tabelleSortierinformation').'</p>';
echo '<table class="tablesorter" id="t1" width="90%" style="padding-left: 10px; padding-right: 10px;" border="0" align="center">
<thead align="center">
<tr>
<th>LV-ID</th>
<th>'.$p->t('global/studiengang').'</th>
<th>'.$p->t('abgabetool/typ').'</th>
<th>'.$p->t('incoming/orgform').'</th>
<th>'.$p->t('global/semester').'</th>
<th>'.$p->t('global/lehrveranstaltung').'</th>
<th>'.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').'</th>
<th>'.$p->t('incoming/ects').'</th>
<th>'.$p->t('courseInformation/unterrichtssprache').'</th>
<th>'.$p->t('incoming/lvInfo').'</th>
<th>'.$p->t('incoming/freieplätze').'</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>';
while($row = $db->db_fetch_object($result))
{
$freieplaetze = $row->incoming - $row->anzahl;
$style = '';
$studiengang = new studiengang();
$studiengang->load($row->studiengang_kz);
$studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english;
$typ = $studiengang->typ;
if ($studiengang->typ == 'b')
$typ = 'Bachelor';
else if ($studiengang->typ == 'm')
$typ = 'Master';
else
$typ = '-';
echo '<tr>';
if ($freieplaetze<=0)
$style = 'style="background-color: #FF8888"';
echo '<td '.$style.'>',$row->lehrveranstaltung_id,'</td>';
echo '<td '.$style.'>',$studiengang_language,'</td>';
echo '<td '.$style.'>',$typ,'</td>';
echo '<td '.$style.'>',$row->orgform_kurzbz,'</td>';
echo '<td '.$style.'>',$row->semester,'</td>';
echo '<td '.$style.'>',$row->bezeichnung,'</td>';
echo '<td '.$style.'>',$row->bezeichnung_english,'</td>';
echo '<td '.$style.'>',$row->ects,'</td>';
echo '<td '.$style.'>',($row->sprache=='German'?$p->t("global/deutsch"):$p->t("global/englisch")),'</td>';
echo '<td '.$style.'>
<a href="#Deutsch" class="Item" onclick="javascript:window.open(\'../../addons/lvinfo/cis/view.php?lehrveranstaltung_id='.$row->lehrveranstaltung_id.'&amp;sprache=German\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">'.$p->t("global/deutsch").'&nbsp;</a>
<a href="#Englisch" class="Item" onclick="javascript:window.open(\'../../addons/lvinfo/cis/view.php?lehrveranstaltung_id='.$row->lehrveranstaltung_id.'&amp;sprache=English\',\'Courseinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">'.$p->t("global/englisch").'</a>
</td>';
echo '<td '.$style.'>',($freieplaetze<$row->incoming?'<strong>'.$freieplaetze.' ('.$p->t('incoming/von').' '.$row->incoming.')</strong>':$freieplaetze.' ('.$p->t('incoming/von').' '.$row->incoming.')').'</td>';
echo '<td '.$style.'><a href="#Teilnehmer" class="Item" onclick="javascript:window.open(\'incoming_lehrveranstaltungen.php?method=anmeldungen&amp;id='.$row->lehrveranstaltung_id.'&amp;'.$filter_url.'\',\'Anmeldungen\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">Anmeldungen</a></td>';
echo '<td '.$style.'><a href="incoming_lehrveranstaltungen.php?method=lehrveranstaltungen&mode=setZero&id='.$row->lehrveranstaltung_id.'&'.$filter_url.'" onclick="return conf(\''.$row->bezeichnung.'\')">Incomingplätze auf 0</a></td>';
echo '</tr>';
}
echo '</tbody></table>';
}
else
echo '<center><b>'.$p->t('incoming/derzeitKeineLehrveranstaltungen').'</b></center>';
}
}
else
echo '<center><b>'.$p->t('incoming/waehlenSieAusDenOptionen').'</b></center>';
echo '</tbody></table>';
}
elseif($method=="anmeldungen")
{
// Übersicht aller LVs
echo '<h2>Übersicht Anmeldungen</h2>';
// Filter für Semester setzen
//Uebersicht LVs
/* Erklaerung der Datumszeitraeume
* |=============== Studiensemester ===============|
* |--------------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend innerhalb SS
* |--------------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend innerhalb SS
* |----------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend außerhalb SS
* |---------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend außerhalb SS
* |------------------------------| Incoming ist innerhalb oder GENAU SS da
* |------------------------------------------------------| Incoming ist VOR SS-Anfang und NACH SS-Ende da, jedoch ueberwiegend ueberlappend mit SS
* ------------------------------------------------------------ Von und Bis ist NULL
* -------------------| Von ist NULL und bis innerhalb SS
* |--------------------------- Bis ist NULL und von innerhalb SS
*/
if (isset($_GET['id']))
{
$id = $db->db_add_param($_GET['id'], FHC_INTEGER, false);
$qry = " SELECT
nachname, vorname
FROM
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer using(uid)
JOIN public.tbl_student ON(uid=student_uid)
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN public.tbl_person USING(person_id)
WHERE
lehrveranstaltung_id=".$id."
AND
lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id=".$id."
AND
tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz')
AND
tbl_prestudentstatus.status_kurzbz='Incoming'
AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz'
UNION
SELECT
nachname, vorname
FROM
public.tbl_preincoming_lehrveranstaltung
JOIN public.tbl_preincoming using(preincoming_id)
JOIN public.tbl_person USING(person_id)
WHERE lehrveranstaltung_id=".$id."
AND
(
(bis - '$stsem->start' > '$stsem->start' - von) OR
('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR
(bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR
('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR
(von >= '$stsem->start' AND bis <= '$stsem->ende') OR
(von <= '$stsem->start' AND bis >= '$stsem->ende') OR
(von IS NULL AND bis IS NULL) OR
(von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR
(bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start')
)
AND tbl_preincoming.aktiv = true";
if($result = $db->db_query($qry))
{
if ($db->db_num_rows($result)>0)
{
echo '<table class="tablesorter" id="t2" width="90%" style="padding-left: 10px; padding-right: 10px;" border="0" align="center">
<thead align="center">
<tr>
<th>'.$p->t('global/studiengang').'</th>
<th>'.$p->t('abgabetool/typ').'</th>
<th>'.$p->t('incoming/orgform').'</th>
<th>'.$p->t('global/semester').'</th>
<th>'.$p->t('global/lehrveranstaltung').'</th>
<th>'.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').'</th>
<th>'.$p->t('incoming/ects').'</th>
<th>'.$p->t('courseInformation/unterrichtssprache').'</th>
<th>Info</th>
<th>'.$p->t('incoming/freieplätze').'</th>
<th></th>
<th>'.$p->t('global/nachname').'</th>
<th>'.$p->t('global/vorname').'</th>
</tr>
</thead>
<tbody>';
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$freieplaetze = $row->incoming - $row->anzahl;
$studiengang = new studiengang();
$studiengang->load($row->studiengang_kz);
$studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english;
$typ = $studiengang->typ;
$style='';
if ($row->incoming=='0')
$style = 'style="color:grey"';
if ($studiengang->typ == 'b')
$typ = 'BA';
else if ($studiengang->typ == 'm')
$typ = 'MA';
echo '<tr>';
echo '<td '.$style.'>',$studiengang_language,'</td>';
echo '<td '.$style.'>',$typ,'</td>';
echo '<td '.$style.'>',$row->orgform_kurzbz,'</td>';
echo '<td '.$style.'>',$row->semester,'</td>';
echo '<td '.$style.'>',$row->bezeichnung,'</td>';
echo '<td '.$style.'>',$row->bezeichnung_english,'</td>';
echo '<td '.$style.'>',$row->ects,'</td>';
echo '<td '.$style.'>',$row->sprache,'</td>';
echo '<td '.$style.'>
<a href="#Deutsch" class="Item" onclick="javascript:window.open(\'../../cis/private/lehre/ects/preview.php?lv='.$row->lehrveranstaltung_id.'&amp;language=de\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">Deutsch&nbsp;</a>
<a href="#Englisch" class="Item" onclick="javascript:window.open(\'../../cis/private/lehre/ects/preview.php?lv='.$row->lehrveranstaltung_id.'&amp;language=en\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">Englisch</a>
</td>';
echo '<td '.$style.'>',($freieplaetze<$row->incoming?'<strong>'.$freieplaetze.'/'.$row->incoming.'</strong>':$freieplaetze.'/'.$row->incoming),'</td>';
echo '<td><a href="incoming_lehrveranstaltungen.php?method=lehrveranstaltungen&mode=setZero&id='.$row->lehrveranstaltung_id.'" onclick="return conf(\''.$row->bezeichnung.'\')">Plätze auf 0 setzen</a></td>';
echo '</tr>';
while($row = $db->db_fetch_object($result))
{
echo '<tr>';
echo '<td>',$row->nachname,'</td>';
echo '<td>',$row->vorname,'</td>';
echo '</tr>';
}
echo '</tbody></table>';
}
else
echo '<center><b>Keine Anmeldungen gefunden</b></center>';
}
echo '</tbody></table>';
}
else
'<center><b>Es wurde keine Lehrveranstaltungs-ID übergeben</b></center>';
}
?>
</body>
</html>
+5 -13
View File
@@ -71,8 +71,6 @@ if(!$rechte->isBerechtigt('basis/statistik'))
$sql = (isset($_POST['sql']) ? $_POST['sql'] : die('SQL fehlt'));
$gruppe = (isset($_POST['gruppe']) ? $_POST['gruppe'] : die('Gruppe fehlt'));
$content_id = (isset($_POST['content_id']) ? $_POST['content_id'] : die('ContentID fehlt'));
$php = (isset($_POST['php']) ? $_POST['php'] : die('PHP fehlt'));
$r = (isset($_POST['r']) ? $_POST['r'] : die('R fehlt'));
$publish = (isset($_POST['publish']) ? true : false);
$berechtigung_kurzbz = (isset($_POST['berechtigung_kurzbz']) ? $_POST['berechtigung_kurzbz'] : die('Berechtigungkurzbz fehlt'));
$preferences = (isset($_POST['preferences']) ? $_POST['preferences'] : die('preferences fehlt'));
@@ -91,8 +89,6 @@ if(!$rechte->isBerechtigt('basis/statistik'))
$statistik->sql = $sql;
$statistik->gruppe = $gruppe;
$statistik->content_id = $content_id;
$statistik->php = $php;
$statistik->r = $r;
$statistik->publish = $publish;
$statistik->updateamum = date('Y-m-d H:i:s');
$statistik->updatevon = $user;
@@ -177,14 +173,6 @@ EOT;
<td rowspan="3">SQL</td>
<td rowspan="3"><textarea name="sql" cols="60" rows="5"><?php echo $statistik->sql ?></textarea></td>
<td></td>
<td>R</td>
<td><input type="text" name="r" value="<?php echo $statistik->r ?>"></td>
</tr>
<tr valign="top">
<td></td>
<td>PHP</td>
<td><input type="text" name="php" value="<?php echo $statistik->php ?>"></td>
</tr>
<tr valign="top">
<td></td>
<td>Publish</td>
@@ -192,14 +180,18 @@ EOT;
</tr>
<tr valign="top">
<td></td>
<td>Preferences</td>
<td><textarea name="preferences" cols="60" rows="5"><?php echo $statistik->preferences ?></textarea></td>
<td></td>
<td></td>
<td><input type="submit" value="Speichern" name="save"></td>
<td></td>
</tr>
</table>
</fieldset>
<div align="right" id="sub">
<input type="submit" value="Speichern" name="save">
</div>
</form>
</body>
</html>
+33 -44
View File
@@ -15,7 +15,8 @@
* 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 >
* Authors: Christian Paminger < christian.paminger@technikum-wien.at > and
* Andreas Moik < moik@technikum-wien.at >.
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/globals.inc.php');
@@ -50,41 +51,37 @@
$filter->htmlattr = '';
$filter->insertvon = $user;
$filter->updatevon = $user;
if(isset($_POST["action"]) && isset($_REQUEST["filter_id"]))
if(isset($_POST["save"]) && isset($_REQUEST["filter_id"]))
{
if(!$rechte->isBerechtigt('basis/statistik', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
if ($_POST["action"]=='save')
if ($_REQUEST["filter_id"]!='')
{
if ($_REQUEST["filter_id"]!='')
if($filter->load($_REQUEST["filter_id"]))
{
if($filter->load($_REQUEST["filter_id"]))
{
$filter->updatevon=$user;
}
else
die('Fehlgeschlagen:'.$filter->errormsg);
$filter->updatevon=$user;
}
$filter->kurzbz = $_POST["kurzbz"];
$filter->valuename = $_POST["valuename"];
$filter->sql = $_POST["sql"];
$filter->showvalue = isset($_POST["showvalue"]);
$filter->type = $_POST["type"];
$filter->htmlattr = $_POST["htmlattr"];
if(!$filter->save())
{
$errorstr .= $filter->errormsg;
}
$reloadstr .= "<script type='text/javascript'>\n";
$reloadstr .= " parent.frame_filter_overview.location.href='filter_overview.php';";
$reloadstr .= "</script>\n";
//echo '<pre>'.var_dump($filter).'</pre>';
else
die('Fehlgeschlagen:'.$filter->errormsg);
}
$filter->kurzbz = $_POST["kurzbz"];
$filter->valuename = $_POST["valuename"];
$filter->sql = $_POST["sql"];
$filter->showvalue = isset($_POST["showvalue"]);
$filter->type = $_POST["type"];
$filter->htmlattr = $_POST["htmlattr"];
if(!$filter->save())
{
$errorstr .= $filter->errormsg;
}
$reloadstr .= "<script type='text/javascript'>\n";
$reloadstr .= " parent.frame_filter_overview.location.href='filter_overview.php';";
$reloadstr .= "</script>\n";
}
if ((isset($_REQUEST['filter_id'])) && ((!isset($_REQUEST['neu'])) || ($_REQUEST['neu']!= "true")) && is_numeric($_REQUEST['filter_id']))
@@ -94,12 +91,12 @@
die($filter->errormsg);
}
if($filter->filter_id > 0)
$htmlstr .= "<br><div class='kopf'>Filter <b>".$filter->filter_id."</b></div>\n";
else
$htmlstr .="<br><div class='kopf'>Neuer Filter</div>\n";
if($filter->showvalue)
if($filter->filter_id > 0)
$htmlstr .= "<br><div class='kopf'>Filter <b>".$filter->filter_id."</b></div>\n";
else
$htmlstr .="<br><div class='kopf'>Neuer Filter</div>\n";
if($filter->showvalue)
$chk = "checked";
else
$chk = '';
@@ -126,8 +123,7 @@
$htmlstr .= "<div align='right' id='sub'>\n";
$htmlstr .= " <span id='submsg' style='color:red; visibility:hidden;'>Datensatz ge&auml;ndert!&nbsp;&nbsp;</span>\n";
$htmlstr .= " <input type='hidden' name='filter_id' value='".$filter->filter_id."'>";
$htmlstr .= " <input type='submit' value='save' name='action'>\n";
$htmlstr .= " <input type='button' value='Reset' onclick='unchanged()'>\n";
$htmlstr .= " <input type='submit' value='Speichern' name='save'>\n";
$htmlstr .= "</div>";
$htmlstr .= "</form>";
$htmlstr .= "<div class='inserterror'>".$errorstr."</div>"
@@ -139,13 +135,6 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<script type="text/javascript">
function unchanged()
{
document.filterform.reset();
document.filterform.schick.disabled = true;
document.getElementById("submsg").style.visibility="hidden";
checkrequired(document.filterform.filter_id);
}
function checkrequired(feld)
{
+1 -1
View File
@@ -117,7 +117,7 @@ if (!$filter->loadAll())
<?php echo $filter->filter_id ?>
</a>
<a href="filter_vorschau.php?filter_id=<?php echo $filter->filter_id ?>" target="_blank">
<img src="../../skin/images/x-office-presentation.png" class="mini-icon" />
<img src="../../skin/images/Filter.svg" class="mini-icon" />
</a>
</td>
<td>
+23 -19
View File
@@ -57,10 +57,10 @@ header( 'Content-Type: text/csv' );
header( 'Content-Disposition: attachment;filename='.$filename);
// Daten holen - Alle Personen mit akt. Status Student, Diplomand die bezahlt haben
// Daten holen - Alle Personen mit akt. Status Student, Diplomand und Incoming die bezahlt haben
$qry="
SELECT * FROM (
SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzeichen,
SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzeichen,
tbl_person.svnr,
tbl_person.ersatzkennzeichen,
tbl_person.gebdatum,
@@ -69,28 +69,28 @@ SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzeichen,
tbl_person.geschlecht,
tbl_student.studiengang_kz,
tbl_student.student_uid,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_plz,
(SELECT gemeinde FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_ort,
(SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_strasse,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS heimat_plz,
(SELECT gemeinde FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS heimat_ort,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_plz,
(SELECT gemeinde FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_ort,
(SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_strasse,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS heimat_plz,
(SELECT gemeinde FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS heimat_ort,
(SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS heimat_strasse,
tbl_person.person_id
FROM public.tbl_person
JOIN public.tbl_konto as ka using(person_id)
JOIN public.tbl_konto as kb using(person_id)
JOIN public.tbl_benutzer using(person_id)
FROM public.tbl_person
JOIN public.tbl_konto as ka using(person_id)
JOIN public.tbl_konto as kb using(person_id)
JOIN public.tbl_benutzer using(person_id)
JOIN public.tbl_student on(uid=student_uid)
JOIN public.tbl_prestudent using(prestudent_id)
JOIN public.tbl_prestudentstatus on(tbl_prestudentstatus.prestudent_id=tbl_student.prestudent_id)
WHERE
tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand')
WHERE
tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Incoming','Absolvent')
AND tbl_student.studiengang_kz<10000
AND tbl_student.studiengang_kz>0
AND tbl_student.studiengang_kz!='9".$erhalter_row->erhalter_kz."'
AND ka.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND ka.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=ka.studiengang_kz
AND kb.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND kb.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=kb.studiengang_kz
AND ka.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND ka.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=ka.studiengang_kz
AND kb.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND kb.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=kb.studiengang_kz
AND kb.buchungsnr_verweis=ka.buchungsnr AND bismelden
) a
ORDER BY person_id";
@@ -111,7 +111,7 @@ if($result = $db->db_query($qry))
$data_row[2]=implode(';',$personenkennzeichen);
$data_row[8]=implode(';',$studiengang_kz);
echo implode('|',$data_row)."\r\n";
echo implode('|',$data_row)."|\r\n";
$data_row = array();
$personenkennzeichen = array();
$studiengang_kz = array();
@@ -124,7 +124,7 @@ if($result = $db->db_query($qry))
$data_row = array(
sprintf('%1$03d',$erhalter_row->erhalter_kz),
$erhalter_row->bezeichnung,
$erhalter_row->bezeichnung,
null,
($row->svnr!=''?$row->svnr:$row->ersatzkennzeichen),
$datum_obj->formatDatum($row->gebdatum,'Ymd'),
@@ -140,7 +140,11 @@ if($result = $db->db_query($qry))
$row->heimat_strasse,
$row->student_uid.'@'.DOMAIN
);
}
$data_row[2]=implode(';',$personenkennzeichen);
$data_row[8]=implode(';',$studiengang_kz);
echo implode('|',$data_row)."|\r\n";
}
+1
View File
@@ -121,3 +121,4 @@ $vars = $statistik->parseVars($variablenstring); ?>
</form>
</body>
</html>