From 59916c9bf50edec59cf6bd622a0f3ced74ce1077 Mon Sep 17 00:00:00 2001 From: Yury Buldakov Date: Sun, 27 Aug 2017 07:05:01 +0300 Subject: [PATCH] Add support for NULLs as user_birthday --- library/includes/datastore/build_stats.php | 1 + library/includes/ucp/register.php | 7 +++---- library/includes/ucp/viewprofile.php | 4 ++-- viewtopic.php | 3 ++- 4 files changed, 8 insertions(+), 7 deletions(-) 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'] : '';