# Conflicts:
#	include/lehreinheitmitarbeiter.class.php
This commit is contained in:
kindlm
2016-02-23 19:30:08 +01:00
42 changed files with 2913 additions and 2098 deletions
@@ -60,9 +60,9 @@
// Request Parameter
// ------------------------------------------------------------------------------------------
// Parameter Veranstaltungskategorie
$veranstaltungskategorie_kurzbz=trim((isset($_REQUEST['veranstaltungskategorie_kurzbz']) ? $_REQUEST['veranstaltungskategorie_kurzbz']:''));
$veranstaltungskategorie_kurzbz=trim((isset($_REQUEST['veranstaltungskategorie_kurzbz']) ? $_REQUEST['veranstaltungskategorie_kurzbz']:''));
// Parameter Veranstaltung
$veranstaltung_id=trim((isset($_REQUEST['veranstaltung_id']) ? $_REQUEST['veranstaltung_id']:''));
$veranstaltung_id=trim((isset($_REQUEST['veranstaltung_id']) ? $_REQUEST['veranstaltung_id']:''));
$work=trim((isset($_REQUEST['work']) ? $_REQUEST['work']:''));
// ------------------------------------------------------------------------------------------
@@ -78,7 +78,6 @@
$Jahresplan->freigabe=($is_wartungsberechtigt?false:true);
if ($work=='save')
{
$Jahresplan->new=false;
if (!isset($veranstaltung_id) || empty($veranstaltung_id) )
$Jahresplan->new=true;
@@ -88,22 +87,22 @@
$Jahresplan->veranstaltungskategorie_kurzbz=$_REQUEST["veranstaltungskategorie_kurzbz"];
$Jahresplan->beschreibung=$_REQUEST["beschreibung"];
$Jahresplan->inhalt=$_REQUEST["inhalt"];
$Jahresplan->start=date('Y-m-d H:i:s',$_REQUEST["start"]);
$Jahresplan->ende=date('Y-m-d H:i:s',$_REQUEST["ende"]);
$Jahresplan->insertamum=date('Y-m-d H:i:s');
$Jahresplan->insertvon=$user;
$Jahresplan->start=date('Y-m-d H:i:s',$_REQUEST["start"]);
$Jahresplan->ende=date('Y-m-d H:i:s',$_REQUEST["ende"]);
$Jahresplan->insertamum=date('Y-m-d H:i:s');
$Jahresplan->insertvon=$user;
$Jahresplan->updateamum=date('Y-m-d H:i:s');
$Jahresplan->updatevon=$user;
$Jahresplan->freigabeamum=(!empty($_REQUEST["freigabeamum"])?date('Y-m-d H:i:s',$_REQUEST["freigabeamum"]):null);
$Jahresplan->freigabevon=$_REQUEST["freigabevon"];
$Jahresplan->updatevon=$user;
$Jahresplan->freigabeamum=(!empty($_REQUEST["freigabeamum"])?date('Y-m-d H:i:s',$_REQUEST["freigabeamum"]):null);
$Jahresplan->freigabevon=$_REQUEST["freigabevon"];
if(!$veranstaltung=$Jahresplan->saveVeranstaltung())
{
$error='Fehler bei der '.($Jahresplan->new?' Neuanlage ':' Änderung ').' '.$Jahresplan->errormsg;
{
$error='Fehler bei der '.($Jahresplan->new?' Neuanlage ':' Änderung ').' '.$Jahresplan->errormsg;
}
else
{
@@ -117,7 +116,7 @@
}
}
-->
</script>
</script>
';
}
}
@@ -178,8 +177,10 @@
$veranstaltungen=jahresplan_funk_veranstaltung_extend($veranstaltungen);
while (list($key, $value) = each($veranstaltungen))
{
$veranstaltung[$key]=$value;
$veranstaltung[$key]=$value;
}
$veranstaltung["start_timestamp"] = strtotime($veranstaltung["start"]);
$veranstaltung["ende_timestamp"] = strtotime($veranstaltung["ende"]);
}
elseif (empty($work)) // Es gibt keine Veranstaltung oder Fehler beim Lesen - keine weitere Anzeige mehr moeglich
{
@@ -408,7 +409,7 @@
<td title="<?php echo $p->t("eventkalender/neuanlage")?> <?php echo date("d.m.Y",$veranstaltung['start_timestamp']);?>" class="cursor_hand" onclick="self.location.href='<?php echo $_SERVER['PHP_SELF'].'?start_timestamp='.(isset($veranstaltung['start_timestamp'])?$veranstaltung['start_timestamp']:$cTmpTimestampStart).'&amp;ende_timestamp='.(isset($veranstaltung['ende_timestamp'])?$veranstaltung['ende_timestamp']:$cTmpTimestampEnde) ;?>';" ><?php echo $p->t("eventkalender/neuanlage")?>&nbsp;<img border="0" alt="Neuanlage" src="../../../skin/images/date_add.png" ></td>
</tr>
</tr>
<tr>
<td><label for="veranstaltung_id"><?php echo $p->t("eventkalender/kategorie")?></label></td>
@@ -432,7 +433,7 @@
}
?>
</select></td>
</tr>
</tr>
<tr>
<td><label for="Datum1"><?php echo $p->t("eventkalender/datumVon")?></label></td>
<td>
@@ -443,21 +444,19 @@
<?php
$veranstaltung['start_zeit']=date("H:i",$veranstaltung['start_timestamp']);
$veranstaltung['start_zeit']=trim($veranstaltung['start_zeit']);
for ($timeIND=0;$timeIND<24;$timeIND++)
for ($i=0;$i<24;$i++)
{
$cTmpTime=$timeIND.':00';
echo '<option '. ($veranstaltung['start_zeit']==$cTmpTime || $veranstaltung['start_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':15';
echo '<option '. ($veranstaltung['start_zeit']==$cTmpTime || $veranstaltung['start_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':30';
echo '<option '. ($veranstaltung['start_zeit']==$cTmpTime || $veranstaltung['start_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':45';
echo '<option '. ($veranstaltung['start_zeit']==$cTmpTime || $veranstaltung['start_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
}
?>
for($j=0; $j <60; $j+=15)
{
$tmpTime = $i.":".(strlen($j)<2?'0'.$j:$j);
echo '<option '. ($veranstaltung['start_zeit']==$tmpTime || $veranstaltung['start_zeit']=='0'.$tmpTime?'selected="selected"':'') .' value="'.(strlen($tmpTime)==4?'0'.$tmpTime:$tmpTime).'">'.$tmpTime.'</option>';
}
}
?>
</select>
</td>
</tr>
</td>
</tr>
<tr>
@@ -470,19 +469,17 @@
<?php
$veranstaltung['ende_zeit']=date("H:i",$veranstaltung['ende_timestamp']);
$veranstaltung['ende_zeit']=trim($veranstaltung['ende_zeit']);
for ($timeIND=0;$timeIND<24;$timeIND++)
for ($i=0;$i<24;$i++)
{
$cTmpTime=$timeIND.':00';
echo '<option '. ($veranstaltung['ende_zeit']==$cTmpTime || $veranstaltung['ende_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':15';
echo '<option '. ($veranstaltung['ende_zeit']==$cTmpTime || $veranstaltung['ende_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':30';
echo '<option '. ($veranstaltung['ende_zeit']==$cTmpTime || $veranstaltung['ende_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':45';
echo '<option '. ($veranstaltung['ende_zeit']==$cTmpTime || $veranstaltung['ende_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
}
?>
</select>
for($j=0; $j <60; $j+=15)
{
$tmpTime = $i.":".(strlen($j)<2?'0'.$j:$j);
echo '<option '. ($veranstaltung['ende_zeit']==$tmpTime || $veranstaltung['ende_zeit']=='0'.$tmpTime?'selected="selected"':'') .' value="'.(strlen($tmpTime)==4?'0'.$tmpTime:$tmpTime).'">'.$tmpTime.'</option>';
}
}
?>
</select>
&nbsp;<?php echo $p->t("eventkalender/ganztaegigeVeranstaltung")?>
&nbsp;<input <?php echo ( ($veranstaltung['start_zeit']=='00:00' && $veranstaltung['ende_zeit']=='23:45')?' checked="checked" ':'' ); ?> type="checkbox" value="1" onclick="if (this.checked!=false) {window.document.selVeranstaltung.Zeit1.options.selectedIndex=0;window.document.selVeranstaltung.Zeit2.options.selectedIndex=(window.document.selVeranstaltung.Zeit2.options.length - 1); }; var time_stamp=TimestampDatumZeit(window.document.selVeranstaltung.Datum1.value,window.document.selVeranstaltung.Zeit1.value); if (time_stamp) {window.document.selVeranstaltung.start.value=time_stamp; }; time_stamp=TimestampDatumZeit(window.document.selVeranstaltung.Datum2.value,window.document.selVeranstaltung.Zeit2.value); if (time_stamp) {window.document.selVeranstaltung.ende.value=time_stamp; };" name="tmpGanztag" >
</td>
@@ -563,6 +560,6 @@
{
echo '<hr><span class="footer_zeile">'.$p->t("eventkalender/reservierungenKoennenErstNachDemSpeichernZugeordnetWerden").'.</span>';
}
?>
?>
</body>
</html>
+72 -71
View File
@@ -31,7 +31,7 @@
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../config/global.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/studiengang.class.php');
require_once('../../../../include/lehrveranstaltung.class.php');
@@ -49,16 +49,16 @@ $user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$sprache1 = getSprache();
$sprache1 = getSprache();
$p=new phrasen($sprache1);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$output = '';
$errormsg = '';
$okmsg='';
$lv = '';
?>
@@ -93,6 +93,7 @@ textarea
</head>
<body style="padding: 10px">
<?php
$oe_kurzbz='';
function Cut($string)
{
if(strlen($string)>50)
@@ -126,7 +127,7 @@ textarea
if(!isset($sem))
$sem = $lv_obj->semester;
}
else
else
{
$stg = '';
}
@@ -143,9 +144,9 @@ textarea
}
if(!isset($sem) && isset($_POST['sem']))
$sem = $_POST['sem'];
$sem = $_POST['sem'];
if(isset($_POST['changed'])) //Gibt an welches der Auswahlfelder geaendert wurde
$changed = $_POST['changed'];
@@ -157,12 +158,12 @@ textarea
if(isset($_POST['sprache'])) //Sprache fuer dieses Lehrfach
$sprache = $_POST['sprache'];
// Berechtigungen ueberpruefen
$lektor_der_lv = false;
$lektor = new lehreinheitmitarbeiter();
$lektor_der_lv = $lektor->existsLV($lv, null, $user);
// Bearbeiten nur moeglich, wenn Lektor der LV und bearbeiten fuer Lektoren aktiviert ist
// Oder Berechtigung zum Bearbeiten eingetragen ist
$berechtigt = true;
@@ -189,7 +190,7 @@ textarea
$freig_de = (isset($_POST['freig_de'])?($_POST['freig_de']=='on' && ($rechte->isBerechtigt('lehre/lvinfo_freigabe',$oe_kurzbz) || $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg))?true:false):'');
$methodik_de = (isset($_POST['methodik_de'])?$_POST['methodik_de']:'');
//$titel_de = (isset($_POST['titel_de'])?$_POST['titel_de']:'');
$parser = new SafeHTML();
$lehrziele_de = $parser->parse($lehrziele_de);
$parser = new SafeHTML();
@@ -210,7 +211,7 @@ textarea
$freig_de = $parser->parse($freig_de);
$parser = new SafeHTML();
$methodik_de = $parser->parse($methodik_de);
$lehrziele_en = (isset($_POST['lehrziele_en'])?$_POST['lehrziele_en']:'');
$lehrinhalte_en = (isset($_POST['lehrinhalte_en'])?$_POST['lehrinhalte_en']:'');
$voraussetzungen_en = (isset($_POST['voraussetzungen_en'])?$_POST['voraussetzungen_en']:'');
@@ -243,7 +244,7 @@ textarea
$freig_en = $parser->parse($freig_en);
$parser = new SafeHTML();
$methodik_en = $parser->parse($methodik_en);
/* WriteLog($qry,$uid)
* @brief Schreib die Querys im format: uid - datum - qry ins LogFile
* @param $qry Query anweisung
@@ -284,7 +285,7 @@ textarea
$lv_obj_sav->anmerkungen=mb_eregi_replace("\r\n", "<br>", $anmerkungen_de);
$lv_obj_sav->kurzbeschreibung=mb_eregi_replace("\r\n", "<br>", $kurzbeschreibung_de);
$lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "<br>", $anwesenheit_de);
$lv_obj_sav->genehmigt = ($freig_de==true && ($rechte->isBerechtigt('lehre/lvinfo_freigabe',$oe_kurzbz) || $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg))?true:false);
$lv_obj_sav->updateamum=date('Y-m-d H:i:s');
$lv_obj_sav->updatevon=$user;
@@ -344,7 +345,7 @@ textarea
$errormsg.= $p->t('courseInformation/achtungFehlerBeimSpeichern');
else
$okmsg.= $p->t('global/erfolgreichgespeichert');
if($save_log_error)
$errormsg.= $p->t('courseInformation/fehlerLogFile');
}
@@ -352,7 +353,7 @@ textarea
{
if ($berechtigt==false)
die($p->t('global/keineBerechtigungFuerDieseSeite'));
//Speichert die aenderungen in der Datenbank (de und en)
$lv_obj_sav= new lvinfo();
$save_error=false;
@@ -366,7 +367,7 @@ textarea
$lv_obj_sav->anmerkungen=mb_eregi_replace("\r\n", "<br>", $anmerkungen_de);
$lv_obj_sav->kurzbeschreibung=mb_eregi_replace("\r\n", "<br>", $kurzbeschreibung_de);
$lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "<br>", $anwesenheit_de);
$lv_obj_sav->genehmigt = ($freig_de==true && ($rechte->isBerechtigt('lehre/lvinfo_freigabe',$oe_kurzbz) || $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg))?true:false);
$lv_obj_sav->updateamum=date('Y-m-d H:i:s');
$lv_obj_sav->updatevon=$user;
@@ -375,21 +376,21 @@ textarea
$lv_obj_sav->lehrveranstaltung_id=$lv;
$lv_obj_sav->methodik = mb_eregi_replace("\r\n", "<br>", $methodik_de);
//$lv_obj_sav->titel = mb_eregi_replace("\r\n", "<br>", $titel_de);
$lv_obj1 = new lvinfo();
$vorhanden=$lv_obj1->exists($lv, ATTR_SPRACHE_DE);
if(!$vorhanden)
$lv_obj_sav->new=true;
else
$lv_obj_sav->new=false;
if(!$lv_obj_sav->save())
$save_error=true;
else
if(!WriteLog($lv_obj_sav->lastqry,$user))
$save_log_error=true;
//Englisch
$lv_obj_sav->lehrziele=mb_eregi_replace("\r\n", "<br>", $lehrziele_en);
$lv_obj_sav->lehrinhalte=mb_eregi_replace("\r\n", "<br>", $lehrinhalte_en);
@@ -407,33 +408,33 @@ textarea
$lv_obj_sav->lehrveranstaltung_id=$lv;
$lv_obj_sav->methodik = mb_eregi_replace("\r\n", "<br>", $methodik_en);
//$lv_obj_sav->titel = mb_eregi_replace("\r\n", "<br>", $titel_en);
$lv_obj1 = new lvinfo();
$vorhanden = $lv_obj1->exists($lv, ATTR_SPRACHE_EN);
if(!$vorhanden)
$lv_obj_sav->new=true;
else
$lv_obj_sav->new=false;
if(!$lv_obj_sav->save())
$save_error=true;
else
if(!WriteLog($lv_obj_sav->lastqry,$user))
$save_log_error=true;
if($save_error)
$errormsg.= $p->t('courseInformation/achtungFehlerBeimSpeichern');
else
$okmsg.= $p->t('global/erfolgreichgespeichert');
if($save_log_error)
$errormsg.= $p->t('courseInformation/fehlerLogFile');
//Mail an Studiengangsleiter
$studiengangsleiter = new studiengang();
$stgleiter = $studiengangsleiter->getLeitung($stg);
$stgleiter = $studiengangsleiter->getLeitung($stg);
if($stgleiter)
{
$to='';
@@ -448,19 +449,19 @@ textarea
$to.=$leiter.'@'.DOMAIN;
}
}
$benutzer = new benutzer();
$benutzer->load($user);
$bezeichnung = new lehrveranstaltung();
$bezeichnung->load($lv);
$bezeichnung->load($lv);
$message = $p->t('courseInformation/diesIstEineAutomatischeMail').".\n".
$p->t('courseInformation/lvinfoWurdeUeberarbeitet',array($benutzer->nachname.' '.$benutzer->vorname,$bezeichnung->bezeichnung)).":\n";
$message.="\n".$p->t('courseInformation/sieKoennenDieseUnterFolgenderAdresseFreigeben').":\n".
APP_ROOT."cis/private/lehre/ects/freigabe.php?stg=".$stg."&sem=".$sem."&lv=".$lv;
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('courseInformation/freigabeLvinfo'), $message);
if($mail->send())
{
@@ -475,7 +476,7 @@ textarea
{
$okmsg.="<br><span class='error'>".$p->t('courseInformation/konnteKeinFreigabemailVersendetWerden')."</span>";
}
}
}
@@ -523,8 +524,8 @@ textarea
{
$errormsg .= "$stg_obj->errormsg";
}
//Anzeigen des DropDown Menues mit Semester
if(isset($changed) && $changed=='stg')
@@ -630,7 +631,7 @@ textarea
//Kopfzeile hinausschreiben und $output ausgeben
echo "<h1>&nbsp;".$p->t('courseInformation/lvInfoSemester',array($stg_obj->kuerzel, $sem))."</h1>";
echo $output;
if ($berechtigt==false)
die($p->t('global/keineBerechtigungFuerDieseSeite'));
@@ -667,7 +668,7 @@ textarea
$freig_de = $lv_de->genehmigt;
$titel_de = $lv_de->titel;
$methodik_de = $lv_de->methodik;
//Fuegt den Satz "Nach erfolgreichem Abschluss sind die Studierenden in der Lage, " vor den Lehrzielen ein, falls noch nicht vorhanden
if (substr_count($lehrziele_de, 'Nach erfolgreichem Abschluss sind die Studierenden in der Lage')==0)
$lehrziele_de = 'Nach erfolgreichem Abschluss sind die Studierenden in der Lage, '.$lehrziele_de;
@@ -686,7 +687,7 @@ textarea
$freig_en = $lv_en->genehmigt;
$titel_en = $lv_en->titel;
$methodik_en = $lv_en->methodik;
//Fuegt den Satz "Nach erfolgreichem Abschluss sind die Studierenden in der Lage, " vor den Lehrzielen ein, falls noch nicht vorhanden
if (substr_count($lehrziele_en, 'After passing this course successfully students are able to')==0)
$lehrziele_en = 'After passing this course successfully students are able to '.$lehrziele_en;
@@ -702,14 +703,14 @@ textarea
$stsem_obj = new studiensemester();
$stsem = $stsem_obj->getaktorNext();
//Namen der Lehrenden Auslesen
$qry = "SELECT
*
FROM
campus.vw_mitarbeiter, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit
WHERE
lehrveranstaltung_id=".$db->db_add_param($lv, FHC_INTEGER)."
AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
AND studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE lehrveranstaltung_id=".$db->db_add_param($lv)." ORDER BY ende DESC LIMIT 1)
$qry = "SELECT
*
FROM
campus.vw_mitarbeiter, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit
WHERE
lehrveranstaltung_id=".$db->db_add_param($lv, FHC_INTEGER)."
AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
AND studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE lehrveranstaltung_id=".$db->db_add_param($lv)." ORDER BY ende DESC LIMIT 1)
AND mitarbeiter_uid=uid";
echo "<tr><td class='tdvertical' nowrap><b>".$p->t('courseInformation/lehrendeLautLehrauftrag')."</b></td><td nowrap>";
@@ -728,27 +729,27 @@ textarea
echo "</td></tr>";
//FB Leiter auslesen
$qry = " SELECT
distinct titelpre, titelpost, vorname, nachname
FROM
public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid)
WHERE
funktion_kurzbz='Leitung' AND
$qry = " SELECT
distinct titelpre, titelpost, vorname, nachname
FROM
public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid)
WHERE
funktion_kurzbz='Leitung' AND
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND
oe_kurzbz in (SELECT distinct lehrfach.oe_kurzbz
FROM
lehre.tbl_lehreinheit
oe_kurzbz in (SELECT distinct lehrfach.oe_kurzbz
FROM
lehre.tbl_lehreinheit
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lv, FHC_INTEGER)." AND
studiensemester_kurzbz=(SELECT studiensemester_kurzbz
FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lv, FHC_INTEGER)." AND
studiensemester_kurzbz=(SELECT studiensemester_kurzbz
FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lv, FHC_INTEGER)."
ORDER BY ende DESC LIMIT 1
)
)
)";
echo "<tr><td class='tdvertical'><b>".$p->t('courseInformation/institutsleiter')."</b></td><td>";
if($result=$db->db_query($qry))
{
@@ -762,7 +763,7 @@ textarea
//FB Koordinator auslesen
//$qry = "SELECT distinct vorname, nachname FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='fbk' AND studiengang_kz='$stg' AND fachbereich_kurzbz in (SELECT fachbereich_kurzbz FROM lehre.tbl_lehrfach, lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lv' AND tbl_lehrfach.lehrfach_id=tbl_lehreinheit.lehrfach_id AND tbl_lehreinheit.studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE tbl_lehreinheit.lehrveranstaltung_id='$lv' ORDER BY ende DESC LIMIT 1))";
$qry = "SELECT
$qry = "SELECT
distinct titelpre, titelpost, vorname, nachname, tbl_fachbereich.fachbereich_kurzbz
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzerfunktion, campus.vw_mitarbeiter, public.tbl_fachbereich
@@ -772,12 +773,12 @@ textarea
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND
tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz AND
tbl_fachbereich.fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND
vw_mitarbeiter.uid=COALESCE(tbl_lehrveranstaltung.koordinator, tbl_benutzerfunktion.uid) AND
tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1)";
echo "<tr><td class='tdvertical'><b>".$p->t('courseInformation/institutskoordinator')."</b></td><td>";
if($result=$db->db_query($qry))
{
@@ -802,9 +803,9 @@ textarea
//Sprache ausgeben
echo "<tr><td><b>".$p->t('courseInformation/unterrichtssprache')."</b></td><td>$lv_obj->sprache";
echo "</td></tr>";
//Anz. Incoming ausgeben
if ($lv_obj->incoming > -1)
{
echo "<tr><td valign='top'><b>".$p->t('courseInformation/incomingplaetze')."</b></td><td valign='top'>$lv_obj->incoming";
@@ -831,7 +832,7 @@ textarea
echo '<tr>
<td colspan="5">&nbsp;</td>
</tr>';
echo '
<tr class="liste0">
<td><i>'.$p->t('lvinfo/kurzbeschreibung').' <font style="color:black">(Pflichtfeld)</font></i> </td>
@@ -893,7 +894,7 @@ textarea
<td align=center colspan=2><input type="checkbox" name="freig_en" '. (isset($freig_en) && ($freig_en==true || $freig_en=='1')?'checked':'').'/><i>'.$p->t('courseInformation/englischFreigeben').'</i> </td>
<td ></td>
</tr>';
echo "</table><br>";
echo "<div align='left'>";
echo "<input type='button' value='".$p->t('global/speichern')."' onClick='save();'>";
+23 -23
View File
@@ -61,7 +61,7 @@ function cmp($a, $b)
return 1;
}
return ($a->datum < $b->datum) ? -1 : 1;
}
function getLastStundeByDatum(Array $array, $filterDatum)
@@ -121,7 +121,7 @@ $anmerkungen_en = '';
if(isset($_REQUEST['lv']))
$lv = $_REQUEST['lv'];
$language='';
if(isset($_GET['language']))
$language=$_GET['language'];
@@ -170,7 +170,7 @@ $anmerkungen_en = '';
$anwesenheit_de = $parser->parse($anwesenheit_de);
$parser = new SafeHTML();
$methodik_de = $parser->parse($methodik_de);
// Englisch content variables
//$titel_en = mb_eregi_replace("\r\n","<br>",stripslashes($_POST['titel_en']));
$methodik_en = mb_eregi_replace("\r\n","<br>",stripslashes($_POST['methodik_en']));
@@ -182,7 +182,7 @@ $anmerkungen_en = '';
$unterlagen_en = mb_eregi_replace("\r\n","<br>",stripslashes($_POST['unterlagen_en']));
$pruefungsordnung_en = mb_eregi_replace("\r\n","<br>",stripslashes($_POST['pruefungsordnung_en']));
$anmerkungen_en = mb_eregi_replace("\r\n","<br>",stripslashes($_POST['anmerkungen_en']));
$parser = new SafeHTML();
$lehrziele_en = $parser->parse($lehrziele_en);
$parser = new SafeHTML();
@@ -260,8 +260,8 @@ $anmerkungen_en = '';
if (!isset($lv))
$lv=0;
//Zugeteilte Fachbereiche auslesen
$qry = "SELECT distinct tbl_fachbereich.bezeichnung as bezeichnung, tbl_fachbereich.fachbereich_kurzbz as fachbereich_kurzbz
FROM public.tbl_fachbereich, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
@@ -302,18 +302,18 @@ $anmerkungen_en = '';
$lehrform_kurzbz[] = $row->lehrform_kurzbz;
//Fachbereichsleiter fuer alle FB ermitteln
$qry="
SELECT
vorname, nachname, tbl_fachbereich.fachbereich_kurzbz
FROM
public.tbl_benutzerfunktion
SELECT
vorname, nachname, tbl_fachbereich.fachbereich_kurzbz
FROM
public.tbl_benutzerfunktion
JOIN public.tbl_fachbereich USING(oe_kurzbz)
JOIN campus.vw_mitarbeiter USING(uid)
WHERE
JOIN campus.vw_mitarbeiter USING(uid)
WHERE
vw_mitarbeiter.aktiv AND
funktion_kurzbz='Leitung' AND tbl_fachbereich.fachbereich_kurzbz in($fachbereiche) AND
funktion_kurzbz='Leitung' AND tbl_fachbereich.fachbereich_kurzbz in($fachbereiche) AND
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now())";
if(!$res=$db->db_query($qry))
die('Fehler '.$db->errormsg);
@@ -323,7 +323,7 @@ $anmerkungen_en = '';
//Fachbereichskoordinatoren fuer alle FB ermitteln
//$qry="SELECT * FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='fbk' AND studiengang_kz='$stg' AND fachbereich_kurzbz in($fachbereiche)";
$qry = "SELECT
$qry = "SELECT
distinct vorname, nachname, tbl_fachbereich.fachbereich_kurzbz
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzerfunktion, campus.vw_mitarbeiter, public.tbl_fachbereich
@@ -334,7 +334,7 @@ $anmerkungen_en = '';
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND
lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz AND
tbl_fachbereich.fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
vw_mitarbeiter.uid=COALESCE(tbl_lehrveranstaltung.koordinator, tbl_benutzerfunktion.uid) AND
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND
@@ -392,7 +392,7 @@ $anmerkungen_en = '';
echo '<tr><td>&nbsp;</td><td>&nbsp;</td></tr>';
if(($anz=count($lehrendearray))>0)
{
echo "<tr valign='top'><td><nobr>".$phrasen->t('lehre/Lehrbeauftrager').": </nobr></td><td>";
echo "<tr valign='top'><td><nobr>".$phrasen->t('lehre/lehrbeauftragter').": </nobr></td><td>";
foreach($lehrendearray as $elem)
{
@@ -417,7 +417,7 @@ $anmerkungen_en = '';
if ($ects_points)
echo '<tr><td>ECTS:&nbsp;</td><td>'.number_format(stripslashes($ects_points),1,'.','').'</td></tr>';
if ($anz_incoming > -1)
{
echo '<tr><td>Incomingpl&auml;tze:&nbsp;</td><td>'.stripslashes($anz_incoming).'</td></tr>';
@@ -506,7 +506,7 @@ $anmerkungen_en = '';
echo "<tr><td align='left' valign='top'><h2>".$phrasen->t('lvinfo/literatur')."</h2></td></tr>";
echo "<tr><td>".stripslashes($unterlagen_de)."<br /><br /></td></tr>";
}
if ($anwesenheit_de)
{
echo "<tr><td align='left' valign='top'><h2>".$phrasen->t('lvinfo/anwesenheit')."</h2></td></tr>";
@@ -568,7 +568,7 @@ $anmerkungen_en = '';
if ($ects_points)
echo "<tr><td>ECTS Credits:&nbsp;</td><td>".number_format(stripslashes($ects_points),1,'.','')."</td></tr>";
if ($anz_incoming > -1)
{
echo '<tr><td>Places Available for Incoming Students:&nbsp;</td><td>'.stripslashes($anz_incoming).'</td></tr>';
@@ -659,7 +659,7 @@ $anmerkungen_en = '';
echo "<tr><td align='left' valign='top'><h2>".$phrasen->t('lvinfo/literaturEN')."</h2></td></tr>";
echo "<tr><td>".stripslashes($unterlagen_en)."<br /><br /></td></tr>";
}
if ($anwesenheit_en)
{
echo "<tr><td align='left' valign='top'><h2>".$phrasen->t('lvinfo/anwesenheitEN')."</h2></td></tr>";
@@ -674,7 +674,7 @@ $anmerkungen_en = '';
}
echo "</table>";
$lehreinheit = new lehreinheit();
$studiensemester = new studiensemester();
$lehreinheit->load_lehreinheiten($lv, $studiensemester->getaktorNext());
@@ -690,7 +690,7 @@ $anmerkungen_en = '';
$lehrstunde->load_lehrstunden_le($lehreinheit_temp->lehreinheit_id);
$i = 1;
echo "<tr><td><ul>";
$result = $lehrstunde->lehrstunden;
$last = "";
$bis = "";
+121 -27
View File
@@ -34,20 +34,22 @@ require_once(dirname(__FILE__).'/../../../include/functions.inc.php');
require_once(dirname(__FILE__).'/../../../include/wochenplan.class.php');
require_once(dirname(__FILE__).'/../../../include/datum.class.php');
require_once(dirname(__FILE__).'/../../../include/studiensemester.class.php');
require_once(dirname(__FILE__).'/../../../include/phrasen.class.php');
require_once(dirname(__FILE__).'/../../../include/lehrveranstaltung.class.php');
require_once(dirname(__FILE__).'/../../../include/phrasen.class.php');
require_once(dirname(__FILE__).'/../../../include/Excel/excel.php');
if(!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$sprache = getSprache();
$p=new phrasen($sprache);
$sprache = getSprache();
$p=new phrasen($sprache);
//Startwerte setzen
if(!isset($_GET['db_stpl_table']))
$db_stpl_table='stundenplan';
else
$db_stpl_table=$_GET['db_stpl_table'];
if(!in_array($db_stpl_table,array('stundenplan','stundenplandev')))
die('db_stpl_table invalid');
if(isset($_GET['type']))
@@ -83,16 +85,16 @@ if(isset($_GET["cal"]))
// fuer Abonnierung im Google ueber /webdav/google.php
$cal = $_GET["cal"];
$uid=decryptData($cal,LVPLAN_CYPHER_KEY);
//Wenn der Key manuell geaendert wird koennen Fehlerhaft kodierte Zeichen
//Wenn der Key manuell geaendert wird koennen Fehlerhaft kodierte Zeichen
//entstehen und fuehren zu DB fehlern deshalb werden falsch kodierte uids hier aussortiert
if(!check_utf8($uid))
die('Fehlerhafter Parameter');
//Pruefen ob dieser Benutzer auch wirklich existiert
$benutzer = new benutzer();
if(!$benutzer->load($uid))
die('Ungueltiger Benutzername');
//Output-Format wird auf ical geaendert
$target='ical';
$format='ical';
@@ -114,11 +116,11 @@ if(!isset($begin))
$objSS->load($ss);
$datum_obj = new datum();
$begin = $datum_obj->mktime_fromdate($objSS->start);
// Ein Monat vor ende des Studiensemester soll zusaetzlich das kommende angezeigt werden
$datum_obj = new datum();
$diff = $datum_obj->DateDiff($objSS->ende, date('Y-m-d H:i:s'));
if($diff>=-30)
{
$objSS->getNextFrom($ss);
@@ -128,21 +130,6 @@ if(!isset($begin))
$ende = $datum_obj->mktime_fromdate($objSS->ende);
}
// for spezial friends
if($uid=='maderdon')
{
if(!isset($_GET['format']))
{
$format='ical';
$version=2;
$target='ical';
$begin=1188597600;
$ende=1202166000;
}
}
$jahr=date("Y",$begin);
$mon=date("m",$begin);
$name='FH-Kalender_'.$mon.'_'.$jahr;
@@ -194,6 +181,10 @@ TZOFFSETTO:+0100
END:STANDARD
END:VTIMEZONE';
}
elseif($format=='excel')
{
$exceldata=array();
}
// Print in HTML-File
else
{
@@ -299,7 +290,7 @@ while($begin<$ende)
$i++;
if(!date("w",$begin))
$begin=jump_day($begin,1);
$stdplan->init_stdplan();
$datum=$begin;
$begin+=604800; // eine Woche
@@ -312,9 +303,14 @@ while($begin<$ende)
// Stundenplan der Woche drucken
if($format=='csv' || $format=='ical')
{
{
$stdplan->draw_week_csv($target, LVPLAN_KATEGORIE);
}
elseif($format=='excel')
{
$data = $stdplan->draw_week_csv('return', LVPLAN_KATEGORIE);
$exceldata = array_merge($exceldata, $data);
}
else
{
$style='style="padding-top: 10px;" class="page-break-after"';
@@ -335,10 +331,108 @@ elseif($format=='ical')
{
echo $crlf.'END:VCALENDAR';
}
elseif($format=='excel')
{
OutputKalenderAsExcel($exceldata);
}
// Print in HTML-File
else
{
echo '<P class="dont-print">'.$p->t('lvplan/fehlerUndFeedback').' <A class="Item" href="mailto:'.MAIL_LVPLAN.'">'.$p->t('lvplan/lvKoordinationsstelle').'</A></P>';
echo '</body></html>';
}
/**
*
*/
function OutputKalenderAsExcel($exceldata)
{
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
$workbook->send("Termine". "_" . date("d_m_Y") . ".xls");
$workbook->setVersion(8);
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Termine");
$worksheet->setInputEncoding('utf-8');
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_title =& $workbook->addFormat();
$format_title->setBold();
// let's merge
$format_title->setAlign('merge');
//Zeilenueberschriften ausgeben
$headline=array('Datum','Von','Bis','Ort','Lektoren','Gruppen','Lehrfach','Anmerkung','StundeVon','StundeBis');
$i=0;
foreach ($headline as $title)
{
$worksheet->write(0,$i,$title, $format_bold);
$maxlength[$i]=mb_strlen($title);
$i++;
}
$zeile=1;
if(is_array($exceldata))
{
foreach($exceldata as $row)
{
$i=0;
writecol($worksheet, $maxlength,$zeile, $i++, $row['start_date']);
writecol($worksheet, $maxlength,$zeile, $i++, $row['start_time']);
writecol($worksheet, $maxlength,$zeile, $i++, $row['end_time']);
writecol($worksheet, $maxlength,$zeile, $i++, $row['ort']);
$lkt='';
foreach($row['lektor_uid'] as $row_lkt)
{
$bn = new benutzer();
$bn->load($row_lkt);
$lkt.=$bn->vorname.' '.$bn->nachname.', ';
}
$lkt = mb_substr($lkt, 0, -2);
writecol($worksheet, $maxlength,$zeile, $i++, $lkt);
writecol($worksheet, $maxlength,$zeile, $i++, implode(',',$row['gruppen']));
if($row['lehrfach_id']!='')
{
$lv = new lehrveranstaltung();
$lv->load($row['lehrfach_id']);
$bezeichnung = $lv->bezeichnung;
}
else
$bezeichnung = $row['Summary'];
writecol($worksheet, $maxlength,$zeile, $i++, $bezeichnung);
writecol($worksheet, $maxlength,$zeile, $i++, $row['titel']);
writecol($worksheet, $maxlength,$zeile, $i++, min($row['stunden']));
writecol($worksheet, $maxlength,$zeile, $i++, max($row['stunden']));
$zeile++;
}
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet->setColumn($i, $i, $breite+2);
$workbook->close();
}
function writecol($worksheet, &$maxlength, $zeile, $i, $content)
{
$worksheet->write($zeile, $i, $content);
if(isset($maxlength[$i]))
if(mb_strlen($content)>$maxlength[$i])
$maxlength[$i]=mb_strlen($content);
}
?>
+32 -31
View File
@@ -38,7 +38,7 @@ require_once('../../include/studiengang.class.php');
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
$user = get_uid();
loadVariables($user);
@@ -61,9 +61,9 @@ else
if(isset($_GET['version']) && is_numeric($_GET['version']))
$version = $_GET['version'];
else
else
$version ='';
if(isset($_GET['xsl_oe_kurzbz']))
$xsl_oe_kurzbz=$_GET['xsl_oe_kurzbz'];
else
@@ -132,11 +132,12 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$buchungstypen = unserialize (CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN);
}
$stsem_zahlung = $konto->getLastStSemBuchungstypen($user, $buchungstypen);
if(isset($_GET['ss']))
$stsem_zahlung = $konto->getLastStSemBuchungstypen($user, $buchungstypen, $_GET['ss']);
if((($xsl=='Inskription') || ($xsl == 'Studienblatt')) && ($_GET["ss"] != $stsem_zahlung))
{
die('Der Studienbeitrag wurde noch nicht bezahlt');
die('Der Studienbeitrag wurde noch nicht bezahlt');
}
if(isset($_GET['buchungsnummern']))
{
@@ -160,11 +161,11 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
//echo $xml_url;
// Load the XML source
$xml_doc = new DOMDocument;
if(!$xml_doc->load($xml_url))
die('unable to load xml');
//echo ':'.$xml_doc->saveXML().':';
//XSL aus der DB holen
$vorlage = new vorlage();
if($xsl_oe_kurzbz!='')
@@ -175,7 +176,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
{
if($xsl_stg_kz=='')
$xsl_stg_kz='0';
$vorlage->getAktuelleVorlage($xsl_stg_kz, $xsl, $version);
}
@@ -185,12 +186,12 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
{
case 'application/vnd.oasis.opendocument.text':
$endung = 'odt';
break;
break;
case 'application/vnd.oasis.opendocument.spreadsheet':
$endung = 'ods';
break;
$endung = 'ods';
break;
default:
$endung = 'pdf';
$endung = 'pdf';
}
// Load the XSL source
@@ -198,11 +199,11 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
if(!$xsl_doc->loadXML($vorlage->text))
die('unable to load xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl_doc); // attach the xsl rules
$buffer = $proc->transformToXml($xml_doc);
//echo $buffer;
//exit;
@@ -212,7 +213,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
file_put_contents('content.xml', $buffer);
// Wenn ein Style XSL uebergeben wurde wird ein zweites XML File erstellt mit den
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
if(isset($_GET['style_xsl']))
{
$style_xsl=$_GET['style_xsl'];
@@ -246,8 +247,8 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
}
if(!$vorlage_found)
$zipfile = DOC_ROOT.'/system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung;
$tempname_zip = 'out.zip';
if(copy($zipfile, $tempname_zip))
{
@@ -255,10 +256,10 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
if(isset($_GET['style_xsl']))
exec("zip $tempname_zip styles.xml");
clearstatcache();
clearstatcache();
if($vorlage->bezeichnung!='')
$filename = $vorlage->bezeichnung;
else
else
$filename = $vorlage->vorlage_kurzbz;
if($output == 'pdf')
{
@@ -287,12 +288,12 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$filename = $filename.'.pdf';
}
exec("unoconv -e IsSkipEmptyPages=false --stdout -f pdf $tempname_zip > $tempPdfName");
$fsize = filesize($tempPdfName);
$fsize = filesize($tempPdfName);
$handle = fopen($tempPdfName,'r');
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Length: '.$fsize);
header('Content-Length: '.$fsize);
}
else if($output =='odt')
{
@@ -306,8 +307,8 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$handle = fopen($tempname_zip,'r');
header('Content-type: '.$vorlage->mimetype);
header('Content-Disposition: attachment; filename="'.$filename.'.'.$endung.'"');
header('Content-Length: '.$fsize);
}
header('Content-Length: '.$fsize);
}
else if($output =='doc')
{
$tempPdfName = $vorlage->vorlage_kurzbz.'.doc';
@@ -317,19 +318,19 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$studienordnung->loadStudienordnung($_GET['studienordnung_id']);
$filename = $filename.'_'.$studienordnung->studiengangkurzbzlang.'.doc';
}
else
else
{
$filename = $filename.'.doc';
}
exec("unoconv -e IsSkipEmptyPages=false --stdout -f doc $tempname_zip > $tempPdfName");
$fsize = filesize($tempPdfName);
$fsize = filesize($tempPdfName);
$handle = fopen($tempPdfName,'r');
header('Content-type: application/vnd.ms-word');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Length: '.$fsize);
header('Content-Length: '.$fsize);
}
while (!feof($handle))
while (!feof($handle))
{
echo fread($handle, 8192);
}
@@ -365,7 +366,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
//wenn uid gefunden wird, dann den Nachnamen zum Dateinamen dazuhaengen
$nachname='';
if(isset($_GET['uid']) && $_GET['uid']!='')
{
+9 -9
View File
@@ -38,7 +38,7 @@ if(isset($_GET['stsem']))
else
$stsem = '';
$uid=get_uid();
$uid=get_uid();
$student_studiengang = new student();
$student_studiengang->load($uid);
@@ -114,13 +114,13 @@ echo '
<body>
<h1>'.$p->t('tools/dokumente').'</h1>';
//Aktuelles Studiensemester oder gewaehltes Studiensemester
$stsem_obj = new studiensemester();
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
$stsem_obj->getAll();
echo "<br><hr>";
@@ -133,7 +133,7 @@ echo $p->t('global/studiensemester')."</b> <SELECT name='stsem' onChange=\"MM_ju
echo "<OPTION value='dokumente.php?stsem=$semrow->studiensemester_kurzbz'>$semrow->studiensemester_kurzbz</OPTION>";
}
echo "</SELECT><br />";
$konto = new konto();
$buchungstypen = array();
@@ -142,11 +142,11 @@ if(defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN"))
$buchungstypen = unserialize (CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN);
}
$stsem_zahlung = $konto->getLastStSemBuchungstypen($uid, $buchungstypen);
$stsem_zahlung = $konto->getLastStSemBuchungstypen($uid, $buchungstypen, $stsem);
if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung)
{
echo "<a href='../pdfExport.php?xsl=Inskription&xml=student.rdf.php&ss=".$stsem."&uid=".$uid."&xsl_stg_kz=".$xsl_stg_kz."'>".$p->t('tools/inskriptionsbestaetigung')."</a>";
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahltAmDatum',array($stsem, $konto->buchungsdatum));
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem));
}
else
echo $p->t('tools/inskriptionsbestaetigung')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem));
@@ -158,7 +158,7 @@ if(defined('CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN') && CIS_DOKUMENTE_STUDIENBUC
if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung)
{
echo "<a href='../pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&ss=".$stsem."&uid=".$uid."'>".$p->t('tools/studienbuchblatt')."</a>";
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahltAmDatum',array($stsem, $konto->buchungsdatum));
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem));
}
else
echo $p->t('tools/studienbuchblatt')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem));
@@ -173,7 +173,7 @@ if(defined('CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN') && CIS_DOKUMENTE_
echo "<hr>";
}
echo "<br>";
echo '</body>
</html>
';
@@ -1,305 +1,305 @@
<?php
/* Copyright (C) 2006 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: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<!DOCTYPE overlay>
<overlay id="MitarbeiterDetailOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox id="mitarbeiter-detail-stammdaten" flex="1" style="overflow:auto">
<textbox id="mitarbeiter-detail-textbox-person_id" hidden="true" />
<groupbox id='groupbox-personendaten'>
<!--PersonenDaten-->
<caption label="Personendaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:4px;"
>
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="UID" control="mitarbeiter-detail-textbox-uid"/>
<hbox><textbox id="mitarbeiter-detail-textbox-uid" disabled="true" maxlength="32" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<spacer />
<spacer />
<label value="Aktiv" control="mitarbeiter-detail-checkbox-aktiv"/>
<checkbox id="mitarbeiter-detail-checkbox-aktiv" checked="true" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Anrede" control="mitarbeiter-detail-textbox-anrede"/>
<hbox><textbox id="mitarbeiter-detail-textbox-anrede" disabled="true" maxlength="16" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<label value="TitelPre" control="mitarbeiter-detail-textbox-titelpre"/>
<textbox id="mitarbeiter-detail-textbox-titelpre" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="TitelPost" control="mitarbeiter-detail-textbox-titelpost"/>
<textbox id="mitarbeiter-detail-textbox-titelpost" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Nachname" control="mitarbeiter-detail-textbox-nachname"/>
<textbox id="mitarbeiter-detail-textbox-nachname" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vorname" control="mitarbeiter-detail-textbox-vorname"/>
<textbox id="mitarbeiter-detail-textbox-vorname" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vornamen" control="mitarbeiter-detail-textbox-vornamen"/>
<textbox id="mitarbeiter-detail-textbox-vornamen" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="Geburtsdatum" control="mitarbeiter-detail-textbox-geburtsdatum" />
<hbox>
<box class="Datum" id="mitarbeiter-detail-textbox-geburtsdatum" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</hbox>
<label value="Geburtsort" control="mitarbeiter-detail-textbox-geburtsort"/>
<textbox id="mitarbeiter-detail-textbox-geburtsort" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
<label value="Geburtszeit" control="mitarbeiter-detail-textbox-geburtszeit" hidden="true"/>
<hbox><textbox id="mitarbeiter-detail-textbox-geburtszeit" disabled="true" maxlength="5" size="5" tooltiptext="Format: hh:mm Beispiel: 10:30" oninput="MitarbeiterDetailValueChange()" hidden="true"/></hbox>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="SVNR" control="mitarbeiter-detail-textbox-svnr"/>
<hbox><textbox id="mitarbeiter-detail-textbox-svnr" disabled="true" maxlength="10" size="10" oninput="MitarbeiterGenerateGebDatFromSVNR(); MitarbeiterDetailValueChange()"/></hbox>
<label value="Ersatzkennzeichen" control="mitarbeiter-detail-textbox-ersatzkennzeichen"/>
<hbox><textbox id="mitarbeiter-detail-textbox-ersatzkennzeichen" disabled="true" maxlength="10" size="10" oninput="MitarbeiterDetailValueChange()"/></hbox>
</row>
<row>
<label value="Staatsbuergerschaft" control="mitarbeiter-detail-menulist-staatsbuergerschaft" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>/>
<menulist id="mitarbeiter-detail-menulist-staatsbuergerschaft" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Geburtsnation" control="mitarbeiter-detail-menulist-geburtsnation" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> />
<menulist id="mitarbeiter-detail-menulist-geburtsnation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Sprache" control="mitarbeiter-detail-menulist-sprache" />
<menulist id="mitarbeiter-detail-menulist-sprache" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/sprache.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/sprachen/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
label="rdf:http://www.technikum-wien.at/sprachen/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Geschlecht" control="mitarbeiter-detail-menulist-geschlecht"/>
<menulist id="mitarbeiter-detail-menulist-geschlecht" disabled="true" oncommand="MitarbeiterDetailValueChange()">
<menupopup>
<menuitem value="m" label="maennlich"/>
<menuitem value="w" label="weiblich"/>
<menuitem value="u" label="unbekannt"/>
</menupopup>
</menulist>
<label value="Familienstand" control="mitarbeiter-detail-menulist-familienstand" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> />
<menulist id="mitarbeiter-detail-menulist-familienstand" disabled="true" oncommand="MitarbeiterDetailValueChange()" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<menupopup>
<menuitem value="" label="--keine Auswahl--"/>
<menuitem value="g" label="geschieden"/>
<menuitem value="l" label="ledig"/>
<menuitem value="v" label="verheiratet"/>
<menuitem value="w" label="verwitwet"/>
</menupopup>
</menulist>
<label value="Anzahl der Kinder" control="mitarbeiter-detail-textbox-anzahlderkinder" hidden="true"/>
<textbox id="mitarbeiter-detail-textbox-anzahlderkinder" disabled="true" maxlength="2" oninput="MitarbeiterDetailValueChange()" hidden="true"/>
</row>
<row>
<vbox>
<label value="Foto" />
<hbox>
<button id="mitarbeiter-detail-button-image-upload" label="Upload" oncommand="MitarbeiterImageUpload();" disabled="true"/>
<button id="mitarbeiter-detail-button-image-delete" label="Delete" oncommand="MitarbeiterImageDelete();" disabled="true"/>
<spacer flex="1" />
</hbox>
<button id="mitarbeiter-detail-button-image-infomail" label="Infomail" oncommand="MitarbeiterImageInfomail();" disabled="true"/>
</vbox>
<hbox>
<image src='' id="mitarbeiter-detail-image" style="margin-left:5px; width:90px; height:120px"/> <!-- width="60" height="60" -->
<spacer flex="1"/>
</hbox>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-anmerkung"/>
<textbox id="mitarbeiter-detail-textbox-anmerkung" disabled="true" multiline="true" oninput="MitarbeiterDetailValueChange()"/>
<label value="Homepage" control="mitarbeiter-detail-textbox-homepage"/>
<vbox><textbox id="mitarbeiter-detail-textbox-homepage" disabled="true" maxlength="256" oninput="MitarbeiterDetailValueChange()"/></vbox>
</row>
</rows>
</grid>
</groupbox>
<!-- MITARBEITER DATEN -->
<hbox>
<groupbox flex="8">
<caption label="Mitarbeiterdaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="mitarbeiter-detail-textbox-personalnummer" value="Personalnummer"/>
<textbox id="mitarbeiter-detail-textbox-personalnummer" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<label align="end" control="mitarbeiter-detail-textbox-kurzbezeichnung" value="Kurzbezeichnung"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-kurzbezeichnung" class="pflichtfeld" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<spacer />
</hbox>
<checkbox label="Lektor" id="mitarbeiter-detail-checkbox-lektor" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<checkbox label="Kleriker" id="mitarbeiter-detail-checkbox-kleriker" checked="false" disabled="true" hidden="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label align="end" control="mitarbeiter-detail-textbox-stundensatz" value="Stundensatz"/>
<textbox id="mitarbeiter-detail-textbox-stundensatz" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<label align="end" control="mitarbeiter-detail-textbox-telefonklappe" value="Telefonklappe"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-telefonklappe" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<spacer />
</hbox>
<checkbox label="Fixangestellt" id="mitarbeiter-detail-checkbox-fixangestellt" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<spacer />
</row>
<row>
<label align="end" control="mitarbeiter-detail-menulist-ort_kurzbz" value="Buero"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-ort_kurzbz" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/orte.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ort/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ort/rdf#anzeigename"
value="rdf:http://www.technikum-wien.at/ort/rdf#ort_kurzbz"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<label align="end" control="mitarbeiter-detail-menulist-standort" value="Standort"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-standort" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/standort.rdf.php?optional=true&amp;firmentyp_kurzbz=Intern"
ref="http://www.technikum-wien.at/standort/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<checkbox label="Bismelden" id="mitarbeiter-detail-checkbox-bismelden" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<spacer />
</row>
<row>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-mitarbeiteranmerkung"/>
<textbox id="mitarbeiter-detail-textbox-mitarbeiteranmerkung" disabled="true" multiline="true" oninput="MitarbeiterDetailValueChange()"/>
<vbox>
<label value="Alias" control="mitarbeiter-detail-textbox-alias"/>
<label value="Urlaubsanspruch" control="mitarbeiter-detail-textbox-urlaubsanspruch" style="margin-top: 10px;" />
</vbox>
<vbox>
<textbox id="mitarbeiter-detail-textbox-alias" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<textbox id="mitarbeiter-detail-textbox-urlaubsanspruch" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</vbox>
<vbox>
<label align="end" control="mitarbeiter-detail-menulist-ausbildung" value="Ausbildung"/>
<label control="mitarbeiter-detail-textbox-resturlaubstage" value="Resturlaubstage" style="margin-top: 10px;"/>
</vbox>
<vbox>
<menulist id="mitarbeiter-detail-menulist-ausbildung" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/ausbildung.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ausbildung/alle" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ausbildung/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/ausbildung/rdf#code"/>
</menupopup>
</template>
</menulist>
<textbox id="mitarbeiter-detail-textbox-resturlaubstage" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</vbox>
</row>
</rows>
</grid>
<hbox class="style-groupbox">
</hbox>
</groupbox>
</hbox>
<hbox>
<spacer flex="1"/>
<button id="mitarbeiter-detail-button-speichern" disabled="true" label="Speichern" oncommand="MitarbeiterSave();"/>
</hbox>
</vbox>
</overlay>
<?php
/* Copyright (C) 2006 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: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<!DOCTYPE overlay>
<overlay id="MitarbeiterDetailOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox id="mitarbeiter-detail-stammdaten" flex="1" style="overflow:auto">
<textbox id="mitarbeiter-detail-textbox-person_id" hidden="true" />
<groupbox id='groupbox-personendaten'>
<!--PersonenDaten-->
<caption label="Personendaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:4px;"
>
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="UID" control="mitarbeiter-detail-textbox-uid"/>
<hbox><textbox id="mitarbeiter-detail-textbox-uid" disabled="true" maxlength="32" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<spacer />
<spacer />
<label value="Aktiv" control="mitarbeiter-detail-checkbox-aktiv"/>
<checkbox id="mitarbeiter-detail-checkbox-aktiv" checked="true" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Anrede" control="mitarbeiter-detail-textbox-anrede"/>
<hbox><textbox id="mitarbeiter-detail-textbox-anrede" disabled="true" maxlength="16" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<label value="TitelPre" control="mitarbeiter-detail-textbox-titelpre"/>
<textbox id="mitarbeiter-detail-textbox-titelpre" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="TitelPost" control="mitarbeiter-detail-textbox-titelpost"/>
<textbox id="mitarbeiter-detail-textbox-titelpost" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Nachname" control="mitarbeiter-detail-textbox-nachname"/>
<textbox id="mitarbeiter-detail-textbox-nachname" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vorname" control="mitarbeiter-detail-textbox-vorname"/>
<textbox id="mitarbeiter-detail-textbox-vorname" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vornamen" control="mitarbeiter-detail-textbox-vornamen"/>
<textbox id="mitarbeiter-detail-textbox-vornamen" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="Geburtsdatum" control="mitarbeiter-detail-textbox-geburtsdatum" />
<hbox>
<box class="Datum" id="mitarbeiter-detail-textbox-geburtsdatum" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</hbox>
<label value="Geburtsort" control="mitarbeiter-detail-textbox-geburtsort"/>
<textbox id="mitarbeiter-detail-textbox-geburtsort" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
<label value="Geburtszeit" control="mitarbeiter-detail-textbox-geburtszeit" hidden="true"/>
<hbox><textbox id="mitarbeiter-detail-textbox-geburtszeit" disabled="true" maxlength="5" size="5" tooltiptext="Format: hh:mm Beispiel: 10:30" oninput="MitarbeiterDetailValueChange()" hidden="true"/></hbox>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="SVNR" control="mitarbeiter-detail-textbox-svnr"/>
<hbox><textbox id="mitarbeiter-detail-textbox-svnr" disabled="true" maxlength="16" size="10" oninput="MitarbeiterGenerateGebDatFromSVNR(); MitarbeiterDetailValueChange()"/></hbox>
<label value="Ersatzkennzeichen" control="mitarbeiter-detail-textbox-ersatzkennzeichen"/>
<hbox><textbox id="mitarbeiter-detail-textbox-ersatzkennzeichen" disabled="true" maxlength="10" size="10" oninput="MitarbeiterDetailValueChange()"/></hbox>
</row>
<row>
<label value="Staatsbuergerschaft" control="mitarbeiter-detail-menulist-staatsbuergerschaft" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>/>
<menulist id="mitarbeiter-detail-menulist-staatsbuergerschaft" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Geburtsnation" control="mitarbeiter-detail-menulist-geburtsnation" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> />
<menulist id="mitarbeiter-detail-menulist-geburtsnation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Sprache" control="mitarbeiter-detail-menulist-sprache" />
<menulist id="mitarbeiter-detail-menulist-sprache" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/sprache.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/sprachen/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
label="rdf:http://www.technikum-wien.at/sprachen/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Geschlecht" control="mitarbeiter-detail-menulist-geschlecht"/>
<menulist id="mitarbeiter-detail-menulist-geschlecht" disabled="true" oncommand="MitarbeiterDetailValueChange()">
<menupopup>
<menuitem value="m" label="maennlich"/>
<menuitem value="w" label="weiblich"/>
<menuitem value="u" label="unbekannt"/>
</menupopup>
</menulist>
<label value="Familienstand" control="mitarbeiter-detail-menulist-familienstand" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> />
<menulist id="mitarbeiter-detail-menulist-familienstand" disabled="true" oncommand="MitarbeiterDetailValueChange()" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<menupopup>
<menuitem value="" label="--keine Auswahl--"/>
<menuitem value="g" label="geschieden"/>
<menuitem value="l" label="ledig"/>
<menuitem value="v" label="verheiratet"/>
<menuitem value="w" label="verwitwet"/>
</menupopup>
</menulist>
<label value="Anzahl der Kinder" control="mitarbeiter-detail-textbox-anzahlderkinder" hidden="true"/>
<textbox id="mitarbeiter-detail-textbox-anzahlderkinder" disabled="true" maxlength="2" oninput="MitarbeiterDetailValueChange()" hidden="true"/>
</row>
<row>
<vbox>
<label value="Foto" />
<hbox>
<button id="mitarbeiter-detail-button-image-upload" label="Upload" oncommand="MitarbeiterImageUpload();" disabled="true"/>
<button id="mitarbeiter-detail-button-image-delete" label="Delete" oncommand="MitarbeiterImageDelete();" disabled="true"/>
<spacer flex="1" />
</hbox>
<button id="mitarbeiter-detail-button-image-infomail" label="Infomail" oncommand="MitarbeiterImageInfomail();" disabled="true"/>
</vbox>
<hbox>
<image src='' id="mitarbeiter-detail-image" style="margin-left:5px; width:90px; height:120px"/> <!-- width="60" height="60" -->
<spacer flex="1"/>
</hbox>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-anmerkung"/>
<textbox id="mitarbeiter-detail-textbox-anmerkung" disabled="true" multiline="true" oninput="MitarbeiterDetailValueChange()"/>
<label value="Homepage" control="mitarbeiter-detail-textbox-homepage"/>
<vbox><textbox id="mitarbeiter-detail-textbox-homepage" disabled="true" maxlength="256" oninput="MitarbeiterDetailValueChange()"/></vbox>
</row>
</rows>
</grid>
</groupbox>
<!-- MITARBEITER DATEN -->
<hbox>
<groupbox flex="8">
<caption label="Mitarbeiterdaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="mitarbeiter-detail-textbox-personalnummer" value="Personalnummer"/>
<textbox id="mitarbeiter-detail-textbox-personalnummer" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<label align="end" control="mitarbeiter-detail-textbox-kurzbezeichnung" value="Kurzbezeichnung"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-kurzbezeichnung" class="pflichtfeld" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<spacer />
</hbox>
<checkbox label="Lektor" id="mitarbeiter-detail-checkbox-lektor" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<checkbox label="Kleriker" id="mitarbeiter-detail-checkbox-kleriker" checked="false" disabled="true" hidden="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label align="end" control="mitarbeiter-detail-textbox-stundensatz" value="Stundensatz"/>
<textbox id="mitarbeiter-detail-textbox-stundensatz" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<label align="end" control="mitarbeiter-detail-textbox-telefonklappe" value="Telefonklappe"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-telefonklappe" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<spacer />
</hbox>
<checkbox label="Fixangestellt" id="mitarbeiter-detail-checkbox-fixangestellt" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<spacer />
</row>
<row>
<label align="end" control="mitarbeiter-detail-menulist-ort_kurzbz" value="Buero"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-ort_kurzbz" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/orte.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ort/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ort/rdf#anzeigename"
value="rdf:http://www.technikum-wien.at/ort/rdf#ort_kurzbz"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<label align="end" control="mitarbeiter-detail-menulist-standort" value="Standort"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-standort" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/standort.rdf.php?optional=true&amp;firmentyp_kurzbz=Intern"
ref="http://www.technikum-wien.at/standort/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<checkbox label="Bismelden" id="mitarbeiter-detail-checkbox-bismelden" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<spacer />
</row>
<row>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-mitarbeiteranmerkung"/>
<textbox id="mitarbeiter-detail-textbox-mitarbeiteranmerkung" disabled="true" multiline="true" oninput="MitarbeiterDetailValueChange()"/>
<vbox>
<label value="Alias" control="mitarbeiter-detail-textbox-alias"/>
<label value="Urlaubsanspruch" control="mitarbeiter-detail-textbox-urlaubsanspruch" style="margin-top: 10px;" />
</vbox>
<vbox>
<textbox id="mitarbeiter-detail-textbox-alias" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<textbox id="mitarbeiter-detail-textbox-urlaubsanspruch" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</vbox>
<vbox>
<label align="end" control="mitarbeiter-detail-menulist-ausbildung" value="Ausbildung"/>
<label control="mitarbeiter-detail-textbox-resturlaubstage" value="Resturlaubstage" style="margin-top: 10px;"/>
</vbox>
<vbox>
<menulist id="mitarbeiter-detail-menulist-ausbildung" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/ausbildung.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ausbildung/alle" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ausbildung/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/ausbildung/rdf#code"/>
</menupopup>
</template>
</menulist>
<textbox id="mitarbeiter-detail-textbox-resturlaubstage" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</vbox>
</row>
</rows>
</grid>
<hbox class="style-groupbox">
</hbox>
</groupbox>
</hbox>
<hbox>
<spacer flex="1"/>
<button id="mitarbeiter-detail-button-speichern" disabled="true" label="Speichern" oncommand="MitarbeiterSave();"/>
</hbox>
</vbox>
</overlay>
+1 -1
View File
@@ -114,7 +114,7 @@ FROM
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz)
LEFT JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz)
WHERE
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz);
+2 -1
View File
@@ -97,7 +97,7 @@ $lehrstunde->getStundenplanData($db_stpl_table, $lehrveranstaltung_id, $variable
$format_title->setAlign('merge');
//Zeilenueberschriften ausgeben
$headline=array('Datum','Von','Bis','Ort','Lektoren','Gruppen','Lehrfach','StundeVon','StundeBis');
$headline=array('Datum','Von','Bis','Ort','Lektoren','Gruppen','Lehrfach','Anmerkung','StundeVon','StundeBis');
$i=0;
foreach ($headline as $title)
@@ -133,6 +133,7 @@ $lehrstunde->getStundenplanData($db_stpl_table, $lehrveranstaltung_id, $variable
writecol($zeile, $i++, $lektoren);
writecol($zeile, $i++, implode(',',$row->gruppen));
writecol($zeile, $i++, $row->lehrfach_bezeichnung);
writecol($zeile, $i++, implode(',',$row->titel));
writecol($zeile, $i++, $row->stundevon);
writecol($zeile, $i++, $row->stundebis);
+1
View File
@@ -3395,6 +3395,7 @@ if(!$error)
$pruefung->akadgrad_id = $_POST['akadgrad_id'];
$pruefung->pruefungstyp_kurzbz = $_POST['pruefungstyp_kurzbz'];
$pruefung->datum = $_POST['datum'];
$pruefung->uhrzeit = $_POST['uhrzeit'];
$pruefung->sponsion = $_POST['sponsion'];
$pruefung->anmerkung = $_POST['anmerkung'];
$pruefung->updateamum = date('Y-m-d H:i:s');
+34 -28
View File
@@ -167,6 +167,7 @@ function StudentAbschlusspruefungDetailDisableFields(val)
document.getElementById('student-abschlusspruefung-menulist-akadgrad').disabled=val;
document.getElementById('student-abschlusspruefung-menulist-typ').disabled=val;
document.getElementById('student-abschlusspruefung-datum-datum').disabled=val;
document.getElementById('student-abschlusspruefung-datum-uhrzeit').disabled=val;
document.getElementById('student-abschlusspruefung-datum-sponsion').disabled=val;
document.getElementById('student-abschlusspruefung-textbox-anmerkung').disabled=val;
document.getElementById('student-abschlusspruefung-button-speichern').disabled=val;
@@ -189,6 +190,7 @@ function StudentAbschlusspruefungResetFields()
//document.getElementById('student-abschlusspruefung-menulist-akadgrad').value='';
//document.getElementById('student-abschlusspruefung-menulist-typ').value='Bachelor';
document.getElementById('student-abschlusspruefung-datum-datum').value='';
document.getElementById('student-abschlusspruefung-datum-uhrzeit').value='00:00';
document.getElementById('student-abschlusspruefung-datum-sponsion').value='';
document.getElementById('student-abschlusspruefung-textbox-anmerkung').value='';
}
@@ -343,6 +345,7 @@ function StudentAbschlusspruefungAuswahl()
notekommpruef = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#notekommpruef" ));
akadgrad_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#akadgrad_id" ));
datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
uhrzeit = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#uhrzeit" ));
sponsion = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#sponsion" ));
pruefungstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefungstyp_kurzbz" ));
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
@@ -395,6 +398,7 @@ function StudentAbschlusspruefungAuswahl()
document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value=notekommpruef;
document.getElementById('student-abschlusspruefung-menulist-akadgrad').value=akadgrad_id;
document.getElementById('student-abschlusspruefung-datum-datum').value=datum;
document.getElementById('student-abschlusspruefung-datum-uhrzeit').value=uhrzeit;
document.getElementById('student-abschlusspruefung-datum-sponsion').value=sponsion;
document.getElementById('student-abschlusspruefung-menulist-typ').value=pruefungstyp_kurzbz;
document.getElementById('student-abschlusspruefung-textbox-anmerkung').value=anmerkung;
@@ -413,19 +417,20 @@ function StudentAbschlusspruefungSpeichern()
//der Value einer Editable Menulist muss mittels dieser Funktion geholt werden
//da sonst der Text der Menulist geliefert wird und nicht der dahinterliegene Wert
vorsitz = MenulistGetSelectedValue('student-abschlusspruefung-menulist-vorsitz');
pruefer1 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer1');
pruefer2 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer2');
pruefer3 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer3');
abschlussbeurteilung_kurzbz = document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').value;
notekommpruef = document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value;
akadgrad_id = document.getElementById('student-abschlusspruefung-menulist-akadgrad').value;
datum = document.getElementById('student-abschlusspruefung-datum-datum').value;
sponsion = document.getElementById('student-abschlusspruefung-datum-sponsion').value;
pruefungstyp_kurzbz = document.getElementById('student-abschlusspruefung-menulist-typ').value;
anmerkung = document.getElementById('student-abschlusspruefung-textbox-anmerkung').value;
abschlusspruefung_id = document.getElementById('student-abschlusspruefung-textbox-abschlusspruefung_id').value;
neu = document.getElementById('student-abschlusspruefung-checkbox-neu').checked;
var vorsitz = MenulistGetSelectedValue('student-abschlusspruefung-menulist-vorsitz');
var pruefer1 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer1');
var pruefer2 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer2');
var pruefer3 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer3');
var abschlussbeurteilung_kurzbz = document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').value;
var notekommpruef = document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value;
var akadgrad_id = document.getElementById('student-abschlusspruefung-menulist-akadgrad').value;
var datum = document.getElementById('student-abschlusspruefung-datum-datum').value;
var uhrzeit = document.getElementById('student-abschlusspruefung-datum-uhrzeit').value;
var sponsion = document.getElementById('student-abschlusspruefung-datum-sponsion').value;
var pruefungstyp_kurzbz = document.getElementById('student-abschlusspruefung-menulist-typ').value;
var anmerkung = document.getElementById('student-abschlusspruefung-textbox-anmerkung').value;
var abschlusspruefung_id = document.getElementById('student-abschlusspruefung-textbox-abschlusspruefung_id').value;
var neu = document.getElementById('student-abschlusspruefung-checkbox-neu').checked;
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
@@ -478,6 +483,7 @@ function StudentAbschlusspruefungSpeichern()
req.add('notekommpruef', notekommpruef);
req.add('akadgrad_id', akadgrad_id);
req.add('datum', ConvertDateToISO(datum));
req.add('uhrzeit', uhrzeit);
req.add('sponsion', ConvertDateToISO(sponsion));
req.add('pruefungstyp_kurzbz', pruefungstyp_kurzbz);
req.add('anmerkung', anmerkung);
@@ -657,7 +663,7 @@ function StudentAbschlusspruefungPrintPruefungsprotokollMultiple(event, lang)
if(lang=='en2')
xsl='PrProtMAEng';
}
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
@@ -682,10 +688,10 @@ function StudentAbschlusspruefungPrintPruefungsprotokollMultiple(event, lang)
}
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
@@ -720,7 +726,7 @@ function StudentAbschlusspruefungPrintPruefungsprotokoll(event, lang)
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
if(pruefungstyp_kurzbz=='Bachelor')
{
if(lang=='de')
@@ -731,7 +737,7 @@ function StudentAbschlusspruefungPrintPruefungsprotokoll(event, lang)
xsl='PrProtBA';
if(lang=='en2')
xsl='PrProtBAEng';
}
}
else
{
if(lang=='de')
@@ -744,10 +750,10 @@ function StudentAbschlusspruefungPrintPruefungsprotokoll(event, lang)
xsl='PrProtMAEng';
}
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
@@ -827,10 +833,10 @@ function StudentAbschlusspruefungPrintPruefungszeugnisMultiple(event, sprache)
}
}
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
@@ -866,10 +872,10 @@ function StudentAbschlusspruefungPrintPruefungszeugnis(event)
else
xsl='Diplomzeugnis';
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
@@ -944,10 +950,10 @@ function StudentAbschlusspruefungPrintUrkundeMultiple(event, sprache)
}
}
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
@@ -995,10 +1001,10 @@ function StudentAbschlusspruefungPrintUrkunde(event, sprache)
else if(pruefungstyp_kurzbz=='Abschluss' && sprache=='deutsch')
xsl='Magisterurkunde';
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
+331 -313
View File
@@ -1,313 +1,331 @@
<?php
/* Copyright (C) 2006 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: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<overlay id="StudentProjektarbeitOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/student/studentabschlusspruefung.js.php" />
<!-- Abschlusspruefung DETAILS -->
<vbox id="student-abschlusspruefung" style="overflow:auto;margin:10px;" flex="1">
<popupset>
<menupopup id="student-abschlusspruefung-tree-popup">
<menuitem label="Entfernen" oncommand="StudentAbschlusspruefungLoeschen();" id="student-abschlusspruefung-tree-popup-delete" hidden="false"/>
<menu id="student-abschlusspruefung-tree-popup-dokumente" label="Dokumente">
<menupopup id="menu-file-popup">
<menuitem label="Pruefungsprotokoll (Alte Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('de')"/>
<menuitem label="Pruefungsprotokoll Englisch (Alte Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('en')"/>
<menuitem label="Pruefungsprotokoll 2 (Neue Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('de2')"/>
<menuitem label="Pruefungsprotokoll Englisch 2 (Neue Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('en2')"/>
<menuitem label="Pruefungszeugnis" oncommand="StudentAbschlusspruefungPrintPruefungszeugnis()"/>
<menuitem label="Urkunde" oncommand="StudentAbschlusspruefungPrintUrkunde('deutsch')"/>
<menuitem label="Urkunde Englisch" oncommand="StudentAbschlusspruefungPrintUrkunde('englisch')"/>
</menupopup>
</menu>
</menupopup>
</popupset>
<hbox>
<tree id="student-abschlusspruefung-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/abschlusspruefung/liste"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:0px;"
persist="hidden, height"
context="student-abschlusspruefung-tree-popup"
>
<!-- onselect="StudentAbschlusspruefungAuswahl();" - wird jetzt per JS gesetzt -->
<treecols>
<treecol id="student-abschlusspruefung-treecol-student_uid" label="UID" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#student_uid" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-vorsitz" label="Vorsitz" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#vorsitz_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer1" label="Pruefer1" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer1_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer2" label="Pruefer2" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer2_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer3" label="Pruefer3" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer3_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-abschlussbeurteilung_kurzbz" label="Abschlussbeurteilung" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlussbeurteilung_kurzbz" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-datum" label="Datum" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#datum_iso" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-sponsion" label="Sponsion" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#sponsion_iso" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-anmerkung" label="Anmerkung" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#anmerkung" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-abschlusspruefung_id" label="Abschlusspruefung_id" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlusspruefung_id" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefungstyp_kurzbz" label="Typ" flex="1" persist="hidden, width"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefungstyp_kurzbz" onclick="StudentAbschlusspruefungTreeSort()" hidden="true" ignoreincolumnpicker="true"/><!-- Spalte ist im columnpicker nicht auswählbar, wird aber im Hintergrund für die Erstellung der Diplomurkunde benötigt -->
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-beschreibung" label="Typ" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#beschreibung" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#student_uid" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#vorsitz_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer1_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer2_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer3_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlussbeurteilung_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#datum" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#sponsion" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#anmerkung" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlusspruefung_id" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefungstyp_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#beschreibung"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id="student-abschlusspruefung-button-neu" label="Neu" oncommand="StudentAbschlusspruefungNeu()" disabled="true" />
<button id="student-abschlusspruefung-button-loeschen" label="Loeschen" oncommand="StudentAbschlusspruefungLoeschen()" disabled="true" />
</vbox>
</hbox>
<textbox id="student-abschlusspruefung-textbox-abschlusspruefung_id" hidden="true" />
<checkbox id="student-abschlusspruefung-checkbox-neu" hidden="true" />
<groupbox>
<caption label="Details" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Typ" control="student-abschlusspruefung-menulist-typ" />
<menulist id="student-abschlusspruefung-menulist-typ"
disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/pruefungstyp.rdf.php?abschluss=true" flex="1"
ref="http://www.technikum-wien.at/pruefungstyp/liste"
oncommand="StudentAbschlusspruefungTypChange()"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/pruefungstyp/rdf#pruefungstyp_kurzbz"
label="rdf:http://www.technikum-wien.at/pruefungstyp/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Note komm. Pruefung" control="student-abschlusspruefung-menulist-notekommpruef" />
<menulist id="student-abschlusspruefung-menulist-notekommpruef"
disabled="true"
datasources="<?php echo APP_ROOT;?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Vorsitz" control="student-abschlusspruefung-menulist-vorsitz" />
<menulist id="student-abschlusspruefung-menulist-vorsitz"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/mitarbeiter/liste"
oninput="StudentAbschlusspruefungMenulistMitarbeiterLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost"
myvalue="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 1" id="student-abschlusspruefung-label-pruefer1" control="student-abschlusspruefung-menulist-pruefer1" />
<menulist id="student-abschlusspruefung-menulist-pruefer1"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Abschlussbeurteilung" control="student-abschlusspruefung-menulist-abschlussbeurteilung" />
<menulist id="student-abschlusspruefung-menulist-abschlussbeurteilung"
disabled="true"
datasources="<?php echo APP_ROOT;?>rdf/abschlussbeurteilung.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/abschlussbeurteilung/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/abschlussbeurteilung/rdf#abschlussbeurteilung_kurzbz"
label="rdf:http://www.technikum-wien.at/abschlussbeurteilung/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 2" id="student-abschlusspruefung-label-pruefer2" control="student-abschlusspruefung-menulist-pruefer2" />
<menulist id="student-abschlusspruefung-menulist-pruefer2"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Akademischer Grad" control="student-abschlusspruefung-menulist-akadgrad" />
<menulist id="student-abschlusspruefung-menulist-akadgrad"
disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/akadgrad/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/akadgrad/rdf#akadgrad_id"
label="rdf:http://www.technikum-wien.at/akadgrad/rdf#titel"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 3" id="student-abschlusspruefung-label-pruefer3" control="student-abschlusspruefung-menulist-pruefer3" />
<menulist id="student-abschlusspruefung-menulist-pruefer3"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<vbox>
<label value="Datum" control="student-abschlusspruefung-datum-datum" />
<label id="student-abschlusspruefung-datum-sponsion-label" value="Sponsion" control="student-abschlusspruefung-datum-sponsion" />
</vbox>
<vbox>
<box class="Datum" id="student-abschlusspruefung-datum-datum" disabled="true"/>
<box class="Datum" id="student-abschlusspruefung-datum-sponsion" disabled="true"/>
</vbox>
<label value="Anmerkung" control="student-abschlusspruefung-textbox-anmerkung" />
<textbox id="student-abschlusspruefung-textbox-anmerkung" multiline="true" maxlength="256" disabled="true"/>
</row>
<row>
<spacer />
<spacer />
<spacer />
<hbox>
<spacer flex="1" />
<button id="student-abschlusspruefung-button-speichern" label="Speichern" oncommand="StudentAbschlusspruefungSpeichern()" disabled="true"/>
</hbox>
</row>
</rows>
</grid>
</groupbox>
<spacer flex="1" />
</vbox>
</overlay>
<?php
/* Copyright (C) 2006 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: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<overlay id="StudentProjektarbeitOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/student/studentabschlusspruefung.js.php" />
<!-- Abschlusspruefung DETAILS -->
<vbox id="student-abschlusspruefung" style="overflow:auto;margin:10px;" flex="1">
<popupset>
<menupopup id="student-abschlusspruefung-tree-popup">
<menuitem label="Entfernen" oncommand="StudentAbschlusspruefungLoeschen();" id="student-abschlusspruefung-tree-popup-delete" hidden="false"/>
<menu id="student-abschlusspruefung-tree-popup-dokumente" label="Dokumente">
<menupopup id="menu-file-popup">
<menuitem label="Pruefungsprotokoll (Alte Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('de')"/>
<menuitem label="Pruefungsprotokoll Englisch (Alte Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('en')"/>
<menuitem label="Pruefungsprotokoll 2 (Neue Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('de2')"/>
<menuitem label="Pruefungsprotokoll Englisch 2 (Neue Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('en2')"/>
<menuitem label="Pruefungszeugnis" oncommand="StudentAbschlusspruefungPrintPruefungszeugnis()"/>
<menuitem label="Urkunde" oncommand="StudentAbschlusspruefungPrintUrkunde('deutsch')"/>
<menuitem label="Urkunde Englisch" oncommand="StudentAbschlusspruefungPrintUrkunde('englisch')"/>
</menupopup>
</menu>
</menupopup>
</popupset>
<hbox>
<tree id="student-abschlusspruefung-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/abschlusspruefung/liste"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:0px;"
persist="hidden, height"
context="student-abschlusspruefung-tree-popup"
>
<!-- onselect="StudentAbschlusspruefungAuswahl();" - wird jetzt per JS gesetzt -->
<treecols>
<treecol id="student-abschlusspruefung-treecol-student_uid" label="UID" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#student_uid" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-vorsitz" label="Vorsitz" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#vorsitz_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer1" label="Pruefer1" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer1_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer2" label="Pruefer2" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer2_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer3" label="Pruefer3" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer3_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-abschlussbeurteilung_kurzbz" label="Abschlussbeurteilung" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlussbeurteilung_kurzbz" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-datum" label="Datum" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#datum_iso" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-uhrzeit" label="Uhrzeit" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#uhrzeit" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-sponsion" label="Sponsion" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#sponsion_iso" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-anmerkung" label="Anmerkung" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#anmerkung" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-abschlusspruefung_id" label="Abschlusspruefung_id" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlusspruefung_id" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefungstyp_kurzbz" label="Typ" flex="1" persist="hidden, width"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefungstyp_kurzbz" onclick="StudentAbschlusspruefungTreeSort()" hidden="true" ignoreincolumnpicker="true"/><!-- Spalte ist im columnpicker nicht auswählbar, wird aber im Hintergrund für die Erstellung der Diplomurkunde benötigt -->
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-beschreibung" label="Typ" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#beschreibung" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#student_uid" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#vorsitz_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer1_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer2_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer3_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlussbeurteilung_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#datum" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#uhrzeit" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#sponsion" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#anmerkung" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlusspruefung_id" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefungstyp_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#beschreibung"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id="student-abschlusspruefung-button-neu" label="Neu" oncommand="StudentAbschlusspruefungNeu()" disabled="true" />
<button id="student-abschlusspruefung-button-loeschen" label="Loeschen" oncommand="StudentAbschlusspruefungLoeschen()" disabled="true" />
</vbox>
</hbox>
<textbox id="student-abschlusspruefung-textbox-abschlusspruefung_id" hidden="true" />
<checkbox id="student-abschlusspruefung-checkbox-neu" hidden="true" />
<groupbox>
<caption label="Details" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Typ" control="student-abschlusspruefung-menulist-typ" />
<menulist id="student-abschlusspruefung-menulist-typ"
disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/pruefungstyp.rdf.php?abschluss=true" flex="1"
ref="http://www.technikum-wien.at/pruefungstyp/liste"
oncommand="StudentAbschlusspruefungTypChange()"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/pruefungstyp/rdf#pruefungstyp_kurzbz"
label="rdf:http://www.technikum-wien.at/pruefungstyp/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Note komm. Pruefung" control="student-abschlusspruefung-menulist-notekommpruef" />
<menulist id="student-abschlusspruefung-menulist-notekommpruef"
disabled="true"
datasources="<?php echo APP_ROOT;?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Vorsitz" control="student-abschlusspruefung-menulist-vorsitz" />
<menulist id="student-abschlusspruefung-menulist-vorsitz"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/mitarbeiter/liste"
oninput="StudentAbschlusspruefungMenulistMitarbeiterLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost"
myvalue="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 1" id="student-abschlusspruefung-label-pruefer1" control="student-abschlusspruefung-menulist-pruefer1" />
<menulist id="student-abschlusspruefung-menulist-pruefer1"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Abschlussbeurteilung" control="student-abschlusspruefung-menulist-abschlussbeurteilung" />
<menulist id="student-abschlusspruefung-menulist-abschlussbeurteilung"
disabled="true"
datasources="<?php echo APP_ROOT;?>rdf/abschlussbeurteilung.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/abschlussbeurteilung/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/abschlussbeurteilung/rdf#abschlussbeurteilung_kurzbz"
label="rdf:http://www.technikum-wien.at/abschlussbeurteilung/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 2" id="student-abschlusspruefung-label-pruefer2" control="student-abschlusspruefung-menulist-pruefer2" />
<menulist id="student-abschlusspruefung-menulist-pruefer2"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Akademischer Grad" control="student-abschlusspruefung-menulist-akadgrad" />
<menulist id="student-abschlusspruefung-menulist-akadgrad"
disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/akadgrad/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/akadgrad/rdf#akadgrad_id"
label="rdf:http://www.technikum-wien.at/akadgrad/rdf#titel"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 3" id="student-abschlusspruefung-label-pruefer3" control="student-abschlusspruefung-menulist-pruefer3" />
<menulist id="student-abschlusspruefung-menulist-pruefer3"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<vbox>
<label value="Datum" control="student-abschlusspruefung-datum-datum" />
</vbox>
<vbox>
<box class="Datum" id="student-abschlusspruefung-datum-datum" disabled="true"/>
</vbox>
</row>
<row>
<vbox>
<label value="Uhrzeit" control="student-abschlusspruefung-datum-uhrzeit" />
</vbox>
<vbox>
<timepicker id="student-abschlusspruefung-datum-uhrzeit" hideseconds="true" disabled="true"/>
</vbox>
<label value="Anmerkung" control="student-abschlusspruefung-textbox-anmerkung" />
<textbox id="student-abschlusspruefung-textbox-anmerkung" multiline="true" maxlength="256" disabled="true"/>
</row>
<row>
<vbox>
<label id="student-abschlusspruefung-datum-sponsion-label" value="Sponsion" control="student-abschlusspruefung-datum-sponsion" />
</vbox>
<vbox>
<box class="Datum" id="student-abschlusspruefung-datum-sponsion" disabled="true"/>
</vbox>
</row>
<row>
<spacer />
<spacer />
<spacer />
<hbox>
<spacer flex="1" />
<button id="student-abschlusspruefung-button-speichern" label="Speichern" oncommand="StudentAbschlusspruefungSpeichern()" disabled="true"/>
</hbox>
</row>
</rows>
</grid>
</groupbox>
<spacer flex="1" />
</vbox>
</overlay>
+1 -1
View File
@@ -104,7 +104,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</row>
<row>
<label value="SVNR" control="student-detail-textbox-svnr"/>
<hbox><textbox id="student-detail-textbox-svnr" disabled="true" maxlength="10" size="10"/></hbox>
<hbox><textbox id="student-detail-textbox-svnr" disabled="true" maxlength="16" size="10"/></hbox>
<label value="Ersatzkennzeichen" control="student-detail-textbox-ersatzkennzeichen"/>
<hbox><textbox id="student-detail-textbox-ersatzkennzeichen" disabled="true" maxlength="10" size="15"/></hbox>
<label value="Geburtszeit" control="student-detail-textbox-geburtszeit" hidden="true"/>
File diff suppressed because it is too large Load Diff
@@ -57,13 +57,18 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</columns>
<rows>
<row>
<vbox>
<hbox>
<spacer flex="1"/>
<button type="checkbox" id="student-pruefung-button-filterstsem" label="Alle Studiensemester anzeigen" oncommand="StudentPruefungFilterStsem();" disabled="true"/>
</hbox>
<tree id="student-pruefung-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/pruefung/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
context="student-pruefung-tree-popup"
flags="dont-build-content"
>
<treecols>
<treecol id="student-pruefung-tree-datum" label="Datum" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
@@ -110,7 +115,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
sort="rdf:http://www.technikum-wien.at/pruefung/rdf#punkte" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
@@ -131,6 +136,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</treechildren>
</template>
</tree>
</vbox>
<vbox>
<hbox>
<button id="student-pruefung-button-neu" label="Neu" oncommand="StudentPruefungNeu();" disabled="true"/>
@@ -154,7 +160,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Lehrveranstaltung" control="student-pruefung-menulist-lehrveranstaltung"/>
<menulist id="student-pruefung-menulist-lehrveranstaltung" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/lehrveranstaltung/liste"
ref="http://www.technikum-wien.at/lehrveranstaltung/liste"
oncommand="StudentPruefungLVAChange()">
<template>
<menupopup>
+5
View File
@@ -105,6 +105,10 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/termine/rdf#anwesend" onclick="termineTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="termine-treecol-titel" label="Titel" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/termine/rdf#titel" onclick="termineTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="termine-treecol-datum_iso" label="DatumISO" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/termine/rdf#datum_iso" onclick="termineTreeSort()"/>
@@ -131,6 +135,7 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#lektor" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#lehrfach" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#anwesend" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#titel" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#datum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#lehreinheit_id" />
</treerow>
+380 -375
View File
@@ -1,375 +1,380 @@
<?php
/* Copyright (C) 2006 FH 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: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse zur Verwaltung der Abschlusspruefungen
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class abschlusspruefung extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $abschlusspruefung_id;
public $student_uid;
public $vorsitz;
public $pruefer1;
public $pruefer2;
public $pruefer3;
public $abschlussbeurteilung_kurzbz;
public $note;
public $akadgrad_id;
public $datum;
public $sponsion;
public $pruefungstyp_kurzbz;
public $anmerkung;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $ext_id;
/**
* Konstruktor
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
*/
public function __construct($abschlusspruefung_id=null)
{
parent::__construct();
if(!is_null($abschlusspruefung_id))
$this->load($abschlusspruefung_id);
}
/**
* Laedt einen Datensatz
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
*/
public function load($abschlusspruefung_id)
{
//id auf Gueltigkeit pruefen
if(!is_numeric($abschlusspruefung_id))
{
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
$this->student_uid = $row->student_uid;
$this->vorsitz = $row->vorsitz;
$this->pruefer1 = $row->pruefer1;
$this->pruefer2 = $row->pruefer2;
$this->pruefer3 = $row->pruefer3;
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$this->note = $row->note;
$this->akadgrad_id = $row->akadgrad_id;
$this->datum = $row->datum;
$this->sponsion = $row->sponsion;
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$this->beschreibung = $row->beschreibung;
$this->anmerkung = $row->anmerkung;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/**
* Loescht einen Datensatz
* @param abschlusspruefung_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($abschlusspruefung_id)
{
//abschlusspruefung_id auf Gueltigkeit pruefen
if(!is_numeric($abschlusspruefung_id))
{
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_abschlusspruefung
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
/**
* Prueft die Daten vor dem Speichern
*
* @return true wenn ok, false wenn Fehler
*/
protected function validate()
{
if($this->akadgrad_id=='')
{
$this->errormsg = 'AkadGrad muss eingegeben werden';
return false;
}
if($this->pruefungstyp_kurzbz=='')
{
$this->errormsg = 'Pruefungstyp muss eingetragen werden';
return false;
}
if($this->student_uid=='')
{
$this->errormsg = 'UID muss eingetragen werden';
return false;
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1,
pruefer2, pruefer3, abschlussbeurteilung_kurzbz, akadgrad_id, datum, sponsion,
pruefungstyp_kurzbz, anmerkung, updateamum, updatevon, insertamum, insertvon,
note) VALUES (".
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->vorsitz).', '.
$this->db_add_param($this->pruefer1).', '.
$this->db_add_param($this->pruefer2).', '.
$this->db_add_param($this->pruefer3).', '.
$this->db_add_param($this->abschlussbeurteilung_kurzbz).', '.
$this->db_add_param($this->akadgrad_id, FHC_INTEGER).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->sponsion).', '.
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->note, FHC_INTEGER).');';
}
else
{
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE lehre.tbl_abschlusspruefung SET".
" student_uid=".$this->db_add_param($this->student_uid).",".
" vorsitz=".$this->db_add_param($this->vorsitz).",".
" pruefer1=".$this->db_add_param($this->pruefer1).",".
" pruefer2=".$this->db_add_param($this->pruefer2).",".
" pruefer3=".$this->db_add_param($this->pruefer3).",".
" abschlussbeurteilung_kurzbz=".$this->db_add_param($this->abschlussbeurteilung_kurzbz).",".
" note=".$this->db_add_param($this->note, FHC_INTEGER).",".
" akadgrad_id=".$this->db_add_param($this->akadgrad_id, FHC_INTEGER).",".
" datum=".$this->db_add_param($this->datum).",".
" sponsion=".$this->db_add_param($this->sponsion).",".
" pruefungstyp_kurzbz=".$this->db_add_param($this->pruefungstyp_kurzbz).",".
" anmerkung=".$this->db_add_param($this->anmerkung).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).
" WHERE abschlusspruefung_id=".$this->db_add_param($this->abschlusspruefung_id, FHC_INTEGER, false);
}
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('lehre.tbl_abschlusspruefung_abschlusspruefung_id') as id";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->id;
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Laedt alle Abschlusspruefungen eines Studenten
* @param student_uid UID des Studenten
* @return true wenn ok, false wenn Fehler
*/
public function getAbschlusspruefungen($student_uid)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
ORDER BY datum DESC";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new abschlusspruefung();
$obj->abschlusspruefung_id = $row->abschlusspruefung_id;
$obj->student_uid = $row->student_uid;
$obj->vorsitz = $row->vorsitz;
$obj->pruefer1 = $row->pruefer1;
$obj->pruefer2 = $row->pruefer2;
$obj->pruefer3 = $row->pruefer3;
$obj->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$obj->note = $row->note;
$obj->akadgrad_id = $row->akadgrad_id;
$obj->datum = $row->datum;
$obj->sponsion = $row->sponsion;
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$obj->beschreibung = $row->beschreibung;
$obj->anmerkung = $row->anmerkung;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Liefert die letzte Abschlussprüfung eines Studenten
* @param type $student_uid
*/
public function getLastAbschlusspruefung($student_uid)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
ORDER BY datum DESC LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
$this->student_uid = $row->student_uid;
$this->vorsitz = $row->vorsitz;
$this->pruefer1 = $row->pruefer1;
$this->pruefer2 = $row->pruefer2;
$this->pruefer3 = $row->pruefer3;
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$this->note = $row->note;
$this->akadgrad_id = $row->akadgrad_id;
$this->datum = $row->datum;
$this->sponsion = $row->sponsion;
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$this->beschreibung = $row->beschreibung;
$this->anmerkung = $row->anmerkung;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
<?php
/* Copyright (C) 2006 FH 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: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse zur Verwaltung der Abschlusspruefungen
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class abschlusspruefung extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $abschlusspruefung_id;
public $student_uid;
public $vorsitz;
public $pruefer1;
public $pruefer2;
public $pruefer3;
public $abschlussbeurteilung_kurzbz;
public $note;
public $akadgrad_id;
public $datum;
public $uhrzeit;
public $sponsion;
public $pruefungstyp_kurzbz;
public $anmerkung;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $ext_id;
/**
* Konstruktor
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
*/
public function __construct($abschlusspruefung_id=null)
{
parent::__construct();
if(!is_null($abschlusspruefung_id))
$this->load($abschlusspruefung_id);
}
/**
* Laedt einen Datensatz
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
*/
public function load($abschlusspruefung_id)
{
//id auf Gueltigkeit pruefen
if(!is_numeric($abschlusspruefung_id))
{
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
$this->student_uid = $row->student_uid;
$this->vorsitz = $row->vorsitz;
$this->pruefer1 = $row->pruefer1;
$this->pruefer2 = $row->pruefer2;
$this->pruefer3 = $row->pruefer3;
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$this->note = $row->note;
$this->akadgrad_id = $row->akadgrad_id;
$this->datum = $row->datum;
$this->uhrzeit = $row->uhrzeit;
$this->sponsion = $row->sponsion;
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$this->beschreibung = $row->beschreibung;
$this->anmerkung = $row->anmerkung;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/**
* Loescht einen Datensatz
* @param abschlusspruefung_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($abschlusspruefung_id)
{
//abschlusspruefung_id auf Gueltigkeit pruefen
if(!is_numeric($abschlusspruefung_id))
{
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_abschlusspruefung
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
/**
* Prueft die Daten vor dem Speichern
*
* @return true wenn ok, false wenn Fehler
*/
protected function validate()
{
if($this->akadgrad_id=='')
{
$this->errormsg = 'AkadGrad muss eingegeben werden';
return false;
}
if($this->pruefungstyp_kurzbz=='')
{
$this->errormsg = 'Pruefungstyp muss eingetragen werden';
return false;
}
if($this->student_uid=='')
{
$this->errormsg = 'UID muss eingetragen werden';
return false;
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1,
pruefer2, pruefer3, abschlussbeurteilung_kurzbz, akadgrad_id, datum, uhrzeit, sponsion,
pruefungstyp_kurzbz, anmerkung, updateamum, updatevon, insertamum, insertvon,
note) VALUES (".
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->vorsitz).', '.
$this->db_add_param($this->pruefer1).', '.
$this->db_add_param($this->pruefer2).', '.
$this->db_add_param($this->pruefer3).', '.
$this->db_add_param($this->abschlussbeurteilung_kurzbz).', '.
$this->db_add_param($this->akadgrad_id, FHC_INTEGER).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->uhrzeit, FHC_STRING, false).', '.
$this->db_add_param($this->sponsion).', '.
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->note, FHC_INTEGER).');';
}
else
{
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE lehre.tbl_abschlusspruefung SET".
" student_uid=".$this->db_add_param($this->student_uid).",".
" vorsitz=".$this->db_add_param($this->vorsitz).",".
" pruefer1=".$this->db_add_param($this->pruefer1).",".
" pruefer2=".$this->db_add_param($this->pruefer2).",".
" pruefer3=".$this->db_add_param($this->pruefer3).",".
" abschlussbeurteilung_kurzbz=".$this->db_add_param($this->abschlussbeurteilung_kurzbz).",".
" note=".$this->db_add_param($this->note, FHC_INTEGER).",".
" akadgrad_id=".$this->db_add_param($this->akadgrad_id, FHC_INTEGER).",".
" datum=".$this->db_add_param($this->datum).",".
" uhrzeit=".$this->db_add_param($this->uhrzeit, FHC_STRING, false).",".
" sponsion=".$this->db_add_param($this->sponsion).",".
" pruefungstyp_kurzbz=".$this->db_add_param($this->pruefungstyp_kurzbz).",".
" anmerkung=".$this->db_add_param($this->anmerkung).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).
" WHERE abschlusspruefung_id=".$this->db_add_param($this->abschlusspruefung_id, FHC_INTEGER, false);
}
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('lehre.tbl_abschlusspruefung_abschlusspruefung_id') as id";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->id;
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Laedt alle Abschlusspruefungen eines Studenten
* @param student_uid UID des Studenten
* @return true wenn ok, false wenn Fehler
*/
public function getAbschlusspruefungen($student_uid)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
ORDER BY datum DESC";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new abschlusspruefung();
$obj->abschlusspruefung_id = $row->abschlusspruefung_id;
$obj->student_uid = $row->student_uid;
$obj->vorsitz = $row->vorsitz;
$obj->pruefer1 = $row->pruefer1;
$obj->pruefer2 = $row->pruefer2;
$obj->pruefer3 = $row->pruefer3;
$obj->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$obj->note = $row->note;
$obj->akadgrad_id = $row->akadgrad_id;
$obj->datum = $row->datum;
$obj->uhrzeit = $row->uhrzeit;
$obj->sponsion = $row->sponsion;
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$obj->beschreibung = $row->beschreibung;
$obj->anmerkung = $row->anmerkung;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Liefert die letzte Abschlussprüfung eines Studenten
* @param type $student_uid
*/
public function getLastAbschlusspruefung($student_uid)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
ORDER BY datum DESC LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
$this->student_uid = $row->student_uid;
$this->vorsitz = $row->vorsitz;
$this->pruefer1 = $row->pruefer1;
$this->pruefer2 = $row->pruefer2;
$this->pruefer3 = $row->pruefer3;
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$this->note = $row->note;
$this->akadgrad_id = $row->akadgrad_id;
$this->datum = $row->datum;
$this->uhrzeit = $row->uhrzeit;
$this->sponsion = $row->sponsion;
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$this->beschreibung = $row->beschreibung;
$this->anmerkung = $row->anmerkung;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+121 -121
View File
@@ -1,121 +1,121 @@
<?php
/* Copyright (C) 2006 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: Werner Masik <werner@gefi.at>
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class bisorgform extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $bisorgform_kurzbz;
public $code;
/**
* Konstruktor
* @param code des zu ladenden Datensatzes
*/
public function __construct($code=null)
{
parent::__construct();
if(!is_null($code))
$this->load($code);
}
/**
* Laedt einen Datensatz
* @param code des zu ladenden Datensatzes
*/
public function load($code)
{
//code auf gueltigkeit pruefen
if(!is_numeric($code) || $code == '')
{
$this->errormsg = 'code muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT
distinct code,bisorgform_kurzbz
FROM
bis.tbl_orgform
WHERE
code=".$this->db_add_param($code, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->bisorgform_kurzbz = $row->bisorgform_kurzbz;
$this->code = $row->code;
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/**
* Laedt alle BIS Orgformen
* @return List mit Orgformen wenn ok, false wenn Fehler
*/
public function getList()
{
//laden des Datensatzes
$qry = "SELECT
distinct code,bisorgform_kurzbz
FROM
bis.tbl_bisorgfom
ORDER BY code";
if($this->db_query($qry))
{
$this->result = array();
while($row = $this->db_fetch_object())
{
$obj = new bisorgform();
$obj->bisorgform_kurzbz = $row->bisorgform_kurzbz;
$obj->code = $row->code;
$this->result[] = $obj;
}
return $this->result;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
}
?>
<?php
/* Copyright (C) 2006 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: Werner Masik <werner@gefi.at>
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class bisorgform extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $bisorgform_kurzbz;
public $code;
/**
* Konstruktor
* @param code des zu ladenden Datensatzes
*/
public function __construct($code=null)
{
parent::__construct();
if(!is_null($code))
$this->load($code);
}
/**
* Laedt einen Datensatz
* @param code des zu ladenden Datensatzes
*/
public function load($code)
{
//code auf gueltigkeit pruefen
if(!is_numeric($code) || $code == '')
{
$this->errormsg = 'code muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT
distinct code,bisorgform_kurzbz
FROM
bis.tbl_orgform
WHERE
code=".$this->db_add_param($code, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->bisorgform_kurzbz = $row->bisorgform_kurzbz;
$this->code = $row->code;
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/**
* Laedt alle BIS Orgformen
* @return List mit Orgformen wenn ok, false wenn Fehler
*/
public function getList()
{
//laden des Datensatzes
$qry = "SELECT
distinct code,bisorgform_kurzbz
FROM
bis.tbl_bisorgform
ORDER BY code";
if($this->db_query($qry))
{
$this->result = array();
while($row = $this->db_fetch_object())
{
$obj = new bisorgform();
$obj->bisorgform_kurzbz = $row->bisorgform_kurzbz;
$obj->code = $row->code;
$this->result[] = $obj;
}
return $this->result;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
}
?>
+62 -62
View File
@@ -314,7 +314,7 @@ class jahresplan extends basis_db
$this->inhalt='';
$this->start='';
$this->ende='';
$this->ende='';
$this->insertamum='';
$this->insertvon='';
@@ -324,17 +324,17 @@ class jahresplan extends basis_db
$this->freigabevon='';
// Suchfelder
$this->start_jahr='';
$this->ende_jahr='';
$this->start_jahr_monat='';
$this->ende_jahr_monat='';
$this->start_jahr_woche='';
$this->ende_jahr_woche='';
$this->suchtext='';
$this->freigabe=false;
$this->start_jahr='';
$this->ende_jahr='';
$this->start_jahr_monat='';
$this->ende_jahr_monat='';
$this->start_jahr_woche='';
$this->ende_jahr_woche='';
$this->suchtext='';
$this->freigabe=false;
$this->result=array();
}
@@ -395,10 +395,11 @@ class jahresplan extends basis_db
$fildsValue.="'".addslashes($this->updatevon)."',";
$fildsValue.=(is_null($this->freigabeamum) || empty($this->freigabeamum)?'null':"'".addslashes($this->freigabeamum)."'").",";
$fildsValue.=(is_null($this->freigabevon) || empty($this->freigabevon)?'null':"'".addslashes($this->freigabevon)."'");
$qry.=" insert into ".$this->schemaSQL.".tbl_veranstaltung (".$fildsList.") values (".$fildsValue.") ";
$qry.=" insert into ".$this->schemaSQL.".tbl_veranstaltung (".$fildsList.") values (".$fildsValue.") ";
}
else
{
$fildsValue.=(!empty($fildsValue)?',':'')."veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."'";
$fildsValue.=(!empty($fildsValue)?',':'')."beschreibung='".addslashes($this->beschreibung)."'";
$fildsValue.=(!empty($fildsValue)?',':'')."inhalt='".addslashes($this->inhalt)."'";
@@ -410,41 +411,40 @@ class jahresplan extends basis_db
$fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum=null";
else
$fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum='".addslashes($this->freigabeamum)."'";
$fildsValue.=(!empty($fildsValue)?',':'')."freigabevon='".addslashes($this->freigabevon)."'";
$fildsValue.=(!empty($fildsValue)?',':'').(is_null($this->freigabevon) || empty($this->freigabevon)?"freigabevon=null":"freigabevon='".addslashes($this->freigabevon)."'");
$qry.=" update ".$this->schemaSQL.".tbl_veranstaltung set ";
$qry.=$fildsValue;
$qry.=" where veranstaltung_id='".addslashes($this->veranstaltung_id)."' ";
}
}
if(!$this->db_query($qry))
{
if (empty($this->errormsg))
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
if($this->new)
{
{
$qry=" select max(".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id) from ".$this->schemaSQL.".tbl_veranstaltung; ";
if(!$this->db_query($qry))
{
if (empty($this->errormsg))
$this->errormsg = 'Fehler beim lesen des neuen Datensatzes';
return false;
}
}
if (!$row = $this->db_fetch_object())
{
if (empty($this->errormsg))
$this->errormsg = 'Fehler beim ermitteln des neuen Datensatzes';
return false;
return false;
}
$this->veranstaltung_id=$row->max;
}
// Beim Lesen ist ein Fehler aufgetreten
$this->freigabe=false;
$veranstaltung_id=$this->veranstaltung_id;
$this->freigabe=false;
$veranstaltung_id=$this->veranstaltung_id;
$this->InitVeranstaltung();
$this->veranstaltung_id=$veranstaltung_id;
if (!$this->loadVeranstaltung())
@@ -489,7 +489,7 @@ class jahresplan extends basis_db
$qry.=" WHERE veranstaltung_id =".$this->veranstaltung_id."; ";
$qry.=" COMMIT; ";
if($this->db_query($qry))
return true;
else
@@ -499,11 +499,11 @@ class jahresplan extends basis_db
return false;
}
}
/**
* Lesen der Veranstaltung
* @return Array mit Veranstaltungs-Objekt wenn ok, false im Fehlerfall
*/
*/
public function loadVeranstaltung($veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$freigabe="",$show_only_public_kategorie="")
{
//Init
@@ -512,19 +512,19 @@ class jahresplan extends basis_db
$this->errormsg='';
$this->result=array();
if ($veranstaltung_id!='')
if ($veranstaltung_id!='')
$this->veranstaltung_id=$veranstaltung_id;
if (!empty($veranstaltungskategorie_kurzbz))
$this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz;
if ($freigabe!='')
if ($freigabe!='')
$this->freigabe=$freigabe;
if ($show_only_public_kategorie!='')
if ($show_only_public_kategorie!='')
$this->show_only_public_kategorie=$show_only_public_kategorie;
$qry.="SELECT tbl_veranstaltung.* ";
$qry.="SELECT tbl_veranstaltung.* ";
$qry.=", to_char(tbl_veranstaltung.start, 'YYYYMMDD') as \"start_jjjjmmtt\" ";
$qry.=", to_char(tbl_veranstaltung.ende, 'YYYYMMDD') as \"ende_jjjjmmtt\" ";
@@ -570,71 +570,71 @@ class jahresplan extends basis_db
$qry.=", to_char(tbl_veranstaltung.freigabeamum, 'HH24:MI') as \"freigabeamum_zeit\" ";
$qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.freigabeamum) as \"freigabeamum_timestamp\" ";
$qry.=",tbl_veranstaltungskategorie.*,tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz as kategorie_kurzbz ";
$qry.=",tbl_veranstaltungskategorie.*,tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz as kategorie_kurzbz ";
$qry.=" FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie ";
$qry.=" LEFT JOIN ".$this->schemaSQL.".tbl_veranstaltung ON ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz=".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz ";
$qry.=" LEFT JOIN ".$this->schemaSQL.".tbl_veranstaltung ON ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz=".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz ";
$qry.=" WHERE ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz>'' ";
if ($this->freigabe)
{
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.freigabevon>'' ";
}
// Suche nach einer einzigen Veranstaltung_id
if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id) )
// Suche nach einer einzigen Veranstaltung_id
if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id) )
{
if(!is_numeric($this->veranstaltung_id))
{
$this->errormsg = 'Veranstaltung_id ist ungueltig';
return false;
}
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id='".addslashes($this->veranstaltung_id)."' ";
}
elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 )
{
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id in (".addslashes(implode(",",$this->veranstaltung_id)).") ";
}
// Suche nach einer einzigen Veranstaltungskategorie_kurzbz
if (!is_array($this->veranstaltungskategorie_kurzbz) && $this->veranstaltungskategorie_kurzbz!='' )
{
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' ";
}
elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 )
{
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') ";
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id='".addslashes($this->veranstaltung_id)."' ";
}
elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 )
{
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id in (".addslashes(implode(",",$this->veranstaltung_id)).") ";
}
// Suche nach einer einzigen Veranstaltungskategorie_kurzbz
if (!is_array($this->veranstaltungskategorie_kurzbz) && $this->veranstaltungskategorie_kurzbz!='' )
{
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' ";
}
elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 )
{
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') ";
}
if (!empty($this->start) && empty($this->ende) )
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.start=to_timestamp(".$this->start.") ";
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.start=to_timestamp(".$this->start.") ";
else if (empty($this->start) && !empty($this->ende) )
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.ende=to_timestamp(".$this->ende.") ";
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.ende=to_timestamp(".$this->ende.") ";
else if (!empty($this->start) && !empty($this->ende) )
{
$qry.=" AND to_timestamp(".$this->start.") >=to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.start) ";
$qry.=" AND to_timestamp(".$this->ende.") <= to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.ende) ";
}
$qry.=" AND to_timestamp(".$this->start.") >=to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.start) ";
$qry.=" AND to_timestamp(".$this->ende.") <= to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.ende) ";
}
if (!empty($this->start_jahr) && empty($this->ende_jahr))
$qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY')='".addslashes($this->start_jahr)."'";
$qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY')='".addslashes($this->start_jahr)."'";
elseif (empty($this->start_jahr) && !empty($this->ende_jahr) )
$qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY')='".addslashes($this->ende_jahr)."'";
$qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY')='".addslashes($this->ende_jahr)."'";
elseif (empty($this->start_jahr) && !empty($this->ende_jahr) )
{
$qry.=" AND '".addslashes($this->start_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') ";
$qry.=" AND '".addslashes($this->ende_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') ";
$qry.=" AND '".addslashes($this->start_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') ";
$qry.=" AND '".addslashes($this->ende_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') ";
}
if (!empty($this->start_jahr_monat) && empty($this->ende_jahr_monat) )
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')";
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')";
elseif (empty($this->start_jahr_monat) && !empty($this->ende_jahr_monat) )
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')";
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')";
elseif (!empty($this->start_jahr_monat) && !empty($this->ende_jahr_monat) )
{
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') ";
$qry.=" AND '".addslashes($this->ende_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') ";
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') ";
$qry.=" AND '".addslashes($this->ende_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') ";
}
if (!empty($this->start_jahr_woche) && empty($this->ende_jahr_woche) )
@@ -868,4 +868,4 @@ class jahresplan extends basis_db
}
}
}
?>
?>
+7 -3
View File
@@ -489,7 +489,7 @@ class konto extends basis_db
AND tbl_benutzer.person_id = tbl_konto.person_id
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
AND tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr";
if($this->db_query($subqry))
{
if ($this->db_num_rows()==0)
@@ -629,7 +629,7 @@ class konto extends basis_db
* student_uid und studiensemester
* gibt true/false zurueck und setzt bei true das buchungsdatum $this->buchungsdatum
*/
public function getLastStSemBuchungstypen($uid, $buchungstyp_kurzbz_array)
public function getLastStSemBuchungstypen($uid, $buchungstyp_kurzbz_array, $studiensemester_kurzbz=null)
{
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum, tbl_konto.buchungsnr_verweis, tbl_konto.studiensemester_kurzbz
FROM
@@ -640,7 +640,11 @@ class konto extends basis_db
WHERE
tbl_benutzer.uid = ".$this->db_add_param($uid)."
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")";
if(!is_null($studiensemester_kurzbz))
$subqry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$subqry.="
ORDER BY tbl_studiensemester.start DESC";
if($result = $this->db_query($subqry))
+4 -1
View File
@@ -950,7 +950,8 @@ class lehrstunde extends basis_db
CASE WHEN gruppe_kurzbz is not null THEN gruppe_kurzbz
ELSE (SELECT UPPER(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=stpl.studiengang_kz) || COALESCE(stpl.semester,'0') || COALESCE(stpl.verband,'') || COALESCE(stpl.gruppe,'')
END) as gruppen, array_agg(mitarbeiter_uid) as lektoren,
array_agg(ort_kurzbz) as orte
array_agg(ort_kurzbz) as orte,
array_agg(titel) as titel
FROM
lehre.tbl_".$db_stpl_table." as stpl
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
@@ -993,6 +994,7 @@ class lehrstunde extends basis_db
$qry.="GROUP BY stpl.datum, stpl.unr, stpl.lehreinheit_id, lehrfach.bezeichnung
ORDER BY stpl.datum, min(stpl.stunde), stpl.unr, stpl.lehreinheit_id";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -1005,6 +1007,7 @@ class lehrstunde extends basis_db
$obj->gruppen = array_unique($this->db_parse_array($row->gruppen));
$obj->lektoren = array_unique($this->db_parse_array($row->lektoren));
$obj->orte = array_unique($this->db_parse_array($row->orte));
$obj->titel = array_filter(array_unique($this->db_parse_array($row->titel)));
$obj->lehrfach_bezeichnung = $row->lehrfach_bezeichnung;
$obj->lehreinheit_id = $row->lehreinheit_id;
+6 -1
View File
@@ -81,6 +81,7 @@ class lehrveranstaltung extends basis_db
public $benotung=false;
public $lvinfo=false;
public $curriculum=true;
/**
* Konstruktor
@@ -1174,7 +1175,8 @@ class lehrveranstaltung extends basis_db
tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht,
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent,
tbl_studienplan_lehrveranstaltung.sort stpllv_sort
tbl_studienplan_lehrveranstaltung.sort stpllv_sort,
tbl_studienplan_lehrveranstaltung.curriculum
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
@@ -1243,6 +1245,7 @@ class lehrveranstaltung extends basis_db
$obj->stpllv_koordinator = $row->stpllv_koordinator;
$obj->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id;
$obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent;
$obj->curriculum = $this->db_parse_bool($row->curriculum);
$obj->new = false;
$this->lehrveranstaltungen[] = $obj;
@@ -1391,6 +1394,7 @@ class lehrveranstaltung extends basis_db
$obj->benotung = $lv->benotung;
$obj->lvinfo = $lv->lvinfo;
$obj->zeugnis = $lv->zeugnis;
$obj->curriculum = $lv->curriculum;
$obj->children = array();
if(count($lv->childs) > 0)
@@ -1419,6 +1423,7 @@ class lehrveranstaltung extends basis_db
$obj->benotung = $this->db_parse_bool($this->benotung);
$obj->lvinfo =$this->db_parse_bool( $this->lvinfo);
$obj->zeugnis = $this->db_parse_bool($this->zeugnis);
$obj->curriculum = $this->db_parse_bool($this->curriculum);
$values[] = $obj;
}
+10 -9
View File
@@ -47,7 +47,7 @@ class person extends basis_db
public $foto; // text
public $anmerkungen; // varchar(256)
public $homepage; // varchar(256)
public $svnr; // char(10)
public $svnr; // varchar(16)
public $ersatzkennzeichen; // char(10)
public $familienstand; // char(1)
public $anzahlkinder; // smalint
@@ -239,9 +239,9 @@ class person extends basis_db
$this->errormsg = 'Homepage darf nicht laenger als 256 Zeichen sein';
return false;
}
if(mb_strlen($this->svnr)>10)
if(mb_strlen($this->svnr)>16)
{
$this->errormsg = 'SVNR darf nicht laenger als 10 Zeichen sein';
$this->errormsg = 'SVNR darf nicht laenger als 16 Zeichen sein';
return false;
}
@@ -251,13 +251,14 @@ class person extends basis_db
return false;
}
if($this->svnr!='')
if(mb_strlen($this->svnr) != 16 && mb_strlen($this->svnr) != 10)
{
$this->errormsg = 'SVNR muss 10 oder 16 Zeichen lang sein';
return false;
}
if($this->svnr!='' && mb_strlen($this->svnr)==10)
{
if(mb_strlen($this->svnr)!=10)
{
$this->errormsg = 'Sozialversicherungsnummer muss 10stellig sein';
return false;
}
//SVNR mit Pruefziffer pruefen
//Die 4. Stelle in der SVNR ist die Pruefziffer
//(Summe von (gewichtung[i]*svnr[i])) modulo 11 ergibt diese Pruefziffer
+2 -1
View File
@@ -159,6 +159,7 @@ function checkZeilenUmbruch()
'name'=>$p->t('lehre/semesterplan'),
'icon'=>'../../../skin/images/button_semplan.png',
'link'=>$link,
'link_target'=>'_blank',
'text'=>$text
);
}
@@ -734,4 +735,4 @@ function isDirectoryEmpty($DOC_ROOT, $kurzbz, $semester, $short_short_name, $typ
}
?>
</tr>
</table>
</table>
+42 -33
View File
@@ -495,11 +495,13 @@ class wochenplan extends basis_db
//global $kalender_begin_ws, $kalender_ende_ws, $kalender_begin_ss, $kalender_ende_ss;
$kal_link_ws=$this->kal_link.'&begin='.$this->studiensemester_now->start.'&ende='.$this->studiensemester_now->ende;
$kal_link_ss=$this->kal_link.'&begin='.$this->studiensemester_next->start.'&ende='.$this->studiensemester_next->ende;
//echo ' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>'.$p->t('global/kalender').':&nbsp;&nbsp;&nbsp;</strong>'.$this->crlf;
echo $this->crlf;
//echo ' '.$p->t('lvplan/uebersicht').':&nbsp;<A href="'.$kal_link_ws.'&format=html" target="_blank" title="HTML">'.$this->studiensemester_now->name.'</A>&nbsp;'.$this->crlf;
echo $this->studiensemester_now->name.'<br>'.$this->crlf;
echo ' <A href="'.$kal_link_ws.'&format=html" target="_blank" title="HTML"><IMG src="../../../skin/images/html.png" height="30" alt="HTML" border="0"></A>'.$this->crlf;
echo ' <A href="'.$kal_link_ws.'&format=excel" title="excel"><IMG src="../../../skin/images/xls.png" height="30" alt="Excel" border="0"></A>'.$this->crlf;
echo ' <A href="'.$kal_link_ws.'&format=csv" title="CSV"><IMG src="../../../skin/images/csv.png" height="30" alt="CSV" border="0"></A>'.$this->crlf;
echo ' <A href="'.$kal_link_ws.'&format=csv&target=outlook" title="CSV-Outlook"><IMG src="../../../skin/images/outlook.png" height="30" alt="CSV-Outlook" border="0"></A>'.$this->crlf;
echo ' <A href="'.$kal_link_ws.'&format=ical&version=1&target=ical" title="iCal Version 1.0"><IMG src="../../../skin/images/ical1.0.png" height="30" alt="vCal Version 1.0" border="0"></A>'.$this->crlf;
@@ -508,6 +510,7 @@ class wochenplan extends basis_db
//echo ' &nbsp;&nbsp;&nbsp;&nbsp;'.$p->t('lvplan/uebersicht').':&nbsp;<A href="'.$kal_link_ss.'&format=html" target="_blank" title="HTML">'.$this->studiensemester_next->name.'</A>&nbsp;'.$this->crlf;
echo ' <span style="color:#999">'.$this->studiensemester_next->name.'</span><br>'.$this->crlf;
echo ' <A href="'.$kal_link_ss.'&format=html" target="_blank" title="HTML"><IMG src="../../../skin/images/html_light.png" height="30" alt="HTML" border="0"></A>'.$this->crlf;
echo ' <A href="'.$kal_link_ss.'&format=excel" title="excel"><IMG src="../../../skin/images/xls_light.png" height="30" alt="Excel" border="0"></A>'.$this->crlf;
echo ' <A href="'.$kal_link_ss.'&format=csv" title="CSV"><IMG src="../../../skin/images/csv_light.png" height="30" alt="CSV" border="0"></A>'.$this->crlf;
echo ' <A href="'.$kal_link_ss.'&format=csv&target=outlook" title="CSV-Outlook"><IMG src="../../../skin/images/outlook_light.png" height="30" alt="CSV-Outlook" border="0"></A>'.$this->crlf;
echo ' <A href="'.$kal_link_ss.'&format=ical&version=1&target=ical" title="iCal Version 1.0"><IMG src="../../../skin/images/ical1.0_light.png" height="30" alt="iCal Version 1.0" border="0"></A>'.$this->crlf;
@@ -2264,6 +2267,7 @@ class wochenplan extends basis_db
{
$blocked=array();
$gruppiert=array();
for ($k=0; $k<$num_rows_stunde; $k++)
{
$row = $this->db_fetch_object($this->stunde, $k);
@@ -2280,14 +2284,20 @@ class wochenplan extends basis_db
unset($lehrverband);
if (isset($lehrfach))
unset($lehrfach);
if (isset($lektor_uids))
unset($lektor_uids);
if (isset($stunden_arr))
unset($stunden_arr);
foreach ($this->std_plan[$i][$j] as $lehrstunde)
{
$unr[]=$lehrstunde->unr;
// Lektoren
$lektor[]=$lehrstunde->lektor;
$lektor_uids[]=$lehrstunde->lektor_uid;
// Lehrverband
$lvb=$lehrstunde->stg.'-'.$lehrstunde->sem;
$stunden_arr[]=$j;
if ($lehrstunde->ver!=null && $lehrstunde->ver!='0' && $lehrstunde->ver!='')
{
$lvb.=$lehrstunde->ver;
@@ -2383,49 +2393,38 @@ class wochenplan extends basis_db
if(!$blockcontinue)
{
// Blockungen ueber mehrere Stunden erkennen
if (isset($this->std_plan[$i][$j+1][$idx]) && isset($this->std_plan[$i][$j+1][$idx]->stundenplan_id)
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+1][$idx]->unr)
&& $this->std_plan[$i][$j][$idx]!='0' && $k<($num_rows_stunde-1)
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+1][$idx]->lektor))
$blockflag=false;
for($blockstunden=1;$blockstunden<=$num_rows_stunde;$blockstunden++)
{
//2er Block
if(isset($blocked[$this->std_plan[$i][$j][$idx]->unr]))
$blocked[$this->std_plan[$i][$j][$idx]->unr]++;
else
$blocked[$this->std_plan[$i][$j][$idx]->unr]=1;
$row = $this->db_fetch_object($this->stunde, ($k+1));
$end_time=$row->ende;
if (isset($this->std_plan[$i][$j+2][$idx]) && isset($this->std_plan[$i][$j+2][$idx]->stundenplan_id)
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+2][$idx]->unr)
&& $k<($num_rows_stunde-2)
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+2][$idx]->lektor))
if (isset($this->std_plan[$i][$j+$blockstunden][$idx]) && isset($this->std_plan[$i][$j+$blockstunden][$idx]->stundenplan_id)
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+$blockstunden][$idx]->unr)
&& $this->std_plan[$i][$j][$idx]!='0' && $k<($num_rows_stunde-$blockstunden)
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+$blockstunden][$idx]->lektor))
{
//3er Block
$blocked[$this->std_plan[$i][$j][$idx]->unr]++;
$row = $this->db_fetch_object($this->stunde, ($k+2));
$end_time=$row->ende;
if (isset($this->std_plan[$i][$j+3][$idx]) && isset($this->std_plan[$i][$j+3][$idx]->stundenplan_id)
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+3][$idx]->unr)
&& $k<($num_rows_stunde-3)
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+3][$idx]->lektor))
{
//4er Block
if(isset($blocked[$this->std_plan[$i][$j][$idx]->unr]))
$blocked[$this->std_plan[$i][$j][$idx]->unr]++;
$row = $this->db_fetch_object($this->stunde, ($k+3));
else
$blocked[$this->std_plan[$i][$j][$idx]->unr]=1;
$row = $this->db_fetch_object($this->stunde, ($k+$blockstunden));
$stunden_arr[]=$row->stunde;
$end_time=$row->ende;
$blockflag=true;
}
else
{
if(!$blockflag)
{
$row = $this->db_fetch_object($this->stunde, $k);
$stunden_arr[]=$row->stunde;
$end_time=$row->ende;
break;
}
}
}
else
{
$row = $this->db_fetch_object($this->stunde, $k);
$end_time=$row->ende;
}
}
//Wenn im selben Raum mehrere Lektoren sind bzw mehrere Gruppen
//dann werden diese zusammengruppiert und als ein Eintrag angezeigt
for($idx1=0;$idx1<count($this->std_plan[$i][$j]);$idx1++)
@@ -2544,9 +2543,19 @@ class wochenplan extends basis_db
$description = str_replace(',',' ',$description);
$return[]=array('UID'=>$UID,
'lehrfach_id'=>(isset($this->std_plan[$i][$j][$idx]->lehrfach_id)?$this->std_plan[$i][$j][$idx]->lehrfach_id:''),
'ort'=>$this->std_plan[$i][$j][$idx]->ort,
'lektor_uid'=>array_unique($lektor_uids),
'gruppen'=>array_unique($lehrverband),
'stunden'=>array_unique($stunden_arr),
'titel'=>$this->std_plan[$i][$j][$idx]->titel,
'unr'=>$unr,
'Summary'=>$Summary,
'Description'=>$description,
'start_date'=>$start_date,
'end_date'=>$end_date,
'start_time'=>$start_time,
'end_time'=>$end_time,
'dtstart'=>$start_date_time_ical,
'dtend'=>$end_date_time_ical,
'reservierung'=>$this->std_plan[$i][$j][$idx]->reservierung,
+14 -1
View File
@@ -133,7 +133,20 @@ class zeitaufzeichnung extends basis_db
//Variablen pruefen
if(!$this->validate())
return false;
$check_qry = 'SELECT count(*) from campus.tbl_zeitaufzeichnung where uid='.$this->db_add_param($this->uid).' and start = '.$this->db_add_param($this->start).' and ende = '.$this->db_add_param($this->ende);
if($this->db_query($check_qry))
{
if($row = $this->db_fetch_object())
{
if ($row->count)
{
$this->errormsg = 'Identischer Eintrag existiert!';
return false;
}
}
}
if($this->new)
{
//Neuen Datensatz einfuegen
+49 -45
View File
@@ -6,12 +6,16 @@ $this->phrasen['global/semester']='Semester';
$this->phrasen['global/studiensemester']='Studiensemester';
$this->phrasen['global/studienzentrum']='Studienzentrum';
$this->phrasen['global/studiengangsleitung']='Studiengangsleitung';
$this->phrasen['global/lehrveranstaltung']='Lehrveranstaltung';
$this->phrasen['global/leitung']='Leitung';
$this->phrasen['global/koordination']='Koordination';
$this->phrasen['global/lehrveranstaltung']='Lehrveranstaltung';
$this->phrasen['global/lehreinheit']='Lehreinheit';
$this->phrasen['global/organisationseinheit']='Organisationseinheit';
$this->phrasen['global/organisationseinheiten']='Organisationseinheiten';
$this->phrasen['global/fhtw']='Fachhochschule Technikum Wien';
$this->phrasen['global/fhTechnikumWien']='FH Technikum Wien';
$this->phrasen['global/organisationsform']='Organisationsform';
$this->phrasen['global/ects']='ECTS';
$this->phrasen['global/semesterstunden']='Semesterstunden';
$this->phrasen['global/studiengangsmanagement']='Studiengangsmanagement';
$this->phrasen['global/geschaeftsfuehrendeltg']='geschäftsf. Leitung';
@@ -35,10 +39,10 @@ $this->phrasen['global/abbrechen']='Abbrechen';
$this->phrasen['global/eintragen']='Eintragen';
$this->phrasen['global/erstellen']='Erstellen';
$this->phrasen['global/zurueck']='Zurück';
$this->phrasen['global/abschicken']='Abschicken';
$this->phrasen['global/zuruecksetzen']='Zurücksetzen';
$this->phrasen['global/datei']='Datei';
$this->phrasen['global/auswaehlen']='Auswählen';
$this->phrasen['global/abschicken']='Abschicken';
$this->phrasen['global/zuruecksetzen']='Zurücksetzen';
$this->phrasen['global/datei']='Datei';
$this->phrasen['global/auswaehlen']='Auswählen';
$this->phrasen['global/umbenennen']='Umbenennen';
$this->phrasen['global/anzeigen']='Anzeigen';
$this->phrasen['global/ausblenden']='Ausblenden';
@@ -77,50 +81,50 @@ $this->phrasen['global/code']='Code';
$this->phrasen['global/adresse']='Adresse';
$this->phrasen['global/hauptwohnsitz']='Hauptwohnsitz';
$this->phrasen['global/nebenwohnsitz']='Nebenwohnsitz';
$this->phrasen['global/emailAdresse']='E-Mail Adresse';
$this->phrasen['global/emailAdresse']='E-Mail Adresse';
$this->phrasen['global/mail']='Mail';
$this->phrasen['global/telefon']='Telefon';
$this->phrasen['global/telefonnummer']='Telefonnummer';
$this->phrasen['global/telefonnummer']='Telefonnummer';
$this->phrasen['global/handy']='Handy';
$this->phrasen['global/fax']='Fax';
$this->phrasen['global/bezeichnung']='Bezeichnung';
$this->phrasen['global/datum']='Datum';
$this->phrasen['global/stunde']='Stunde';
$this->phrasen['global/minute']='Minute';
$this->phrasen['global/person']='Person';
$this->phrasen['global/personen']='Personen';
$this->phrasen['global/personenkz']='Personenkz.';
$this->phrasen['global/beschreibung']='Beschreibung';
$this->phrasen['global/angelegtAm']='angelegt am';
$this->phrasen['global/fax']='Fax';
$this->phrasen['global/bezeichnung']='Bezeichnung';
$this->phrasen['global/datum']='Datum';
$this->phrasen['global/stunde']='Stunde';
$this->phrasen['global/minute']='Minute';
$this->phrasen['global/person']='Person';
$this->phrasen['global/personen']='Personen';
$this->phrasen['global/personenkz']='Personenkz.';
$this->phrasen['global/beschreibung']='Beschreibung';
$this->phrasen['global/angelegtAm']='angelegt am';
$this->phrasen['global/funktion']='Funktion'; //Mitarbeiterfunktion zB Assistenz
$this->phrasen['global/montag']='Montag';
$this->phrasen['global/dienstag']='Dienstag';
$this->phrasen['global/mittwoch']='Mittwoch';
$this->phrasen['global/donnerstag']='Donnerstag';
$this->phrasen['global/freitag']='Freitag';
$this->phrasen['global/samstag']='Samstag';
$this->phrasen['global/sonntag']='Sonntag';
$this->phrasen['global/montag']='Montag';
$this->phrasen['global/dienstag']='Dienstag';
$this->phrasen['global/mittwoch']='Mittwoch';
$this->phrasen['global/donnerstag']='Donnerstag';
$this->phrasen['global/freitag']='Freitag';
$this->phrasen['global/samstag']='Samstag';
$this->phrasen['global/sonntag']='Sonntag';
$this->phrasen['global/matrikelnummer']='Matrikelnummer';
$this->phrasen['global/personenkennzeichen']='Personenkennzeichen';
$this->phrasen['global/von']='Von';
$this->phrasen['global/bis']='Bis';
$this->phrasen['global/zweck']='Zweck';
$this->phrasen['global/aktion']='Aktion';
$this->phrasen['global/nummer']='Nummer';
$this->phrasen['global/gruppe']='Gruppe';
$this->phrasen['global/verband']='Verband';
$this->phrasen['global/kalender']='Kalender';
$this->phrasen['global/beginn']='Beginn';
$this->phrasen['global/zweck']='Zweck';
$this->phrasen['global/aktion']='Aktion';
$this->phrasen['global/nummer']='Nummer';
$this->phrasen['global/gruppe']='Gruppe';
$this->phrasen['global/verband']='Verband';
$this->phrasen['global/kalender']='Kalender';
$this->phrasen['global/beginn']='Beginn';
$this->phrasen['global/ende']='Ende';
$this->phrasen['global/beispiele']='Beispiele';
$this->phrasen['global/neu']='Neu';
$this->phrasen['global/ok']='OK';
$this->phrasen['global/anmelden']='Anmelden';
$this->phrasen['global/angemeldet']='Angemeldet';
$this->phrasen['global/löschen']='Löschen';
$this->phrasen['global/dateiLoeschen']='Datei Löschen';
$this->phrasen['global/anmelden']='Anmelden';
$this->phrasen['global/angemeldet']='Angemeldet';
$this->phrasen['global/löschen']='Löschen';
$this->phrasen['global/dateiLoeschen']='Datei Löschen';
$this->phrasen['global/betreff']='Betreff';
$this->phrasen['global/handbuch']='Handbuch';
$this->phrasen['global/hilfe']='Hilfe';
@@ -128,21 +132,21 @@ $this->phrasen['global/benutzer']='Benutzer';
$this->phrasen['global/anleitung']='Anleitung';
// Statusmeldungen
$this->phrasen['global/erfolgreichgespeichert']='Erfolgreich gespeichert';
$this->phrasen['global/erfolgreichgelöscht']='Erfolgreich gelöscht';
$this->phrasen['global/fehleraufgetreten']='Es ist ein Fehler aufgetreten';
$this->phrasen['global/emailgesendetan']='E-Mail gesendet an';
$this->phrasen['global/erfolgreichgespeichert']='Erfolgreich gespeichert';
$this->phrasen['global/erfolgreichgelöscht']='Erfolgreich gelöscht';
$this->phrasen['global/fehleraufgetreten']='Es ist ein Fehler aufgetreten';
$this->phrasen['global/emailgesendetan']='E-Mail gesendet an';
$this->phrasen['global/keineBerechtigungFuerDieseSeite']='Sie haben keine Berechtigung für diese Seite';
$this->phrasen['global/fehlerBeimOeffnenDerDatenbankverbindung']='Fehler beim Öffnen der Datenbankverbindung';
$this->phrasen['global/fehlerBeimLesenAusDatenbank']='Fehler beim Lesen aus der Datenbank';
$this->phrasen['global/userNichtGefunden']='Es wurde kein User gefunden';
$this->phrasen['global/fehlerBeimOeffnenDerDatenbankverbindung']='Fehler beim Öffnen der Datenbankverbindung';
$this->phrasen['global/fehlerBeimLesenAusDatenbank']='Fehler beim Lesen aus der Datenbank';
$this->phrasen['global/userNichtGefunden']='Es wurde kein User gefunden';
$this->phrasen['global/datumNichtGesetzt']='Datum ist nicht gesetzt';
$this->phrasen['global/studiensemesterKonnteNichtGefundenWerden'] = 'Studiensemester konnte nicht gefunden werden';
$this->phrasen['global/studiengangKonnteNichtGefundenWerden'] = 'Studiengang konnte nicht gefunden werden';
$this->phrasen['global/fehlerBeimErmittelnDerUID'] = 'Fehler beim ermitteln der UID';
$this->phrasen['global/nichtAngemeldet'] = 'Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden';
$this->phrasen['global/LDAPserverNichtErreichbar']='Der LDAP-Server ist nicht erreichbar';
$this->phrasen['global/unbekannterFehleraufgetreten']='Es ist ein unbekannter Fehler aufgetreten';
$this->phrasen['global/unbekannterFehleraufgetreten']='Es ist ein unbekannter Fehler aufgetreten';
$this->phrasen['global/fehlerBeiDerParameteruebergabe']='Fehler bei der Uebergabe der Parameter';
$this->phrasen['global/warnungWirklichLoeschen']='Wollen Sie diesen Datensatz wirklich löschen?';
$this->phrasen['global/dateiErfolgreichHochgeladen']='Die Datei wurde erfolgreich hochgeladen';
+1 -1
View File
@@ -2,7 +2,7 @@
$this->phrasen['lehre/keineLektorenZugeordnet']='Derzeit sind keine Lektoren für dieses Fach zugeteilt';
$this->phrasen['lehre/lehrveranstaltungsinformation']='Lehrveranstaltungsinformation';
$this->phrasen['lehre/Lehrbeauftrager']='Lehrbeauftrage(r)';
$this->phrasen['lehre/lehrbeauftragter']='Lehrbeauftragte(r)';
$this->phrasen['lehre/lvInfoBearbeiten']='Bearbeiten';
$this->phrasen['lehre/semesterplan']='Semesterplan';
+1 -1
View File
@@ -3,7 +3,7 @@
//Dokumente
$this->phrasen['tools/dokumente']='Dokumente';
$this->phrasen['tools/inskriptionsbestaetigung']='Inskriptionsbestätigung';
$this->phrasen['tools/studienbeitragFuerSSBezahltAmDatum']='Studienbeitrag für das %1$s bezahlt am %2$s';
$this->phrasen['tools/studienbeitragFuerSSBezahlt']='Studienbeitrag für das %1$s bezahlt';
$this->phrasen['tools/studienbeitragFuerSSNochNichtBezahlt']='Studienbeitrag für das %1$s noch nicht bezahlt';
$this->phrasen['tools/studienerfolgsbestaetigung']='Studienerfolgsbestätigung';
$this->phrasen['tools/studiensemesterAuswaehlen']='Bitte wählen Sie das entsprechende Studiensemester aus';
+42 -44
View File
@@ -10,8 +10,6 @@ $this->phrasen['global/lehrveranstaltung']='Subject';
$this->phrasen['global/lehreinheit']='Teaching unit';
$this->phrasen['global/organisationseinheit']='Organisation Unit';
$this->phrasen['global/organisationseinheiten']='Organisation Units';
$this->phrasen['global/fhtw']='University of Applied Sciences Technikum Wien';
$this->phrasen['global/fhTechnikumWien']='UAS Technikum Wien';
$this->phrasen['global/studiengangsmanagement']='Study Management';
$this->phrasen['global/geschaeftsfuehrendeltg']='business Leadership';
@@ -36,9 +34,9 @@ $this->phrasen['global/eintragen']='Register';
$this->phrasen['global/erstellen']='Create';
$this->phrasen['global/zurueck']='Back';
$this->phrasen['global/abschicken']='Submit';
$this->phrasen['global/zuruecksetzen']='Reset';
$this->phrasen['global/datei']='File';
$this->phrasen['global/auswaehlen']='Select';
$this->phrasen['global/zuruecksetzen']='Reset';
$this->phrasen['global/datei']='File';
$this->phrasen['global/auswaehlen']='Select';
$this->phrasen['global/umbenennen']='Rename';
$this->phrasen['global/anzeigen']='Show';
$this->phrasen['global/ausblenden']='Hide';
@@ -77,50 +75,50 @@ $this->phrasen['global/code']='Code';
$this->phrasen['global/adresse']='Address';
$this->phrasen['global/hauptwohnsitz']='Principal residence';
$this->phrasen['global/nebenwohnsitz']='Secondary residence';
$this->phrasen['global/emailAdresse']='E-Mail Adress';
$this->phrasen['global/emailAdresse']='E-Mail Adress';
$this->phrasen['global/mail']='Mail';
$this->phrasen['global/telefon']='Telephone';
$this->phrasen['global/telefonnummer']='Telephone number';
$this->phrasen['global/handy']='Mobile phone';
$this->phrasen['global/fax']='Fax';
$this->phrasen['global/bezeichnung']='Description';
$this->phrasen['global/datum']='Date';
$this->phrasen['global/stunde']='Hour';
$this->phrasen['global/minute']='Minute';
$this->phrasen['global/person']='Person';
$this->phrasen['global/personenkz']='StudentID';
$this->phrasen['global/personen']='Number of Persons';
$this->phrasen['global/beschreibung']='Description';
$this->phrasen['global/angelegtAm']='created:';
$this->phrasen['global/handy']='Mobile phone';
$this->phrasen['global/fax']='Fax';
$this->phrasen['global/bezeichnung']='Description';
$this->phrasen['global/datum']='Date';
$this->phrasen['global/stunde']='Hour';
$this->phrasen['global/minute']='Minute';
$this->phrasen['global/person']='Person';
$this->phrasen['global/personenkz']='StudentID';
$this->phrasen['global/personen']='Number of Persons';
$this->phrasen['global/beschreibung']='Description';
$this->phrasen['global/angelegtAm']='created:';
$this->phrasen['global/funktion']='Role'; //Mitarbeiterfunktion zB Assistenz
$this->phrasen['global/montag']='Monday';
$this->phrasen['global/dienstag']='Tuesday';
$this->phrasen['global/mittwoch']='Wednesday';
$this->phrasen['global/donnerstag']='Thursday';
$this->phrasen['global/freitag']='Friday';
$this->phrasen['global/samstag']='Saturday';
$this->phrasen['global/montag']='Monday';
$this->phrasen['global/dienstag']='Tuesday';
$this->phrasen['global/mittwoch']='Wednesday';
$this->phrasen['global/donnerstag']='Thursday';
$this->phrasen['global/freitag']='Friday';
$this->phrasen['global/samstag']='Saturday';
$this->phrasen['global/sonntag']='Sunday';
$this->phrasen['global/matrikelnummer']='Matriculation number';
$this->phrasen['global/personenkennzeichen']='Personal identifier';
$this->phrasen['global/von']='From';
$this->phrasen['global/bis']='To';
$this->phrasen['global/zweck']='Purpose';
$this->phrasen['global/aktion']='Action';
$this->phrasen['global/nummer']='Number';
$this->phrasen['global/gruppe']='Group';
$this->phrasen['global/verband']='Division';
$this->phrasen['global/kalender']='Calendar';
$this->phrasen['global/beginn']='Start';
$this->phrasen['global/zweck']='Purpose';
$this->phrasen['global/aktion']='Action';
$this->phrasen['global/nummer']='Number';
$this->phrasen['global/gruppe']='Group';
$this->phrasen['global/verband']='Division';
$this->phrasen['global/kalender']='Calendar';
$this->phrasen['global/beginn']='Start';
$this->phrasen['global/ende']='End';
$this->phrasen['global/beispiele']='Examples';
$this->phrasen['global/neu']='New';
$this->phrasen['global/ok']='OK';
$this->phrasen['global/anmelden']='Register';
$this->phrasen['global/angemeldet']='Registered';
$this->phrasen['global/löschen']='Delete';
$this->phrasen['global/dateiLoeschen']='Delete File';
$this->phrasen['global/anmelden']='Register';
$this->phrasen['global/angemeldet']='Registered';
$this->phrasen['global/löschen']='Delete';
$this->phrasen['global/dateiLoeschen']='Delete File';
$this->phrasen['global/betreff']='Subject';
$this->phrasen['global/handbuch']='Manual';
$this->phrasen['global/hilfe']='Help';
@@ -128,21 +126,21 @@ $this->phrasen['global/benutzer']='User';
$this->phrasen['global/anleitung']='Manual';
// Statusmeldungen
$this->phrasen['global/erfolgreichgespeichert']='Successfully saved';
$this->phrasen['global/erfolgreichgelöscht']='Successfully deleted';
$this->phrasen['global/fehleraufgetreten']='Error occurred';
$this->phrasen['global/emailgesendetan']='E-Mail sent to';
$this->phrasen['global/keineBerechtigungFuerDieseSeite']='You dont have the authority to view this site';
$this->phrasen['global/fehlerBeimOeffnenDerDatenbankverbindung']='Cant open Database connection';
$this->phrasen['global/fehlerBeimLesenAusDatenbank']='Error reading from database';
$this->phrasen['global/userNichtGefunden']='No user found';
$this->phrasen['global/erfolgreichgespeichert']='Successfully saved';
$this->phrasen['global/erfolgreichgelöscht']='Successfully deleted';
$this->phrasen['global/fehleraufgetreten']='Error occurred';
$this->phrasen['global/emailgesendetan']='E-Mail sent to';
$this->phrasen['global/keineBerechtigungFuerDieseSeite']='You dont have the authority to view this site';
$this->phrasen['global/fehlerBeimOeffnenDerDatenbankverbindung']='Cant open Database connection';
$this->phrasen['global/fehlerBeimLesenAusDatenbank']='Error reading from database';
$this->phrasen['global/userNichtGefunden']='No user found';
$this->phrasen['global/datumNichtGesetzt']='Date is missing';
$this->phrasen['global/studiensemesterKonnteNichtGefundenWerden'] = 'No semester found';
$this->phrasen['global/studiengangKonnteNichtGefundenWerden'] = 'Program not found';
$this->phrasen['global/fehlerBeimErmittelnDerUID'] = 'Error finding the UID';
$this->phrasen['global/nichtAngemeldet'] = 'You are not logged in. No UID found';
$this->phrasen['global/LDAPserverNichtErreichbar']='Error connecting to LDAP-Server';
$this->phrasen['global/unbekannterFehleraufgetreten']='Unknown error occurred';
$this->phrasen['global/LDAPserverNichtErreichbar']='Error connecting to LDAP-Server';
$this->phrasen['global/unbekannterFehleraufgetreten']='Unknown error occurred';
$this->phrasen['global/fehlerBeiDerParameteruebergabe']='Error in the parameter transfer';
$this->phrasen['global/warnungWirklichLoeschen']='Do you want to delete this record?';
$this->phrasen['global/dateiErfolgreichHochgeladen']='File successfully uploaded';
+1 -1
View File
@@ -3,7 +3,7 @@
//Dokumente
$this->phrasen['tools/dokumente']='Documents';
$this->phrasen['tools/inskriptionsbestaetigung']='Enrollment Confirmation';
$this->phrasen['tools/studienbeitragFuerSSBezahltAmDatum']='tuition fee for semester %1$s paid at %2$s';
$this->phrasen['tools/studienbeitragFuerSSBezahlt']='tuition fee for semester %1$s paid';
$this->phrasen['tools/studienbeitragFuerSSNochNichtBezahlt']='tuition fee for semester %1$s not yet paid';
$this->phrasen['tools/studienerfolgsbestaetigung']='Student progress report';
$this->phrasen['tools/studiensemesterAuswaehlen']='Please select the corresponding semester';
Regular → Executable
+54 -52
View File
@@ -54,13 +54,13 @@ $datum_obj = new datum();
$db = new basis_db();
$abschlussbeurteilung_arr = array();
$abschlussbeurteilung_arrEnglish = array();
$abschlussbeurteilung_arrEnglish = array();
$qry = "SELECT * FROM lehre.tbl_abschlussbeurteilung";
if($db->db_query($qry))
while($row = $db->db_fetch_object())
{
$abschlussbeurteilung_arr[$row->abschlussbeurteilung_kurzbz]=$row->bezeichnung;
$abschlussbeurteilung_arrEng[$row->abschlussbeurteilung_kurzbz]=$row->bezeichnung_english;
$abschlussbeurteilung_arrEng[$row->abschlussbeurteilung_kurzbz]=$row->bezeichnung_english;
}
$note_arr = array();
@@ -68,7 +68,7 @@ $qry = "SELECT * FROM lehre.tbl_note";
if($db->db_query($qry))
while($row = $db->db_fetch_object())
$note_arr[$row->note]=$row->anmerkung;
function draw_content_xml($row)
{
global $rdf_url, $datum_obj, $abschlussbeurteilung_arr, $abschlussbeurteilung_arrEng, $note_arr;
@@ -91,7 +91,7 @@ if($db->db_query($qry))
$studiengang = new studiengang($student->studiengang_kz);
$akadgrad = new akadgrad($row->akadgrad_id);
if($mitarbeiter->load($row->vorsitz))
{
$vorsitz = trim($mitarbeiter->titelpre.' '.$mitarbeiter->vorname.' '.$mitarbeiter->nachname.' '.$mitarbeiter->titelpost);
@@ -103,7 +103,7 @@ if($db->db_query($qry))
$pruefer2 = trim($person->titelpre.' '.$person->vorname.' '.$person->nachname.' '.$person->titelpost);
if($person->load($row->pruefer3))
$pruefer3 = trim($person->titelpre.' '.$person->vorname.' '.$person->nachname.' '.$person->titelpost);
$qry = "SELECT * FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='rek'";
$rektor = '';
$db = new basis_db();
@@ -111,8 +111,8 @@ if($db->db_query($qry))
if($db->db_query($qry))
if($row_rek = $db->db_fetch_object())
$rektor = $row_rek->titelpre.' '.$row_rek->vorname.' '.$row_rek->nachname.' '.$row_rek->titelpost;
$qry = "SELECT * FROM (SELECT titel as themenbereich, ende, projektarbeit_id, note, beginn FROM lehre.tbl_projektarbeit a
WHERE student_uid='$student->uid' AND (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom' OR projekttyp_kurzbz='Master' OR projekttyp_kurzbz='Dissertation' OR projekttyp_kurzbz='Lizenziat' OR projekttyp_kurzbz='Magister')
$qry = "SELECT * FROM (SELECT titel as themenbereich, ende, projektarbeit_id, note, beginn FROM lehre.tbl_projektarbeit a
WHERE student_uid='$student->uid' AND (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom' OR projekttyp_kurzbz='Master' OR projekttyp_kurzbz='Dissertation' OR projekttyp_kurzbz='Lizenziat' OR projekttyp_kurzbz='Magister')
ORDER BY beginn DESC, projektarbeit_id ASC LIMIT 2) as a ORDER BY beginn asc";
$themenbereich='';
$datum_projekt='';
@@ -122,9 +122,9 @@ if($db->db_query($qry))
$note = '';
$note2='';
$datum_projekt2='';
if($result_proj = $db->db_query($qry))
{
{
if($row_proj = $db->db_fetch_object($result_proj))
{
$qry_bet = "SELECT titelpre, vorname, nachname, titelpost FROM lehre.tbl_projektbetreuer JOIN public.tbl_person USING(person_id) WHERE projektarbeit_id='$row_proj->projektarbeit_id' AND (betreuerart_kurzbz in('Erstbegutachter', 'Erstbetreuer', 'Betreuer', 'Begutacher')) LIMIT 1";
@@ -140,7 +140,7 @@ if($db->db_query($qry))
$lehrveranstaltung = new lehrveranstaltung($lehreinheit->lehrveranstaltung_id);
$projektnote = new note($note);
}
if($row_proj = $db->db_fetch_object($result_proj))
{
$qry_bet = "SELECT titelpre, vorname, nachname, titelpost FROM lehre.tbl_projektbetreuer JOIN public.tbl_person USING(person_id) WHERE projektarbeit_id='$row_proj->projektarbeit_id' AND (betreuerart_kurzbz in('Erstbegutachter', 'Erstbetreuer', 'Betreuer', 'Begutacher')) LIMIT 1";
@@ -153,24 +153,24 @@ if($db->db_query($qry))
$datum_projekt2 = $datum_obj->convertISODate($row_proj->ende);
}
}
switch($student->anrede)
{
case 'Herr': $anrede_engl = 'Mr'; break;
case 'Frau': $anrede_engl = 'Ms'; break;
default: $anrede_engl = ''; break;
}
if($student->anrede == 'Herr')
$anrede = 'Herrn';
else
else
$anrede = $student->anrede;
if($row->sponsion=='')
$row->sponsion=$row->datum;
if($studiengang->typ=='m')
{
$stg_art='Master-Studiengang';
@@ -186,11 +186,11 @@ if($db->db_query($qry))
$stg_art='Diplom-Studiengang';
$stg_art_engl='diploma';
}
$oe = new organisationseinheit();
$parents = $oe->getParents($studiengang->oe_kurzbz);
$oe_parent = "";
foreach ($parents as $parent)
{
$oe_temp = new organisationseinheit();
@@ -201,21 +201,21 @@ if($db->db_query($qry))
break;
}
}
$studiengang_bezeichnung2 = explode(" ", $studiengang->bezeichnung, 2);
$name = trim($student->titelpre.' '.trim($student->vorname.' '.$student->vornamen).' '.$student->nachname.($student->titelpost!=''?', '.$student->titelpost:''));
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($student->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($student->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($student->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($student->studiengang_kz));
echo "\t<pruefung>".'
<abschlusspruefung_id><![CDATA['.$row->abschlusspruefung_id.']]></abschlusspruefung_id>
<student_uid><![CDATA['.$row->student_uid.']]></student_uid>
@@ -233,6 +233,7 @@ if($db->db_query($qry))
<akadgrad_id><![CDATA['.$row->akadgrad_id.']]></akadgrad_id>
<datum><![CDATA['.$datum_obj->convertISODate($row->datum).']]></datum>
<datum_iso><![CDATA['.$row->datum.']]></datum_iso>
<uhrzeit><![CDATA['.$row->uhrzeit.']]></uhrzeit>
<sponsion><![CDATA['.$datum_obj->convertISODate($row->sponsion).']]></sponsion>
<sponsion_iso><![CDATA['.$row->sponsion.']]></sponsion_iso>
<pruefungstyp_kurzbz><![CDATA['.$row->pruefungstyp_kurzbz.']]></pruefungstyp_kurzbz>
@@ -285,7 +286,7 @@ if($db->db_query($qry))
<datum_projekt><![CDATA['.$datum_projekt.']]></datum_projekt>
<datum_projekt2><![CDATA['.$datum_projekt.']]></datum_projekt2>
<ort_datum><![CDATA['.date('d.m.Y').']]></ort_datum>';
echo "\n\t</pruefung>";
}
@@ -318,31 +319,32 @@ if ($xmlformat=='rdf')
$pruefer3 = $person->nachname;
echo '
<RDF:li>
<RDF:Description id="'.$row->abschlusspruefung_id.'" about="'.$rdf_url.'/'.$row->abschlusspruefung_id.'" >
<ABSCHLUSSPRUEFUNG:abschlusspruefung_id><![CDATA['.$row->abschlusspruefung_id.']]></ABSCHLUSSPRUEFUNG:abschlusspruefung_id>
<ABSCHLUSSPRUEFUNG:student_uid><![CDATA['.$row->student_uid.']]></ABSCHLUSSPRUEFUNG:student_uid>
<ABSCHLUSSPRUEFUNG:vorsitz><![CDATA['.$row->vorsitz.']]></ABSCHLUSSPRUEFUNG:vorsitz>
<ABSCHLUSSPRUEFUNG:vorsitz_nachname><![CDATA['.$vorsitz.']]></ABSCHLUSSPRUEFUNG:vorsitz_nachname>
<ABSCHLUSSPRUEFUNG:pruefer1><![CDATA['.$row->pruefer1.']]></ABSCHLUSSPRUEFUNG:pruefer1>
<ABSCHLUSSPRUEFUNG:pruefer1_nachname><![CDATA['.$pruefer1.']]></ABSCHLUSSPRUEFUNG:pruefer1_nachname>
<ABSCHLUSSPRUEFUNG:pruefer2><![CDATA['.$row->pruefer2.']]></ABSCHLUSSPRUEFUNG:pruefer2>
<ABSCHLUSSPRUEFUNG:pruefer2_nachname><![CDATA['.$pruefer2.']]></ABSCHLUSSPRUEFUNG:pruefer2_nachname>
<ABSCHLUSSPRUEFUNG:pruefer3><![CDATA['.$row->pruefer3.']]></ABSCHLUSSPRUEFUNG:pruefer3>
<ABSCHLUSSPRUEFUNG:pruefer3_nachname><![CDATA['.$pruefer3.']]></ABSCHLUSSPRUEFUNG:pruefer3_nachname>
<ABSCHLUSSPRUEFUNG:abschlussbeurteilung_kurzbz><![CDATA['.$row->abschlussbeurteilung_kurzbz.']]></ABSCHLUSSPRUEFUNG:abschlussbeurteilung_kurzbz>
<ABSCHLUSSPRUEFUNG:notekommpruef><![CDATA['.$row->note.']]></ABSCHLUSSPRUEFUNG:notekommpruef>
<ABSCHLUSSPRUEFUNG:akadgrad_id><![CDATA['.$row->akadgrad_id.']]></ABSCHLUSSPRUEFUNG:akadgrad_id>
<ABSCHLUSSPRUEFUNG:datum><![CDATA['.$datum_obj->convertISODate($row->datum).']]></ABSCHLUSSPRUEFUNG:datum>
<ABSCHLUSSPRUEFUNG:datum_iso><![CDATA['.$row->datum.']]></ABSCHLUSSPRUEFUNG:datum_iso>
<ABSCHLUSSPRUEFUNG:sponsion><![CDATA['.$datum_obj->convertISODate($row->sponsion).']]></ABSCHLUSSPRUEFUNG:sponsion>
<ABSCHLUSSPRUEFUNG:sponsion_iso><![CDATA['.$row->sponsion.']]></ABSCHLUSSPRUEFUNG:sponsion_iso>
<ABSCHLUSSPRUEFUNG:pruefungstyp_kurzbz><![CDATA['.$row->pruefungstyp_kurzbz.']]></ABSCHLUSSPRUEFUNG:pruefungstyp_kurzbz>
<ABSCHLUSSPRUEFUNG:beschreibung><![CDATA['.$row->beschreibung.']]></ABSCHLUSSPRUEFUNG:beschreibung>
<ABSCHLUSSPRUEFUNG:anmerkung><![CDATA['.$row->anmerkung.']]></ABSCHLUSSPRUEFUNG:anmerkung>
</RDF:Description>
</RDF:li>
';
<RDF:li>
<RDF:Description id="'.$row->abschlusspruefung_id.'" about="'.$rdf_url.'/'.$row->abschlusspruefung_id.'" >
<ABSCHLUSSPRUEFUNG:abschlusspruefung_id><![CDATA['.$row->abschlusspruefung_id.']]></ABSCHLUSSPRUEFUNG:abschlusspruefung_id>
<ABSCHLUSSPRUEFUNG:student_uid><![CDATA['.$row->student_uid.']]></ABSCHLUSSPRUEFUNG:student_uid>
<ABSCHLUSSPRUEFUNG:vorsitz><![CDATA['.$row->vorsitz.']]></ABSCHLUSSPRUEFUNG:vorsitz>
<ABSCHLUSSPRUEFUNG:vorsitz_nachname><![CDATA['.$vorsitz.']]></ABSCHLUSSPRUEFUNG:vorsitz_nachname>
<ABSCHLUSSPRUEFUNG:pruefer1><![CDATA['.$row->pruefer1.']]></ABSCHLUSSPRUEFUNG:pruefer1>
<ABSCHLUSSPRUEFUNG:pruefer1_nachname><![CDATA['.$pruefer1.']]></ABSCHLUSSPRUEFUNG:pruefer1_nachname>
<ABSCHLUSSPRUEFUNG:pruefer2><![CDATA['.$row->pruefer2.']]></ABSCHLUSSPRUEFUNG:pruefer2>
<ABSCHLUSSPRUEFUNG:pruefer2_nachname><![CDATA['.$pruefer2.']]></ABSCHLUSSPRUEFUNG:pruefer2_nachname>
<ABSCHLUSSPRUEFUNG:pruefer3><![CDATA['.$row->pruefer3.']]></ABSCHLUSSPRUEFUNG:pruefer3>
<ABSCHLUSSPRUEFUNG:pruefer3_nachname><![CDATA['.$pruefer3.']]></ABSCHLUSSPRUEFUNG:pruefer3_nachname>
<ABSCHLUSSPRUEFUNG:abschlussbeurteilung_kurzbz><![CDATA['.$row->abschlussbeurteilung_kurzbz.']]></ABSCHLUSSPRUEFUNG:abschlussbeurteilung_kurzbz>
<ABSCHLUSSPRUEFUNG:notekommpruef><![CDATA['.$row->note.']]></ABSCHLUSSPRUEFUNG:notekommpruef>
<ABSCHLUSSPRUEFUNG:akadgrad_id><![CDATA['.$row->akadgrad_id.']]></ABSCHLUSSPRUEFUNG:akadgrad_id>
<ABSCHLUSSPRUEFUNG:datum><![CDATA['.$datum_obj->convertISODate($row->datum).']]></ABSCHLUSSPRUEFUNG:datum>
<ABSCHLUSSPRUEFUNG:datum_iso><![CDATA['.$row->datum.']]></ABSCHLUSSPRUEFUNG:datum_iso>
<ABSCHLUSSPRUEFUNG:uhrzeit><![CDATA['.$row->uhrzeit.']]></ABSCHLUSSPRUEFUNG:uhrzeit>
<ABSCHLUSSPRUEFUNG:sponsion><![CDATA['.$datum_obj->convertISODate($row->sponsion).']]></ABSCHLUSSPRUEFUNG:sponsion>
<ABSCHLUSSPRUEFUNG:sponsion_iso><![CDATA['.$row->sponsion.']]></ABSCHLUSSPRUEFUNG:sponsion_iso>
<ABSCHLUSSPRUEFUNG:pruefungstyp_kurzbz><![CDATA['.$row->pruefungstyp_kurzbz.']]></ABSCHLUSSPRUEFUNG:pruefungstyp_kurzbz>
<ABSCHLUSSPRUEFUNG:beschreibung><![CDATA['.$row->beschreibung.']]></ABSCHLUSSPRUEFUNG:beschreibung>
<ABSCHLUSSPRUEFUNG:anmerkung><![CDATA['.$row->anmerkung.']]></ABSCHLUSSPRUEFUNG:anmerkung>
</RDF:Description>
</RDF:li>
';
}
echo '
<RDF:RDF
@@ -370,7 +372,7 @@ if ($xmlformat=='rdf')
else
die('Student_uid oder Abschlusspruefung_id muss uebergeben werden');
echo ' </RDF:Seq>';
echo '</RDF:RDF>';
} //endof xmlformat==rdf
@@ -384,7 +386,7 @@ elseif ($xmlformat=='xml')
{
$uids = explode(';',$_GET['uid']);
foreach ($uids as $uid)
foreach ($uids as $uid)
{
if($uid!='')
{
@@ -416,4 +418,4 @@ elseif ($xmlformat=='xml')
echo "\n</abschlusspruefung>";
} //endof xmlformat==xml
?>
?>
+15 -6
View File
@@ -31,6 +31,7 @@ require_once('../include/pruefung.class.php');
require_once('../include/datum.class.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/variable.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
@@ -41,14 +42,14 @@ if(!$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('admin'))
if(isset($_GET['student_uid']))
$student_uid = $_GET['student_uid'];
else
else
$student_uid = '';
if(isset($_GET['pruefung_id']))
$pruefung_id = $_GET['pruefung_id'];
else
else
$pruefung_id = '';
$datum_obj = new datum();
$pruefung = new pruefung();
@@ -61,7 +62,7 @@ echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:PRUEFUNG="'.$rdf_url.'/rdf#"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:NC="http://home.netscape.com/NC-rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
@@ -74,7 +75,15 @@ if($pruefung_id!='')
}
else
{
$pruefung->getPruefungen($student_uid);
if(isset($_REQUEST['all_stsem']))
$stsem = null;
else
{
$variable = new variable();
$variable->loadVariables($uid);
$stsem = $variable->variable->semester_aktuell;
}
$pruefung->getPruefungen($student_uid, null, null, $stsem);
foreach ($pruefung->result as $row)
draw_rdf($row);
}
@@ -82,7 +91,7 @@ else
function draw_rdf($row)
{
global $rdf_url, $datum_obj;
echo '
<RDF:li>
<RDF:Description id="'.$row->pruefung_id.'" about="'.$rdf_url.'/'.$row->pruefung_id.'" >
+6 -2
View File
@@ -19,6 +19,7 @@
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/globals.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/basis_db.class.php');
require_once('../include/betriebsmittel.class.php');
@@ -104,7 +105,8 @@ elseif(isset($_REQUEST['von']) && isset($_REQUEST['bis']) && $_REQUEST['xmlforma
max(tbl_stundenplan.stunde) as bis,
array_agg(tbl_betriebsmittel.beschreibung) as beschreibung,
array_agg(tbl_stundenplan_betriebsmittel.anmerkung) as anmerkung,
array_agg(tbl_stundenplan.mitarbeiter_uid) as mitarbeiter_uid
array_agg(tbl_stundenplan.mitarbeiter_uid) as mitarbeiter_uid,
array_agg(tbl_stundenplan.titel) as titel
FROM
lehre.tbl_stundenplan_betriebsmittel
JOIN lehre.tbl_stundenplan ON(stundenplandev_id=stundenplan_id)
@@ -143,6 +145,7 @@ elseif(isset($_REQUEST['von']) && isset($_REQUEST['bis']) && $_REQUEST['xmlforma
echo '</tage>';
echo '<tage>';
echo '<datum><![CDATA['.$datum_obj->formatDatum($row->datum,'d.m.Y').']]></datum>';
echo '<wochentag><![CDATA['.$tagbez[1][$datum_obj->formatDatum($row->datum,'w')].']]></wochentag>';
$lastdatum = $row->datum;
}
@@ -177,7 +180,8 @@ elseif(isset($_REQUEST['von']) && isset($_REQUEST['bis']) && $_REQUEST['xmlforma
echo '<anmerkung><![CDATA['.$anmerkung.']]></anmerkung>';
}
echo '</anmerkungen>';
$titel = array_filter(array_unique($db->db_parse_array($row->titel)));
echo '<titel><![CDATA['.implode($titel,',').']]></titel>';
echo '<lvbezeichnung><![CDATA['.$row->lvbezeichnung.']]></lvbezeichnung>';
echo '<studiengang_kurzbzlang><![CDATA['.$row->stg.']]></studiengang_kurzbzlang>';
echo '</item>';
+3 -2
View File
@@ -99,6 +99,7 @@ if(isset($lehrstunde->result) && is_array($lehrstunde->result))
$oRdf->obj[$i]->setAttribut('ort',implode(',',$row->orte),true);
$oRdf->obj[$i]->setAttribut('lehrfach',$row->lehrfach_bezeichnung,true);
$oRdf->obj[$i]->setAttribut('lehreinheit_id',$row->lehreinheit_id,true);
$oRdf->obj[$i]->setAttribut('titel',implode(',',$row->titel),true);
$anwesenheit = new anwesenheit();
if($anwesenheit->AnwesenheitExists($row->lehreinheit_id, $row->datum, $student_uid))
@@ -107,7 +108,7 @@ if(isset($lehrstunde->result) && is_array($lehrstunde->result))
$anwesend='Nein';
$oRdf->obj[$i]->setAttribut('anwesend',$anwesend,true);
$oRdf->obj[$i]->setAttribut('datum_iso',$row->datum,true);
// Terminkollisionen prüfen
$kollision = "";
if($lehrveranstaltung_id == '')
@@ -115,7 +116,7 @@ if(isset($lehrstunde->result) && is_array($lehrstunde->result))
for($x = $row->stundevon; $x <= $row->stundebis; $x++)
{
$orte = implode(',',$row->orte);
if(isset($verplanteStunden[$row->datum]) && in_array($x, $verplanteStunden[$row->datum]))
{
if(!isset($verplanteStunden[$row->datum][$orte]) || !in_array($x, $verplanteStunden[$row->datum][$orte]))
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

+79 -78
View File
@@ -2,7 +2,7 @@
/* Allgemein */
body
{
background-color: white;
background-color: white;
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
width: 100%;
@@ -34,7 +34,7 @@ iframe
margin:0px;
padding:0px;
height: 100%;
/* border-width:1px;
border-style:solid; */
}
@@ -89,7 +89,7 @@ li.ui-menu-item
z-index: 10;
padding: 0px;
margin: 0px;
}
}
html>body #menue
{
position:absolute;
@@ -106,7 +106,7 @@ html>body #menue
margin: 0px;
}
#content /* Hack für IE8 */
{
{
*width: 75\%;
*left: 21\%;
}
@@ -116,7 +116,7 @@ html>body #content
}
/* Druckausgabe */
@media print
@media print
{
#menue
{
@@ -129,23 +129,23 @@ html>body #content
left:1%;
}
}
input.TextBox
input.TextBox
{
background-color: White;
}
/*
==== Formularfelder und Buttons ====
/*
==== Formularfelder und Buttons ====
*/
/* Such-Feld CIS-Suche */
input.search input.text
input.search input.text
{
background-color: #E9ECEE;
border-width: 1px;
border-style:solid;
border-color: #A5AFB6;
}
#globalsearch
#globalsearch
{
background-color: #E9ECEE;
border-width: 1px;
@@ -160,8 +160,8 @@ input.cis_login
color: #666666;
border: 1px solid #A5AFB6;
background-color: #E9ECEE;
width: 150px;
height: 35px;
width: 150px;
height: 35px;
font-size: 20px;
}
#GlobalMenu
@@ -172,6 +172,7 @@ input.cis_login
.home_logo
{
background-image:url(styles/tw/TWLogo_klein.jpg);
background-repeat: no-repeat;
width:170px;
height:53px;
}
@@ -191,8 +192,8 @@ div.tip
vertical-align:middle;
}
/*
==== Links ====
/*
==== Links ====
*/
a /*allgmeiner Link, Hauptmenuelinks*/
{
@@ -202,7 +203,7 @@ a /*allgmeiner Link, Hauptmenuelinks*/
}
a:hover /*link ohne Item-Definition*/
{
color: #0086CC; /*tw-blau*/
color: #0086CC; /*tw-blau*/
text-decoration: underline;
}
a.ItemTesttool
@@ -225,7 +226,7 @@ a.ItemTesttoolBeendet
line-height: 25px;
display:block;
padding: 0 10px 0 10px;
cursor: default;
cursor: default;
text-decoration: none;
}
a:hover.ItemTesttool
@@ -251,7 +252,7 @@ a[onClick]:hover.Item /* ? */
}
a:hover.Item /*allgemeine Links, Hauptmenuelink*/
{
color: #0086CC; /*tw-blau*/
color: #0086CC; /*tw-blau*/
text-decoration: underline;
}
a.Item2 /* zB in den Lehrveranstaltungen (Buttons) verwendet bei den Lektoren */
@@ -269,26 +270,26 @@ a.MenuItem /* Hauptmenuelink zum aufklappen */
}
a:hover.MenuItem /* Hauptmenuelink zum aufklappen */
{
color: #0086CC; /*tw-blau*/
color: #0086CC; /*tw-blau*/
text-decoration: none;
font-weight: bold;
}
a:focus.MenuItem /* Hauptmenuelink zum aufklappen */
{
color: #0086CC; /*tw-blau*/
color: #0086CC; /*tw-blau*/
text-decoration: none;
font-weight: bold;
}
A.stpl_detail
{
font-size:x-small;
A.stpl_detail
{
font-size:x-small;
color:#000000;
text-decoration:none;
}
A.stpl_detail:hover
{
{
font-size:x-small;
color:#000000;
color:#000000;
text-decoration:underline;
/*cursor:hand;*/
}
@@ -302,7 +303,7 @@ a.head:hover
}
/*
/*
==== Tables ====
*/
TABLE
@@ -313,26 +314,26 @@ TABLE.header
{
width:100%;
height:100%;
/* background-image:url(../skin/images/header.png); */
/* background-repeat:no-repeat; */
/* background-image:url(../skin/images/header.png); */
/* background-repeat:no-repeat; */
background-color: white;
position: relative;
}
TABLE.header_content
{
height: 13%;
height: 13%;
width: 100%;
position: absolute;
z-index:4;
position: absolute;
z-index:4;
}
/* Firefox Hack, da er den absolute-Wert der position als einziger nicht richtig dargestellt hat*/
@-moz-document url-prefix()
{
TABLE.header_content
TABLE.header_content
{
height: 13%;
height: 13%;
width: 100%;
position: relative;
position: relative;
z-index:4;
}
}
@@ -411,17 +412,17 @@ td.ContentHeader2
color: #0086CC; /*tw-blau */
font-weight: normal;
}
td.ContentHeader3
td.ContentHeader3
{
color: #0086CC;; /*tw-blau */
font-weight: bold;
}
td.MarkLine
{
background-color: #F2F2F2; /*wie EEEEEE; also grau fast weiss */
background-color: #F2F2F2; /*wie EEEEEE; also grau fast weiss */
}
td.Inaktiv /*fuer Inaktive Items bei der Raumbeschreibung */
{
td.Inaktiv /*fuer Inaktive Items bei der Raumbeschreibung */
{
background-color: #F2F2F2; /*wie EEEEEE; also grau fast weiss */
color: #CFCFCF;
text-decoration: line-through;
@@ -516,11 +517,11 @@ TR.liste
{
background-color: #D3DCE3; /*grau wie #DDDDDD*/
}
TR.liste0
TR.liste0
{
background-color: #FFFFFF; /*wei*/
}
TR.liste1
TR.liste1
{
background-color: #EEEEEE; /*grau fast wei*/
}
@@ -531,7 +532,7 @@ TR.tryellow
/* private/profile/zeitsperre.php */
TABLE#zeitsperren
{
{
/*border: 1px solid black; foo*/
width:100%;
}
@@ -552,15 +553,15 @@ TABLE#zeitsperren TD
background-color: #EEEEEE; /*grau fast wei*/
}
/*
==== Stundenplan ====
/*
==== Stundenplan ====
*/
TABLE.stdplan
{
{
margin: 0px;
padding: 0px;
/* border: 1px solid; */
/* border: 1px solid; */
width: 100%;
background-color: white;
vertical-align: top;
@@ -582,13 +583,13 @@ TABLE.stdplan TD
background-color:#ffffff;
}
/*
/*
==== Fonts ====
*/
h1
{
color: black;
{
color: black;
padding: 0px;
padding-bottom: 20px;
/* padding-left: 10px; */
@@ -601,12 +602,12 @@ h1
font-weight:normal;
}
h1 td
{
color: #ffffff;
{
color: #ffffff;
background-color: #009e84;
}
h2
{
{
margin: 0px;
padding-top: 0px;
padding-bottom: 15px;
@@ -614,21 +615,21 @@ h2
font-weight: bold;
font-size: 15px;
}
h3
{
h3
{
margin: 0px;
padding-top: 0px; /* 20px */
padding-bottom: 2px;
font-weight: bold;
font-size:13px;
}
h4
{
h4
{
margin: 0px;
padding: 0px;
padding: 0px;
text-decoration: underline;
font-weight: normal;
font-size:13px;
font-size:13px;
}
.error
{
@@ -663,7 +664,7 @@ h4
margin-bottom:0px;
}
/*
/*
==== Images ====
*/
img.testtoolfrage
@@ -721,14 +722,14 @@ img.header_logo
}
img.screenshot_boxshadow
{
border: 1px solid grey;
box-shadow: 0px 0px 5px 5px #888888;
border: 1px solid grey;
box-shadow: 0px 0px 5px 5px #888888;
margin-left: 10px;
}
a:hover img.screenshot_boxshadow
{
border: 1px solid grey;
box-shadow: 0px 0px 5px 5px #0086CC;
border: 1px solid grey;
box-shadow: 0px 0px 5px 5px #0086CC;
margin-left: 10px;
}
/*
@@ -739,31 +740,31 @@ a:hover img.screenshot_boxshadow
{
color: #999999;
}
#bgcolor0
#bgcolor0
{
background-color: #CC0000;
}
#bgcolor1
#bgcolor1
{
background-color: #FF2200;
}
#bgcolor2
#bgcolor2
{
background-color: #FF9922;
}
#bgcolor3
#bgcolor3
{
background-color: #FFFF55;
}
#bgcolor4
#bgcolor4
{
background-color: #88FF88;
}
#bgcolor5
#bgcolor5
{
background-color: #AAFFAA;
}
#bgcolor6
#bgcolor6
{
background-color: #CCFFCC;
}
@@ -796,7 +797,7 @@ a:hover img.screenshot_boxshadow
color: green;
}
.ausblenden {display:none;}
.einblenden {display:block;}
.einblenden {display:block;}
/* Inaktive Elemente in einem DropDown */
option.inactive
@@ -846,8 +847,8 @@ option.inactive
cursor:pointer;
cursor:hand;
}
/*
/*
==== Kalender-Jump-Effekt im LV-Plan ====
*/
div.hoverbox div.preview div.hoverbox_inhalt
@@ -905,21 +906,21 @@ ul.menu
width:200px;
list-style-type:none;
}
#menu a
#menu a
{
display:block;
padding:0 0 0 5px;
outline:none;
text-decoration:none;
}
#menu li
#menu li
{
margin:0 0 0 10px;
padding: 5px 0 0 0;
display:block;
border:1px solid #FFFFFF;
}
#menu a.selected
#menu a.selected
{
padding:0 0 0 5px;
}
@@ -927,7 +928,7 @@ ul.menu
{
text-decoration: underline;
}
#menu a.leaf
#menu a.leaf
{
color: #616B71;
padding-left: 5px;
@@ -941,7 +942,7 @@ ul.menu
}
/* Empfehlung im Studienplan */
.empfehlung
.empfehlung
{
border: 1px solid green;
}
@@ -961,7 +962,7 @@ div.preview
position:relative;
}
div.hoverbox div.preview:hover div.hoverbox_inhalt
{
display: block;
@@ -975,7 +976,7 @@ div.hoverbox div.preview:hover div.hoverbox_inhalt
}
table.hoverbox
{
border:1px;
border-style:solid;
border-color:grey;
+17 -5
View File
@@ -25,6 +25,7 @@
require_once('../config/system.config.inc.php');
require_once('../include/basis_db.class.php');
require_once('../version.php');
require_once('../include/benutzerberechtigung.class.php');
// Datenbank Verbindung
$db = new basis_db();
@@ -36,15 +37,26 @@ echo '<html>
</head>
<body>';
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('admin'))
{
exit('Sie haben keine Berechtigung');
}
echo '<H1>Systemcheck!</H1>';
echo '<H2>DB-Updates!</H2>';
echo '<div>';
$dbupdStr = 'dbupdate_'.$fhcomplete_version.'.php';
echo $dbupdStr . ' wird aufgerufen...';
$dbupdStr = 'dbupdate_'.$fhcomplete_version.'.php';
echo $dbupdStr . ' wird aufgerufen...';
echo '</div>';
echo '<div>';
require_once($dbupdStr);
require_once($dbupdStr);
echo '</div>';
// ******** Berechtigungen Prüfen ************/
@@ -136,8 +148,8 @@ $berechtigungen = array(
array('soap/benutzer','Berechtigung für Bentutzerabfrage Addon Kontoimport'),
array('soap/buchungen','Berechtigung für Buchungsabfrage Addon Kontoimport'),
array('student/bankdaten','Bankdaten des Studenten'),
array('student/anrechnung','Anrechnungen des Studenten'),
array('student/anwesenheit','Anwesenheiten im FAS'),
array('student/anrechnung','Anrechnungen des Studenten'),
array('student/anwesenheit','Anwesenheiten im FAS'),
array('student/dokumente','Wenn SUID dann dürfen Dokumente auch wieder entfernt werden'),
array('student/noten','Notenverwaltung'),
array('student/stammdaten','Stammdaten der Studenten'),
+48 -48
View File
@@ -20,8 +20,8 @@
* Beschreibung:
* Dieses Skript prueft die Datenbank auf aktualitaet, dabei werden fehlende Attribute angelegt.
*/
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -3534,8 +3534,8 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht
// Attribut Aktiv für tbl_vorlagestudiengang und alle bisherigen Vorlagen auf aktiv setzen
if(!$result = @$db->db_query("SELECT aktiv FROM public.tbl_vorlagestudiengang"))
{
$qry = "ALTER TABLE public.tbl_vorlagestudiengang ADD COLUMN aktiv boolean NOT NULL default true;
$qry = "ALTER TABLE public.tbl_vorlagestudiengang ADD COLUMN aktiv boolean NOT NULL default true;
UPDATE public.tbl_vorlagestudiengang SET aktiv=true;
";
@@ -3613,117 +3613,117 @@ if($result = @$db->db_query("SELECT * FROM information_schema.tables WHERE table
$qry = "
CREATE OR REPLACE VIEW system.vw_berechtigung_nichtrekursiv AS
SELECT
uid, berechtigung_kurzbz,
uid, berechtigung_kurzbz,
-- art zusammenfassung und nur die nehmen die gleich sind
CASE WHEN length(art)>length(art1) THEN art1 ELSE art END as art,
CASE WHEN length(art)>length(art1) THEN art1 ELSE art END as art,
oe_kurzbz, kostenstelle_id
FROM
(
-- Normal
SELECT
SELECT
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
FROM
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
FROM
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
-- Rollen
UNION
SELECT
SELECT
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_berechtigung.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_rolleberechtigung.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
FROM
system.tbl_benutzerrolle JOIN system.tbl_rolle USING(rolle_kurzbz)
JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
FROM
system.tbl_benutzerrolle JOIN system.tbl_rolle USING(rolle_kurzbz)
JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
JOIN system.tbl_berechtigung ON(tbl_rolleberechtigung.berechtigung_kurzbz=tbl_berechtigung.berechtigung_kurzbz)
-- Funktionen
UNION
SELECT
SELECT
benutzerberechtigung_id, tbl_benutzerfunktion.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerfunktion.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
FROM
FROM
system.tbl_benutzerrolle JOIN public.tbl_benutzerfunktion USING(funktion_kurzbz)
WHERE
WHERE
(tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now())
AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now())
-- Funktion Mitarbeiter
UNION
SELECT
SELECT
benutzerberechtigung_id, vw_mitarbeiter.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
FROM
FROM
system.tbl_benutzerrolle, campus.vw_mitarbeiter
WHERE
WHERE
tbl_benutzerrolle.funktion_kurzbz='Mitarbeiter' and vw_mitarbeiter.aktiv
-- Funktion Student
UNION
SELECT
SELECT
benutzerberechtigung_id, vw_student.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
FROM
FROM
system.tbl_benutzerrolle, campus.vw_student
WHERE
WHERE
tbl_benutzerrolle.funktion_kurzbz='Student' and vw_student.aktiv
) as a
WHERE
) as a
WHERE
-- Datumsgrenzen beruecksichtigen
(a.start<=now() OR a.start is null)
(a.start<=now() OR a.start is null)
AND (a.ende>=now() OR a.ende is null)
-- Neagtiv Rechte entfernen
AND not negativ
AND NOT EXISTS(SELECT
AND NOT EXISTS(SELECT
1
FROM
FROM
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz) WHERE uid=a.uid AND berechtigung_kurzbz=a.berechtigung_kurzbz AND negativ);
CREATE OR REPLACE VIEW system.vw_berechtigung AS
WITH RECURSIVE oes(oe_kurzbz, pfad) as
WITH RECURSIVE oes(oe_kurzbz, pfad) as
(
SELECT
oe_kurzbz, '/' || oe_kurzbz::text as pfad FROM public.tbl_organisationseinheit
WHERE
oe_parent_kurzbz is null AND aktiv = true
SELECT
oe_kurzbz, '/' || oe_kurzbz::text as pfad FROM public.tbl_organisationseinheit
WHERE
oe_parent_kurzbz is null AND aktiv = true
UNION ALL
SELECT
o.oe_kurzbz, COALESCE(oes.pfad,'') || '/' || COALESCE(o.oe_kurzbz,'') as pfad
FROM
public.tbl_organisationseinheit o, oes
WHERE
SELECT
o.oe_kurzbz, COALESCE(oes.pfad,'') || '/' || COALESCE(o.oe_kurzbz,'') as pfad
FROM
public.tbl_organisationseinheit o, oes
WHERE
o.oe_parent_kurzbz=oes.oe_kurzbz and aktiv = true
)
SELECT
SELECT
uid, berechtigung_kurzbz, art, oes.oe_kurzbz, kostenstelle_id
FROM
system.vw_berechtigung_nichtrekursiv, oes
WHERE
FROM
system.vw_berechtigung_nichtrekursiv, oes
WHERE
(oes.pfad || '/' like '%/' || vw_berechtigung_nichtrekursiv.oe_kurzbz || '/%'
OR (vw_berechtigung_nichtrekursiv.oe_kurzbz is null AND kostenstelle_id is null))
UNION
SELECT
SELECT
uid, berechtigung_kurzbz, art, null::varchar(32), kostenstelle_id
FROM
system.vw_berechtigung_nichtrekursiv
FROM
system.vw_berechtigung_nichtrekursiv
WHERE
kostenstelle_id is not null;
@@ -3740,7 +3740,7 @@ if($result = @$db->db_query("SELECT * FROM information_schema.tables WHERE table
}
}
// Eigene Berechtigung ob Unoconv-Dokumente aus dem FAS als Nicht-PDF exportiert werden dürfen
// Eigene Berechtigung ob Unoconv-Dokumente aus dem FAS als Nicht-PDF exportiert werden dürfen
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='system/change_outputformat' LIMIT 1"))
{
if($db->db_num_rows($result)==0)
@@ -4098,5 +4098,5 @@ if (!$result=@$db->db_query($sql_query))
if($error==false)
echo '<br>Gegenpruefung fehlerfrei';
?>
+48 -48
View File
@@ -20,8 +20,8 @@
* Beschreibung:
* Dieses Skript prueft die Datenbank auf aktualitaet, dabei werden fehlende Attribute angelegt.
*/
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -3534,8 +3534,8 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht
// Attribut Aktiv für tbl_vorlagestudiengang und alle bisherigen Vorlagen auf aktiv setzen
if(!$result = @$db->db_query("SELECT aktiv FROM public.tbl_vorlagestudiengang"))
{
$qry = "ALTER TABLE public.tbl_vorlagestudiengang ADD COLUMN aktiv boolean NOT NULL default true;
$qry = "ALTER TABLE public.tbl_vorlagestudiengang ADD COLUMN aktiv boolean NOT NULL default true;
UPDATE public.tbl_vorlagestudiengang SET aktiv=true;
";
@@ -3613,117 +3613,117 @@ if($result = @$db->db_query("SELECT * FROM information_schema.tables WHERE table
$qry = "
CREATE OR REPLACE VIEW system.vw_berechtigung_nichtrekursiv AS
SELECT
uid, berechtigung_kurzbz,
uid, berechtigung_kurzbz,
-- art zusammenfassung und nur die nehmen die gleich sind
CASE WHEN length(art)>length(art1) THEN art1 ELSE art END as art,
CASE WHEN length(art)>length(art1) THEN art1 ELSE art END as art,
oe_kurzbz, kostenstelle_id
FROM
(
-- Normal
SELECT
SELECT
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
FROM
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
FROM
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
-- Rollen
UNION
SELECT
SELECT
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_berechtigung.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_rolleberechtigung.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
FROM
system.tbl_benutzerrolle JOIN system.tbl_rolle USING(rolle_kurzbz)
JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
FROM
system.tbl_benutzerrolle JOIN system.tbl_rolle USING(rolle_kurzbz)
JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
JOIN system.tbl_berechtigung ON(tbl_rolleberechtigung.berechtigung_kurzbz=tbl_berechtigung.berechtigung_kurzbz)
-- Funktionen
UNION
SELECT
SELECT
benutzerberechtigung_id, tbl_benutzerfunktion.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerfunktion.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
FROM
FROM
system.tbl_benutzerrolle JOIN public.tbl_benutzerfunktion USING(funktion_kurzbz)
WHERE
WHERE
(tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now())
AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now())
-- Funktion Mitarbeiter
UNION
SELECT
SELECT
benutzerberechtigung_id, vw_mitarbeiter.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
FROM
FROM
system.tbl_benutzerrolle, campus.vw_mitarbeiter
WHERE
WHERE
tbl_benutzerrolle.funktion_kurzbz='Mitarbeiter' and vw_mitarbeiter.aktiv
-- Funktion Student
UNION
SELECT
SELECT
benutzerberechtigung_id, vw_student.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
FROM
FROM
system.tbl_benutzerrolle, campus.vw_student
WHERE
WHERE
tbl_benutzerrolle.funktion_kurzbz='Student' and vw_student.aktiv
) as a
WHERE
) as a
WHERE
-- Datumsgrenzen beruecksichtigen
(a.start<=now() OR a.start is null)
(a.start<=now() OR a.start is null)
AND (a.ende>=now() OR a.ende is null)
-- Neagtiv Rechte entfernen
AND not negativ
AND NOT EXISTS(SELECT
AND NOT EXISTS(SELECT
1
FROM
FROM
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz) WHERE uid=a.uid AND berechtigung_kurzbz=a.berechtigung_kurzbz AND negativ);
CREATE OR REPLACE VIEW system.vw_berechtigung AS
WITH RECURSIVE oes(oe_kurzbz, pfad) as
WITH RECURSIVE oes(oe_kurzbz, pfad) as
(
SELECT
oe_kurzbz, '/' || oe_kurzbz::text as pfad FROM public.tbl_organisationseinheit
WHERE
oe_parent_kurzbz is null AND aktiv = true
SELECT
oe_kurzbz, '/' || oe_kurzbz::text as pfad FROM public.tbl_organisationseinheit
WHERE
oe_parent_kurzbz is null AND aktiv = true
UNION ALL
SELECT
o.oe_kurzbz, COALESCE(oes.pfad,'') || '/' || COALESCE(o.oe_kurzbz,'') as pfad
FROM
public.tbl_organisationseinheit o, oes
WHERE
SELECT
o.oe_kurzbz, COALESCE(oes.pfad,'') || '/' || COALESCE(o.oe_kurzbz,'') as pfad
FROM
public.tbl_organisationseinheit o, oes
WHERE
o.oe_parent_kurzbz=oes.oe_kurzbz and aktiv = true
)
SELECT
SELECT
uid, berechtigung_kurzbz, art, oes.oe_kurzbz, kostenstelle_id
FROM
system.vw_berechtigung_nichtrekursiv, oes
WHERE
FROM
system.vw_berechtigung_nichtrekursiv, oes
WHERE
(oes.pfad || '/' like '%/' || vw_berechtigung_nichtrekursiv.oe_kurzbz || '/%'
OR (vw_berechtigung_nichtrekursiv.oe_kurzbz is null AND kostenstelle_id is null))
UNION
SELECT
SELECT
uid, berechtigung_kurzbz, art, null::varchar(32), kostenstelle_id
FROM
system.vw_berechtigung_nichtrekursiv
FROM
system.vw_berechtigung_nichtrekursiv
WHERE
kostenstelle_id is not null;
@@ -3740,7 +3740,7 @@ if($result = @$db->db_query("SELECT * FROM information_schema.tables WHERE table
}
}
// Eigene Berechtigung ob Unoconv-Dokumente aus dem FAS als Nicht-PDF exportiert werden dürfen
// Eigene Berechtigung ob Unoconv-Dokumente aus dem FAS als Nicht-PDF exportiert werden dürfen
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='system/change_outputformat' LIMIT 1"))
{
if($db->db_num_rows($result)==0)
@@ -4099,5 +4099,5 @@ if (!$result=@$db->db_query($sql_query))
if($error==false)
echo '<br>Gegenpruefung fehlerfrei';
?>
+570 -12
View File
@@ -21,6 +21,18 @@
* Dieses Skript prueft die Datenbank auf aktualitaet, dabei werden fehlende Attribute angelegt.
*/
//Spalte studiensemester_kurzbz für Reihungstest
if(!$result = @$db->db_query("SELECT studiensemester_kurzbz FROM public.tbl_reihungstest LIMIT 1"))
{
$qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN studiensemester_kurzbz varchar(16);
ALTER TABLE public.tbl_reihungstest ADD CONSTRAINT fk_reihungsteset_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_reihungstest: '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_reihungstest: Spalte studiensemester_kurzbz hinzugefuegt';
}
// Neue Spalte beschreibung_mehrsprachig bei tbl_dokument
if(!@$db->db_query("SELECT dokumentbeschreibung_mehrsprachig FROM public.tbl_dokument LIMIT 1"))
{
@@ -96,22 +108,567 @@ if(!@$db->db_query("SELECT bewerbung_abgeschicktamum FROM public.tbl_prestudents
if (!$result = @$db->db_query("SELECT benotung FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN benotung boolean NOT NULL DEFAULT FALSE;";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_lehrveranstaltung: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_lehrveranstaltung: Spalte benotung hinzugefügt.<br>';
echo ' lehre.tbl_lehrveranstaltung: Spalte benotung hinzugefügt.<br>';
}
//Spalte lvinfo in lehre.tbl_lehrveranstaltung
if (!$result = @$db->db_query("SELECT lvinfo FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lvinfo boolean NOT NULL DEFAULT FALSE;";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_lehrveranstaltung: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_lehrveranstaltung: Spalte lvinfo hinzugefügt.<br>';
echo ' lehre.tbl_lehrveranstaltung: Spalte lvinfo hinzugefügt.<br>';
}
// tbl_bisorgform hinzufuegen
if(!$result = @$db->db_query("SELECT 1 FROM bis.tbl_bisorgform LIMIT 1;"))
{
$qry = "
CREATE TABLE bis.tbl_bisorgform
(
bisorgform_kurzbz varchar(3) NOT NULL,
code smallint,
bezeichnung varchar(64)
);
COMMENT ON TABLE bis.tbl_bisorgform IS 'Offizielle OrgFormen fuer die BIS-Meldung';
ALTER TABLE bis.tbl_bisorgform ADD CONSTRAINT pk_bisorgform_kurzbz PRIMARY KEY (bisorgform_kurzbz);
GRANT SELECT ON bis.tbl_bisorgform TO vilesci;
GRANT SELECT ON bis.tbl_bisorgform TO web;
";
if(!$db->db_query($qry))
echo '<strong>Dokumentenupload fuer Notizen: '.$db->db_last_error().'</strong><br>';
else
echo ' Tabelle bis.tbl_orgform hinzugefuegt!<br>';
}
//Spalte bisorgform_kurzbz für tbl_orgform
if(!$result = @$db->db_query("SELECT bisorgform_kurzbz FROM bis.tbl_orgform LIMIT 1"))
{
$qry = "ALTER TABLE bis.tbl_orgform ADD COLUMN bisorgform_kurzbz varchar(3);
ALTER TABLE bis.tbl_orgform ADD CONSTRAINT fk_orgform_bisorgform FOREIGN KEY (bisorgform_kurzbz) REFERENCES bis.tbl_bisorgform (bisorgform_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;";
if(!$db->db_query($qry))
echo '<strong>bis.tbl_orgform: '.$db->db_last_error().'</strong><br>';
else
echo 'bis.tbl_orgform: Spalte bisorgform_kurzbz hinzugefuegt';
}
//Spalte curriculum in lehre.tbl_studienordnung_lehrveranstaltung
if (!$result = @$db->db_query("SELECT curriculum FROM lehre.tbl_studienplan_lehrveranstaltung LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD COLUMN curriculum BOOLEAN DEFAULT TRUE;";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_studienplan_lehrveranstaltung: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_studienplan_lehrveranstaltung: Spalte curriculum hinzugefügt.<br>';
}
//sozialversicherungsnummer auf char(16) erhöhen
/**********************************************************ANFANG SVNR ÄNDERUNG**************************************************************************/
if($result = @$db->db_query("SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='public' AND TABLE_NAME='tbl_person' AND COLUMN_NAME = 'svnr' AND DATA_TYPE='character varying' AND character_maximum_length='16';"))
{
if($db->db_num_rows($result)==0)
{
//********************************GENERIC********************************
$views=array();
$success = true;
//********************************GET ALL NEEDED VIEWS********************************
$qry="
SELECT column_name as spalte, table_name as tabelle, table_schema as schema
FROM information_schema.columns
WHERE
column_name in('svnr')
AND data_type='character'
AND character_maximum_length='10'
ORDER BY table_name DESC, column_name";
if($result = $db->db_query($qry))
{
$db->db_query('BEGIN');
while($row = $db->db_fetch_object($result))
{
$comment = "";
//Alle Views die Spalten enthalten die geaendert werden loeschen
if(substr($row->tabelle,0,3)=='vw_')
{
$qry_view = "SELECT * FROM pg_views WHERE viewname='$row->tabelle' AND schemaname='$row->schema'";
if($result_view = $db->db_query($qry_view))
{
if($row_view = $db->db_fetch_object($result_view))
{
if($row_view->schemaname != "public")
$key = $row_view->schemaname.".".$row_view->viewname;
else
$key = $row_view->viewname;
if(!isset($views[$key]))
{
$privileges = array();
//get all privileges of this view
$qry_view_priv = "SELECT *
FROM information_schema.role_table_grants
WHERE table_schema='".$row_view->schemaname."'
AND table_name='".$row_view->viewname."';";
if($result_view_priv = $db->db_query($qry_view_priv))
{
while($row_view_priv = $db->db_fetch_object($result_view_priv))
{
$privileges[] = array(
"grantee" => $row_view_priv->grantee,
"privilege_type" => $row_view_priv->privilege_type,
);
}
}
//get the comment of the view
$qry_view_comment = "SELECT nspname, cl.relname, obj_description(cl.oid)
FROM pg_class cl, pg_catalog.pg_namespace ns
WHERE ns.oid=cl.relnamespace
AND cl.relname='".$row_view->viewname."'
AND nspname='".$row_view->schemaname."';";
if($result_view_comment = $db->db_query($qry_view_comment))
{
if($row_view_comment = $db->db_fetch_object($result_view_comment))
{
$comment = $row_view_comment->obj_description;
}
}
//save the view informations for later
$views[$key]['definition']=$row_view->definition;
$views[$key]['schema']=$row_view->schemaname;
$views[$key]['viewname']=$row_view->viewname;
$views[$key]['dropped']=false;
$views[$key]['privileges']=$privileges;
$views[$key]['comment']=$comment;
//resolve dependencys
echo "resolving deps for " . $key."<br>";
$qry_RECURSIVE_DEPS =
"WITH RECURSIVE dep_recursive AS (
SELECT
0 AS \"level\",
'".$key."' AS \"dep_name\",
'' AS \"dep_table\",
'' AS \"dep_type\",
'' AS \"ref_name\",
'' AS \"ref_type\"
UNION ALL
SELECT
level + 1 AS \"level\",
depedencies.dep_name,
depedencies.dep_table,
depedencies.dep_type,
depedencies.ref_name,
depedencies.ref_type
FROM (
WITH classType AS (
SELECT
oid,
CASE relkind
WHEN 'm' THEN 'MATERIALIZED VIEW'::text
WHEN 'r' THEN 'TABLE'::text
WHEN 'i' THEN 'INDEX'::text
WHEN 'S' THEN 'SEQUENCE'::text
WHEN 'v' THEN 'VIEW'::text
WHEN 'c' THEN 'TYPE'::text
WHEN 't' THEN 'TABLE'::text
END AS \"type\"
FROM pg_class
)
SELECT DISTINCT
CASE classid
WHEN 'pg_class'::regclass THEN objid::regclass::text
WHEN 'pg_type'::regclass THEN objid::regtype::text
WHEN 'pg_proc'::regclass THEN objid::regprocedure::text
WHEN 'pg_constraint'::regclass THEN (SELECT conname FROM pg_constraint WHERE OID = objid)
WHEN 'pg_attrdef'::regclass THEN 'default'
WHEN 'pg_rewrite'::regclass THEN (SELECT ev_class::regclass::text FROM pg_rewrite WHERE OID = objid)
WHEN 'pg_trigger'::regclass THEN (SELECT tgname FROM pg_trigger WHERE OID = objid)
ELSE objid::text
END AS \"dep_name\",
CASE classid
WHEN 'pg_constraint'::regclass THEN (SELECT conrelid::regclass::text FROM pg_constraint WHERE OID = objid)
WHEN 'pg_attrdef'::regclass THEN (SELECT adrelid::regclass::text FROM pg_attrdef WHERE OID = objid)
WHEN 'pg_trigger'::regclass THEN (SELECT tgrelid::regclass::text FROM pg_trigger WHERE OID = objid)
ELSE ''
END AS \"dep_table\",
CASE classid
WHEN 'pg_class'::regclass THEN (SELECT TYPE FROM classType WHERE OID = objid)
WHEN 'pg_type'::regclass THEN 'TYPE'
WHEN 'pg_proc'::regclass THEN 'FUNCTION'
WHEN 'pg_constraint'::regclass THEN 'TABLE CONSTRAINT'
WHEN 'pg_attrdef'::regclass THEN 'TABLE DEFAULT'
WHEN 'pg_rewrite'::regclass THEN (SELECT TYPE FROM classType WHERE OID = (SELECT ev_class FROM pg_rewrite WHERE OID = objid))
WHEN 'pg_trigger'::regclass THEN 'TRIGGER'
ELSE objid::text
END AS \"dep_type\",
CASE refclassid
WHEN 'pg_class'::regclass THEN refobjid::regclass::text
WHEN 'pg_type'::regclass THEN refobjid::regtype::text
WHEN 'pg_proc'::regclass THEN refobjid::regprocedure::text
ELSE refobjid::text
END AS \"ref_name\",
CASE refclassid
WHEN 'pg_class'::regclass THEN (SELECT TYPE FROM classType WHERE OID = refobjid)
WHEN 'pg_type'::regclass THEN 'TYPE'
WHEN 'pg_proc'::regclass THEN 'FUNCTION'
ELSE refobjid::text
END AS \"ref_type\",
CASE deptype
WHEN 'n' THEN 'normal'
WHEN 'a' THEN 'automatic'
WHEN 'i' THEN 'internal'
WHEN 'e' THEN 'extension'
WHEN 'p' THEN 'pinned'
END AS \"dependency type\"
FROM pg_catalog.pg_depend
WHERE deptype = 'n'
AND refclassid NOT IN (2615, 2612)
) depedencies
JOIN dep_recursive ON (dep_recursive.dep_name = depedencies.ref_name)
WHERE depedencies.ref_name NOT IN(depedencies.dep_name, depedencies.dep_table)
)
SELECT
MAX(level) AS \"level\",
dep_name,
MIN(dep_table) AS \"dep_table\",
MIN(dep_type) AS \"dep_type\",
string_agg(ref_name, ', ') AS \"ref_names\",
string_agg(ref_type, ', ') AS \"ref_types\"
FROM dep_recursive
WHERE level > 0
AND dep_type='VIEW'
GROUP BY dep_name
ORDER BY level desc, dep_name;";
if($res_RECURSIVE_DEPS = $db->db_query($qry_RECURSIVE_DEPS))
{
while($rrd = $db->db_fetch_object($res_RECURSIVE_DEPS))
{
$comment_deps = "";
echo "<span style='margin-left:20px;'>added " .$rrd->dep_name."</span><br>";
if(strpos($rrd->dep_name,".") !== false)
$qry_view_deps = "SELECT * FROM pg_views WHERE (schemaname || '.' || viewname)='$rrd->dep_name'";
else
$qry_view_deps = "SELECT * FROM pg_views WHERE viewname='$rrd->dep_name' AND schemaname='public'";
if($result_view_deps = $db->db_query($qry_view_deps))
{
if($row_view_deps = $db->db_fetch_object($result_view_deps))
{
$key_deps = $row_view_deps->schemaname.".".$row_view_deps->viewname;
if(!isset($views[$key_deps]))
{
$privileges = array();
//get all privileges of this view
$qry_view_priv = "SELECT *
FROM information_schema.role_table_grants
WHERE table_schema='".$row_view_deps->schemaname."'
AND table_name='".$row_view_deps->viewname."';";
if($result_view_priv = $db->db_query($qry_view_priv))
{
while($row_view_priv = $db->db_fetch_object($result_view_priv))
{
$privileges[] = array(
"grantee" => $row_view_priv->grantee,
"privilege_type" => $row_view_priv->privilege_type,
);
}
}
//get the comment of the view
$qry_view_comment = "SELECT nspname, cl.relname, obj_description(cl.oid)
FROM pg_class cl, pg_catalog.pg_namespace ns
WHERE ns.oid=cl.relnamespace
AND cl.relname='".$row_view_deps->viewname."'
AND nspname='".$row_view_deps->schemaname."';";
if($result_view_comment = $db->db_query($qry_view_comment))
{
if($row_view_comment = $db->db_fetch_object($result_view_comment))
{
$comment_deps = $row_view_comment->obj_description;
}
}
$views[$key_deps]['definition']=$row_view_deps->definition;
$views[$key_deps]['schema']=$row_view_deps->schemaname;
$views[$key_deps]['viewname']=$row_view_deps->viewname;
$views[$key_deps]['dropped']=false;
$views[$key_deps]['privileges']=$privileges;
$views[$key_deps]['comment']=$comment_deps;
}
}
else
{
echo "<span style='margin-left:40px;'>view " . $rrd->dep_name . " not found!<br>";
var_dump($qry_view_deps);
echo "</span><br>";
}
}
}
}
}
}
}
}
}
//********************************DROP ALL VIEWS RECURSIVELY********************************
echo "<br><br>LÖSCHEN:<br>";
if(!drop_all_views_recursively($db, $views)){$success = false;}
//********************************CHANGE DATATYPE********************************
$qry_alter = "
ALTER TABLE public.tbl_person ALTER COLUMN svnr TYPE varchar(16);";
if(!$db->db_query($qry_alter))
echo '<strong>public.tbl_person: '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_person: svnr auf varchar(16) erhöht<br>';
//********************************CREATE ALL VIEWS AGAIN********************************
echo "<br><br>NEU ANLEGEN:<br>";
if(!create_all_views_recursively($db, $views)){$success = false;}
if($success)
$db->db_query('COMMIT');
else
$db->db_query('ROLLBACK');
}
}
}
//RECURSIVE DROP FUNCTIONS
function recursiveDrop($db, &$allviews, $lastcount)
{
$nc = 0;
foreach($allviews as $vk => $v)
{
if(!$allviews[$vk]["dropped"])
{
$db->db_query('SAVEPOINT drop_'.$v['schema'].'_'.$v['viewname'].';');
$qry_drp_view = "DROP VIEW ".$vk.";";
if(@$db->db_query($qry_drp_view))
{
echo $vk ." DROPPED<br>";
$allviews[$vk]["dropped"] = true;
continue;
}
$nc ++; //count the not dropped
$db->db_query('ROLLBACK TO drop_'.$v['schema'].'_'.$v['viewname'].';');
}
}
if($lastcount == 0)
return true;
if($nc == $lastcount)
{
echo "<br><br>ENDLESS!<br>";
printAllUndroppedViews($allviews);
return false;
}
$lastcount = $nc;
return recursiveDrop($db, $allviews, $lastcount);
}
function drop_all_views_recursively($db, &$allviews)
{
return recursiveDrop($db, $allviews, count($allviews));
}
function printAllUndroppedViews($allviews)
{
foreach($allviews as $vk => $v)
{
if(!$v["dropped"])
{
echo $vk.'<br>';
//var_dump($v);
}
}
}
//RECURSIVE CREATE FUNCTIONS
function recursiveCreate($db, &$allviews, $lastcount)
{
$nc = 0;
foreach($allviews as $vk => $v)
{
if($allviews[$vk]["dropped"])
{
$db->db_query('SAVEPOINT create_'.$v['schema'].'_'.$v['viewname'].';');
$qry_drp_view = "CREATE VIEW ".$vk." AS ".$v["definition"].";";
if($v["comment"] != "")
{
$qry_drp_view .= "COMMENT ON VIEW $vk IS '".$v["comment"]."';";
}
if(@$db->db_query($qry_drp_view))
{
echo $vk ." CREATED<br>";
foreach($v["privileges"] as $p)
{
$qry_add_privileges = "GRANT ".$p["privilege_type"]." ON ".$vk." TO ".$p["grantee"].";";
if(!$db->db_query($qry_add_privileges))
echo "<div style='color:red;'> ACHTUNG: Konnte ".$p["grantee"]." keine ".$p["privilege_type"]." rechte an $vk gewähren!</div>";
}
$allviews[$vk]["dropped"] = false;
continue;
}
$nc ++; //count the not created
$db->db_query('ROLLBACK TO create_'.$v['schema'].'_'.$v['viewname'].';');
}
}
if($lastcount == 0)
return true;
if($nc == $lastcount)
{
echo "<br><br>ENDLESS!<br>";
printAllDroppedViews($allviews);
return false;
}
$lastcount = $nc;
return recursiveCreate($db, $allviews, $lastcount);
}
function create_all_views_recursively($db, &$allviews)
{
return recursiveCreate($db, $allviews, count($allviews));
}
function printAllDroppedViews($allviews)
{
foreach($allviews as $vk => $v)
{
if($v["dropped"])
{
echo $vk.'<br>';
//var_dump($v);
}
}
}
/***********************************************************ENDE SVNR ÄNDERUNG***********************************************************/
//SVNR check auf char_length(16) || char_length(10) einfuegen
if($result = @$db->db_query("SELECT * FROM information_schema.table_constraints WHERE constraint_schema='public' AND table_name='tbl_person' AND constraint_name='chk_person_svnr' LIMIT 1;"))
{
if($db->db_num_rows($result)==0)
{
$qry = "ALTER TABLE public.tbl_person ADD CONSTRAINT chk_person_svnr CHECK ((char_length(svnr) = 10) OR (char_length(svnr) = 16) OR svnr IS NULL);";
if(!$db->db_query($qry))
{
echo '<strong>public.tbl_person: '.$db->db_last_error().'</strong><br>';
$qry = "SELECT * FROM public.tbl_person WHERE char_length(svnr) != 10 AND char_length(svnr) != 16 AND svnr IS NOT NULL;";
$res = $db->db_query($qry);
while($r = $db->db_fetch_object($res))
echo $r->person_id . ": " . $r->vorname . " " . $r->nachname . ": '" . $r->svnr."'<br>";
}
else
echo 'public.tbl_person: Spalte svnr: Check auf char_length(10) oder char_length(16) hinzugefuegt';
}
}
//uhrzeit zu tbl_abschlusspruefung hinzufuegen
if(!$result = @$db->db_query("SELECT uhrzeit from lehre.tbl_abschlusspruefung LIMIT 1;"))
{
$qry="ALTER TABLE lehre.tbl_abschlusspruefung ADD COLUMN uhrzeit time;";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_abschlusspruefung: '.$db->db_last_error().'</strong><br>';
else
echo 'lehre.tbl_abschlusspruefung: spalte uhrzeit hinzugefügt';
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
@@ -120,6 +677,7 @@ echo '<H2>Pruefe Tabellen und Attribute!</H2>';
echo '<br><br><br>';
$tabellen=array(
"bis.tbl_bisorgform" => array("bisorgform_kurzbz","code","bezeichnung"),
"bis.tbl_archiv" => array("archiv_id","studiensemester_kurzbz","meldung","html","studiengang_kz","insertamum","insertvon","typ"),
"bis.tbl_ausbildung" => array("ausbildungcode","ausbildungbez","ausbildungbeschreibung"),
"bis.tbl_berufstaetigkeit" => array("berufstaetigkeit_code","berufstaetigkeit_bez","berufstaetigkeit_kurzbz"),
@@ -137,7 +695,7 @@ $tabellen=array(
"bis.tbl_lgartcode" => array("lgartcode","kurzbz","bezeichnung","beantragung","lgart_biscode"),
"bis.tbl_mobilitaetsprogramm" => array("mobilitaetsprogramm_code","kurzbz","beschreibung","sichtbar","sichtbar_outgoing"),
"bis.tbl_nation" => array("nation_code","entwicklungsstand","eu","ewr","kontinent","kurztext","langtext","engltext","sperre"),
"bis.tbl_orgform" => array("orgform_kurzbz","code","bezeichnung","rolle"),
"bis.tbl_orgform" => array("orgform_kurzbz","code","bezeichnung","rolle","bisorgform_kurzbz"),
"bis.tbl_verwendung" => array("verwendung_code","verwendungbez"),
"bis.tbl_zgv" => array("zgv_code","zgv_bez","zgv_kurzbz","bezeichnung"),
"bis.tbl_zgvmaster" => array("zgvmas_code","zgvmas_bez","zgvmas_kurzbz","bezeichnung"),
@@ -212,10 +770,10 @@ $tabellen=array(
"kommune.tbl_wettbewerbteam" => array("team_kurzbz","wettbewerb_kurzbz","rang","punkte"),
"kommune.tbl_wettbewerbtyp" => array("wbtyp_kurzbz","bezeichnung","farbe"),
"lehre.tbl_abschlussbeurteilung" => array("abschlussbeurteilung_kurzbz","bezeichnung","bezeichnung_english"),
"lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note"),
"lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","uhrzeit","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note"),
"lehre.tbl_akadgrad" => array("akadgrad_id","akadgrad_kurzbz","studiengang_kz","titel","geschlecht"),
"lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id"),
"lehre.tbl_anrechnung_begruendung" => array("begruendung_id","bezeichnung"),
"lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id"),
"lehre.tbl_anrechnung_begruendung" => array("begruendung_id","bezeichnung"),
"lehre.tbl_betreuerart" => array("betreuerart_kurzbz","beschreibung"),
"lehre.tbl_ferien" => array("bezeichnung","studiengang_kz","vondatum","bisdatum"),
"lehre.tbl_lehreinheit" => array("lehreinheit_id","lehrveranstaltung_id","studiensemester_kurzbz","lehrfach_id","lehrform_kurzbz","stundenblockung","wochenrythmus","start_kw","raumtyp","raumtypalternativ","sprache","lehre","anmerkung","unr","lvnr","updateamum","updatevon","insertamum","insertvon","ext_id","lehrfach_id_old","gewicht"),
@@ -226,7 +784,7 @@ $tabellen=array(
"lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"),
"lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"),
"lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"),
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las"),
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo"),
"lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"),
"lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"),
"lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"),
@@ -245,7 +803,7 @@ $tabellen=array(
"lehre.tbl_studienordnung" => array("studienordnung_id","studiengang_kz","version","gueltigvon","gueltigbis","bezeichnung","ects","studiengangbezeichnung","studiengangbezeichnung_englisch","studiengangkurzbzlang","akadgrad_id","insertamum","insertvon","updateamum","updatevon","ext_id"),
"lehre.tbl_studienordnung_semester" => array("studienordnung_semester_id","studienordnung_id","studiensemester_kurzbz","semester"),
"lehre.tbl_studienplan" => array("studienplan_id","studienordnung_id","orgform_kurzbz","version","regelstudiendauer","sprache","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon","semesterwochen","testtool_sprachwahl","ext_id"),
"lehre.tbl_studienplan_lehrveranstaltung" => array("studienplan_lehrveranstaltung_id","studienplan_id","lehrveranstaltung_id","semester","studienplan_lehrveranstaltung_id_parent","pflicht","koordinator","insertamum","insertvon","updateamum","updatevon","sort","ext_id"),
"lehre.tbl_studienplan_lehrveranstaltung" => array("studienplan_lehrveranstaltung_id","studienplan_id","lehrveranstaltung_id","semester","studienplan_lehrveranstaltung_id_parent","pflicht","koordinator","insertamum","insertvon","updateamum","updatevon","sort","ext_id", "curriculum"),
"lehre.tbl_studienplatz" => array("studienplatz_id","studiengang_kz","studiensemester_kurzbz","orgform_kurzbz","ausbildungssemester","gpz","npz","insertamum","insertvon","updateamum","updatevon","ext_id"),
"lehre.tbl_stunde" => array("stunde","beginn","ende"),
"lehre.tbl_stundenplan" => array("stundenplan_id","unr","mitarbeiter_uid","datum","stunde","ort_kurzbz","gruppe_kurzbz","titel","anmerkung","lehreinheit_id","studiengang_kz","semester","verband","gruppe","fix","updateamum","updatevon","insertamum","insertvon"),
@@ -296,7 +854,7 @@ $tabellen=array(
"public.tbl_notiz" => array("notiz_id","titel","text","verfasser_uid","bearbeiter_uid","start","ende","erledigt","insertamum","insertvon","updateamum","updatevon","ext_id"),
"public.tbl_notizzuordnung" => array("notizzuordnung_id","notiz_id","projekt_kurzbz","projektphase_id","projekttask_id","uid","person_id","prestudent_id","bestellung_id","lehreinheit_id","ext_id","anrechnung_id"),
"public.tbl_notiz_dokument" => array("notiz_id","dms_id"),
"public.tbl_ort" => array("ort_kurzbz","bezeichnung","planbezeichnung","max_person","lehre","reservieren","aktiv","lageplan","dislozierung","kosten","ausstattung","updateamum","updatevon","insertamum","insertvon","ext_id","stockwerk","standort_id","telefonklappe","content_id","m2","gebteil","oe_kurzbz"),
"public.tbl_ort" => array("ort_kurzbz","bezeichnung","planbezeichnung","max_person","lehre","reservieren","aktiv","lageplan","dislozierung","kosten","ausstattung","updateamum","updatevon","insertamum","insertvon","ext_id","stockwerk","standort_id","telefonklappe","content_id","m2","gebteil","oe_kurzbz"),
"public.tbl_ortraumtyp" => array("ort_kurzbz","hierarchie","raumtyp_kurzbz"),
"public.tbl_organisationseinheit" => array("oe_kurzbz", "oe_parent_kurzbz", "bezeichnung","organisationseinheittyp_kurzbz", "aktiv","mailverteiler","freigabegrenze","kurzzeichen","lehre","standort","warn_semesterstunden_frei","warn_semesterstunden_fix","standort_id"),
"public.tbl_organisationseinheittyp" => array("organisationseinheittyp_kurzbz", "bezeichnung", "beschreibung"),
@@ -399,7 +957,7 @@ foreach ($tabellen AS $attribute)
echo '<H2>Gegenpruefung!</H2>';
$error=false;
$sql_query="SELECT schemaname,tablename FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema' AND schemaname != 'sync' AND schemaname != 'addon';";
$sql_query="SELECT schemaname,tablename FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema' AND schemaname != 'sync' AND schemaname != 'addon' AND schemaname != 'reports';";
if (!$result=@$db->db_query($sql_query))
echo '<BR><strong>'.$db->db_last_error().' </strong><BR>';
else