This commit is contained in:
Christian Paminger
2007-07-03 15:17:55 +00:00
parent c702fef7b1
commit 855bcda5a1
5 changed files with 98 additions and 50 deletions
+5 -3
View File
@@ -56,6 +56,7 @@ if(check_lektor($user,$db_conn))
$is_lector=true;
else
$is_lector=false;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -194,13 +195,13 @@ else
</tr>
<?php
}
if ($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter') || $fkt->checkFunktion('stglstv') || $fkt->checkFunktion('stgl') || $fkt->checkFunktion('ass'))
if ($rechte->isFix())
{
?>
<tr>
<td width="10" nowrap>&nbsp;</td>
<td nowrap>
<a href="profile/zeitsperre_days.php?days=7" target="content" class="MenuItem" onClick="js_toggle_container('Zeitsperren');">
<a href="profile/zeitsperre_days.php?days=12" target="content" class="MenuItem" onClick="js_toggle_container('Zeitsperren');">
<img src="../../skin/images/menu_item.gif" width="7" height="9">&nbsp;Zeitsperren
</a>
</td>
@@ -213,9 +214,10 @@ else
<td nowrap>
<ul style="margin-top: 0px; margin-bottom: 0px;">
<?php
if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter'))
echo '<li><a class="Item2" href="profile/resturlaub.php" target="content">Resturlaub</a></li>';
if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter') || $fkt->checkFunktion('stglstv')|| $fkt->checkFunktion('stgl') || $fkt->checkFunktion('ass'))
{
echo '<li><a class="Item2" href="profile/resturlaub.php" target="content">Resturlaub</a></li>';
echo '<li><a class="Item2" href="profile/zeitsperre.php?fix=true" target="content">Fix-Angestellte</a></li>';
echo '<li><a class="Item2" href="profile/zeitsperre.php?fix=true&lektor=true" target="content">Fixe Lektoren</a></li>';
}
+1 -1
View File
@@ -39,7 +39,7 @@
$datum_beginn=date('Y-m-d');
$ts_beginn=$datum_obj->mktime_fromdate($datum_beginn);
$ts_ende=$datum_obj->jump_week($ts_beginn,1);
$ts_ende=$datum_obj->jump_day($ts_beginn,12);
$datum_ende=date('Y-m-d',$ts_ende);
// Lektoren holen
+61 -29
View File
@@ -15,7 +15,7 @@
* 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>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
@@ -26,7 +26,7 @@ class benutzerberechtigung
var $errormsg; // string
var $new; // boolean
var $berechtigungen = array(); // benutzerberechtigung Objekt
//Tabellenspalten
var $benutzerberechtigung_id; // int
var $art; // varchar(16)
@@ -39,33 +39,37 @@ class benutzerberechtigung
var $ende; // date
var $starttimestamp;
var $endetimestamp;
//Attribute des Mitarbeiters
var $fix;
var $lektor;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
// * @param $conn Datenbank-Connection
// * $benutzerberechtigung_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * $benutzerberechtigung_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function benutzerberechtigung($conn, $benutzerberechtigung_id=null, $unicode=false)
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
if($benutzerberechtigung_id!=null)
$this->load($benutzerberechtigung_id);
}
// *********************************************************
// * Laedt eine Benutzerberechtigung
// * @param benutzerberechtigung_id
@@ -74,9 +78,9 @@ class benutzerberechtigung
{
return true;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
@@ -87,7 +91,7 @@ class benutzerberechtigung
$this->errormsg = 'Art darf nicht laenger als 16 Zeichen sein';
return false;
}
if(strlen($this->fachbereich_kurzbz)>16)
{
$this->errormsg = 'fachbereich_kurzbz darf nicht laenger als 16 Zeichen sein';
@@ -118,13 +122,13 @@ class benutzerberechtigung
$this->errormsg = 'UID muss angegeben werden';
return false;
}
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
@@ -146,8 +150,8 @@ class benutzerberechtigung
return false;
if($this->new)
{
$qry = 'INSERT INTO public.tbl_benutzerberechtigung (art, fachbereich_kurzbz, studiengang_kz, berechtigung_kurzbz,
{
$qry = 'INSERT INTO public.tbl_benutzerberechtigung (art, fachbereich_kurzbz, studiengang_kz, berechtigung_kurzbz,
uid, studiensemester_kurzbz, start, ende)
VALUES('.$this->addslashes($this->art).','.
$this->addslashes($this->fachbereich_kurzbz).','.
@@ -183,7 +187,7 @@ class benutzerberechtigung
return false;
}
}
// ************************************************************
// * Speichert Benutzerberechtigung in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
@@ -202,7 +206,7 @@ class benutzerberechtigung
}
return true;
}
//****************************************************************************
// * Rueckgabewert ist ein Array mit den Ergebnissen. Bei Fehler false und die
// * Fehlermeldung liegt in errormsg.
@@ -223,11 +227,11 @@ class benutzerberechtigung
$this->errormsg='Fehler beim laden der Berechtigungen';
return false;
}
while($row=pg_fetch_object($erg))
{
$b=new benutzerberechtigung($this->conn);
$b->benutzerberechtigung_id = $row->benutzerberechtigung_id;
$b->art=$row->art;
$b->fachbereich_kurzbz=$row->fachbereich_kurzbz;
@@ -244,9 +248,29 @@ class benutzerberechtigung
if ($row->ende!=null)
$b->endetimestamp=mktime(23,59,59,substr($row->ende,5,2),substr($row->ende,8),substr($row->ende,0,4));
$this->berechtigungen[]=$b;
}
// Attribute des Mitarbeiters holen
$sql_query="SELECT * FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='$uid'";
if(!$erg=pg_query($this->conn, $sql_query))
{
$this->errormsg='Fehler beim laden der Berechtigungen';
return false;
}
while($row=pg_fetch_object($erg))
{
if ($row->fixangestellt=='t')
$this->fix=true;
else
$this->fix=false;
if ($row->lektor=='t')
$this->lektor=true;
else
$this->lektor=false;
}
return true;
}
@@ -270,7 +294,7 @@ class benutzerberechtigung
return true;
}
}
//Wenn Berechtigung fuer Bestimmte Klasse vorhanden ist
if($berechtigung == $b->berechtigung_kurzbz && $studiengang_kz==null && $art==null && $fachbereich_kurzbz==null)
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
@@ -281,7 +305,7 @@ class benutzerberechtigung
else
return true;
//Wenn Berechtigung fuer Bestimmten Studiengang vorhanden ist
if ($berechtigung==$b->berechtigung_kurzbz
if ($berechtigung==$b->berechtigung_kurzbz
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0) && $art==null && $b->fachbereich_kurzbz==null)
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{
@@ -290,9 +314,9 @@ class benutzerberechtigung
}
else
return true;
//Wenn Berechtigung mit Studiengang und der richtigen BerechtigungsArt (suid) vorhanden ist
if ($berechtigung==$b->berechtigung_kurzbz
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0)
//Wenn Berechtigung mit Studiengang und der richtigen BerechtigungsArt (suid) vorhanden ist
if ($berechtigung==$b->berechtigung_kurzbz
&& ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0)
&& strstr($b->art,$art))
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{
@@ -305,6 +329,14 @@ class benutzerberechtigung
return false;
}
function isFix()
{
if ($this->fix)
return true;
else
return false;
}
// ********************************************************************
// * Gibt Array mit Kennzahlen der Studiengaenge sortiert zurueck.
// * Optional wird auf Berechtigung eingeschraenkt.
@@ -314,7 +346,7 @@ class benutzerberechtigung
{
$studiengang_kz=array();
$timestamp=time();
foreach ($this->berechtigungen as $b)
if ($berechtigung==$b->berechtigung_kurzbz || $berechtigung==null)
if($b->fachbereich_kurzbz==null)
@@ -323,7 +355,7 @@ class benutzerberechtigung
sort($studiengang_kz);
return $studiengang_kz;
}
function getFbKz($berechtigung=null)
{
$fachbereichs_kz=array();
+15 -1
View File
@@ -111,7 +111,21 @@ class datum
$datum+=3600;
return $datum;
}
/**
* Springt von einen UNIX Timestamp ($datum) $days nach vor bzw. hinten
*/
function jump_day($datum, $days)
{
$stunde_vor=date("G",$datum);
// Ein Tag sind 86400 Sekunden
$datum+=86400*$days;
$stunde_nach=date("G",$datum);
if ($stunde_nach!=$stunde_vor)
$datum+=3600;
return $datum;
}
/**
* Konvertiert das ISO Datumsformat (YYYY-MM-DD)
* nach (DD.MM.YYYY)
+16 -16
View File
@@ -31,14 +31,14 @@ $sql_query="SET search_path TO public;
SELECT tbl_lehrverband.studiengang_kz, tbl_studiengang.bezeichnung, kurzbz, typ, tbl_lehrverband.semester, verband, gruppe, gruppe_kurzbz, tbl_lehrverband.bezeichnung AS lvb_bezeichnung, tbl_gruppe.bezeichnung AS grp_bezeichnung
FROM (tbl_studiengang JOIN tbl_lehrverband USING (studiengang_kz))
LEFT OUTER JOIN tbl_gruppe ON (tbl_lehrverband.studiengang_kz=tbl_gruppe.studiengang_kz AND tbl_lehrverband.semester=tbl_gruppe.semester AND (tbl_lehrverband.verband=''))
WHERE tbl_lehrverband.aktiv $stg_kz_query
WHERE tbl_lehrverband.aktiv AND tbl_studiengang.aktiv $stg_kz_query
ORDER BY erhalter_kz,typ, kurzbz, semester,verband,gruppe, gruppe_kurzbz;";
if(!$result=pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn);
else
$num_rows=pg_numrows($result);
$stsem_obj = new studiensemester($conn);
$stsem_obj->getAll();
?>
@@ -61,7 +61,7 @@ while ($row=pg_fetch_object($result))
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
<VERBAND:stg_kz><?php echo $row->studiengang_kz; ?></VERBAND:stg_kz>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/prestudent'; ?>" >
<VERBAND:name>PreStudent</VERBAND:name>
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
@@ -79,7 +79,7 @@ while ($row=pg_fetch_object($result))
<VERBAND:stsem><?php echo $stsem->studiensemester_kurzbz; ?></VERBAND:stsem>
<VERBAND:typ>prestudent</VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten'; ?>" >
<VERBAND:name>Interessenten</VERBAND:name>
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
@@ -87,7 +87,7 @@ while ($row=pg_fetch_object($result))
<VERBAND:stsem><?php echo $stsem->studiensemester_kurzbz; ?></VERBAND:stsem>
<VERBAND:typ>interessenten</VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten/zgv'; ?>" >
<VERBAND:name>ZGV erfüllt</VERBAND:name>
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
@@ -95,7 +95,7 @@ while ($row=pg_fetch_object($result))
<VERBAND:stsem><?php echo $stsem->studiensemester_kurzbz; ?></VERBAND:stsem>
<VERBAND:typ>zgv</VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestangemeldet'; ?>" >
<VERBAND:name>Reihungstest angemeldet</VERBAND:name>
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
@@ -103,7 +103,7 @@ while ($row=pg_fetch_object($result))
<VERBAND:stsem><?php echo $stsem->studiensemester_kurzbz; ?></VERBAND:stsem>
<VERBAND:typ>reihungstestangemeldet</VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestnichtangemeldet'; ?>" >
<VERBAND:name>Nicht zum Reihungstest angemeldet</VERBAND:name>
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
@@ -111,7 +111,7 @@ while ($row=pg_fetch_object($result))
<VERBAND:stsem><?php echo $stsem->studiensemester_kurzbz; ?></VERBAND:stsem>
<VERBAND:typ>reihungstestnichtangemeldet</VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/bewerber'; ?>" >
<VERBAND:name>Bewerber</VERBAND:name>
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
@@ -119,7 +119,7 @@ while ($row=pg_fetch_object($result))
<VERBAND:stsem><?php echo $stsem->studiensemester_kurzbz; ?></VERBAND:stsem>
<VERBAND:typ>bewerber</VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/aufgenommen'; ?>" >
<VERBAND:name>Aufgenommen</VERBAND:name>
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
@@ -127,7 +127,7 @@ while ($row=pg_fetch_object($result))
<VERBAND:stsem><?php echo $stsem->studiensemester_kurzbz; ?></VERBAND:stsem>
<VERBAND:typ>aufgenommen</VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/warteliste'; ?>" >
<VERBAND:name>Warteliste</VERBAND:name>
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
@@ -135,7 +135,7 @@ while ($row=pg_fetch_object($result))
<VERBAND:stsem><?php echo $stsem->studiensemester_kurzbz; ?></VERBAND:stsem>
<VERBAND:typ>warteliste</VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/absage'; ?>" >
<VERBAND:name>Absage</VERBAND:name>
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
@@ -235,10 +235,10 @@ while ($row=pg_fetch_object($result))
//Prestudent
echo "\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/prestudent\" />\n";
echo "\t\t\t<RDF:li>\n\t\t\t\t<RDF:Seq RDF:about=\"$rdf_url$stg_kurzbz/prestudent\">\n";
foreach ($stsem_obj->studiensemester as $stsem)
foreach ($stsem_obj->studiensemester as $stsem)
{
echo "\t\t\t<RDF:li>\n\t\t\t\t<RDF:Seq RDF:about=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz\">\n";
echo "\t\t\t<RDF:li>";
echo "\n\t\t\t\t<RDF:Seq RDF:about=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten\">\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/zgv\" />\n";
@@ -246,16 +246,16 @@ while ($row=pg_fetch_object($result))
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/reihungstestnichtangemeldet\" />\n";
echo "\t\t\t\t</RDF:Seq>";
echo "\n\t\t\t</RDF:li>\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/bewerber\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/aufgenommen\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/warteliste\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/absage\" />\n";
echo "\t\t\t</RDF:Seq>\n\t\t\t</RDF:li>\n";
}
echo "\t\t\t</RDF:Seq>\n\t\t\t</RDF:li>\n";
$lastout='stg_kz';
}