- lector_choice.php berechtigungsfix

- lvaliste nun mit LV-bezeichnung
- Ansprechpartner aktualisiert
- Zeitsperre eingefügt
This commit is contained in:
Andreas Österreicher
2007-02-15 16:57:30 +00:00
parent 9cf08d9811
commit b0df896f20
7 changed files with 594 additions and 87 deletions
+2 -2
View File
@@ -108,9 +108,9 @@
$sql_query = "SELECT DISTINCT vorname, nachname, uid FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, campus.vw_mitarbeiter
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND
studiensemester_kurzbz='$stsem' AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
mitarbeiter_uid=uid ORDER BY nachname, vorname, uid";
mitarbeiter_uid=uid AND uid='$user' ORDER BY nachname, vorname, uid";
//studiensemester_kurzbz='$stsem' AND
if($result = pg_query($sql_conn, $sql_query))
{
+2 -1
View File
@@ -61,7 +61,8 @@ $qry = "SELECT
WHERE
person.uid='$user' AND
person.person_pk=student.person_fk AND
studiengang.studiengang_pk=student.studiengang_fk
studiengang.studiengang_pk=student.studiengang_fk
ORDER BY aufgenommenam DESC LIMIT 1
";
if(!$row=pg_fetch_object(pg_query($conn,$qry)))
+5 -1
View File
@@ -63,7 +63,7 @@
if ($num_rows>0)
{
echo '<BR><BR><table border="0">';
echo '<tr class="liste"><th>LVNR</th><th>Lehrfach</th><th>Lehrform</th><th>Bezeichnung</th><th>Lektor</th><th>STG</th><th>S</th><th>V</th><th>G</th><th>Gruppe</th><th>Raumtyp</th><th>Alternativ</th><th>Block</th><th>WR</th><th>Std</th><th>KW</th><th>Anmerkung</th></tr>';
echo '<tr class="liste"><th>LVNR</th><th>Lehrfach</th><th>Lehrform</th><th>LV Bezeichnung</th><th>Lehrfach Bezeichnung</th><th>Lektor</th><th>STG</th><th>S</th><th>V</th><th>G</th><th>Gruppe</th><th>Raumtyp</th><th>Alternativ</th><th>Block</th><th>WR</th><th>Std</th><th>KW</th><th>Anmerkung</th></tr>';
for ($i=0; $i<$num_rows; $i++)
{
$zeile=$i % 2;
@@ -73,6 +73,10 @@
echo '<td>'.$row->lvnr.'</td>';
echo '<td>'.$row->lehrfach.'</td>';
echo '<td>'.$row->lehrform_kurzbz.'</td>';
$qry = "SELECT bezeichnung FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id='$row->lehrveranstaltung_id'";
$result_lv = pg_query($conn, $qry);
$row_lv = pg_fetch_object($result_lv);
echo '<td>'.$row_lv->bezeichnung.'</td>';
echo '<td>'.$row->lehrfach_bez.'</td>';
echo '<td>'.$row->lektor.'</td>';
echo '<td>'.$row->stg_kurzbz.'</td>';
+256 -74
View File
@@ -1,25 +1,43 @@
<?php
include('../../config.inc.php');
include('../../../include/functions.inc.php');
/*
if (isset($REMOTE_USER))
$uid=$REMOTE_USER;
else
$uid='pam';
*/
/* Copyright (C) 2006 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/zeitsperre.class.php');
require_once('../../../include/datum.class.php');
$uid = get_uid();
if(isset($_GET['type']))
$type=$_GET['type'];
if (!$conn = @pg_pconnect(CONN_STRING))
die("Es konnte keine Verbindung zum Server aufgebaut werden.");
$datum_obj = new datum();
//Stundentabelleholen
if(! $result_stunde=pg_exec($conn, "SET search_path TO campus; SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
if(! $result_stunde=pg_query($conn, "SET search_path TO campus; SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
die(pg_last_error($conn));
$num_rows_stunde=pg_numrows($result_stunde);
$num_rows_stunde=pg_num_rows($result_stunde);
// Zeitwuensche speichern
if (isset($type) && $type=='save')
@@ -45,7 +63,7 @@
{
$query="UPDATE tbl_zeitwunsch SET gewicht=$gewicht WHERE mitarbeiter_uid='$uid' AND stunde=$stunde AND tag=$t";
//echo $query;
if(!($erg=pg_exec($conn, $query)))
if(!($erg=pg_query($conn, $query)))
die(pg_last_error($conn));
}
else
@@ -55,7 +73,7 @@
if(!($erg=pg_query($conn, "SELECT * FROM tbl_zeitwunsch WHERE mitarbeiter_uid='$uid'")))
die(pg_last_error($conn));
$num_rows=pg_numrows($erg);
$num_rows=pg_num_rows($erg);
for ($i=0;$i<$num_rows;$i++)
{
$tag=pg_result($erg,$i,"tag");
@@ -67,9 +85,9 @@
// Personendaten
if(! $result=pg_exec($conn, "SELECT * FROM vw_benutzer WHERE uid='$uid'"))
if(! $result=pg_query($conn, "SELECT * FROM vw_benutzer WHERE uid='$uid'"))
die(pg_last_error($conn));
if (pg_numrows($result)==1)
if (pg_num_rows($result)==1)
$person=pg_fetch_object($result);
?>
@@ -79,6 +97,12 @@
<title>Profil</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../../skin/cis.css" type="text/css">
<script language="Javascript">
function conf_del()
{
return confirm('Wollen Sie diesen Eintrag wirklich löschen?');
}
</script>
</head>
<body>
@@ -88,11 +112,11 @@
&nbsp;<a href="index.php">Userprofil</a> &gt;&gt;
&nbsp;Zeitw&uuml;nsche
</td>
<td align="right"><A href="../lvplan/help/index.html" class="hilfe" target="_blank">HELP&nbsp;</A></td>
<td align="right"><A onclick="window.open('zeitwunsch_help.html','Hilfe', 'height=320,width=480,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');" class="hilfe" target="_blank">HELP&nbsp;</A></td>
</tr>
</table>
</H2>
<div align="right">Results: <?php echo $num_rows; ?> - <?php echo $uid; ?></div>
<!--<div align="right">Results: <?php echo $num_rows; ?> - <?php echo $uid; ?></div>-->
<H3>
Zeitw&uuml;nsche von <?php echo $person->titelpre.' '.$person->vorname.' '.$person->nachname; ?>
</H3>
@@ -133,61 +157,219 @@
<INPUT type="hidden" name="uid" value="<?php echo $uid; ?>">
<INPUT type="submit" name="Abschicken" value="Speichern">
</FORM>
<br>
<hr>
<H3>Erkl&auml;rung:</H3>
<P>Bitte kontrollieren/&auml;ndern Sie Ihre Zeitw&uuml;nsche und klicken Sie anschlie&szlig;end
auf &quot;Speichern&quot;!<BR><BR>
</P>
<TABLE width="50%" align="center" name="Zeitwerte">
<TR>
<TH><B>Wert</B></TH>
<TH>
<DIV align="center"><B>Bedeutung</B></DIV>
</TH>
</TR>
<TR>
<TD>
<DIV align="right">2</DIV>
</TD>
<TD>Hier m&ouml;chte ich unterrichten</TD>
</TR>
<TR>
<TD>
<DIV align="right">1</DIV>
</TD>
<TD>Hier kann ich unterrichten</TD>
</TR>
<TR>
<TD>
<DIV align="right">0</DIV>
</TD>
<TD>keine Bedeutung</TD>
</TR>
<TR>
<TD>
<DIV align="right">-1</DIV>
</TD>
<TD>Hier nur in extremen Notf&auml;llen</TD>
</TR>
<TR>
<TD>
<DIV align="right">-2</DIV>
</TD>
<TD>Hier auf gar keinen Fall !!!</TD>
</TR>
</TABLE>
<P>&nbsp;</P>
<H3>Folgende Punkte sind zu beachten:</H3>
<OL>
<LI> Verwenden Sie den Wert -2 nur, wenn Sie zu dieser Stunde wirklich nicht
k&ouml;nnen, um eine bessere Optimierung zu erm&ouml;glichen.</LI>
<LI>Es sollten f&uuml;r jede Stunde die tats&auml;chlich unterrichtet wird,
mindestens das 3-fache an positiven Zeitw&uuml;nschen angegeben werden.<BR>
Beispiel: Sie unterrichten 4 Stunden/Woche, dann sollten Sie mindestens
12 Stunden im Raster mit positiven Werten ausf&uuml;llen.</LI>
</OL>
<P>Bei Problemen wenden Sie sich bitte an die <A href="mailto:lvplan@technikum-wien.at">LV-Koordinationsstelle</A>.</P>
<P>&nbsp;</P>
<!-- ZEITSPERREN -->
<H3>Zeitsperren</h3>
<table width="100%">
<tr>
<td valign='top'>
<?php
//Zeitsperre Speichern
if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre'))
{
$error=false;
$error_msg='';
if(!ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$_POST['vondatum']))
{
$error=true;
$errormsg .= 'Von-Datum ist ungueltig ';
}
if(!ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$_POST['bisdatum']))
{
$error=true;
$errormsg .= 'Bis-Datum ist ungueltig ';
}
$zeitsperre = new zeitsperre($conn);
if($_GET['type']=='edit_sperre')
{
if(!is_numeric($_GET['id']))
{
$error=true;
$error_msg.='Invalid id ';
}
else
{
$zeitsperre->load($_GET['id']);
$zeitsperre->new=false;
$zeitsperre->zeitsperre_id = $_GET['id'];
}
}
else
{
$zeitsperre->new=true;
$zeitsperre->insertamum = date('Y-m-d H:i:s');
$zeitsperre->insertvon = $uid;
}
if(!$error)
{
$zeitsperre->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz'];
$zeitsperre->mitarbeiter_uid = $uid;
$zeitsperre->bezeichnung = $_POST['bezeichnung'];
$zeitsperre->vondatum = $_POST['vondatum'];
$zeitsperre->vonstunde = $_POST['vonstunde'];
$zeitsperre->bisdatum = $_POST['bisdatum'];
$zeitsperre->bisstunde = $_POST['bisstunde'];
$zeitsperre->erreichbarkeit = $_POST['erreichbarkeit'];
$zeitsperre->vertretung_uid = $_POST['vertretung_uid'];
$zeitsperre->updateamum = date('Y-m-d H:i:s');
$zeitsperre->updatevon = $uid;
if($zeitsperre->save())
{
echo "Daten wurden erfolgreich gespeichert";
}
else
echo "<span class='error'>Fehler beim Speichern der Daten</span>";
}
else
echo "<span class='error'>$error_msg</span>";
}
if(isset($_GET['type']) && $_GET['type']=='delete_sperre')
{
$zeit = new zeitsperre($conn);
$zeit->load($_GET['id']);
if($zeit->mitarbeiter_uid==$uid)
{
if($zeit->delete($_GET['id']))
{
echo "Eintrag wurde geloescht";
}
else
echo "<span class='error'>Fehler beim loeschen des Eintrages</span>";
}
else
echo "<span class='error'>Sie haben keine Berechtigung diesen Datensatz zu loeschen</span>";
}
$zeit = new zeitsperre($conn);
$zeit->getzeitsperren($uid);
if(count($zeit->result)>0)
{
echo '<table><tr class="liste" style="font-size: 14;"><th>Bezeichnung</th><th>Grund</th><th>Von</th><th>Bis</th><th>Vertretung</th><th>Erreichbarkeit</th></tr>';
foreach ($zeit->result as $row)
{
echo "<tr class='liste'><td>$row->bezeichnung</td><td>$row->zeitsperretyp_kurzbz</td><td nowrap>$row->vondatum ".($row->vonstunde!=''?'('.$row->vonstunde.')':'')."</td><td nowrap>$row->bisdatum ".($row->bisstunde!=''?'('.$row->bisstunde.')':'')."</td><td>$row->vertretung_uid</td><td>$row->erreichbarkeit</td><td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>edit</a></td><td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id' onclick='return conf_del()' class='Item'>delete</a></td></tr>";
}
echo '</table>';
}
else
echo "Derzeit sind keine Zeitsperren eingetragen!";
echo '</td>';
echo '<td>';
$zeitsperre = new zeitsperre($conn);
$action = "$PHP_SELF?type=new_sperre";
if(isset($_GET['type']) && $_GET['type']=='edit')
{
if(isset($_GET['id']) && is_numeric($_GET['id']))
{
$zeitsperre->load($_GET['id']);
if($zeitsperre->mitarbeiter_uid!=$uid)
{
die("<span class='error'>Sie haben keine Berechtigung diese Zeitsperre zu aendern</span>");
}
$action = "$PHP_SELF?type=edit_sperre&id=".$_GET['id'];
}
else
{
die("<span class='error'>Fehlerhafte Parameteruebergabe</span>");
}
}
echo '<form method="POST" action="'.$action.'">';
echo "<table>\n";
echo '<tr><td>Grund</td><td><SELECT name="zeitsperretyp_kurzbz">';
$qry = "SELECT * FROM campus.tbl_zeitsperretyp ORDER BY zeitsperretyp_kurzbz";
if($result = pg_query($conn, $qry))
{
while($row=pg_fetch_object($result))
{
if($zeitsperre->zeitsperretyp_kurzbz == $row->zeitsperretyp_kurzbz)
echo "<OPTION value='$row->zeitsperretyp_kurzbz' selected>$row->zeitsperretyp_kurzbz</OPTION>";
else
echo "<OPTION value='$row->zeitsperretyp_kurzbz'>$row->zeitsperretyp_kurzbz</OPTION>";
}
}
echo '</SELECT>';
echo '<tr><td>Bezeichnung</td><td><input type="text" name="bezeichnung" maxlength="32" value="'.$zeitsperre->bezeichnung.'"></td></tr>';
echo '<tr><td>von</td><td><input type="text" size="10" maxlength="10" name="vondatum" value="'.($zeitsperre->vondatum!=''?date('d.m.Y',$datum_obj->mktime_fromdate($zeitsperre->vondatum)):date('d.m.Y')).'"> ';
$qry = "SELECT stunde FROM lehre.tbl_stunde ORDER BY stunde";
echo "Stunde (inklusive)";
echo "<SELECT name='vonstunde'>\n";
if($zeitsperre->vonstunde=='')
echo "<OPTION value='' selectd>*</OPTION>\n";
else
echo "<OPTION value=''>*</OPTION>\n";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($zeitsperre->vonstunde==$row->stunde)
echo "<OPTION value='$row->stunde' selected>$row->stunde</OPTION>\n";
else
echo "<OPTION value='$row->stunde'>$row->stunde</OPTION>\n";
}
}
echo "</SELECT></td></tr>";
echo '<tr><td>bis</td><td><input type="text" size="10" maxlength="10" name="bisdatum" value="'.($zeitsperre->bisdatum!=''?date('d.m.Y',$datum_obj->mktime_fromdate($zeitsperre->bisdatum)):date('d.m.Y')).'"> ';
$qry = "SELECT stunde FROM lehre.tbl_stunde ORDER BY stunde";
echo "Stunde (inklusive)";
echo "<SELECT name='bisstunde'>\n";
if($zeitsperre->bisstunde=='')
echo "<OPTION value='' selectd>*</OPTION>\n";
else
echo "<OPTION value=''>*</OPTION>\n";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($zeitsperre->bisstunde==$row->stunde)
echo "<OPTION value='$row->stunde' selected>$row->stunde</OPTION>\n";
else
echo "<OPTION value='$row->stunde'>$row->stunde</OPTION>\n";
}
}
echo "</SELECT></td></tr>";
echo '<tr><td>Erreichbarkeit</td><td><input type="text" name="erreichbarkeit" value="'.$zeitsperre->erreichbarkeit.'" maxlength="5" size="5"></td></tr>';
echo "<tr><td>Vertretung</td><td><SELECT name='vertretung_uid'>";
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid not LIKE '\\\_%' ORDER BY nachname, vorname";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($zeitsperre->vertretung_uid == $row->uid)
echo "<OPTION value='$row->uid' selected>$row->nachname $row->vorname ($row->uid)</OPTION>\n";
else
echo "<OPTION value='$row->uid'>$row->nachname $row->vorname ($row->uid)</OPTION>\n";
}
}
echo '</SELECT></td></tr>';
echo '<tr><td>&nbsp;</td><td>';
if(isset($_GET['type']) && $_GET['type']=='edit')
echo "<input type='submit' name='submit_zeitsperre' value='Speichern'>";
else
echo "<input type='submit' name='submit_zeitsperre' value='Hinzufügen'>";
echo '</td></tr>';
echo '</table>';
?>
</td>
</tr>
</table>
</body>
</html>
+15 -8
View File
@@ -68,14 +68,7 @@ else
<td nowrap>&nbsp;</td>
</tr>
<tr>
<td width="260" nowrap>Braunstorfer Michael (Leitung)</td>
<td width="50" nowrap>240</td>
<td nowrap><?php echo ($visible?'<a class="Item" href="mailto:michael.braunstorfer@technikum-wien.at">michael.braunstorfer@technikum-wien.at</a>':'')?></td>
<td width="56" nowrap>&nbsp;</td>
<td nowrap>Termin nach Vereinbarung</td>
</tr>
<tr>
<td width="260" nowrap>Ing. Esberger Franz </td>
<td width="260" nowrap>Ing. Esberger Franz (Leitung interimistisch)</td>
<td width="50" nowrap>243</td>
<td nowrap><?php echo ($visible?'<a class="Item" href="mailto:franz.esberger@technikum-wien.at">franz.esberger@technikum-wien.at</a>':'')?></td>
<td width="56" nowrap>&nbsp;</td>
@@ -95,6 +88,20 @@ else
<td width="56" nowrap>&nbsp;</td>
<td nowrap>Termin nach Vereinbarung</td>
</tr>
<tr>
<td width="260" nowrap>Lechner Martin</td>
<td width="50" nowrap>240</td>
<td nowrap><?php echo ($visible?'<a class="Item" href="mailto:lechner@technikum-wien.at">lechner@technikum-wien.at</a>':'')?></td>
<td width="56" nowrap>&nbsp;</td>
<td nowrap>Termin nach Vereinbarung</td>
</tr>
<tr>
<td width="260" nowrap>Braunstorfer Michael</td>
<td width="50" nowrap>240</td>
<td nowrap><?php echo ($visible?'<a class="Item" href="mailto:michael.braunstorfer@technikum-wien.at">michael.braunstorfer@technikum-wien.at</a>':'')?></td>
<td width="56" nowrap>&nbsp;</td>
<td nowrap>Termin nach Vereinbarung</td>
</tr>
<tr>
<td colspan="2" nowrap>&nbsp;</td>
<td nowrap>&nbsp;</td>
+35 -1
View File
@@ -48,7 +48,41 @@ class datum
/**
* Liefert einen UNIX Timestamp von einem String im
* Format "31.12.2007 14:30"
* Format "31.12.2007"
*/
function mktime_datum($datum)
{
if(ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$datum, $regs))
{
return mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
}
else
{
$this->errormsg = 'Falsches Datumsformat';
return false;
}
}
/**
* Liefert einen UNIX Timestamp von einem Datum im
* Format "2007-01-31"
*/
function mktime_fromdate($datum)
{
if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
{
return mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
}
else
{
$this->errormsg = 'Falsches Datumsformat';
return false;
}
}
/**
* Liefert einen UNIX Timestamp von einem String im
* Format "2007-01-31 14:30:12"
*/
function mktime_fromtimestamp($timestamp)
{
+279
View File
@@ -0,0 +1,279 @@
<?php
/* Copyright (C) 2006 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
class zeitsperre
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var news Objekt
//Tabellenspalten
var $zeitsperre_id; // serial
var $zeitsperretyp_kurzbz; // varchar(8)
var $mitarbeiter_uid; // varchar(16)
var $bezeichnung; // varchar(32)
var $vondatum; // date
var $vonstunde; // smallint
var $bisdatum; // date
var $bisstunde; // smallint
var $erreichbarkeit; // varchar(5)
var $vertretung_uid; // varchar(16)
var $updateamum; // timestamp
var $updatevon; // string
var $insertamum; // timestamp
var $insertvon; // string
/**
* Konstruktor
* @param $conn Connection zur DB
* $zeitsperre_id ID der zu ladenden Funktion
*/
function zeitsperre($conn, $zeitsperre_id=null)
{
$this->conn = $conn;
if($zeitsperre_id != null)
$this->load($zeitsperre_id);
}
// **********************************
// * Laedt alle Zeitsperren bei denen
// * ende>=now() ist und uid=$uid
// **********************************
function getzeitsperren($uid)
{
$qry = "SELECT * FROM campus.tbl_zeitsperre WHERE mitarbeiter_uid='".addslashes($uid)."' AND bisdatum>=now() ORDER BY vondatum";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$obj = new zeitsperre($this->conn);
$obj->zeitsperre_id = $row->zeitsperre_id;
$obj->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->bezeichnung = $row->bezeichnung;
$obj->vondatum = $row->vondatum;
$obj->vonstunde = $row->vonstunde;
$obj->bisdatum = $row->bisdatum;
$obj->bisstunde = $row->bisstunde;
$obj->erreichbarkeit = $row->erreichbarkeit;
$obj->vertretung_uid = $row->vertretung_uid;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim laden der Zeitsperren';
return false;
}
}
/**
* Laedt eine Zeitsperre
* @param $zeitsperre_id ID der zu laden ist
* @return true wenn ok, false im Fehlerfall
*/
function load($zeitsperre_id)
{
if(!is_numeric($zeitsperre_id))
{
$this->errormsg = 'zeitsperre_id muß eine gültige Zahl sein';
return false;
}
$qry = "SELECT * FROM campus.tbl_zeitsperre WHERE zeitsperre_id = '$zeitsperre_id';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
if($row=pg_fetch_object($res))
{
$this->zeitsperre_id = $row->zeitsperre_id;
$this->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->bezeichnung = $row->bezeichnung;
$this->vondatum = $row->vondatum;
$this->vonstunde = $row->vonstunde;
$this->bisdatum = $row->bisdatum;
$this->bisstunde = $row->bisstunde;
$this->erreichbarkeit = $row->erreichbarkeit;
$this->vertretung_uid = $row->vertretung_uid;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Loescht einen Datensatz
* @param $zeitsperre_id id des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($zeitsperre_id)
{
if(!is_numeric($zeitsperre_id))
{
$this->errormsg = 'Zeitsperre_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM campus.tbl_zeitsperre WHERE zeitsperre_id='$zeitsperre_id'";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim L&ouml;schen';
return false;
}
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
{
if(strlen($this->bezeichnung)>32)
{
$this->errormsg = "Bezeichnung darf nicht laenger als 32 Zeichen sein";
return false;
}
if(strlen($this->zeitsperretyp_kurzbz)>8)
{
$this->errormsg = "Zeitsperretyp_kurzbz darf nicht laenger als 8 Zeichen sein";
return false;
}
if(strlen($this->mitarbeiter_uid)>16)
{
$this->errormsg = "Mitarbeiter_uid darf nicht laenger als 8 Zeichen sein";
return false;
}
if(strlen($this->erreichbarkeit)>5)
{
$this->errormsg = "Erreichbarkeit darf nicht laenger als 8 Zeichen sein";
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
return false;
if($this->new)
{
//Neuen Datensatz anlegen
$qry = 'INSERT INTO campus.tbl_zeitsperre (zeitsperretyp_kurzbz, mitarbeiter_uid, bezeichnung,'.
' vondatum ,vonstunde, bisdatum, bisstunde, erreichbarkeit, vertretung_uid, insertamum,'.
' insertvon, updateamum, updatevon) VALUES ('.
$this->addslashes($this->zeitsperretyp_kurzbz).', '.
$this->addslashes($this->mitarbeiter_uid).', '.
$this->addslashes($this->bezeichnung).', '.
$this->addslashes($this->vondatum).', '.
$this->addslashes($this->vonstunde).', '.
$this->addslashes($this->bisdatum).', '.
$this->addslashes($this->bisstunde).', '.
$this->addslashes($this->erreichbarkeit).', '.
$this->addslashes($this->vertretung_uid).', '.
$this->addslashes($this->insertamum).', '.
$this->addslashes($this->insertvon).', '.
$this->addslashes($this->updateamum).', '.
$this->addslashes($this->updatevon).'); ';
}
else
{
//bestehenden Datensatz akualisieren
//Pruefen ob zeitsperre_id eine gueltige Zahl ist
if(!is_numeric($this->zeitsperre_id) || $this->zeitsperre_id == '')
{
$this->errormsg = 'Zeitsperre_id muss eine gueltige Zahl sein';
return false;
}
$qry = 'UPDATE campus.tbl_zeitsperre SET '.
'zeitsperretyp_kurzbz='.$this->addslashes($this->zeitsperretyp_kurzbz).', '.
'mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).', '.
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
'vondatum='.$this->addslashes($this->vondatum).', '.
'vonstunde='.$this->addslashes($this->vonstunde).', '.
'bisdatum='.$this->addslashes($this->bisdatum).', '.
'bisstunde='.$this->addslashes($this->bisstunde).', '.
'erreichbarkeit='.$this->addslashes($this->erreichbarkeit).', '.
'vertretung_uid='.$this->addslashes($this->vertretung_uid).', '.
'insertamum='.$this->addslashes($this->insertamum).', '.
'insertvon='.$this->addslashes($this->insertvon).', '.
'updateamum='.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).' '.
'WHERE zeitsperre_id = '.$this->addslashes($this->zeitsperre_id).';';
}
if(pg_query($this->conn, $qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
}
?>