mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-05 14:19:27 +00:00
340 lines
9.3 KiB
PHP
340 lines
9.3 KiB
PHP
<?php
|
|
/**
|
|
* Klasse bankverbindung (FAS-Online)
|
|
* @create 07-03-2006
|
|
*/
|
|
class bankverbindung
|
|
{
|
|
var $conn; // @var resource DB-Handle
|
|
var $new; // @var boolean
|
|
var $errormsg; // @var string
|
|
var $result = array(); // @var bankverbindung Objekt
|
|
|
|
//Tabellenspalten
|
|
var $bankverbindung_id; // @var integer
|
|
var $person_id; // @var integer
|
|
var $name; // @var string
|
|
var $anschrift; // @var string
|
|
var $blz; // @var string
|
|
var $bic; // @var string
|
|
var $kontonr; // @var string
|
|
var $iban; // @var string
|
|
var $typ; // @var integer
|
|
var $updateamum; // @var timestamp
|
|
var $updatevon=0; // @var string
|
|
|
|
/**
|
|
* Konstruktor
|
|
* @param $conn Connection zur Datenbank
|
|
* $bank_id Zu ladende ID (Default=null)
|
|
*/
|
|
function bankverbindung($conn, $bank_id=null)
|
|
{
|
|
$this->conn = $conn;
|
|
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
|
|
if(!pg_query($conn,$qry))
|
|
{
|
|
$this->errormsg = "Encoding konnte nicht gesetzt werden";
|
|
return false;
|
|
}
|
|
if($bank_id != null)
|
|
$this->load($bank_id);
|
|
}
|
|
|
|
/**
|
|
* Prueft die gueltigkeit der Variablen
|
|
* @return true wenn ok, false im Fehlerfall
|
|
*/
|
|
function checkvars()
|
|
{
|
|
//Gesamtlaenge pruefen
|
|
$this->errormsg = 'Eine der Maximiallaengen wurde ueberschritten';
|
|
if(strlen($this->name)>255)
|
|
{
|
|
$this->errormsg = 'Name darf nicht länger als 255 Zeichen sein';
|
|
return false;
|
|
}
|
|
if(strlen($this->anschrift)>255)
|
|
{
|
|
$this->errormsg = 'Anschrift darf nicht länger als 255 Zeichen sein';
|
|
return false;
|
|
}
|
|
if(strlen($this->blz)>15)
|
|
{
|
|
$this->errormsg = 'BLZ darf nicht länger als 15 Zeichen sein';
|
|
return false;
|
|
}
|
|
if(strlen($this->bic)>15)
|
|
{
|
|
$this->errormsg = 'BIC darf nicht länger als 15 Zeichen sein';
|
|
return false;
|
|
}
|
|
if(strlen($this->kontonr)>25)
|
|
{
|
|
$this->errormsg = 'KontoNr darf nicht länger als 25 Zeichen sein';
|
|
return false;
|
|
}
|
|
if(strlen($this->iban)>25)
|
|
{
|
|
$this->errormsg = 'IBAN darf nicht länger als 25 Zeichen sein';
|
|
return false;
|
|
}
|
|
|
|
//Zahlenwerte ueberpruefen
|
|
$this->errormsg = 'Ein Zahlenfeld enthaelt ungueltige Zeichen';
|
|
if(!is_numeric($this->person_id)) return false;
|
|
if(!is_numeric($this->typ)) return false;
|
|
|
|
$this->errormsg = '';
|
|
return true;
|
|
}
|
|
|
|
|
|
/**
|
|
* Speichert den aktuellen Datensatz
|
|
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
|
* andernfalls wird der Datensatz mit der ID in $bankverbindung_id aktualisiert
|
|
* @return true wenn ok, false im Fehlerfall
|
|
*/
|
|
function save()
|
|
{
|
|
//Gueltigkeit der Variablen pruefen
|
|
if(!$this->checkvars())
|
|
return false;
|
|
|
|
if($this->new)
|
|
{
|
|
//Neuen Datensatz einfuegen
|
|
|
|
//Naechste ID aus der Sequence holen
|
|
$qry = "SELECT nextval('bankverbindung_seq') as id;";
|
|
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
|
|
{
|
|
$this->errormsg = 'Fehler beim auslesen der Sequence';
|
|
return false;
|
|
}
|
|
$this->bankverbindung_id = $row->id;
|
|
|
|
$qry = "INSERT INTO bankverbindung (bankverbindung_pk, person_fk, name, anschrift, blz, bic,".
|
|
" kontonr, iban, typ, creationdate, creationuser) VALUES(".
|
|
" '$this->bankverbindung_id', '$this->person_id', '$this->name', '$this->anschrift',".
|
|
" '$this->blz', '$this->bic', '$this->kontonr', '$this->iban', '$this->typ', now(), $this->updatevon);";
|
|
}
|
|
else
|
|
{
|
|
//Datensatz Updaten
|
|
|
|
//ID pruefen
|
|
if(!is_numeric($this->bankverbindung_id))
|
|
{
|
|
$this->errormsg = 'bankverbindung_id muss eine Zahl sein';
|
|
return false;
|
|
}
|
|
|
|
$qry="UPDATE bankverbindung SET person_fk='$this->person_id', name='$this->name',".
|
|
" anschrift='$this->anschrift', blz='$this->blz', bic='$this->bic',".
|
|
" kontonr='$this->kontonr', iban='$this->iban', typ='$this->typ'".
|
|
" WHERE bankverbindung_pk=$this->bankverbindung_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', '".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 Speichern der Daten';
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Loescht den Datensatz mit der uebergebenen ID
|
|
* @param $bank_id ID des zu loeschenden Datensatzes
|
|
* @return true wenn ok, false im Fehlerfall
|
|
*/
|
|
function delete($bank_id)
|
|
{
|
|
if(!is_numeric($bank_id) || $bank_id == '')
|
|
{
|
|
$this->errormsg = 'bank_id muss eine Zahl sein';
|
|
return false;
|
|
}
|
|
|
|
$qry="DELETE FROM bankverbindung WHERE bankverbindung_pk=$bank_id";
|
|
|
|
if(!pg_query($this->conn, $qry))
|
|
{
|
|
$this->errormsg = 'Fehler beim loeschen der Daten';
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
//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;
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Liefert die Bankverbindung mit der uebergebenen ID
|
|
* @param $bank_id ID der bankverbindung
|
|
* @return true wenn ok, false im Fehlerfall
|
|
*/
|
|
function load($bank_id)
|
|
{
|
|
if(!is_numeric($bank_id) || $bank_id == '')
|
|
{
|
|
$this->errormsg = 'bank_id muss eine gueltige Zahl sein';
|
|
return false;
|
|
}
|
|
|
|
$qry = "SELECT * FROM bankverbindung WHERE bankverbindung_pk=$bank_id";
|
|
|
|
if(!$res = pg_query($this->conn, $qry))
|
|
{
|
|
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
|
return false;
|
|
}
|
|
|
|
if($row = pg_fetch_object($res))
|
|
{
|
|
$this->bankverbindung_id = $row->bankverbindung_pk;
|
|
$this->person_id = $row->person_fk;
|
|
$this->name = $row->name;
|
|
$this->anschrift = $row->anschrift;
|
|
$this->blz = $row->blz;
|
|
$this->bic = $row->bic;
|
|
$this->kontonr = $row->kontonr;
|
|
$this->iban = $row->iban;
|
|
$this->typ = $row->typ;
|
|
$this->updateamum = $row->creationdate;
|
|
$this->updatevon = $row->creationuser;
|
|
}
|
|
else
|
|
{
|
|
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Liefert alle Bankverbindungen der Person die uebergeben wird
|
|
* @param $pers_id ID der Person
|
|
* @return true wenn ok, false im Fehlerfall
|
|
*/
|
|
function load_pers($pers_id)
|
|
{
|
|
if(!is_numeric($pers_id) || $pers_id == '')
|
|
{
|
|
$this->errormsg = 'pers_id muss eine gueltige Zahl sein';
|
|
return false;
|
|
}
|
|
|
|
$qry = "SELECT * FROM bankverbindung WHERE person_fk=$pers_id";
|
|
|
|
if(!$res = pg_query($this->conn, $qry))
|
|
{
|
|
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
|
return false;
|
|
}
|
|
|
|
while($row = pg_fetch_object($res))
|
|
{
|
|
$bank_obj = new bankverbindung($this->conn);
|
|
|
|
$bank_obj->bankverbindung_id = $row->bankverbindung_pk;
|
|
$bank_obj->person_id = $row->person_fk;
|
|
$bank_obj->name = $row->name;
|
|
$bank_obj->anschrift = $row->anschrift;
|
|
$bank_obj->blz = $row->blz;
|
|
$bank_obj->bic = $row->bic;
|
|
$bank_obj->kontonr = $row->kontonr;
|
|
$bank_obj->iban = $row->iban;
|
|
$bank_obj->typ = $row->typ;
|
|
$bank_obj->updateamum = $row->creationdate;
|
|
$bank_obj->updatevon = $row->creationuser;
|
|
|
|
$this->result[] = $bank_obj;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Liefert alle Bankverbindungen
|
|
* @return true wenn ok, false im Fehlerfall
|
|
*/
|
|
function getAll()
|
|
{
|
|
$qry = "SELECT * FROM bankverbindung";
|
|
|
|
if(!$res = pg_query($this->conn,$qry))
|
|
{
|
|
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
|
return false;
|
|
}
|
|
|
|
while($row = pg_fetch_object($res))
|
|
{
|
|
$bank_obj = new bankverbindung($this->conn);
|
|
|
|
$bank_obj->bankverbindung_id = $row->bankverbindung_pk;
|
|
$bank_obj->person_id = $row->person_fk;
|
|
$bank_obj->name = $row->name;
|
|
$bank_obj->anschrift = $row->anschrift;
|
|
$bank_obj->blz = $row->blz;
|
|
$bank_obj->bic = $row->bic;
|
|
$bank_obj->kontonr = $row->kontonr;
|
|
$bank_obj->iban = $row->iban;
|
|
$bank_obj->typ = $row->typ;
|
|
$bank_obj->updateamum = $row->creationdate;
|
|
$bank_obj->updatevon = $row->creationuser;
|
|
|
|
$this->result[] = $bank_obj;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function getTypBezeichnung($id)
|
|
{
|
|
switch($id)
|
|
{
|
|
case 1: return 'Privatkonto';
|
|
case 2: return 'Firmenkonto';
|
|
default: return '';
|
|
}
|
|
}
|
|
}
|
|
?>
|