Erweiterung der Klassen

This commit is contained in:
Andreas Österreicher
2006-12-12 16:27:51 +00:00
parent fb802ed08f
commit fb8f55aef7
6 changed files with 211 additions and 180 deletions
+1 -1
View File
@@ -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;
+44 -1
View File
@@ -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.
+34 -1
View File
@@ -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
+4 -4
View File
@@ -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)<interval '$maxalter days' AND studiengang_kz=".$studiengang_kz." AND semester".($semester!=''?"='$semester'":' is null')." order by updateamum DESC;";
if($result = pg_query($this->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;
}
+40 -4
View File
@@ -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;
}
}
// *******************************************
+88 -169
View File
@@ -1,168 +1,92 @@
<?php
/**
* Klasse studiengang (FAS-Online)
* @create 14-03-2006
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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;
}