diff options
Diffstat (limited to 'mod')
-rw-r--r-- | mod/profiles.php | 16 |
1 files changed, 16 insertions, 0 deletions
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'])); |