mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-11 18:56:10 +09:00
Edits in Users Dashboard
This commit is contained in:
@@ -17,12 +17,11 @@
|
||||
.um-admin.post-type-um_role .manage-column.column-count {width: 150px}
|
||||
.um-admin.post-type-um_role .manage-column.column-core {width: 150px}
|
||||
|
||||
.um-admin.users-php .manage-column.column-username {width: 220px}
|
||||
.um-admin.users-php .manage-column.column-role {width: 150px}
|
||||
.um-admin.users-php .manage-column.column-name {width: 180px}
|
||||
.um-admin.users-php .manage-column.column-um_role {width: 150px}
|
||||
.um-admin.users-php .manage-column.column-um_status {width: 200px}
|
||||
.um-admin.users-php .manage-column.column-um_info {width: 80px}
|
||||
.um-admin.users-php .manage-column.column-username {width: 200px}
|
||||
.um-admin.users-php .manage-column.column-role {width: 140px}
|
||||
.um-admin.users-php .manage-column.column-name {width: 140px}
|
||||
.um-admin.users-php .manage-column.column-um_role {width: 140px}
|
||||
.um-admin.users-php .manage-column.column-um_status {width: 160px}
|
||||
|
||||
.um-admin.users-php .tablenav.top .bulkactions,
|
||||
.um-admin.users-php .tablenav.bottom .bulkactions{display:none}
|
||||
|
||||
@@ -1,19 +1,3 @@
|
||||
jQuery(document).ready(function() {
|
||||
|
||||
jQuery('.um_single_user_action').each(function(){
|
||||
|
||||
jQuery(this).change(function(){
|
||||
|
||||
val = jQuery(this).val();
|
||||
|
||||
if ( val != '' ){
|
||||
var href= jQuery(this).parents('tr').find('a.button').attr('href');
|
||||
var new_href = href + '&um_single_user_action=' + val;
|
||||
jQuery(this).parents('tr').find('a.button').attr('href',new_href);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
@@ -14,6 +14,7 @@
|
||||
break;
|
||||
|
||||
case 'um_approve_membership':
|
||||
case 'um_reenable':
|
||||
$ultimatemember->user->approve();
|
||||
break;
|
||||
|
||||
@@ -29,10 +30,6 @@
|
||||
$ultimatemember->user->deactivate();
|
||||
break;
|
||||
|
||||
case 'um_reenable':
|
||||
$ultimatemember->user->approve();
|
||||
break;
|
||||
|
||||
case 'um_delete':
|
||||
$ultimatemember->user->delete();
|
||||
break;
|
||||
|
||||
@@ -839,9 +839,9 @@ class UM_Admin_Metabox {
|
||||
|
||||
<p><label for="_format">Time User-Friendly Format <?php $this->tooltip('Choose the displayed time-format for this field'); ?></label>
|
||||
<select name="_format" id="_format" class="umaf-selectjs" style="width: 100%">
|
||||
<option value="h:i A" <?php selected( 'h:i A', $this->edit_mode_value ); ?>><?php echo $ultimatemember->datetime->get_time('g:i A'); ?> ( 12-hr format )</option>
|
||||
<option value="h:i a" <?php selected( 'h:i a', $this->edit_mode_value ); ?>><?php echo $ultimatemember->datetime->get_time('g:i a'); ?> ( 12-hr format )</option>
|
||||
<option value="HH:i" <?php selected( 'HH:i', $this->edit_mode_value ); ?>><?php echo $ultimatemember->datetime->get_time('H:i'); ?> ( 24-hr format )</option>
|
||||
<option value="g:i a" <?php selected( 'g:i a', $this->edit_mode_value ); ?>><?php echo $ultimatemember->datetime->get_time('g:i a'); ?> ( 12-hr format )</option>
|
||||
<option value="g:i A" <?php selected( 'g:i A', $this->edit_mode_value ); ?>><?php echo $ultimatemember->datetime->get_time('g:i A'); ?> ( 12-hr format )</option>
|
||||
<option value="H:i" <?php selected( 'H:i', $this->edit_mode_value ); ?>><?php echo $ultimatemember->datetime->get_time('H:i'); ?> ( 24-hr format )</option>
|
||||
</select>
|
||||
</p>
|
||||
|
||||
|
||||
@@ -14,8 +14,6 @@ class UM_Admin_Users {
|
||||
|
||||
add_action('admin_init', array(&$this, 'um_bulk_users_edit'), 9);
|
||||
|
||||
add_action('admin_init', array(&$this, 'um_single_user_edit'), 9);
|
||||
|
||||
add_filter('views_users', array(&$this, 'views_users') );
|
||||
|
||||
add_filter('pre_user_query', array(&$this, 'um_role_filter') );
|
||||
@@ -24,29 +22,6 @@ class UM_Admin_Users {
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @Process an action to user via users table
|
||||
***/
|
||||
function um_single_user_edit(){
|
||||
global $ultimatemember;
|
||||
|
||||
if ( !isset($_REQUEST['um_single_user']) ) return;
|
||||
if ( !isset($_REQUEST['um_single_user_action']) ) return;
|
||||
if ( !current_user_can('edit_users') ) wp_die( __( 'You do not have enough permissions to do that.','ultimatemember') );
|
||||
$user_id = $_REQUEST['um_single_user'];
|
||||
$action = $_REQUEST['um_single_user_action'];
|
||||
|
||||
$ultimatemember->user->set( $user_id );
|
||||
|
||||
do_action("um_admin_user_action_hook", $action);
|
||||
|
||||
do_action("um_admin_user_action_{$action}_hook");
|
||||
|
||||
wp_redirect( add_query_arg( 'update', 'user_updated', admin_url('users.php') ) );
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @Custom row actions for users page
|
||||
***/
|
||||
@@ -215,9 +190,9 @@ class UM_Admin_Users {
|
||||
|
||||
<div class="actions">
|
||||
|
||||
<label class="screen-reader-text" for="um_bulk_action"><?php _e('Bulk Actions','ultimatemember'); ?></label>
|
||||
<label class="screen-reader-text" for="um_bulk_action"><?php _e('Take Action','ultimatemember'); ?></label>
|
||||
<select name="um_bulk_action" id="um_bulk_action" class="umaf-selectjs" style="width: 200px">
|
||||
<option value="0"><?php _e('Bulk Actions','ultimatemember'); ?></option>
|
||||
<option value="0"><?php _e('Take Action','ultimatemember'); ?></option>
|
||||
<?php echo $ultimatemember->user->get_bulk_admin_actions(); ?>
|
||||
</select>
|
||||
|
||||
@@ -257,11 +232,7 @@ class UM_Admin_Users {
|
||||
$columns['role'] = __('WordPress Role','ultimatemember') . $admin->_tooltip( __('This is the membership role set by WordPress','ultimatemember') );
|
||||
|
||||
$columns['um_status'] = __('Status','ultimatemember') . $admin->_tooltip( __('This is current user status in your membership site','ultimatemember') );
|
||||
|
||||
$columns['um_info'] = __('Details','ultimatemember') . $admin->_tooltip( __('Review the submitted registration details of this member','ultimatemember') );
|
||||
|
||||
$columns['um_actions'] = __('Actions','ultimatemember');
|
||||
|
||||
|
||||
return $columns;
|
||||
}
|
||||
|
||||
@@ -271,47 +242,7 @@ class UM_Admin_Users {
|
||||
function manage_users_custom_column($value, $column_name, $user_id) {
|
||||
|
||||
global $ultimatemember;
|
||||
|
||||
if ( 'um_info' == $column_name ) {
|
||||
|
||||
um_fetch_user( $user_id );
|
||||
|
||||
if ( um_user('submitted') ) {
|
||||
|
||||
return '<span class="um-adm-ico pointer um-admin-tipsy-n" data-modal="UM_preview_registration" data-modal-size="smaller" data-dynamic-content="um_admin_review_registration" data-arg1="'.$user_id.'" data-arg2="edit_registration" title="Review/update registration info"><i class="um-icon-info"></i></span>';
|
||||
|
||||
} else {
|
||||
|
||||
return '—';
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ( 'um_actions' == $column_name ) {
|
||||
|
||||
um_fetch_user( $user_id );
|
||||
|
||||
$actions = $ultimatemember->user->get_admin_actions( $user_id );
|
||||
|
||||
if ( !empty( $actions ) ) {
|
||||
|
||||
$edit_url = admin_url('users.php');
|
||||
$edit_url = add_query_arg('um_single_user', $user_id, $edit_url);
|
||||
|
||||
$output = '<select class="umaf-selectjs um_single_user_action" style="width: 200px">
|
||||
<option value="">'.__('Take action...','ultimatemember').'</option>'.$actions.'</select>';
|
||||
$output .= '<a href="'.$edit_url.'" class="button">'. __('Apply','ultimatemember') .'</a>';
|
||||
return $output;
|
||||
|
||||
} else {
|
||||
|
||||
return '<span class="um-adm-ico um-admin-tipsy-n" title="'.__('This user is an administrator. To modify this user, change their role first.','ultimatemember').'"><i class="um-icon-lock-3"></i></span>';
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
if ( 'um_status' == $column_name ) {
|
||||
|
||||
um_fetch_user( $user_id );
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
background: #ddd;
|
||||
cursor: pointer;
|
||||
text-decoration: none !important;
|
||||
z-index: 8888;
|
||||
z-index: 666;
|
||||
opacity: 0.75;
|
||||
}
|
||||
|
||||
|
||||
@@ -107,8 +107,37 @@
|
||||
border: 1px solid #eee;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 40px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.um-member.awaiting_admin_review,
|
||||
.um-member.inactive,
|
||||
.um-member.rejected {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.um-member-status {display:none}
|
||||
.um-member-status.awaiting_admin_review,
|
||||
.um-member-status.inactive,
|
||||
.um-member-status.rejected
|
||||
{
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
padding: 7px 15px;
|
||||
background: #C74A4A;
|
||||
color: #fff;
|
||||
z-index: 10;
|
||||
font-size: 13px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.um-member-status.inactive,
|
||||
.um-member-status.rejected
|
||||
{background: #999}
|
||||
|
||||
.um-gutter-sizer { width: 5% }
|
||||
|
||||
/*
|
||||
|
||||
@@ -130,6 +130,7 @@
|
||||
|
||||
.um-modal-btn:hover {
|
||||
background: #44b0ec;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.um-modal-btn.alt {
|
||||
|
||||
@@ -129,15 +129,10 @@
|
||||
top: 15px;
|
||||
right: 0;
|
||||
vertical-align: middle;
|
||||
z-index: 99;
|
||||
font-size: 30px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.um-profile-edit i, .um-profile-edit i:before {
|
||||
height: 30px;
|
||||
vertical-align: bottom !important;
|
||||
z-index: 666;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -270,4 +265,16 @@
|
||||
.um-meta-text {
|
||||
margin: 6px 0 0 0;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.um-profile-status {display:none}
|
||||
.um-profile-status.awaiting_admin_review,
|
||||
.um-profile-status.inactive,
|
||||
.um-profile-status.rejected {
|
||||
display: inline-block;
|
||||
margin: 6px 0 0 0;
|
||||
border-left: 3px solid #C74A4A;
|
||||
padding-left: 10px;
|
||||
font-size: 14px;
|
||||
color: #777;
|
||||
}
|
||||
@@ -507,7 +507,7 @@ a.um-link-alt:hover {text-decoration: underline !important;}
|
||||
height: auto;
|
||||
background: #fff;
|
||||
border-radius: 5px;
|
||||
z-index: 555;
|
||||
z-index: 555555;
|
||||
display: none;
|
||||
border: 1px solid #e5e5e5;
|
||||
box-sizing: border-box;
|
||||
@@ -551,9 +551,13 @@ a.um-link-alt:hover {text-decoration: underline !important;}
|
||||
font-size: 24px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
overflow: hidden;
|
||||
z-index: 2;
|
||||
color: #eee;
|
||||
}
|
||||
|
||||
.um-dropdown-arr * { display: block !important; width: 24px !important; height: 24px !important; vertical-align: bottom !important; overflow: hidden !important; line-height: 24px !important; }
|
||||
|
||||
/*
|
||||
- Misc.
|
||||
*/
|
||||
|
||||
@@ -99,7 +99,8 @@ print "
|
||||
|
||||
if ( $header_icon_hcolor ) {
|
||||
print "
|
||||
.um-$form_id.um .um-profile-headericon a:hover {
|
||||
.um-$form_id.um .um-profile-headericon a:hover,
|
||||
.um-$form_id.um .um-profile-edit-a.active {
|
||||
color: $header_icon_hcolor;
|
||||
}
|
||||
";
|
||||
|
||||
@@ -93,7 +93,7 @@ function um_new_modal( id, size, isPhoto, source ){
|
||||
|
||||
jQuery('.tipsy').hide();
|
||||
|
||||
jQuery('.um-dropdown').hide();
|
||||
UM_hide_menus();
|
||||
|
||||
jQuery('body,html,textarea').css("overflow", "hidden");
|
||||
|
||||
|
||||
@@ -3,12 +3,14 @@ jQuery(document).ready(function() {
|
||||
/* auto-submit form with icon */
|
||||
jQuery(document).on('click', '.um-profile-save', function(e){
|
||||
e.preventDefault();
|
||||
|
||||
jQuery(this).parents('.um').find('form').submit();
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
jQuery(document).on('click', '.um-profile-edit-a', function(e){
|
||||
jQuery(this).addClass('active');
|
||||
});
|
||||
|
||||
/* No need to allow # */
|
||||
jQuery(document).on('click', '.um-cover a, .um-photo a', function(e){
|
||||
e.preventDefault();
|
||||
|
||||
@@ -8,6 +8,53 @@ function UM_domenus(){
|
||||
|
||||
jQuery(element).addClass('um-trigger-menu-on-'+menu.attr('data-trigger'));
|
||||
|
||||
if ( jQuery(window).width() <= 1200 && element == 'div.um-profile-edit' ) {
|
||||
position = 'lc';
|
||||
}
|
||||
|
||||
if ( position == 'lc' ){
|
||||
|
||||
if ( 200 > jQuery(element).find('img').width() ) {
|
||||
left_p = ( ( jQuery(element).width() - jQuery(element).find('img').width() ) / 2 ) + ( ( jQuery(element).find('img').width() - 200 ) / 2 );
|
||||
} else {
|
||||
left_p = ( ( jQuery(element).width() - jQuery(element).find('img').width() ) / 2 );
|
||||
}
|
||||
|
||||
top_ = parseInt( jQuery(element).find('a').css('top') );
|
||||
|
||||
if ( top_ ) {
|
||||
top_p = jQuery(element).find('img').height() + 4 + top_;
|
||||
left_gap = 4;
|
||||
} else {
|
||||
top_p = jQuery(element).find('img').height() + 4;
|
||||
left_gap = 0;
|
||||
}
|
||||
|
||||
if ( top_p == 4 && element == 'div.um-cover' ) {
|
||||
top_p = jQuery(element).height() / 2 + ( menu.height() / 2 );
|
||||
} else if ( top_p == 4 ) {
|
||||
top_p = jQuery(element).height() + 20;
|
||||
}
|
||||
|
||||
gap_right = jQuery(element).width() + 17;
|
||||
menu.css({
|
||||
'top' : 0,
|
||||
'width': 200,
|
||||
'left': 'auto',
|
||||
'right' : gap_right + 'px',
|
||||
'text-align' : 'center',
|
||||
});
|
||||
|
||||
menu.find('.um-dropdown-arr').find('i').removeClass().addClass('um-icon-arrow-sans-right');
|
||||
|
||||
menu.find('.um-dropdown-arr').css({
|
||||
'top' : '4px',
|
||||
'left' : 'auto',
|
||||
'right' : '-17px',
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
if ( position == 'bc' ){
|
||||
|
||||
if ( 200 > jQuery(element).find('img').width() ) {
|
||||
@@ -28,20 +75,24 @@ function UM_domenus(){
|
||||
|
||||
if ( top_p == 4 && element == 'div.um-cover' ) {
|
||||
top_p = jQuery(element).height() / 2 + ( menu.height() / 2 );
|
||||
} else if ( top_p == 4 ) {
|
||||
top_p = jQuery(element).height() + 20;
|
||||
}
|
||||
|
||||
menu.css({
|
||||
'top' : top_p,
|
||||
'width': 200,
|
||||
'left': left_p + left_gap,
|
||||
'right' : 'auto',
|
||||
'text-align' : 'center',
|
||||
});
|
||||
|
||||
menu.find('.um-dropdown-arr').find('i').addClass('um-icon-arrow-sans-up');
|
||||
menu.find('.um-dropdown-arr').find('i').removeClass().addClass('um-icon-arrow-sans-up');
|
||||
|
||||
menu.find('.um-dropdown-arr').css({
|
||||
'top' : '-18px',
|
||||
'top' : '-17px',
|
||||
'left' : ( menu.width() / 2 ) - 12,
|
||||
'right' : 'auto',
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
+22
-7
@@ -1,14 +1,24 @@
|
||||
function UM_hide_menus() {
|
||||
|
||||
menu = jQuery('.um-dropdown');
|
||||
menu.parents('div').find('a').removeClass('active');
|
||||
menu.hide();
|
||||
|
||||
}
|
||||
|
||||
jQuery(document).ready(function() {
|
||||
|
||||
/* dropdown menu links */
|
||||
jQuery(document).on('click', '.um-dropdown a', function(e){
|
||||
e.preventDefault();
|
||||
return false;
|
||||
});
|
||||
|
||||
jQuery(document).on('click', '.um-dropdown a.real_url', function(e){
|
||||
window.location = jQuery(this).attr('href');
|
||||
});
|
||||
|
||||
/* trigger dropdown on click */
|
||||
jQuery(document).on('click', '.um-trigger-menu-on-click', function(e){
|
||||
e.preventDefault();
|
||||
jQuery('.um-dropdown').hide();
|
||||
menu = jQuery(this).find('.um-dropdown');
|
||||
menu.show();
|
||||
@@ -17,8 +27,7 @@ jQuery(document).ready(function() {
|
||||
|
||||
/* hide dropdown */
|
||||
jQuery(document).on('click', '.um-dropdown-hide', function(e){
|
||||
menu = jQuery(this).parents('.um-dropdown');
|
||||
menu.hide();
|
||||
UM_hide_menus();
|
||||
});
|
||||
|
||||
/* manual triggers */
|
||||
@@ -110,9 +119,15 @@ jQuery(document).ready(function() {
|
||||
});
|
||||
|
||||
/* timepicker */
|
||||
jQuery('.um-timepicker').pickatime({
|
||||
formatSubmit: 'HH:i',
|
||||
hiddenSuffix: '__true'
|
||||
jQuery('.um-timepicker').each(function(){
|
||||
elem = jQuery(this);
|
||||
|
||||
elem.pickatime({
|
||||
format: elem.attr('data-format'),
|
||||
interval: parseInt( elem.attr('data-intervals') ),
|
||||
formatSubmit: 'HH:i',
|
||||
hiddenName: true,
|
||||
});
|
||||
});
|
||||
|
||||
/* rating field */
|
||||
|
||||
@@ -1,5 +1,80 @@
|
||||
<?php
|
||||
|
||||
/***
|
||||
*** @the um_action
|
||||
***/
|
||||
add_action('init','um_action_request_process', 10);
|
||||
function um_action_request_process(){
|
||||
global $ultimatemember;
|
||||
|
||||
if ( is_admin() ) return false;
|
||||
|
||||
if ( !isset( $_REQUEST['um_action'] ) ) return false;
|
||||
|
||||
if ( isset( $_REQUEST['uid'] ) && !$ultimatemember->user->user_exists_by_id( $_REQUEST['uid'] ) ) return false;
|
||||
|
||||
if ( isset( $_REQUEST['uid'] ) ) {
|
||||
|
||||
if ( is_super_admin( $_REQUEST['uid'] ) )
|
||||
wp_die('Super administrators can not be modified.');
|
||||
|
||||
if ( !current_user_can('edit_users') ){
|
||||
wp_die('You do not have permissions to do this.');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
switch( $_REQUEST['um_action'] ) {
|
||||
|
||||
case 'edit':
|
||||
$ultimatemember->fields->editing = true;
|
||||
if ( !um_can_edit_my_profile() ) {
|
||||
$url = um_edit_my_profile_cancel_uri();
|
||||
exit( wp_redirect( $url ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'um_reject_membership':
|
||||
um_fetch_user( $_REQUEST['uid'] );
|
||||
$ultimatemember->user->reject();
|
||||
exit( wp_redirect( $ultimatemember->permalinks->get_current_url( true ) ) );
|
||||
break;
|
||||
|
||||
case 'um_approve_membership':
|
||||
case 'um_reenable':
|
||||
um_fetch_user( $_REQUEST['uid'] );
|
||||
$ultimatemember->user->approve();
|
||||
exit( wp_redirect( $ultimatemember->permalinks->get_current_url( true ) ) );
|
||||
break;
|
||||
|
||||
case 'um_put_as_pending':
|
||||
um_fetch_user( $_REQUEST['uid'] );
|
||||
$ultimatemember->user->pending();
|
||||
exit( wp_redirect( $ultimatemember->permalinks->get_current_url( true ) ) );
|
||||
break;
|
||||
|
||||
case 'um_resend_activation':
|
||||
um_fetch_user( $_REQUEST['uid'] );
|
||||
$ultimatemember->user->email_pending();
|
||||
exit( wp_redirect( $ultimatemember->permalinks->get_current_url( true ) ) );
|
||||
break;
|
||||
|
||||
case 'um_deactivate':
|
||||
um_fetch_user( $_REQUEST['uid'] );
|
||||
$ultimatemember->user->deactivate();
|
||||
exit( wp_redirect( $ultimatemember->permalinks->get_current_url( true ) ) );
|
||||
break;
|
||||
|
||||
case 'um_delete':
|
||||
um_fetch_user( $_REQUEST['uid'] );
|
||||
$ultimatemember->user->delete();
|
||||
exit( wp_redirect( $ultimatemember->permalinks->get_current_url( true ) ) );
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @prevent moving core posts to trash
|
||||
***/
|
||||
|
||||
@@ -201,8 +201,10 @@
|
||||
|
||||
<?php $i = 0; foreach( um_members('users_per_page') as $member) { $i++; um_fetch_user( $member ); ?>
|
||||
|
||||
<div class="um-member <?php if ($cover_photos) { echo 'with-cover'; } ?>">
|
||||
<div class="um-member <?php echo um_user('account_status'); ?> <?php if ($cover_photos) { echo 'with-cover'; } ?>">
|
||||
|
||||
<span class="um-member-status <?php echo um_user('account_status'); ?>"><?php echo um_user('account_status_name'); ?></span>
|
||||
|
||||
<?php if ($cover_photos) { ?>
|
||||
<div class="um-member-cover" data-ratio="<?php echo um_get_option('profile_cover_ratio'); ?>">
|
||||
<div class="um-member-cover-e"><?php echo um_user('cover_photo', 300); ?></div>
|
||||
|
||||
@@ -85,7 +85,11 @@
|
||||
<?php
|
||||
|
||||
if( $ultimatemember->mobile->isMobile() ){
|
||||
echo um_user('cover_photo', 300);
|
||||
if ( $ultimatemember->mobile->isTablet() ) {
|
||||
echo um_user('cover_photo', 1000);
|
||||
} else {
|
||||
echo um_user('cover_photo', 300);
|
||||
}
|
||||
} else {
|
||||
echo um_user('cover_photo', 1000);
|
||||
}
|
||||
@@ -144,7 +148,7 @@
|
||||
|
||||
<?php
|
||||
|
||||
if ( um_can_edit_profile( um_profile_id() ) ) {
|
||||
if ( !isset( $ultimatemember->user->cannot_edit ) ) {
|
||||
|
||||
$ultimatemember->fields->add_hidden_field( 'profile_photo' );
|
||||
|
||||
@@ -200,6 +204,10 @@
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<div class="um-profile-status <?php echo um_user('account_status'); ?>">
|
||||
<span><?php printf(__('This user account status is %s','ultimatemember'), um_user('account_status_name') ); ?></span>
|
||||
</div>
|
||||
|
||||
</div><div class="um-clear"></div>
|
||||
|
||||
</div>
|
||||
@@ -254,12 +262,53 @@
|
||||
if ( isset( $ultimatemember->user->cannot_edit ) && $ultimatemember->user->cannot_edit == 1 ) return;
|
||||
|
||||
if ( $ultimatemember->fields->editing == true ) {
|
||||
$output .= '<div class="um-profile-edit um-profile-headericon"><a href="#" title="Save Profile" class="um-profile-save um-tip-e"><i class="um-icon-check"></i></a></div>';
|
||||
} else {
|
||||
$output .= '<div class="um-profile-edit um-profile-headericon"><a href="'.um_edit_my_profile_uri().'" title="Edit Profile" class="um-tip-e"><i class="um-icon-cog-2"></i></a></div>';
|
||||
|
||||
?>
|
||||
|
||||
<div class="um-profile-edit um-profile-headericon">
|
||||
|
||||
<a href="#" class="um-profile-edit-a active um-profile-save"><i class="um-icon-check"></i></a>
|
||||
|
||||
</div>
|
||||
|
||||
<?php } else { ?>
|
||||
|
||||
<div class="um-profile-edit um-profile-headericon">
|
||||
|
||||
<a href="#" class="um-profile-edit-a"><i class="um-icon-cog-2"></i></a>
|
||||
|
||||
<?php
|
||||
|
||||
if ( um_is_myprofile() ) {
|
||||
|
||||
echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-edit', 'click', array(
|
||||
'<a href="'.um_get_core_page('account').'" class="real_url">'.__('My Account','ultimatemember').'</a>',
|
||||
'<a href="'.um_edit_my_profile_uri().'" class="real_url">'.__('Edit Profile','ultimatemember').'</a>',
|
||||
'<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
|
||||
), 'can_edit_user' );
|
||||
|
||||
} else {
|
||||
|
||||
$actions = $ultimatemember->user->get_admin_actions();
|
||||
|
||||
$menu_items = array(
|
||||
'<a href="'.um_edit_my_profile_uri().'" class="real_url">'.__('Edit Profile','ultimatemember').'</a>',
|
||||
'<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
|
||||
);
|
||||
|
||||
$menu_items = array_merge( $actions, $menu_items );
|
||||
|
||||
echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-edit', 'click', $menu_items, 'can_edit_user' );
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
</div>
|
||||
|
||||
<?php
|
||||
}
|
||||
|
||||
echo $output;
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
|
||||
+20
-22
@@ -6,9 +6,7 @@ class UM_Fields {
|
||||
|
||||
$this->editing = false;
|
||||
$this->viewing = false;
|
||||
|
||||
add_action('init', array(&$this, 'init_edit_my_profile'), 10);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
@@ -53,24 +51,6 @@ class UM_Fields {
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @detect if we're editing profile in shortcode
|
||||
***/
|
||||
function init_edit_my_profile() {
|
||||
|
||||
global $ultimatemember;
|
||||
|
||||
if ( !is_admin() && isset( $_REQUEST['um_action'] ) && $_REQUEST['um_action'] == 'edit' ) {
|
||||
$this->editing = true;
|
||||
|
||||
if ( !um_can_edit_my_profile() ) {
|
||||
$url = um_edit_my_profile_cancel_uri();
|
||||
exit( wp_redirect( $url ) );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @update a field globally
|
||||
***/
|
||||
@@ -623,6 +603,24 @@ class UM_Fields {
|
||||
|
||||
$array['input'] = 'text';
|
||||
|
||||
if ( !isset( $array['format'] ) ) $array['format'] = 'g:i a';
|
||||
|
||||
switch( $array['format'] ) {
|
||||
case 'g:i a':
|
||||
$js_format = 'h:i a';
|
||||
break;
|
||||
case 'g:i A':
|
||||
$js_format = 'h:i A';
|
||||
break;
|
||||
case 'H:i':
|
||||
$js_format = 'HH:i';
|
||||
break;
|
||||
}
|
||||
|
||||
$array['js_format'] = $js_format;
|
||||
|
||||
if ( !isset( $array['intervals'] ) ) $array['intervals'] = 60;
|
||||
|
||||
if (!isset($array['autocomplete'])) $array['autocomplete'] = 'on';
|
||||
|
||||
break;
|
||||
@@ -1021,7 +1019,7 @@ class UM_Fields {
|
||||
|
||||
}
|
||||
|
||||
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" autocomplete="'.$autocomplete.'" />
|
||||
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" autocomplete="'.$autocomplete.'" data-format="'.$js_format.'" data-intervals="'.$intervals.'" data-value="'. $this->field_value( $key, $default, $data ) .'" />
|
||||
|
||||
</div>';
|
||||
|
||||
|
||||
+1
-1
@@ -300,7 +300,7 @@ class UM_Files {
|
||||
$data = $ultimatemember->fields->get_field($field);
|
||||
|
||||
if ( $fileinfo['invalid_image'] == true ) {
|
||||
$error = $data['invalid_image'];
|
||||
$error = sprintf(__('Your image is invalid or too large!','ultimatemember') );
|
||||
} elseif ( !$this->in_array( $fileinfo['extension'], $data['allowed_types'] ) ) {
|
||||
$error = $data['extension_error'];
|
||||
} elseif ( isset($data['min_size']) && ( $fileinfo['size'] < $data['min_size'] ) ) {
|
||||
|
||||
@@ -9,6 +9,19 @@
|
||||
return $label;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @Time
|
||||
***/
|
||||
add_filter('um_profile_field_filter_hook__time', 'um_profile_field_filter_hook__time', 99, 2);
|
||||
function um_profile_field_filter_hook__time( $value, $data ) {
|
||||
global $ultimatemember;
|
||||
$value = $ultimatemember->datetime->format( $value, $data['format'] );
|
||||
|
||||
$value = str_replace('am', 'a.m.', $value );
|
||||
$value = str_replace('pm', 'p.m.', $value );
|
||||
return $value;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @Dates
|
||||
***/
|
||||
|
||||
+62
-38
@@ -1,10 +1,70 @@
|
||||
<?php
|
||||
|
||||
/***
|
||||
*** @prepare the query args to show members
|
||||
*** @Members Filter Hooks
|
||||
***/
|
||||
add_filter('um_prepare_user_query_args', 'um_prepare_user_query_args', 10, 2);
|
||||
add_filter('um_prepare_user_query_args', 'um_add_search_to_query', 50, 2);
|
||||
add_filter('um_prepare_user_query_args', 'um_remove_unwanted_users_from_list', 99, 2);
|
||||
|
||||
/***
|
||||
*** @Remove users we do not need to show in directory
|
||||
***/
|
||||
function um_remove_unwanted_users_from_list( $query_args, $args ) {
|
||||
global $ultimatemember;
|
||||
extract( $args );
|
||||
|
||||
if ( !current_user_can('manage_options') )
|
||||
|
||||
$query_args['meta_query'][] = array(
|
||||
'key' => 'account_status',
|
||||
'value' => 'approved',
|
||||
'compare' => '='
|
||||
);
|
||||
|
||||
return $query_args;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @adds search parameters
|
||||
***/
|
||||
function um_add_search_to_query( $query_args, $args ){
|
||||
global $ultimatemember;
|
||||
extract( $args );
|
||||
|
||||
if ( isset( $_REQUEST['um_search'] ) ) {
|
||||
|
||||
$query = $ultimatemember->permalinks->get_query_array();
|
||||
|
||||
foreach( $query as $field => $value ) {
|
||||
|
||||
if ( $value && $field != 'um_search' ) {
|
||||
|
||||
$query_args['meta_query'][] = array(
|
||||
'key' => $field,
|
||||
'value' => $value,
|
||||
'compare' => '='
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ( count ($query_args['meta_query']) == 1 ) {
|
||||
unset( $query_args['meta_query'] );
|
||||
}
|
||||
|
||||
return $query_args;
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @adds main parameters
|
||||
***/
|
||||
function um_prepare_user_query_args($query_args, $args){
|
||||
global $ultimatemember;
|
||||
extract( $args );
|
||||
|
||||
$query_args['fields'] = 'ID';
|
||||
@@ -68,7 +128,7 @@
|
||||
}
|
||||
|
||||
/***
|
||||
*** @print out result array
|
||||
*** @hook in the member results array
|
||||
***/
|
||||
add_filter('um_prepare_user_results_array', 'um_prepare_user_results_array', 50, 2);
|
||||
function um_prepare_user_results_array($result){
|
||||
@@ -80,40 +140,4 @@
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @adding search filters
|
||||
***/
|
||||
add_filter('um_prepare_user_query_args', 'um_add_search_to_query', 50, 2);
|
||||
function um_add_search_to_query($query_args, $args){
|
||||
global $ultimatemember;
|
||||
extract( $args );
|
||||
|
||||
if ( isset( $_REQUEST['um_search'] ) ) {
|
||||
|
||||
$query = $ultimatemember->permalinks->get_query_array();
|
||||
|
||||
foreach( $query as $field => $value ) {
|
||||
|
||||
if ( $value && $field != 'um_search' ) {
|
||||
|
||||
$query_args['meta_query'][] = array(
|
||||
'key' => $field,
|
||||
'value' => $value,
|
||||
'compare' => '='
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ( count ($query_args['meta_query']) == 1 ) {
|
||||
unset( $query_args['meta_query'] );
|
||||
}
|
||||
|
||||
return $query_args;
|
||||
|
||||
}
|
||||
@@ -32,38 +32,26 @@
|
||||
if ( um_user('account_status') == 'awaiting_admin_review' ){
|
||||
$actions['um_approve_membership'] = array( 'label' => __('Approve Membership') );
|
||||
$actions['um_reject_membership'] = array( 'label' => __('Reject Membership') );
|
||||
} else {
|
||||
$actions['um_approve_membership'] = array( 'label' => __('Approve Membership'), 'disabled' => 'disabled' );
|
||||
$actions['um_reject_membership'] = array( 'label' => __('Reject Membership'), 'disabled' => 'disabled' );
|
||||
}
|
||||
|
||||
if ( um_user('account_status') == 'rejected' ) {
|
||||
$actions['um_approve_membership'] = array( 'label' => __('Approve Membership') );
|
||||
$actions['um_reject_membership'] = array( 'label' => __('Reject Membership'), 'disabled' => 'disabled' );
|
||||
}
|
||||
|
||||
if ( um_user('account_status') == 'approved' ) {
|
||||
$actions['um_put_as_pending'] = array( 'label' => __('Put as Pending Review') );
|
||||
} else {
|
||||
$actions['um_put_as_pending'] = array( 'label' => __('Put as Pending Review'), 'disabled' => 'disabled' );
|
||||
}
|
||||
|
||||
if ( um_user('account_status') == 'awaiting_email_confirmation' ) {
|
||||
$actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail') );
|
||||
} else {
|
||||
$actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail'), 'disabled' => 'disabled' );
|
||||
}
|
||||
|
||||
if ( um_user('account_status') != 'inactive' ) {
|
||||
$actions['um_deactivate'] = array( 'label' => __('Deactivate this account') );
|
||||
} else {
|
||||
$actions['um_deactivate'] = array( 'label' => __('Deactivate this account'), 'disabled' => 'disabled' );
|
||||
}
|
||||
|
||||
if ( um_user('account_status') == 'inactive' ) {
|
||||
$actions['um_reenable'] = array( 'label' => __('Reactivate this account') );
|
||||
} else {
|
||||
$actions['um_reenable'] = array( 'label' => __('Reactivate this account'), 'disabled' => 'disabled' );
|
||||
}
|
||||
|
||||
$actions['um_delete'] = array( 'label' => __('Delete this user') );
|
||||
|
||||
+16
-4
@@ -370,11 +370,23 @@ class UM_Setup {
|
||||
|
||||
$users = get_users( array('fields' => 'ID') );
|
||||
foreach( $users as $id ) {
|
||||
if ( !is_super_admin( $id ) ) {
|
||||
update_user_meta( $id, 'role', 'member' );
|
||||
} else {
|
||||
update_user_meta( $id, 'role', 'admin' );
|
||||
|
||||
if ( !get_user_meta( $id, 'account_status', true ) ) {
|
||||
|
||||
update_user_meta( $id, 'account_status', 'approved' );
|
||||
|
||||
}
|
||||
|
||||
if ( !is_super_admin( $id ) ) {
|
||||
|
||||
update_user_meta( $id, 'role', 'member' );
|
||||
|
||||
} else {
|
||||
|
||||
update_user_meta( $id, 'role', 'admin' );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -334,6 +334,10 @@
|
||||
function um_can_view_profile( $user_id ){
|
||||
global $ultimatemember;
|
||||
|
||||
if ( !current_user_can('manage_options') && !$ultimatemember->user->is_approved( $user_id ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( !is_user_logged_in() ) {
|
||||
if ( $ultimatemember->user->is_private_profile( $user_id ) ) {
|
||||
return false;
|
||||
@@ -404,9 +408,13 @@
|
||||
global $ultimatemember;
|
||||
|
||||
if ( !is_user_logged_in() ) return false;
|
||||
|
||||
if ( um_user('can_edit_everyone') ) return true;
|
||||
|
||||
if ( get_current_user_id() == $user_id && um_user('can_edit_profile') ) return true;
|
||||
|
||||
if ( get_current_user_id() == $user_id && !um_user('can_edit_profile') ) return false;
|
||||
|
||||
if ( !um_user('can_edit_everyone') ) return false;
|
||||
|
||||
return true;
|
||||
@@ -426,6 +434,19 @@
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @quick test if the user's is on his profile
|
||||
***/
|
||||
function um_is_myprofile(){
|
||||
global $ultimatemember;
|
||||
|
||||
if ( get_current_user_id() && get_current_user_id() == um_get_requested_user() )return true;
|
||||
|
||||
if ( !um_get_requested_user() && um_is_core_page('user') && get_current_user_id() ) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @short for admin e-mail
|
||||
***/
|
||||
|
||||
+18
-20
@@ -356,46 +356,33 @@ class UM_User {
|
||||
function get_bulk_admin_actions() {
|
||||
$output = '';
|
||||
$actions = array();
|
||||
|
||||
$actions = apply_filters('um_admin_bulk_user_actions_hook', $actions );
|
||||
|
||||
foreach($actions as $id => $arr ) {
|
||||
|
||||
if ( isset($arr['disabled'])){
|
||||
$arr['disabled'] = 'disabled';
|
||||
} else {
|
||||
$arr['disabled'] = '';
|
||||
}
|
||||
|
||||
|
||||
$output .= '<option value="' . $id . '" '. $arr['disabled'] . '>' . $arr['label'] . '</option>';
|
||||
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @Get admin actions as dropdown list
|
||||
*** @Get admin actions for individual user
|
||||
***/
|
||||
function get_admin_actions() {
|
||||
$output = '';
|
||||
$items = '';
|
||||
$actions = array();
|
||||
|
||||
$actions = apply_filters('um_admin_user_actions_hook', $actions );
|
||||
|
||||
if ( !isset( $actions ) || empty( $actions ) ) return false;
|
||||
|
||||
foreach($actions as $id => $arr ) {
|
||||
|
||||
if ( isset($arr['disabled'])){
|
||||
$arr['disabled'] = 'disabled';
|
||||
} else {
|
||||
$arr['disabled'] = '';
|
||||
}
|
||||
|
||||
$output .= '<option value="' . $id . '" '. $arr['disabled'] . '>' . $arr['label'] . '</option>';
|
||||
|
||||
$url = add_query_arg('um_action', $id );
|
||||
$url = add_query_arg('uid', um_profile_id(), $url );
|
||||
$items[] = '<a href="' . $url .'" class="real_url">' . $arr['label'] . '</a>';
|
||||
}
|
||||
return $output;
|
||||
return $items;
|
||||
}
|
||||
|
||||
/***
|
||||
@@ -409,6 +396,17 @@ class UM_User {
|
||||
return false;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @If it is un-approved profile
|
||||
***/
|
||||
function is_approved( $user_id ) {
|
||||
$status = get_user_meta( $user_id, 'account_status', true );
|
||||
if ( $status == 'approved' || $status == '' ) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @update files
|
||||
***/
|
||||
|
||||
Reference in New Issue
Block a user