Anpassung LVInfo an neue DB

This commit is contained in:
Andreas Österreicher
2007-01-03 16:55:50 +00:00
parent d848171f6e
commit acd616a8b5
16 changed files with 2499 additions and 344 deletions
+38 -93
View File
@@ -19,10 +19,6 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse lehrveranstaltung (FAS-Online)
* @create 06-12-2006
*/
class lehrveranstaltung
{
var $conn; // @var resource DB-Handle
@@ -30,28 +26,28 @@ class lehrveranstaltung
var $new; // @var boolean
var $lehrveranstaltungen = array(); // @var lehrveranstaltung Objekt
var $lehrveranstaltung_id; // @var serial
var $studiengang_kz; //@var integer
var $bezeichnung; //@var string
var $lehrveranstaltung_id; // @var serial
var $studiengang_kz; //@var integer
var $bezeichnung; //@var string
var $kurzbz; //@var string
var $semester; //@var smallint
var $ects; //@var numeric(5,2)
var $semesterstunden; //@var smallint
var $semester; //@var smallint
var $ects; //@var numeric(5,2)
var $semesterstunden; //@var smallint
var $anmerkung; //@var string
var $lehre; //@var boolean
var $lehreverzeichnis; //@var string
var $aktiv; //@var boolean
var $ext_id; //@var bigint
var $insertamum; //@var timestamp
var $insertvon; //@var string
var $planfaktor; //@var numeric(3,2)
var $planlektoren; //@var integer
var $planpersonalkosten; //@var numeric(7,2)
var $updateamum; //@var timestamp
var $updatevon; //@var string
var $sprache; //@var varchar(16)
var $anmerkung; //@var string
var $lehre; //@var boolean
var $lehreverzeichnis; //@var string
var $aktiv; //@var boolean
var $ext_id; //@var bigint
var $insertamum; //@var timestamp
var $insertvon; //@var string
var $planfaktor; //@var numeric(3,2)
var $planlektoren; //@var integer
var $planpersonalkosten; //@var numeric(7,2)
var $updateamum; //@var timestamp
var $updatevon; //@var string
/**
* Konstruktor
* @param $conn Connection zur Datenbank
@@ -105,9 +101,10 @@ class lehrveranstaltung
$this->planpersonalkosten=$row->planpersonalkosten;
$this->updateamum=$row->updateamum;
$this->updatevon=$row->updatevon;
}
$this->sprache=$row->sprache;
}
return true;
return true;
}
/**
@@ -147,18 +144,18 @@ class lehrveranstaltung
$lv_obj->planpersonalkosten=$row->planpersonalkosten;
$lv_obj->updateamum=$row->updateamum;
$lv_obj->updatevon=$row->updatevon;
$lv_obj->sprache=$row->sprache;
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
return true;
}
/**
* Liefert alle Lehrveranstaltungen zu einem Studiengang/Studiensemester/Ausbildungssemester
* @param $studiengang_id ID des Studienganges
* $studiensemester_id ID des Studiensemesters (optional)
* $ausbildungssemester_id ID des ausbildungssemesters (optional)
* Liefert alle Lehrveranstaltungen zu einem Studiengang/Semester
* @param $studiengang_kz
* $semester
* @return true wenn ok, false im Fehlerfall
*/
function load_lva($studiengang_kz, $semester=null, $lehreverzeichnis=null, $lehre=null)
@@ -222,6 +219,7 @@ class lehrveranstaltung
$lv_obj->planpersonalkosten=$row->planpersonalkosten;
$lv_obj->updateamum=$row->updateamum;
$lv_obj->updatevon=$row->updatevon;
$lv_obj->sprache=$row->sprache;
$this->lehrveranstaltungen[] = $lv_obj;
}
@@ -238,12 +236,7 @@ class lehrveranstaltung
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
{
//$this->name = str_replace("'",'´',$this->name);
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
$this->kurzbz = str_replace("'",'´',$this->kurzbz);
$this->anmerkung = str_replace("'",'´',$this->anmerkung);
{
//Laenge Pruefen
if(strlen($this->bezeichnung)>128)
{
@@ -319,7 +312,7 @@ class lehrveranstaltung
//Neuen Datensatz anlegen
$qry = 'INSERT INTO lehre.tbl_lehrveranstaltung (studiengang_kz, bezeichnung, kurzbz,
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, ext_id, insertamum,
insertvon, planfaktor, planlektoren, planpersonalkosten, updateamum, updatevon) VALUES ('.
insertvon, planfaktor, planlektoren, planpersonalkosten, updateamum, updatevon, sprache) VALUES ('.
$this->addslashes($this->studiengang_kz).', '.
$this->addslashes($this->bezeichnung).', '.
$this->addslashes($this->kurzbz).', '.
@@ -337,7 +330,8 @@ class lehrveranstaltung
$this->addslashes($this->planlektoren).', '.
$this->addslashes($this->planpersonalkosten).', '.
$this->addslashes($this->updateamum).', '.
$this->addslashes($this->updatevon).');';
$this->addslashes($this->updatevon).','.
$this->addslashes($this->sprache).');';
}
else
{
@@ -349,6 +343,7 @@ class lehrveranstaltung
$this->errormsg = 'lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
$qry = 'UPDATE lehre.tbl_lehrveranstaltung SET '.
//'lehrveranstaltung_id= '.$this->addslashes($this->lehrveranstaltung_id) .', '.
'studiengang_kz='.$this->addslashes($this->studiengang_kz) .', '.
@@ -368,29 +363,13 @@ class lehrveranstaltung
'planlektoren='.$this->addslashes($this->planlektoren) .', '.
'planpersonalkosten='.$this->addslashes($this->planpersonalkosten) .', '.
'updateamum='.$this->addslashes($this->updateamum) .','.
'updatevon='.$this->addslashes($this->updatevon) .' '.
'WHERE ext_id = '.$this->addslashes($this->lehrveranstaltung_id).';';
'updatevon='.$this->addslashes($this->updatevon) .','.
'sprache='.$this->addslashes($this->sprache).' '.
'WHERE lehrveranstaltung_id = '.$this->addslashes($this->lehrveranstaltung_id).';';
}
if(pg_query($this->conn, $qry))
{
//Log schreiben
/*$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".$this->addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
return true;
}
else
@@ -407,41 +386,7 @@ class lehrveranstaltung
*/
function delete($lehrveranstaltung_id)
{
//lehrveranstaltung_id auf gueltigkeit pruefen
if(!is_numeric($lehrveranstaltung_id) || $lehrveranstaltung_id == '')
{
$this->errormsg = 'lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
//Loeschen des Datensatzes
$qry = "DELETE FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_pk = '$lehrveranstaltung_id';";
if(pg_query($this->conn, $qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".$this->addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim loeschen des Datensatzes';
return false;
}
return false;
}
}
?>
+88 -78
View File
@@ -32,8 +32,10 @@ class lvinfo
var $result = array(); // @var fachbereich Objekt
//Tabellenspalten
var $lvinfo_id; // @var integer
var $lehrveranstaltung_id; // @var integer
var $lehrziele; // @var string
var $titel; // @var varchar(256)
var $methodik; // @var string
var $lehrinhalte; // @var string
var $voraussetzungen; // @var string
var $unterlagen; // @var string
@@ -47,6 +49,8 @@ class lvinfo
var $updatevon=0; // @var string
var $insertamum; // @var timestamp
var $insertvon=0; // @var string
var $lastqry; //zuletzt ausgefuehrte qry (benoetigt fuer log)
/**
* Konstruktor
* @param $conn Connection zur DB
@@ -76,19 +80,21 @@ class lvinfo
{
$lvinfo_obj = new lvinfo($this->conn);
$lvinfo_obj->lvinfo_id = $row->lvinfo_id;
$lvinfo_obj->lehrziele = $row->lehrziele;
$lvinfo_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lvinfo_obj->lehrziele = $row->lehrziele;
$lvinfo_obj->titel = $row->titel;
$lvinfo_obj->methodik = $row->methodik;
$lvinfo_obj->lehrinhalte = $row->lehrinhalte;
$lvinfo_obj->voraussetzungen = $row->voraussetzungen;
$lvinfo_obj->unterlagen = $row->unterlagen;
$lvinfo_obj->pruefungsordnung = $row->pruefungsordnung;
$lvinfo_obj->anmerkungen = $row->anmerkungen;
$lvinfo_obj->kurzbeschreibung = $row->kurzbeschreibung;
$lvinfo_obj->genehmigt = $row->genehmigt;
$lvinfo_obj->aktiv = $row->aktiv;
$lvinfo_obj->sprache = $row->sprache;
$lvinfo_obj->genehmigt = ($row->genehmigt=='t'?true:false);
$lvinfo_obj->aktiv = ($row->aktiv=='t'?true:false);
$lvinfo_obj->sprache = $row->sprache;
$lvinfo_obj->insertamum = $row->insertamum;
$lvinfo_obj->insertvon = $row->insertvon;
$lvinfo_obj->insertvon = $row->insertvon;
$lvinfo_obj->updateamum = $row->updateamum;
$lvinfo_obj->updatevon = $row->updatevon;
@@ -99,17 +105,19 @@ class lvinfo
/**
* Laedt eine LVInfo
* @param $lvinfo_id ID der zu ladenden LVInfo
* @param $lehrveranstaltung_id
* $sprache
* @return true wenn ok, false im Fehlerfall
*/
function load($lvinfo_id)
function load($lehrveranstaltung_id, $sprache)
{
if($lvinfo == '' || !is_numeric($lvinfo_id))
if($lehrveranstaltung_id == '' || !is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'lvinfo_id ungültig';
return false;
}
$qry = "SELECT * FROM campus.tbl_lvinfo WHERE lvinfo_id = '$lvinfo_id';";
$qry = "SELECT * FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id = '$lehrveranstaltung_id' AND sprache='".addslashes($sprache)."';";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
@@ -117,26 +125,27 @@ class lvinfo
}
if($row=pg_fetch_object($res))
{
$this->lvinfo_id = $row->lvinfo_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->lehrziele = $row->lehrziele;
$this->titel = $row->titel;
$this->methodik = $row->methodik;
$this->lehrinhalte = $row->lehrinhalte;
$this->voraussetzungen = $row->voraussetzungen;
$this->unterlagen = $row->unterlagen;
$this->pruefungsordnung = $row->pruefungsordnung;
$this->anmerkungen = $row->anmerkungen;
$this->pruefungsordnung = $row->pruefungsordnung;
$this->anmerkungen = $row->anmerkungen;
$this->kurzbeschreibung = $row->kurzbeschreibung;
$this->genehmigt = $row->genehmigt;
$this->aktiv = $row->aktiv;
$this->sprache = $row->sprache;
$this->kosten = $row->kosten;
$this->genehmigt = ($row->genehmigt=='t'?true:false);
$this->aktiv = ($row->aktiv=='t'?true:false);
$this->sprache = $row->sprache;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->updatevon = $row->updatevon;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID ('.$lvinfo_id.') vorhanden';
$this->errormsg = 'Es ist kein Datensatz mit dieser ID ('.$lehrveranstaltung_id.') vorhanden';
return false;
}
@@ -163,22 +172,17 @@ class lvinfo
*/
function checkvars()
{
$this->lehrziele = str_replace("'",'´',$this->lehrziele);
$this->lehrinhalte = str_replace("'",'´',$this->lehrinhalte);
$this->voraussetzungen = str_replace("'",'´',$this->voraussetzungen);
$this->unterlagen = str_replace("'",'´',$this->unterlagen);
$this->pruefungsordnung = str_replace("'",'´',$this->pruefungsordnung);
$this->anmerkungen = str_replace("'",'´',$this->anmerkungen);
$this->kurzbeschreibung = str_replace("'",'´',$this->kurzbeschreibung);
$this->sprache = str_replace("'",'´',$this->sprache);
//Laenge Pruefen
if(strlen($this->sprache)>16)
{
$this->errormsg = "Sprache darf nicht laenger als 16 Zeichen sein bei <b>".$this->$lvinfo_id."</b> - $this->sprache";
return false;
}
$this->errormsg = '';
if(!is_numeric($this->lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveransaltung_id muss eine gueltige Zahl sein';
return false;
}
return true;
}
/**
@@ -192,18 +196,15 @@ class lvinfo
return false;
if($this->new)
{
//Pruefen ob lvinfo_id eine gueltige Bezeichnung ist
if($this->lvinfo_id == '' || !is_numeric($this->lvinfo_id))
{
$this->errormsg = 'lvinfo_id ungültig';
return false;
}
{
//Neuen Datensatz anlegen
$qry = 'BEGIN; INSERT INTO campus.tbl_lvinfo (lehrziele, lehrinhalte, voraussetzungen, unterlagen, pruefungsordnung, anmerkungen,
kurzbeschreibung, genehmigt, aktiv, sprache, insertamum, insertvon, updateamum,
$qry = 'INSERT INTO campus.tbl_lvinfo (lehrveranstaltung_id, sprache, titel, methodik, lehrziele, lehrinhalte, voraussetzungen, unterlagen, pruefungsordnung, anmerkungen,
kurzbeschreibung, genehmigt, aktiv, insertamum, insertvon, updateamum,
updatevon) VALUES ('.
$this->addslashes($this->lehrveranstaltung_id).','.
$this->addslashes($this->sprache).', '.
$this->addslashes($this->titel).', '.
$this->addslashes($this->methodik).', '.
$this->addslashes($this->lehrziele).', '.
$this->addslashes($this->lehrinhalte).', '.
$this->addslashes($this->voraussetzungen).', '.
@@ -213,7 +214,6 @@ class lvinfo
$this->addslashes($this->kurzbeschreibung).', '.
($this->genehmigt?'true':'false').', '.
($this->aktiv?'true':'false').', '.
$this->addslashes($this->sprache).', '.
$this->addslashes($this->insertamum).', '.
$this->addslashes($this->insertvon).', '.
$this->addslashes($this->updateamum).', '.
@@ -225,61 +225,35 @@ class lvinfo
//bestehenden Datensatz akualisieren
//Pruefen ob lvinfo_id gueltig ist
if($this->lvinfo_id == '' || !is_numeric($this->lvinfo_id))
if($this->lehrveranstaltung_id == '' || !is_numeric($this->lehrveranstaltung_id))
{
$this->errormsg = 'lvinfo_id '.$this->lvinfo_id.' ungültig';
$this->errormsg = 'lehrveranstaltung_id '.$this->lehrveranstaltung_id.' ungültig';
return false;
}
$qry = 'BEGIN; UPDATE campus.tbl_lvinfo SET '.
$qry = 'UPDATE campus.tbl_lvinfo SET '.
'titel='.$this->addslashes($this->titel).','.
'methodik='.$this->addslashes($this->methodik).','.
'lehrziele='.$this->addslashes($this->lehrziele).', '.
'lehrinhalte='.$this->addslashes($this->lehrinhalte).', '.
'voraussetzungen='.$this->addslashes($this->voraussetzungen).', '.
'pruefungsordnung='.$this->addslashes($this->pruefungsordnung).', '.
'anmerkungen='.$this->addslashes($this->anmerkungen).', '.
'kurzbeschreibung='.$this->addslashes($this->kurzbeschreibung).', '.
'genehmigt='.($this->aktiv?'true':'false') .', '.
'unterlagen='.$this->addslashes($this->unterlagen).', '.
'genehmigt='.($this->genehmigt?'true':'false') .', '.
'aktiv='.($this->aktiv?'true':'false') .', '.
'sprache='.$this->addslashes($this->sprache).', '.
'insertamum='.$this->addslashes($this->insertamum).', '.
'insertvon='.$this->addslashes($this->insertvon).', '.
'updateamum='.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).' '.
'WHERE lvinfo_id = '.$this->addslashes($this->lvinfo_id).';';
'WHERE lehrveranstaltung_id = '.$this->addslashes($this->lehrveranstaltung_id)." AND sprache=".$this->addslashes($this->sprache).";";
}
if(pg_query($this->conn, $qry))
{
/*//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
$qry = "SELECT currval('campus.tbl_lvinfo_lvinfo_id_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler!';
pg_query($this->conn, "ROLLBACK");
return false;
}
else
{
$this->lvinfo_id = $row->id;
pg_query($this->conn, "COMMIT");
}
{
$this->lastqry=$qry;
return true;
}
else
@@ -288,5 +262,41 @@ class lvinfo
return false;
}
}
function exists($lehrveranstaltung_id, $sprache)
{
if(!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT count(*) as anzahl FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$lehrveranstaltung_id' AND sprache='".addslashes($sprache)."'";
if($result=pg_query($this->conn, $qry))
{
if($row=pg_fetch_object($result))
{
if($row->anzahl>0)
{
return true;
}
else
{
return false;
}
}
else
{
$this->errormsg ='Fehler bei einer Abfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
}
?>