diff --git a/includes/admin/core/class-admin-gdpr.php b/includes/admin/core/class-admin-gdpr.php index f7dbcf9d..d943d435 100644 --- a/includes/admin/core/class-admin-gdpr.php +++ b/includes/admin/core/class-admin-gdpr.php @@ -67,7 +67,7 @@ if ( ! class_exists( 'um\admin\core\Admin_GDPR' ) ) { 'um_user_profile_url_slug_name_dash' => __( 'Profile Slug "First and Last Name with \'-\'"', 'ultimate-member' ), 'um_user_profile_url_slug_name_plus' => __( 'Profile Slug "First and Last Name with \'+\'"', 'ultimate-member' ), 'um_user_profile_url_slug_user_id' => __( 'Profile Slug "User ID"', 'ultimate-member' ), - '_um_last_login' => __( 'Last Login Timestamp', 'ultimate-member' ), + '_um_last_login' => __( 'Last Login date', 'ultimate-member' ), //Private content extension '_um_private_content_post_id' => __( 'Private Content Post ID', 'ultimate-member' ), diff --git a/includes/admin/core/class-admin-metabox.php b/includes/admin/core/class-admin-metabox.php index eee07fdc..a5556ec5 100644 --- a/includes/admin/core/class-admin-metabox.php +++ b/includes/admin/core/class-admin-metabox.php @@ -1895,10 +1895,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) { case '_pretty_format': ?> -

+

diff --git a/includes/core/class-form.php b/includes/core/class-form.php index 46808418..4a186ef1 100644 --- a/includes/core/class-form.php +++ b/includes/core/class-form.php @@ -509,7 +509,6 @@ if ( ! class_exists( 'um\core\Form' ) ) { // Add required usermeta for register. if ( 'register' === $this->form_data['mode'] ) { $cf_metakeys[] = 'form_id'; - $cf_metakeys[] = 'timestamp'; } /** diff --git a/includes/core/class-user.php b/includes/core/class-user.php index c49685c7..d4725da2 100644 --- a/includes/core/class-user.php +++ b/includes/core/class-user.php @@ -1497,8 +1497,8 @@ if ( ! class_exists( 'um\core\User' ) ) { /** * Set last login for new registered users */ - function set_last_login() { - update_user_meta( $this->id, '_um_last_login', current_time( 'timestamp' ) ); + public function set_last_login() { + update_user_meta( $this->id, '_um_last_login', current_time( 'mysql', true ) ); } /** diff --git a/includes/core/um-actions-login.php b/includes/core/um-actions-login.php index 34147073..a47065fe 100644 --- a/includes/core/um-actions-login.php +++ b/includes/core/um-actions-login.php @@ -160,7 +160,7 @@ add_action( 'um_submit_form_errors_hook_logincheck', 'um_submit_form_errors_hook * @param $user_id */ function um_store_lastlogin_timestamp( $user_id ) { - update_user_meta( $user_id, '_um_last_login', current_time( 'timestamp' ) ); + update_user_meta( $user_id, '_um_last_login', current_time( 'mysql', true ) ); // Flush user cache after updating last_login timestamp. UM()->user()->remove_cache( $user_id ); } diff --git a/includes/core/um-filters-fields.php b/includes/core/um-filters-fields.php index 9c501e55..933e6827 100644 --- a/includes/core/um-filters-fields.php +++ b/includes/core/um-filters-fields.php @@ -254,7 +254,6 @@ function um_profile_field_filter_hook__last_login( $value, $data ) { if ( ! $value ) { return ''; } - //$value = sprintf( __('Last login: %s','ultimate-member'), um_user_last_login( um_user('ID') ) ); $value = um_user_last_login( um_user( 'ID' ) ); return $value; } @@ -331,12 +330,11 @@ function um_profile_field_filter_hook__time( $value, $data ) { } add_filter( 'um_profile_field_filter_hook__time', 'um_profile_field_filter_hook__time', 99, 2 ); - /** - * Date field + * Date field. * - * @param $value - * @param $data + * @param string $value Date string. + * @param array $data Field data. * * @return string */ @@ -344,18 +342,19 @@ function um_profile_field_filter_hook__date( $value, $data ) { if ( ! $value ) { return ''; } - if ( isset( $data['pretty_format'] ) && $data['pretty_format'] == 1 ) { + + if ( ! empty( $data['pretty_format'] ) ) { $value = UM()->datetime()->get_age( $value ); } else { $format = empty( $data['format_custom'] ) ? $data['format'] : $data['format_custom']; - $value = date_i18n( $format, strtotime( $value ) ); + // Don't handle static dates via timezone because can be -1 day for minus UTC timezones (e.g. America). + $value = wp_date( $format, strtotime( $value ), new \DateTimeZone( 'UTC' ) ); } return $value; } add_filter( 'um_profile_field_filter_hook__date', 'um_profile_field_filter_hook__date', 99, 2 ); - /** * File field * @param $value @@ -368,7 +367,7 @@ function um_profile_field_filter_hook__file( $value, $data ) { return ''; } $file_type = wp_check_filetype( $value ); - $uri = UM()->files()->get_download_link( UM()->fields()->set_id, $data['metakey'], um_user( 'ID' ) ); + $uri = UM()->files()->get_download_link( UM()->fields()->set_id, $data['metakey'], um_user( 'ID' ) ); $removed = false; if ( ! file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $value ) ) { diff --git a/includes/um-deprecated-functions.php b/includes/um-deprecated-functions.php index 5c9ee973..3381f331 100644 --- a/includes/um-deprecated-functions.php +++ b/includes/um-deprecated-functions.php @@ -167,9 +167,11 @@ function um_get_redirect_url( $key ) { * @return string */ function um_user_last_login_date( $user_id ) { + _deprecated_function( __FUNCTION__, '2.0.0' ); $value = get_user_meta( $user_id, '_um_last_login', true ); - if ($value) + if ( $value ) { return date_i18n( 'F d, Y', $value ); + } return ''; } @@ -682,4 +684,4 @@ function um_user_submitted_registration( $style = false ) { } return $output; -} \ No newline at end of file +} diff --git a/includes/um-short-functions.php b/includes/um-short-functions.php index 650e2943..2a63b100 100644 --- a/includes/um-short-functions.php +++ b/includes/um-short-functions.php @@ -1168,18 +1168,17 @@ function um_is_temp_file( $filename ) { return false; } - /** * Get user's last login timestamp * - * @param $user_id + * @param int $user_id * - * @return mixed|string + * @return int|string */ function um_user_last_login_timestamp( $user_id ) { $value = get_user_meta( $user_id, '_um_last_login', true ); if ( $value ) { - return $value; + return strtotime( $value ); } return ''; @@ -1193,8 +1192,8 @@ function um_user_last_login_timestamp( $user_id ) { * @return string */ function um_user_last_login( $user_id ) { - $value = get_user_meta( $user_id, '_um_last_login', true ); - return ! empty( $value ) ? UM()->datetime()->time_diff( $value, current_time( 'timestamp' ) ) : ''; + $value = get_user_meta( $user_id, '_um_last_login', true ); // Datetime format in UTC. + return ! empty( $value ) ? UM()->datetime()->time_diff( strtotime( $value ) ) : ''; // Compare with default time() in 2nd attribute. } /**