From 325b269b224615a9c584e0ec631a11d68bb24eb8 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 11 Nov 2014 01:05:29 -0800 Subject: the code is a bit crufty, but this should fix issue #687 --- mod/profiles.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'mod/profiles.php') diff --git a/mod/profiles.php b/mod/profiles.php index 86de72629..bea006384 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -234,6 +234,22 @@ function profiles_post(&$a) { } $dob = $_POST['dob'] ? escape_tags(trim($_POST['dob'])) : '0000-00-00'; // FIXME: Needs to be validated? + + $y = substr($dob,0,4); + if((! ctype_digit($y)) || ($y < 1900)) + $ignore_year = true; + else + $ignore_year = false; + + if($dob != '0000-00-00') { + if(strpos($dob,'0000-') === 0) { + $ignore_year = true; + $dob = substr($dob,5); + } + $dob = datetime_convert('UTC','UTC',(($ignore_year) ? '1900-' . $dob : $dob),(($ignore_year) ? 'm-d' : 'Y-m-d')); + if($ignore_year) + $dob = '0000-' . $dob; + } $name = escape_tags(trim($_POST['name'])); -- cgit v1.2.3