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