diff --git a/include/webservicelog.class.php b/include/webservicelog.class.php new file mode 100644 index 000000000..93378211b --- /dev/null +++ b/include/webservicelog.class.php @@ -0,0 +1,183 @@ +. + */ + +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class webservicelog extends basis_db +{ + public $webservicelog_id; // Serial + public $webservicetyp_kurzbz; // FK varchar(32) + public $request_id; // varchar(64) + public $beschreibung; // varchar(256) + public $request_data; // text + public $execute_time; // timestampt + public $execute_user; // varchar(32) + + public $new; // boolean + public $result = array(); // webservicelog object array + + /** + * Konstruktor - Laedt optional einen DS + * @param $log_id + */ + public function __construct($webservicelog_id=null) + { + parent::__construct(); + + if(!is_null($webservicelog_id)) + $this->load($webservicelog_id); + } + + /** + * + * Lädt den Log mit übergebener ID + * @param $webservicelog_id + */ + public function load($webservicelog_id) + { + if(!is_numeric($webservicelog_id)) + { + $this->errormsg ="Ungültige ID übergeben."; + return false; + } + + $qry ="SELECT * FROM system.tbl_webservicelog WHERE + webservicelog_id = '".addslashes($webservicelog_id)."';"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->webservicelog_id = $row->webservicelog_id; + $this->webservicetyp_kurzbz = $row->webservicetyp_kurzbz; + $this->request_id = $row->request_id; + $this->beschreibung = $row->beschreibung; + $this->request_data = $row->request_data; + $this->execute_time = $row->execute_time; + $this->execute_user = $row->execute_user; + return true; + } + else + { + $this->errormsg = "Kein Log mit der ID gefunden."; + return false; + } + } + else + { + $this->errormsg ="Fehler bei der Abfrage aufgetreten."; + return false; + } + } + + /** + * + * Speichert den aktuellen Log in der Datenbank + * @param $new + */ + public function save($new = null) + { + if(is_null($new)) + $new = $this->new; + + // insert + $qry ="INSERT INTO system.tbl_webservicelog(webservicetyp_kurzbz, request_id, beschreibung, request_data, execute_time, execute_user) VALUES ('". + addslashes($this->webservicetyp_kurzbz)."','". + addslashes($this->request_id)."','". + addslashes($this->beschreibung)."','". + addslashes($this->request_data)."','now()','". + addslashes($this->execute_user)."');"; + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = "Fehler bei Insert/Update aufgetreten."; + $this->errormsg = $qry; + return false; + } + } + + /** + * + * Lädt alle Logeinträge eines bestimmten Typs + * @param $kurzbz + */ + public function getFromTyp($kurzbz) + { + if($kurzbz > 32) + { + $this->errormsg = "Ungültige Kurzbz"; + return false; + } + + $qry ="SELECT * FROM system.tbl_webservicelog WHERE + webservicetyp_kurzbz ='".addslashes($kurzbz)."';"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $log = new webservicelog(); + $log->webservicelog_id = $row->webservicelog_id; + $log->webservicetyp_kurzbz = $row->webservicetyp_kurzbz; + $log->request_id = $row->request_id; + $log->beschreibung = $row->beschreibung; + $log->request_data = $row->request_data; + $log->execute_time = $row->execute_time; + $log->execute_user = $row->execute_user; + + $this->result[] = $log; + } + return true; + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + } + + /** + * + * Validiert Übergabeparameter + */ + public function validate() + { + if($this->webservicetyp_kurzbz > 32) + { + $this->errormsg = "Kurzbz ist zu lang."; + return false; + } + if($this->request_id > 64) + { + $this->errormsg = "RequestID ist zu lang"; + return false; + } + if($this->beschreibung > 256) + { + $this->errormsg = "Beschreibung ist zu lang"; + return false; + } + return true; + } +} \ No newline at end of file