diff --git a/cis/private/lvplan/stpl_detail.php b/cis/private/lvplan/stpl_detail.php
index d251b2746..dc31c7b54 100644
--- a/cis/private/lvplan/stpl_detail.php
+++ b/cis/private/lvplan/stpl_detail.php
@@ -81,30 +81,60 @@ if(!$datum_obj->checkDatum($datum))
$stsem = getStudiensemesterFromDatum($datum);
//Stundenplan
-$sql_query='SELECT campus.vw_stundenplan.*, tbl_lehrfach.bezeichnung, vw_mitarbeiter.titelpre, vw_mitarbeiter.titelpost, vw_mitarbeiter.nachname, vw_mitarbeiter.vorname';
-$sql_query.=", (SELECT count(*) FROM public.tbl_studentlehrverband
- WHERE studiengang_kz=vw_stundenplan.studiengang_kz AND semester=vw_stundenplan.semester
- AND (verband=vw_stundenplan.verband OR vw_stundenplan.verband is null OR trim(vw_stundenplan.verband)='')
- AND (gruppe=vw_stundenplan.gruppe OR vw_stundenplan.gruppe is null OR trim(vw_stundenplan.gruppe)='')
- AND studiensemester_kurzbz='".addslashes($stsem)."') as anzahl_lvb
- , (SELECT count(*) FROM public.tbl_benutzergruppe
- WHERE gruppe_kurzbz=vw_stundenplan.gruppe_kurzbz AND studiensemester_kurzbz='".addslashes($stsem)."') as anzahl_grp";
-$sql_query.=' FROM (campus.vw_stundenplan JOIN lehre.tbl_lehrfach USING (lehrfach_id)) JOIN campus.vw_mitarbeiter USING (uid)';
-$sql_query.=" WHERE datum='".addslashes($datum)."' AND stunde='".addslashes($stunde)."'";
+$sql_query="
+SELECT
+ campus.vw_stundenplan.*, tbl_lehrfach.bezeichnung, vw_mitarbeiter.titelpre,
+ vw_mitarbeiter.titelpost, vw_mitarbeiter.nachname, vw_mitarbeiter.vorname,
+ (SELECT
+ count(*)
+ FROM
+ public.tbl_studentlehrverband
+ WHERE
+ studiengang_kz=vw_stundenplan.studiengang_kz
+ AND semester=vw_stundenplan.semester
+ AND (verband=vw_stundenplan.verband OR vw_stundenplan.verband is null OR trim(vw_stundenplan.verband)='')
+ AND (gruppe=vw_stundenplan.gruppe OR vw_stundenplan.gruppe is null OR trim(vw_stundenplan.gruppe)='')
+ AND studiensemester_kurzbz=".$db->db_add_param($stsem).") as anzahl_lvb,
+ (SELECT
+ count(*)
+ FROM
+ public.tbl_benutzergruppe
+ WHERE
+ gruppe_kurzbz=vw_stundenplan.gruppe_kurzbz
+ AND studiensemester_kurzbz=".$db->db_add_param($stsem).") as anzahl_grp
+FROM
+ campus.vw_stundenplan
+ JOIN lehre.tbl_lehrfach USING (lehrfach_id)
+ JOIN campus.vw_mitarbeiter USING (uid)
+WHERE
+ datum=".$db->db_add_param($datum)."
+ AND stunde=".$db->db_add_param($stunde);
+
if ($type=='lektor')
- $sql_query.=" AND vw_stundenplan.uid='".addslashes($pers_uid)."' ";
+{
+ $sql_query.=" AND vw_stundenplan.uid=".$db->db_add_param($pers_uid);
+}
elseif ($type=='ort')
- $sql_query.=" AND vw_stundenplan.ort_kurzbz='".addslashes($ort_kurzbz)."' ";
+ $sql_query.=" AND vw_stundenplan.ort_kurzbz=".$db->db_add_param($ort_kurzbz);
else
{
if($stg_kz=='' || $sem=='')
die('Fehlerhafte Parameteruebergabe');
- $sql_query.=" AND vw_stundenplan.studiengang_kz='".addslashes($stg_kz)."' AND (vw_stundenplan.semester='".addslashes($sem)."'";
- if ($type=='student')
- $sql_query.=' OR vw_stundenplan.semester='.($sem+1);
- $sql_query.=')';
-
+ if($type=="verband" && $stg_kz!='' && $sem!='')
+ {
+ // Studiengangsansicht
+ $sql_query.=" AND vw_stundenplan.studiengang_kz=".$db->db_add_param($stg_kz)." AND (vw_stundenplan.semester=".$db->db_add_param($sem);
+ if ($type=='student')
+ $sql_query.=' OR vw_stundenplan.semester='.$db->db_add_param($sem+1);
+ $sql_query.=')';
+ }
+ else
+ {
+ // Pers. Ansicht
+ $sql_query.=" AND EXISTS (SELECT 1 FROM campus.vw_student_lehrveranstaltung
+ WHERE lehreinheit_id=vw_stundenplan.lehreinheit_id AND uid=".$db->db_add_param($pers_uid).")";
+ }
// Manfred weiss nicht mehr warum, aber wir aktivieren 23-09-2009
// 01-10-2009: jetzt weiss ers wieder Grund: Student sieht sonst die uebergeordneten nicht
/*
@@ -117,101 +147,129 @@ else
$sql_query.=' ORDER BY unr ASC, stg_kurzbz, vw_stundenplan.semester, verband, gruppe, gruppe_kurzbz LIMIT 100';
//echo $sql_query.'
';
-$erg_stpl=$db->db_query($sql_query);
-$num_rows_stpl=$db->db_num_rows($erg_stpl);
+
+$erg_stpl = $db->db_query($sql_query);
+$num_rows_stpl = $db->db_num_rows($erg_stpl);
//Reservierungen
-$sql_query="SELECT vw_reservierung.*, vw_mitarbeiter.titelpre, vw_mitarbeiter.titelpost, vw_mitarbeiter.vorname,vw_mitarbeiter.nachname FROM campus.vw_reservierung, campus.vw_mitarbeiter WHERE datum='".addslashes($datum)."' AND stunde='".addslashes($stunde)."'";
-if (isset($ort_kurzbz))
- $sql_query.=" AND vw_reservierung.ort_kurzbz='".addslashes($ort_kurzbz)."'";
+$sql_query="
+SELECT
+ vw_reservierung.*, vw_mitarbeiter.titelpre, vw_mitarbeiter.titelpost,
+ vw_mitarbeiter.vorname,vw_mitarbeiter.nachname
+FROM
+ campus.vw_reservierung, campus.vw_mitarbeiter
+WHERE
+ datum=".$db->db_add_param($datum)."
+ AND stunde=".$db->db_add_param($stunde);
+
+if (isset($ort_kurzbz) && $type=='ort')
+ $sql_query.=" AND vw_reservierung.ort_kurzbz=".$db->db_add_param($ort_kurzbz);
if ($type=='lektor')
- $sql_query.=" AND vw_reservierung.uid='".addslashes($pers_uid)."' ";
+ $sql_query.=" AND vw_reservierung.uid=".$db->db_add_param($pers_uid);
$sql_query.=" AND vw_reservierung.uid=vw_mitarbeiter.uid";
if ($type=='verband' || $type=='student')
- $sql_query.=" AND studiengang_kz='".addslashes($stg_kz)."' AND (semester='".addslashes($sem)."' OR semester=0 OR semester IS NULL)";
+{
+ $sql_query.=" AND studiengang_kz=".$db->db_add_param($stg_kz)."
+ AND (semester=".$db->db_add_param($sem)." OR semester=0 OR semester IS NULL)";
+}
$sql_query.=' ORDER BY titel LIMIT 100';
//echo $sql_query.'
';
-$erg_repl=$db->db_query($sql_query);
-$num_rows_repl=$db->db_num_rows($erg_repl);
-?>
-
+$erg_repl = $db->db_query($sql_query);
+$num_rows_repl = $db->db_num_rows($erg_repl);
+
+echo '
| '.$p->t('lvplan/unr').' | '.$p->t('lvaliste/lektor').' | '.$p->t('lvplan/ort').' | '.$p->t('lvaliste/lehrfach').' | '.$p->t('global/bezeichnung').' | '.$p->t('global/verband').' | '.$p->t('lvplan/einheit').' | '.$p->t('lvplan/info').' | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | '.$ortkurzbz.'':$ortkurzbz); ?> | -- | + echo ' + |
| '.$p->t('lvplan/unr').' | +'.$p->t('lvaliste/lektor').' | +'.$p->t('lvplan/ort').' | +'.$p->t('lvaliste/lehrfach').' | +'.$p->t('global/bezeichnung').' | +'.$p->t('global/verband').' | +'.$p->t('lvplan/einheit').' | +'.$p->t('lvplan/info').' | +- t('lvplan/studierende').'" href="mailto:'.$stgkurzbz.$semester.mb_strtolower($verband).$gruppe.'@'.DOMAIN .'">':''); ?> - - ':''); ?> - | - -- | -- - - db_fetch_object($erg_stpl)) + { + $unr = $row->unr; + $ortkurzbz = $row->ort_kurzbz; + $lehrfachkurzbz = $row->lehrfach; + $bezeichnung = $row->bezeichnung; + $pers_kurzbz = $row->lektor; + $titelpre = $row->titelpre; + $titelpost = $row->titelpost; + $pers_vorname = $row->vorname; + $pers_nachname = $row->nachname; + $pers_email = $row->uid.'@'.DOMAIN; + $stgkurzbz = mb_strtoupper(trim($row->stg_typ.$row->stg_kurzbz)); + $semester = trim($row->semester); + $verband = trim($row->verband); + $gruppe = trim($row->gruppe); + $gruppe_kurzbz = trim($row->gruppe_kurzbz); + $anzahl_lvb = trim($row->anzahl_lvb); + $anzahl_grp = trim($row->anzahl_grp); + $titel = trim($row->titel); + $gesamtanzahl = ($anzahl_grp!=0?$anzahl_grp:$anzahl_lvb); + $ort->load($ortkurzbz); + + echo ' + |
|---|---|---|---|---|---|---|---|
| '.$unr.' | +'.$titelpre.' '.$pers_vorname.' '.$pers_nachname.' '.$titelpost.' | +'.(!empty($ortkurzbz)?''.$ortkurzbz.'':$ortkurzbz).' | +'.$lehrfachkurzbz.' | +'.$bezeichnung.' | ++ '.(!is_null($semester) && !empty($semester)?'':''); + echo $stgkurzbz.'-'.$semester.$verband.$gruppe; + echo (!is_null($semester) && !empty($semester)?'':''); + echo ' + | + ++ '.$gruppe_kurzbz.' | +'.$titel.' | + +
| '.$p->t('global/titel').' | '.$p->t('lvplan/ort').' | '.$p->t('global/person').' | '.$p->t('global/beschreibung').' |
|---|---|---|---|
| '.$titel.' | '; echo ''.(!empty($ortkurzbz)?''.$ortkurzbz.'':$ortkurzbz).' | '; @@ -220,6 +278,6 @@ if ($num_rows_repl>0) } echo '
t('lvplan/fehlerUndFeedback')?> t('lvplan/lvKoordinationsstelle')?>.
- +echo ''.$p->t('lvplan/fehlerUndFeedback').' '.$p->t('lvplan/lvKoordinationsstelle').'.
+