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;
- Dashboard Overview + Dashboard Overview Analytics
@@ -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'; + + } + ?> + +
+ +
+ Approve  |  Reject +
+ +
+ + + + +
+ + +
+ +
\ 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:') . '

' . + '' +) ); + +$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:') . '

' . + ''; + +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' ); +?> +
+ + + +
+

+ +
+

+
+ +

+ + +

+
    +
  • +
  • + ' . __( 'Attribute all content to:' ) . ' '; + wp_dropdown_users( array( 'name' => 'reassign_user', 'exclude' => array_diff( $userids, array($current_user->ID) ) ) ); ?>
  • +
+ + + + +

+ +
+
+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; ?> + + +
+ +
+ + +
+

+ + + + +' . __('Search results for “%s”') . '', esc_html( $usersearch ) ); ?> +

+ +views(); ?> + +
+ +search_box( __( 'Search Users' ), 'user' ); ?> + +display(); ?> +
+ +
+
+
'); - + 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 @@ -
+
- -
- - -
- - 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 ); - - ?> + +
+ -
+
- + + +
+ + + +
-
- -
+
@@ -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 = '
'.$title.'
'; + $value = '
'.$title.'
'; } 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', ), ),