diff --git a/cis/private/lvplan/profile/index.php b/cis/private/lvplan/profile/index.php
index 14d8bf110..b94f9082d 100644
--- a/cis/private/lvplan/profile/index.php
+++ b/cis/private/lvplan/profile/index.php
@@ -1,35 +1,37 @@
@@ -62,7 +64,7 @@
Profil
-
+
@@ -85,9 +87,10 @@ Results:
|
- Titel:
- Vornamen:
+ Titel:
+ Vornamen:
Nachname:
+ Postnomen:
eMail
Technikum: @technikum-wien.at
-
+
Alias: @technikum-wien.at
- Extern:$email";
- ?>
+ ?>
- Homepage $hp";
?>
-
+
|
@@ -131,20 +134,20 @@ Results:
echo '';
if ($stud_num_rows==1)
{
- ?>
+ ?>
Student
Studiengang:
Semester:
Verband:
Gruppe:
Matrikelnummer:
-
Leistungsbeurteilung
-
+
Telefon TW: +43 1 333 40 77- $tel
";
-
+
if(!$ansicht)
{?>
Zeitwünsche
Lehrveranstaltungen
for($i=0;$i<$nr_mg;$i++)
{
$row=pg_fetch_object($erg_mg,$i);
- echo ' |
| '.$row->mailgrp_kurzbz.' | ';
+ echo '
| '.$row->gruppe_kurzbz.' | ';
echo " $row->beschreibung | |
";
}
if (isset($matrikelnr))
@@ -205,25 +208,25 @@ Results:
echo '| '.strtolower($stgkz).$semester.strtolower($verband).$gruppe.' | ';
echo " Alle Studenten von $stgkz $semester$verband$gruppe | |
";
}
-
-
+
+
$mail = 'vilesci@technikum-wien.at';
if($stg=='')
{
$stg = 0;
}
- //Wenn eine Assistentin fuer diesen Studiengang eingetragen ist,
+ //Wenn eine Assistentin fuer diesen Studiengang eingetragen ist,
//dann werden die aenderungswuesche an diese Adresse gesendet
- $qry = "SELECT email FROM tbl_studiengang where studiengang_kz='$stg'";
+ $qry = "SELECT email FROM public.tbl_studiengang where studiengang_kz='$stg'";
if($row=pg_fetch_object(pg_query($conn,$qry)))
{
if($row->email!='')
$mail = $row->email;
- else
+ else
$mail = 'vilesci@technikum-wien.at';
}
-
-
+
+
?>
diff --git a/content/stpl-semester-overlay.xul.php b/content/stpl-semester-overlay.xul.php
index 7afc4bec1..16b8c6968 100644
--- a/content/stpl-semester-overlay.xul.php
+++ b/content/stpl-semester-overlay.xul.php
@@ -16,7 +16,7 @@ if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Fehler: Es konnte keine Verbindung zum Server aufgebaut werden!';
//$error_msg.=loadVariables($conn,$REMOTE_USER);
// Stundentafel abfragen
-$sql_query="SET datestyle TO ISO;SELECT * FROM tbl_stunde ORDER BY stunde";
+$sql_query="SET datestyle TO ISO; SELECT * FROM lehre.tbl_stunde ORDER BY stunde";
if(!$result_stunde=pg_exec($conn, $sql_query))
die(pg_last_error($this->conn));
$num_rows_stunde=pg_numrows($result_stunde);
diff --git a/content/stpl-week-overlay.xul.php b/content/stpl-week-overlay.xul.php
index 6b713116d..9e0cb04a4 100644
--- a/content/stpl-week-overlay.xul.php
+++ b/content/stpl-week-overlay.xul.php
@@ -13,13 +13,13 @@ if (!isset($REMOTE_USER))
$uid=$REMOTE_USER;
-if (!$conn = @pg_pconnect(CONN_STRING))
+if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Fehler: Es konnte keine Verbindung zum Server aufgebaut werden!';
//$error_msg.=loadVariables($conn,$REMOTE_USER);
// Stundentafel abfragen
-$sql_query="SET datestyle TO ISO;SELECT * FROM tbl_stunde ORDER BY stunde";
-if(!$result_stunde=pg_exec($conn, $sql_query))
- die(pg_last_error($this->conn));
+$sql_query="SET datestyle TO ISO; SELECT * FROM lehre.tbl_stunde ORDER BY stunde;";
+if(!$result_stunde=pg_query($conn, $sql_query))
+ die(pg_last_error($conn));
$num_rows_stunde=pg_numrows($result_stunde);
?>
@@ -54,7 +54,7 @@ $num_rows_stunde=pg_numrows($result_stunde);
tooltiptext="1 Woche zur??ck"
image="../skin/images/left.png"
oncommand="onJumpDate(-1);"
- />
+ />
';
//echo $_SERVER[REQUEST_URI];
@@ -35,40 +35,55 @@ $lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
// Variablen uebernehmen
-if (isset($_GET[aktion]))
- $aktion=$_GET[aktion];
-if (isset($_GET[semesterplan]))
- $semesterplan=$_GET[semesterplan];
+if (isset($_GET['aktion']))
+ $aktion=$_GET['aktion'];
+else
+ $aktion=null;
+
+if (isset($_GET['semesterplan']))
+ $semesterplan=$_GET['semesterplan'];
else
$semesterplan=false;
-if (isset($_GET[new_stunde]))
- $new_stunde=$_GET[new_stunde];
-if (isset($_GET[new_datum]))
- $new_datum=$_GET[new_datum];
-if (isset($_GET[old_ort]))
- $old_ort=$_GET[old_ort];
-if (isset($_GET[new_ort]))
- $new_ort=$_GET[new_ort];
-if (isset($_GET[ort]))
- $ort=$_GET[ort];
-if (isset($_GET[datum]))
- $datum=$_GET[datum];
-if (isset($_GET[type]))
- $type=$_GET[type];
-if (isset($_GET[stg_kz]))
- $stg_kz=$_GET[stg_kz];
-if (isset($_GET[sem]))
- $sem=$_GET[sem];
-if (isset($_GET[ver]))
- $ver=$_GET[ver];
-if (isset($_GET[grp]))
- $grp=$_GET[grp];
-if (isset($_GET[pers_uid]))
- $pers_uid=$_GET[pers_uid];
-if (isset($_GET[einheit]))
- $einheit_kurzbz=$_GET[einheit];
-if (isset($_GET[semester_aktuell]))
- $semester_aktuell=$_GET[semester_aktuell];
+if (isset($_GET['new_stunde']))
+ $new_stunde=$_GET['new_stunde'];
+if (isset($_GET['new_datum']))
+ $new_datum=$_GET['new_datum'];
+if (isset($_GET['old_ort']))
+ $old_ort=$_GET['old_ort'];
+if (isset($_GET['new_ort']))
+ $new_ort=$_GET['new_ort'];
+if (isset($_GET['ort']))
+ $ort=$_GET['ort'];
+else
+ $ort=null;
+if (isset($_GET['datum']))
+ $datum=$_GET['datum'];
+if (isset($_GET['type']))
+ $type=$_GET['type'];
+if (isset($_GET['stg_kz']))
+ $stg_kz=$_GET['stg_kz'];
+else
+ $stg_kz=null;
+if (isset($_GET['sem']))
+ $sem=$_GET['sem'];
+else
+ $sem=null;
+if (isset($_GET['ver']))
+ $ver=$_GET['ver'];
+else
+ $ver=null;
+if (isset($_GET['grp']))
+ $grp=$_GET['grp'];
+else
+ $grp=null;
+if (isset($_GET['pers_uid']))
+ $pers_uid=$_GET['pers_uid'];
+if (isset($_GET['gruppe']))
+ $einheit_kurzbz=$_GET['gruppe'];
+else
+ $gruppe=null;
+if (isset($_GET['semester_aktuell']))
+ $semester_aktuell=$_GET['semester_aktuell'];
if (!isset($semester_aktuell) && $semesterplan)
$error_msg.='Studien-Semester ist nicht gesetzt!';
@@ -99,6 +114,7 @@ elseif ($uid=check_lektor($REMOTE_USER, $conn))
$user='lektor';
else
die("Cannot set usertype!");*/
+$user=NULL;
// User bestimmen
if (!isset($type))
@@ -381,7 +397,7 @@ else
$error_msg.=@db_query($conn,'ROLLBACK;');
// Stundenplan erstellen
-$stdplan=new stundenplan($type,$conn);
+$stdplan=new wochenplan($type,$conn);
if (!isset($datum))
$datum=mktime();
if (!isset($semesterplan) || !$semesterplan)
@@ -397,6 +413,7 @@ else
else
$error_msg.='Studiensemester '.$semester_aktuell.' konnte nicht gefunden werden!';
}
+
// Benutzergruppe
$stdplan->user=$user;
// aktueller Benutzer
@@ -416,7 +433,7 @@ if ($type=='lektor' || $aktion=='lva_single_search' || $aktion=='lva_multi_searc
}
// Zusaetzliche Daten laden
-if (! $stdplan->load_data($type,$pers_uid,$ort,$stg_kz,$sem,$ver,$grp,$einheit_kurzbz) && $error_msg!='')
+if (! $stdplan->load_data($type,$pers_uid,$ort,$stg_kz,$sem,$ver,$grp,$gruppe) && $error_msg!='')
$error_msg.=$stdplan->errormsg;
//echo 'load_data'.$error_msg;
// Stundenplan einer Woche laden
diff --git a/include/berechtigung.class.php b/include/berechtigung.class.php
index 48377a574..b17677999 100644
--- a/include/berechtigung.class.php
+++ b/include/berechtigung.class.php
@@ -15,48 +15,98 @@
* 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 .
*/
class berechtigung
{
+ /**
+ * interne userberechtigung_id (Zaehler aus DB)
+ * @var integer
+ */
+ var $userberechtigung_id;
+ /**
+ * @var integer
+ */
+ var $studiengang_kz;
+ /**
+ * @var integer
+ */
+ var $fachbereich_id;
+ /**
+ * @var string
+ */
+ var $berechtigung_kurzbz;
+ /**
+ * @var string
+ */
+ var $uid;
+ /**
+ * @var string
+ */
+ var $studiensemester_kurzbz;
+ /**
+ * @var integer
+ */
+ var $start;
+ /**
+ * @var integer
+ */
+ var $ende;
+ /**
+ * @var integer
+ */
+ var $starttimestamp;
+ /**
+ * @var integer
+ */
+ var $endetimestamp;
+ /**
+ * @var string
+ */
+ var $art;
+
+ /**
+ * @var array
+ */
+ var $berechtigungen=array();
+
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
- var $berechtigungen = array(); // berechtigung Objekt
-
+
//Tabellenspalten
- var $berechtigung_kurzbz; // varchar(16)
var $beschreibung; // varchar(256)
-
+
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
// * @param $conn Datenbank-Connection
// * $berechtigung_kurzbz
- // * $unicode Gibt an ob die Daten mit UNICODE Codierung
+ // * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function berechtigung($conn, $berechtigung_kurzbz=null, $unicode=false)
{
$this->conn = $conn;
-
+ $this->new=true;
+
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($berechtigung_kurzbz!=null)
$this->load($berechtigung_kurzbz);
}
-
+
// *********************************************************
// * Laedt eine Berechtigung
// * @param berechtigung_kurzbz
@@ -65,9 +115,9 @@ class berechtigung
{
return true;
}
-
+
// *******************************************
- // * Prueft die Variablen vor dem Speichern
+ // * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
@@ -83,13 +133,13 @@ class berechtigung
$this->errormsg = 'Beschreibung darf nicht laenger als 256 Zeichen sein';
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.
// ************************************************
@@ -111,7 +161,7 @@ class berechtigung
return false;
if($this->new)
- {
+ {
$qry = 'INSERT INTO tbl_berechtigung (berechtigung_kurzbz, beschreibung)
VALUES('.$this->addslashes($this->berechtigung_kurzbz).','.
$this->addslashes($this->beschreibung).');';
@@ -134,5 +184,140 @@ class berechtigung
return false;
}
}
+
+ /**
+ * Rueckgabewert ist ein Array mit den Ergebnissen. Bei Fehler false und die
+ * Fehlermeldung liegt in errormsg.
+ * Wenn der Parameter stg_kz NULL ist tritt einheit_kurzbzb in Kraft.
+ * @param string $uid UserID
+ * @return variabel Array mit LVA; false bei Fehler
+ */
+ function getBerechtigungen($uid)
+ {
+ // Berechtigungen holen
+ $sql_query="SELECT * FROM tbl_userberechtigung WHERE uid='$uid' AND (startnow() OR ende IS NULL)";
+ //echo $sql_query;
+ if(!$erg=@pg_query($this->conn, $sql_query))
+ {
+ $this->errormsg=pg_errormessage($this->conn);
+ return false;
+ }
+ //$num_rows=pg_numrows($erg);
+ while($row=pg_fetch_object($erg))
+ {
+ $b=new berechtigung($this->conn);
+ $b->userberechtigung_id=$row->userberechtigung_id;
+ $b->studiengang_kz=$row->studiengang_kz;
+ $b->fachbereich_id=$row->fachbereich_id;
+ $b->berechtigung_kurzbz=$row->berechtigung_kurzbz;
+ $b->uid=$row->uid;
+ $b->studiensemester_kurzbz=$row->studiensemester_kurzbz;
+ $b->start=$row->start;
+ if ($row->start!=null)
+ $b->starttimestamp=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8),substr($row->start,0,4));
+ else
+ $b->starttimestamp=null;
+ $b->ende=$row->ende;
+ if ($row->ende!=null)
+ $b->endetimestamp=mktime(23,59,59,substr($row->ende,5,2),substr($row->ende,8),substr($row->ende,0,4));
+ else
+ $b->endetimestamp=null;
+ $b->art=$row->art;
+ $this->berechtigungen[]=$b;
+ }
+ return true;
+ }
+
+ function isBerechtigt($berechtigung,$studiengang_kz=null,$art=null, $fachbereich_id=null)
+ {
+ $timestamp=time();
+ foreach ($this->berechtigungen as $b)
+ {
+ //Fachbereichsberechtigung
+ if($fachbereich_id!=null)
+ {
+ //Wenn Fachbereichs oder Adminberechtigung
+ if(($berechtigung == $b->berechtigung_kurzbz || $b->berechtigung_kurzbz == 'admin') && ($b->fachbereich_id==$fachbereich_id || $b->fachbereich_id=='0'))
+ {
+ if ($b->starttimestamp!=null && $b->endetimestamp!=null)
+ {
+ if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
+ return true;
+ }
+ else
+ return true;
+ }
+ }
+
+ //Wenn Berechtigung fuer Bestimmte Klasse vorhanden ist
+ if($berechtigung == $b->berechtigung_kurzbz && $studiengang_kz==null && $art==null && $fachbereich_id==null)
+ if ($b->starttimestamp!=null && $b->endetimestamp!=null)
+ {
+ if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
+ return true;
+ }
+ else
+ return true;
+ //Wenn Berechtigung fuer Bestimmten Studiengang vorhanden ist
+ if ($berechtigung==$b->berechtigung_kurzbz
+ && ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0) && $art==null && $b->fachbereich_id==null)
+ if ($b->starttimestamp!=null && $b->endetimestamp!=null)
+ {
+ if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
+ return true;
+ }
+ 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)
+ && strstr($b->art,$art))
+ if ($b->starttimestamp!=null && $b->endetimestamp!=null)
+ {
+ if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
+ return true;
+ }
+ else
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Gibt Array mit Kennzahlen der Studiengaenge sortiert zurueck.
+ * Optional wird auf Berechtigung eingeschraenkt.
+ * Wenn Berechtigung ueber alle Studiengaenge steht im ersten Feld 0.
+ */
+ function getStgKz($berechtigung=null)
+ {
+ $studiengang_kz=array();
+ $timestamp=time();
+
+ foreach ($this->berechtigungen as $b)
+ if ($berechtigung==$b->berechtigung_kurzbz || $berechtigung==null)
+ if($b->fachbereich_id==null)
+ $studiengang_kz[]=$b->studiengang_kz;
+ $studiengang_kz=array_unique($studiengang_kz);
+ sort($studiengang_kz);
+ return $studiengang_kz;
+ }
+
+ function getFbKz($berechtigung=null)
+ {
+ $fachbereichs_kz=array();
+ $timestamp=time();
+
+ foreach($this->berechtigungen as $b)
+ {
+ if(($berechtigung==$b->berechtigung_kurzbz || $berechtigung==null)
+ && (($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp) || ($b->starttimestamp==null && $b->endetimestamp==null)))
+ {
+ if($b->fachbereich_id!='' && !in_array($b->fachbereich_id,$fachbereichs_kz))
+ $fachbereichs_kz[] = $b->fachbereich_id;
+ }
+ }
+ sort($fachbereichs_kz);
+ return $fachbereichs_kz;
+ }
}
?>
\ No newline at end of file
diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php
index d8bec8d58..d58a0a2f3 100644
--- a/include/mitarbeiter.class.php
+++ b/include/mitarbeiter.class.php
@@ -15,14 +15,14 @@
* 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 .
*/
class mitarbeiter extends benutzer
{
-
+
//Tabellenspalten
var $ausbildungcode; //integer
var $personalnummer; //serial
@@ -36,35 +36,35 @@ class mitarbeiter extends benutzer
// * Konstruktor - Uebergibt die Connection und laedt optional einen Mitarbeiter
// * @param $conn Datenbank-Connection
// * $uid Mitarbeiter der geladen werden soll (default=null)
- // * $unicode Gibt an ob die Daten mit UNICODE Codierung
+ // * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function mitarbeiter($conn, $uid=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;
}
-
+
//Mitarbeiter laden
//if($uid!=null)
// $this->load($uid);
}
-
+
// ************************************************
// * ueberprueft die Variablen auf Gueltigkeit
// * @return true wenn gueltig, false im Fehlerfall
// ************************************************
function validate()
- {
+ {
if(strlen($this->uid)>16)
{
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
@@ -79,12 +79,12 @@ class mitarbeiter extends benutzer
{
$this->errormsg = 'Ausbildungscode ist ungueltig';
return false;
- }
+ }
if($this->personalnummer!='' && !is_numeric($this->personalnummer))
{
$this->errormsg = 'Personalnummer muss eine gueltige Zahl sein';
return false;
- }
+ }
if(strlen($this->kurzbz)>8)
{
$this->errormsg = 'kurzbz darf nicht laenger als 8 Zeichen sein';
@@ -115,21 +115,21 @@ class mitarbeiter extends benutzer
$this->errormsg = 'updatevon darf nicht laenger als 32 Zeichen sein';
return false;
}
-
+
return true;
}
-
-
+
+
// *************************************************
// * Speichert die Mitarbeiterdaten in die Datenbank
// * @return true wenn ok, false im Fehlerfall
// *************************************************
function save()
{
- //Variablen checken
+ //Variablen checken
if(!$this->validate())
return false;
-
+
pg_query($this->conn,'BEGIN;');
//Basisdaten speichern
if(!benutzer::save())
@@ -137,10 +137,10 @@ class mitarbeiter extends benutzer
pg_query($this->conn,'ROLLBACK;');
return false;
}
-
+
if($this->new)
{
- //Neuen Datensatz anlegen
+ //Neuen Datensatz anlegen
$qry = "INSERT INTO tbl_mitarbeiter(mitarbeiter_uid, ausbildungcode, personalnummer, kurzbz, lektor, ort_kurzbz,
fixangestellt, telefonklappe, updateamum, updatevon)
VALUES('".addslashes($this->uid)."',".
@@ -154,7 +154,7 @@ class mitarbeiter extends benutzer
$this->addslashes($this->updateamum).','.
$this->addslashes($this->updatevon).');';
}
- else
+ else
{
//Bestehenden Datensatz updaten
$qry = 'UPDATE tbl_mitarbeiter SET'.
@@ -169,19 +169,83 @@ class mitarbeiter extends benutzer
' updatevon='.$this->addslashes($this->updatevon).
" WHERE mitarbeiter_uid='".addslashes($this->uid)."';";
}
-
+
if(pg_query($this->conn,$qry))
{
pg_query($this->conn,'COMMIT;');
//Log schreiben
return true;
}
- else
- {
+ else
+ {
pg_query($this->conn,'ROLLBACK;');
$this->errormsg = 'Fehler beim Speichern des Mitarbeiter-Datensatzes'.$qry;
return false;
}
}
+ /**
+ * gibt array mit allen Mitarbeitern zurueck
+ * @return array mit Mitarbeitern
+ */
+ function getMitarbeiter($lektor=true,$fixangestellt=null,$stg_kz=null,$fachbereich_id=null)
+ {
+ $sql_query='SELECT DISTINCT vw_mitarbeiter.* FROM campus.vw_mitarbeiter
+ LEFT OUTER JOIN public.tbl_benutzerfunktion USING (uid)
+ WHERE';
+ if (!$lektor)
+ $sql_query.=' NOT';
+ $sql_query.=' lektor';
+ if ($fixangestellt!=null)
+ {
+ $sql_query.=' AND';
+ if (!$fixangestellt)
+ $sql_query.=' NOT';
+ $sql_query.=' fixangestellt';
+ }
+ if ($stg_kz!=null)
+ $sql_query.=' AND studiengang_kz='.$stg_kz;
+ if ($fachbereich_id!=null)
+ $sql_query.=' AND fachbereich_id='.$fachbereich_id;
+ $sql_query.=' ORDER BY nachname, vornamen, kurzbz';
+ //echo $sql_query;
+ if(!($erg=pg_query($this->conn, $sql_query)))
+ {
+ $this->errormsg=pg_errormessage($conn);
+ return false;
+ }
+ $num_rows=pg_numrows($erg);
+ $result=array();
+ for($i=0;$i<$num_rows;$i++)
+ {
+ $row=pg_fetch_object($erg,$i);
+ $l=new mitarbeiter($this->conn);
+ // Personendaten
+ $l->uid=$row->uid;
+ $l->titelpre=$row->titelpre;
+ $l->titelpost=$row->titelpost;
+ $l->vorname=$row->vorname;
+ $l->vornamen=$row->vornamen;
+ $l->nachname=$row->nachname;
+ $l->gebdatum=$row->gebdatum;
+ $l->gebort=$row->gebort;
+ $l->gebzeit=$row->gebzeit;
+ $l->foto=$row->foto;
+ $l->anmerkungen=$row->anmerkungen;
+ $l->aktiv=$row->aktiv=='t'?true:false;
+ $l->homepage=$row->homepage;
+ $l->updateamum=$row->updateamum;
+ $l->updatevon=$row->updatevon;
+ // Lektorendaten
+ $l->personalnummer=$row->personalnummer;
+ $l->kurzbz=$row->kurzbz;
+ $l->lektor=$row->lektor=='t'?true:false;
+ $l->fixangestellt=$row->fixangestellt=='t'?true:false;
+ $l->telefonklappe=$row->telefonklappe;
+ //$l->ort_kurzbz=$row->ort_kurzbz;
+ // Lektor in Array speichern
+ $result[]=$l;
+ }
+ return $result;
+ }
}
?>
\ No newline at end of file
diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php
index d86a156be..5ae85956d 100644
--- a/include/wochenplan.class.php
+++ b/include/wochenplan.class.php
@@ -99,7 +99,7 @@ class wochenplan
* @return gruppe_kurzbz
*
*/
- function load_data($type, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL)
+ function load_data($type, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe=NULL)
{
///////////////////////////////////////////////////////////////////////
// Parameter Checken
@@ -164,7 +164,7 @@ class wochenplan
if ($this->type=='student')
$sql_query="SELECT uid, titelpre, nachname, vornamen, studiengang_kz, semester, verband, gruppe FROM vw_student WHERE uid='$this->pers_uid'";
else
- $sql_query="SELECT uid, titelpre, nachname, vornamen FROM vw_mitarbeiter WHERE uid='$this->pers_uid'";
+ $sql_query="SELECT uid, titelpre, nachname, vornamen FROM campus.vw_mitarbeiter WHERE uid='$this->pers_uid'";
//echo $sql_query;
if (!($result=pg_exec($this->conn, $sql_query)))
{
diff --git a/include/zeitwunsch.class.php b/include/zeitwunsch.class.php
index 0014645d3..965fa8dcd 100644
--- a/include/zeitwunsch.class.php
+++ b/include/zeitwunsch.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,52 +26,52 @@ class zeitwunsch
var $errormsg; // string
var $new; // boolean
var $zeitwuensche = array(); // zeitwunsch Objekt
-
+
//Tabellenspalten
var $stunde; // smalint
var $mitarbeiter_uid; // varchar(16)
var $tag; // smalint
var $gewicht; // smalint
-
+
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
// * @param $conn Datenbank-Connection
// * $uid Uid des Mitarbeiters
// * $tag Tag des Zeitwunsches
// * $stunde Stunde des Zeitwunsches
- // * $unicode Gibt an ob die Daten mit UNICODE Codierung
+ // * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function zeitwunsch($conn, $mitarbeiter_uid=null, $tag=null, $stunde=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($mitarbeiter_uid != null && $tag!=null && $stunde!=null)
$this->load($mitarbeiter_uid, $tag, $stunde);
}
-
+
// *********************************************************
// * Laedt einen Zeitwunsch
- // * @param
+ // * @param
// *********************************************************
function load($mitarbeiter_uid, $tag, $stunde)
{
return true;
}
-
+
// *******************************************
- // * Prueft die Variablen vor dem Speichern
+ // * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
@@ -101,14 +101,14 @@ class zeitwunsch
{
$this->errormsg = 'Tag muss eine gueltige Zahl sein';
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.
// ************************************************
@@ -139,7 +139,7 @@ class zeitwunsch
{
$qry = 'UPDATE campus.tbl_zeitwunsch SET'.
' gewicht='.$this->gewicht.
- " WHERE mitarbeiter_uid='".addslashes($this->mitarbeiter_uid)."' AND
+ " WHERE mitarbeiter_uid='".addslashes($this->mitarbeiter_uid)."' AND
tag=".$this->tag.' AND stunde='.$this->stunde;
}
@@ -154,5 +154,58 @@ class zeitwunsch
return false;
}
}
+
+ /**
+ * Zeitwunsch einer Person laden
+ * @return boolean Ergebnis steht in Array $zeitwunsch wenn true
+ */
+ function loadPerson($uid)
+ {
+ // Zeitwuensche abfragen
+ if(!$result=@pg_query($this->conn, "SELECT * FROM lehre.tbl_zeitwunsch WHERE uid='$uid'"))
+ {
+ $this->errormsg=pg_last_error($this->conn);
+ return false;
+ }
+ else
+ {
+ while ($row=@pg_fetch_object($result))
+ $this->zeitwunsch[$row->tag][$row->stunde]=$row->gewicht;
+ return true;
+ }
+ }
+
+
+ /**
+ * Zeitwunsch der Personen in Lehrveranstaltungen laden
+ * @return array mit Fachbereichen oder false=fehler
+ */
+ function loadLVA($lva_id)
+ {
+ // SUB-Select fuer LVAs
+ $sql_query_lva='SELECT DISTINCT lektor FROM tbl_lehrveranstaltung WHERE ';
+ for ($i=0;$iconn, $sql_query))
+ {
+ $this->errormsg=pg_last_error($this->conn);
+ return false;
+ }
+ else
+ {
+ while ($row=@pg_fetch_object($result))
+ $this->zeitwunsch[$row->tag][$row->stunde]=$row->gewicht;
+ return true;
+ }
+ }
+
}
?>
\ No newline at end of file
diff --git a/index.cis.html b/index.cis.html
index 229e853d1..eab935af5 100644
--- a/index.cis.html
+++ b/index.cis.html
@@ -3,17 +3,16 @@
CIS - FH Technikum Wien
-
+