Ultimate Member – User Profile & Membership Plugin - Version 1.0.25

Version Description

Download this release

Release Info

Developer ultimatemember
Plugin Icon 128x128 Ultimate Member – User Profile & Membership Plugin
Version 1.0.25
Comparing to
See all releases

Code changes from version 1.0.24 to 1.0.25

admin/core/um-admin-metabox.php CHANGED
@@ -820,7 +820,7 @@ class UM_Admin_Metabox {
820
  case '_force_good_pass':
821
  ?>
822
 
823
- <p><label for="_force_good_pass">Force strong password? <?php $this->tooltip( __('Turn on to force users to create a strong password (must include 1 number and 1 uppercase character). If turned on this option is only applied to register forms and not to login forms.','ultimatemember') ); ?></label>
824
  <?php if ( isset( $this->edit_mode_value ) ) $this->ui_on_off('_force_good_pass', $this->edit_mode_value ); else $this->ui_on_off('_force_good_pass', 0 ); ?>
825
  </p>
826
 
820
  case '_force_good_pass':
821
  ?>
822
 
823
+ <p><label for="_force_good_pass">Force strong password? <?php $this->tooltip( __('Turn on to force users to create a strong password (A combination of one lowercase letter, one uppercase letter, and one number). If turned on this option is only applied to register forms and not to login forms.','ultimatemember') ); ?></label>
824
  <?php if ( isset( $this->edit_mode_value ) ) $this->ui_on_off('_force_good_pass', $this->edit_mode_value ); else $this->ui_on_off('_force_good_pass', 0 ); ?>
825
  </p>
826
 
core/lib/mobiledetect/Mobile_Detect.php CHANGED
@@ -1,29 +1,6 @@
1
  <?php
2
- /**
3
- * Mobile Detect Library
4
- * =====================
5
- *
6
- * Motto: "Every business should have a mobile detection script to detect mobile readers"
7
- *
8
- * Mobile_Detect is a lightweight PHP class for detecting mobile devices (including tablets).
9
- * It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.
10
- *
11
- * @author Current authors: Serban Ghita <serbanghita@gmail.com>
12
- * Nick Ilyin <nick.ilyin@gmail.com>
13
- *
14
- * Original author: Victor Stanciu <vic.stanciu@gmail.com>
15
- *
16
- * @license Code and contributions have 'MIT License'
17
- * More details: https://github.com/serbanghita/Mobile-Detect/blob/master/LICENSE.txt
18
- *
19
- * @link Homepage: http://mobiledetect.net
20
- * GitHub Repo: https://github.com/serbanghita/Mobile-Detect
21
- * Google Code: http://code.google.com/p/php-mobile-detect/
22
- * README: https://github.com/serbanghita/Mobile-Detect/blob/master/README.md
23
- * HOWTO: https://github.com/serbanghita/Mobile-Detect/wiki/Code-examples
24
- *
25
- * @version 2.8.11
26
- */
27
 
28
  class Mobile_Detect
29
  {
@@ -1339,3 +1316,5 @@ class Mobile_Detect
1339
  return self::MOBILE_GRADE_C;
1340
  }
1341
  }
 
 
1
  <?php
2
+
3
+ if ( !class_exists('Mobile_Detect') ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
 
5
  class Mobile_Detect
6
  {
1316
  return self::MOBILE_GRADE_C;
1317
  }
1318
  }
1319
+
1320
+ }
core/um-actions-access.php CHANGED
@@ -61,12 +61,16 @@
61
 
62
  $post_id = get_option('woocommerce_shop_page_id');
63
 
 
 
 
 
64
  } else {
65
 
66
  if ( !get_post_type() || !isset($post->ID) ) return;
67
 
68
  }
69
-
70
  if ( !isset( $post_id ) )
71
  $post_id = $post->ID;
72
 
61
 
62
  $post_id = get_option('woocommerce_shop_page_id');
63
 
64
+ } else if ( is_archive() ) {
65
+
66
+ return;
67
+
68
  } else {
69
 
70
  if ( !get_post_type() || !isset($post->ID) ) return;
71
 
72
  }
73
+
74
  if ( !isset( $post_id ) )
75
  $post_id = $post->ID;
76
 
core/um-actions-account.php CHANGED
@@ -87,7 +87,7 @@
87
  }
88
 
89
  if ( !$ultimatemember->validation->strong_pass( $_POST['user_password'] ) ) {
90
- $ultimatemember->form->add_error('user_password', 'Your password must contain at least one capital letter and one number');
91
  $ultimatemember->account->current_tab = 'password';
92
  }
