diff --git a/cis/private/menu.php b/cis/private/menu.php
index da5185ece..ac39903d0 100644
--- a/cis/private/menu.php
+++ b/cis/private/menu.php
@@ -56,6 +56,7 @@ if(check_lektor($user,$db_conn))
$is_lector=true;
else
$is_lector=false;
+
?>
@@ -194,13 +195,13 @@ else
isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter') || $fkt->checkFunktion('stglstv') || $fkt->checkFunktion('stgl') || $fkt->checkFunktion('ass'))
+ if ($rechte->isFix())
{
?>
| |
-
|
@@ -213,9 +214,10 @@ else
isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter'))
+ echo '- Resturlaub
';
if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter') || $fkt->checkFunktion('stglstv')|| $fkt->checkFunktion('stgl') || $fkt->checkFunktion('ass'))
{
- echo '- Resturlaub
';
echo '- Fix-Angestellte
';
echo '- Fixe Lektoren
';
}
diff --git a/cis/private/profile/zeitsperre_days.php b/cis/private/profile/zeitsperre_days.php
index bd0ebb9d8..183459d8a 100644
--- a/cis/private/profile/zeitsperre_days.php
+++ b/cis/private/profile/zeitsperre_days.php
@@ -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
diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php
index 27b0aa4b1..9fea42136 100644
--- a/include/benutzerberechtigung.class.php
+++ b/include/benutzerberechtigung.class.php
@@ -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 ,
+ * Authors: Christian Paminger ,
* Andreas Oesterreicher and
* Rudolf Hangl .
*/
@@ -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();
diff --git a/include/datum.class.php b/include/datum.class.php
index 60e503660..45f7ee153 100644
--- a/include/datum.class.php
+++ b/include/datum.class.php
@@ -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)
diff --git a/rdf/lehrverbandsgruppe.rdf.php b/rdf/lehrverbandsgruppe.rdf.php
index daa9bee0a..968277e2a 100644
--- a/rdf/lehrverbandsgruppe.rdf.php
+++ b/rdf/lehrverbandsgruppe.rdf.php
@@ -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))
studiengang_kz; ?>
-
+
PreStudent
@@ -79,7 +79,7 @@ while ($row=pg_fetch_object($result))
studiensemester_kurzbz; ?>
prestudent
-
+
Interessenten
@@ -87,7 +87,7 @@ while ($row=pg_fetch_object($result))
studiensemester_kurzbz; ?>
interessenten
-
+
ZGV erfüllt
@@ -95,7 +95,7 @@ while ($row=pg_fetch_object($result))
studiensemester_kurzbz; ?>
zgv
-
+
Reihungstest angemeldet
@@ -103,7 +103,7 @@ while ($row=pg_fetch_object($result))
studiensemester_kurzbz; ?>
reihungstestangemeldet
-
+
Nicht zum Reihungstest angemeldet
@@ -111,7 +111,7 @@ while ($row=pg_fetch_object($result))
studiensemester_kurzbz; ?>
reihungstestnichtangemeldet
-
+
Bewerber
@@ -119,7 +119,7 @@ while ($row=pg_fetch_object($result))
studiensemester_kurzbz; ?>
bewerber
-
+
Aufgenommen
@@ -127,7 +127,7 @@ while ($row=pg_fetch_object($result))
studiensemester_kurzbz; ?>
aufgenommen
-
+
Warteliste
@@ -135,7 +135,7 @@ while ($row=pg_fetch_object($result))
studiensemester_kurzbz; ?>
warteliste
-
+
Absage
@@ -235,10 +235,10 @@ while ($row=pg_fetch_object($result))
//Prestudent
echo "\t\t\t\n";
echo "\t\t\t\n\t\t\t\t\n";
- foreach ($stsem_obj->studiensemester as $stsem)
+ foreach ($stsem_obj->studiensemester as $stsem)
{
echo "\t\t\t\n\t\t\t\tstudiensemester_kurzbz\">\n";
-
+
echo "\t\t\t";
echo "\n\t\t\t\tstudiensemester_kurzbz/interessenten\">\n";
echo "\t\t\t\tstudiensemester_kurzbz/interessenten/zgv\" />\n";
@@ -246,16 +246,16 @@ while ($row=pg_fetch_object($result))
echo "\t\t\t\tstudiensemester_kurzbz/interessenten/reihungstestnichtangemeldet\" />\n";
echo "\t\t\t\t";
echo "\n\t\t\t\n";
-
+
echo "\t\t\t\tstudiensemester_kurzbz/bewerber\" />\n";
echo "\t\t\t\tstudiensemester_kurzbz/aufgenommen\" />\n";
echo "\t\t\t\tstudiensemester_kurzbz/warteliste\" />\n";
echo "\t\t\t\tstudiensemester_kurzbz/absage\" />\n";
-
+
echo "\t\t\t\n\t\t\t\n";
}
echo "\t\t\t\n\t\t\t\n";
-
+
$lastout='stg_kz';
}
|