diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php
index 409d0a87b..633da1faf 100755
--- a/cis/private/profile/studienplan.php
+++ b/cis/private/profile/studienplan.php
@@ -551,6 +551,7 @@ function drawTree($tree, $depth)
// }
$tdinhalt='';
+ $found = false;
// Ist bereits eine Note für diese LV in diesem Stsem vorhanden?
if(isset($noten_arr[$row_tree->lehrveranstaltung_id][$stsem]))
@@ -559,40 +560,37 @@ function drawTree($tree, $depth)
$tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.'';
else
$tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.'';
+ $found=true;
}
elseif(count($kompatibleLVs) > 0)
{
- $found = false;
- $i = 0;
- while(!$found && $i < count($kompatibleLVs))
- {
- foreach($kompatibleLVs as $komp)
- {
- $anrechnung = new anrechnung();
- $anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
-
- if(count($anrechnung->result) == 1)
- {
- $lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
- if(isset($noten_arr[$lv][$stsem]))
- {
- $found = true;
- if($note_pruef_arr[$noten_arr[$lv][$stsem]]->positiv)
- $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.'';
- else
- $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.'';
- }
- }
- $i++;
- }
-
- if(!$found)
- {
- $tdinhalt.= '-';
- }
+
+ $i = 0;
+ while(!$found && $i < count($kompatibleLVs))
+ {
+ foreach($kompatibleLVs as $komp)
+ {
+ $anrechnung = new anrechnung();
+ $anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
+
+ if(count($anrechnung->result) == 1)
+ {
+ $lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
+ if(isset($noten_arr[$lv][$stsem]))
+ {
+ $found = true;
+ if($note_pruef_arr[$noten_arr[$lv][$stsem]]->positiv)
+ $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.'';
+ else
+ $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.'';
}
+ }
+ $i++;
+ }
+ }
}
- else
+
+ if(!$found)
{
// Angebot der LV und der Kompatiblen pruefen
$anmeldungmoeglich=false;
diff --git a/cis/private/tools/suche.php b/cis/private/tools/suche.php
index 0688da85b..a12206a29 100755
--- a/cis/private/tools/suche.php
+++ b/cis/private/tools/suche.php
@@ -454,16 +454,22 @@ function searchContent($searchItems)
echo '
',$row->sprache,'
';
echo '';
}
- $berechtigt = new content();
- $berechtigt = $berechtigt->berechtigt($row->content_id, $uid);
- if ($berechtigt)
+ // Nur die hoechste Version des Contents anzeigen
+ $version = new content();
+ $maxversion = $version->getMaxVersion($row->content_id, $row->sprache);
+ if ($row->version == $maxversion)
{
- echo '';
+ $berechtigt = new content();
+ $berechtigt = $berechtigt->berechtigt($row->content_id, $uid);
+ if ($berechtigt)
+ {
+ echo '';
+ }
}
}
}
diff --git a/cms/menu/menu_addon_meinelv.inc.php b/cms/menu/menu_addon_meinelv.inc.php
index a81bdb733..188945aab 100755
--- a/cms/menu/menu_addon_meinelv.inc.php
+++ b/cms/menu/menu_addon_meinelv.inc.php
@@ -49,53 +49,54 @@ class menu_addon_meinelv extends menu_addon
$studiengang_obj = new studiengang();
$studiengang_obj->getAll();
- if ($stsemobj = new studiensemester())
+ $stsemobj = new studiensemester();
+
+ $stsem_arr=array();
+ $stsem_arr[]=$stsemobj->getNearest();
+ $stsem_arr[]=$stsemobj->getNearestFrom($stsem_arr[0]);
+
+ foreach($stsem_arr as $stsem)
{
- $stsem_arr=array();
- if(!$stsemobj->getakt())
- {
- $stsem_arr[]=$stsemobj->getNearest();
- $stsem_arr[]=$stsemobj->getNearestFrom($stsem_arr[0]);
- }
- else
- {
- $stsem_arr[] = $stsemobj->getNearest();
- }
$qry = "SELECT distinct lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, lehre,
- lehreverzeichnis from campus.vw_student_lehrveranstaltung
- WHERE uid=".$this->db_add_param($user)." AND studiensemester_kurzbz in(".$this->db_implode4SQL($stsem_arr).")
+ lehreverzeichnis, studiensemester_kurzbz from campus.vw_student_lehrveranstaltung
+ WHERE uid=".$this->db_add_param($user)." AND studiensemester_kurzbz=".$this->db_add_param($stsem)."
AND lehre=true AND lehreverzeichnis<>'' ORDER BY studiengang_kz, semester, bezeichnung";
if($result = $this->db_query($qry))
{
- while($row = $this->db_fetch_object($result))
+ if($this->db_num_rows($result)>0)
{
- $lv_obj = new lehrveranstaltung();
- $lv_obj->load($row->lehrveranstaltung_id);
+ $this->items[] = array('title'=>$stsem,
+ 'target'=>'_self',
+ 'link'=>'#'.$stsem,
+ 'name'=>''.$stsem.'');
- if($row->studiengang_kz==0 && $row->semester==0) // Freifach
+ while($row = $this->db_fetch_object($result))
{
- $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
- 'target'=>'content',
- 'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id,
- 'name'=>'FF '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
- );
- }
- else
- {
- $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
- 'target'=>'content',
- 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id,
- 'name'=>$studiengang_obj->kuerzel_arr[$row->studiengang_kz].$row->semester.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
- );
+ $lv_obj = new lehrveranstaltung();
+ $lv_obj->load($row->lehrveranstaltung_id);
+
+ if($row->studiengang_kz==0 && $row->semester==0) // Freifach
+ {
+ $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
+ 'target'=>'content',
+ 'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz,
+ 'name'=>'FF '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
+ );
+ }
+ else
+ {
+ $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
+ 'target'=>'content',
+ 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz,
+ 'name'=>$studiengang_obj->kuerzel_arr[$row->studiengang_kz].$row->semester.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
+ );
+ }
}
}
}
else
echo "Fehler beim Auslesen der LV";
- }
- else
- {
- echo "Fehler Semester beim Auslesen der LV";
+
}
}
@@ -105,57 +106,73 @@ class menu_addon_meinelv extends menu_addon
if ($stsemobj = new studiensemester())
{
$stsem_arr=array();
- if(!$stsemobj->getakt())
- {
- $stsem_arr[]=$stsemobj->getNearest();
- $stsem_arr[]=$stsemobj->getNearestFrom($stsem_arr[0]);
- }
- else
- {
- $stsem_arr[] = $stsemobj->getNearest();
- }
- $qry = "SELECT distinct bezeichnung, studiengang_kz, semester, lehreverzeichnis, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.orgform_kurzbz FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
- WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
- tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
- mitarbeiter_uid=".$this->db_add_param($user)." AND tbl_lehreinheit.studiensemester_kurzbz in(".$this->db_implode4SQL($stsem_arr).")
- ORDER BY studiengang_kz, semester, bezeichnung";
+ $stsem_arr[]=$stsemobj->getNearest();
+ $stsem_arr[]=$stsemobj->getNearestFrom($stsem_arr[0]);
- if($result = $this->db_query($qry))
- {
- $this->items[] = array('title'=>$p->t("lvaliste/titel"),
- 'target'=>'content',
- 'link'=>'private/profile/lva_liste.php',
- 'name'=>$p->t("lvaliste/titel"));
+ $this->items[] = array('title'=>$p->t("lvaliste/titel"),
+ 'target'=>'content',
+ 'link'=>'private/profile/lva_liste.php',
+ 'name'=>$p->t("lvaliste/titel"));
- while($row = $this->db_fetch_object($result))
+ foreach($stsem_arr as $stsem)
+ {
+ $stsementry=array();
+ $qry = "SELECT distinct bezeichnung, studiengang_kz, semester, lehreverzeichnis, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.orgform_kurzbz, studiensemester_kurzbz FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
+ WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
+ tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
+ mitarbeiter_uid=".$this->db_add_param($user)." AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($stsem)."
+ ORDER BY studiengang_kz, semester, bezeichnung";
+
+ if($result = $this->db_query($qry))
{
- $lv_obj = new lehrveranstaltung();
- $lv_obj->load($row->lehrveranstaltung_id);
-
- if($row->studiengang_kz==0 AND $row->semester==0)
+ if($this->db_num_rows($result)>0)
{
- $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
- 'target'=>'content',
- 'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id,
- 'name'=>'FF '.$this->CutString($row->lehreverzeichnis, $cutlength)
- );
- }
- else
- {
- $stg_obj = new studiengang();
- $stg_obj->load($row->studiengang_kz);
- $kurzbz = $stg_obj->kuerzel.'-'.$row->semester.' '.$row->orgform_kurzbz;
+ $this->items[] = array('title'=>$stsem,
+ 'target'=>'_self',
+ 'link'=>'#'.$stsem,
+ 'name'=>''.$stsem.'');
- $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
- 'target'=>'content',
- 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id,
- 'name'=>$kurzbz.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
- );
+ while($row = $this->db_fetch_object($result))
+ {
+ $lv_obj = new lehrveranstaltung();
+ $lv_obj->load($row->lehrveranstaltung_id);
+
+ if($row->studiengang_kz==0 AND $row->semester==0)
+ {
+ $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
+ 'target'=>'content',
+ 'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id,
+ 'name'=>'FF '.$this->CutString($row->lehreverzeichnis, $cutlength)
+ );
+ }
+ else
+ {
+ $stg_obj = new studiengang();
+ $stg_obj->load($row->studiengang_kz);
+ $kurzbz = $stg_obj->kuerzel.'-'.$row->semester.' '.$row->orgform_kurzbz;
+
+ $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
+ 'target'=>'content',
+ 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz,
+ 'name'=>$kurzbz.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
+ );
+ }
+ }
}
}
+ else
+ echo "Fehler beim Auslesen des Lehrfaches";
+/*
+ if(count($stsementry)>0)
+ {
+ $this->items[] = array('title'=>$stsem,
+ 'target'=>'',
+ 'link'=>'#',
+ 'name'=>$stsem,
+ 'childs'=>$stsementry
+ );
+ }*/
}
- else
- echo "Fehler beim Auslesen des Lehrfaches";
}
else
{
diff --git a/content/lvplanung/timetable-week.xul.php b/content/lvplanung/timetable-week.xul.php
index 16ed153d1..0fe246577 100644
--- a/content/lvplanung/timetable-week.xul.php
+++ b/content/lvplanung/timetable-week.xul.php
@@ -376,22 +376,50 @@ elseif ($aktion=='stpl_delete_single' || $aktion=='stpl_delete_block')
if(isset($res_id))
{
- $reservierung=new reservierung();
foreach ($res_id as $reservierung_id)
{
+ $reservierung = new reservierung();
+ $reservierung->load($reservierung_id);
+ $deletetext = ' AND datum='.$reservierung->datum.' AND stunde='.$reservierung->stunde.' AND titel='.$reservierung->titel.' AND beschreibung='.$reservierung->beschreibung.' AND uid='.$reservierung->uid.';';
$reservierung->delete($reservierung_id);
$error_msg.=$reservierung->errormsg;
+ //UNDO Befehl zum mitloggen von geloeschten Reservierungen
+ if($error_msg=='')
+ {
+ $log = new log();
+ $log->executetime = date('Y-m-d H:i:s');
+ $log->sqlundo = '';
+ $log->sql = 'DELETE FROM campus.tbl_reservierung WHERE reservierung_id='.$reservierung_id.$deletetext;
+ $log->beschreibung = 'Löschen der Reservierung '.$reservierung_id;
+ $log->mitarbeiter_uid = $uid;
+ if(!$log->save(true))
+ $error_msg.='Fehler: '.$log->errormsg;
+ }
}
}
//Loeschen von mehreren Reservierungen
if(isset($res_idx))
{
- $reservierung=new reservierung();
foreach ($res_idx as $reservierung_id)
{
+ $reservierung = new reservierung();
+ $reservierung->load($reservierung_id);
+ $deletetext = ' AND datum='.$reservierung->datum.' AND stunde='.$reservierung->stunde.' AND titel='.$reservierung->titel.' AND beschreibung='.$reservierung->beschreibung.' AND uid='.$reservierung->uid.';';
$reservierung->delete($reservierung_id);
$error_msg.=$reservierung->errormsg;
+ //UNDO Befehl zum mitloggen von geloeschten Reservierungen
+ if($error_msg=='')
+ {
+ $log = new log();
+ $log->executetime = date('Y-m-d H:i:s');
+ $log->sqlundo = '';
+ $log->sql = 'DELETE FROM campus.tbl_reservierung WHERE reservierung_id='.$reservierung_id.$deletetext;
+ $log->beschreibung = 'Löschen der Reservierung '.$reservierung_id;
+ $log->mitarbeiter_uid = $uid;
+ if(!$log->save(true))
+ $error_msg.='Fehler: '.$log->errormsg;
+ }
}
}
}
diff --git a/content/pdfExport.php b/content/pdfExport.php
index 5cf058ac5..7f0abbe53 100644
--- a/content/pdfExport.php
+++ b/content/pdfExport.php
@@ -304,7 +304,7 @@ elseif(in_array($xsl,array('Inskription','Studienerfolg','OutgoingLearning','Out
}
elseif($xsl=='Uebernahme')
{
- if(!$rechte->isBerechtigt('wawi/inventar') && !$rechte->isBerechtigt('assistenz'))
+ if(!$rechte->isBerechtigt('wawi/inventar') && !$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('basis/betriebsmittel'))
{
echo 'Sie haben keine Berechtigung dieses Dokument zu erstellen';
exit;
diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php
index 5718ac02b..c0339d32a 100644
--- a/content/student/studentDBDML.php
+++ b/content/student/studentDBDML.php
@@ -2343,11 +2343,13 @@ if(!$error)
//ein Student oder Mitarbeiter ist
if(($_POST['studiengang_kz']!='' &&
!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
- !$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid')
+ !$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid') &&
+ !$rechte->isBerechtigt('basis/betriebsmittel',$_POST['studiengang_kz'], 'suid')
) ||
($_POST['studiengang_kz']=='' &&
!$rechte->isBerechtigt('admin', null, 'suid') &&
- !$rechte->isBerechtigt('mitarbeiter', null, 'suid')
+ !$rechte->isBerechtigt('mitarbeiter', null, 'suid') &&
+ !$rechte->isBerechtigt('basis/betriebsmittel', null, 'suid')
))
{
$error = true;
@@ -2386,11 +2388,13 @@ if(!$error)
//ein Student oder Mitarbeiter ist
if(($_POST['studiengang_kz']!='' &&
!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
- !$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid')
+ !$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid') &&
+ !$rechte->isBerechtigt('basis/betriebsmittel',$_POST['studiengang_kz'], 'suid')
) ||
($_POST['studiengang_kz']=='' &&
!$rechte->isBerechtigt('admin', null, 'suid') &&
- !$rechte->isBerechtigt('mitarbeiter', null, 'suid')
+ !$rechte->isBerechtigt('mitarbeiter', null, 'suid') &&
+ !$rechte->isBerechtigt('basis/betriebsmittel', null, 'suid')
))
{
$error = true;
diff --git a/include/bewerbungstermin.class.php b/include/bewerbungstermin.class.php
index 89a0d93c4..f2a33efc8 100644
--- a/include/bewerbungstermin.class.php
+++ b/include/bewerbungstermin.class.php
@@ -42,6 +42,7 @@ class bewerbungstermin extends basis_db
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
+ public $studienplan_id; // integer
/**
* Konstruktor
@@ -86,6 +87,7 @@ class bewerbungstermin extends basis_db
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
+ $this->studienplan_id = $row->studienplan_id;
return true;
}
else
@@ -109,13 +111,13 @@ class bewerbungstermin extends basis_db
$qry = "SELECT * FROM public.tbl_bewerbungstermine WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
if($studiensemester_kurzbz!=null)
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
-
+
if($sort != null)
{
$qry.=" ORDER BY ".$sort;
}
$qry.=";";
-
+
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -134,6 +136,7 @@ class bewerbungstermin extends basis_db
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
+ $obj->studienplan_id = $row->studienplan_id;
$this->result[] = $obj;
}
@@ -170,7 +173,7 @@ class bewerbungstermin extends basis_db
{
//Neuen Datensatz einfuegen
- $qry='BEGIN; INSERT INTO public.tbl_bewerbungstermine(studiensemester_kurzbz, studiengang_kz, beginn, ende, nachfrist, nachfrist_ende, anmerkung, insertamum, insertvon) VALUES('.
+ $qry='BEGIN; INSERT INTO public.tbl_bewerbungstermine(studiensemester_kurzbz, studiengang_kz, beginn, ende, nachfrist, nachfrist_ende, anmerkung, insertamum, insertvon, studienplan_id) VALUES('.
$this->db_add_param($this->studiensemester_kurzbz).', '.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->beginn).', '.
@@ -178,7 +181,8 @@ class bewerbungstermin extends basis_db
$this->db_add_param($this->nachfrist, FHC_BOOLEAN).', '.
$this->db_add_param($this->nachfrist_ende).', '.
$this->db_add_param($this->anmerkung).', now(),'.
- $this->db_add_param($this->insertvon).');';
+ $this->db_add_param($this->insertvon).','.
+ $this->db_add_param($this->studienplan_id, FHC_INTEGER).');';
}
else
{
@@ -191,7 +195,8 @@ class bewerbungstermin extends basis_db
'nachfrist_ende='.$this->db_add_param($this->nachfrist_ende).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'updateamum= now(), '.
- 'updatevon='.$this->db_add_param($this->updatevon).' '.
+ 'updatevon='.$this->db_add_param($this->updatevon).', '.
+ 'studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER).' '.
'WHERE bewerbungstermin_id='.$this->db_add_param($this->bewerbungstermin_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
@@ -229,17 +234,17 @@ class bewerbungstermin extends basis_db
return false;
}
}
-
+
public function delete($bewerbungstermin_id)
{
$qry = "DELETE from public.tbl_bewerbungstermine WHERE bewerbungstermin_id=".$this->db_add_param($bewerbungstermin_id);
-
+
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Löschen der Daten';
return false;
}
-
+
return true;
}
}
diff --git a/include/studienplan.class.php b/include/studienplan.class.php
index 31adb1ed2..eefa21d3e 100644
--- a/include/studienplan.class.php
+++ b/include/studienplan.class.php
@@ -699,7 +699,7 @@ class studienplan extends basis_db
* @param $ausbuldungssemester
* @param $orgform_kurzbz
*/
- function getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester="", $orgform_kurzbz = "")
+ function getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz="", $ausbildungssemester="", $orgform_kurzbz = "")
{
$qry = "SELECT
studienplan_id,
@@ -744,8 +744,9 @@ class studienplan extends basis_db
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
WHERE
tbl_studienplan.aktiv
- AND tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)."
- AND tbl_studienplan_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz);
+ AND tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
+ if($studiensemester_kurzbz!='')
+ $qry.=" AND tbl_studienplan_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz);
if($ausbildungssemester!='')
$qry.=" AND tbl_studienplan_semester.semester=".$this->db_add_param($ausbildungssemester);
@@ -894,7 +895,7 @@ class studienplan extends basis_db
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND EXISTS (
SELECT 1 FROM lehre.tbl_studienplan_semester
- WHERE studienordnung_id=tbl_studienplan.studienordnung_id
+ WHERE studienplan_id=tbl_studienplan.studienplan_id
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND semester = tbl_studienplan_lehrveranstaltung.semester)
ORDER BY bezeichnung";
diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php
index 5e57c53ea..b5b65d27d 100644
--- a/include/tw/vilesci_menu_main.inc.php
+++ b/include/tw/vilesci_menu_main.inc.php
@@ -71,6 +71,7 @@ $menu=array
'Gruppenverwaltung'=>array('name'=>'Gruppen', 'permissions'=>array('admin','lv-plan','support'), 'link'=>'stammdaten/lvbgruppenverwaltung.php', 'target'=>'main'),
'Lehrveranstaltung'=>array('name'=>'Lehrveranstaltung', 'link'=>'lehre/lehrveranstaltung_frameset.html', 'target'=>'main'),
'Studienordnung'=>array('name'=>'Studienordnung', 'link'=>'lehre/studienordnung.php', 'target'=>'_blank','permissions'=>array('lehre/studienordnung')),
+ 'StudienplanGueltigkeit'=>array('name'=>'Studienplan Gültigkeit', 'link'=>'lehre/studienplan_gueltigkeit.php', 'target'=>'main','permissions'=>array('lehre/studienordnung')),
'Moodle'=>array
(
diff --git a/rdf/konto.rdf.php b/rdf/konto.rdf.php
index ce3be694f..875325cf3 100644
--- a/rdf/konto.rdf.php
+++ b/rdf/konto.rdf.php
@@ -36,6 +36,9 @@ require_once('../include/datum.class.php');
require_once('../include/functions.inc.php');
require_once('../include/student.class.php');
require_once('../include/benutzerberechtigung.class.php');
+require_once('../include/prestudent.class.php');
+require_once('../include/studienordnung.class.php');
+require_once('../include/studienplan.class.php');
if(isset($_SERVER['REMOTE_USER']))
{
@@ -86,7 +89,7 @@ else
$buchungsnummern = '';
$studiengang_kz = (isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'');
-
+
$datum = new datum();
$konto = new konto();
@@ -111,7 +114,7 @@ elseif($buchungsnr!='')
$rdf_url='http://www.technikum-wien.at/konto';
if ($xmlformat=='rdf')
{
-
+
echo '
studiengang_kz);
echo "
buchungsnr."\" about=\"".$rdf_url.'/'.$row->buchungsnr."\" >
@@ -155,11 +158,11 @@ if($person_id!='')
$buchung = $buchung['parent'];
//1. Ebene
drawrow($buchung);
-
+
$hier.="
buchungsnr."\" >";
-
+
if(isset($konto->result[$buchung->buchungsnr]['childs']))
{
//2. Ebene
@@ -168,13 +171,13 @@ if($person_id!='')
if(is_object($row))
{
drawrow($row);
-
+
$hier.="
buchungsnr.'" />';
}
}
}
-
+
$hier.="
";
@@ -191,7 +194,7 @@ $hier="
";
echo $hier;
-
+
echo '
';
@@ -223,13 +226,13 @@ elseif ($xmlformat=='xml')
if($parent->betrag>0)
$rueckerstattung=true;
}
- else
+ else
{
if($row->betrag>0)
$rueckerstattung=true;
}
-
- if($rueckerstattung)
+
+ if($rueckerstattung)
echo "";
echo "
convertISODate($row->buchungsdatum)."]]>
@@ -246,13 +249,29 @@ elseif ($xmlformat=='xml')
{
global $conn, $datum;
$pers = new person();
-
+
$pers->load($row->person_id);
-
+
$stg = new studiengang($row->studiengang_kz);
$student_obj = new student();
$student_obj->load_person($row->person_id, $row->studiengang_kz);
-
+
+ $prestudent = new prestudent();
+ $prestudent->getLastStatus($student_obj->prestudent_id, $row->studiensemester_kurzbz);
+
+ $studiengang_bezeichnung_sto='';
+ $studiengang_bezeichnung_sto_englisch='';
+ $stpl = new studienplan();
+ if($stpl->loadStudienplan($prestudent->studienplan_id))
+ {
+ $sto = new studienordnung();
+ if($sto->loadStudienordnung($stpl->studienordnung_id))
+ {
+ $studiengang_bezeichnung_sto = $sto->studiengangbezeichnung;
+ $studiengang_bezeichnung_sto_englisch = $sto->studiengangbezeichnung_englisch;
+ }
+ }
+
switch($stg->typ)
{
case 'b':
@@ -267,7 +286,7 @@ elseif ($xmlformat=='xml')
default:
$studTyp ='';
}
-
+
echo "
person_id."]]>
@@ -288,6 +307,8 @@ elseif ($xmlformat=='xml')
".DOC_ROOT."skin/images/
bezeichnung."]]>
+
+
";
}
@@ -295,10 +316,10 @@ elseif ($xmlformat=='xml')
$buchungstyp = new konto();
$buchungstyp->getBuchungstyp();
$btyp = array();
-
+
foreach ($buchungstyp->result as $row)
- $btyp[$row->buchungstyp_kurzbz]=$row->beschreibung;
-
+ $btyp[$row->buchungstyp_kurzbz]=$row->beschreibung;
+
if($person_id!='')
foreach ($konto->result as $buchung)
drawrow_xml($buchung);
@@ -315,7 +336,7 @@ elseif ($xmlformat=='xml')
{
drawperson_xml($konto);
$drawperson=false;
- }
+ }
drawrow_xml($konto);
}
}
diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php
index f9a5d509a..234ef7ed6 100755
--- a/rdf/student.rdf.php
+++ b/rdf/student.rdf.php
@@ -47,6 +47,8 @@ require_once('../include/mitarbeiter.class.php');
require_once('../include/organisationsform.class.php');
require_once('../include/konto.class.php');
require_once('../include/reihungstest.class.php');
+require_once('../include/studienordnung.class.php');
+require_once('../include/studienplan.class.php');
// *********** Funktionen *************************
function convdate($date)
@@ -760,9 +762,27 @@ else
if($row = $db->db_fetch_object())
{
$semester = $row->ausbildungssemester;
+ $studienplan_id = $row->studienplan_id;
}
}
+ if($studienplan_id!='')
+ {
+ $stpl = new studienplan();
+ $stpl->loadStudienplan($studienplan_id);
+
+ $sto = new studienordnung();
+ $sto->loadStudienordnung($stpl->studienordnung_id);
+
+ $sto_studiengang_bezeichnung = $sto->studiengangbezeichnung;
+ $sto_studiengang_bezeichnung_englisch = $sto->studiengangbezeichnung_englisch;
+ }
+ else
+ {
+ $sto_studiengang_bezeichnung='';
+ $sto_studiengang_bezeichnung_englisch='';
+ }
+
//für ao. Studierende wird der Studiengang der Lehrveranstaltungen benötigt, die sie besuchen
$lv_studiengang_kz='';
$lv_studiengang_bezeichnung='';
@@ -863,6 +883,8 @@ else
orgform_kurzbz.']]>
bezeichnung.']]>
+
+
diff --git a/rdf/studienerfolg.rdf.php b/rdf/studienerfolg.rdf.php
index b1b25b1a9..063043251 100644
--- a/rdf/studienerfolg.rdf.php
+++ b/rdf/studienerfolg.rdf.php
@@ -31,6 +31,8 @@ require_once('../include/studiengang.class.php');
require_once('../include/mitarbeiter.class.php');
require_once('../include/prestudent.class.php');
require_once('../include/student.class.php');
+require_once('../include/studienordnung.class.php');
+require_once('../include/studienplan.class.php');
$datum = new datum();
$db = new basis_db();
@@ -40,23 +42,23 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
global $xml, $note_arr, $datum, $note_wert;
$db = new basis_db();
- $query = "SELECT
- tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.bezeichnung,
- tbl_studentlehrverband.semester, tbl_person.titelpre, tbl_person.titelpost,
- tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum,
+ $query = "SELECT
+ tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.bezeichnung,
+ tbl_studentlehrverband.semester, tbl_person.titelpre, tbl_person.titelpost,
+ tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum,
tbl_studiensemester.bezeichnung as sembezeichnung,
tbl_studiengang.english as bezeichnung_englisch,
tbl_studiengang.orgform_kurzbz
- FROM
- public.tbl_person, public.tbl_student, public.tbl_studiengang, public.tbl_benutzer,
- public.tbl_studentlehrverband, public.tbl_studiensemester
- WHERE
- tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz
- and tbl_student.student_uid = tbl_benutzer.uid
- and tbl_benutzer.person_id = tbl_person.person_id
- and tbl_student.student_uid = ".$db->db_add_param($uid)."
- and tbl_studentlehrverband.student_uid=tbl_student.student_uid
- and tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz
+ FROM
+ public.tbl_person, public.tbl_student, public.tbl_studiengang, public.tbl_benutzer,
+ public.tbl_studentlehrverband, public.tbl_studiensemester
+ WHERE
+ tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz
+ and tbl_student.student_uid = tbl_benutzer.uid
+ and tbl_benutzer.person_id = tbl_person.person_id
+ and tbl_student.student_uid = ".$db->db_add_param($uid)."
+ and tbl_studentlehrverband.student_uid=tbl_student.student_uid
+ and tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz
and tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz);
if($db->db_query($query))
@@ -73,46 +75,57 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
$student->load($uid);
$prestudentstatus = new prestudent();
$prestudentstatus->getLastStatus($student->prestudent_id,'','Student');
-
+
if($studiensemester_aktuell!=$prestudentstatus->studiensemester_kurzbz)
$studiensemester_aktuell = $prestudentstatus->studiensemester_kurzbz;
-
+
$studiensemester->load($studiensemester_aktuell);
-
+
$semester_aktuell='';
- $qry_semester = "SELECT tbl_prestudentstatus.ausbildungssemester as semester FROM public.tbl_student, public.tbl_prestudentstatus
- WHERE tbl_student.prestudent_id=tbl_prestudentstatus.prestudent_id
- AND tbl_prestudentstatus.status_kurzbz in('Student','Incoming','Outgoing','Praktikant','Diplomand')
- AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_aktuell)."
+ $qry_semester = "SELECT tbl_prestudentstatus.ausbildungssemester as semester FROM public.tbl_student, public.tbl_prestudentstatus
+ WHERE tbl_student.prestudent_id=tbl_prestudentstatus.prestudent_id
+ AND tbl_prestudentstatus.status_kurzbz in('Student','Incoming','Outgoing','Praktikant','Diplomand')
+ AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_aktuell)."
AND tbl_student.student_uid = ".$db->db_add_param($uid);
-
+
if($db->db_query($qry_semester))
if($row_semester = $db->db_fetch_object())
$semester_aktuell=$row_semester->semester;
if($semester_aktuell=='')
$studiensemester_aktuell='';
-
- $qry_semester = "SELECT tbl_prestudentstatus.ausbildungssemester as semester, tbl_prestudentstatus.orgform_kurzbz FROM public.tbl_student, public.tbl_prestudentstatus
- WHERE tbl_student.prestudent_id=tbl_prestudentstatus.prestudent_id
- AND tbl_prestudentstatus.status_kurzbz in('Student','Incoming','Outgoing','Praktikant','Diplomand')
- AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
+
+ $qry_semester = "SELECT tbl_prestudentstatus.ausbildungssemester as semester, tbl_prestudentstatus.orgform_kurzbz, tbl_prestudentstatus.studienplan_id FROM public.tbl_student, public.tbl_prestudentstatus
+ WHERE tbl_student.prestudent_id=tbl_prestudentstatus.prestudent_id
+ AND tbl_prestudentstatus.status_kurzbz in('Student','Incoming','Outgoing','Praktikant','Diplomand')
+ AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND tbl_student.student_uid = ".$db->db_add_param($uid);
-
+
$orgform='';
+ $studiengang_bezeichnung_sto='';
+ $studiengang_bezeichnung_sto_englisch='';
+
if($db->db_query($qry_semester))
{
if($row_semester = $db->db_fetch_object())
{
$row->semester=$row_semester->semester;
$orgform = $row_semester->orgform_kurzbz;
+
+ $stpl = new studienplan();
+ $stpl->loadStudienplan($row_semester->studienplan_id);
+ $sto = new studienordnung();
+ $sto->loadStudienordnung($stpl->studienordnung_id);
+
+ $studiengang_bezeichnung_sto = $sto->studiengangbezeichnung;
+ $studiengang_bezeichnung_sto_englisch = $sto->studiengangbezeichnung_englisch;
}
}
// Wenn der Studiernede keine Orgform eingetragen hat, wird die Orgform des Studiengang genommen
if($orgform=='')
$orgform = $row->orgform_kurzbz;
-
+
$studiengang = new studiengang();
$stgleiter = $studiengang->getLeitung($row->studiengang_kz);
$stgl='';
@@ -126,14 +139,14 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
{
$stg = new studiengang();
$stg->load($row->studiengang_kz);
-
+
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($row->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($row->studiengang_kz));
-
+
$stdsem = new studiensemester($studiensemester_kurzbz);
-
+
$xml .= " ";
$xml .= " ".DOC_ROOT."skin/images/";
$xml .= " ".$row->sembezeichnung."";
@@ -144,6 +157,8 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
$xml .= " ".$semester_aktuell."";
$xml .= " ".$row->bezeichnung."";
$xml .= " ".$row->bezeichnung_englisch."";
+ $xml .= " ".$studiengang_bezeichnung_sto."";
+ $xml .= " ".$studiengang_bezeichnung_sto_englisch."";
$xml .= " ".$studiengang_kz."";
$xml .= " ".$row->titelpre."";
$xml .= " ".$row->titelpost."";
@@ -168,7 +183,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
if(!$obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid, $studiensemester_kurzbz))
die('Fehler beim Laden der Noten:'.$obj->errormsg);
-
+
$gesamtstunden=0;
$gesamtects=0;
@@ -185,12 +200,12 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
$note = "";
if($note!='')
{
- $qry = "SELECT
- wochen
- FROM
+ $qry = "SELECT
+ wochen
+ FROM
public.tbl_semesterwochen
JOIN lehre.tbl_lehrveranstaltung USING(studiengang_kz, semester)
- WHERE
+ WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id);
$wochen = 15;
@@ -276,11 +291,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
for ($i = 0; $i < sizeof($uid_arr); $i++)
{
//Studienbestaetigung fuer alle Semester dieses Studenten
- $qry = "SELECT * FROM public.tbl_studiensemester
+ $qry = "SELECT * FROM public.tbl_studiensemester
WHERE studiensemester_kurzbz in(
- SELECT studiensemester_kurzbz
- FROM public.tbl_prestudentstatus JOIN public.tbl_student USING(prestudent_id)
- WHERE student_uid='".addslashes($uid_arr[$i])."')
+ SELECT studiensemester_kurzbz
+ FROM public.tbl_prestudentstatus JOIN public.tbl_student USING(prestudent_id)
+ WHERE student_uid='".addslashes($uid_arr[$i])."')
ORDER BY start";
if($db->db_query($qry))
while($row = $db->db_fetch_object())
diff --git a/soap/semesterticket_client.php b/soap/semesterticket_client.php
index d478e3260..ba4e309c8 100644
--- a/soap/semesterticket_client.php
+++ b/soap/semesterticket_client.php
@@ -24,7 +24,7 @@ $db = new basis_db();