This commit is contained in:
Christian Paminger
2007-11-30 14:10:58 +00:00
parent a4a1570047
commit 3b04c1063a
3 changed files with 46 additions and 7 deletions
+2 -2
View File
@@ -31,9 +31,9 @@ function db_query($conn, $sql_query)
// Auth: Benutzer des Webportals
function get_uid()
{
return strtolower(trim($_SERVER['REMOTE_USER']));
//return strtolower(trim($_SERVER['REMOTE_USER']));
// fuer Testzwecke
//return 'pam';
return 'pam';
}
function crlf()
+43 -4
View File
@@ -457,7 +457,8 @@ class lehrstunde
* @return boolean true=ok, false=fehler
*************************************************************************/
function kollision($stpl_table='stundenplandev')
{
{
$ignore_reservation=false;
// Parameter Checken
// Bezeichnung der Stundenplan-Tabelle und des Keys
$stpl_id=$stpl_table.TABLE_ID;
@@ -485,8 +486,46 @@ class lehrstunde
}
$anz=pg_numrows($erg_stpl);
//Check
if ($anz==0)
return false;
if ($anz==0)
{
// Reservierungen pruefen?
if (!$ignore_reservation)
{
// Datenbank abfragen ( studiengang_kz, titel, beschreibung )
$sql_query="SELECT reservierung_id AS id, uid AS lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde
FROM lehre.vw_reservierung
WHERE datum='$this->datum' AND stunde=$this->stunde AND (ort_kurzbz='$this->ort_kurzbz' OR ";
if ($this->lektor_uid!='_DummyLektor')
$sql_query.="(uid='$this->lektor_uid') AND uid!='_DummyLektor' OR ";
$sql_query.="(studiengang_kz=$this->studiengang_kz AND semester=$this->sem";
if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
$sql_query.=" AND (verband='$this->ver' OR verband IS NULL OR verband='' OR verband=' ')";
if ($this->grp!=null && $this->grp!='' && $this->grp!=' ')
$sql_query.=" AND (gruppe='$this->grp' OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
if ($this->gruppe_kurzbz!=null && $this->gruppe_kurzbz!='' && $this->gruppe_kurzbz!=' ')
$sql_query.=" AND (gruppe_kurzbz='$this->gruppe_kurzbz')";
$sql_query.="))";
//echo $sql_query.'<br>';
if (! $erg_res=pg_query($this->conn, $sql_query))
{
$this->errormsg=$sql_query.pg_last_error($this->conn);
return true;
}
$anz_res=pg_numrows($erg_res);
//Check
if ($anz_res==0)
{
return false;
}
else
{
$row=pg_fetch_object($erg_res);
$this->errormsg="Kollision (Reservierung): $row->id|$row->lektor|$row->ort_kurzbz|$row->stg_kurzbz-$row->semester$row->verband$row->gruppe$row->gruppe_kurzbz - $row->datum/$row->stunde";
return true;
}
}
return false;
}
else
{
$row=pg_fetch_object($erg_stpl);
@@ -496,4 +535,4 @@ class lehrstunde
}
}
?>
?>
@@ -357,7 +357,7 @@ mail($adress, 'SYNC-Fehler StP-Prestudent von '.$_SERVER['HTTP_HOST'], $error_lo
mail($adress, 'SYNC StP-Prestudent von '.$_SERVER['HTTP_HOST'], "Sync Student\n------------\n\n"
."Personen: Gesamt: ".$anzahl_person_gesamt." / Eingefügt: ".$eingefuegt." / Fehler: ".$fehler." / Doppelt: ".$dublette
."\n\n".$dateiausgabe."Beginn: ".$start."\nEnde: ".date("d.m.Y H:i:s")."\n\n".$ausgabe, "From: vilesci@technikum-wien.at");
."\n\nBeginn: ".$start."\nEnde: ".date("d.m.Y H:i:s")."\n\n".$ausgabe, "From: vilesci@technikum-wien.at");
?>