diff --git a/index.php b/index.php
index dd4dba014..2744fd9dc 100644
--- a/index.php
+++ b/index.php
@@ -379,7 +379,7 @@ if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled']) {
$week_all = true;
continue;
}
- $week_list[] = profile_url($week) . ' (' . birthday_age($week['user_birthday'] - 1) . ')';
+ $week_list[] = profile_url($week) . ' (' . birthday_age($week['user_birthday']) . ')';
}
$week_all = ($week_all) ? ' ...' : '';
$week_list = sprintf($lang['BIRTHDAY_WEEK'], $bb_cfg['birthday_check_day'], implode(', ', $week_list)) . $week_all;
diff --git a/library/includes/datastore/build_stats.php b/library/includes/datastore/build_stats.php
index 61d7eb84a..7a5ab4e23 100644
--- a/library/includes/datastore/build_stats.php
+++ b/library/includes/datastore/build_stats.php
@@ -76,6 +76,7 @@ if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled']) {
FROM " . BB_USERS . "
WHERE user_id NOT IN(" . EXCLUDED_USERS . ")
AND user_birthday != '0000-00-00'
+ AND user_birthday IS NOT NULL
AND user_active = 1
ORDER BY user_level DESC, username
");
diff --git a/library/includes/ucp/register.php b/library/includes/ucp/register.php
index a80be37c7..ef4a08db7 100644
--- a/library/includes/ucp/register.php
+++ b/library/includes/ucp/register.php
@@ -321,9 +321,9 @@ foreach ($profile_fields as $field => $can_edit) {
* Возраст (edit)
*/
case 'user_birthday':
- $user_birthday = isset($_POST['user_birthday']) ? (string)$_POST['user_birthday'] : $pr_data['user_birthday'];
+ $user_birthday = !empty($_POST['user_birthday']) ? (string)$_POST['user_birthday'] : $pr_data['user_birthday'];
- if ($submit && $user_birthday != $pr_data['user_birthday']) {
+ if ($submit && $user_birthday !== $pr_data['user_birthday']) {
$birthday_date = date_parse($user_birthday);
if (!empty($birthday_date['year'])) {
@@ -336,8 +336,7 @@ foreach ($profile_fields as $field => $can_edit) {
}
}
- $pr_data['user_birthday'] = $user_birthday;
- $db_data['user_birthday'] = $user_birthday;
+ $pr_data['user_birthday'] = $db_data['user_birthday'] = !empty($user_birthday) ? $user_birthday : null;
}
$tp_data['USER_BIRTHDAY'] = $pr_data['user_birthday'];
break;
diff --git a/library/includes/ucp/viewprofile.php b/library/includes/ucp/viewprofile.php
index beac76a89..a3b9f3ffa 100644
--- a/library/includes/ucp/viewprofile.php
+++ b/library/includes/ucp/viewprofile.php
@@ -114,8 +114,8 @@ $template->assign_vars(array(
'TWITTER' => $profiledata['user_twitter'],
'USER_POINTS' => $profiledata['user_points'],
'GENDER' => ($bb_cfg['gender']) ? $lang['GENDER_SELECT'][$profiledata['user_gender']] : '',
- 'BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? $profiledata['user_birthday'] : '',
- 'AGE' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? birthday_age($profiledata['user_birthday']) : '',
+ 'BIRTHDAY' => ($bb_cfg['birthday_enabled'] && !empty($profiledata['user_birthday']) && $profiledata['user_birthday'] != '0000-00-00') ? $profiledata['user_birthday'] : '',
+ 'AGE' => ($bb_cfg['birthday_enabled'] && !empty($profiledata['user_birthday']) && $profiledata['user_birthday'] != '0000-00-00') ? birthday_age($profiledata['user_birthday']) : '',
'L_VIEWING_PROFILE' => sprintf($lang['VIEWING_USER_PROFILE'], $profiledata['username']),
'L_MY_PROFILE' => sprintf($lang['VIEWING_MY_PROFILE'], 'profile.php?mode=editprofile'),
diff --git a/viewtopic.php b/viewtopic.php
index c40d611be..14e62b409 100644
--- a/viewtopic.php
+++ b/viewtopic.php
@@ -587,7 +587,8 @@ $this_date = bb_date(TIMENOW, 'md', false);
for ($i = 0; $i < $total_posts; $i++) {
$poster_id = $postrow[$i]['user_id'];
$poster = ($poster_id == GUEST_UID) ? $lang['GUEST'] : $postrow[$i]['username'];
- $poster_birthday = ($poster_id != GUEST_UID && $postrow[$i]['user_birthday'] != '0000-00-00') ? date('md', strtotime($postrow[$i]['user_birthday'])) : '';
+ $poster_birthday = ($poster_id != GUEST_UID && !empty($postrow[$i]['user_birthday']) && $postrow[$i]['user_birthday'] != '0000-00-00')
+ ? date('md', strtotime($postrow[$i]['user_birthday'])) : '';
$post_date = bb_date($postrow[$i]['post_time'], $bb_cfg['post_date_format']);
$max_post_time = max($max_post_time, $postrow[$i]['post_time']);
$poster_posts = ($poster_id != GUEST_UID) ? $postrow[$i]['user_posts'] : '';