93
 
@@ -228,7 +228,7 @@
228
 
229
  <div class="um-account-meta radius-<?php echo um_get_option('profile_photocorner'); ?> uimob340-show uimob500-show">
230
 
231
- <div class="um-account-meta-img"><a href="<?php echo um_user_profile_url(); ?>"><?php echo um_user('profile_photo', 120); ?></a></div>
232
 
233
  <div class="um-account-name"><a href="<?php echo um_user_profile_url(); ?>"><?php echo um_user('display_name'); ?></a></div>
234
 
@@ -250,15 +250,15 @@
250
 
251
  <div class="um-account-meta radius-<?php echo um_get_option('profile_photocorner'); ?>">
252
 
253
- <div class="um-account-meta-img uimob800-hide"><a href="<?php echo um_user_profile_url(); ?>"><?php echo um_user('profile_photo', 120); ?></a></div>
254
 
255
  <?php if ( $ultimatemember->mobile->isMobile() ) { ?>
256
 
257
- <div class="um-account-meta-img-b uimob800-show" title="<?php echo um_user('display_name'); ?>"><a href="<?php echo um_user_profile_url(); ?>"><?php echo um_user('profile_photo', 120); ?></a></div>
258
 
259
  <?php } else { ?>
260
 
261
- <div class="um-account-meta-img-b uimob800-show um-tip-w" title="<?php echo um_user('display_name'); ?>"><a href="<?php echo um_user_profile_url(); ?>"><?php echo um_user('profile_photo', 120); ?></a></div>
262
 
263
  <?php } ?>
264
 
87
  }
88
 
89
  if ( !$ultimatemember->validation->strong_pass( $_POST['user_password'] ) ) {
90
+ $ultimatemember->form->add_error('user_password', __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimatemember') );
91
  $ultimatemember->account->current_tab = 'password';
92
  }
93
 
228
 
229
  <div class="um-account-meta radius-<?php echo um_get_option('profile_photocorner'); ?> uimob340-show uimob500-show">
230
 
231
+ <div class="um-account-meta-img"><a href="<?php echo um_user_profile_url(); ?>"><?php echo get_avatar( um_user('ID'), 120); ?></a></div>
232
 
233
  <div class="um-account-name"><a href="<?php echo um_user_profile_url(); ?>"><?php echo um_user('display_name'); ?></a></div>
234
 
250
 
251
  <div class="um-account-meta radius-<?php echo um_get_option('profile_photocorner'); ?>">
252
 
253
+ <div class="um-account-meta-img uimob800-hide"><a href="<?php echo um_user_profile_url(); ?>"><?php echo get_avatar( um_user('ID'), 120); ?></a></div>
254
 
255
  <?php if ( $ultimatemember->mobile->isMobile() ) { ?>
256
 
257
+ <div class="um-account-meta-img-b uimob800-show" title="<?php echo um_user('display_name'); ?>"><a href="<?php echo um_user_profile_url(); ?>"><?php echo get_avatar( um_user('ID'), 120); ?></a></div>
258
 
259
  <?php } else { ?>
260
 
261
+ <div class="um-account-meta-img-b uimob800-show um-tip-w" title="<?php echo um_user('display_name'); ?>"><a href="<?php echo um_user_profile_url(); ?>"><?php echo get_avatar( um_user('ID'), 120); ?></a></div>
262
 
263
  <?php } ?>
264
 
core/um-actions-form.php CHANGED
@@ -173,7 +173,7 @@
173
 
174
  if ( isset( $array['force_good_pass'] ) && $array['force_good_pass'] == 1 ) {
175
  if ( !$ultimatemember->validation->strong_pass( $args[$key] ) ) {
176
- $ultimatemember->form->add_error($key, __('Your password must contain at least one capital letter and one number') );
177
  }
178
  }
179
 
173
 
174
  if ( isset( $array['force_good_pass'] ) && $array['force_good_pass'] == 1 ) {
175
  if ( !$ultimatemember->validation->strong_pass( $args[$key] ) ) {
176
+ $ultimatemember->form->add_error($key, __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimatemember') );
177
  }
178
  }
179
 
core/um-actions-members.php CHANGED
@@ -227,7 +227,7 @@
227
  $default_size = str_replace( 'px', '', um_get_option('profile_photosize') );
228
  $corner = um_get_option('profile_photocorner');
229
  ?>
230
- <div class="um-member-photo radius-<?php echo $corner; ?>"><a href="<?php echo um_user_profile_url(); ?>"><?php echo um_user('profile_photo', $default_size ); ?></a></div>
231
  <?php } ?>
232
 
233
  <div class="um-member-card <?php if (!$profile_photo) { echo 'no-photo'; } ?>">
227
  $default_size = str_replace( 'px', '', um_get_option('profile_photosize') );
228
  $corner = um_get_option('profile_photocorner');
229
  ?>
230
+ <div class="um-member-photo radius-<?php echo $corner; ?>"><a href="<?php echo um_user_profile_url(); ?>"><?php echo get_avatar( um_user('ID'), $default_size ); ?></a></div>
231
  <?php } ?>
