This commit is contained in:
Rudolf Hangl
2007-01-18 12:22:50 +00:00
parent beb10a2e07
commit ae7e464dc5
4 changed files with 687 additions and 322 deletions
+160 -23
View File
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
/* Copyright (C) 2007 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
@@ -22,29 +22,31 @@
class studiengang
{
var $conn; // resource DB-Handle
var $new; // boolean
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result = array(); // studiengang Objekt
var $result = array(); // studiengang Objekt
var $studiengang_kz; // integer
var $kurzbz; // varchar(5)
var $kurzbzlang; // varchar(10)
var $bezeichnung; // varchar(128)
var $english; // varchar(128)
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 $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
var $bescheidbgbl1; // varchar(16)
var $bescheidbgbl2; // varchar(16)
var $bescheidgz; // varchar(16)
var $bescheidvom; // Date
var $organisationsform; // varchar(1)
var $titelbescheidvom; // Date
var $ext_id; // bigint
var $kuerzel; // = typ + kurzbz (Bsp: BBE)
@@ -101,7 +103,7 @@ class studiengang
$this->email=$row->email;
$this->max_semester=$row->max_semester;
$this->max_verband=$row->max_verband;
$this->max_semester=$row->max_semester;
$this->max_gruppe=$row->max_gruppe;
$this->erhalter_kz=$row->erhalter_kz;
$this->bescheid=$row->bescheid;
$this->bescheidbgbl1=$row->bescheidbgbl1;
@@ -152,7 +154,7 @@ class studiengang
$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->max_gruppe=$row->max_gruppe;
$stg_obj->erhalter_kz=$row->erhalter_kz;
$stg_obj->bescheid=$row->bescheid;
$stg_obj->bescheidbgbl1=$row->bescheidbgbl1;
@@ -178,15 +180,150 @@ class studiengang
$this->errormsg = 'Noch nicht implementiert';
return false;
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
{
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
$this->kurzbz = str_replace("'",'´',$this->kurzbz);
$this->kurzbzlang = str_replace("'",'´',$this->kurzbzlang);
$this->english = str_replace("'",'´',$this->english);
//Laenge Pruefen
if(strlen($this->bezeichnung)>128)
{
$this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei <b>$this->ext_id</b> - $this->bezeichnung";
return false;
}
if(strlen($this->kurzbz)>5)
{
$this->errormsg = "Kurzbez darf nicht laenger als 5 Zeichen sein bei <b>$this->ext_id</b> - $this->kurzbz";
return false;
}
if(strlen($this->kurzbzlang)>10)
{
$this->errormsg = "Kurzbezlang darf nicht laenger als 10 Zeichen sein bei <b>$this->ext_id</b> - $this->kurzbzlang";
return false;
}
if(strlen($this->english)>128)
{
$this->errormsg = "english darf nicht laenger als 128 Zeichen sein bei <b>$this->ext_id</b> - $this->english";
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
function save()
{
$this->errormsg = 'Noch nicht implementiert';
return false;
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
{
return false;
}
if($this->new)
{
//Pruefen ob studiengang_kz gueltig ist
if(!is_numeric($this->studiengang_kz))
{
$this->errormsg = 'studiengang_kz ungueltig! ('.$this->studiengang_kz.'/'.$this->ext_id.')';
return false;
}
//Neuen Datensatz anlegen
$qry = 'INSERT INTO public.tbl_studiengang (studiengang_kz, kurzbz, kurzbzlang, bezeichnung, english,
typ, farbe, email, max_verband, max_semester, max_gruppe, erhalter_kz, bescheid, bescheidbgbl1,
bescheidbgbl2, bescheidgz, bescheidvom, organisationsform, titelbescheidvom, ext_id) VALUES ('.
$this->addslashes($this->studiengang_kz).', '.
$this->addslashes($this->kurzbz).', '.
$this->addslashes($this->kurzbzlang).', '.
$this->addslashes($this->bezeichnung).', '.
$this->addslashes($this->english).', '.
$this->addslashes($this->typ).', '.
$this->addslashes($this->farbe).', '.
$this->addslashes($this->email).', '.
$this->addslashes($this->max_verband).', '.
$this->addslashes($this->max_semester).', '.
$this->addslashes($this->max_gruppe).', '.
$this->addslashes($this->erhalter_kz).', '.
$this->addslashes($this->bescheid).', '.
$this->addslashes($this->bescheidbgbl1).', '.
$this->addslashes($this->bescheidbgbl2).', '.
$this->addslashes($this->bescheidgz).', '.
$this->addslashes($this->bescheidvom).', '.
$this->addslashes($this->organisationsform).', '.
$this->addslashes($this->titelbescheidvom).', '.
$this->addslashes($this->ext_id).');';
}
else
{
//bestehenden Datensatz akualisieren
//Pruefen ob studiengang_kz gueltig ist
if(!is_numeric($this->studiengang_kz))
{
$this->errormsg = 'studiengang_kz ungueltig.';
return false;
}
$qry = 'UPDATE public.tbl_studiengang SET '.
'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '.
'kurzbz='.$this->addslashes($this->kurzbz).', '.
'kurzbzlang='.$this->addslashes($this->kurzbzlang).', '.
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
'english='.$this->addslashes($this->english).', '.
'typ='.$this->addslashes($this->typ).', '.
'farbe='.$this->addslashes($this->farbe).', '.
'max_verband='.$this->addslashes($this->max_verband).', '.
'max_semester='.$this->addslashes($this->max_semester).', '.
'max_gruppe='.$this->addslashes($this->max_gruppe).', '.
'erhalter_kz='.$this->addslashes($this->erhalter_kz).', '.
'bescheid='.$this->addslashes($this->bescheid).', '.
'bescheidbgbl1='.$this->addslashes($this->bescheidbgbl1).', '.
'bescheidbgbl2='.$this->addslashes($this->bescheidbgbl2).', '.
'bescheidgz='.$this->addslashes($this->bescheidgz).', '.
'bescheidvom='.$this->addslashes($this->bescheidvom).', '.
'organisationsform='.$this->addslashes($this->organisationsform).', '.
'titelbescheidvom='.$this->addslashes($this->titelbescheidvom).', '.
'ext_id='.$this->addslashes($this->ext_id).' '.
'WHERE studiengang_kz='.$this->addslashes($this->studiengang_kz).';';
}
//echo $qry;
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;
}*/
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
}
?>