diff --git a/cis/private/lvplan/stpl_detail.php b/cis/private/lvplan/stpl_detail.php index 13e1a98c6..17986327a 100644 --- a/cis/private/lvplan/stpl_detail.php +++ b/cis/private/lvplan/stpl_detail.php @@ -114,7 +114,7 @@ if ($type=='lektor') { $sql_query.=" AND vw_stundenplan.uid=".$db->db_add_param($pers_uid); } -elseif ($type=='ort') +elseif ($type=='ort' || $type=='lva') $sql_query.=" AND vw_stundenplan.ort_kurzbz=".$db->db_add_param($ort_kurzbz); else { diff --git a/cis/private/lvplan/stpl_kalender.php b/cis/private/lvplan/stpl_kalender.php index f4a852035..3b5129358 100644 --- a/cis/private/lvplan/stpl_kalender.php +++ b/cis/private/lvplan/stpl_kalender.php @@ -74,6 +74,7 @@ $version=(isset($_GET['version'])?$_GET['version']:2); $target=(isset($_GET['target'])?$_GET['target']:null); $stsem=(isset($_GET['stsem'])?$_GET['stsem']:''); +$lva=(isset($_GET['lva'])?$_GET['lva']:''); if(isset($_GET["cal"])) @@ -269,7 +270,7 @@ $stdplan = new wochenplan($type); $stdplan->crlf=$crlf; // Zusaetzliche Daten laden -if(!$stdplan->load_data($type,$pers_uid,$ort_kurzbz,$stg_kz,$sem,$ver,$grp,$gruppe_kurzbz) ) +if(!$stdplan->load_data($type,$pers_uid,$ort_kurzbz,$stg_kz,$sem,$ver,$grp,$gruppe_kurzbz,null,$lva) ) { die($stdplan->errormsg); } diff --git a/cis/private/lvplan/stpl_week.php b/cis/private/lvplan/stpl_week.php index 74138a3f4..81a44916f 100644 --- a/cis/private/lvplan/stpl_week.php +++ b/cis/private/lvplan/stpl_week.php @@ -131,6 +131,13 @@ else if (isset($_POST['stg_kz'])) else $stg_kz=null; +if (isset($_GET['lva'])) + $lva=$_GET['lva']; +else if (isset($_POST['lva'])) + $lva=$_POST['lva']; +else + $lva=null; + if (isset($_POST['sem'])) $sem=$_POST['sem']; else if (isset($_GET['sem'])) @@ -298,7 +305,7 @@ $stdplan->user=$user; $stdplan->user_uid=$uid; // Zusaetzliche Daten laden -if (! $stdplan->load_data($type,$pers_uid,$ort_kurzbz,$stg_kz,$sem,$ver,$grp,$gruppe_kurzbz) ) +if (! $stdplan->load_data($type,$pers_uid,$ort_kurzbz,$stg_kz,$sem,$ver,$grp,$gruppe_kurzbz,null,$lva) ) { die($stdplan->errormsg); } diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php index 48381e627..68d774e94 100644 --- a/cis/private/profile/studienplan.php +++ b/cis/private/profile/studienplan.php @@ -353,9 +353,11 @@ function drawTree($tree, $depth) case 'modul': $icon=' '; $style=' style="background-color:#CCCCCC"'; + $termine=''; break; case 'lv': $icon=' '; + $termine="Termine"; break; default: $icon=''; @@ -395,10 +397,10 @@ function drawTree($tree, $depth) $sprache = 'de'; } if($lvinfo->exists($row_tree->lehrveranstaltung_id, getSprache())) - echo $icon."lehrveranstaltung_id&language=$sprache','Lehrveranstaltungsinformation','width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes');\">".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.""; + echo $icon." ".$termine." lehrveranstaltung_id&language=$sprache','Lehrveranstaltungsinformation','width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes');\">".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.""; else // Bezeichnung der Lehrveranstaltung - echo $icon.$row_tree->kurzbz.' - '.$row_tree->bezeichnung; + echo $icon." ".$termine." ".$row_tree->kurzbz.' - '.$row_tree->bezeichnung; echo $bende.''; // Semester diff --git a/include/lehrstunde.class.php b/include/lehrstunde.class.php index 5cf8e3a82..15c96cd71 100644 --- a/include/lehrstunde.class.php +++ b/include/lehrstunde.class.php @@ -232,7 +232,7 @@ class lehrstunde extends basis_db * @param gruppe_kurzbz * */ - public function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null, $fachbereich_kurzbz=null) + public function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null, $fachbereich_kurzbz=null, $lva=NULL) { $num_rows_einheit=0; // Parameter Checken @@ -281,6 +281,12 @@ class lehrstunde extends basis_db $this->errormsg='Fehler: Studiengang ist nicht gesetzt'; return -1; } + // LVA + if ($type=='lva' && $lva==NULL) + { + $this->errormsg='Fehler: LVA-ID ist nicht gesetzt'; + return -1; + } // Type if ($type==null) { @@ -335,8 +341,11 @@ class lehrstunde extends basis_db $sql_query_stdplan='SELECT * FROM '.$stpl_view; if ($type!='idList') { + $sql_query_lva=""; $sql_query=" WHERE datum>=".$this->db_add_param($datum_von)." AND datum<".$this->db_add_param($datum_bis); - if ($type=='lektor') + if ($type == 'lva') + $sql_query_lva=" AND lehrveranstaltung_id=".$this->db_add_param($lva); + elseif ($type=='lektor') $sql_query.=" AND uid=".$this->db_add_param($uid); elseif ($type=='ort') $sql_query.=" AND ort_kurzbz=".$this->db_add_param($ort_kurzbz); @@ -369,8 +378,8 @@ class lehrstunde extends basis_db } $sql_query.=')'; } - $sql_query.=' ORDER BY datum, stunde, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, uid'; - $sql_query_stdplan.=$sql_query; + $sql_query_orderby=' ORDER BY datum, stunde, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, uid'; + $sql_query_stdplan.=$sql_query . $sql_query_lva . $sql_query_orderby; } else { @@ -432,7 +441,7 @@ class lehrstunde extends basis_db { // Datenbankabfrage generieren $sql_query_reservierung='SELECT * FROM campus.vw_reservierung'; - $sql_query_reservierung.=$sql_query; + $sql_query_reservierung.=$sql_query . $sql_query_orderby; //Datenbankabfrage if (!$this->db_query($sql_query_reservierung)) diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php index 4b6cc1c67..91ccdcfff 100644 --- a/include/wochenplan.class.php +++ b/include/wochenplan.class.php @@ -60,6 +60,7 @@ class wochenplan extends basis_db public $sem; // @brief Semester public $ver; // @brief Verband (A,B,C,...) public $grp; // @brief Gruppe (1,2) + public $lva; // @brief ID der Lehrveranstaltung public $pers_uid; // @brief Account Name der Person (PK) public $pers_titelpost; // @brief Titel der Person @@ -147,11 +148,11 @@ class wochenplan extends basis_db * @param $grp * @param $gruppe */ - public function load_data($type, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe=NULL, $fachbereich_kurzbz=NULL) + public function load_data($type, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe=NULL, $fachbereich_kurzbz=NULL, $lva=NULL) { // Parameter Checken // Typ des Stundenplans - if ($type=='student' || $type=='lektor' || $type=='verband' || $type=='gruppe' || $type=='ort' || $type=='fachbereich') + if ($type=='student' || $type=='lektor' || $type=='verband' || $type=='gruppe' || $type=='ort' || $type=='fachbereich' || $type=='lva') $this->type=$type; else { @@ -212,6 +213,18 @@ class wochenplan extends basis_db $this->fachbereich_kurzbz=$fachbereich_kurzbz; } + + // LVA + if($type=='lva' && $lva==NULL) + { + $this->errormsg='Fehler: LVA-ID ist nicht gesetzt'; + return false; + } + elseif($type=='lva') + { + $this->lva=$lva; + } + // Zusaetzliche Daten ermitteln //personendaten if ($this->type=='student' || $this->type=='lektor') @@ -280,7 +293,7 @@ class wochenplan extends basis_db } // Studiengangsdaten ermitteln - if ($this->type=='student' || $this->type=='verband') + if ($this->type=='student' || $this->type=='verband' || $this->type=='lva') { $sql_query="SELECT bezeichnung, kurzbz, kurzbzlang, typ, UPPER(typ||kurzbz) AS kuerzel, english FROM public.tbl_studiengang WHERE studiengang_kz=".$this->db_add_param($this->stg_kz); //echo $sql_query; @@ -358,7 +371,7 @@ class wochenplan extends basis_db // Stundenplandaten ermittlen $this->wochenplan=new lehrstunde(); - $anz=$this->wochenplan->load_lehrstunden($this->type,$this->datum_begin,$this->datum_end,$this->pers_uid,$this->ort_kurzbz,$this->stg_kz,$this->sem,$this->ver,$this->grp,$this->gruppe_kurzbz, $stpl_view, null,$this->fachbereich_kurzbz); + $anz=$this->wochenplan->load_lehrstunden($this->type,$this->datum_begin,$this->datum_end,$this->pers_uid,$this->ort_kurzbz,$this->stg_kz,$this->sem,$this->ver,$this->grp,$this->gruppe_kurzbz, $stpl_view, null,$this->fachbereich_kurzbz,$this->lva); if ($anz<0) { $this->errormsg=$this->wochenplan->errormsg; @@ -442,13 +455,15 @@ class wochenplan extends basis_db } if ($this->type=='ort') echo ''.$p->t('lvplan/raum').': '.$this->ort_kurzbz.' - '.$this->ort_bezeichnung.' - '.($this->ort_max_person!=''?'( '.$this->ort_max_person.' '.$p->t('lvplan/personen').' )':'').($this->ort_content_id!=''?' - '.$p->t('lvplan/rauminformationenAnzeigen').'':'').'
'.$this->ort_ausstattung; + if ($this->type=='lva') + $this->link.='&lva='.$this->lva; echo '

'.$this->crlf; echo ' '; //echo ' '; echo '
'.$p->t('lvplan/semesterplaene').'
'.$this->crlf; //Kalender - $this->kal_link.='&pers_uid='.$this->pers_uid.'&ort_kurzbz='.$this->ort_kurzbz.'&stg_kz='.$this->stg_kz.'&sem='.$this->sem.'&ver='.$this->ver.'&grp='.$this->grp.'&gruppe_kurzbz='.$this->gruppe_kurzbz; + $this->kal_link.='&pers_uid='.$this->pers_uid.'&ort_kurzbz='.$this->ort_kurzbz.'&stg_kz='.$this->stg_kz.'&sem='.$this->sem.'&ver='.$this->ver.'&grp='.$this->grp.'&gruppe_kurzbz='.$this->gruppe_kurzbz.'&lva='.$this->lva; //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; @@ -484,6 +499,8 @@ class wochenplan extends basis_db $link_parameter='&stg_kz='.$this->stg_kz.'&sem='.$this->sem.'&ver='.$this->ver.'&grp='.$this->grp; if ($this->type=='student' || $this->type=='lektor') $link_parameter='&pers_uid='.$this->pers_uid; + if ($this->type=='lva') + $link_parameter='&lva='.$this->lva; // Ort Jump if ($this->type=='ort')