From 456a4e2057071d19e99f29bc13f456f6c44935dd Mon Sep 17 00:00:00 2001 From: OliiverHacker Date: Mon, 12 Apr 2021 11:52:01 +0200 Subject: [PATCH] bugfix for datum validation --- include/bisverwendung.class.php | 112 ++++++++++++++++++++------------ 1 file changed, 71 insertions(+), 41 deletions(-) diff --git a/include/bisverwendung.class.php b/include/bisverwendung.class.php index 9d92db489..5302d7b96 100644 --- a/include/bisverwendung.class.php +++ b/include/bisverwendung.class.php @@ -104,8 +104,8 @@ class bisverwendung extends basis_db $this->verwendung_code = $row->verwendung_code; $this->mitarbeiter_uid = $row->mitarbeiter_uid; $this->hauptberufcode = $row->hauptberufcode; - $this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich); - $this->habilitation = $this->db_parse_bool($row->habilitation); + $this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich); + $this->habilitation = $this->db_parse_bool($row->habilitation); $this->beginn = $row->beginn; $this->ende = $row->ende; $this->updatevon = $row->updatevon; @@ -177,6 +177,24 @@ class bisverwendung extends basis_db } } + + /** + * Prueft das Datum + * @param $date = string + * @return true wenn ok, sonst false + */ + static public function verifyDate($date, $strict = true) + { + $dateTime = DateTime::createFromFormat('Y-m-d', $date); + if ($strict) { + $errors = DateTime::getLastErrors(); + if (!empty($errors['warning_count'])) { + return false; + } + } + return $dateTime !== false; + } + /** * Prueft die Daten vor dem Speichern * @@ -189,6 +207,17 @@ class bisverwendung extends basis_db $this->errormsg = 'Vertragsstunden sind ungueltig'; return false; } + elseif(!$this->verifyDate($this->beginn) && !empty($this->beginn)) + { + $this->errormsg = 'Start Datum ist kein Valides Datum: '.$this->beginn; + return false; + } + elseif(!$this->verifyDate($this->ende) && !empty($this->ende)) + { + $this->errormsg = 'End Datum ist kein Valides Datum: '.$this->ende; + return false; + } + return true; } @@ -225,49 +254,49 @@ class bisverwendung extends basis_db $qry = "BEGIN;INSERT INTO bis.tbl_bisverwendung (ba1code, ba2code, beschausmasscode, verwendung_code, mitarbeiter_uid, hauptberufcode, hauptberuflich, habilitation, beginn, ende, vertragsstunden, updateamum, updatevon, insertamum, insertvon, dv_art, inkludierte_lehre, zeitaufzeichnungspflichtig) VALUES (". - $this->db_add_param($this->ba1code, FHC_INTEGER).', '. - $this->db_add_param($this->ba2code, FHC_INTEGER).', '. - $this->db_add_param($this->beschausmasscode, FHC_INTEGER).', '. - $this->db_add_param($this->verwendung_code, FHC_INTEGER).', '. - $this->db_add_param($this->mitarbeiter_uid).', '. - $this->db_add_param($this->hauptberufcode, FHC_INTEGER).', '. - $hauptberuflich.', '. - $this->db_add_param($this->habilitation, FHC_BOOLEAN).', '. - $this->db_add_param($this->beginn).', '. - $this->db_add_param($this->ende).', '. - $this->db_add_param($this->vertragsstunden).', '. - $this->db_add_param($this->updateamum).', '. - $this->db_add_param($this->updatevon).', '. - $this->db_add_param($this->insertamum).', '. - $this->db_add_param($this->insertvon).', '. - $this->db_add_param($this->dv_art).','. - $this->db_add_param($this->inkludierte_lehre).','. - $zeitaufzeichnungspflichtig. ');'; + $this->db_add_param($this->ba1code, FHC_INTEGER).', '. + $this->db_add_param($this->ba2code, FHC_INTEGER).', '. + $this->db_add_param($this->beschausmasscode, FHC_INTEGER).', '. + $this->db_add_param($this->verwendung_code, FHC_INTEGER).', '. + $this->db_add_param($this->mitarbeiter_uid).', '. + $this->db_add_param($this->hauptberufcode, FHC_INTEGER).', '. + $hauptberuflich.', '. + $this->db_add_param($this->habilitation, FHC_BOOLEAN).', '. + $this->db_add_param($this->beginn).', '. + $this->db_add_param($this->ende).', '. + $this->db_add_param($this->vertragsstunden).', '. + $this->db_add_param($this->updateamum).', '. + $this->db_add_param($this->updatevon).', '. + $this->db_add_param($this->insertamum).', '. + $this->db_add_param($this->insertvon).', '. + $this->db_add_param($this->dv_art).','. + $this->db_add_param($this->inkludierte_lehre).','. + $zeitaufzeichnungspflichtig. ');'; } else { //Bestehenden Datensatz aktualisieren $qry= "UPDATE bis.tbl_bisverwendung SET". - " ba1code=".$this->db_add_param($this->ba1code, FHC_INTEGER).",". - " ba2code=".$this->db_add_param($this->ba2code, FHC_INTEGER).",". - " beschausmasscode=".$this->db_add_param($this->beschausmasscode, FHC_INTEGER).",". - " verwendung_code=".$this->db_add_param($this->verwendung_code, FHC_INTEGER).",". - " mitarbeiter_uid=".$this->db_add_param($this->mitarbeiter_uid).",". - " hauptberufcode=".$this->db_add_param($this->hauptberufcode, FHC_INTEGER).",". - " hauptberuflich=".$hauptberuflich.",". - " habilitation=".$this->db_add_param($this->habilitation, FHC_BOOLEAN).",". - " beginn=".$this->db_add_param($this->beginn).",". - " ende=".$this->db_add_param($this->ende).",". - " vertragsstunden=".$this->db_add_param($this->vertragsstunden).",". - " updateamum=".$this->db_add_param($this->updateamum).",". - " updatevon=".$this->db_add_param($this->updatevon).",". - " insertamum=".$this->db_add_param($this->insertamum).",". - " insertvon=".$this->db_add_param($this->insertvon).",". - " dv_art=".$this->db_add_param($this->dv_art).",". - " inkludierte_lehre=".$this->db_add_param($this->inkludierte_lehre).",". - " zeitaufzeichnungspflichtig=". $zeitaufzeichnungspflichtig. - " WHERE bisverwendung_id=".$this->db_add_param($this->bisverwendung_id, FHC_INTEGER); + " ba1code=".$this->db_add_param($this->ba1code, FHC_INTEGER).",". + " ba2code=".$this->db_add_param($this->ba2code, FHC_INTEGER).",". + " beschausmasscode=".$this->db_add_param($this->beschausmasscode, FHC_INTEGER).",". + " verwendung_code=".$this->db_add_param($this->verwendung_code, FHC_INTEGER).",". + " mitarbeiter_uid=".$this->db_add_param($this->mitarbeiter_uid).",". + " hauptberufcode=".$this->db_add_param($this->hauptberufcode, FHC_INTEGER).",". + " hauptberuflich=".$hauptberuflich.",". + " habilitation=".$this->db_add_param($this->habilitation, FHC_BOOLEAN).",". + " beginn=".$this->db_add_param($this->beginn).",". + " ende=".$this->db_add_param($this->ende).",". + " vertragsstunden=".$this->db_add_param($this->vertragsstunden).",". + " updateamum=".$this->db_add_param($this->updateamum).",". + " updatevon=".$this->db_add_param($this->updatevon).",". + " insertamum=".$this->db_add_param($this->insertamum).",". + " insertvon=".$this->db_add_param($this->insertvon).",". + " dv_art=".$this->db_add_param($this->dv_art).",". + " inkludierte_lehre=".$this->db_add_param($this->inkludierte_lehre).",". + " zeitaufzeichnungspflichtig=". $zeitaufzeichnungspflichtig. + " WHERE bisverwendung_id=".$this->db_add_param($this->bisverwendung_id, FHC_INTEGER); } if($this->db_query($qry)) @@ -341,8 +370,8 @@ class bisverwendung extends basis_db $obj->verwendung_code = $row->verwendung_code; $obj->mitarbeiter_uid = $row->mitarbeiter_uid; $obj->hauptberufcode = $row->hauptberufcode; - $obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich); - $obj->habilitation = $this->db_parse_bool($row->habilitation); + $obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich); + $obj->habilitation = $this->db_parse_bool($row->habilitation); $obj->beginn = $row->beginn; $obj->ende = $row->ende; $obj->updatevon = $row->updatevon; @@ -770,3 +799,4 @@ class bisverwendung extends basis_db } } ?> +