diff --git a/vilesci/lehre/stpl_benutzer_kollision.php b/vilesci/lehre/stpl_benutzer_kollision.php index ad5dc8e57..b58bb69e1 100644 --- a/vilesci/lehre/stpl_benutzer_kollision.php +++ b/vilesci/lehre/stpl_benutzer_kollision.php @@ -1,169 +1,171 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/* - * Fuehrt eine Kollisionspruefung im Stundenplan auf Studentenebene durch - */ -require_once('../config.inc.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/studiengang.class.php'); - -if(!$conn = pg_pconnect(CONN_STRING)) - die('Fehler beim Herstellen der Datenbankverbindung'); - -$beginn = (isset($_GET['beginn'])?$_GET['beginn']:''); -$ende = (isset($_GET['ende'])?$_GET['ende']:''); -$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:''); -$dontloadcontent=false; - -$user = get_uid(); -#gss loadVariables($conn, $user); -loadVariables($user); - -echo ' - - -Kollision Student - - - - - - - -

Kollision Student - '.$db_stpl_table.'

-'; -echo '
'; - -if($beginn=='' || $ende=='') -{ - $stsem_obj = new studiensemester($conn); - $stsem_akt = $stsem_obj->getaktorNext(); - $stsem_obj->load($stsem_akt); - - $beginn = $stsem_obj->start; - $ende = $stsem_obj->ende; - $dontloadcontent=true; -} - -echo 'Studiensemester '; - -echo " Beginn "; -echo " Ende "; - -$stg = new studiengang($conn); -$stg->getAll('typ, kurzbzlang', true); -echo ' Studiengang '; - -echo " "; - -echo '
'; - -if($dontloadcontent) - exit; - -if($stg_kz=='') -{ - $qry = "SELECT datum, stunde, student_uid, count(student_uid) AS anzahl - FROM lehre.vw_".$db_stpl_table."_student_unr - WHERE datum>='$beginn' AND datum<='$ende' - GROUP BY datum, stunde, student_uid - HAVING count(student_uid)>1 - ORDER BY datum, stunde, student_uid LIMIT 30; - "; -} -else -{ - $qry = "SELECT datum, stunde, student_uid, count(student_uid) AS anzahl - FROM lehre.vw_".$db_stpl_table."_student_unr JOIN public.tbl_student USING(student_uid) - WHERE datum>='$beginn' AND datum<='$ende' AND studiengang_kz='$stg_kz' - GROUP BY datum, stunde, student_uid - HAVING count(student_uid)>1 - ORDER BY datum, stunde, student_uid LIMIT 30; - "; -} -//echo $qry; -echo ' - '; -echo ' - - - - - - - - - '; - -if($result = pg_query($conn, $qry)) -{ - while($row = pg_fetch_object($result)) - { - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - } -} - -echo '
DatumStundeUIDAnzahl  
$row->datum$row->stunde$row->student_uid$row->anzahlStundenplanUNR
'; -if(pg_num_rows($result)>=30) - echo 'Info: Es werden nur die ersten 30 Einträge angezeigt!'; -echo ', + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/* + * Fuehrt eine Kollisionspruefung im Stundenplan auf Studentenebene durch + */ +require_once('../config.inc.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/studiengang.class.php'); + +if(!$conn = pg_pconnect(CONN_STRING)) + die('Fehler beim Herstellen der Datenbankverbindung'); + +$beginn = (isset($_GET['beginn'])?$_GET['beginn']:''); +$ende = (isset($_GET['ende'])?$_GET['ende']:''); +$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:''); +$dontloadcontent=false; + +$user = get_uid(); +#gss loadVariables($conn, $user); +loadVariables($user); +if (empty($db_stpl_table)) + die("Bitte die Variablenwarten! db_stpl_table ist leer"); + +echo ' + + +Kollision Student + + + + + + + +

Kollision Student - '.$db_stpl_table.'

+'; +echo '
'; + +if($beginn=='' || $ende=='') +{ + $stsem_obj = new studiensemester($conn); + $stsem_akt = $stsem_obj->getaktorNext(); + $stsem_obj->load($stsem_akt); + + $beginn = $stsem_obj->start; + $ende = $stsem_obj->ende; + $dontloadcontent=true; +} + +echo 'Studiensemester '; + +echo " Beginn "; +echo " Ende "; + +$stg = new studiengang($conn); +$stg->getAll('typ, kurzbzlang', true); +echo ' Studiengang '; + +echo " "; + +echo '
'; + +if($dontloadcontent) + exit; + +if($stg_kz=='') +{ + $qry = "SELECT datum, stunde, student_uid, count(student_uid) AS anzahl + FROM lehre.vw_".$db_stpl_table."_student_unr + WHERE datum>='$beginn' AND datum<='$ende' + GROUP BY datum, stunde, student_uid + HAVING count(student_uid)>1 + ORDER BY datum, stunde, student_uid LIMIT 30; + "; +} +else +{ + $qry = "SELECT datum, stunde, student_uid, count(student_uid) AS anzahl + FROM lehre.vw_".$db_stpl_table."_student_unr JOIN public.tbl_student USING(student_uid) + WHERE datum>='$beginn' AND datum<='$ende' AND studiengang_kz='$stg_kz' + GROUP BY datum, stunde, student_uid + HAVING count(student_uid)>1 + ORDER BY datum, stunde, student_uid LIMIT 30; + "; +} +//echo $qry; +echo ' + '; +echo ' + + + + + + + + + '; + +if($result = pg_query($conn, $qry)) +{ + while($row = pg_fetch_object($result)) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } +} + +echo '
DatumStundeUIDAnzahl  
$row->datum$row->stunde$row->student_uid$row->anzahlStundenplanUNR
'; +if(pg_num_rows($result)>=30) + echo 'Info: Es werden nur die ersten 30 Einträge angezeigt!'; +echo ' \ No newline at end of file diff --git a/vilesci/lehre/stpl_benutzer_kollision_details.php b/vilesci/lehre/stpl_benutzer_kollision_details.php index e9143f7ee..4186b762a 100644 --- a/vilesci/lehre/stpl_benutzer_kollision_details.php +++ b/vilesci/lehre/stpl_benutzer_kollision_details.php @@ -115,7 +115,7 @@ if($student_uid!='') } } //letzten Beistrich wieder entfernen - $gruppen = substr($gruppen, 0, strlen($gruppen)-2); + $gruppen = mb_substr($gruppen, 0, mb_strlen($gruppen,'UTF-8')-2,'UTF-8'); echo ""; echo "$row->unr";