232
 
233
  <div class="um-member-card <?php if (!$profile_photo) { echo 'no-photo'; } ?>">
core/um-actions-password.php CHANGED
@@ -126,7 +126,7 @@
126
  }
127
 
128
  if ( !$ultimatemember->validation->strong_pass( $args['user_password'] ) ) {
129
- $ultimatemember->form->add_error('user_password', 'Your password must contain at least one capital letter and one number');
130
  }
131
 
132
  if ( !$args['confirm_user_password'] ) {
126
  }
127
 
128
  if ( !$ultimatemember->validation->strong_pass( $args['user_password'] ) ) {
129
+ $ultimatemember->form->add_error('user_password', __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimatemember') );
130
  }
131
 
132
  if ( !$args['confirm_user_password'] ) {
core/um-actions-profile.php CHANGED
@@ -244,7 +244,7 @@
244
 
245
  <div class="um-profile-photo" data-user_id="<?php echo um_profile_id(); ?>">
246
 
247
- <a href="<?php echo um_user_profile_url(); ?>" class="um-profile-photo-img"><?php echo $overlay . um_user('profile_photo', $default_size ); ?></a>
248
 
249
  <?php
250
 
244
 
245
  <div class="um-profile-photo" data-user_id="<?php echo um_profile_id(); ?>">
246
 
247
+ <a href="<?php echo um_user_profile_url(); ?>" class="um-profile-photo-img"><?php echo $overlay . get_avatar( um_user('ID'), $default_size ); ?></a>
248
 
249
  <?php
250
 
core/um-filters-avatars.php CHANGED
@@ -1,22 +1,51 @@
1
  <?php
2
 
 
 
 
 
 
 
 
 
 
3
  /***
4
  *** @Override avatars with a high priority
5
  ***/
6
- function um_get_avatar($content, $id='', $size = '96', $avatar_class = '', $default = '', $alt = '') {
 
7
 
8
- if ( !is_object( $id ) && is_email( $id ) ) {
9
- $id = email_exists( $id );
10
- } else if ( is_object( $id ) ) {
11
- $id = $id->user_id;
12
- }
 
 
 
13
 
14
- um_fetch_user( $id );
15
 
16
  $avatar = um_user('profile_photo', $size);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  um_reset_user();
18
  return $avatar;
19
 
20
- }
21
-
22
- add_filter('get_avatar', 'um_get_avatar', 10000000, 5);
1
  <?php
2
 
3
+ /***
4
+ *** @Do not apply to backend default avatars
5
+ ***/
6
+ add_filter('avatar_defaults', 'um_avatar_defaults', 99999 );
7
+ function um_avatar_defaults($avatar_defaults) {
8
+ remove_filter('get_avatar', 'um_get_avatar', 99999, 5);
9
+ return $avatar_defaults;
10
+ }
11
+
12
  /***
13
  *** @Override avatars with a high priority
14
  ***/
15
+ add_filter('get_avatar', 'um_get_avatar', 99999, 5);
16
+ function um_get_avatar($avatar = '', $id_or_email='', $size = '96', $avatar_class = '', $default = '', $alt = '') {
17
 
18
+ if ( is_numeric($id_or_email) )
19
+ $user_id = (int) $id_or_email;
20
+ elseif ( is_string( $id_or_email ) && ( $user = get_user_by( 'email', $id_or_email ) ) )
21
+ $user_id = $user->ID;
22
+ elseif ( is_object( $id_or_email ) && ! empty( $id_or_email->user_id ) )
23
+ $user_id = (int) $id_or_email->user_id;
24
+ if ( empty( $user_id ) )
25
+ return $avatar;
26
 
27
+ um_fetch_user( $user_id );
28
 
29
  $avatar = um_user('profile_photo', $size);
30
+
31
+ if ( !um_profile('profile_photo') && um_get_option('use_gravatars') ) {
32
+ if ( is_ssl() ) {
33
+ $protocol = 'https://';
34
+ } else {
35
+ $protocol = 'http://';
36
+ }
37
+
38
+ $default = get_option( 'avatar_default', 'mystery' );
39
+ if ( $default == 'gravatar_default' ) {
40
+ $default = '';
41
+ }
42
+
43
+ $avatar = '<img src="' . $protocol . 'gravatar.com/avatar/' . md5( um_user('user_email') ) .
44
+ '?d='. $default . '&amp;s=' . $size . '" class="gravatar avatar avatar-'.$size.' um-avatar" width="'.$size.'" height="'.$size.'" alt="" />';
45
+
46
+ }
47
+
48
  um_reset_user();
49
  return $avatar;
50
 
51
+ }
 
 
core/um-user.php CHANGED
@@ -134,6 +134,8 @@ class UM_User {
134
  // add permissions
135
  $user_role = $this->get_role();
136
  $this->role_meta = $ultimatemember->query->role_data( $user_role );
 
 
137
  $this->profile = array_merge( $this->profile, (array)$this->role_meta);
138
 
139
  $this->profile['super_admin'] = ( is_super_admin( $this->id ) ) ? 1 : 0;
134
  // add permissions
135
  $user_role = $this->get_role();
136
  $this->role_meta = $ultimatemember->query->role_data( $user_role );
137
+ $this->role_meta = apply_filters('um_user_permissions_filter', $this->role_meta, $this->id);
138
+
139
  $this->profile = array_merge( $this->profile, (array)$this->role_meta);
140
 
141
  $this->profile['super_admin'] = ( is_super_admin( $this->id ) ) ? 1 : 0;
index.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Ultimate Member
4
  Plugin URI: http://ultimatemember.com/
5
  Description: Ultimate Member is a powerful community and membership plugin that allows you to create beautiful community and membership sites with WordPress
6
- Version: 1.0.24
7
  Author: Ultimate Member
8
  Author URI: http://ultimatemember.com/
9
  */
3
  Plugin Name: Ultimate Member
4
  Plugin URI: http://ultimatemember.com/
5
  Description: Ultimate Member is a powerful community and membership plugin that allows you to create beautiful community and membership sites with WordPress
6
+ Version: 1.0.25
7
  Author: Ultimate Member
8
  Author URI: http://ultimatemember.com/
9
  */
readme.txt CHANGED
@@ -7,7 +7,7 @@ Tags: access control, community, communities, conditional fields, conditional lo
7
  Requires at least: 4.1
8
  Tested up to: 4.1
9
 
10
- Stable Tag: 1.0.24
11
 
12
  License: GNU Version 2 or Any Later Version
13
 
@@ -168,6 +168,15 @@ Yes. The plugin works fine with WordPress network / multisite now. In a recent u
168
 
169
  == Changelog ==
170
 
 
 
 
 
 
 
 
 
 
171
  = 1.0.24: January 26, 2015 =
172
 
173
  * Tweak: predefined fields are now localized (translatable)
7
  Requires at least: 4.1
8
  Tested up to: 4.1
9
 
10
+ Stable Tag: 1.0.25
11
 
12
  License: GNU Version 2 or Any Later Version
13
 
168
 
169
  == Changelog ==
170
 
171
+ = 1.0.25: January 26, 2015 =
172
+
173
+ * New: addded support to use gravatars (optionally) If the user does not have a custom avatar
174
+ * New: um_user_permissions_filter hook (for developer use)
175
+ * Tweak: plugin uses get_avatar() properly now
176
+ * Fixed: user avatars in backend are fixed
177
+ * Fixed: Mobile_Detect class does not throw php error if it was previously called
178
+ * Fixed: corrected a few translations errors
179
+
180
  = 1.0.24: January 26, 2015 =
181
 
182
  * Tweak: predefined fields are now localized (translatable)
um-config.php CHANGED
@@ -78,6 +78,14 @@ $this->sections[] = array(
78
  'off' => __('Disable'),
79
  ),
80
 
 
 
 
 
 
 
 
 
81
  )
82
 
83
  );
78
  'off' => __('Disable'),
79
  ),
80
 
81
+ array(
82
+ 'id' => 'use_gravatars',
83
+ 'type' => 'switch',
84
+ 'title' => __( 'Use Gravatars?' ),
85
+ 'default' => 0,
86
+ 'desc' => __('Do you want to use gravatars instead of the default plugin profile photo (If the user did not upload a custom profile photo / avatar)','ultimatemember'),
87
+ ),
88
+
89
  )
90
 
91
  );