From 3a8e4a857269952fa97414462b1ef888f9f45266 Mon Sep 17 00:00:00 2001 From: Gerald Simane Date: Thu, 16 Jul 2009 07:15:57 +0000 Subject: [PATCH] --- .../freifaecher/pinboardverwaltung.php | 13 +++++- cis/private/lehre/pinboardverwaltung.php | 9 ++-- cis/private/tools/newsverwaltung.php | 15 +++++-- include/news.class.php | 42 +++++++++++++++++-- 4 files changed, 64 insertions(+), 15 deletions(-) diff --git a/cis/private/freifaecher/pinboardverwaltung.php b/cis/private/freifaecher/pinboardverwaltung.php index b9347455b..643f74a46 100644 --- a/cis/private/freifaecher/pinboardverwaltung.php +++ b/cis/private/freifaecher/pinboardverwaltung.php @@ -28,7 +28,7 @@ require_once('../../../include/functions.inc.php'); if (!$user=get_uid()) die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! Zurück'); - + require_once('../../../include/datum.class.php'); // ---------------- Classen Datenbankabfragen und Funktionen include_once('../../../include/person.class.php'); include_once('../../../include/benutzer.class.php'); @@ -96,8 +96,17 @@ $news->semester=0; $news->fachbereich_kurzbz=null; + + $datum_obj = new datum(); + if(isset($_POST['datum']) && !$datum_obj->checkDatum($_POST['datum'])) + $error.=(!empty($error)?'
':'').$_POST['datum'].' Datum ist falsch '; + if(isset($_POST['datum_bis']) && !empty($_POST['datum_bis']) && !$datum_obj->checkDatum($_POST['datum_bis'])) + $error.=(!empty($error)?'
':'').$_POST['datum_bis'].' Datum Bis ist falsch '; + + $news->datum = trim((isset($_REQUEST['datum']) ? $_REQUEST['datum']:date('d.m.Y'))); $news->datum_bis = trim((isset($_REQUEST['datum_bis']) ? $_REQUEST['datum_bis']:null)); + $news->uid=$user; $news->updatevon=$user; $news->updateamum=date('Y-m-d H:i:s'); @@ -106,7 +115,7 @@ $news->insertamum=date('Y-m-d H:i:s'); # var_dump($news); - if($news->save()) + if(!$error && $news->save()) { if(isset($news_id) && $news_id != "") $error.=(!empty($error)?'
':'').'Die Nachricht wurde erfolgreich geändert!'; diff --git a/cis/private/lehre/pinboardverwaltung.php b/cis/private/lehre/pinboardverwaltung.php index 945c8e1af..8501c363a 100644 --- a/cis/private/lehre/pinboardverwaltung.php +++ b/cis/private/lehre/pinboardverwaltung.php @@ -116,11 +116,8 @@ $datum_obj = new datum(); if(isset($_POST['datum']) && !$datum_obj->checkDatum($_POST['datum'])) $error.=(!empty($error)?'
':'').$_POST['datum'].' Datum ist falsch '; - if(isset($_POST['datum_bis']) && !$datum_obj->checkDatum($_POST['datum_bis'])) + if(isset($_POST['datum_bis']) && !empty($_POST['datum_bis']) && !$datum_obj->checkDatum($_POST['datum_bis'])) $error.=(!empty($error)?'
':'').$_POST['datum_bis'].' Datum Bis ist falsch '; - - - $news->datum = trim((isset($_REQUEST['datum']) ? $_REQUEST['datum']:date('d.m.Y'))); $news->datum_bis = trim((isset($_REQUEST['datum_bis']) ? $_REQUEST['datum_bis']:null)); @@ -134,7 +131,7 @@ $news->insertvon=$user; $news->insertamum=date('Y-m-d H:i:s'); - if($news->save()) + if(!$error && $news->save()) { if(isset($news_id) && $news_id != "") $error.=(!empty($error)?'
':'').'Die Nachricht wurde erfolgreich geändert!'; @@ -251,7 +248,7 @@ return 'Datum ' + Datum.value + ' ist ungültig. Bitte beachten Sie das führende nullen angegeben werden müssen (Beispiel: )'; } var Tag, Monat,Jahr,Date; - Date=Datum.value; + Date=Datum.value; Tag=Date.substring(0,2); Monat=Date.substring(3,5); Jahr=Date.substring(6,10); diff --git a/cis/private/tools/newsverwaltung.php b/cis/private/tools/newsverwaltung.php index efd117775..a35c667e2 100644 --- a/cis/private/tools/newsverwaltung.php +++ b/cis/private/tools/newsverwaltung.php @@ -28,7 +28,7 @@ require_once('../../../include/functions.inc.php'); if (!$user=get_uid()) die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! Zurück'); - + require_once('../../../include/datum.class.php'); // ---------------- Classen Datenbankabfragen und Funktionen include_once('../../../include/person.class.php'); include_once('../../../include/benutzer.class.php'); @@ -101,9 +101,18 @@ else $news->fachbereich_kurzbz = ''; - + $datum_obj = new datum(); + if(isset($_POST['datum']) && !$datum_obj->checkDatum($_POST['datum'])) + $error.=(!empty($error)?'
':'').$_POST['datum'].' Datum ist falsch '; + if(isset($_POST['datum_bis']) && !empty($_POST['datum_bis']) && !$datum_obj->checkDatum($_POST['datum_bis'])) + $error.=(!empty($error)?'
':'').$_POST['datum_bis'].' Datum Bis ist falsch '; + + + $news->datum = trim((isset($_REQUEST['datum']) ? $_REQUEST['datum']:date('d.m.Y'))); $news->datum_bis = trim((isset($_REQUEST['datum_bis']) ? $_REQUEST['datum_bis']:null)); + + $news->uid=$user; $news->insertvon=$user; $news->insertamum=date('Y-m-d H:i:s'); @@ -111,7 +120,7 @@ $news->updateamum=date('Y-m-d H:i:s'); # var_dump($news); - if($news->save()) + if(!$error && $news->save()) { if(isset($news_id) && $news_id != "") $error.=(!empty($error)?'
':'').'Die Nachricht wurde erfolgreich geändert!'; diff --git a/include/news.class.php b/include/news.class.php index eb401917f..594628ba9 100644 --- a/include/news.class.php +++ b/include/news.class.php @@ -321,8 +321,8 @@ class news extends basis_db $this->addslashes($this->uid).', '. $this->addslashes($this->studiengang_kz).', '. $this->addslashes($this->verfasser).', '. - $this->addslashes($this->datum).', '. - $this->addslashes($this->datum_bis).', '. + $this->addslashes($this->getSQLDate($this->datum)).', '. + $this->addslashes($this->getSQLDate($this->datum_bis)).', '. $this->addslashes($this->insertamum).', '. $this->addslashes($this->insertvon).', '. $this->addslashes($this->updateamum).', '. @@ -348,8 +348,8 @@ class news extends basis_db 'uid='.$this->addslashes($this->uid).', '. 'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '. 'verfasser='.$this->addslashes($this->verfasser).', '. - 'datum='.$this->addslashes($this->datum).', '. - 'datum_bis='.$this->addslashes($this->datum_bis).', '. + 'datum='.$this->addslashes($this->getSQLDate($this->datum)).', '. + 'datum_bis='.$this->addslashes($this->getSQLDate($this->datum_bis)).', '. 'insertamum='.$this->addslashes($this->insertamum).', '. 'insertvon='.$this->addslashes($this->insertvon).', '. 'updateamum='.$this->addslashes($this->updateamum).', '. @@ -367,5 +367,39 @@ class news extends basis_db return false; } } + + + /** + * Ermittelt das Datumsformat fuer SQL + * @param $datum das konvertiert werden soll + * @return Datum wenn ok, false im Fehlerfall + */ + public function getSQLDate($datum) + { + if ( is_null($datum) || empty($datum) ) + return $datum; + + $date=explode('.',$datum); + if (@checkdate($date[1], $date[0], $date[2])) + { + return $date[2].'-'.$date[1].'-'.$date[0]; + } + if (@checkdate($date[2], $date[0], $date[1])) + { + return $date[0].'-'.$date[1].'-'.$date[2]; + } + + $date=explode('-',$datum); + if (@checkdate($date[1], $date[0], $date[2])) + { + return $date[2].'-'.$date[1].'-'.$date[0]; + } + if (@checkdate($date[2], $date[0], $date[1])) + { + return $date[0].'-'.$date[1].'-'.$date[2]; + } + return false; + + } } ?> \ No newline at end of file