diff --git a/admin/assets/css/um-admin-dashboard.css b/admin/assets/css/um-admin-dashboard.css
index fd83be34..ce72132d 100644
--- a/admin/assets/css/um-admin-dashboard.css
+++ b/admin/assets/css/um-admin-dashboard.css
@@ -2,6 +2,13 @@
- General
*/
+.um-admin.toplevel_page_ultimatemember div.error,
+.um-admin.toplevel_page_ultimatemember div.updated
+{
+ display: none;
+ margin: 0 0 1px 0 !important;
+}
+
.um-admin-dash-container {
box-sizing: border-box;
margin: 18px 20px 20px 2px !important;
@@ -9,11 +16,27 @@
overflow: hidden;
}
-.um-admin-dash-container *{
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
+.um-admin-dash-container * {
+ -webkit-font-smoothing: antialiased !important;
+ -moz-osx-font-smoothing: grayscale !important;
}
+.um-admin-dash-container a.ok {color: #7ACF58}
+.um-admin-dash-container a.red {color: #C74A4A}
+
+.um-admin-dash-count {
+ background: #7ACF58;
+ color: #fff;
+ padding: 2px 6px;
+ border-radius: 3px;
+ font-family: Open Sans;
+ font-weight: 700;
+ font-size: 12px;
+ margin-left: 10px;
+}
+.um-admin-dash-count.count-0 {background: #ddd !important}
+.um-admin-dash-count.red {background:#C74A4A}
+
.um-admin-dash-head {
background: #3ba1da;
padding: 0 0 0 20px;
@@ -103,23 +126,9 @@
vertical-align: middle;
font-size: 1.35em;
position: absolute;
-}
-
-.um-admin-dash-count {
- background: #7ACF58;
- color: #fff;
- padding: 2px 6px;
- border-radius: 3px;
- font-family: Open Sans;
- font-weight: 700;
- position: absolute;
- right: 10px;
top: 8px;
- font-size: 11px;
}
-.um-admin-dash-count.red {background:#cb3838}
-
/*
- Main
*/
@@ -131,15 +140,15 @@
.um-admin-dash-main {
margin-left: 201px;
border-left: 1px solid #D8D8D8;
- padding: 10px 20px;
+ padding: 0 30px;
box-shadow: 0px 1px 0px #FFF inset;
min-height: 300px;
}
.um-admin-dash-main h3{
font-weight: 500;
- padding: 0 0 10px 0;
- margin-bottom: 0 !important;
+ padding: 30px 0 10px 0;
+ margin: 0 !important;
}
/*
@@ -159,4 +168,68 @@
color: #777 !important;
font-size: 22px !important;
}
-.um-admin-dash-share a:hover {color: #3ba1da !important}
\ No newline at end of file
+.um-admin-dash-share a:hover {color: #3ba1da !important}
+
+/*
+ - Dashboard styles
+*/
+
+.um-admin-dash-two-col .um-admin-dash-col {
+ float: left;
+ width: 42%;
+ margin-right: 4%;
+}
+
+.um-admin-dash-col a:hover {text-decoration: underline}
+
+.um-admin-dash-item {
+ padding: 5px 0;
+ vertical-align: middle;
+ border-top: 1px solid #e5e5e5;
+ display: inline-block;
+ width: 100%;
+ box-sizing: border-box;
+}
+.um-admin-dash-item * {vertical-align: middle}
+
+.um-admin-dash-col a {
+ text-decoration: none;
+}
+
+.um-admin-dash-thumb {
+ display: inline-block;
+ width: 30px;
+ margin-right: 14px;
+}
+
+.um-admin-dash-thumb a,
+.um-admin-dash-thumb img {
+ display: block;
+ overflow: hidden;
+ border-radius: 999px;
+}
+
+.um-admin-dash-info {
+ display: inline-block;
+ width: 130px;
+ margin-right: 10px;
+}
+
+.um-admin-dash-meta {
+ display: inline-block;
+ width: 120px;
+ margin-right: 10px;
+}
+
+.um-admin-dash-more {
+ display: inline-block;
+}
+
+/*
+ - Colorful user status
+*/
+
+.um-status-awaiting_admin_review {color: #C74A4A}
+.um-status-approved {color: #7ACF58}
+.um-status-inactive {color: #888}
+.um-status-rejected {color: #aaa}
\ No newline at end of file
diff --git a/admin/assets/js/um-admin-dashboard.js b/admin/assets/js/um-admin-dashboard.js
index 4125de1d..5a3645c2 100644
--- a/admin/assets/js/um-admin-dashboard.js
+++ b/admin/assets/js/um-admin-dashboard.js
@@ -20,4 +20,8 @@ jQuery(document).ready(function() {
return false;
});
+ if ( jQuery('.um-admin-dash-body').length && ( jQuery('.updated').length || jQuery('.error').length ) ) {
+ jQuery('.updated,.error').prependTo('.um-admin-dash-body').show();
+ }
+
});
\ No newline at end of file
diff --git a/admin/core/um-admin-actions.php b/admin/core/um-admin-actions.php
index 56ac5378..a8ee3386 100644
--- a/admin/core/um-admin-actions.php
+++ b/admin/core/um-admin-actions.php
@@ -10,4 +10,28 @@
$ultimatemember->uninstall->remove_um();
+ }
+
+ /***
+ *** @various user actions
+ ***/
+ add_action('um_admin_do_action__user_action', 'um_admin_do_action__user_action');
+ function um_admin_do_action__user_action( $action ){
+ global $ultimatemember;
+ if ( !is_admin() || !current_user_can('manage_options') ) die();
+ if ( !isset( $_REQUEST['sub'] ) ) die();
+ if ( !isset($_REQUEST['user_id']) ) die();
+
+ um_fetch_user( $_REQUEST['user_id'] );
+
+ $subaction = $_REQUEST['sub'];
+
+ do_action("um_admin_user_action_hook", $subaction);
+ do_action("um_admin_user_action_{$subaction}_hook");
+
+ um_reset_user();
+
+ wp_redirect( add_query_arg( 'update', 'user_updated', admin_url('?page=ultimatemember') ) );
+ exit;
+
}
\ No newline at end of file
diff --git a/admin/core/um-admin-notices.php b/admin/core/um-admin-notices.php
index 20446390..11c023fe 100644
--- a/admin/core/um-admin-notices.php
+++ b/admin/core/um-admin-notices.php
@@ -4,7 +4,7 @@ class UM_Admin_Notices {
function __construct() {
- add_action('admin_notices', array(&$this, 'admin_notices'));
+ add_action('admin_notices', array(&$this, 'admin_notices'), 10);
}
/***
diff --git a/admin/templates/dashboard.php b/admin/templates/dashboard.php
index 58c7ebda..97e752fe 100644
--- a/admin/templates/dashboard.php
+++ b/admin/templates/dashboard.php
@@ -1,8 +1,4 @@
-
+
@@ -21,7 +17,7 @@ global $ultimatemember;
@@ -30,12 +26,13 @@ global $ultimatemember;
+
+
-
New Registrations over last 30 days
- chart->create('data=new_users&x_label=Day&y_label=Daily Signups'); ?>
+
diff --git a/admin/templates/dashboard/analytics.php b/admin/templates/dashboard/analytics.php
new file mode 100644
index 00000000..55540aac
--- /dev/null
+++ b/admin/templates/dashboard/analytics.php
@@ -0,0 +1,3 @@
+
New Registrations over last 30 days
+
+chart->create('data=new_users&x_label=Day&y_label=Daily Signups'); ?>
\ No newline at end of file
diff --git a/admin/templates/dashboard/overview.php b/admin/templates/dashboard/overview.php
new file mode 100644
index 00000000..50d74c6b
--- /dev/null
+++ b/admin/templates/dashboard/overview.php
@@ -0,0 +1,81 @@
+
+
+
+
+
Latest 5 Users
+
+ query->get_recent_users() as $user_id ) { um_fetch_user( $user_id ); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ query->get_users_by_meta('awaiting_admin_review'); ?>
+
Users Awaiting Review
+
+
+
+
+
+
+
+
+
+
+
+ Review details';
+
+ } else {
+
+ echo 'No information available ';
+
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/admin/templates/directory/profile.php b/admin/templates/directory/profile.php
index f2eec362..e9098281 100644
--- a/admin/templates/directory/profile.php
+++ b/admin/templates/directory/profile.php
@@ -160,16 +160,7 @@
-
-
-
-
-
- ui_on_off('_um_show_stats', 0); ?>
-
-
-
-
+
diff --git a/admin/templates/users.php b/admin/templates/users.php
new file mode 100644
index 00000000..64f029cd
--- /dev/null
+++ b/admin/templates/users.php
@@ -0,0 +1,460 @@
+get_pagenum();
+$title = __('Users');
+$parent_file = 'users.php';
+
+add_screen_option( 'per_page', array('label' => _x( 'Users', 'users per page (screen options)' )) );
+
+// contextual help - choose Help on the top right of admin panel to preview this.
+get_current_screen()->add_help_tab( array(
+ 'id' => 'overview',
+ 'title' => __('Overview'),
+ 'content' => '' . __('This screen lists all the existing users for your site. Each user has one of five defined roles as set by the site admin: Site Administrator, Editor, Author, Contributor, or Subscriber. Users with roles other than Administrator will see fewer options in the dashboard navigation when they are logged in, based on their role.') . '
' .
+ '' . __('To add a new user for your site, click the Add New button at the top of the screen or Add New in the Users menu section.') . '
'
+) ) ;
+
+get_current_screen()->add_help_tab( array(
+ 'id' => 'screen-display',
+ 'title' => __('Screen Display'),
+ 'content' => '' . __('You can customize the display of this screen in a number of ways:') . '
' .
+ '' .
+ '' . __('You can hide/display columns based on your needs and decide how many users to list per screen using the Screen Options tab.') . ' ' .
+ '' . __('You can filter the list of users by User Role using the text links in the upper left to show All, Administrator, Editor, Author, Contributor, or Subscriber. The default view is to show all users. Unused User Roles are not listed.') . ' ' .
+ '' . __('You can view all posts made by a user by clicking on the number under the Posts column.') . ' ' .
+ ' '
+) );
+
+$help = '' . __('Hovering over a row in the users list will display action links that allow you to manage users. You can perform the following actions:') . '
' .
+ '' .
+ '' . __('Edit takes you to the editable profile screen for that user. You can also reach that screen by clicking on the username.') . ' ';
+
+if ( is_multisite() )
+ $help .= '' . __( 'Remove allows you to remove a user from your site. It does not delete their content. You can also remove multiple users at once by using Bulk Actions.' ) . ' ';
+else
+ $help .= '' . __( 'Delete brings you to the Delete Users screen for confirmation, where you can permanently remove a user from your site and delete their content. You can also delete multiple users at once by using Bulk Actions.' ) . ' ';
+
+$help .= ' ';
+
+get_current_screen()->add_help_tab( array(
+ 'id' => 'actions',
+ 'title' => __('Actions'),
+ 'content' => $help,
+) );
+unset( $help );
+
+get_current_screen()->set_help_sidebar(
+ '' . __('For more information:') . '
' .
+ '' . __('Documentation on Managing Users ') . '
' .
+ '' . __('Descriptions of Roles and Capabilities ') . '
' .
+ '' . __('Support Forums ') . '
'
+);
+
+if ( empty($_REQUEST) ) {
+ $referer = ' ';
+} elseif ( isset($_REQUEST['wp_http_referer']) ) {
+ $redirect = remove_query_arg(array('wp_http_referer', 'updated', 'delete_count'), wp_unslash( $_REQUEST['wp_http_referer'] ) );
+ $referer = ' ';
+} else {
+ $redirect = 'users.php';
+ $referer = '';
+}
+
+$update = '';
+
+/**
+ * @since 3.5.0
+ * @access private
+ */
+function delete_users_add_js() { ?>
+
+current_action() ) {
+
+/* Bulk Dropdown menu Role changes */
+case 'promote':
+ check_admin_referer('bulk-users');
+
+ if ( ! current_user_can( 'promote_users' ) )
+ wp_die( __( 'You can’t edit that user.' ) );
+
+ if ( empty($_REQUEST['users']) ) {
+ wp_redirect($redirect);
+ exit();
+ }
+
+ $editable_roles = get_editable_roles();
+ if ( empty( $editable_roles[$_REQUEST['new_role']] ) )
+ wp_die(__('You can’t give users that role.'));
+
+ $userids = $_REQUEST['users'];
+ $update = 'promote';
+ foreach ( $userids as $id ) {
+ $id = (int) $id;
+
+ if ( ! current_user_can('promote_user', $id) )
+ wp_die(__('You can’t edit that user.'));
+ // The new role of the current user must also have the promote_users cap or be a multisite super admin
+ if ( $id == $current_user->ID && ! $wp_roles->role_objects[ $_REQUEST['new_role'] ]->has_cap('promote_users')
+ && ! ( is_multisite() && is_super_admin() ) ) {
+ $update = 'err_admin_role';
+ continue;
+ }
+
+ // If the user doesn't already belong to the blog, bail.
+ if ( is_multisite() && !is_user_member_of_blog( $id ) )
+ wp_die( __( 'Cheatin’ uh?' ), 403 );
+
+ $user = get_userdata( $id );
+ $user->set_role($_REQUEST['new_role']);
+ }
+
+ wp_redirect(add_query_arg('update', $update, $redirect));
+ exit();
+
+case 'dodelete':
+ if ( is_multisite() )
+ wp_die( __('User deletion is not allowed from this screen.') );
+
+ check_admin_referer('delete-users');
+
+ if ( empty($_REQUEST['users']) ) {
+ wp_redirect($redirect);
+ exit();
+ }
+
+ $userids = array_map( 'intval', (array) $_REQUEST['users'] );
+
+ if ( empty( $_REQUEST['delete_option'] ) ) {
+ $url = self_admin_url( 'users.php?action=delete&users[]=' . implode( '&users[]=', $userids ) . '&error=true' );
+ $url = str_replace( '&', '&', wp_nonce_url( $url, 'bulk-users' ) );
+ wp_redirect( $url );
+ exit;
+ }
+
+ if ( ! current_user_can( 'delete_users' ) )
+ wp_die(__('You can’t delete users.'));
+
+ $update = 'del';
+ $delete_count = 0;
+
+ foreach ( $userids as $id ) {
+ if ( ! current_user_can( 'delete_user', $id ) )
+ wp_die(__( 'You can’t delete that user.' ) );
+
+ if ( $id == $current_user->ID ) {
+ $update = 'err_admin_del';
+ continue;
+ }
+ switch ( $_REQUEST['delete_option'] ) {
+ case 'delete':
+ wp_delete_user( $id );
+ break;
+ case 'reassign':
+ wp_delete_user( $id, $_REQUEST['reassign_user'] );
+ break;
+ }
+ ++$delete_count;
+ }
+
+ $redirect = add_query_arg( array('delete_count' => $delete_count, 'update' => $update), $redirect);
+ wp_redirect($redirect);
+ exit();
+
+case 'delete':
+ if ( is_multisite() )
+ wp_die( __('User deletion is not allowed from this screen.') );
+
+ check_admin_referer('bulk-users');
+
+ if ( empty($_REQUEST['users']) && empty($_REQUEST['user']) ) {
+ wp_redirect($redirect);
+ exit();
+ }
+
+ if ( ! current_user_can( 'delete_users' ) )
+ $errors = new WP_Error( 'edit_users', __( 'You can’t delete users.' ) );
+
+ if ( empty($_REQUEST['users']) )
+ $userids = array( intval( $_REQUEST['user'] ) );
+ else
+ $userids = array_map( 'intval', (array) $_REQUEST['users'] );
+
+ add_action( 'admin_head', 'delete_users_add_js' );
+
+ include( ABSPATH . 'wp-admin/admin-header.php' );
+?>
+
+ID && !is_super_admin() ) {
+ $update = 'err_admin_remove';
+ continue;
+ }
+ if ( !current_user_can('remove_user', $id) ) {
+ $update = 'err_admin_remove';
+ continue;
+ }
+ remove_user_from_blog($id, $blog_id);
+ }
+
+ $redirect = add_query_arg( array('update' => $update), $redirect);
+ wp_redirect($redirect);
+ exit;
+
+case 'remove':
+
+ check_admin_referer('bulk-users');
+
+ if ( ! is_multisite() )
+ wp_die( __( 'You can’t remove users.' ) );
+
+ if ( empty($_REQUEST['users']) && empty($_REQUEST['user']) ) {
+ wp_redirect($redirect);
+ exit();
+ }
+
+ if ( !current_user_can('remove_users') )
+ $error = new WP_Error('edit_users', __('You can’t remove users.'));
+
+ if ( empty($_REQUEST['users']) )
+ $userids = array(intval($_REQUEST['user']));
+ else
+ $userids = $_REQUEST['users'];
+
+ include( ABSPATH . 'wp-admin/admin-header.php' );
+?>
+
+prepare_items();
+ $total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
+ if ( $pagenum > $total_pages && $total_pages > 0 ) {
+ wp_redirect( add_query_arg( 'paged', $total_pages ) );
+ exit;
+ }
+
+ include( ABSPATH . 'wp-admin/admin-header.php' );
+
+ $messages = array();
+ if ( isset($_GET['update']) ) :
+ switch($_GET['update']) {
+ case 'del':
+ case 'del_many':
+ $delete_count = isset($_GET['delete_count']) ? (int) $_GET['delete_count'] : 0;
+ $messages[] = '' . sprintf( _n( 'User deleted.', '%s users deleted.', $delete_count ), number_format_i18n( $delete_count ) ) . '
';
+ break;
+ case 'add':
+ if ( isset( $_GET['id'] ) && ( $user_id = $_GET['id'] ) && current_user_can( 'edit_user', $user_id ) ) {
+ $messages[] = '' . sprintf( __( 'New user created. Edit user ' ),
+ esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ),
+ self_admin_url( 'user-edit.php?user_id=' . $user_id ) ) ) ) . '
';
+ } else {
+ $messages[] = '' . __( 'New user created.' ) . '
';
+ }
+ break;
+ case 'promote':
+ $messages[] = '' . __('Changed roles.') . '
';
+ break;
+ case 'err_admin_role':
+ $messages[] = '' . __('The current user’s role must have user editing capabilities.') . '
';
+ $messages[] = '' . __('Other user roles have been changed.') . '
';
+ break;
+ case 'err_admin_del':
+ $messages[] = '' . __('You can’t delete the current user.') . '
';
+ $messages[] = '' . __('Other users have been deleted.') . '
';
+ break;
+ case 'remove':
+ $messages[] = '' . __('User removed from this site.') . '
';
+ break;
+ case 'err_admin_remove':
+ $messages[] = '' . __("You can't remove the current user.") . '
';
+ $messages[] = '' . __('Other users have been removed.') . '
';
+ break;
+ }
+ endif; ?>
+
+
+
+
+ get_error_messages() as $err )
+ echo "$err \n";
+ ?>
+
+
+
+
+
+
+
+
+
+
+' . __('Search results for “%s”') . '', esc_html( $usersearch ) ); ?>
+
+
+views(); ?>
+
+
+
+
+
+
');
-
+ if ( isPhoto ) {
+ jQuery('body').append('
');
+ } else {
+ jQuery('body').append('
');
+ }
+
jQuery('#' + id).prependTo('.um-modal');
- jQuery('#' + id).show();
- jQuery('.um-modal').show();
-
- um_modal_size( size );
- initImageUpload_UM( jQuery('.um-modal:visible').find('.um-single-image-upload') );
-
- initFileUpload_UM( jQuery('.um-modal:visible').find('.um-single-file-upload') );
+ if ( isPhoto ) {
- um_modal_responsive();
+ jQuery('.um-modal').find('.um-modal-photo').html(' ');
+
+ var photo_ = jQuery('.um-modal-photo img');
+ var photo_maxw = jQuery(window).width() - 60;
+ var photo_maxh = jQuery(window).height() - ( jQuery(window).height() * 0.25 );
+
+ photo_.attr("src", source);
+ photo_.load(function(){
+
+ jQuery('#' + id).show();
+ jQuery('.um-modal').show();
+
+ photo_.css({'opacity': 0});
+ photo_.css({'max-width': photo_maxw });
+ photo_.css({'max-height': photo_maxh });
+
+ jQuery('.um-modal').css({
+ 'width': photo_.width(),
+ 'margin-left': '-' + photo_.width() / 2 + 'px',
+ });
+
+ photo_.animate({'opacity' : 1}, 1000);
+
+ um_modal_responsive();
+
+ });
+
+ } else {
+
+ jQuery('#' + id).show();
+ jQuery('.um-modal').show();
+
+ um_modal_size( size );
+
+ initImageUpload_UM( jQuery('.um-modal:visible').find('.um-single-image-upload') );
+ initFileUpload_UM( jQuery('.um-modal:visible').find('.um-single-file-upload') );
+
+ um_modal_responsive();
+
+ }
+
+ } // when new Modal is fired
}
function um_modal_responsive() {
var modal = jQuery('.um-modal:visible');
+ var photo_modal = jQuery('.um-modal-body.photo:visible');
+
+ if ( photo_modal.length ) {
+
+ modal.removeClass('uimob340');
+ modal.removeClass('uimob500');
+
+ var photo_ = jQuery('.um-modal-photo img');
+ var photo_maxw = jQuery(window).width() - 60;
+ var photo_maxh = jQuery(window).height() - ( jQuery(window).height() * 0.25 );
+
+ photo_.css({'opacity': 0});
+ photo_.css({'max-width': photo_maxw });
+ photo_.css({'max-height': photo_maxh });
+
+ jQuery('.um-modal').css({
+ 'width': photo_.width(),
+ 'margin-left': '-' + photo_.width() / 2 + 'px',
+ });
+
+ photo_.animate({'opacity' : 1}, 1000);
- if ( modal.length ) {
+ var half_gap = ( jQuery(window).height() - modal.innerHeight() ) / 2 + 'px';
+ modal.animate({ 'bottom' : half_gap }, 300);
+
+ } else if ( modal.length ) {
var element_width = jQuery(window).width();
@@ -164,7 +229,7 @@ function um_remove_modal(){
jQuery('.um-modal .um-single-image-preview img').cropper("destroy");
- jQuery('body,html').css("overflow", "auto");
+ jQuery('body,html,textarea').css("overflow", "auto");
jQuery(document).unbind('touchmove');
@@ -302,8 +367,7 @@ jQuery(document).ready(function() {
}
if ( key == 'cover_photo') {
- jQuery('.um-cover-e').empty().html(' ');
- jQuery('.um-cover-overlay').show();
+ jQuery('.um-cover-e').empty().html(' ');
}
jQuery('.um-single-image-preview[data-key='+key+']').fadeIn().find('img').attr('src', data + "?"+d.getTime());
@@ -343,6 +407,7 @@ jQuery(document).ready(function() {
}
if ( jQuery(this).data('modal-copy') ) {
+
jQuery('#' + modal_id).html( jQuery(this).parents('.um-field').find('.um-modal-hidden-content').html() );
if ( jQuery(this).parents('.um-profile-photo').attr('data-user_id') ) {
@@ -356,10 +421,12 @@ jQuery(document).ready(function() {
if ( jQuery(this).parents('.um-cover').attr('data-user_id') ) {
jQuery('#' + modal_id).attr('data-user_id', jQuery(this).parents('.um-cover').attr('data-user_id') );
}
+ um_new_modal( modal_id, size );
- um_new_modal( modal_id, size );
} else {
+
um_new_modal( modal_id, size );
+
}
});
diff --git a/assets/js/um-profile.js b/assets/js/um-profile.js
index 53fe332c..c3b1a832 100644
--- a/assets/js/um-profile.js
+++ b/assets/js/um-profile.js
@@ -10,11 +10,17 @@ jQuery(document).ready(function() {
});
/* No need to allow # */
- jQuery(document).on('click', '.um-cover a', function(e){
+ jQuery(document).on('click', '.um-cover a, .um-photo a', function(e){
e.preventDefault();
return false;
});
+ /* built-in modal support for images */
+ jQuery(document).on('click', '.um-photo-modal', function(e){
+ var photo_src = jQuery(this).attr('data-src');
+ um_new_modal('um_view_photo', 'fit', true, photo_src );
+ });
+
/* Reset profile photo */
jQuery(document).on('click', '.um-reset-profile-photo', function(e){
diff --git a/assets/js/um-scripts.js b/assets/js/um-scripts.js
index 5ce4a02b..10818e8d 100644
--- a/assets/js/um-scripts.js
+++ b/assets/js/um-scripts.js
@@ -1,5 +1,5 @@
jQuery(document).ready(function() {
-
+
/* dropdown menu links */
jQuery(document).on('click', '.um-dropdown a', function(e){
e.preventDefault();
@@ -145,6 +145,7 @@ jQuery(document).ready(function() {
jQuery(document).on('click', '.um .um-single-image-preview a.cancel', function(e){
e.preventDefault();
var parent = jQuery(this).parents('.um-field');
+ parent.find('.um-single-image-preview img').attr('src','');
parent.find('.um-single-image-preview').hide();
parent.find('.um-btn-auto-width').html('Upload');
parent.find('input[type=hidden]').val('');
diff --git a/core/um-account.php b/core/um-account.php
index 50e32646..35b9dab7 100644
--- a/core/um-account.php
+++ b/core/um-account.php
@@ -47,7 +47,7 @@ class UM_Account {
global $ultimatemember;
if ( um_is_core_page('account') && !is_user_logged_in() ) {
- exit( wp_redirect( home_url() ) );
+ um_redirect_home();
}
if ( um_is_core_page('account') ) {
@@ -108,6 +108,38 @@ class UM_Account {
return $classes;
}
+ /***
+ *** @get tab output
+ ***/
+ function get_tab_output( $id ) {
+ global $ultimatemember;
+
+ switch( $id ) {
+ case 'privacy' :
+ $args = 'profile_privacy,show_in_members';
+ break;
+ case 'delete' :
+ $args = 'single_user_password';
+ break;
+ case 'general' :
+ $args = 'user_login,first_name,last_name,user_email';
+ break;
+ case 'password' :
+ $args = 'user_password';
+ break;
+ default :
+ $args = null;
+ break;
+ }
+
+ $fields = $ultimatemember->builtin->get_specific_fields( $args );
+ $output = null;
+ foreach( $fields as $key => $data ){
+ $output .= $ultimatemember->fields->edit_field( $key, $data );
+ }
+ return $output;
+ }
+
/***
*** @Shortcode
***/
diff --git a/core/um-actions-account.php b/core/um-actions-account.php
index 70e6dcc9..ec990cc5 100644
--- a/core/um-actions-account.php
+++ b/core/um-actions-account.php
@@ -25,7 +25,7 @@
if ( !um_user('super_admin') ) {
$ultimatemember->user->delete();
if ( um_user('after_delete') == 'redirect_home' ) {
- exit( wp_redirect( home_url() ) );
+ um_redirect_home();
} else {
exit( wp_redirect( um_user('delete_redirect_url') ) );
}
@@ -123,21 +123,22 @@
function um_account_tab__delete( $info ) {
global $ultimatemember;
extract( $info );
- $fields = $ultimatemember->builtin->get_specific_fields('single_user_password'); ?>
+
+ $output = $ultimatemember->account->get_tab_output('delete');
+
+ if ( $output ) { ?>
- $data ) {
- $output .= $ultimatemember->fields->edit_field( $key, $data );
- }echo $output; ?>
+
builtin->get_specific_fields('profile_privacy,show_in_members'); ?>
+
+ $output = $ultimatemember->account->get_tab_output('privacy');
+
+ if ( $output ) { ?>
- $data ) {
- $output .= $ultimatemember->fields->edit_field( $key, $data );
- }echo $output; ?>
+
builtin->get_specific_fields('user_login,first_name,last_name,user_email'); ?>
+
+ $output = $ultimatemember->account->get_tab_output('general');
+
+ if ( $output ) { ?>
- $data ) {
- $output .= $ultimatemember->fields->edit_field( $key, $data );
- }echo $output; ?>
+
builtin->get_specific_fields('user_password'); ?>
+ extract( $info );
+
+ $output = $ultimatemember->account->get_tab_output('password');
+
+ if ( $output ) { ?>
- $data ) {
- $output .= $ultimatemember->fields->edit_field( $key, $data );
- }echo $output; ?>
+
- h1 a { background-image:url($logo_url) !important; border-radius: 999px !important }
- ";
- }
- add_action('login_head', 'um_custom_wplogo', 999 );
-
- /***
- *** @Customize WP logo url in login screen
- ***/
- function um_custom_wplogo_url() {
- return home_url();
- }
- add_filter('login_headerurl', 'um_custom_wplogo_url', 999 );
-
- /***
- *** @Customize WP logo title in login screen
- ***/
- function um_custom_wplogo_title() {
- return get_option('blogname');
- }
- add_filter('login_headertitle', 'um_custom_wplogo_title', 999 );
-
/***
*** @Error processing hook : login
***/
diff --git a/core/um-actions-members.php b/core/um-actions-members.php
index 720cc9ea..35d943a1 100644
--- a/core/um-actions-members.php
+++ b/core/um-actions-members.php
@@ -221,11 +221,13 @@
-
+
-
-
-
-
-
-
-
+
@@ -273,23 +268,14 @@
-
-
-
+
+ fields->show_social_urls(); ?>
+
-
-
-
-
fields->editing ) {
echo $ultimatemember->menu->new_ui( 'bc', 'div.um-cover', 'click', array(
''.__('Change cover photo','ultimatemember').' ',
''.__('Remove','ultimatemember').' ',
''.__('Cancel','ultimatemember').' ',
), 'can_edit_user' );
+ }
?>
@@ -186,8 +188,16 @@
-
+ fields->viewing == true && um_user('description') && $args['show_bio'] ) { ?>
+
+
+ fields->editing == true && $args['show_bio'] ) { ?>
+
+
+
+
+
@@ -209,11 +219,11 @@
$ultimatemember->fields->viewing = 1;
if ( um_get_requested_user() ) {
- if ( !um_can_view_profile( um_get_requested_user() ) ) exit( wp_redirect( home_url() ) );
+ if ( !um_can_view_profile( um_get_requested_user() ) ) um_redirect_home();
if ( !um_can_edit_profile( um_get_requested_user() ) ) $ultimatemember->user->cannot_edit = 1;
um_fetch_user( um_get_requested_user() );
} else {
- if ( !is_user_logged_in() ) exit( wp_redirect( home_url() ) );
+ if ( !is_user_logged_in() ) um_redirect_home();
if ( !um_user('can_edit_profile') ) $ultimatemember->user->cannot_edit = 1;
}
@@ -223,7 +233,7 @@
$ultimatemember->fields->editing = 1;
if ( um_get_requested_user() ) {
- if ( !um_can_edit_profile( um_get_requested_user() ) ) exit( wp_redirect( home_url() ) );
+ if ( !um_can_edit_profile( um_get_requested_user() ) ) um_redirect_home();
um_fetch_user( um_get_requested_user() );
}
@@ -277,6 +287,7 @@
do_action('um_user_before_updating_profile', $userinfo );
+ // loop through fields
foreach( $fields as $key => $array ) {
if ( $fields[$key]['type'] == 'multiselect' || $fields[$key]['type'] == 'checkbox' && !isset($args['submitted'][$key]) ) {
@@ -298,6 +309,10 @@
}
}
+
+ if ( isset( $args['submitted']['description'] ) ) {
+ $to_update['description'] = $args['submitted']['description'];
+ }
if ( is_array( $to_update ) ) {
$ultimatemember->user->update_profile( $to_update );
diff --git a/core/um-actions-wpadmin.php b/core/um-actions-wpadmin.php
index a2b3896f..b3a0eef1 100644
--- a/core/um-actions-wpadmin.php
+++ b/core/um-actions-wpadmin.php
@@ -6,8 +6,7 @@
function um_block_wpadmin_by_user_role(){
global $ultimatemember;
if( is_admin() && !defined('DOING_AJAX') && um_user('ID') && !um_user('can_access_wpadmin')){
- wp_redirect(home_url());
- exit;
+ um_redirect_home();
}
}
add_action('init','um_block_wpadmin_by_user_role', 99);
diff --git a/core/um-builtin.php b/core/um-builtin.php
index a58b37f0..4e748a7d 100644
--- a/core/um-builtin.php
+++ b/core/um-builtin.php
@@ -584,9 +584,12 @@ class UM_Builtin {
'editable' => 1,
'url_target' => '_blank',
'url_rel' => 'nofollow',
- 'icon' => 'um-icon-facebook-alt',
+ 'icon' => 'um-icon-facebook-2',
'validate' => 'facebook_url',
'url_text' => 'Facebook',
+ 'advanced' => 'social',
+ 'color' => '#3B5999',
+ 'match' => 'https://facebook.com/',
),
'twitter' => array(
@@ -602,6 +605,9 @@ class UM_Builtin {
'icon' => 'um-icon-twitter',
'validate' => 'twitter_url',
'url_text' => 'Twitter',
+ 'advanced' => 'social',
+ 'color' => '#4099FF',
+ 'match' => 'https://twitter.com/',
),
'linkedin' => array(
@@ -617,6 +623,9 @@ class UM_Builtin {
'icon' => 'um-icon-linkedin-alt-1',
'validate' => 'linkedin_url',
'url_text' => 'LinkedIn',
+ 'advanced' => 'social',
+ 'color' => '#0976b4',
+ 'match' => 'https://linkedin.com/in/',
),
'googleplus' => array(
@@ -632,6 +641,9 @@ class UM_Builtin {
'icon' => 'um-icon-google-plus',
'validate' => 'google_url',
'url_text' => 'Google+',
+ 'advanced' => 'social',
+ 'color' => '#dd4b39',
+ 'match' => 'https://google.com/+',
),
'instagram' => array(
@@ -647,6 +659,9 @@ class UM_Builtin {
'icon' => 'um-icon-instagrem',
'validate' => 'instagram_url',
'url_text' => 'Instagram',
+ 'advanced' => 'social',
+ 'color' => '#3f729b',
+ 'match' => 'https://instagram.com/',
),
'skype' => array(
@@ -781,24 +796,26 @@ class UM_Builtin {
'required' => 0,
'public' => 1,
'editable' => 1,
- 'default' => 'Everyone',
+ 'default' => __('Everyone'),
'options' => array( __('Everyone'), __('Only me') ),
'allowclear' => 0,
'account_only' => true,
+ 'required_perm' => 'can_make_private_profile',
),
'show_in_members' => array(
- 'title' => 'Show me in the Directory',
+ 'title' => __('Show me in the Directory','ultimatemember'),
'metakey' => 'show_in_members',
'type' => 'radio',
- 'label' => 'Show me in the Directory',
- 'help' => 'Choose whether you want to appear in public member directories or not',
+ 'label' => __('Show me in the Directory','ultimatemember'),
+ 'help' => __('Choose whether you want to appear in public member directories or not','ultimatemember'),
'required' => 0,
'public' => 1,
'editable' => 1,
'default' => 'Yes',
'options' => array('Yes','No'),
'account_only' => true,
+ 'required_opt' => array( 'members_page', 1 ),
),
'delete_account' => array(
diff --git a/core/um-fields.php b/core/um-fields.php
index 13185961..9f7254bc 100644
--- a/core/um-fields.php
+++ b/core/um-fields.php
@@ -11,6 +11,27 @@ class UM_Fields {
}
+ /***
+ *** @show user social links
+ ***/
+ function show_social_urls(){
+ global $ultimatemember;
+ $fields = $ultimatemember->builtin->all_user_fields;
+ foreach( $fields as $field => $args ) {
+ if ( isset( $args['advanced'] ) && $args['advanced'] == 'social' ) {
+ $social[$field] = $args;
+ }
+ }
+ foreach( $social as $k => $arr ) {
+ if ( um_profile( $k ) ) { ?>
+
+
+
+ viewing == true ) {
- $value = um_user( $key );
- $value = apply_filters("um_profile_field_filter_hook__", $value, $data );
- $value = apply_filters("um_profile_field_filter_hook__{$key}", $value, $data );
- $value = apply_filters("um_profile_field_filter_hook__{$type}", $value, $data );
-
+ $value = um_filtered_value( $key, $data );
return $value;
} else if ($default) {
@@ -473,7 +490,7 @@ class UM_Fields {
$fields = $ultimatemember->builtin->all_user_fields;
if ( isset( $fields[$key]['icon'] ) )
return $fields[$key]['icon'];
- return 'um-icon-user';
+ return '';
}
/***
@@ -756,6 +773,21 @@ class UM_Fields {
if ( !um_can_view_field( $data ) ) return;
if ( !um_can_edit_field( $data ) ) return;
+
+ if ( isset( $data['required_opt'] ) ) {
+ $opt = $data['required_opt'];
+ if ( um_get_option( $opt[0] ) != $opt[1] ) {
+ return;
+ }
+ }
+
+ if ( isset( $data['required_perm'] ) ) {
+ if ( !um_user( $data['required_perm'] ) ) {
+ return;
+ }
+ }
+
+ /* Begin by field type */
switch( $type ) {
diff --git a/core/um-filters-account.php b/core/um-filters-account.php
index a5763e29..32aee01f 100644
--- a/core/um-filters-account.php
+++ b/core/um-filters-account.php
@@ -9,14 +9,14 @@
foreach ($tabs as $k => $arr ) {
foreach( $arr as $id => $info ) {
- if ( $id == 'delete' ) {
- if ( !um_user('can_delete_profile') && !um_user('can_delete_everyone') ) {
- unset( $tabs[$k][$id] );
- }
+
+ $output = $ultimatemember->account->get_tab_output( $id );
+ if ( !$output ) {
+ unset( $tabs[$k][$id] );
}
- if ( $id == 'privacy' ) {
- if ( !um_user('can_make_private_profile') ) {
+ if ( $id == 'delete' ) {
+ if ( !um_user('can_delete_profile') && !um_user('can_delete_everyone') ) {
unset( $tabs[$k][$id] );
}
}
diff --git a/core/um-filters-fields.php b/core/um-filters-fields.php
index 9d612dca..82c3ebab 100644
--- a/core/um-filters-fields.php
+++ b/core/um-filters-fields.php
@@ -63,7 +63,7 @@
if ( !file_exists( um_user_uploads_dir() . $value ) ) {
$value = __('Image has been removed.');
} else {
- $value = '';
+ $value = '';
}
return $value;
@@ -120,7 +120,7 @@
$mode = (isset( $ultimatemember->fields->set_mode ) ) ? $ultimatemember->fields->set_mode : null;
if ( $form_id && $mode ) {
- $array = $ultimatemember->query->get_attr('custom_fields', $form_id );
+ $array = $ultimatemember->query->get_attr('custom_fields', $form_id );
} else {
$array = '';
}
diff --git a/core/um-logout.php b/core/um-logout.php
index b2984cde..904e9471 100644
--- a/core/um-logout.php
+++ b/core/um-logout.php
@@ -30,7 +30,7 @@ class UM_Logout {
exit( wp_redirect( $redirect_to ) );
} else {
- exit( wp_redirect( home_url() ) );
+ um_redirect_home();
}
}
diff --git a/core/um-members.php b/core/um-members.php
index a877e1c1..dd978e98 100644
--- a/core/um-members.php
+++ b/core/um-members.php
@@ -6,6 +6,19 @@ class UM_Members {
add_filter('pre_user_query', array(&$this, 'custom_order_query') );
+ add_action('template_redirect', array(&$this, 'access_members'), 555);
+
+ }
+
+ /***
+ *** @Members page allowed?
+ ***/
+ function access_members() {
+
+ if ( um_get_option('members_page') == 0 && um_is_core_page('members') ) {
+ um_redirect_home();
+ }
+
}
/***
diff --git a/core/um-permalinks.php b/core/um-permalinks.php
index 742cc8bb..fea08386 100644
--- a/core/um-permalinks.php
+++ b/core/um-permalinks.php
@@ -153,5 +153,16 @@ class UM_Permalinks {
return $profile_url;
}
+
+ /***
+ *** @get action url for admin use
+ ***/
+ function admin_act_url( $action, $subaction ) {
+ $url = $this->get_current_url();
+ $url = add_query_arg( 'um_adm_action', $action, $url );
+ $url = add_query_arg( 'sub', $subaction, $url );
+ $url = add_query_arg( 'user_id', um_user('ID'), $url );
+ return $url;
+ }
}
\ No newline at end of file
diff --git a/core/um-profile.php b/core/um-profile.php
index d7979914..9b0f09af 100644
--- a/core/um-profile.php
+++ b/core/um-profile.php
@@ -14,13 +14,7 @@ class UM_Profile {
$data = '';
if ( $key && um_user( $key ) ) {
- $value = um_user( $key );
- $data = $ultimatemember->builtin->get_specific_field( $key );
- $type = (isset($data['type']))?$data['type']:'';
-
- $value = apply_filters("um_profile_field_filter_hook__", $value, $data );
- $value = apply_filters("um_profile_field_filter_hook__{$key}", $value, $data );
- $value = apply_filters("um_profile_field_filter_hook__{$type}", $value, $data );
+ $value = um_filtered_value( $key );
$items[] = '' . $value . ' ';
$items[] = '• ';
diff --git a/core/um-query.php b/core/um-query.php
index 6900da89..c4133c6b 100644
--- a/core/um-query.php
+++ b/core/um-query.php
@@ -6,6 +6,38 @@ class UM_Query {
}
+ /***
+ *** @Get last users
+ ***/
+ function get_recent_users($number = 5){
+ global $wpdb;
+
+ $args = array( 'fields' => 'ID', 'number' => $number, 'orderby' => 'user_registered', 'order' => 'desc' );
+
+ $users = new WP_User_Query( $args );
+ return $users->results;
+ }
+
+ /***
+ *** @Get users by meta
+ ***/
+ function get_users_by_meta($rule, $number = 5){
+ global $wpdb;
+
+ $args = array( 'fields' => 'ID', 'number' => $number, 'orderby' => 'user_registered', 'order' => 'desc' );
+
+ $args['meta_query'][] = array(
+ array(
+ 'key' => 'account_status',
+ 'value' => $rule,
+ 'compare' => '='
+ )
+ );
+
+ $users = new WP_User_Query( $args );
+ return $users->results;
+ }
+
/***
*** @get user's role
***/
diff --git a/core/um-setup.php b/core/um-setup.php
index cf196549..8a2f7456 100644
--- a/core/um-setup.php
+++ b/core/um-setup.php
@@ -34,7 +34,6 @@ class UM_Setup {
'_um_template' => 'members',
'_um_mode' => 'directory',
'_um_has_profile_photo' => 0,
- '_um_show_stats' => 0,
'_um_show_social' => 0,
'_um_show_userinfo' => 0,
'_um_show_tagline' => 0,
diff --git a/core/um-short-functions.php b/core/um-short-functions.php
index 48e5570d..0e592c61 100644
--- a/core/um-short-functions.php
+++ b/core/um-short-functions.php
@@ -1,5 +1,56 @@
builtin->get_specific_field( $key );
+ }
+
+ $type = (isset($data['type']))?$data['type']:'';
+
+ $value = apply_filters("um_profile_field_filter_hook__", $value, $data );
+ $value = apply_filters("um_profile_field_filter_hook__{$key}", $value, $data );
+ $value = apply_filters("um_profile_field_filter_hook__{$type}", $value, $data );
+
+ return $value;
+ }
+
+ /***
+ *** @Get number of pending notifications for a meta
+ ***/
+ function um_notify( $rule ) {
+ global $ultimatemember;
+ $results = $ultimatemember->query->get_users_by_meta( $rule, 100 );
+ return count($results);
+ }
+
/***
*** @profile user ID
***/
@@ -524,7 +575,7 @@
$uri = um_get_option('default_avatar');
$uri = $uri['url'];
if ( !$uri )
- $uri = um_url . 'assets/img/default_avatar.png';
+ $uri = um_url . 'assets/img/default_avatar.jpg';
return $uri;
}
@@ -671,7 +722,7 @@
case 'cover_photo':
if ( um_profile('cover_photo') ) {
$cover_uri = um_get_cover_uri( um_profile('cover_photo'), $attrs );
- return ' ';
+ return ' ';
}
break;
diff --git a/core/um-user.php b/core/um-user.php
index 7e6c39d1..1640f0bf 100644
--- a/core/um-user.php
+++ b/core/um-user.php
@@ -196,14 +196,17 @@ class UM_User {
/***
*** @Set user's account status
***/
- function set_status( $status, $email_tpl = false ){
+ function set_status( $status ){
- do_action('um_before_user_status_is_changed');
+ $old_status = ( isset( $this->profile['account_status'] ) ) ? $this->profile['account_status'] : 'null';
+
+ do_action('um_before_user_status_is_changed', $old_status );
$this->profile['account_status'] = $status;
+
$this->update_usermeta_info('account_status');
- do_action('um_after_user_status_is_changed');
+ do_action('um_after_user_status_is_changed', $status);
}
diff --git a/i18n/ultimatemember-en_US.po b/i18n/ultimatemember-en_US.po
index 9b3ac13e..f38a12df 100644
--- a/i18n/ultimatemember-en_US.po
+++ b/i18n/ultimatemember-en_US.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Ultimate Member\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-22 01:49+0200\n"
-"PO-Revision-Date: 2014-12-22 01:50+0200\n"
+"POT-Creation-Date: 2015-01-02 15:49+0200\n"
+"PO-Revision-Date: 2015-01-02 15:49+0200\n"
"Last-Translator: Calum Allison \n"
"Language-Team: Ultimate Member \n"
"Language: en_US\n"
@@ -120,7 +120,7 @@ msgstr ""
msgid "Hints"
msgstr ""
-#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:2275
+#: admin/core/lib/ReduxFramework/ReduxCore/framework.php:2275 admin/templates/form/login_settings.php:6
msgid "Default"
msgstr ""
@@ -264,8 +264,8 @@ msgstr ""
#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/background/field_background.php:314
#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/media/field_media.php:204
#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:126
-#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:188 core/um-fields.php:603
-#: core/um-fields.php:622
+#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:188 core/um-fields.php:705
+#: core/um-fields.php:726
msgid "Upload"
msgstr ""
@@ -276,6 +276,7 @@ msgstr ""
#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/multi_text/field_multi_text.php:76
#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:133
#: admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slides/field_slides.php:190
+#: core/um-actions-profile.php:69
msgid "Remove"
msgstr ""
@@ -1327,11 +1328,15 @@ msgstr ""
msgid " Customize this form"
msgstr ""
-#: admin/core/um-admin-metabox.php:407
+#: admin/core/um-admin-metabox.php:248 admin/core/um-admin-metabox.php:249
+msgid " Options"
+msgstr ""
+
+#: admin/core/um-admin-metabox.php:412
msgid "If"
msgstr ""
-#: admin/core/um-admin-metabox.php:476
+#: admin/core/um-admin-metabox.php:481
msgid "Value"
msgstr ""
@@ -1387,7 +1392,7 @@ msgstr ""
msgid "This role can access the WordPress backend"
msgstr ""
-#: admin/core/um-admin-roles.php:48 um-config.php:248 um-config.php:267 um-config.php:299
+#: admin/core/um-admin-roles.php:48 um-config.php:258 um-config.php:277 um-config.php:309
msgid "No"
msgstr ""
@@ -1411,7 +1416,7 @@ msgstr ""
msgid "Bulk Actions"
msgstr ""
-#: admin/core/um-admin-users.php:224 admin/core/um-admin-users.php:300
+#: admin/core/um-admin-users.php:224 admin/core/um-admin-users.php:304 core/um-fields.php:1126
msgid "Apply"
msgstr ""
@@ -1459,11 +1464,11 @@ msgstr ""
msgid "Actions"
msgstr ""
-#: admin/core/um-admin-users.php:299
+#: admin/core/um-admin-users.php:303
msgid "Take action..."
msgstr ""
-#: admin/core/um-admin-users.php:305
+#: admin/core/um-admin-users.php:309
msgid "This user is an administrator. To modify this user, change their role first."
msgstr ""
@@ -1503,8 +1508,12 @@ msgstr ""
msgid "If you do not select any role, all members wil be able to view this content"
msgstr ""
+#: admin/templates/dashboard/overview.php:76
+msgid "No users are awaiting manual verification so far."
+msgstr ""
+
#: admin/templates/directory/appearance.php:3 admin/templates/form/login_customize.php:14
-#: admin/templates/form/profile_customize.php:14 admin/templates/form/register_customize.php:26
+#: admin/templates/form/profile_customize.php:26 admin/templates/form/register_customize.php:26
msgid "Template"
msgstr ""
@@ -1573,11 +1582,11 @@ msgid "Enable reveal section transition by default"
msgstr ""
#: admin/templates/directory/profile.php:108
-msgid "Show social connect icons"
+msgid "Choose field(s) to display in reveal section"
msgstr ""
-#: admin/templates/directory/profile.php:117
-msgid "Show stats section in the bottom"
+#: admin/templates/directory/profile.php:156
+msgid "Show social connect icons"
msgstr ""
#: admin/templates/directory/profile_card.php:3
@@ -1632,7 +1641,7 @@ msgstr ""
msgid "Results Text"
msgstr ""
-#: admin/templates/directory/search.php:98 um-config.php:187
+#: admin/templates/directory/search.php:98 um-config.php:196
msgid "Custom text If no users were found"
msgstr ""
@@ -1645,67 +1654,77 @@ msgstr ""
msgid "Use global settings?"
msgstr ""
-#: admin/templates/form/login_customize.php:26 admin/templates/form/profile_customize.php:26
+#: admin/templates/form/login_customize.php:26 admin/templates/form/profile_customize.php:38
#: admin/templates/form/register_customize.php:38
msgid "Max. Width (px or %)"
msgstr ""
-#: admin/templates/form/login_customize.php:30 admin/templates/form/profile_customize.php:30
+#: admin/templates/form/login_customize.php:30 admin/templates/form/profile_customize.php:42
#: admin/templates/form/register_customize.php:42
msgid "Alignment"
msgstr ""
-#: admin/templates/form/login_customize.php:40 admin/templates/form/profile_customize.php:40
+#: admin/templates/form/login_customize.php:40 admin/templates/form/profile_customize.php:52
#: admin/templates/form/register_customize.php:52
msgid "Field Icons"
msgstr ""
-#: admin/templates/form/login_customize.php:50 admin/templates/form/profile_customize.php:50
+#: admin/templates/form/login_customize.php:50 admin/templates/form/profile_customize.php:62
#: admin/templates/form/register_customize.php:62
msgid "Primary Button Text"
msgstr ""
-#: admin/templates/form/login_customize.php:54 admin/templates/form/profile_customize.php:54
+#: admin/templates/form/login_customize.php:54 admin/templates/form/profile_customize.php:66
#: admin/templates/form/register_customize.php:66
msgid "Primary Button Color"
msgstr ""
-#: admin/templates/form/login_customize.php:58 admin/templates/form/profile_customize.php:58
+#: admin/templates/form/login_customize.php:58 admin/templates/form/profile_customize.php:70
#: admin/templates/form/register_customize.php:70
msgid "Primary Button Hover Color"
msgstr ""
-#: admin/templates/form/login_customize.php:62 admin/templates/form/profile_customize.php:62
+#: admin/templates/form/login_customize.php:62 admin/templates/form/profile_customize.php:74
#: admin/templates/form/register_customize.php:74
msgid "Primary Button Text Color"
msgstr ""
-#: admin/templates/form/login_customize.php:67 admin/templates/form/profile_customize.php:67
+#: admin/templates/form/login_customize.php:67 admin/templates/form/profile_customize.php:79
#: admin/templates/form/register_customize.php:79
msgid "Show Secondary Button"
msgstr ""
-#: admin/templates/form/login_customize.php:75 admin/templates/form/profile_customize.php:75
+#: admin/templates/form/login_customize.php:75 admin/templates/form/profile_customize.php:87
#: admin/templates/form/register_customize.php:87
msgid "Secondary Button Text"
msgstr ""
-#: admin/templates/form/login_customize.php:79 admin/templates/form/profile_customize.php:79
+#: admin/templates/form/login_customize.php:79 admin/templates/form/profile_customize.php:91
#: admin/templates/form/register_customize.php:91
msgid "Secondary Button Color"
msgstr ""
-#: admin/templates/form/login_customize.php:83 admin/templates/form/profile_customize.php:83
+#: admin/templates/form/login_customize.php:83 admin/templates/form/profile_customize.php:95
#: admin/templates/form/register_customize.php:95
msgid "Secondary Button Hover Color"
msgstr ""
-#: admin/templates/form/login_customize.php:87 admin/templates/form/profile_customize.php:87
+#: admin/templates/form/login_customize.php:87 admin/templates/form/profile_customize.php:99
#: admin/templates/form/register_customize.php:99
msgid "Secondary Button Text Color"
msgstr ""
-#: admin/templates/form/mode.php:3 um-config.php:1150
+#: admin/templates/form/login_settings.php:3
+msgid "Redirection after Login"
+msgstr ""
+
+#: admin/templates/form/login_settings.php:16 admin/templates/role/delete.php:18
+#: admin/templates/role/login.php:20 admin/templates/role/logout.php:18 admin/templates/role/register.php:37
+#: admin/templates/role/register.php:75 admin/templates/role/register.php:113
+msgid "Set Custom Redirect URL"
+msgstr ""
+
+#: admin/templates/form/mode.php:3 um-config.php:1237
msgid "Registration Form"
msgstr ""
@@ -1713,66 +1732,82 @@ msgstr ""
msgid "Profile Form"
msgstr ""
-#: admin/templates/form/mode.php:7 um-config.php:1241
+#: admin/templates/form/mode.php:7 um-config.php:1328
msgid "Login Form"
msgstr ""
-#: admin/templates/form/profile_customize.php:91
-msgid "Base Background Color"
-msgstr ""
-
-#: admin/templates/form/profile_customize.php:95
-msgid "Enable Cover Photos"
+#: admin/templates/form/profile_customize.php:14
+msgid "Make this profile role-specific"
msgstr ""
#: admin/templates/form/profile_customize.php:103
+msgid "Base Background Color"
+msgstr ""
+
+#: admin/templates/form/profile_customize.php:107
+msgid "Enable Cover Photos"
+msgstr ""
+
+#: admin/templates/form/profile_customize.php:115
msgid "Cover photo ratio"
msgstr ""
-#: admin/templates/form/profile_customize.php:113 um-config.php:1056
+#: admin/templates/form/profile_customize.php:125 um-config.php:1127
msgid "Profile Photo Size"
msgstr ""
-#: admin/templates/form/profile_customize.php:117 um-config.php:1065
+#: admin/templates/form/profile_customize.php:129 um-config.php:1136
msgid "Profile Photo Style"
msgstr ""
-#: admin/templates/form/profile_customize.php:120 um-config.php:1069
+#: admin/templates/form/profile_customize.php:132 um-config.php:1140
msgid "Circle"
msgstr ""
-#: admin/templates/form/profile_customize.php:121 um-config.php:1070
+#: admin/templates/form/profile_customize.php:133 um-config.php:1141
msgid "Rounded Corners"
msgstr ""
-#: admin/templates/form/profile_customize.php:122 um-config.php:1071
+#: admin/templates/form/profile_customize.php:134 um-config.php:1142
msgid "Square"
msgstr ""
-#: admin/templates/form/profile_customize.php:127
+#: admin/templates/form/profile_customize.php:139
msgid "Header Background Color"
msgstr ""
-#: admin/templates/form/profile_customize.php:131
+#: admin/templates/form/profile_customize.php:143
msgid "Header Meta Text Color"
msgstr ""
-#: admin/templates/form/profile_customize.php:135
+#: admin/templates/form/profile_customize.php:147
msgid "Header Link Color"
msgstr ""
-#: admin/templates/form/profile_customize.php:139
+#: admin/templates/form/profile_customize.php:151
msgid "Header Link Hover"
msgstr ""
-#: admin/templates/form/profile_customize.php:143
+#: admin/templates/form/profile_customize.php:155
msgid "Header Icon Link Color"
msgstr ""
-#: admin/templates/form/profile_customize.php:147
+#: admin/templates/form/profile_customize.php:159
msgid "Header Icon Link Hover"
msgstr ""
+#: admin/templates/form/profile_customize.php:164
+msgid "Show display name in profile header?"
+msgstr ""
+
+#: admin/templates/form/profile_customize.php:173
+msgid "Show user description in profile header?"
+msgstr ""
+
+#: admin/templates/form/profile_settings.php:4
+msgid "Field(s) to show in user meta"
+msgstr ""
+
#: admin/templates/form/register_customize.php:14
msgid "Assign role to form"
msgstr ""
@@ -1788,7 +1823,9 @@ msgstr ""
#: admin/templates/modal/dynamic_edit_field.php:15 admin/templates/modal/dynamic_edit_row.php:15
#: admin/templates/modal/dynamic_new_divider.php:15 admin/templates/modal/dynamic_new_field.php:15
-#: admin/templates/modal/dynamic_new_group.php:15
+#: admin/templates/modal/dynamic_new_group.php:15 core/um-actions-profile.php:70
+#: core/um-actions-profile.php:153 core/um-actions-profile.php:161 core/um-fields.php:1127
+#: core/um-fields.php:1212
msgid "Cancel"
msgstr ""
@@ -1865,12 +1902,6 @@ msgstr ""
msgid "Action to be taken after account is deleted"
msgstr ""
-#: admin/templates/role/delete.php:18 admin/templates/role/login.php:19 admin/templates/role/logout.php:18
-#: admin/templates/role/register.php:37 admin/templates/role/register.php:75
-#: admin/templates/role/register.php:113
-msgid "Set Custom Redirect URL"
-msgstr ""
-
#: admin/templates/role/general.php:6
msgid "Can edit their profile?"
msgstr ""
@@ -1952,95 +1983,111 @@ msgstr ""
msgid "Your password must contain less than 30 characters"
msgstr ""
-#: core/um-actions-form.php:24
+#: core/um-actions-ajax.php:30 core/um-actions-ajax.php:45
+msgid "You can not edit this user"
+msgstr ""
+
+#: core/um-actions-ajax.php:62
+msgid "Invalid parameters"
+msgstr ""
+
+#: core/um-actions-ajax.php:65
+msgid "Invalid coordinates"
+msgstr ""
+
+#: core/um-actions-ajax.php:68
+msgid "Invalid Image file"
+msgstr ""
+
+#: core/um-actions-form.php:25
msgid "You are not allowed to use this word as your username."
msgstr ""
-#: core/um-actions-form.php:51
+#: core/um-actions-form.php:81
#, php-format
msgid "%s is required"
msgstr ""
-#: core/um-actions-form.php:57
+#: core/um-actions-form.php:87
#, php-format
msgid "You are only allowed to enter a maximum of %s words"
msgstr ""
-#: core/um-actions-form.php:63
+#: core/um-actions-form.php:93
#, php-format
msgid "Your %s must contain at least %s characters"
msgstr ""
-#: core/um-actions-form.php:69
+#: core/um-actions-form.php:99
#, php-format
msgid "Your %s must contain less than %s characters"
msgstr ""
-#: core/um-actions-form.php:75
+#: core/um-actions-form.php:105
msgid "You can not use HTML tags here"
msgstr ""
-#: core/um-actions-form.php:81
+#: core/um-actions-form.php:111
msgid "Your password must contain at least one capital letter and one number"
msgstr ""
-#: core/um-actions-form.php:87
+#: core/um-actions-form.php:117
msgid "Please confirm your password"
msgstr ""
-#: core/um-actions-form.php:90
+#: core/um-actions-form.php:120
msgid "Your passwords do not match"
msgstr ""
-#: core/um-actions-form.php:96
+#: core/um-actions-form.php:126
#, php-format
msgid "Please select at least %s choices"
msgstr ""
-#: core/um-actions-form.php:102
+#: core/um-actions-form.php:132
#, php-format
msgid "You can only select up to %s choices"
msgstr ""
-#: core/um-actions-form.php:112
+#: core/um-actions-form.php:142
msgid "Please enter a valid phone number"
msgstr ""
-#: core/um-actions-form.php:118 core/um-actions-form.php:124 core/um-actions-form.php:130
-#: core/um-actions-form.php:136 core/um-actions-form.php:142 core/um-actions-form.php:148
+#: core/um-actions-form.php:148 core/um-actions-form.php:154 core/um-actions-form.php:160
+#: core/um-actions-form.php:166 core/um-actions-form.php:172 core/um-actions-form.php:178
#, php-format
msgid "Please enter a valid %s username or profile URL"
msgstr ""
-#: core/um-actions-form.php:155 core/um-actions-form.php:169
+#: core/um-actions-form.php:185 core/um-actions-form.php:199
msgid "You must provide a username"
msgstr ""
-#: core/um-actions-form.php:157 core/um-actions-form.php:171
+#: core/um-actions-form.php:187 core/um-actions-form.php:201
msgid "Your username is already taken"
msgstr ""
-#: core/um-actions-form.php:159
+#: core/um-actions-form.php:189
msgid "Username cannot be an email"
msgstr ""
-#: core/um-actions-form.php:161 core/um-actions-form.php:175
+#: core/um-actions-form.php:191 core/um-actions-form.php:205
msgid "Your username contains invalid characters"
msgstr ""
-#: core/um-actions-form.php:173 core/um-actions-form.php:185
+#: core/um-actions-form.php:203 core/um-actions-form.php:215
msgid "This email is already linked to an existing account"
msgstr ""
-#: core/um-actions-form.php:183
+#: core/um-actions-form.php:213
msgid "You must provide your email"
msgstr ""
-#: core/um-actions-form.php:187
+#: core/um-actions-form.php:217
msgid "This is not a valid email"
msgstr ""
-#: core/um-actions-form.php:189
+#: core/um-actions-form.php:219
msgid "Your email contains invalid characters"
msgstr ""
@@ -2048,7 +2095,35 @@ msgstr ""
msgid "Only fill in if you are not human"
msgstr ""
-#: core/um-actions-login.php:68
+#: core/um-actions-login.php:43
+msgid "Please enter your username or email"
+msgstr ""
+
+#: core/um-actions-login.php:47
+msgid "Please enter your username"
+msgstr ""
+
+#: core/um-actions-login.php:51
+msgid "Please enter your email"
+msgstr ""
+
+#: core/um-actions-login.php:75
+msgid " Sorry, we can't find an account with that email address"
+msgstr ""
+
+#: core/um-actions-login.php:77
+msgid " Sorry, we can't find an account with that username"
+msgstr ""
+
+#: core/um-actions-login.php:81
+msgid "Please enter your password"
+msgstr ""
+
+#: core/um-actions-login.php:96
+msgid "That password is incorrect. Please try again."
+msgstr ""
+
+#: core/um-actions-login.php:229
msgid "Forgot your password?"
msgstr ""
@@ -2069,10 +2144,26 @@ msgstr ""
msgid "%s of %d"
msgstr ""
-#: core/um-actions-notices.php:15
+#: core/um-actions-misc.php:57
msgid "You have successfully changed your password."
msgstr ""
+#: core/um-actions-misc.php:65 core/um-filters-login.php:18
+msgid "Your account has been disabled."
+msgstr ""
+
+#: core/um-actions-misc.php:68 core/um-filters-login.php:21
+msgid "Your account has not been approved yet."
+msgstr ""
+
+#: core/um-actions-misc.php:71 core/um-filters-login.php:24
+msgid "Your account is awaiting e-mail verifications."
+msgstr ""
+
+#: core/um-actions-misc.php:74 core/um-filters-login.php:27
+msgid "Your membership request has been rejected."
+msgstr ""
+
#: core/um-actions-password.php:66 core/um-actions-password.php:97 core/um-form.php:80
msgid "Hello, spam bot!"
msgstr ""
@@ -2100,31 +2191,110 @@ msgstr ""
msgid "Change my password"
msgstr ""
-#: core/um-actions-profile.php:186
+#: core/um-actions-profile.php:56
+msgid "Change your cover photo"
+msgstr ""
+
+#: core/um-actions-profile.php:68
+msgid "Change cover photo"
+msgstr ""
+
+#: core/um-actions-profile.php:95
+msgid "Upload a cover photo"
+msgstr ""
+
+#: core/um-actions-profile.php:128
+msgid "Change your profile photo"
+msgstr ""
+
+#: core/um-actions-profile.php:152
+msgid "Upload photo"
+msgstr ""
+
+#: core/um-actions-profile.php:159 core/um-fields.php:1093 core/um-fields.php:1126
+msgid "Change photo"
+msgstr ""
+
+#: core/um-actions-profile.php:160
+msgid "Remove photo"
+msgstr ""
+
+#: core/um-actions-profile.php:270
msgid "You are not allowed to edit this user."
msgstr ""
-#: core/um-builtin.php:716
+#: core/um-builtin.php:781
msgid "Enter your username or email"
msgstr ""
-#: core/um-builtin.php:735
+#: core/um-builtin.php:800
msgid "Everyone"
msgstr ""
-#: core/um-builtin.php:735 core/um-user.php:403
+#: core/um-builtin.php:800 core/um-user.php:403
msgid "Only me"
msgstr ""
-#: core/um-fields.php:744
+#: core/um-datetime.php:25
+#, php-format
+msgid "%s year old"
+msgstr ""
+
+#: core/um-datetime.php:27
+#, php-format
+msgid "%s years old"
+msgstr ""
+
+#: core/um-datetime.php:29
+msgid "Less than 1 year old"
+msgstr ""
+
+#: core/um-fields.php:848
msgid "Current Password"
msgstr ""
-#: core/um-fields.php:805
+#: core/um-fields.php:909
#, php-format
msgid "Confirm New %s"
msgstr ""
+#: core/um-fields.php:1084 core/um-fields.php:1156
+msgid "Upload Photo"
+msgstr ""
+
+#: core/um-fields.php:1126 core/um-fields.php:1211
+msgid "Processing..."
+msgstr ""
+
+#: core/um-fields.php:1172 core/um-fields.php:1211
+msgid "Change file"
+msgstr ""
+
+#: core/um-fields.php:1211
+msgid "Save"
+msgstr ""
+
+#: core/um-files.php:309 core/um-files.php:311
+#, php-format
+msgid "Your photo is too small. It must be at least %spx wide."
+msgstr ""
+
+#: core/um-filters-fields.php:8
+msgid "Age"
+msgstr ""
+
+#: core/um-filters-fields.php:39
+msgid "This file has been removed."
+msgstr ""
+
+#: core/um-filters-fields.php:61
+msgid "Untitled photo"
+msgstr ""
+
+#: core/um-filters-fields.php:64
+msgid "Image has been removed."
+msgstr ""
+
#: core/um-filters-user.php:11 core/um-filters-user.php:33 core/um-filters-user.php:36
#: core/um-filters-user.php:41
msgid "Approve Membership"
@@ -2183,11 +2353,11 @@ msgstr ""
msgid "This is not a valid hash, or it has expired."
msgstr ""
-#: core/um-setup.php:43 core/um-setup.php:140
+#: core/um-setup.php:42 core/um-setup.php:141
msgid "{total_users} Members"
msgstr ""
-#: core/um-setup.php:44 core/um-setup.php:141
+#: core/um-setup.php:43 core/um-setup.php:142
msgid "We are sorry. We cannot find any users who match your search criteria."
msgstr ""
@@ -2239,7 +2409,7 @@ msgstr ""
msgid "Search Member Levels"
msgstr ""
-#: core/um-taxonomies.php:55 um-config.php:1322
+#: core/um-taxonomies.php:55 um-config.php:1409
msgid "Member Directory"
msgstr ""
@@ -2356,534 +2526,596 @@ msgid "Members Directory"
msgstr ""
#: um-config.php:179
+msgid "Members page status"
+msgstr ""
+
+#: um-config.php:187
msgid "General Results Text"
msgstr ""
-#: um-config.php:181
+#: um-config.php:189
msgid "Customize the search result text . e.g. Found 3,000 Members. Leave this blank to not show result text"
msgstr ""
-#: um-config.php:189
+#: um-config.php:198
msgid "This is the text that is displayed if no users are found during a search"
msgstr ""
-#: um-config.php:203
+#: um-config.php:213
msgid "Site Access"
msgstr ""
-#: um-config.php:210
+#: um-config.php:220
msgid "Global Site Access"
msgstr ""
-#: um-config.php:222
+#: um-config.php:232
msgid "Custom Redirect URL"
msgstr ""
-#: um-config.php:238
+#: um-config.php:248
msgid "Backend"
msgstr ""
-#: um-config.php:244
+#: um-config.php:254
msgid "Show Ultimate Member in admin bar when browsing the frontend?"
msgstr ""
-#: um-config.php:247 um-config.php:266 um-config.php:298
+#: um-config.php:257 um-config.php:276 um-config.php:308
msgid "Yes"
msgstr ""
-#: um-config.php:254
+#: um-config.php:264
msgid "Panic Key"
msgstr ""
-#: um-config.php:263
+#: um-config.php:273
msgid "Allow Backend Login Screen for Guests"
msgstr ""
-#: um-config.php:274
+#: um-config.php:284
msgid "Redirect to alternative login page"
msgstr ""
-#: um-config.php:275
+#: um-config.php:285
msgid "If you disable backend access to login screen, specify here where a user will be redirected"
msgstr ""
-#: um-config.php:287 um-config.php:319
+#: um-config.php:297 um-config.php:329
msgid "Custom URL"
msgstr ""
-#: um-config.php:295
+#: um-config.php:305
msgid "Allow Backend Register Screen for Guests"
msgstr ""
-#: um-config.php:306
+#: um-config.php:316
msgid "Redirect to alternative register page"
msgstr ""
-#: um-config.php:307
+#: um-config.php:317
msgid "If you disable backend access to register screen, specify here where a user will be redirected"
msgstr ""
-#: um-config.php:335
+#: um-config.php:345
msgid "Restrictions"
msgstr ""
-#: um-config.php:341
+#: um-config.php:351
msgid "Blocked IP Addresses"
msgstr ""
-#: um-config.php:342
+#: um-config.php:352
msgid "Enter one IP per line, you can also use wildcards to block a specific range e.g. 41.83.*.*"
msgstr ""
-#: um-config.php:343
+#: um-config.php:353
msgid ""
"This will block these IPs from accessing the site, you can use full IP numbers or target specific range with "
"a wildcard"
msgstr ""
-#: um-config.php:349
+#: um-config.php:359
msgid "Blocked Email Addresses"
msgstr ""
-#: um-config.php:350
+#: um-config.php:360
msgid ""
"Enter one email address per line and you can also specify all emails from specific service to be blocked by "
"using wildcard: *@hotmail.com"
msgstr ""
-#: um-config.php:351
+#: um-config.php:361
msgid "This will block the specified e-mail addresses from being able to sign up or sign in to your site."
msgstr ""
-#: um-config.php:357
+#: um-config.php:367
msgid "Blacklist Words"
msgstr ""
-#: um-config.php:358
+#: um-config.php:368
msgid ""
"The words specified here can not be used as username during registration, please enter one word per line to "
"prevent the usage of this word in a username / during registration"
msgstr ""
-#: um-config.php:359
+#: um-config.php:369
msgid ""
"This option lets you specify blacklist of words to prevent anyone from signing up with such a word as their "
"username"
msgstr ""
-#: um-config.php:374
+#: um-config.php:384
msgid "Email Templates"
msgstr ""
-#: um-config.php:380
+#: um-config.php:390
msgid "Mail appears from"
msgstr ""
-#: um-config.php:381
-msgid "e.g. Company Name"
+#: um-config.php:391
+msgid "e.g. Site Name"
msgstr ""
-#: um-config.php:388
+#: um-config.php:398
msgid "Mail appears from address"
msgstr ""
-#: um-config.php:389 um-config.php:637
+#: um-config.php:399 um-config.php:647
msgid "e.g. admin@companyname.com"
msgstr ""
-#: um-config.php:396 um-config.php:404 um-config.php:414
+#: um-config.php:406 um-config.php:414 um-config.php:424
msgid "Account Approved Email"
msgstr ""
-#: um-config.php:405 um-config.php:441 um-config.php:473 um-config.php:505 um-config.php:536 um-config.php:567
-#: um-config.php:598 um-config.php:652 um-config.php:683 um-config.php:715
-msgid "Subject Line"
-msgstr ""
-
#: um-config.php:415 um-config.php:451 um-config.php:483 um-config.php:515 um-config.php:546 um-config.php:577
#: um-config.php:608 um-config.php:662 um-config.php:693 um-config.php:725
+msgid "Subject Line"
+msgstr ""
+
+#: um-config.php:425 um-config.php:461 um-config.php:493 um-config.php:525 um-config.php:556 um-config.php:587
+#: um-config.php:618 um-config.php:672 um-config.php:703 um-config.php:735
msgid "Message Body"
msgstr ""
-#: um-config.php:432 um-config.php:440 um-config.php:450
+#: um-config.php:442 um-config.php:450 um-config.php:460
msgid "Account Activation Email"
msgstr ""
-#: um-config.php:464 um-config.php:472 um-config.php:482
+#: um-config.php:474 um-config.php:482 um-config.php:492
msgid "Pending Review Email"
msgstr ""
-#: um-config.php:496 um-config.php:504 um-config.php:514
+#: um-config.php:506 um-config.php:514 um-config.php:524
msgid "Account Rejected Email"
msgstr ""
-#: um-config.php:527 um-config.php:535 um-config.php:545
+#: um-config.php:537 um-config.php:545 um-config.php:555
msgid "Account Deactivated Email"
msgstr ""
-#: um-config.php:558 um-config.php:566 um-config.php:576
+#: um-config.php:568 um-config.php:576 um-config.php:586
msgid "Account Deleted Email"
msgstr ""
-#: um-config.php:589 um-config.php:597 um-config.php:607
+#: um-config.php:599 um-config.php:607 um-config.php:617
msgid "Password Reset Email"
msgstr ""
-#: um-config.php:629
+#: um-config.php:639
msgid "Admin Notifications"
msgstr ""
-#: um-config.php:635
+#: um-config.php:645
msgid "Admin E-mail Address"
msgstr ""
-#: um-config.php:643 um-config.php:651 um-config.php:661
+#: um-config.php:653 um-config.php:661 um-config.php:671
msgid "New User Notification"
msgstr ""
-#: um-config.php:674 um-config.php:682 um-config.php:692
+#: um-config.php:684 um-config.php:692 um-config.php:702
msgid "Account Needs Review Notification"
msgstr ""
-#: um-config.php:706 um-config.php:714 um-config.php:724
+#: um-config.php:716 um-config.php:724 um-config.php:734
msgid "Account Deletion Notification"
msgstr ""
-#: um-config.php:742
-msgid "SEO"
-msgstr ""
-
-#: um-config.php:748
-msgid "User Profile Title"
-msgstr ""
-
-#: um-config.php:757
-msgid "User Profile Dynamic Meta Description"
+#: um-config.php:752
+msgid "Image & File Uploads"
msgstr ""
#: um-config.php:758
-msgid "You can use dynamic tags to display dynamic user profile data in this field."
+msgid "Profile Photo Thumbnail Sizes"
msgstr ""
#: um-config.php:759
+msgid "Here you can define which thumbnail sizes will be created for each profile photo upload."
+msgstr ""
+
+#: um-config.php:762 um-config.php:772
+msgid "Add New Size"
+msgstr ""
+
+#: um-config.php:768
+msgid "Cover Photo Thumbnail Sizes"
+msgstr ""
+
+#: um-config.php:769
+msgid "Here you can define which thumbnail sizes will be created for each cover photo upload."
+msgstr ""
+
+#: um-config.php:778
+msgid "Image Quality"
+msgstr ""
+
+#: um-config.php:779
+msgid ""
+"Quality is used to determine quality of image uploads, and ranges from 0 (worst quality, smaller file) to "
+"100 (best quality, biggest file). The default range is 75."
+msgstr ""
+
+#: um-config.php:787
+msgid "Image Upload Maximum Width"
+msgstr ""
+
+#: um-config.php:788
+msgid "Any image upload above this width will be resized to this limit automatically."
+msgstr ""
+
+#: um-config.php:796
+msgid "Cover Photo Minimum Width"
+msgstr ""
+
+#: um-config.php:797
+msgid "This will be the minimum width for cover photo uploads"
+msgstr ""
+
+#: um-config.php:813
+msgid "SEO"
+msgstr ""
+
+#: um-config.php:819
+msgid "User Profile Title"
+msgstr ""
+
+#: um-config.php:828
+msgid "User Profile Dynamic Meta Description"
+msgstr ""
+
+#: um-config.php:829
+msgid "You can use dynamic tags to display dynamic user profile data in this field."
+msgstr ""
+
+#: um-config.php:830
msgid "This will be used in the meta description that is available for search-engines."
msgstr ""
-#: um-config.php:773
+#: um-config.php:844
msgid "Styling & Appearance"
msgstr ""
-#: um-config.php:783
+#: um-config.php:854
msgid "General"
msgstr ""
-#: um-config.php:790
+#: um-config.php:861
msgid "General Active Color"
msgstr ""
-#: um-config.php:792
+#: um-config.php:863
msgid ""
"Active color is used commonly with many plugin elements as highlighted color or active selection for "
"example. This color demonstrates the primary active color of the plugin"
msgstr ""
-#: um-config.php:800
+#: um-config.php:871
msgid "General Secondary Color"
msgstr ""
-#: um-config.php:802
+#: um-config.php:873
msgid "Secondary color is used for hovers, or active state for some elements of the plugin"
msgstr ""
-#: um-config.php:811
+#: um-config.php:882
msgid "Default Profile Picture"
msgstr ""
-#: um-config.php:812
+#: um-config.php:883
msgid "You can change the default profile picture globally here. Please make sure photo is 300x300px."
msgstr ""
-#: um-config.php:822
+#: um-config.php:893
msgid "Default Primary Button Color"
msgstr ""
-#: um-config.php:831
+#: um-config.php:902
msgid "Default Primary Button Hover Color"
msgstr ""
-#: um-config.php:840
+#: um-config.php:911
msgid "Default Primary Button Text Color"
msgstr ""
-#: um-config.php:849
+#: um-config.php:920
msgid "Default Secondary Button Color"
msgstr ""
-#: um-config.php:858
+#: um-config.php:929
msgid "Default Secondary Button Hover Color"
msgstr ""
-#: um-config.php:867
+#: um-config.php:938
msgid "Default Secondary Button Text Color"
msgstr ""
-#: um-config.php:876
+#: um-config.php:947
msgid "Default Help Icon Color"
msgstr ""
-#: um-config.php:888
+#: um-config.php:959
msgid "Form Inputs"
msgstr ""
-#: um-config.php:895
+#: um-config.php:966
msgid "Field Label Color"
msgstr ""
-#: um-config.php:903
+#: um-config.php:974
msgid "Field Border Style"
msgstr ""
-#: um-config.php:912
+#: um-config.php:983
msgid "Field Background Color"
msgstr ""
-#: um-config.php:921
+#: um-config.php:992
msgid "Field Text Color"
msgstr ""
-#: um-config.php:930
+#: um-config.php:1001
msgid "Field Placeholder Color"
msgstr ""
-#: um-config.php:939
+#: um-config.php:1010
msgid "Field Font Icon Color"
msgstr ""
-#: um-config.php:951
+#: um-config.php:1022
msgid "Profile"
msgstr ""
-#: um-config.php:958
+#: um-config.php:1029
msgid "Profile Default Template"
msgstr ""
-#: um-config.php:959
+#: um-config.php:1030
msgid "This will be the default template to output profile"
msgstr ""
-#: um-config.php:967
+#: um-config.php:1038
msgid "Profile Maximum Width"
msgstr ""
-#: um-config.php:976
+#: um-config.php:1047
msgid "Profile Shortcode Alignment"
msgstr ""
-#: um-config.php:977 um-config.php:1176 um-config.php:1267
+#: um-config.php:1048 um-config.php:1263 um-config.php:1354
msgid "The shortcode is centered by default unless you specify otherwise here"
msgstr ""
-#: um-config.php:980 um-config.php:1179 um-config.php:1270
+#: um-config.php:1051 um-config.php:1266 um-config.php:1357
msgid "Centered"
msgstr ""
-#: um-config.php:981 um-config.php:1180 um-config.php:1271
+#: um-config.php:1052 um-config.php:1267 um-config.php:1358
msgid "Left aligned"
msgstr ""
-#: um-config.php:982 um-config.php:1181 um-config.php:1272
+#: um-config.php:1053 um-config.php:1268 um-config.php:1359
msgid "Right aligned"
msgstr ""
-#: um-config.php:990
+#: um-config.php:1061
msgid "Profile Field Icons"
msgstr ""
-#: um-config.php:991
+#: um-config.php:1062
msgid "This is applicable for edit mode only"
msgstr ""
-#: um-config.php:994 um-config.php:1193 um-config.php:1284
+#: um-config.php:1065 um-config.php:1280 um-config.php:1371
msgid "Show inside text field"
msgstr ""
-#: um-config.php:995 um-config.php:1194 um-config.php:1285
+#: um-config.php:1066 um-config.php:1281 um-config.php:1372
msgid "Show with label"
msgstr ""
-#: um-config.php:996 um-config.php:1195 um-config.php:1286
+#: um-config.php:1067 um-config.php:1282 um-config.php:1373
msgid "Turn off"
msgstr ""
-#: um-config.php:1003
+#: um-config.php:1074
msgid "Profile Primary Button Text"
msgstr ""
-#: um-config.php:1011
+#: um-config.php:1082
msgid "Profile Secondary Button"
msgstr ""
-#: um-config.php:1019
+#: um-config.php:1090
msgid "Profile Secondary Button Text"
msgstr ""
-#: um-config.php:1029
+#: um-config.php:1100
msgid "Profile Associated Role"
msgstr ""
-#: um-config.php:1030
+#: um-config.php:1101
msgid "Normally, you can leave this to default as this restricts the profile per specified role only"
msgstr ""
-#: um-config.php:1039
+#: um-config.php:1110
msgid "Profile Base Background Color"
msgstr ""
-#: um-config.php:1048
+#: um-config.php:1119
msgid "Profile Header Background Color"
msgstr ""
-#: um-config.php:1066
+#: um-config.php:1137
msgid "Whether to have rounded profile images, rounded corners, or none for the profile photo"
msgstr ""
-#: um-config.php:1078
+#: um-config.php:1149
msgid "Profile Cover Photos"
msgstr ""
-#: um-config.php:1087
+#: um-config.php:1158
msgid "Profile Cover Ratio"
msgstr ""
-#: um-config.php:1088
+#: um-config.php:1159
msgid "Choose global ratio for cover photos of profiles"
msgstr ""
-#: um-config.php:1102
+#: um-config.php:1173
msgid "Profile Header Meta Text Color"
msgstr ""
-#: um-config.php:1111
+#: um-config.php:1182
msgid "Profile Header Link Color"
msgstr ""
-#: um-config.php:1120
+#: um-config.php:1191
msgid "Profile Header Link Hover"
msgstr ""
-#: um-config.php:1129
+#: um-config.php:1200
msgid "Profile Header Icon Link Color"
msgstr ""
-#: um-config.php:1138
+#: um-config.php:1209
msgid "Profile Header Icon Link Hover"
msgstr ""
-#: um-config.php:1157
+#: um-config.php:1217
+msgid "Show display name in profile header"
+msgstr ""
+
+#: um-config.php:1225
+msgid "Show user description in header"
+msgstr ""
+
+#: um-config.php:1244
msgid "Registration Default Template"
msgstr ""
-#: um-config.php:1158
+#: um-config.php:1245
msgid "This will be the default template to output registration"
msgstr ""
-#: um-config.php:1166
+#: um-config.php:1253
msgid "Registration Maximum Width"
msgstr ""
-#: um-config.php:1175
+#: um-config.php:1262
msgid "Registration Shortcode Alignment"
msgstr ""
-#: um-config.php:1189
+#: um-config.php:1276
msgid "Registration Field Icons"
msgstr ""
-#: um-config.php:1190
+#: um-config.php:1277
msgid "This controls the display of field icons in the registration form"
msgstr ""
-#: um-config.php:1202
+#: um-config.php:1289
msgid "Registration Primary Button Text"
msgstr ""
-#: um-config.php:1210
+#: um-config.php:1297
msgid "Registration Secondary Button"
msgstr ""
-#: um-config.php:1218
+#: um-config.php:1305
msgid "Registration Secondary Button Text"
msgstr ""
-#: um-config.php:1228
+#: um-config.php:1315
msgid "Registration Default Role"
msgstr ""
-#: um-config.php:1229
+#: um-config.php:1316
msgid "This will be the default role assigned to users registering thru registration form"
msgstr ""
-#: um-config.php:1248
+#: um-config.php:1335
msgid "Login Default Template"
msgstr ""
-#: um-config.php:1249
+#: um-config.php:1336
msgid "This will be the default template to output login"
msgstr ""
-#: um-config.php:1257
+#: um-config.php:1344
msgid "Login Maximum Width"
msgstr ""
-#: um-config.php:1266
+#: um-config.php:1353
msgid "Login Shortcode Alignment"
msgstr ""
-#: um-config.php:1280
+#: um-config.php:1367
msgid "Login Field Icons"
msgstr ""
-#: um-config.php:1281
+#: um-config.php:1368
msgid "This controls the display of field icons in the login form"
msgstr ""
-#: um-config.php:1293
+#: um-config.php:1380
msgid "Login Primary Button Text"
msgstr ""
-#: um-config.php:1301
+#: um-config.php:1388
msgid "Login Secondary Button"
msgstr ""
-#: um-config.php:1309
+#: um-config.php:1396
msgid "Login Secondary Button Text"
msgstr ""
-#: um-config.php:1329
+#: um-config.php:1416
msgid "Members Default Template"
msgstr ""
-#: um-config.php:1330
+#: um-config.php:1417
msgid "This will be the default template to output member directory"
msgstr ""
-#: um-config.php:1346
+#: um-config.php:1433
msgid "Advanced"
msgstr ""
-#: um-config.php:1352
+#: um-config.php:1439
msgid "Show load time in admin footer"
msgstr ""
-#: um-config.php:1354
+#: um-config.php:1441
msgid "Display the number of queries and load time in backend"
msgstr ""
-#: um-config.php:1360
+#: um-config.php:1447
msgid "Show load time in frontend"
msgstr ""
-#: um-config.php:1362
+#: um-config.php:1449
msgid "Display the number of queries and load time in frontend"
msgstr ""
diff --git a/templates/modal/um_view_photo.php b/templates/modal/um_view_photo.php
new file mode 100644
index 00000000..2c73865b
--- /dev/null
+++ b/templates/modal/um_view_photo.php
@@ -0,0 +1,13 @@
+
\ No newline at end of file
diff --git a/um-config.php b/um-config.php
index 81e4fdf6..b6a12994 100644
--- a/um-config.php
+++ b/um-config.php
@@ -173,12 +173,21 @@ $this->sections[] = array(
'title' => __( 'Members Directory'),
'fields' => array(
+ array(
+ 'id' => 'members_page',
+ 'type' => 'switch',
+ 'title' => __( 'Members page status' ),
+ 'default' => 1,
+ 'desc' => 'Control whether to enable or disable the core Members directory page',
+ ),
+
array(
'id' => 'directory_header',
'type' => 'text',
'title' => __( 'General Results Text' ),
'default' => um_get_metadefault('directory_header'),
'desc' => __('Customize the search result text . e.g. Found 3,000 Members. Leave this blank to not show result text','ultimatemember'),
+ 'required' => array( 'members_page', '=', '1' ),
),
array(
@@ -187,6 +196,7 @@ $this->sections[] = array(
'title' => __( 'Custom text If no users were found' ),
'default' => um_get_metadefault('directory_no_users'),
'desc' => __('This is the text that is displayed if no users are found during a search','ultimatemember'),
+ 'required' => array( 'members_page', '=', '1' ),
),
)
@@ -872,7 +882,7 @@ $this->sections[] = array(
'title' => __('Default Profile Picture', 'ultimatemember'),
'desc' => __('You can change the default profile picture globally here. Please make sure photo is 300x300px.', 'ultimatemember'),
'default' => array(
- 'url' => um_url . 'assets/img/default_avatar.png',
+ 'url' => um_url . 'assets/img/default_avatar.jpg',
),
),