mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-11 18:56:10 +09:00
Update 1.0.56
This commit is contained in:
@@ -27,6 +27,7 @@ class UM_Admin_Metabox {
|
||||
|
||||
if ( get_post_meta($post_id, '_um_core', true) ) {
|
||||
flush_rewrite_rules( true ); // so they reset rewrite rules
|
||||
delete_option('um_flush_rules');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,6 +16,8 @@ class UM_Admin_Users {
|
||||
|
||||
add_filter('views_users', array(&$this, 'views_users') );
|
||||
|
||||
add_filter('pre_user_query', array(&$this, 'sort_by_newest') );
|
||||
|
||||
add_filter('pre_user_query', array(&$this, 'custom_users_filter') );
|
||||
|
||||
add_filter('user_row_actions', array(&$this, 'user_row_actions'), 10, 2);
|
||||
@@ -44,6 +46,27 @@ class UM_Admin_Users {
|
||||
return $actions;
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @sort users by newest first
|
||||
***/
|
||||
function sort_by_newest( $query ){
|
||||
global $pagenow;
|
||||
|
||||
if ( is_admin() && $pagenow == 'users.php' ) {
|
||||
|
||||
global $wpdb;
|
||||
|
||||
if (!isset($_REQUEST['orderby'])) {
|
||||
$query->query_vars["order"] = 'desc';
|
||||
$query->query_orderby = " ORDER BY user_registered ".($query->query_vars["order"] == "desc" ? "desc " : "asc ");//set sort order
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $query;
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @custom users filter
|
||||
|
||||
@@ -97,6 +97,15 @@
|
||||
</span>
|
||||
</p><div class="um-admin-clear"></div>
|
||||
|
||||
<p>
|
||||
<label><?php _e('Show "Remember Me"?','ultimatemember'); ?></label>
|
||||
<span>
|
||||
|
||||
<?php $this->ui_on_off('_um_login_show_rememberme', um_get_option('login_show_rememberme') ); ?>
|
||||
|
||||
</span>
|
||||
</p><div class="um-admin-clear"></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -255,6 +255,8 @@ div.uimob340 .um-account-meta {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.uimob340 .um-col-alt-s {padding-top:0}
|
||||
|
||||
/**
|
||||
for 500px and below
|
||||
**/
|
||||
|
||||
@@ -100,6 +100,7 @@
|
||||
|
||||
.um-col {padding-bottom: 20px}
|
||||
.um-col-alt {margin: 0 0 5px 0}
|
||||
.um-col-alt-s {padding-top: 10px}
|
||||
.um-col-alt-b {padding-top: 20px}
|
||||
|
||||
.um-col-121 {float: left;width: 48%}
|
||||
@@ -123,10 +124,15 @@
|
||||
.um-field-tri .um-raty i {font-size: 21px}
|
||||
|
||||
.um-button i {
|
||||
font-size: 22px;
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
top: 14px;
|
||||
font-size: 22px;
|
||||
width: 22px;
|
||||
height: 12px !important;
|
||||
display: inline-block;
|
||||
line-height: 12px !important;
|
||||
vertical-align: middle !important;
|
||||
position: relative;
|
||||
top: -6px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -166,6 +172,15 @@ p.um-notice {
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
p.um-notice i {
|
||||
position: absolute;
|
||||
right: 14px;
|
||||
top: 1px;
|
||||
font-size: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
p.um-notice.success {
|
||||
@@ -266,7 +281,7 @@ p.um-notice.err {
|
||||
padding: 15px 0 0 0;
|
||||
}
|
||||
|
||||
.um-field-b{
|
||||
.um-field-b, .um-field-c {
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
|
||||
@@ -410,6 +425,12 @@ p.um-notice.err {
|
||||
- Radio & Checkboxes
|
||||
*/
|
||||
|
||||
.um-field-c .um-field-checkbox {
|
||||
margin: 0 !important;
|
||||
position: relative;
|
||||
top: -14px;
|
||||
}
|
||||
|
||||
.um-field-checkbox,
|
||||
.um-field-radio {
|
||||
display: block;
|
||||
@@ -443,7 +464,7 @@ p.um-notice.err {
|
||||
|
||||
.um-field-checkbox-option,
|
||||
.um-field-radio-option {
|
||||
margin: 0 0 0 36px;
|
||||
margin: 0 0 0 32px;
|
||||
line-height: 24px;
|
||||
color: #888 !important;
|
||||
display: inline-block;
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -159,7 +159,7 @@
|
||||
|
||||
if ( isset( $array['required'] ) && $array['required'] == 1 ) {
|
||||
if ( !isset($args[$key]) || $args[$key] == '' ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('%s is required'), $array['label']) );
|
||||
$ultimatemember->form->add_error($key, sprintf( __('%s is required','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
if ( is_admin() ) return;
|
||||
|
||||
echo '<input type="hidden" name="timestamp" id="timestamp" value="'.time().'" />';
|
||||
echo '<input type="hidden" name="timestamp" id="timestamp" value="'. current_time( 'timestamp' ) .'" />';
|
||||
|
||||
?>
|
||||
|
||||
|
||||
@@ -45,13 +45,13 @@
|
||||
|
||||
if ( !username_exists( $user_name ) ) {
|
||||
if ( $is_email ) {
|
||||
$ultimatemember->form->add_error( $field, __(' Sorry, we can\'t find an account with that email address') );
|
||||
$ultimatemember->form->add_error( $field, __(' Sorry, we can\'t find an account with that email address','ultimatemember') );
|
||||
} else {
|
||||
$ultimatemember->form->add_error( $field, __(' Sorry, we can\'t find an account with that username') );
|
||||
$ultimatemember->form->add_error( $field, __(' Sorry, we can\'t find an account with that username','ultimatemember') );
|
||||
}
|
||||
} else {
|
||||
if ( $args['user_password'] == '' ) {
|
||||
$ultimatemember->form->add_error( 'user_password', __('Please enter your password') );
|
||||
$ultimatemember->form->add_error( 'user_password', __('Please enter your password','ultimatemember') );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
case 'incorrect_password':
|
||||
if ( username_exists( $user_name ) ) {
|
||||
$ultimatemember->form->add_error( 'user_password', __('Password is incorrect. Please try again.') );
|
||||
$ultimatemember->form->add_error( 'user_password', __('Password is incorrect. Please try again.','ultimatemember') );
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -116,7 +116,9 @@
|
||||
global $ultimatemember;
|
||||
extract( $args );
|
||||
|
||||
$ultimatemember->user->auto_login( um_user('ID') );
|
||||
$rememberme = ( isset($args['rememberme']) ) ? 1 : 0;
|
||||
|
||||
$ultimatemember->user->auto_login( um_user('ID'), $rememberme );
|
||||
|
||||
// Priority redirect
|
||||
if ( isset( $args['redirect_to'] ) ) {
|
||||
@@ -174,6 +176,10 @@
|
||||
|
||||
<div class="um-col-alt">
|
||||
|
||||
<?php if ( isset( $args['show_rememberme'] ) && $args['show_rememberme'] ) {
|
||||
echo $ultimatemember->fields->checkbox('rememberme', __('Keep me signed in','ultimatemember') );
|
||||
} ?>
|
||||
|
||||
<?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
|
||||
|
||||
<div class="um-left um-half"><input type="submit" value="<?php echo $args['primary_btn_word']; ?>" class="um-button" /></div>
|
||||
|
||||
@@ -12,9 +12,7 @@
|
||||
|
||||
echo '<input type="hidden" name="redirect_to" id="redirect_to" value="'.$_REQUEST['redirect_to'].'" />';
|
||||
|
||||
}
|
||||
|
||||
if ( isset( $args['after_login'] ) && !empty( $args['after_login'] ) ) {
|
||||
} else if ( isset( $args['after_login'] ) && !empty( $args['after_login'] ) ) {
|
||||
|
||||
switch( $args['after_login'] ) {
|
||||
|
||||
@@ -121,11 +119,11 @@
|
||||
}
|
||||
|
||||
if ( isset( $err ) && !empty( $err ) ) {
|
||||
$output .= '<p class="um-notice err">' . $err . '</p>';
|
||||
$output .= '<p class="um-notice err"><i class="um-icon-ios-close-empty" onclick="jQuery(this).parent().fadeOut();"></i>' . $err . '</p>';
|
||||
}
|
||||
|
||||
if ( isset( $success ) && !empty( $success ) ) {
|
||||
$output .= '<p class="um-notice success">' . $success . '</p>';
|
||||
$output .= '<p class="um-notice success"><i class="um-icon-ios-close-empty" onclick="jQuery(this).parent().fadeOut();"></i>' . $success . '</p>';
|
||||
}
|
||||
|
||||
echo $output;
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
wp_die('Hello, spam bot!');
|
||||
|
||||
$form_timestamp = trim($_POST['timestamp']);
|
||||
$live_timestamp = time();
|
||||
$live_timestamp = current_time( 'timestamp' );
|
||||
|
||||
if ( $form_timestamp == '' )
|
||||
wp_die( __('Hello, spam bot!') );
|
||||
@@ -105,7 +105,7 @@
|
||||
wp_die('Hello, spam bot!');
|
||||
|
||||
$form_timestamp = trim($_POST['timestamp']);
|
||||
$live_timestamp = time();
|
||||
$live_timestamp = current_time( 'timestamp' );
|
||||
|
||||
if ( $form_timestamp == '' )
|
||||
wp_die( __('Hello, spam bot!') );
|
||||
|
||||
@@ -121,7 +121,6 @@
|
||||
***/
|
||||
add_action('wp_head', 'um_profile_dynamic_meta_desc', 9999999);
|
||||
function um_profile_dynamic_meta_desc() {
|
||||
|
||||
global $ultimatemember;
|
||||
|
||||
if ( um_is_core_page('user') && um_get_requested_user() ) {
|
||||
@@ -129,15 +128,26 @@
|
||||
um_fetch_user( um_get_requested_user() );
|
||||
|
||||
$content = $ultimatemember->mail->convert_tags( um_get_option('profile_desc') );
|
||||
$user_id = um_user('ID');
|
||||
$url = um_user_profile_url();
|
||||
|
||||
um_reset_user();
|
||||
if ( um_profile('profile_photo') ) {
|
||||
$avatar = um_user_uploads_uri() . um_profile('profile_photo');
|
||||
} else {
|
||||
$avatar = um_get_default_avatar_uri();
|
||||
}
|
||||
|
||||
?>
|
||||
um_reset_user(); ?>
|
||||
|
||||
<meta name="description" content="<?php echo $content; ?>">
|
||||
|
||||
<meta property="og:title" content="<?php echo um_get_display_name( $user_id ); ?>" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:image" content="<?php echo $avatar; ?>" />
|
||||
<meta property="og:url" content="<?php echo $url; ?>" />
|
||||
<meta property="og:description" content="<?php echo $content; ?>" />
|
||||
|
||||
<?php
|
||||
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -499,6 +499,17 @@ class UM_Builtin {
|
||||
'editable' => 1,
|
||||
),
|
||||
|
||||
'user_registered' => array(
|
||||
'title' => __('Regisration Date','ultimatemember'),
|
||||
'metakey' => 'user_registered',
|
||||
'type' => 'text',
|
||||
'label' => __('Regisration Date','ultimatemember'),
|
||||
'required' => 0,
|
||||
'public' => 1,
|
||||
'editable' => 1,
|
||||
'edit_forbidden' => 1,
|
||||
),
|
||||
|
||||
'display_name' => array(
|
||||
'title' => __('Display Name','ultimatemember'),
|
||||
'metakey' => 'display_name',
|
||||
|
||||
@@ -20,7 +20,7 @@ class UM_DateTime {
|
||||
$then_ts = strtotime($then);
|
||||
$then_year = date('Y', $then_ts);
|
||||
$age = date('Y') - $then_year;
|
||||
if(strtotime('+' . $age . ' years', $then_ts) > time()) $age--;
|
||||
if( strtotime('+' . $age . ' years', $then_ts) > current_time( 'timestamp' ) ) $age--;
|
||||
if ( $age == 1 )
|
||||
return sprintf(__('%s year old','ultimatemember'), $age );
|
||||
if ( $age > 1 )
|
||||
|
||||
+25
-2
@@ -9,6 +9,24 @@ class UM_Fields {
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @standard checkbox field
|
||||
***/
|
||||
function checkbox( $id, $title ) {
|
||||
?>
|
||||
|
||||
<div class="um-field um-field-c">
|
||||
<div class="um-field-area">
|
||||
<label class="um-field-checkbox active">
|
||||
<input type="checkbox" name="<?php echo $id; ?>" value="1" checked /><span class="um-field-checkbox-state"><i class="um-icon-android-checkbox-outline"></i></span>
|
||||
<span class="um-field-checkbox-option"> <?php echo $title; ?></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
}
|
||||
|
||||
/***
|
||||
*** @show user social links
|
||||
***/
|
||||
@@ -823,11 +841,15 @@ class UM_Fields {
|
||||
if ( !um_can_view_field( $data ) ) return;
|
||||
if ( !um_can_edit_field( $data ) ) return;
|
||||
|
||||
// disable these fields in profile edit only
|
||||
// fields that need to be disabled in edit mode (profile)
|
||||
if ( in_array( $key, array('user_email','username','user_login','user_password') ) && $this->editing == true && $this->set_mode == 'profile' ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// forbidden in edit mode?
|
||||
if ( isset( $data['edit_forbidden'] ) ) return;
|
||||
|
||||
// required option
|
||||
if ( isset( $data['required_opt'] ) ) {
|
||||
$opt = $data['required_opt'];
|
||||
if ( um_get_option( $opt[0] ) != $opt[1] ) {
|
||||
@@ -835,12 +857,14 @@ class UM_Fields {
|
||||
}
|
||||
}
|
||||
|
||||
// required user permission
|
||||
if ( isset( $data['required_perm'] ) ) {
|
||||
if ( !um_user( $data['required_perm'] ) ) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// do not show passwords
|
||||
if ( isset( $ultimatemember->user->preview ) && $ultimatemember->user->preview ) {
|
||||
if ( $data['type'] == 'password' ){
|
||||
return;
|
||||
@@ -848,7 +872,6 @@ class UM_Fields {
|
||||
}
|
||||
|
||||
/* Begin by field type */
|
||||
|
||||
switch( $type ) {
|
||||
|
||||
/* Default: Integration */
|
||||
|
||||
@@ -22,6 +22,16 @@
|
||||
return $label;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @user's registration date
|
||||
***/
|
||||
add_filter('um_profile_field_filter_hook__user_registered', 'um_profile_field_filter_hook__user_registered', 99, 2);
|
||||
function um_profile_field_filter_hook__user_registered( $value, $data ) {
|
||||
$value = strtotime($value);
|
||||
$value = sprintf(__('Joined %s','ultimatemember'), date('d M Y', $value) );
|
||||
return $value;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @urls in description
|
||||
***/
|
||||
|
||||
+15
-15
@@ -8,13 +8,13 @@
|
||||
|
||||
$actions = null;
|
||||
|
||||
$actions['um_approve_membership'] = array( 'label' => __('Approve Membership') );
|
||||
$actions['um_reject_membership'] = array( 'label' => __('Reject Membership') );
|
||||
$actions['um_put_as_pending'] = array( 'label' => __('Put as Pending Review') );
|
||||
$actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail') );
|
||||
$actions['um_deactivate'] = array( 'label' => __('Deactivate') );
|
||||
$actions['um_reenable'] = array( 'label' => __('Reactivate') );
|
||||
$actions['um_delete'] = array( 'label' => __('Delete') );
|
||||
$actions['um_approve_membership'] = array( 'label' => __('Approve Membership','ultimatemember') );
|
||||
$actions['um_reject_membership'] = array( 'label' => __('Reject Membership','ultimatemember') );
|
||||
$actions['um_put_as_pending'] = array( 'label' => __('Put as Pending Review','ultimatemember') );
|
||||
$actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail','ultimatemember') );
|
||||
$actions['um_deactivate'] = array( 'label' => __('Deactivate','ultimatemember') );
|
||||
$actions['um_reenable'] = array( 'label' => __('Reactivate','ultimatemember') );
|
||||
$actions['um_delete'] = array( 'label' => __('Delete','ultimatemember') );
|
||||
|
||||
return $actions;
|
||||
}
|
||||
@@ -30,32 +30,32 @@
|
||||
if ( !um_user('super_admin') ) {
|
||||
|
||||
if ( um_user('account_status') == 'awaiting_admin_review' ){
|
||||
$actions['um_approve_membership'] = array( 'label' => __('Approve Membership') );
|
||||
$actions['um_reject_membership'] = array( 'label' => __('Reject Membership') );
|
||||
$actions['um_approve_membership'] = array( 'label' => __('Approve Membership','ultimatemember') );
|
||||
$actions['um_reject_membership'] = array( 'label' => __('Reject Membership','ultimatemember') );
|
||||
}
|
||||
|
||||
if ( um_user('account_status') == 'rejected' ) {
|
||||
$actions['um_approve_membership'] = array( 'label' => __('Approve Membership') );
|
||||
$actions['um_approve_membership'] = array( 'label' => __('Approve Membership','ultimatemember') );
|
||||
}
|
||||
|
||||
if ( um_user('account_status') == 'approved' ) {
|
||||
$actions['um_put_as_pending'] = array( 'label' => __('Put as Pending Review') );
|
||||
$actions['um_put_as_pending'] = array( 'label' => __('Put as Pending Review','ultimatemember') );
|
||||
}
|
||||
|
||||
if ( um_user('account_status') == 'awaiting_email_confirmation' ) {
|
||||
$actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail') );
|
||||
$actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail','ultimatemember') );
|
||||
}
|
||||
|
||||
if ( um_user('account_status') != 'inactive' ) {
|
||||
$actions['um_deactivate'] = array( 'label' => __('Deactivate this account') );
|
||||
$actions['um_deactivate'] = array( 'label' => __('Deactivate this account','ultimatemember') );
|
||||
}
|
||||
|
||||
if ( um_user('account_status') == 'inactive' ) {
|
||||
$actions['um_reenable'] = array( 'label' => __('Reactivate this account') );
|
||||
$actions['um_reenable'] = array( 'label' => __('Reactivate this account','ultimatemember') );
|
||||
}
|
||||
|
||||
if ( um_current_user_can( 'delete', um_profile_id() ) ) {
|
||||
$actions['um_delete'] = array( 'label' => __('Delete this user') );
|
||||
$actions['um_delete'] = array( 'label' => __('Delete this user','ultimatemember') );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -76,12 +76,12 @@ class UM_Form {
|
||||
if ( !in_array( $this->form_data['mode'], array('login') ) ) {
|
||||
|
||||
$form_timestamp = trim($_POST['timestamp']);
|
||||
$live_timestamp = time();
|
||||
$live_timestamp = current_time( 'timestamp' );
|
||||
|
||||
if ( $form_timestamp == '' )
|
||||
wp_die( __('Hello, spam bot!') );
|
||||
|
||||
if ( $live_timestamp - $form_timestamp < 3 )
|
||||
if ( $live_timestamp - $form_timestamp < 5 )
|
||||
wp_die( __('Whoa, slow down! You\'re seeing this message because you tried to submit a form too fast and we think you might be a spam bot. If you are a real human being please wait a few seconds before submitting the form. Thanks!') );
|
||||
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ class UM_Password {
|
||||
|
||||
if ( $_REQUEST['hash'] != um_user('reset_pass_hash') ) wp_die( __('This is not a valid hash, or it has expired.','ultimatemember') );
|
||||
|
||||
$ultimatemember->user->profile['reset_pass_hash_token'] = time();
|
||||
$ultimatemember->user->profile['reset_pass_hash_token'] = current_time( 'timestamp' );
|
||||
$ultimatemember->user->update_usermeta_info('reset_pass_hash_token');
|
||||
|
||||
$this->change_password = true;
|
||||
|
||||
@@ -143,6 +143,7 @@ class UM_Setup {
|
||||
'_um_login_primary_btn_hover' => '#44b0ec',
|
||||
'_um_login_primary_btn_text' => '#fff',
|
||||
'_um_login_forgot_pass_link' => 1,
|
||||
'_um_login_show_rememberme' => 1,
|
||||
'_um_login_secondary_btn' => 1,
|
||||
'_um_login_secondary_btn_word' => __('Register','ultimatemember'),
|
||||
'_um_login_secondary_btn_color' => '#eee',
|
||||
|
||||
@@ -103,7 +103,9 @@ function um_user_ip() {
|
||||
***/
|
||||
function um_user_submitted_registration( $style = false ) {
|
||||
$output = null;
|
||||
|
||||
$data = um_user('submitted');
|
||||
$udata = get_userdata( um_user('ID') );
|
||||
|
||||
if ( $style ) $output .= '<div class="um-admin-infobox">';
|
||||
|
||||
@@ -116,6 +118,11 @@ function um_user_ip() {
|
||||
$v = implode(',', $v );
|
||||
}
|
||||
|
||||
if ( $k == 'timestamp' ) {
|
||||
$k = __('date submitted','ultimatemember');
|
||||
$v = date("d M Y H:i", $v);
|
||||
}
|
||||
|
||||
if ( $style ) {
|
||||
if ( !$v ) $v = __('(empty)','ultimatemember');
|
||||
$output .= "<p><label>$k</label><span>$v</span></p>";
|
||||
@@ -795,10 +802,10 @@ function um_fetch_user( $user_id ) {
|
||||
global $ultimatemember;
|
||||
$uri = false;
|
||||
if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/cover_photo.jpg' ) ) {
|
||||
$uri = um_user_uploads_uri() . 'cover_photo.jpg?' . time();
|
||||
$uri = um_user_uploads_uri() . 'cover_photo.jpg?' . current_time( 'timestamp' );
|
||||
}
|
||||
if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/cover_photo-' . $attrs. '.jpg' ) ){
|
||||
$uri = um_user_uploads_uri() . 'cover_photo-'.$attrs.'.jpg?' . time();
|
||||
$uri = um_user_uploads_uri() . 'cover_photo-'.$attrs.'.jpg?' . current_time( 'timestamp' );
|
||||
}
|
||||
return $uri;
|
||||
}
|
||||
@@ -813,7 +820,7 @@ function um_fetch_user( $user_id ) {
|
||||
|
||||
if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo-' . $attrs. '.jpg' ) ) {
|
||||
|
||||
$uri = um_user_uploads_uri() . 'profile_photo-'.$attrs.'.jpg?' . time();
|
||||
$uri = um_user_uploads_uri() . 'profile_photo-'.$attrs.'.jpg?' . current_time( 'timestamp' );
|
||||
|
||||
} else {
|
||||
|
||||
@@ -822,11 +829,11 @@ function um_fetch_user( $user_id ) {
|
||||
|
||||
if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo-' . $find. '.jpg' ) ) {
|
||||
|
||||
$uri = um_user_uploads_uri() . 'profile_photo-'.$find.'.jpg?' . time();
|
||||
$uri = um_user_uploads_uri() . 'profile_photo-'.$find.'.jpg?' . current_time( 'timestamp' );
|
||||
|
||||
} else if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo.jpg' ) ) {
|
||||
|
||||
$uri = um_user_uploads_uri() . 'profile_photo.jpg?' . time();
|
||||
$uri = um_user_uploads_uri() . 'profile_photo.jpg?' . current_time( 'timestamp' );
|
||||
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -171,9 +171,9 @@ class UM_User {
|
||||
/***
|
||||
*** @Automatic login by user id
|
||||
***/
|
||||
function auto_login( $user_id ) {
|
||||
function auto_login( $user_id, $rememberme = 0 ) {
|
||||
wp_set_current_user($user_id);
|
||||
wp_set_auth_cookie($user_id);
|
||||
wp_set_auth_cookie($user_id, $rememberme );
|
||||
}
|
||||
|
||||
/***
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Plugin Name: Ultimate Member
|
||||
Plugin URI: http://ultimatemember.com/
|
||||
Description: Ultimate Member is a powerful community and membership plugin that allows you to create beautiful community and membership sites with WordPress
|
||||
Version: 1.0.53
|
||||
Version: 1.0.56
|
||||
Author: Ultimate Member
|
||||
Author URI: http://ultimatemember.com/
|
||||
*/
|
||||
|
||||
+29
-6
@@ -7,7 +7,7 @@ Tags: access control, author, authors, author profile, comments, community, comm
|
||||
Requires at least: 4.1
|
||||
Tested up to: 4.1
|
||||
|
||||
Stable Tag: 1.0.53
|
||||
Stable Tag: 1.0.56
|
||||
|
||||
License: GNU Version 2 or Any Later Version
|
||||
|
||||
@@ -123,11 +123,12 @@ Looking for help with Ultimate Member? Join our [community forum](https://ultima
|
||||
Ultimate Member has been translated into the following languages:
|
||||
|
||||
* English (US)
|
||||
* French
|
||||
* Spanish
|
||||
* German
|
||||
* Italian
|
||||
* Turkish
|
||||
* Español
|
||||
* Français
|
||||
* Italiano
|
||||
* Deutsch
|
||||
* Nederlands
|
||||
* Türkçe
|
||||
|
||||
== Installation ==
|
||||
|
||||
@@ -186,6 +187,28 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
|
||||
|
||||
== Changelog ==
|
||||
|
||||
= 1.0.56: February 15, 2015 =
|
||||
|
||||
* Fixed: issue with permalink changes
|
||||
|
||||
= 1.0.55: February 15, 2015 =
|
||||
|
||||
* New: added Dutch (Nederlands) language
|
||||
* New: show user registration/joined date in profile and/or member directory
|
||||
* New: added facebook meta tags on user profiles (You have to disable facebook og tags in your SEO plugin)
|
||||
* Tweak: sort users by default in "backend" by newest users first
|
||||
* Tweak: added a close icon to profile and account notices
|
||||
* Fixed: changed all time features to reflect WordPress installation time
|
||||
* Fixed: timestamp on registration info shows form submission date/day
|
||||
* Fixed: updated language files and new translation words
|
||||
|
||||
= 1.0.54: February 15, 2015 =
|
||||
|
||||
* New: added a remember me checkbox to login forms by default (optional)
|
||||
* Tweak: keep your users signed in even if they close browser (optional)
|
||||
* Tweak: minor css changes
|
||||
* Fixed: bug with double redirects (causing incorrect loop) after login on some sites
|
||||
|
||||
= 1.0.53: February 14, 2015 =
|
||||
|
||||
* Tweak: when deleting users in backend, users will be deleted upon confirmation only
|
||||
|
||||
@@ -1634,6 +1634,16 @@ $this->sections[] = array(
|
||||
'off' => __('Off','ultimatemember'),
|
||||
),
|
||||
|
||||
array(
|
||||
'id' => 'login_show_rememberme',
|
||||
'type' => 'switch',
|
||||
'title' => __( 'Show "Remember Me"','ultimatemember' ),
|
||||
'default' => 1,
|
||||
'desc' => __('Allow users to choose If they want to stay signed in even after closing the browser. If you do not show this option, the default will be to not remember login session.','ultimatemember'),
|
||||
'on' => __('On','ultimatemember'),
|
||||
'off' => __('Off','ultimatemember'),
|
||||
),
|
||||
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -20,6 +20,7 @@ class UM_API {
|
||||
'fr_FR' => 'Français',
|
||||
'it_IT' => 'Italiano',
|
||||
'de_DE' => 'Deutsch',
|
||||
'nl_NL' => 'Nederlands',
|
||||
'tr_TR' => 'Türkçe',
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user