From f1e9b93060b0d1c4554c853a8ee8b5d8ad721c9a Mon Sep 17 00:00:00 2001
From: ywarnier <ywarnier>
Date: Sun, 14 Jan 2007 14:31:29 +0000
Subject: [PATCH] Fix update_perso() pour autoriser les dates de naissance <
 1970

---
 htdocs/contact.class.php | 12 ++----------
 htdocs/contact/perso.php | 17 +++++++++--------
 2 files changed, 11 insertions(+), 18 deletions(-)

diff --git a/htdocs/contact.class.php b/htdocs/contact.class.php
index 81291db28cc..da9ed5edeef 100644
--- a/htdocs/contact.class.php
+++ b/htdocs/contact.class.php
@@ -307,16 +307,8 @@ class Contact
 	
 		if ($this->birthday>0)
 		{
-			if (eregi('\-',$this->birthday))
-			{
-				// Si date = chaine
-				$sql .= ", birthday='".$this->birthday."'";
-			}
-			else
-			{
-				// Si date = timestamp
-				$sql .= ", birthday=".$this->db->idate($this->birthday);
-			}
+			$birthday = (int) $this->birthday;
+			$sql .= ", birthday='".$birthday."'";
 		}
 		$sql .= " WHERE idp=$id";
 	
diff --git a/htdocs/contact/perso.php b/htdocs/contact/perso.php
index dbfc818f64c..7c06345b934 100644
--- a/htdocs/contact/perso.php
+++ b/htdocs/contact/perso.php
@@ -75,14 +75,15 @@ if ($_POST["action"] == 'update')
 
     if ($_POST["birthdayyear"])
     {
-        if ($_POST["birthdayyear"]<=1970 && $_SERVER["WINDIR"])
-        {
-        // windows mktime does not support negative date timestamp so birthday is not supported for old persons
-        $contact->birthday = $_POST["birthdayyear"].'-'.$_POST["birthdaymonth"].'-'.$_POST["birthdayday"];
-        // array_push($error,"Windows ne sachant pas g�rer des dates avant 1970, les dates de naissance avant cette date ne seront pas sauvegard�es");
-        } else {
-            $contact->birthday     = mktime(0,0,0,$_POST["birthdaymonth"],$_POST["birthdayday"],$_POST["birthdayyear"]);
-        }
+		$birthday 	= (int) $_POST["birthdayday"];
+		$birthmonth = (int) $_POST["birthdaymonth"];
+		$birthyear 	= (int) $_POST["birthdayyear"];
+		if($birthmonth>=1 && $birthmonth<=12
+			&& $birthday>=1 && $birthday<=31
+			&& $birthyear>=1850 && $birthyear<=date('Y'))
+		{
+           	$contact->birthday     = $birthyear.$birthmonth.$birthday;
+		}
     }
 
     $contact->birthday_alert = $_POST["birthday_alert"];
-- 
GitLab