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 - + - + - - + + - <body> <p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht unterstützt.</p> diff --git a/index.cis2.html b/index.cis2.html deleted file mode 100644 index c64d5567c..000000000 --- a/index.cis2.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> -<html> -<head> - <title>CIS - FH Technikum Wien</title> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <link href="skin/cis.css" rel="stylesheet" type="text/css"> - <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> -</head> - -<frameset rows="77,*,1" cols="*" frameborder="NO" border="0" framespacing="0"> - <frame src="cis2/topbar.html" name="topbar" scrolling="NO" noresize> - <frameset rows="*" cols="200,*" framespacing="0" frameborder="NO" border="0"> - <frame src="cis2/menu.html" name="menu" scrolling="AUTO" noresize> - <frame src="cis2/public/news.php" name="content"> - </frameset> - <noframes> - <body> - <p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht unterstützt.</p> - </body> - - - diff --git a/rdf/mitarbeiter.rdf.php b/rdf/mitarbeiter.rdf.php index 4fa07ee58..ba803b04a 100644 --- a/rdf/mitarbeiter.rdf.php +++ b/rdf/mitarbeiter.rdf.php @@ -17,6 +17,7 @@ echo ''; // DAO include('../vilesci/config.inc.php'); include_once('../include/person.class.php'); +include_once('../include/benutzer.class.php'); include_once('../include/mitarbeiter.class.php'); if (!$conn = @pg_pconnect(CONN_STRING)) @@ -36,9 +37,21 @@ if (isset($_GET['lektor'])) $lektor=$_GET['lektor']; else $lektor=true; -$fixangestellt=$_GET['fixangestellt']; -$stg_kz=$_GET['stg_kz']; -$fachbereich_id=$_GET['fachbereich_id']; + +if (isset($_GET['fixangestellt'])) + $fixangestellt=$_GET['fixangestellt']; +else + $fixangestellt=null; + +if (isset($_GET['stg_kz'])) + $stg_kz=$_GET['stg_kz']; +else + $stg_kz=null; + +if (isset($_GET['fachbereich_id'])) + $fachbereich_id=$_GET['fachbereich_id']; +else + $fachbereich_id=null; // Mitarbeiter holen $mitarbeiter=new mitarbeiter($conn); @@ -62,7 +75,8 @@ foreach ($ma as $mitarbeiter) uid; ?> - titel; ?> + titelpre; ?> + titelpost; ?> vornamen; ?> nachname; ?> kurzbz; ?> diff --git a/rdf/student-verbaende.rdf.php b/rdf/student-verbaende.rdf.php index 1cf93962f..2d7028579 100644 --- a/rdf/student-verbaende.rdf.php +++ b/rdf/student-verbaende.rdf.php @@ -18,12 +18,13 @@ $berechtigung=new berechtigung($conn); $berechtigung->getBerechtigungen($uid); $berechtigt_studiengang=$berechtigung->getStgKz(); $stg_kz_query=''; -if ($berechtigt_studiengang[0]!=0 && count($berechtigt_studiengang)>0) -{ - foreach ($berechtigt_studiengang as $b_stg) - $stg_kz_query.=' OR studiengang_kz='.$b_stg; - $stg_kz_query='AND ('.substr($stg_kz_query,3).')'; -} +if (count($berechtigt_studiengang)>0) + if ($berechtigt_studiengang[0]!=0) + { + foreach ($berechtigt_studiengang as $b_stg) + $stg_kz_query.=' OR studiengang_kz='.$b_stg; + $stg_kz_query='AND ('.substr($stg_kz_query,3).')'; + } $sql_query="SELECT studiengang_kz, bezeichnung, kurzbz FROM tbl_studiengang WHERE studiengang_kz>=0 $stg_kz_query ORDER BY bezeichnung"; //echo $sql_query; @@ -98,7 +99,7 @@ for ($i=0;$i<$num_rows_stg;$i++) studiengang_kz AND semester=$row_sem->semester ORDER BY bezeichnung"; + $sql_query="SELECT bezeichnung, gruppe_kurzbz FROM tbl_gruppe WHERE studiengang_kz=$row_stg->studiengang_kz AND semester=$row_sem->semester ORDER BY bezeichnung"; //echo $sql_query; if(!($result_einh=pg_exec($conn, $sql_query))) die(pg_errormessage($conn)); @@ -107,12 +108,12 @@ for ($i=0;$i<$num_rows_stg;$i++) { $row_einh=pg_fetch_object($result_einh, $m); ?> - - einheit_kurzbz.'-'.$row_einh->bezeichnung; ?> + + gruppe_kurzbz.'-'.$row_einh->bezeichnung; ?> kurzbz; ?> studiengang_kz; ?> semester; ?> - einheit_kurzbz; ?> + gruppe_kurzbz; ?> studiengang_kz AND semester=$row_sem->semester ORDER BY bezeichnung"; + $sql_query="SELECT bezeichnung, gruppe_kurzbz FROM tbl_gruppe WHERE studiengang_kz=$row_stg->studiengang_kz AND semester=$row_sem->semester ORDER BY bezeichnung"; //echo $sql_query; if(!($result_einh=pg_exec($conn, $sql_query))) die(pg_errormessage($conn)); @@ -180,7 +181,7 @@ for ($i=0;$i<$num_rows_stg;$i++) { $row_einh=pg_fetch_object($result_einh, $m); ?> - +