mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
290 lines
11 KiB
PHP
290 lines
11 KiB
PHP
<?php
|
|
/* Copyright (C) 2009 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>,
|
|
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
|
* Gerald Simane-Sequens <gerald.simane@technikum-wien.at>.
|
|
*/
|
|
/****************************************************************************
|
|
* Script: stpl_detail.php
|
|
* Descr: Das Script dient zur Detailanzeige eines Eintrags im Stundenplan.
|
|
* Es wird in Verbandsplan und Reservierungen gesucht.
|
|
* Verzweigungen: von stpl_week.php
|
|
* Author: Christian Paminger
|
|
* Erstellt: 21.8.2001
|
|
* Update: 11.11.2004 von Christian Paminger
|
|
*****************************************************************************/
|
|
|
|
require_once('../../../config/cis.config.inc.php');
|
|
require_once('../../../include/ort.class.php');
|
|
require_once('../../../include/functions.inc.php');
|
|
require_once('../../../include/datum.class.php');
|
|
require_once('../../../include/phrasen.class.php');
|
|
|
|
$sprache = getSprache();
|
|
$p = new phrasen($sprache);
|
|
|
|
if (!$db = new basis_db())
|
|
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
|
|
|
// Variablen uebernehmen
|
|
if (isset($_GET['type']))
|
|
$type=$_GET['type'];
|
|
else
|
|
$type='';
|
|
|
|
if (isset($_GET['datum']))
|
|
$datum=$_GET['datum'];
|
|
if (isset($_GET['stunde']))
|
|
$stunde=$_GET['stunde'];
|
|
if (isset($_GET['ort_kurzbz']))
|
|
$ort_kurzbz=$_GET['ort_kurzbz'];
|
|
if (isset($_GET['pers_uid']))
|
|
$pers_uid=$_GET['pers_uid'];
|
|
if (isset($_GET['stg_kz']))
|
|
$stg_kz=$_GET['stg_kz'];
|
|
if (isset($_GET['sem']))
|
|
$sem=$_GET['sem'];
|
|
|
|
if($sem!='' && !is_numeric($sem))
|
|
die($p->t('lvplan/semesterIstUngueltig'));
|
|
|
|
if($stunde!='' && !is_numeric($stunde))
|
|
die($p->t('lvplan/stundeIstUngueltig'));
|
|
|
|
if (isset($_GET['ver']))
|
|
$ver=$_GET['ver'];
|
|
|
|
if (isset($_GET['grp']))
|
|
$grp=$_GET['grp'];
|
|
if (isset($_GET['gruppe_kurzbz']))
|
|
$gruppe_kurzbz=$_GET['gruppe_kurzbz'];
|
|
|
|
$datum_obj = new datum();
|
|
if(!$datum_obj->checkDatum($datum))
|
|
die($p->t('lvplan/datumIstUngueltig'));
|
|
|
|
$stsem = getStudiensemesterFromDatum($datum);
|
|
//Stundenplan
|
|
$sql_query="
|
|
SELECT
|
|
campus.vw_stundenplan.*, 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_lehrveranstaltung as lehrfach ON (vw_stundenplan.lehrfach_id=lehrfach.lehrveranstaltung_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=".$db->db_add_param($pers_uid);
|
|
}
|
|
elseif ($type=='ort' || $type=='lva')
|
|
$sql_query.=" AND vw_stundenplan.ort_kurzbz=".$db->db_add_param($ort_kurzbz);
|
|
else
|
|
{
|
|
if($stg_kz=='' || $sem=='')
|
|
die('Fehlerhafte Parameteruebergabe');
|
|
|
|
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
|
|
/*
|
|
if (isset($ver) && $ver!='0')
|
|
$sql_query.=" AND (verband='$ver' OR verband IS NULL OR verband='0')";
|
|
if (isset($ver) && $grp!='0')
|
|
$sql_query.=" AND (gruppe='$grp' OR gruppe IS NULL OR gruppe='0')";
|
|
*/
|
|
}
|
|
|
|
$sql_query.=' ORDER BY unr ASC, stg_kurzbz, vw_stundenplan.semester, verband, gruppe, gruppe_kurzbz LIMIT 100';
|
|
//echo $sql_query.'<BR>';
|
|
|
|
$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=".$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=".$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=".$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.'<BR>';
|
|
|
|
$erg_repl = $db->db_query($sql_query);
|
|
$num_rows_repl = $db->db_num_rows($erg_repl);
|
|
|
|
echo '<html>
|
|
<head>
|
|
<title>'.$p->t('lvplan/lehrveranstaltungsplanDetails').'</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
|
</head>
|
|
<body id="inhalt">
|
|
<H2>'.$p->t('lvplan/lehrveranstaltungsplan').' ⇒ '.$p->t('abgabetool/details').'</H2>
|
|
'.$p->t('abgabetool/datum').': '.htmlentities($datum_obj->formatDatum($datum, 'd.m.Y')).'<BR>
|
|
'.$p->t('global/stunde').': '.htmlentities($stunde).'<BR><BR>
|
|
';
|
|
|
|
// LVPlan
|
|
if ($num_rows_stpl>0)
|
|
{
|
|
echo '
|
|
<table class="stdplan">
|
|
<tr>
|
|
<th>'.$p->t('lvplan/unr').'</th>
|
|
<th>'.$p->t('lvaliste/lektor').'</th>
|
|
<th>'.$p->t('lvplan/ort').'</th>
|
|
<th>'.$p->t('lvaliste/lehrfach').'</th>
|
|
<th>'.$p->t('global/bezeichnung').'</th>
|
|
<th>'.$p->t('global/verband').'</th>
|
|
<th>'.$p->t('lvplan/einheit').'</th>
|
|
<th>'.$p->t('lvplan/info').'</th>
|
|
</tr>';
|
|
|
|
$ort = new ort();
|
|
$i=0;
|
|
while($row = $db->db_fetch_object($erg_stpl))
|
|
{
|
|
$i++;
|
|
$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 '
|
|
<tr class="liste'.($i%2).'">
|
|
<td>'.$db->convert_html_chars($unr).'</td>
|
|
<td><A class="Item" href="../profile/index.php?uid='.$row->uid.'" target="_self" onClick="window.resizeTo(1200,880)">'.$db->convert_html_chars($titelpre.' '.$pers_vorname.' '.$pers_nachname.' '.$titelpost).'</A></td>
|
|
<td title="'.$db->convert_html_chars($ort->bezeichnung).'">'.(!empty($ortkurzbz)?($ort->content_id!=''?'<a href="../../../cms/content.php?content_id='.$ort->content_id.'" target="_self" onClick="window.resizeTo(1200,880)">'.$db->convert_html_chars($ortkurzbz).'</a>':$db->convert_html_chars($ortkurzbz)):$db->convert_html_chars($ortkurzbz)).'</td>
|
|
<td>'.$db->convert_html_chars($lehrfachkurzbz).'</td>
|
|
<td>'.$db->convert_html_chars($bezeichnung).'</td>
|
|
<td title="'.$db->convert_html_chars($stgkurzbz.$semester.mb_strtolower($verband).$gruppe).'">
|
|
'.(!is_null($semester) && !empty($semester)?'<A class="Item" title="'.$anzahl_lvb.' '.$p->t('lvplan/studierende').'" href="mailto:'.$stgkurzbz.$semester.mb_strtolower($verband).$gruppe.'@'.DOMAIN .'">':'');
|
|
echo $db->convert_html_chars($stgkurzbz.'-'.$semester.$verband.$gruppe);
|
|
echo (!is_null($semester) && !empty($semester)?'</A>':'');
|
|
echo '
|
|
</td>
|
|
|
|
<td><A class="Item" title="'.$anzahl_grp.' Studierende" href="mailto:'.mb_strtolower($gruppe_kurzbz).'@'.DOMAIN.'">
|
|
'.$db->convert_html_chars($gruppe_kurzbz).'</A></td>
|
|
<td>'.$db->convert_html_chars($titel).'</td>
|
|
|
|
</tr>';
|
|
}
|
|
echo '</table><BR>';
|
|
}
|
|
|
|
// Reservierungen
|
|
if ($num_rows_repl>0)
|
|
{
|
|
echo '<h2>'.$p->t('lvplan/reservierungen').'</h2>';
|
|
echo '<table class="stdplan">';
|
|
echo '<tr><th>'.$p->t('global/titel').'</th><th>'.$p->t('lvplan/ort').'</th><th>'.$p->t('global/person').'</th><th>'.$p->t('global/beschreibung').'</th></tr>';
|
|
$i=0;
|
|
$ort = new ort();
|
|
while($row = $db->db_fetch_object($erg_repl))
|
|
{
|
|
$i++;
|
|
$titel=$row->titel;
|
|
$ortkurzbz=$row->ort_kurzbz;
|
|
$titelpre=$row->titelpre;
|
|
$titelpost=$row->titelpost;
|
|
$pers_vorname=$row->vorname;
|
|
$pers_nachname=$row->nachname;
|
|
$pers_email=$row->uid.'@'.DOMAIN;
|
|
$beschreibung=$row->beschreibung;
|
|
$ort->load($ortkurzbz);
|
|
|
|
echo '<tr class="liste'.($i%2).'">';
|
|
echo '<td >'.$db->convert_html_chars($titel).'</td>';
|
|
echo '<td>'.(!empty($ortkurzbz)?($ort->content_id!=''?'<a href="../../../cms/content.php?content_id='.$ort->content_id.'" target="_self" onClick="window.resizeTo(1200,880)">'.$db->convert_html_chars($ortkurzbz).'</a>':$db->convert_html_chars($ortkurzbz)):$db->convert_html_chars($ortkurzbz)).'</td>';
|
|
echo '<td ><A href="mailto:'.$pers_email.'">'.$db->convert_html_chars($titelpre.' '.$pers_vorname.' '.$pers_nachname.' '.$titelpost).'</A></td>';
|
|
echo '<td >'.$db->convert_html_chars($beschreibung).'</td></tr>';
|
|
}
|
|
echo '</table><br>';
|
|
}
|
|
echo '<P>'.$p->t('lvplan/fehlerUndFeedback').' <A class="Item" href="mailto:'.MAIL_LVPLAN.'">'.$p->t('lvplan/lvKoordinationsstelle').'</A>.</P>
|
|
</body></html>';
|
|
?>
|