Update 1.2.2

This commit is contained in:
ultimatemember
2015-04-15 16:59:27 +02:00
parent 5e281fbeaf
commit 7b9b59ea8d
32 changed files with 1375 additions and 135 deletions
+4
View File
@@ -107,6 +107,10 @@ body.um-admin-modal-open {
- Form Inputs
*/
.um-admin-metabox h3 {
padding-left: 0 !important;
}
.um-admin-metabox h4 {
font-size: 14px;
background: #f5f5f5;
+11
View File
@@ -1,5 +1,16 @@
<?php
/***
*** @when role is saved
***/
function um_admin_delete_role_cache($post_id, $post){
if(get_post_type( $post_id ) == 'um_role'){
$slug = $post->post_name;
delete_option("um_cached_role_{$slug}");
}
}
add_action('save_post', 'um_admin_delete_role_cache', 1111, 2);
/***
*** @delete users need confirmation
***/
+2
View File
@@ -73,6 +73,8 @@
</span>
</p><div class="um-admin-clear"></div>
<?php do_action('um_admin_extend_directory_options_general', $this); ?>
</div>
<div class="um-admin-clear"></div>
+2 -2
View File
@@ -49,12 +49,12 @@
'desc' => 'Alert users to important information or let them know about promotions or new features using conditional notices.',
);
/*$free['online-users'] = array(
$free['online-users'] = array(
'url' => 'https://ultimatemember.com/extensions/online-users/',
'image' => 'https://ultimatemember.com/wp-content/uploads/2015/04/onlineuser1-01-copy.png',
'name' => 'Online Users',
'desc' => 'Adds online users widget to your site and allow you to show the online users anywhere with a simple shortcode, and also see user online status.'
);*/
);
$free['google-recaptcha'] = array(
'url' => 'https://ultimatemember.com/extensions/google-recaptcha/',
+33
View File
@@ -1,3 +1,36 @@
.um-popup-overlay {
background: rgba(0,0,0, 0.7);
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 1564;
}
.um-popup {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
position: fixed;
left: 50%;
top: 10%;
margin-left: -250px;
width: 500px;
background: #fff;
box-shadow: 0 1px 3px #111;
z-index: 1565;
box-sizing: border-box;
overflow: auto;
color: #888;
padding: 10px 0;
}
.um-popup.loading {
background: #fff url(../img/loading.gif) no-repeat center;
min-height: 100px;
}
/*
- Overlay
*/
File diff suppressed because it is too large Load Diff
+10 -5
View File
@@ -194,6 +194,13 @@ p.um-notice.err {
background: #C74A4A;
}
p.um-notice.warning {
background: #f9f9d1;
color: #666;
border: 1px solid #efe4a2;
padding: 8px 15px !important;
}
/*
- Errors
*/
@@ -391,11 +398,9 @@ p.um-notice.err {
outline: none !important;
}
.um-form input[type=text]:focus ,
.um-form input[type=text]:focus,
.um-form input[type=password]:focus,
.um-form textarea:focus {
border-color: #ccc;
background-color: #fff !important;
box-shadow: none !important;
outline: none !important;
}
@@ -708,9 +713,9 @@ div.um-photo img {max-height: 300px; max-width: 100%;}
span.um-req {
margin: 0 0 0 8px;
font-size: xx-large;
font-size: x-large;
display: inline-block;
font-weight: bold;
position: relative;
top: 10px;
top: 8px;
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+20
View File
@@ -148,6 +148,16 @@ print "
";
}
if ( $form_border_hover ) {
print "
.um-$form_id.um .um-form input[type=text]:focus,
.um-$form_id.um .um-form input[type=password]:focus,
.um-$form_id.um .um-form textarea:focus {
border: $form_border_hover !important;
}
";
}
if ( $form_bg_color ) {
print "
.um-$form_id.um .um-form input[type=text],
@@ -161,6 +171,16 @@ print "
";
}
if ( $form_bg_color_focus ) {
print "
.um-$form_id.um .um-form input[type=text]:focus,
.um-$form_id.um .um-form input[type=password]:focus,
.um-$form_id.um .um-form textarea:focus {
background-color: $form_bg_color_focus;
}
";
}
if ( $form_placeholder ) {
print "
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

+32
View File
@@ -750,4 +750,36 @@ function um_modal_size( aclass ) {
function um_modal_add_attr( id, value ) {
jQuery('.um-modal:visible').data( id, value );
}
function prepare_Modal() {
if ( jQuery('.um-popup-overlay').length == 0 ) {
jQuery('body').append('<div class="um-popup-overlay"></div>');
jQuery('body').append('<div class="um-popup"></div>');
jQuery('.um-popup').addClass('loading');
}
}
function remove_Modal() {
if ( jQuery('.um-popup-overlay').length ) {
jQuery('.um-popup').empty().remove();
jQuery('.um-popup-overlay').empty().remove();
}
}
function show_Modal( contents ) {
if ( jQuery('.um-popup-overlay').length ) {
jQuery('.um-popup').removeClass('loading').html( contents );
jQuery('.um-popup').mCustomScrollbar({
theme:"dark-3"
});
}
}
function responsive_Modal() {
if ( jQuery('.um-popup-overlay').length ) {
jQuery('.um-popup').css({
'max-height': ( 80 / 100 ) * jQuery(window).height() + 'px'
});
}
}
+4
View File
@@ -1,5 +1,9 @@
jQuery(document).ready(function() {
jQuery(document).on('click', '.um-popup-overlay', function(){
remove_Modal();
});
jQuery(document).on('click', '.um-modal-overlay, a[data-action="um_remove_modal"]', function(){
um_remove_modal();
});
+2 -2
View File
@@ -30,7 +30,7 @@ jQuery(document).ready(function() {
jQuery('.um-tip-e').tipsy({gravity: 'e', opacity: 1, live: 'a.live', offset: 3 });
jQuery('.um-tip-s').tipsy({gravity: 's', opacity: 1, live: 'a.live', offset: 3 });
jQuery('.um-field input[type=radio]').change(function(){
jQuery(document).on('change', '.um-field input[type=radio]', function(){
var field = jQuery(this).parents('.um-field');
var this_field = jQuery(this).parents('label');
field.find('.um-field-radio').removeClass('active');
@@ -39,7 +39,7 @@ jQuery(document).ready(function() {
this_field.find('i').removeClass().addClass('um-icon-android-radio-button-on');
});
jQuery('.um-field input[type=checkbox]').change(function(){
jQuery(document).on('change', '.um-field input[type=checkbox]', function(){
var field = jQuery(this).parents('.um-field');
var this_field = jQuery(this).parents('label');
File diff suppressed because one or more lines are too long
+10 -2
View File
File diff suppressed because one or more lines are too long
+8 -2
View File
@@ -17,7 +17,7 @@
}
if ( isset($_REQUEST['uid'])){
$uid = $_REQUEST['uid'];
$uid = $_REQUEST['uid'];
}
switch( $_REQUEST['um_action'] ) {
@@ -26,7 +26,7 @@
$uid = ( isset( $_REQUEST['uid'] ) ) ? $_REQUEST['uid'] : 0;
do_action('um_action_user_request_hook', $_REQUEST['um_action'], $uid);
break;
case 'edit':
$ultimatemember->fields->editing = true;
if ( !um_can_edit_my_profile() ) {
@@ -35,6 +35,12 @@
}
break;
case 'um_switch_user':
if ( !current_user_can('delete_users') ) return;
$ultimatemember->user->auto_login( $_REQUEST['uid'] );
exit( wp_redirect( $ultimatemember->permalinks->get_current_url( true ) ) );
break;
case 'um_reject_membership':
um_fetch_user( $uid );
$ultimatemember->user->reject();
+5 -1
View File
@@ -156,7 +156,11 @@
foreach( $fields as $key => $array ) {
if ( isset( $array['type'] ) && $array['type'] == 'checkbox' && isset( $array['required'] ) && $array['required'] == 1 && !isset( $args[$key] ) ) {
$ultimatemember->form->add_error($key, sprintf(__('You must check %s.','ultimatemember'), $array['title'] ) );
$ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimatemember'), $array['title'] ) );
}
if ( isset( $array['type'] ) && $array['type'] == 'radio' && isset( $array['required'] ) && $array['required'] == 1 && !isset( $args[$key] ) ) {
$ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimatemember'), $array['title'] ) );
}
if ( $key == 'role_select' || $key == 'role_radio' ) {
+17 -1
View File
@@ -32,7 +32,7 @@
exit( wp_redirect( $redirect ) );
}
}
// Register screen
if ( isset( $pagenow ) && $pagenow == 'wp-login.php' && !is_user_logged_in() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'register' ) {
@@ -52,6 +52,22 @@
exit( wp_redirect( $redirect ) );
}
}
// Lost password page
if ( isset( $pagenow ) && $pagenow == 'wp-login.php' && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'lostpassword' ) {
exit( wp_redirect( um_get_core_page('password-reset') ) );
}
// Prevention for logged in user
if ( isset( $pagenow ) && $pagenow == 'wp-login.php' && is_user_logged_in() ) {
if ( !um_user('can_access_wpadmin') ) {
exit( wp_redirect( home_url() ) );
} else {
exit( wp_redirect( admin_url() ) );
}
}
}
+23 -6
View File
@@ -30,6 +30,17 @@ class UM_Builtin {
return false;
}
/***
*** @get a field
***/
function get_a_field( $field ) {
$fields = $this->all_user_fields;
if ( isset( $fields[$field] ) ) {
return $fields[$field];
}
return '';
}
/***
*** @get specific fields
***/
@@ -576,7 +587,7 @@ class UM_Builtin {
),
'country' => array(
'title' => __('Countries','ultimatemember'),
'title' => __('Country','ultimatemember'),
'metakey' => 'country',
'type' => 'select',
'label' => __('Country','ultimatemember'),
@@ -929,16 +940,20 @@ class UM_Builtin {
/***
*** @may be used to show a dropdown, or source for user meta
***/
function all_user_fields( $exclude_types = null ) {
function all_user_fields( $exclude_types = null, $show_all = false ) {
global $ultimatemember;
$fields_without_metakey = array('block','shortcode','spacing','divider','group');
$fields_without_metakey = apply_filters('um_fields_without_metakey', $fields_without_metakey );
$this->fields_dropdown = array('image','file','password','textarea','rating');
$this->fields_dropdown = array_merge( $this->fields_dropdown, $fields_without_metakey );
if ( !$show_all ) {
$this->fields_dropdown = array('image','file','password','textarea','rating');
$this->fields_dropdown = array_merge( $this->fields_dropdown, $fields_without_metakey );
} else {
$this->fields_dropdown = $fields_without_metakey;
}
$custom = $this->custom_fields;
$predefined = $this->predefined_fields;
@@ -968,7 +983,9 @@ class UM_Builtin {
unset( $all[$k] );
}
if ( isset( $arr['account_only'] ) || isset( $arr['private_use'] ) ) {
unset( $all[$k] );
if ( !$show_all ) {
unset( $all[$k] );
}
}
if ( isset( $arr['type'] ) && in_array( $arr['type'], $this->fields_dropdown ) ) {
unset( $all[$k] );
+15
View File
@@ -136,6 +136,8 @@ class UM_Enqueue {
$this->load_datetimepicker();
$this->load_raty();
$this->load_scrollbar();
$this->load_imagecrop();
@@ -285,6 +287,19 @@ class UM_Enqueue {
}
/***
*** @Load scrollbar
***/
function load_scrollbar(){
wp_register_script('um_scrollbar', um_url . 'assets/js/um-scrollbar.js' );
wp_enqueue_script('um_scrollbar');
wp_register_style('um_scrollbar', um_url . 'assets/css/um-scrollbar.css' );
wp_enqueue_style('um_scrollbar');
}
/***
*** @Load rating
***/
+20 -5
View File
@@ -299,10 +299,12 @@ class UM_Fields {
if ( isset( $data['help'] ) && !empty( $data['help'] ) && $this->viewing == false && !strstr($key, 'confirm_user_pass') ) {
if ( !$ultimatemember->mobile->isMobile() ) {
$output .= '<span class="um-tip um-tip-w" title="'.$data['help'].'"><i class="um-icon-help-circled"></i></span>';
if ( !isset( $this->disable_tooltips ) ) {
$output .= '<span class="um-tip um-tip-w" title="'.$data['help'].'"><i class="um-icon-help-circled"></i></span>';
}
}
if ( $ultimatemember->mobile->isMobile() ) {
if ( $ultimatemember->mobile->isMobile() || isset( $this->disable_tooltips ) ) {
$output .= '<span class="um-tip-text">'. $data['help'] . '</span>';
}
@@ -339,7 +341,7 @@ class UM_Fields {
$classes .= 'um-timepicker ';
}
if ( isset($data['icon']) && $data['icon'] && $this->field_icons == 'field' ) {
if ( isset($data['icon']) && $data['icon'] && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
$classes .= 'um-iconed';
}
@@ -514,6 +516,19 @@ class UM_Fields {
return '';
}
/***
*** @Get Field Title
***/
function get_field_title( $key ) {
global $ultimatemember;
$fields = $ultimatemember->builtin->all_user_fields;
if ( isset( $fields[$key]['title'] ) )
return $fields[$key]['title'];
if ( isset( $fields[$key]['label'] ) )
return $fields[$key]['label'];
return __('Custom Field','ultimatemember');
}
/***
*** @Get form fields
***/
@@ -534,7 +549,7 @@ class UM_Fields {
if ( isset( $fields ) && is_array( $fields ) && isset( $fields[$key] ) ) {
$array = $fields[$key];
} else {
$array = $ultimatemember->builtin->predefined_fields[$key];
$array = (isset( $ultimatemember->builtin->predefined_fields[$key] ) ) ? $ultimatemember->builtin->predefined_fields[$key] : $ultimatemember->builtin->all_user_fields[$key];
}
$array['classes'] = null;
@@ -1069,7 +1084,7 @@ class UM_Fields {
$output .= '<div class="um-field-area">';
if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
if ( isset($icon) && $icon && isset($this->field_icons) && $this->field_icons == 'field' ) {
$output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
+4
View File
@@ -60,6 +60,10 @@
}
if ( current_user_can('delete_users') ) {
$actions['um_switch_user'] = array( 'label' => __('Login as this user','ultimatemember') );
}
um_fetch_user( um_profile_id() );
return $actions;
+8
View File
@@ -207,6 +207,10 @@ class UM_Query {
function role_data( $role_slug ) {
global $wpdb, $ultimatemember;
if ( get_option("um_cached_role_{$role_slug}") ) {
return get_option("um_cached_role_{$role_slug}");
}
if ($role_slug == 'admin' || $role_slug == 'member'){
$try = $this->find_post_id('um_role','_um_core',$role_slug);
if ( isset( $try ) ){
@@ -235,6 +239,10 @@ class UM_Query {
$array = $ultimatemember->setup->get_initial_permissions( $role_slug );
}
if ( !get_option("um_cached_role_{$role_slug}") ) {
update_option("um_cached_role_{$role_slug}", $array );
}
return $array;
}
+1 -3
View File
@@ -59,9 +59,7 @@ class UM_Rewrite {
flush_rewrite_rules( true );
update_option('um_flush_rules', true);
}
flush_rewrite_rules( true );
}
}
+4
View File
@@ -62,7 +62,9 @@ class UM_Setup {
'_um_secondary_btn_hover',
'_um_secondary_btn_text',
'_um_form_border',
'_um_form_border_hover',
'_um_form_bg_color',
'_um_form_bg_color_focus',
'_um_form_placeholder',
'_um_form_icon_color',
'_um_form_asterisk_color',
@@ -82,8 +84,10 @@ class UM_Setup {
'_um_form_icon_color' => '#aaa',
'_um_form_asterisk_color' => '#aaa',
'_um_form_bg_color' => '#fff',
'_um_form_bg_color_focus' => '#fff',
'_um_form_placeholder' => '#aaa',
'_um_form_border' => '2px solid #ddd',
'_um_form_border_hover' => '2px solid #bbb',
'_um_primary_btn_color' => '#3ba1da',
'_um_primary_btn_hover' => '#44b0ec',
'_um_primary_btn_text' => '#fff',
+2 -1
View File
@@ -647,7 +647,8 @@ function um_reset_user() {
***/
function um_edit_profile_url(){
global $ultimatemember;
$url = remove_query_arg('profiletab');
$url = um_get_core_page('user');
$url = remove_query_arg('profiletab', $url);
$url = remove_query_arg('subnav', $url);
$url = add_query_arg('profiletab', 'main',$url);
$url = add_query_arg('um_action','edit', $url);
+1 -1
View File
@@ -3,7 +3,7 @@
Plugin Name: Ultimate Member
Plugin URI: http://ultimatemember.com/
Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
Version: 1.1.6
Version: 1.2.2
Author: Ultimate Member
Author URI: http://ultimatemember.com/
*/
+40 -98
View File
@@ -3,11 +3,11 @@ Author URI: https://ultimatemember.com/
Plugin URI: https://ultimatemember.com/
Contributors: ultimatemember
Donate link:
Tags: access control, author, authors, author profile, comments, community, communities, conditional fields, conditional logic, conditional menus, content protection, custom fields, file uploads, form builder, front-end login, front-end registration, hide wp-admin, login, login page, logged-in users, mandrill, member, members, membership, member directory, profile, profiles, profile builder, registration, restriction, restrict content, role creation, role menus, search filters, sign in, sign up, social network, star ratings, toolbar, user, users, user fields, user profile, user-profile, user profiles, user roles
Tags: access control, author, authors, author profile, comments, community, communities, conditional fields, conditional logic, conditional menus, content protection, custom fields, file uploads, form builder, front-end login, front-end registration, gravatar, hide wp-admin, login, login page, logged-in users, mandrill, member, members, membership, member directory, online users, profile, profiles, profile builder, registration, restriction, restrict content, role creation, role menus, search filters, sign in, sign up, social network, star ratings, toolbar, user, users, user fields, user profile, user-profile, user profiles, user roles
Requires at least: 4.1
Tested up to: 4.1.1
Stable Tag: 1.1.6
Stable Tag: 1.2.2
License: GNU Version 2 or Any Later Version
@@ -15,13 +15,9 @@ The easiest way to create powerful online communities and beautiful user profile
== Description ==
Ultimate Member is a powerful plugin that allows you to add beautiful user profiles to your site and create advanced online communities. The plugin enables users to sign up and become members of your site all from the front-end. With a focus on flexibility and simplicity creating a community and membership site with WordPress has never been so easy.
Ultimate Member is a powerful and flexible plugin that makes it a breeze for users to sign-up and become members. The plugin allows you to add beautiful user profiles to your site and is perfect for creating advanced online communities. Lightweight and highly extendible, Ultimate Member will enable you to create almost any type of site where users can join and become members with absolute ease.
**Check out all of the plugin features on our [Live Demo](https://ultimatemember.com/).**
**Get support by posting in our [community forum](https://ultimatemember.com/forums/).**
Features of the plugin include:
= Features of the plugin include: =
* Front-end user registration
* Front-end user login
@@ -43,111 +39,47 @@ Features of the plugin include:
* Mandrill compatibility
* Multi language support
**Paid Extensions**
Read about all of the plugin's features at [Ultimate Member](https://ultimatemember.com)
You can extend the power of Ultimate Member with one of our premium extensions:
= Paid Extensions =
* [Real-time Notifications](https://ultimatemember.com/extensions/real-time-notifications/)
* [Social Login](https://ultimatemember.com/extensions/social-login/)
* [bbPress](https://ultimatemember.com/extensions/bbpress/)
* [MailChimp](https://ultimatemember.com/extensions/mailchimp/)
* [User Reviews](https://ultimatemember.com/extensions/user-reviews/)
* [myCRED](https://ultimatemember.com/extensions/mycred/)
* [Notices](https://ultimatemember.com/extensions/notices/)
Ultimate Member has a range of extensions that allow you to extend the power of the plugin
**Free Extensions**
* [Real-time Notifications](https://ultimatemember.com/extensions/real-time-notifications/) - Add a notifications system to your site so users can receive real-time notifications
* [Social Login](https://ultimatemember.com/extensions/social-login/) - Let users register & login to your site via Facebook, Twitter, G+, LinkedIn, Instagram and Vkontakte (VK.com)
* [bbPress](https://ultimatemember.com/extensions/bbpress/) - With the bbPress extension you can beautifully integrate Ultimate Member with bbPress
* [MailChimp](https://ultimatemember.com/extensions/mailchimp/) - Allow users to subscribe to your MailChimp lists when they signup on your site and sync user meta to MailChimp
* [User Reviews](https://ultimatemember.com/extensions/user-reviews/) - Allow users to rate & review each other using a 5 star rate/review system
* [myCRED](https://ultimatemember.com/extensions/mycred/) - With the myCRED extension you can integrate Ultimate Member with the popular myCRED points management plugin
* [Notices](https://ultimatemember.com/extensions/notices/) - Alert users to important information using conditional notices
* [Profile Completeness](https://ultimatemember.com/extensions/profile-completeness/) - Encourage or force users to complete their profiles with the profile completeness extension
* [Google reCAPTCHA](https://ultimatemember.com/extensions/google-recaptcha/)
= Free Extensions =
**Front-end registration**
* [Google reCAPTCHA](https://ultimatemember.com/extensions/google-recaptcha/) - Stop bots on your registration & login forms with Google reCAPTCHA
* [Online Users](https://ultimatemember.com/extensions/online-users/) - Display what users are online with this extension
Ultimate Member allows visitors to your site to register and become members. You can decide whether users can register automatically; require them to active account via email link or you an admin can manually approve/reject user registrations after reviewing details.
**Front-end login**
Allow users to login directly from your site and avoid the ugly WordPress login page. You can decide where users are redirected to after logging in and set custom redirects depending on the user's role.
**User profiles**
Ultimate Member gives every user of your site a beautiful user profile where they can edit their information. You can create unique profiles for each user role and decide what information to show on the profiles.
**Custom form fields**
With our custom profile fields, Ultimate Member allows you to gather any information you like from user's when they register or when they fill in their profiles. The plugin comes with a full range of field types including: text box, textarea, dropdown, multi-select, radio, checkbox, url, password, image upload, file upload, date picker, time picker and star ratings.
**Conditional logic for form fields**
You can create advanced register, login and profile forms by applying conditional logic to any fields you like. This allows you to show or hide fields depending on a users actions when they fill in a form.
**Drag and drop form builder**
Our advanced drag and drop form builder makes it extremely easy to build unique registration, login and profile forms for your site. The form builder allows for up to three columns and multiple rows which enables you to create distinct sections to the forms.
**User account page**
The plugin provides users with an account page where users can change their account settings. The account page allows users to control their privacy settings, change their password and delete their own account. Admins can alter what shows on the account page depending on the amount of control you want users to have over their accounts.
**Custom user roles**
With Ultimate Member you can create your own user roles and apply different controls and permissions to each user role. This flexibility is perfect for site's that have multiple user types.
**Member directories**
The plugin allows you to create multiple member directories to allow people to easily search and find other users. The member directories are very flexible and you can control what user roles show in a directory; the order users appear in the directory; what search filters appear; what user roles can use the search filters and much more.
**Custom e-mail templates**
The plugin provides a range of customizable text only email templates which are triggered depending on certain events (e.g welcome email, account activation, account deleted etc). Each email type can be turned on/off. The plugin also offers a range of optional admin notification emails so you can find out when a new user registers or if new user needs reviewed.
**Content restriction**
With Ultimate Member you can restrict content on a global or per page/post basis. You can restrict pages/posts so everyone can see the page/post; only logged out users can see the page/post or only logged in users can see the page/post (you can also restrict it to certain user roles). You can also set redirect urls for when people who are not allowed to access the page/post
**Conditional menus**
The plugin provides a range of customizable text only email templates which are triggered depending on certain events (e.g welcome email, account activation, account deleted etc). Each email type can be turned on/off. The plugin also offers a range of optional admin notification emails so you can find out when a new user registers or if new user needs reviewed.
**Show author posts & comments on user profiles**
The plugin provides a fully flexible menu and tab system on user profiles that allows you to optionally display a users posts and comments on their profile. With this feature you can put the focus on a users posts by making author posts the default tab when viewing a user profile.
**Mobile adaptive & responsive**
Ultimate Member has been built with a focus on mobile and is fully mobile adaptive and responsive. The plugin has completely separate designs for mobiles, tablets and larger screens which means the plugin will look and function great on all devices.
**SEO optimized**
The plugin is very SEO friendly and provides customizable dynamic page titles and meta descriptions for every user of your site.
**Developer friendly**
Ultimate Member is developer friendly and includes hundreds of actions and filters for developers to customize the plugin. If you are wanting to integrate with Ultimate Member you can view [our codex](https://ultimatemember.com/codex/).
**Future plans for Ultimate Member**
We have big plans for Ultimate Member and we will be working extremely hard to create the best community plugin ever. In the near future we will be releasing extensions on our site that will allow you to add extra features and extend the functionality of Ultimate Member. If you'd like to find out when the first extensions will be ready you can follow us on [Twitter](https://twitter.com/umplugin), like us on [Facebook](https://www.facebook.com/pages/Ultimate-Member/1413909622233054) or view our [Trello roadmap](https://trello.com/b/30quaczv/ultimate-member).
**Development**
= Development =
If you're a developer and would like to contribute to the source code of the plugin you can do so via our [GitHub Repository](https://github.com/ultimatemember/ultimatemember).
**Support**
= Support =
Looking for help with Ultimate Member? Join our [community forum](https://ultimatemember.com/forums/) to ask questions and get help from other users as well as the Ultimate Member team. This is also the place to report bugs and plugin/theme compatibility issues. Please note we can only provide basic support to free users of this plugin and much like WordPress itself we rely on the Ultimate Member community to help each other out. You can read about our official support policy [here](https://ultimatemember.com/support-policy/).
Looking for help with Ultimate Member? Join our [community forum](https://ultimatemember.com/forums/) to ask questions and get help from other users as well as the Ultimate Member team. This is also the place to report bugs and plugin/theme compatibility issues. As well as providing basic free support we also provide paid priority support for users who want faster and more in-depth support.
**Languages**
= Languages =
Ultimate Member has been translated into the following languages:
* English (US)
* Español
* Français
* Italiano
* Deutsch
* Nederlands
* Suomi
* Polski
* Türkçe
* Spanish - Español
* French - Français
* Italian - Italiano
* German - Deutsch
* Dutch - Nederlands
* Finnish - Suomi
* Polish - Polski
* Turkish - Türkçe
* العربية
== Installation ==
@@ -207,6 +139,16 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
== Changelog ==
= 1.2.2: April 15, 2015 =
* New: added caching to user roles and user permissions to save queries
* New: added user switching feature to allow super admins to sign in as another user easily (without password)
* New: added new modal css/js for future support
* New: added custom scrollbar support for future development use
* Tweak: added form elements focus css
* Fixed: bug with required radio button
* Fixed: prevent access for backend login/register/lost password for a logged in user
= 1.1.6: April 7, 2015 =
* Fixed: major bug with datepicker (Update recommended)
+2
View File
@@ -2,6 +2,8 @@
<div class="um-form">
<?php do_action('um_profile_before_header', $args ); ?>
<?php if ( um_is_on_edit_profile() ) { ?><form method="post" action=""><?php } ?>
<?php do_action('um_profile_header_cover_area', $args ); ?>
+2 -2
View File
@@ -20,6 +20,6 @@
<?php } else { ?>
<?php ( um_is_myprofile() ) ? _e('You have not made any comments.','ultimatemember') : _e('This user has not made any comments.','ultimatemember'); ?>
<div class="um-profile-note"><span><?php echo ( um_profile_id() == get_current_user_id() ) ? __('You have not made any comments.','ultimatemember') : __('This user has not made any comments.','ultimatemember'); ?></span></div>
<?php } ?>
+2 -2
View File
@@ -20,6 +20,6 @@
<?php } else { ?>
<?php ( um_is_myprofile() ) ? _e('You have not created any posts.','ultimatemember') : _e('This user has not created any posts.','ultimatemember'); ?>
<div class="um-profile-note"><span><?php echo ( um_profile_id() == get_current_user_id() ) ? __('You have not created any posts.','ultimatemember') : __('This user has not created any posts.','ultimatemember'); ?></span></div>
<?php } wp_reset_postdata(); ?>
+18 -1
View File
@@ -1077,11 +1077,19 @@ $this->sections[] = array(
array(
'id' => 'form_border',
'type' => 'text',
'title' => __( 'Field Border Style','ultimatemember' ),
'title' => __( 'Field Border','ultimatemember' ),
'default' => um_get_metadefault('form_border'),
'desc' => __('The default border-style for input/fields in UM forms','ultimatemember'),
),
array(
'id' => 'form_border_hover',
'type' => 'text',
'title' => __( 'Field Border on Focus','ultimatemember' ),
'default' => um_get_metadefault('form_border_hover'),
'desc' => __('The default border style for fields on hover state','ultimatemember'),
),
array(
'id' => 'form_bg_color',
'type' => 'color',
@@ -1091,6 +1099,15 @@ $this->sections[] = array(
'transparent' => false,
),
array(
'id' => 'form_bg_color_focus',
'type' => 'color',
'default' => um_get_metadefault('form_bg_color_focus'),
'title' => __( 'Field Background Color on Focus','ultimatemember' ),
'validate' => 'color',
'transparent' => false,
),
array(
'id' => 'form_text_color',
'type' => 'color',