diff --git a/admin/sync/sync_vilesci_portal_gruppe.php b/admin/sync/sync_vilesci_portal_gruppe.php index 5b1e4c6ea..e064c3f82 100644 --- a/admin/sync/sync_vilesci_portal_gruppe.php +++ b/admin/sync/sync_vilesci_portal_gruppe.php @@ -61,7 +61,7 @@ if($result = pg_query($conn_vilesci, $qry)) $gruppe->sort = $row->typ; $gruppe->mailgrp = ($row->mailgrp_kurzbz!=''?true:false); $gruppe->beschreibung = $row->mailgrp_beschreibung; - $gruppe->sichtbar = ($row->sichtbar=='f'?true:false); + $gruppe->sichtbar = ($row->sichtbar=='t'?true:false); $gruppe->aktiv = ($row->aktiv=='t'?true:false); $gruppe->updateamum = $row->updateamum; $gruppe->updatevon = $row->updatevon; diff --git a/include/gruppe.class.php b/include/gruppe.class.php index 7cccadbb8..97270173b 100644 --- a/include/gruppe.class.php +++ b/include/gruppe.class.php @@ -25,7 +25,7 @@ class gruppe var $conn; // resource DB-Handle var $errormsg; // string var $new; // boolean - var $gruppen = array(); // gruppen Objekt + var $result = array(); // gruppen Objekt //Tabellenspalten var $gruppe_kurzbz; // varchar(16) @@ -100,6 +100,49 @@ class gruppe return false; } + function getgruppe($studiengang_kz=null, $semester=null, $mailgrp=null, $sichtbar=null) + { + $qry = 'SELECT * FROM tbl_gruppe WHERE 1=1'; + if(!is_null($studiengang_kz)) + $qry .= " AND studiengang_kz='$studiengang_kz'"; + if(!is_null($semester)) + $qry .= " AND semester='$semester'"; + if(!is_null($mailgrp)) + $qry .= " AND mailgrp=".($mailgrp?'true':'false'); + if(!is_null($sichtbar)) + $qry .= " AND sichtbar=".($sichtbar?'true':'false'); + + if($result=pg_query($this->conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $grp_obj = new gruppe($this->conn); + + $grp_obj->gruppe_kurzbz = $row->gruppe_kurzbz; + $grp_obj->studiengang_kz = $row->studiengang_kz; + $grp_obj->bezeichnung = $row->bezeichnung; + $grp_obj->semester = $row->semester; + $grp_obj->sort = $row->sort; + $grp_obj->mailgrp = ($row->mailgrp=='t'?true:false); + $grp_obj->beschreibung = $row->beschreibung; + $grp_obj->sichtbar = ($row->sichtbar=='t'?true:false); + $grp_obj->aktiv = ($row->aktiv=='t'?true:false); + $grp_obj->updateamum = $row->updateamum; + $grp_obj->updatevon = $row->updatevon; + $grp_obj->insertamum = $row->insertamum; + $grp_obj->insertvon = $row->insertvon; + + $this->result[] = $grp_obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim laden der Gruppen'.$qry; + return false; + } + } + // ******************************************* // * Prueft die Variablen vor dem Speichern // * auf Gueltigkeit. diff --git a/include/lehrverband.class.php b/include/lehrverband.class.php index 485308310..2300b1159 100644 --- a/include/lehrverband.class.php +++ b/include/lehrverband.class.php @@ -25,7 +25,7 @@ class lehrverband var $conn; // resource DB-Handle var $errormsg; // string var $new; // boolean - var $lehrverbaende = array(); // lehrverband Objekt + var $result = array(); // lehrverband Objekt //Tabellenspalten var $studiengang_kz; // integer @@ -109,6 +109,39 @@ class lehrverband } return true; } + + function getlehrverband($studiengang_kz=null, $semester=null, $verband=null) + { + $qry = 'SELECT * FROM tbl_lehrverband WHERE 1=1'; + if(!is_null($studiengang_kz)) + $qry .=' AND studiengang_kz='.$this->addslashes($studiengang_kz); + if(!is_null($semester)) + $qry .=' AND semester='.$this->addslashes($semester); + if(!is_null($verband)) + $qry .=' AND verband='.$this->addslashes($verband); + + $qry .= ' ORDER BY studiengang_kz, semester, verband, gruppe'; + if($result = pg_query($this->conn, $qry)) + { + while($row=pg_fetch_object($result)) + { + $lv_obj = new lehrverband($this->conn); + + $lv_obj->studiengang_kz = $row->studiengang_kz; + $lv_obj->semester = $row->semester; + $lv_obj->verband = $row->verband; + $lv_obj->gruppe = $row->gruppe; + + $this->result[] = $lv_obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim lesen der Lehrverbaende '.$qry; + return false; + } + } // ************************************************ // * wenn $var '' ist wird NULL zurueckgegeben diff --git a/include/news.class.php b/include/news.class.php index 2695a770f..3acb4d14b 100644 --- a/include/news.class.php +++ b/include/news.class.php @@ -92,9 +92,9 @@ class news // * als $maxalter Tage sind // * @param $maxalter // ********************************** - function getnews($maxalter) + function getnews($maxalter, $studiengang_kz, $semester) { - $qry = "SELECT * FROM campus.tbl_news WHERE now()-updateamum>$maxalter order by updateamum DESC;"; + $qry = "SELECT * FROM campus.tbl_news WHERE (now()-updateamum)conn, $qry)) { @@ -109,11 +109,11 @@ class news $newsobj->text = $row->text; $newsobj->verfasser = $row->verfasser; $newsobj->updateamum = $row->updateamum; - $newsobj->updatevon = $row->updatevon; + $newsobj->updatevon = $row->updateamum; $newsobj->insertamum = $row->insertamum; $newsobj->insertvon = $row->insertvon; - $this->result = $newsobj; + $this->result[] = $newsobj; } return true; } diff --git a/include/student.class.php b/include/student.class.php index 2789845c1..72634555a 100644 --- a/include/student.class.php +++ b/include/student.class.php @@ -34,11 +34,11 @@ class student extends benutzer // ************************************************************************* // * Konstruktor - Uebergibt die Connection und laedt optional einen Studenten // * @param $conn Datenbank-Connection - // * $student_id Student der geladen werden soll (default=null) + // * $uid Student der geladen werden soll (default=null) // * $unicode Gibt an ob die Daten mit UNICODE Codierung // * oder LATIN9 Codierung verarbeitet werden sollen // ************************************************************************* - function student($conn, $student_id=null, $unicode=false) + function student($conn, $uid=null, $unicode=false) { $this->conn = $conn; @@ -54,8 +54,44 @@ class student extends benutzer } //Student laden - if($student_id!=null) - $this->load($student_id); + if($uid!=null) + $this->load($uid); + } + + function load($uid) + { + $qry = "SELECT * FROM tbl_student WHERE student_uid='".addslashes($uid)."'"; + + if($result = pg_query($this->conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $this->uid = $row->student_uid; + $this->matrikelnr = $row->matrikelnummer; + $this->prestudent_id = $row->prestudent_id; + $this->studiengang_kz = $row->studiengang_kz; + $this->semester = $row->semester; + $this->verband = $row->verband; + $this->gruppe = $row->gruppe; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->ext_id = $row->ext_id; + + return true; + } + else + { + $this->errormsg = 'Kein Benutzer mit dieser UID vorhanden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Auslesen des Studenten '.$qry; + return false; + } } // ******************************************* diff --git a/include/studiengang.class.php b/include/studiengang.class.php index e4cf2fb46..d72deb2a9 100644 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -1,168 +1,92 @@ , + * Andreas Oesterreicher and + * Rudolf Hangl . */ + class studiengang { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var studiengang Objekt + var $conn; // resource DB-Handle + var $new; // boolean + var $errormsg; // string + var $result = array(); // studiengang Objekt - var $studiengang_id; // @var integer - var $bafirmaaufzeugnis; // @var boolean - var $batitelaufzeugnis; // @var boolean - var $bescheid; // @var string - var $bescheidbgbl1; // @var string - var $bescheidbgbl2; // @var string - var $bescheidgz; // @var string - var $bescheidvom; // @var date - var $beschreibung; // @var string - var $betreuerstunden; // @var float - var $emailkuerzel; // @var string - var $endedatum; // @var date - var $kennzahl; // @var integer - var $kennzahl_neu; // @var integer - var $kuerzel; // @var string - var $name; // @var string - var $organisationsform; // @var integer - var $regelstudiendauer; // @var integer - var $regelwochenstunden; // @var integer - var $standort; // @var string - var $startdatum; // @var date - var $studiengangsart; // @var integer - var $studiensemester_id; // @var integer - var $telefonnummer; // @var string - var $updateamum; // @var timestamp - var $updatevon; // @var string - var $insertamum; // @var timestamp - var $insertvon; // @var string + var $studiengang_kz; // integer + var $kurzbz; // varchar(5) + var $kurzbzlang; // varchar(10) + var $bezeichnung; // varchar(128) + var $english; // varchar(128) + var $typ; // char(1) + var $farbe; // char(6) + var $email; // varchar(64) + var $max_semester; // smallint + var $max_verband; // char(1) + var $max_gruppe; // char(1) + var $erhalter_kz; // smallint + var $bescheid; // varchar(256) + var $bescheidbgbl1; // varchar(16) + var $bescheidbgbl2; // varchar(16) + var $bescheidgz; // varchar(16) + var $bescheidvom; // Date + var $ext_id; // bigint - /** - * Konstruktor - * @param conn Connection zur Datenbank - * studiengang_id ID des zu ladenden Studienganges - */ - function studiengang($conn, $studiengang_id=null) + // ************************************************************** + // * Konstruktor + // * @param conn Connection zur Datenbank + // * studiengang_kz Kennzahl des zu ladenden Studienganges + // ************************************************************** + function studiengang($conn, $studiengang_kz=null, $unicode=false) { $this->conn = $conn; - $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; + + if($unicode) + $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; + else + $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + if(!pg_query($conn,$qry)) { $this->errormsg = "Encoding konnte nicht gesetzt werden"; return false; } - if($studiengang_id != null) - $this->load($studiengang_id); + + if($studiengang_kz != null) + $this->load($studiengang_kz); } - /** - * Laedt einen Studiengang - * @param stg_id ID des Studienganges der zu laden ist - * @return true wenn ok, false im Fehlerfall - */ - function load($stg_id) + // ***************************************************** + // * Laedt einen Studiengang + // * @param stg_id ID des Studienganges der zu laden ist + // * @return true wenn ok, false im Fehlerfall + // ***************************************************** + function load($studiengang_kz) { - //Pruefen ob stg_id eine gueltige Zahl ist - if(!is_numeric($stg_id) || $stg_id == '') - { - $this->errormsg = 'stg_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT * FROM studiengang WHERE studiengang_pk = '$stg_id'"; - - if(!$res=pg_query($this->conn, $qry)) - { - $this->errormsg = 'Fehler beim laden des Datensatzes'; - return false; - } - - if($row = pg_fetch_object($res)) - { - $this->studiengang_id = $row->studiengang_pk; - $this->name = $row->name; - $this->erhalter_id = $row->erhalter_fk; - $this->kuerzel = $row->kuerzel; - $this->studiengangsart = $row->studiengangsart; - $this->organisationsform = $row->organisationsform; - $this->kennzahl = $row->kennzahl; - $this->updateamum = $row->creationdate; - $this->updatevon = $row->creationuser; - $this->standort = $row->standort; - $this->regelstudiendauer = $row->regelstudiendauer; - $this->emailkuerzel = $row->emailkuerzel; - $this->beschreibung = $row->beschreibung; - $this->telefonnummer = $row->telefonnummer; - $this->bescheid = $row->bescheid; - $this->bescheidvom = $row->bescheidvom; - $this->bescheidgz = $row->bescheidgz; - $this->bescheidbgbl1 = $row->bescheidbgbl1; - $this->bescheidbgbl2 = $row->bescheidbgbl2; - $this->kennzahl_neu = $row->kennzahl_neu; - $this->nummerintern = $row->nummerintern; - $this->bafirmaaufzeugnis = ($row->bafirmaaufzeugnis=='t'?true:false); - $this->batitelaufzeugnis = ($row->batitelaufzeugnis=='t'?true:false); - } - else - { - $this->errormsg = 'Kein Datensatz mit dieser Nummer vorhanden'; - return false; - } - return true; + return false; } - - /** - * Laedt Studiengang und Studiensemester - * @param stg_id Studiengangs_id - * stsem_id Studiensemester_id - */ - function load_stsem($stg_id, $stsem_id) - { - //Studiengang laden - if(!$this->load($stg_id)) - return false; - - //pruefen ob stsem_id eine gueltige Zahl ist - if(!is_numeric($stsem_id) || $stsem_id == '') - { - $this->errormsg = 'studiensemester_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT * FROM studiengang_studiensemester WHERE studiengang_fk='$this->studiengang_id' ". - "AND studiensemester_fk='$stsem_id';"; - - if(!$res = pg_query($this->conn, $qry)) - { - $this->errormsg = 'Datensatz konnte nicht geladen werden'; - return false; - } - if($row = pg_fetch_object($res)) - { - $this->studiensemester_id = $row->studiensemester_fk; - $this->startdatum = $row->startdatum; - $this->endedatum = $row->endedatum; - $this->regelwochenstunden = $row->regelwochen; - $this->betreuerstunden = $row->rvar1; - } - else - { - $this->errormsg = 'Datensatz konnte nicht geladen werden'; - return false; - } - return true; - } - - /** - * Liefert alle Studiengaenge - * @return true wenn ok, false im Fehlerfall - */ - function getAll() + // ******************************************* + // * Liefert alle Studiengaenge + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function getAll($order) { - $qry = "SELECT * FROM studiengang order by name;"; + $qry = "SELECT * FROM tbl_studiengang order by $order;"; if(!$res = pg_query($this->conn, $qry)) { @@ -174,29 +98,24 @@ class studiengang { $stg_obj = new studiengang($this->conn); - $stg_obj->studiengang_id = $row->studiengang_pk; - $stg_obj->name = $row->name; - $stg_obj->erhalter_id = $row->erhalter_fk; - $stg_obj->kuerzel = $row->kuerzel; - $stg_obj->studiengangsart = $row->studiengangsart; - $stg_obj->organisationsform = $row->organisationsform; - $stg_obj->kennzahl = $row->kennzahl; - $stg_obj->updateamum = $row->creationdate; - $stg_obj->updatevon = $row->creationuser; - $stg_obj->standort = $row->standort; - $stg_obj->regelstudiendauer = $row->regelstudiendauer; - $stg_obj->emailkuerzel = $row->emailkuerzel; - $stg_obj->beschreibung = $row->beschreibung; - $stg_obj->telefonnummer = $row->telefonnummer; - $stg_obj->bescheid = $row->bescheid; - $stg_obj->bescheidvom = $row->bescheidvom; - $stg_obj->bescheidgz = $row->bescheidgz; - $stg_obj->bescheidbgbl1 = $row->bescheidbgbl1; - $stg_obj->bescheidbgbl2 = $row->bescheidbgbl2; - $stg_obj->kennzahl_neu = $row->kennzahl_neu; - $stg_obj->nummerintern = $row->nummerintern; - $stg_obj->bafirmaaufzeugnis = ($row->bafirmaaufzeugnis=='t'?true:false); - $stg_obj->batitelaufzeugnis = ($row->batitelaufzeugnis=='t'?true:false); + $stg_obj->studiengang_kz=$row->studiengang_kz; + $stg_obj->kurzbz=$row->kurzbz; + $stg_obj->kurzbzlang=$row->kurzbzlang; + $stg_obj->bezeichnung=$row->bezeichnung; + $stg_obj->english=$row->english; + $stg_obj->typ=$row->typ; + $stg_obj->farbe=$row->farbe; + $stg_obj->email=$row->email; + $stg_obj->max_semester=$row->max_semester; + $stg_obj->max_verband=$row->max_verband; + $stg_obj->max_semester=$row->max_semester; + $stg_obj->erhalter_kz=$row->erhalter_kz; + $stg_obj->bescheid=$row->bescheid; + $stg_obj->bescheidbgbl1=$row->bescheidbgbl1; + $stg_obj->bescheidbgbl2=$row->bescheidbgbl2; + $stg_obj->bescheidgz=$row->bescheidgz; + $stg_obj->bescheidvom=$row->bescheidvom; + $stg_obj->ext_id=$row->ext_id; $this->result[] = $stg_obj; }