Erste Version

This commit is contained in:
kindlm
2015-06-10 19:46:45 +02:00
parent 93473c8db4
commit c742ab7b42
4 changed files with 734 additions and 7 deletions
+290 -5
View File
@@ -34,11 +34,18 @@ class vorlage extends basis_db
public $new;
//Tabellenspalten
public $vorlage_kurzbz; // varchar(16)
public $studiengang_kz; // integer
public $version; // smallint
public $text; // text
public $mimetype; // varchar(64)
public $vorlage_kurzbz; // varchar(16)
public $studiengang_kz; // integer
public $version; // smallint
public $text; // text
public $mimetype; // varchar(64)
public $bezeichnung; // varchar(64)
public $anmerkung; // text
public $style; // text
public $berechtigung; // varchar(32)[]
public $oe_kurzbz; // varchar(32)
public $vorlagestudiengang_id; // bigint
public $anmerkung_vorlagestudiengang; // text
/**
* Konstruktor
@@ -47,7 +54,285 @@ class vorlage extends basis_db
{
parent::__construct();
}
/**
* Laedt eine Vorlage
* @param $vorlage_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function loadVorlage($vorlage_kurzbz)
{
$qry = "SELECT * FROM public.tbl_vorlage WHERE vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->vorlage_kurzbz = $row->vorlage_kurzbz;
$this->bezeichnung = $row->bezeichnung;
$this->anmerkung = $row->anmerkung;
$this->mimetype = $row->mimetype;
return true;
}
else
{
$this->errormsg = 'Eintrag wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Speichert eine Vorlage
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function saveVorlage($new=null)
{
if(is_null($new))
$new = $this->new;
if($new)
{
$qry = "INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung, mimetype) VALUES(".
$this->db_add_param($this->vorlage_kurzbz).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->anmerkung).','.
$this->db_add_param($this->mimetype).');';
}
else
{
$qry = 'UPDATE public.tbl_vorlage
SET bezeichnung='.$this->db_add_param($this->bezeichnung).',
anmerkung='.$this->db_add_param($this->anmerkung).',
mimetype='.$this->db_add_param($this->mimetype).',
WHERE vorlage_kurzbz='.$this->db_add_param($this->vorlage_kurzbz).';';
}
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern: '.$this->db_last_error();
return false;
}
}
/**
* Liefert alle Vorlagen
* @param $order Sortierreihenfolge. Default:vorlage_kurzbz
*/
public function getAllVorlagen($order='vorlage_kurzbz')
{
$qry ="SELECT * FROM public.tbl_vorlage ORDER BY ".$order.";";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new vorlage();
$obj->vorlage_kurzbz = $row->vorlage_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->anmerkung = $row->anmerkung;
$obj->mimetype = $row->mimetype;
$this->result[]= $obj;
}
}
else
return false;
}
/**
* Laedt die Vorlage zu einer OE
* @param $vorlage_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function loadVorlageOE($vorlagestudiengang_id)
{
$qry = "SELECT * FROM public.tbl_vorlagestudiengang WHERE vorlagestudiengang_id=".$this->db_add_param($vorlagestudiengang_id);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->vorlagestudiengang_id = $row->vorlagestudiengang_id;
$this->vorlage_kurzbz = $row->vorlage_kurzbz;
$this->studiengang_kz = $row->studiengang_kz;
$this->version = $row->version;
$this->text = $row->text;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->style = $row->style;
$this->berechtigung = $row->berechtigung;
$this->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang;
return true;
}
else
{
$this->errormsg = 'Eintrag wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle Versionen einer Vorlage
* @param $vorlage_kurzbz
* @param $oe_kurzbz Optional. Gibt nur die Vorlagen zu dieser OE aus.
* @return true wenn ok, false im Fehlerfall
*/
public function getAllVersions($vorlage_kurzbz=null, $oe_kurzbz=null)
{
$qry = "SELECT
*
FROM
public.tbl_vorlagestudiengang
WHERE
1=1";
if(!is_null($vorlage_kurzbz) && $vorlage_kurzbz!='')
{
$qry.=" AND vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz);
}
if(!is_null($oe_kurzbz) && $oe_kurzbz!='')
{
$qry.=" AND oe_kurzbz=".$this->db_add_param($oe_kurzbz);
}
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new vorlage();
$obj->vorlagestudiengang_id = $row->vorlagestudiengang_id;
$obj->vorlage_kurzbz = $row->vorlage_kurzbz;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->version = $row->version;
$obj->text = $row->text;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->style = $row->style;
$obj->berechtigung = $row->berechtigung;
$obj->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang;
$this->result[]= $obj;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Speichert die Vorlage zu einer OE
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function saveVorlageOE($new=null)
{
if($new == null)
$new = $this->new;
if($new)
{
$qry = "INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz,studiengang_kz,version,text,oe_kurzbz,style,berechtigung,anmerkung_vorlagestudiengang) VALUES(".
$this->db_add_param($this->vorlage_kurzbz).','.
$this->db_add_param($this->studiengang_kz).','.
$this->db_add_param($this->version).','.
$this->db_add_param($this->text).','.
$this->db_add_param($this->oe_kurzbz).','.
$this->db_add_param($this->style).','.
$this->db_add_param($this->berechtigung).','.
$this->db_add_param($this->anmerkung_vorlagestudiengang).');';
}
else
{
$qry = 'UPDATE public.tbl_vorlagestudiengang
SET vorlage_kurzbz='.$this->db_add_param($this->vorlage_kurzbz).',
studiengang_kz='.$this->db_add_param($this->studiengang_kz).',
version='.$this->db_add_param($this->version).',
text='.$this->db_add_param($this->text).',
oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).',
style='.$this->db_add_param($this->style).',
berechtigung='.$this->db_add_param($this->berechtigung).',
anmerkung_vorlagestudiengang='.$this->db_add_param($this->anmerkung_vorlagestudiengang).'
WHERE vorlagestudiengang_id='.$this->db_add_param($this->vorlagestudiengang_id).';';
}
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern: '.$this->db_last_error();
return false;
}
}
/**
* Löscht die Vorlagestudiengagn
* @param type $vorlagestudiengang_id ID der Vorlage
*/
public function deleteVorlagestudiengang($vorlagestudiengang_id)
{
$qry = 'DELETE FROM public.tbl_vorlagestudiengang WHERE vorlagestudiengang_id='.$this->db_add_param($vorlagestudiengang_id).';';
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Vorlage konnte nicht gelöscht werden';
return false;
}
}
/**
* Liefert die hoechste Version der Vorlage
*
* @param $oe_kurzbz Organisationseinheit der Vorlage
* @param $vorlage_kurzbz Name der Vorlage
*/
public function getMaxVersion($oe_kurzbz, $vorlage_kurzbz)
{
$qry = "SELECT
max(version) maxversion
FROM
public.tbl_vorlagestudiengang
WHERE
vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz)."
AND
oe_kurzbz=".$this->db_add_param($oe_kurzbz);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
return $row->maxversion;
else
return 0;
}
else
{
$this->errormsg='Fehler beim Ermitteln der hoechsten Version';
return false;
}
}
/**
* Liefert die aktuelle Vorlage
*