- partially reviewed #1361;

This commit is contained in:
Mykyta Synelnikov
2023-12-01 00:30:37 +02:00
parent be9bb0f239
commit 2c5f396795
8 changed files with 24 additions and 25 deletions
+1 -1
View File
@@ -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' ),
+3 -3
View File
@@ -1895,10 +1895,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
case '_pretty_format':
?>
<p><label for="_pretty_format"><?php _e( 'Displayed Date Format', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Whether you wish to show the date in full or only show the years e.g. 25 Years', 'ultimate-member' ) ); ?></label>
<p><label for="_pretty_format"><?php esc_html_e( 'Displayed Date Format', 'ultimate-member' ); ?> <?php UM()->tooltip( __( 'Whether you wish to show the date in full or only show the years e.g. 25 Years', 'ultimate-member' ) ); ?></label>
<select name="_pretty_format" id="_pretty_format" style="width: 100%">
<option value="0" <?php selected( 0, $this->edit_mode_value ); ?>><?php _e( 'Show full date', 'ultimate-member' ) ?></option>
<option value="1" <?php selected( 1, $this->edit_mode_value ); ?>><?php _e( 'Show years only', 'ultimate-member' ) ?></option>
<option value="0" <?php selected( 0, $this->edit_mode_value ); ?>><?php esc_html_e( 'Show full date', 'ultimate-member' ); ?></option>
<option value="1" <?php selected( 1, $this->edit_mode_value ); ?>><?php esc_html_e( 'Show years only', 'ultimate-member' ); ?></option>
</select>
</p>
-1
View File
@@ -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';
}
/**
+2 -2
View File
@@ -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 ) );
}
/**
+1 -1
View File
@@ -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 );
}
+8 -9
View File
@@ -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 ) ) {
+4 -2
View File
@@ -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;
}
}
+5 -6
View File
@@ -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.
}
/**