Ultimate Member – User Profile & Membership Plugin - Version 2.0.39

Version Description

Download this release

Release Info

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

Code changes from version 2.0.38 to 2.0.39

assets/js/um-tipsy.js CHANGED
@@ -177,15 +177,15 @@
177
  }
178
  };
179
 
180
- if (!options.live) this.each(function() { get(this); });
181
 
182
  if (options.trigger != 'manual') {
183
  var eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',
184
  eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
185
- if (options.live)
186
  $(document).on(eventIn, this.selector, enter).on(eventOut, this.selector, leave);
187
  else
188
- this.bind(eventIn, enter).bind(eventOut, leave);
189
  }
190
 
191
  return this;
177
  }
178
  };
179
 
180
+ if (!options.on) this.each(function() { get(this); });
181
 
182
  if (options.trigger != 'manual') {
183
  var eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',
184
  eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
185
+ if (options.on)
186
  $(document).on(eventIn, this.selector, enter).on(eventOut, this.selector, leave);
187
  else
188
+ this.on(eventIn, enter).on(eventOut, leave);
189
  }
190
 
191
  return this;
assets/js/um-tipsy.min.js CHANGED
@@ -1 +1 @@
1
- !function(l){function f(t,e){return"function"==typeof t?t.call(e):t}function h(t,e){this.$element=l(t),this.options=e,this.enabled=!0,this.fixTitle()}h.prototype={show:function(){var t=this.getTitle();if(t&&this.enabled){var e=this.tip();e.find(".tipsy-inner")[this.options.html?"html":"text"](t),e[0].className="tipsy",e.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).prependTo(document.body);var i,s=l.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight}),n=e[0].offsetWidth,o=e[0].offsetHeight,a=f(this.options.gravity,this.$element[0]);switch(a.charAt(0)){case"n":i={top:s.top+s.height+this.options.offset,left:s.left+s.width/2-n/2};break;case"s":i={top:s.top-o-this.options.offset,left:s.left+s.width/2-n/2};break;case"e":i={top:s.top+s.height/2-o/2,left:s.left-n-this.options.offset};break;case"w":(extra_gap=0)<l("body").css("position").length&&"relative"==l("body").css("position")&&l("#wpadminbar").length&&(extra_gap=l("#wpadminbar").height()),i={top:s.top+s.height/2-o/2-extra_gap,left:s.left+s.width+this.options.offset}}2==a.length&&("w"==a.charAt(1)?i.left=s.left+s.width/2-15:i.left=s.left+s.width/2-n+15),e.css(i).addClass("tipsy-"+a),e.find(".tipsy-arrow")[0].className="tipsy-arrow tipsy-arrow-"+a.charAt(0),this.options.className&&e.addClass(f(this.options.className,this.$element[0])),this.options.fade?e.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:this.options.opacity}):e.css({visibility:"visible",opacity:this.options.opacity})}},hide:function(){this.options.fade?this.tip().stop().fadeOut(function(){l(this).remove()}):this.tip().remove()},fixTitle:function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("original-title"))&&t.attr("original-title",t.attr("title")||"").removeAttr("title")},getTitle:function(){var t,e=this.$element,i=this.options;return this.fixTitle(),"string"==typeof(i=this.options).title?t=e.attr("title"==i.title?"original-title":i.title):"function"==typeof i.title&&(t=i.title.call(e[0])),(t=(""+t).replace(/(^\s*|\s*$)/,""))||i.fallback},tip:function(){return this.$tip||(this.$tip=l('<div class="tipsy"></div>').html('<div class="tipsy-arrow"></div><div class="tipsy-inner"></div>'),this.$tip.data("tipsy-pointee",this.$element[0])),this.$tip},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled}},l.fn.tipsy=function(i){if(!0===i)return this.data("tipsy");if("string"==typeof i){var t=this.data("tipsy");return t&&t[i](),this}function e(t){var e=l.data(t,"tipsy");return e||(e=new h(t,l.fn.tipsy.elementOptions(t,i)),l.data(t,"tipsy",e)),e}function s(){var t=e(this);t.hoverState="in",0==i.delayIn?t.show():(t.fixTitle(),setTimeout(function(){"in"==t.hoverState&&t.show()},i.delayIn))}function n(){var t=e(this);t.hoverState="out",0==i.delayOut?t.hide():setTimeout(function(){"out"==t.hoverState&&t.hide()},i.delayOut)}if((i=l.extend({},l.fn.tipsy.defaults,i)).live||this.each(function(){e(this)}),"manual"!=i.trigger){var o="hover"==i.trigger?"mouseenter":"focus",a="hover"==i.trigger?"mouseleave":"blur";i.live?l(document).on(o,this.selector,s).on(a,this.selector,n):this.bind(o,s).bind(a,n)}return this},l.fn.tipsy.defaults={className:null,delayIn:0,delayOut:0,fade:!1,fallback:"",gravity:"n",html:!1,live:!1,offset:0,opacity:.8,title:"title",trigger:"hover"},l.fn.tipsy.revalidate=function(){l(".tipsy").each(function(){var t=l.data(this,"tipsy-pointee");t&&function(t){for(;t=t.parentNode;)if(t==document)return!0;return!1}(t)||l(this).remove()})},l.fn.tipsy.elementOptions=function(t,e){return l.metadata?l.extend({},e,l(t).metadata()):e},l.fn.tipsy.autoNS=function(){return l(this).offset().top>l(document).scrollTop()+l(window).height()/2?"s":"n"},l.fn.tipsy.autoWE=function(){return l(this).offset().left>l(document).scrollLeft()+l(window).width()/2?"e":"w"},l.fn.tipsy.autoBounds=function(n,o){return function(){var t={ns:o[0],ew:1<o.length&&o[1]},e=l(document).scrollTop()+n,i=l(document).scrollLeft()+n,s=l(this);return s.offset().top<e&&(t.ns="n"),s.offset().left<i&&(t.ew="w"),l(window).width()+l(document).scrollLeft()-s.offset().left<n&&(t.ew="e"),l(window).height()+l(document).scrollTop()-s.offset().top<n&&(t.ns="s"),t.ns+(t.ew?t.ew:"")}}}(jQuery);
1
+ !function(l){function f(t,e){return"function"==typeof t?t.call(e):t}function h(t,e){this.$element=l(t),this.options=e,this.enabled=!0,this.fixTitle()}h.prototype={show:function(){var t=this.getTitle();if(t&&this.enabled){var e=this.tip();e.find(".tipsy-inner")[this.options.html?"html":"text"](t),e[0].className="tipsy",e.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).prependTo(document.body);var i,s=l.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight}),n=e[0].offsetWidth,o=e[0].offsetHeight,a=f(this.options.gravity,this.$element[0]);switch(a.charAt(0)){case"n":i={top:s.top+s.height+this.options.offset,left:s.left+s.width/2-n/2};break;case"s":i={top:s.top-o-this.options.offset,left:s.left+s.width/2-n/2};break;case"e":i={top:s.top+s.height/2-o/2,left:s.left-n-this.options.offset};break;case"w":(extra_gap=0)<l("body").css("position").length&&"relative"==l("body").css("position")&&l("#wpadminbar").length&&(extra_gap=l("#wpadminbar").height()),i={top:s.top+s.height/2-o/2-extra_gap,left:s.left+s.width+this.options.offset}}2==a.length&&("w"==a.charAt(1)?i.left=s.left+s.width/2-15:i.left=s.left+s.width/2-n+15),e.css(i).addClass("tipsy-"+a),e.find(".tipsy-arrow")[0].className="tipsy-arrow tipsy-arrow-"+a.charAt(0),this.options.className&&e.addClass(f(this.options.className,this.$element[0])),this.options.fade?e.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:this.options.opacity}):e.css({visibility:"visible",opacity:this.options.opacity})}},hide:function(){this.options.fade?this.tip().stop().fadeOut(function(){l(this).remove()}):this.tip().remove()},fixTitle:function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("original-title"))&&t.attr("original-title",t.attr("title")||"").removeAttr("title")},getTitle:function(){var t,e=this.$element,i=this.options;return this.fixTitle(),"string"==typeof(i=this.options).title?t=e.attr("title"==i.title?"original-title":i.title):"function"==typeof i.title&&(t=i.title.call(e[0])),(t=(""+t).replace(/(^\s*|\s*$)/,""))||i.fallback},tip:function(){return this.$tip||(this.$tip=l('<div class="tipsy"></div>').html('<div class="tipsy-arrow"></div><div class="tipsy-inner"></div>'),this.$tip.data("tipsy-pointee",this.$element[0])),this.$tip},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled}},l.fn.tipsy=function(i){if(!0===i)return this.data("tipsy");if("string"==typeof i){var t=this.data("tipsy");return t&&t[i](),this}function e(t){var e=l.data(t,"tipsy");return e||(e=new h(t,l.fn.tipsy.elementOptions(t,i)),l.data(t,"tipsy",e)),e}function s(){var t=e(this);t.hoverState="in",0==i.delayIn?t.show():(t.fixTitle(),setTimeout(function(){"in"==t.hoverState&&t.show()},i.delayIn))}function n(){var t=e(this);t.hoverState="out",0==i.delayOut?t.hide():setTimeout(function(){"out"==t.hoverState&&t.hide()},i.delayOut)}if((i=l.extend({},l.fn.tipsy.defaults,i)).on||this.each(function(){e(this)}),"manual"!=i.trigger){var o="hover"==i.trigger?"mouseenter":"focus",a="hover"==i.trigger?"mouseleave":"blur";i.on?l(document).on(o,this.selector,s).on(a,this.selector,n):this.on(o,s).on(a,n)}return this},l.fn.tipsy.defaults={className:null,delayIn:0,delayOut:0,fade:!1,fallback:"",gravity:"n",html:!1,live:!1,offset:0,opacity:.8,title:"title",trigger:"hover"},l.fn.tipsy.revalidate=function(){l(".tipsy").each(function(){var t=l.data(this,"tipsy-pointee");t&&function(t){for(;t=t.parentNode;)if(t==document)return!0;return!1}(t)||l(this).remove()})},l.fn.tipsy.elementOptions=function(t,e){return l.metadata?l.extend({},e,l(t).metadata()):e},l.fn.tipsy.autoNS=function(){return l(this).offset().top>l(document).scrollTop()+l(window).height()/2?"s":"n"},l.fn.tipsy.autoWE=function(){return l(this).offset().left>l(document).scrollLeft()+l(window).width()/2?"e":"w"},l.fn.tipsy.autoBounds=function(n,o){return function(){var t={ns:o[0],ew:1<o.length&&o[1]},e=l(document).scrollTop()+n,i=l(document).scrollLeft()+n,s=l(this);return s.offset().top<e&&(t.ns="n"),s.offset().left<i&&(t.ew="w"),l(window).width()+l(document).scrollLeft()-s.offset().left<n&&(t.ew="e"),l(window).height()+l(document).scrollTop()-s.offset().top<n&&(t.ns="s"),t.ns+(t.ew?t.ew:"")}}}(jQuery);
includes/admin/core/class-admin-settings.php CHANGED
@@ -1055,6 +1055,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1055
  'textarea_rows' => 6
1056
  )
1057
  ),
 
 
 
 
 
 
1058
  array(
1059
  'id' => 'uninstall_on_delete',
1060
  'type' => 'checkbox',
1055
  'textarea_rows' => 6
1056
  )
1057
  ),
1058
+ array(
1059
+ 'id' => 'um_profile_object_cache_stop',
1060
+ 'type' => 'checkbox',
1061
+ 'label' => __( 'Disable Cache User Profile', 'ultimate-member' ),
1062
+ 'tooltip' => __( 'Check this box if you would like to disable Ultimate Member user\'s cache.', 'ultimate-member' ),
1063
+ ),
1064
  array(
1065
  'id' => 'uninstall_on_delete',
1066
  'type' => 'checkbox',
includes/admin/templates/form/profile_customize.php CHANGED
@@ -115,6 +115,7 @@
115
  'tooltip' => __( 'The shortcode is centered by default unless you specify otherwise here', 'ultimate-member' ),
116
  'value' => UM()->query()->get_meta_value( '_um_profile_cover_ratio', null, UM()->options()->get( 'profile_cover_ratio' ) ),
117
  'options' => array(
 
118
  '2.7:1' => '2.7:1',
119
  '2.2:1' => '2.2:1',
120
  '3.2:1' => '3.2:1'
115
  'tooltip' => __( 'The shortcode is centered by default unless you specify otherwise here', 'ultimate-member' ),
116
  'value' => UM()->query()->get_meta_value( '_um_profile_cover_ratio', null, UM()->options()->get( 'profile_cover_ratio' ) ),
117
  'options' => array(
118
+ '1.6:1' => '1.6:1',
119
  '2.7:1' => '2.7:1',
120
  '2.2:1' => '2.2:1',
121
  '3.2:1' => '3.2:1'
includes/admin/templates/role/register.php CHANGED
@@ -10,7 +10,7 @@
10
  'type' => 'select',
11
  'label' => __( 'Registration Status', 'ultimate-member' ),
12
  'tooltip' => __( 'Select the status you would like this user role to have after they register on your site', 'ultimate-member' ),
13
- 'value' => ! empty( $role['_um_status'] ) ? $role['_um_status'] : array(),
14
  'options' => array(
15
  'approved' => __( 'Auto Approve', 'ultimate-member' ),
16
  'checkmail' => __( 'Require Email Activation', 'ultimate-member' ),
@@ -22,7 +22,7 @@
22
  'type' => 'select',
23
  'label' => __( 'Action to be taken after registration', 'ultimate-member' ),
24
  'tooltip' => __( 'Select what action is taken after a person registers on your site. Depending on the status you can redirect them to their profile, a custom url or show a custom message', 'ultimate-member' ),
25
- 'value' => ! empty( $role['_um_auto_approve_act'] ) ? $role['_um_auto_approve_act'] : array(),
26
  'options' => array(
27
  'redirect_profile' => __( 'Redirect to profile', 'ultimate-member' ),
28
  'redirect_url' => __( 'Redirect to URL', 'ultimate-member' ),
@@ -33,7 +33,7 @@
33
  'id' => '_um_auto_approve_url',
34
  'type' => 'text',
35
  'label' => __( 'Set Custom Redirect URL', 'ultimate-member' ),
36
- 'value' => ! empty( $role['_um_auto_approve_url'] ) ? $role['_um_auto_approve_url'] : '',
37
  'conditional' => array( '_um_auto_approve_act', '=', 'redirect_url' )
38
  ),
39
  array(
@@ -41,7 +41,7 @@
41
  'type' => 'checkbox',
42
  'label' => __( 'Login user after validating the activation link?', 'ultimate-member' ),
43
  'tooltip' => __( 'Login the user after validating the activation link', 'ultimate-member' ),
44
- 'value' => ! empty( $role['_um_login_email_activate'] ) ? $role['_um_login_email_activate'] : 0,
45
  'conditional' => array( '_um_status', '=', 'checkmail' )
46
  ),
47
  array(
@@ -49,7 +49,7 @@
49
  'type' => 'select',
50
  'label' => __( 'Action to be taken after registration', 'ultimate-member' ),
51
  'tooltip' => __( 'Select what action is taken after a person registers on your site. Depending on the status you can redirect them to their profile, a custom url or show a custom message', 'ultimate-member' ),
52
- 'value' => ! empty( $role['_um_checkmail_action'] ) ? $role['_um_checkmail_action'] : array(),
53
  'options' => array(
54
  'show_message' => __( 'Show custom message', 'ultimate-member' ),
55
  'redirect_url' => __( 'Redirect to URL', 'ultimate-member' ),
@@ -60,14 +60,14 @@
60
  'id' => '_um_checkmail_message',
61
  'type' => 'textarea',
62
  'label' => __( 'Personalize the custom message', 'ultimate-member' ),
63
- 'value' => ! empty( $role['_um_checkmail_message'] ) ? $role['_um_checkmail_message'] : __('Thank you for registering. Before you can login we need you to activate your account by clicking the activation link in the email we just sent you.','ultimate-member'),
64
  'conditional' => array( '_um_checkmail_action', '=', 'show_message' )
65
  ),
66
  array(
67
  'id' => '_um_checkmail_url',
68
  'type' => 'text',
69
  'label' => __( 'Set Custom Redirect URL', 'ultimate-member' ),
70
- 'value' => ! empty( $role['_um_checkmail_url'] ) ? $role['_um_checkmail_url'] : '',
71
  'conditional' => array( '_um_checkmail_action', '=', 'redirect_url' )
72
  ),
73
  array(
@@ -75,7 +75,7 @@
75
  'type' => 'text',
76
  'label' => __( 'URL redirect after e-mail activation', 'ultimate-member' ),
77
  'tooltip' => __( 'If you want users to go to a specific page other than login page after e-mail activation, enter the URL here.', 'ultimate-member' ),
78
- 'value' => ! empty( $role['_um_url_email_activate'] ) ? $role['_um_url_email_activate'] : '',
79
  'conditional' => array( '_um_status', '=', 'checkmail' ),
80
  ),
81
  array(
@@ -83,7 +83,7 @@
83
  'type' => 'select',
84
  'label' => __( 'Action to be taken after registration', 'ultimate-member' ),
85
  'tooltip' => __( 'Select what action is taken after a person registers on your site. Depending on the status you can redirect them to their profile, a custom url or show a custom message', 'ultimate-member' ),
86
- 'value' => ! empty( $role['_um_pending_action'] ) ? $role['_um_pending_action'] : array(),
87
  'options' => array(
88
  'show_message' => __( 'Show custom message', 'ultimate-member' ),
89
  'redirect_url' => __( 'Redirect to URL', 'ultimate-member' ),
@@ -94,7 +94,7 @@
94
  'id' => '_um_pending_message',
95
  'type' => 'textarea',
96
  'label' => __( 'Personalize the custom message', 'ultimate-member' ),
97
- 'value' => ! empty( $role['_um_pending_message'] ) ? $role['_um_pending_message'] : __('Thank you for applying for membership to our site. We will review your details and send you an email letting you know whether your application has been successful or not.','ultimate-member'),
98
  'conditional' => array( '_um_pending_action', '=', 'show_message' )
99
  ),
100
  array(
@@ -102,7 +102,7 @@
102
  'type' => 'text',
103
  'label' => __( 'Set Custom Redirect URL', 'ultimate-member' ),
104
  'conditional' => array( '_um_pending_action', '=', 'redirect_url' ),
105
- 'value' => ! empty( $role['_um_pending_url'] ) ? $role['_um_pending_url'] : '',
106
  ),
107
  )
108
  ) )->render_form(); ?>
10
  'type' => 'select',
11
  'label' => __( 'Registration Status', 'ultimate-member' ),
12
  'tooltip' => __( 'Select the status you would like this user role to have after they register on your site', 'ultimate-member' ),
13
+ 'value' => ! empty( $role['_um_status'] ) ? __( $role['_um_status'] , 'ultimate-member' ) : array(),
14
  'options' => array(
15
  'approved' => __( 'Auto Approve', 'ultimate-member' ),
16
  'checkmail' => __( 'Require Email Activation', 'ultimate-member' ),
22
  'type' => 'select',
23
  'label' => __( 'Action to be taken after registration', 'ultimate-member' ),
24
  'tooltip' => __( 'Select what action is taken after a person registers on your site. Depending on the status you can redirect them to their profile, a custom url or show a custom message', 'ultimate-member' ),
25
+ 'value' => ! empty( $role['_um_auto_approve_act'] ) ? __( $role['_um_auto_approve_act'], 'ultimate-member' ) : array(),
26
  'options' => array(
27
  'redirect_profile' => __( 'Redirect to profile', 'ultimate-member' ),
28
  'redirect_url' => __( 'Redirect to URL', 'ultimate-member' ),
33
  'id' => '_um_auto_approve_url',
34
  'type' => 'text',
35
  'label' => __( 'Set Custom Redirect URL', 'ultimate-member' ),
36
+ 'value' => ! empty( $role['_um_auto_approve_url'] ) ? __( $role['_um_auto_approve_url'], 'ultimate-member' ) : '',
37
  'conditional' => array( '_um_auto_approve_act', '=', 'redirect_url' )
38
  ),
39
  array(
41
  'type' => 'checkbox',
42
  'label' => __( 'Login user after validating the activation link?', 'ultimate-member' ),
43
  'tooltip' => __( 'Login the user after validating the activation link', 'ultimate-member' ),
44
+ 'value' => ! empty( $role['_um_login_email_activate'] ) ? __( $role['_um_login_email_activate'], 'ultimate-member' ) : 0,
45
  'conditional' => array( '_um_status', '=', 'checkmail' )
46
  ),
47
  array(
49
  'type' => 'select',
50
  'label' => __( 'Action to be taken after registration', 'ultimate-member' ),
51
  'tooltip' => __( 'Select what action is taken after a person registers on your site. Depending on the status you can redirect them to their profile, a custom url or show a custom message', 'ultimate-member' ),
52
+ 'value' => ! empty( $role['_um_checkmail_action'] ) ? __( $role['_um_checkmail_action'], 'ultimate-member' ) : array(),
53
  'options' => array(
54
  'show_message' => __( 'Show custom message', 'ultimate-member' ),
55
  'redirect_url' => __( 'Redirect to URL', 'ultimate-member' ),
60
  'id' => '_um_checkmail_message',
61
  'type' => 'textarea',
62
  'label' => __( 'Personalize the custom message', 'ultimate-member' ),
63
+ 'value' => ! empty( $role['_um_checkmail_message'] ) ? __( $role['_um_checkmail_message'], 'ultimate-member' ) : __('Thank you for registering. Before you can login we need you to activate your account by clicking the activation link in the email we just sent you.','ultimate-member'),
64
  'conditional' => array( '_um_checkmail_action', '=', 'show_message' )
65
  ),
66
  array(
67
  'id' => '_um_checkmail_url',
68
  'type' => 'text',
69
  'label' => __( 'Set Custom Redirect URL', 'ultimate-member' ),
70
+ 'value' => ! empty( $role['_um_checkmail_url'] ) ? __( $role['_um_checkmail_url'], 'ultimate-member' ) : '',
71
  'conditional' => array( '_um_checkmail_action', '=', 'redirect_url' )
72
  ),
73
  array(
75
  'type' => 'text',
76
  'label' => __( 'URL redirect after e-mail activation', 'ultimate-member' ),
77
  'tooltip' => __( 'If you want users to go to a specific page other than login page after e-mail activation, enter the URL here.', 'ultimate-member' ),
78
+ 'value' => ! empty( $role['_um_url_email_activate'] ) ? __( $role['_um_url_email_activate'], 'ultimate-member' ) : '',
79
  'conditional' => array( '_um_status', '=', 'checkmail' ),
80
  ),
81
  array(
83
  'type' => 'select',
84
  'label' => __( 'Action to be taken after registration', 'ultimate-member' ),
85
  'tooltip' => __( 'Select what action is taken after a person registers on your site. Depending on the status you can redirect them to their profile, a custom url or show a custom message', 'ultimate-member' ),
86
+ 'value' => ! empty( $role['_um_pending_action'] ) ? __( $role['_um_pending_action'], 'ultimate-member' ) : array(),
87
  'options' => array(
88
  'show_message' => __( 'Show custom message', 'ultimate-member' ),
89
  'redirect_url' => __( 'Redirect to URL', 'ultimate-member' ),
94
  'id' => '_um_pending_message',
95
  'type' => 'textarea',
96
  'label' => __( 'Personalize the custom message', 'ultimate-member' ),
97
+ 'value' => ! empty( $role['_um_pending_message'] ) ? __( $role['_um_pending_message'], 'ultimate-member' ) : __('Thank you for applying for membership to our site. We will review your details and send you an email letting you know whether your application has been successful or not.','ultimate-member'),
98
  'conditional' => array( '_um_pending_action', '=', 'show_message' )
99
  ),
100
  array(
102
  'type' => 'text',
103
  'label' => __( 'Set Custom Redirect URL', 'ultimate-member' ),
104
  'conditional' => array( '_um_pending_action', '=', 'redirect_url' ),
105
+ 'value' => ! empty( $role['_um_pending_url'] ) ? __( $role['_um_pending_url'], 'ultimate-member' ) : '',
106
  ),
107
  )
108
  ) )->render_form(); ?>
includes/class-config.php CHANGED
@@ -533,6 +533,7 @@ if ( ! class_exists( 'um\Config' ) ) {
533
  'profile_photo_max_size' => 999999999,
534
  'cover_photo_max_size' => 999999999,
535
  'custom_roles_increment' => 1,
 
536
  );
537
 
538
  $tabs = UM()->profile()->tabs_primary();
533
  'profile_photo_max_size' => 999999999,
534
  'cover_photo_max_size' => 999999999,
535
  'custom_roles_increment' => 1,
536
+ 'um_profile_object_cache_stop' => 0
537
  );
538
 
539
  $tabs = UM()->profile()->tabs_primary();
includes/class-dependencies.php CHANGED
@@ -62,6 +62,7 @@ if ( ! class_exists( 'um\Dependencies' ) ) {
62
  'user-exporter' => '1.0.0',
63
  'bookmark' => '2.0',
64
  'user-events' => '1.0.0',
 
65
  );
66
 
67
 
62
  'user-exporter' => '1.0.0',
63
  'bookmark' => '2.0',
64
  'user-events' => '1.0.0',
65
+ 'filesharing' => '1.0.0',
66
  );
67
 
68
 
includes/core/class-external-integrations.php CHANGED
@@ -32,6 +32,9 @@ if ( ! class_exists( 'um\core\External_Integrations' ) ) {
32
  add_filter( 'um_localize_permalink_filter', array( &$this, 'um_localize_permalink_filter' ), 10, 2 );
33
  add_filter( 'icl_ls_languages', array( &$this, 'um_core_page_wpml_permalink' ), 10, 1 );
34
 
 
 
 
35
  /**
36
  * @todo Customize this form metadata
37
  */
@@ -72,6 +75,48 @@ if ( ! class_exists( 'um\core\External_Integrations' ) ) {
72
  }
73
 
74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  /**
76
  * Gravity forms role capabilities compatibility
77
  */
32
  add_filter( 'um_localize_permalink_filter', array( &$this, 'um_localize_permalink_filter' ), 10, 2 );
33
  add_filter( 'icl_ls_languages', array( &$this, 'um_core_page_wpml_permalink' ), 10, 1 );
34
 
35
+ // Integration for the "Transposh Translation Filter" plugin
36
+ add_action( 'template_redirect', array( &$this, 'transposh_user_profile'), 9990 );
37
+
38
  /**
39
  * @todo Customize this form metadata
40
  */
75
  }
76
 
77
 
78
+ /**
79
+ * Integration for the "Transposh Translation Filter" plugin
80
+ *
81
+ * @description Fix issue "404 Not Found" on profile page
82
+ * @hook template_redirect
83
+ * @see http://transposh.org/
84
+ *
85
+ * @global transposh_plugin $my_transposh_plugin
86
+ * @global \WP_Query $wp_query Global WP_Query instance.
87
+ */
88
+ public function transposh_user_profile() {
89
+ global $my_transposh_plugin, $wp_query;
90
+
91
+ if ( empty( $my_transposh_plugin ) ) {
92
+ return;
93
+ }
94
+
95
+ if ( ! $wp_query->is_404() ) {
96
+ return;
97
+ }
98
+
99
+ $profile_id = UM()->options()->get( 'core_user' );
100
+ $post = get_post( $profile_id );
101
+
102
+ if ( empty( $post ) || is_wp_error( $post ) ) {
103
+ return;
104
+ }
105
+
106
+ if ( ! empty( $_SERVER['REQUEST_URI'] ) && stripos( $_SERVER['REQUEST_URI'], "$my_transposh_plugin->target_language/$post->post_name" ) !== false ) {
107
+ preg_match( "#/$post->post_name/([^\/\?$]+)#", $_SERVER['REQUEST_URI'], $matches );
108
+
109
+ if ( isset( $matches[1] ) ) {
110
+ query_posts( array(
111
+ 'page_id' => $post->ID
112
+ ) );
113
+ set_query_var( 'um_user', $matches[1] );
114
+ wp_reset_postdata();
115
+ }
116
+ }
117
+ }
118
+
119
+
120
  /**
121
  * Gravity forms role capabilities compatibility
122
  */
includes/core/class-fields.php CHANGED
@@ -187,6 +187,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
187
  if ( isset( $fields[ $id ] ) ) {
188
  $condition_fields = get_option( 'um_fields' );
189
 
 
 
190
  foreach ( $condition_fields as $key => $value ) {
191
  $deleted_field = array_search( $id, $value );
192
 
@@ -578,16 +580,16 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
578
  * @return mixed
579
  */
580
  function field_value( $key, $default = false, $data = null ) {
581
- if (isset( $_SESSION ) && isset( $_SESSION['um_social_profile'][$key] ) && isset( $this->set_mode ) && $this->set_mode == 'register')
582
- return $_SESSION['um_social_profile'][$key];
583
 
584
  $type = ( isset( $data['type'] ) ) ? $data['type'] : '';
585
 
586
  // preview in backend
587
- if (isset( UM()->user()->preview ) && UM()->user()->preview) {
588
  $submitted = um_user( 'submitted' );
589
- if (isset( $submitted[$key] ) && !empty( $submitted[$key] )) {
590
- return $submitted[$key];
591
  } else {
592
  return 'Undefined';
593
  }
@@ -595,12 +597,12 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
595
 
596
  // normal state
597
  if ( isset( UM()->form()->post_form[ $key ] ) ) {
598
-
599
  if ( strstr( $key, 'user_pass' ) && $this->set_mode != 'password' ) {
600
  return '';
601
  }
602
 
603
- return stripslashes_deep( UM()->form()->post_form[$key] );
604
 
605
  } elseif ( um_user( $key ) && $this->editing == true ) {
606
 
@@ -655,8 +657,6 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
655
  */
656
  $value = apply_filters( "um_edit_{$type}_field_value", $value, $key );
657
 
658
- return $value;
659
-
660
  } elseif ( ( um_user( $key ) || isset( $data['show_anyway'] ) ) && $this->viewing == true ) {
661
 
662
  return um_filtered_value( $key, $data );
@@ -686,7 +686,6 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
686
  * ?>
687
  */
688
  $value = apply_filters( "um_edit_{$key}_field_value", $value, $key );
689
- return $value;
690
 
691
  } elseif ( $default ) {
692
 
@@ -757,9 +756,11 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
757
  * ?>
758
  */
759
  $default = apply_filters( "um_field_{$type}_default_value", $default, $data );
760
- return $default;
761
 
762
- } elseif ( $this->editing == true ) {
 
 
 
763
 
764
  /**
765
  * UM hook
@@ -782,11 +783,11 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
782
  * }
783
  * ?>
784
  */
785
- return apply_filters( "um_edit_{$key}_field_value", '', $key );
786
 
787
  }
788
 
789
- return '';
790
  }
791
 
792
 
@@ -913,25 +914,28 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
913
  return true;
914
  }
915
 
916
- if ( strstr( $data['default'], ', ' ) ) {
917
- $data['default'] = explode( ', ', $data['default'] );
918
- }
 
 
919
 
920
- if ( isset( $data['default'] ) && ! is_array( $data['default'] ) && $data['default'] === $value ) {
921
- return true;
922
- }
923
 
924
- if ( isset( $data['default'] ) && is_array( $data['default'] ) && in_array( $value, $data['default'] )) {
925
- return true;
 
 
926
  }
927
 
928
  } else {
929
 
930
- if ($value == UM()->form()->post_form[$key]) {
931
  return true;
932
  }
933
 
934
-
935
  }
936
 
937
  }
@@ -1137,7 +1141,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1137
  $label = stripslashes( $fields[ $key ]['label'] );
1138
  }
1139
 
1140
- if ( isset( $fields[ $key ]['title'] ) ) {
1141
  $label = stripslashes( $fields[ $key ]['title'] );
1142
  }
1143
 
187
  if ( isset( $fields[ $id ] ) ) {
188
  $condition_fields = get_option( 'um_fields' );
189
 
190
+ if( ! is_array( $condition_fields ) ) $condition_fields = array();
191
+
192
  foreach ( $condition_fields as $key => $value ) {
193
  $deleted_field = array_search( $id, $value );
194
 
580
  * @return mixed
581
  */
582
  function field_value( $key, $default = false, $data = null ) {
583
+ if ( isset( $_SESSION ) && isset( $_SESSION['um_social_profile'][ $key ] ) && isset( $this->set_mode ) && $this->set_mode == 'register' )
584
+ return $_SESSION['um_social_profile'][ $key ];
585
 
586
  $type = ( isset( $data['type'] ) ) ? $data['type'] : '';
587
 
588
  // preview in backend
589
+ if ( isset( UM()->user()->preview ) && UM()->user()->preview ) {
590
  $submitted = um_user( 'submitted' );
591
+ if ( isset( $submitted[ $key ] ) && !empty( $submitted[ $key ] ) ) {
592
+ return $submitted[ $key ];
593
  } else {
594
  return 'Undefined';
595
  }
597
 
598
  // normal state
599
  if ( isset( UM()->form()->post_form[ $key ] ) ) {
600
+ //show empty value for password fields
601
  if ( strstr( $key, 'user_pass' ) && $this->set_mode != 'password' ) {
602
  return '';
603
  }
604
 
605
+ return stripslashes_deep( UM()->form()->post_form[ $key ] );
606
 
607
  } elseif ( um_user( $key ) && $this->editing == true ) {
608
 
657
  */
658
  $value = apply_filters( "um_edit_{$type}_field_value", $value, $key );
659
 
 
 
660
  } elseif ( ( um_user( $key ) || isset( $data['show_anyway'] ) ) && $this->viewing == true ) {
661
 
662
  return um_filtered_value( $key, $data );
686
  * ?>
687
  */
688
  $value = apply_filters( "um_edit_{$key}_field_value", $value, $key );
 
689
 
690
  } elseif ( $default ) {
691
 
756
  * ?>
757
  */
758
  $default = apply_filters( "um_field_{$type}_default_value", $default, $data );
 
759
 
760
+ }
761
+
762
+ // Default Value for Registration Form and Profile Form editing
763
+ if ( ! isset( $value ) && ( $this->set_mode == 'register' || $this->editing == true ) ) {
764
 
765
  /**
766
  * UM hook
783
  * }
784
  * ?>
785
  */
786
+ $value = apply_filters( "um_edit_{$key}_field_value", $default, $key );
787
 
788
  }
789
 
790
+ return isset( $value ) ? $value : '';
791
  }
792
 
793
 
914
  return true;
915
  }
916
 
917
+ if ( empty( $field_value ) ) {
918
+ if ( isset( $data['default'] ) ) {
919
+ if ( strstr( $data['default'], ', ' ) ) {
920
+ $data['default'] = explode( ', ', $data['default'] );
921
+ }
922
 
923
+ if ( ! is_array( $data['default'] ) && $data['default'] === $value ) {
924
+ return true;
925
+ }
926
 
927
+ if ( is_array( $data['default'] ) && in_array( $value, $data['default'] ) ) {
928
+ return true;
929
+ }
930
+ }
931
  }
932
 
933
  } else {
934
 
935
+ if ( $value == UM()->form()->post_form[ $key ] ) {
936
  return true;
937
  }
938
 
 
939
  }
940
 
941
  }
1141
  $label = stripslashes( $fields[ $key ]['label'] );
1142
  }
1143
 
1144
+ if ( empty( $label ) && isset( $fields[ $key ]['title'] ) ) {
1145
  $label = stripslashes( $fields[ $key ]['title'] );
1146
  }
1147
 
includes/core/class-files.php CHANGED
@@ -281,7 +281,9 @@ if ( ! class_exists( 'um\core\Files' ) ) {
281
  wp_send_json_error( esc_js( __( 'Invalid file ownership', 'ultimate-member' ) ) );
282
  }
283
 
 
284
  $output = UM()->uploader()->resize_image( $image_path, $src, $key, $user_id, $coord );
 
285
 
286
  delete_option( "um_cache_userdata_{$user_id}" );
287
 
@@ -340,7 +342,9 @@ if ( ! class_exists( 'um\core\Files' ) ) {
340
 
341
  if ( ! is_array( $_FILES[ $id ]['name'] ) ) {
342
 
 
343
  $uploaded = UM()->uploader()->upload_image( $_FILES[ $id ], $user_id, $id );
 
344
  if ( isset( $uploaded['error'] ) ){
345
  $ret['error'] = $uploaded['error'];
346
  } else {
@@ -416,7 +420,9 @@ if ( ! class_exists( 'um\core\Files' ) ) {
416
 
417
  $user_id = $_POST['user_id'];
418
 
 
419
  $uploaded = UM()->uploader()->upload_file( $_FILES[ $id ], $user_id, $id );
 
420
  if ( isset( $uploaded['error'] ) ){
421
 
422
  $ret['error'] = $uploaded['error'];
281
  wp_send_json_error( esc_js( __( 'Invalid file ownership', 'ultimate-member' ) ) );
282
  }
283
 
284
+ UM()->uploader()->replace_upload_dir = true;
285
  $output = UM()->uploader()->resize_image( $image_path, $src, $key, $user_id, $coord );
286
+ UM()->uploader()->replace_upload_dir = false;
287
 
288
  delete_option( "um_cache_userdata_{$user_id}" );
289
 
342
 
343
  if ( ! is_array( $_FILES[ $id ]['name'] ) ) {
344
 
345
+ UM()->uploader()->replace_upload_dir = true;
346
  $uploaded = UM()->uploader()->upload_image( $_FILES[ $id ], $user_id, $id );
347
+ UM()->uploader()->replace_upload_dir = false;
348
  if ( isset( $uploaded['error'] ) ){
349
  $ret['error'] = $uploaded['error'];
350
  } else {
420
 
421
  $user_id = $_POST['user_id'];
422
 
423
+ UM()->uploader()->replace_upload_dir = true;
424
  $uploaded = UM()->uploader()->upload_file( $_FILES[ $id ], $user_id, $id );
425
+ UM()->uploader()->replace_upload_dir = false;
426
  if ( isset( $uploaded['error'] ) ){
427
 
428
  $ret['error'] = $uploaded['error'];
includes/core/class-password.php CHANGED
@@ -286,9 +286,19 @@ if ( ! class_exists( 'um\core\Password' ) ) {
286
  exit;
287
  }
288
  $rp_login = $userdata->user_login;
289
- $value = sprintf( '%s:%s', $rp_login, wp_unslash( $_GET['hash'] ) );
290
- setcookie( $rp_cookie, $value, 0, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
291
- wp_safe_redirect( remove_query_arg( array( 'hash', 'user_id' ) ) );
 
 
 
 
 
 
 
 
 
 
292
  exit;
293
  }
294
 
@@ -299,7 +309,7 @@ if ( ! class_exists( 'um\core\Password' ) ) {
299
  $user = false;
300
  }
301
 
302
- if ( ! $user || is_wp_error( $user ) ) {
303
  setcookie( $rp_cookie, ' ', time() - YEAR_IN_SECONDS, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
304
  if ( $user && $user->get_error_code() === 'expired_key' ) {
305
  wp_redirect( add_query_arg( array( 'updated' => 'expiredkey' ), get_permalink() ) );
286
  exit;
287
  }
288
  $rp_login = $userdata->user_login;
289
+ $rp_key = wp_unslash( $_GET['hash'] );
290
+
291
+ $user = check_password_reset_key( $rp_key, $rp_login );
292
+
293
+ if ( is_wp_error( $user ) ) {
294
+ setcookie( $rp_cookie, ' ', time() - YEAR_IN_SECONDS, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
295
+ wp_redirect( add_query_arg( array( 'updated' => 'invalidkey' ), get_permalink() ) );
296
+ }else{
297
+ $value = sprintf( '%s:%s', $rp_login, wp_unslash( $_GET['hash'] ) );
298
+ setcookie( $rp_cookie, $value, 0, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
299
+ wp_safe_redirect( remove_query_arg( array( 'hash', 'user_id' ) ) );
300
+ }
301
+
302
  exit;
303
  }
304
 
309
  $user = false;
310
  }
311
 
312
+ if ( ( ! $user || is_wp_error( $user ) ) && ! isset( $_GET['updated'] ) ) {
313
  setcookie( $rp_cookie, ' ', time() - YEAR_IN_SECONDS, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
314
  if ( $user && $user->get_error_code() === 'expired_key' ) {
315
  wp_redirect( add_query_arg( array( 'updated' => 'expiredkey' ), get_permalink() ) );
includes/core/class-rest-api.php CHANGED
@@ -458,7 +458,7 @@ if ( ! class_exists( 'um\core\REST_API' ) ) {
458
  * }
459
  * ?>
460
  */
461
- do_action( 'um_after_member_role_upgrade', array( $value ), $old_roles );
462
 
463
  $response['success'] = __( 'User role has been changed.', 'ultimate-member' );
464
  break;
458
  * }
459
  * ?>
460
  */
461
+ do_action( 'um_after_member_role_upgrade', array( $value ), $old_roles, $id );
462
 
463
  $response['success'] = __( 'User role has been changed.', 'ultimate-member' );
464
  break;
includes/core/class-uploader.php CHANGED
@@ -22,6 +22,12 @@ if ( ! class_exists( 'um\core\Uploader' ) ) {
22
  var $user_id;
23
 
24
 
 
 
 
 
 
 
25
  /**
26
  * @var string
27
  */
@@ -270,8 +276,10 @@ if ( ! class_exists( 'um\core\Uploader' ) ) {
270
 
271
  list( $this->upload_user_baseurl, $this->upload_user_basedir ) = apply_filters( 'um_change_upload_user_path', array( $this->upload_user_baseurl, $this->upload_user_basedir ), $this->field_key, $this->upload_type );
272
 
273
- $args['path'] = $this->upload_user_basedir;
274
- $args['url'] = $this->upload_user_baseurl;
 
 
275
 
276
  return $args;
277
  }
@@ -1006,8 +1014,16 @@ if ( ! class_exists( 'um\core\Uploader' ) ) {
1006
  $sizes_array[ ] = array ('width' => $size );
1007
  }
1008
 
1009
- $image->multi_resize( $sizes_array );
1010
 
 
 
 
 
 
 
 
 
1011
  } else {
1012
  wp_send_json_error( esc_js( __( "Unable to crop image file: {$src}", 'ultimate-member' ) ) );
1013
  }
22
  var $user_id;
23
 
24
 
25
+ /**
26
+ * @var integer
27
+ */
28
+ var $replace_upload_dir = false;
29
+
30
+
31
  /**
32
  * @var string
33
  */
276
 
277
  list( $this->upload_user_baseurl, $this->upload_user_basedir ) = apply_filters( 'um_change_upload_user_path', array( $this->upload_user_baseurl, $this->upload_user_basedir ), $this->field_key, $this->upload_type );
278
 
279
+ if ( $this->replace_upload_dir ) {
280
+ $args['path'] = $this->upload_user_basedir;
281
+ $args['url'] = $this->upload_user_baseurl;
282
+ }
283
 
284
  return $args;
285
  }
1014
  $sizes_array[ ] = array ('width' => $size );
1015
  }
1016
 
1017
+ $resize = $image->multi_resize( $sizes_array );
1018
 
1019
+ // change filenames of resized images
1020
+ foreach( $resize as $row ){
1021
+ $new_filename = str_replace( "x{$row['height']}" , "", $row["file"] );
1022
+ $old_filename = $row["file"];
1023
+
1024
+ rename( dirname( $image_path ) . DIRECTORY_SEPARATOR . $old_filename, dirname( $image_path ) . DIRECTORY_SEPARATOR . $new_filename );
1025
+ }
1026
+
1027
  } else {
1028
  wp_send_json_error( esc_js( __( "Unable to crop image file: {$src}", 'ultimate-member' ) ) );
1029
  }
includes/core/class-user.php CHANGED
@@ -88,9 +88,9 @@ if ( ! class_exists( 'um\core\User' ) ) {
88
  add_action( 'init', array( &$this, 'check_membership' ), 10 );
89
 
90
  if ( is_multisite() ) {
91
- add_action( 'delete_user', array( &$this, 'delete_user_handler' ), 10, 1 );
92
- } else {
93
  add_action( 'wpmu_delete_user', array( &$this, 'delete_user_handler' ), 10, 1 );
 
 
94
  }
95
  }
96
 
@@ -157,6 +157,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
157
  }
158
 
159
  // remove uploads
 
160
  UM()->files()->remove_dir( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR );
161
  }
162
 
@@ -510,7 +511,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
510
  * }
511
  * ?>
512
  */
513
- do_action( 'um_after_member_role_upgrade', $new_roles, $old_roles );
514
 
515
  //Update permalink
516
  $this->generate_profile_slug( $user_id, true );
88
  add_action( 'init', array( &$this, 'check_membership' ), 10 );
89
 
90
  if ( is_multisite() ) {
 
 
91
  add_action( 'wpmu_delete_user', array( &$this, 'delete_user_handler' ), 10, 1 );
92
+ } else {
93
+ add_action( 'delete_user', array( &$this, 'delete_user_handler' ), 10, 1 );
94
  }
95
  }
96
 
157
  }
158
 
159
  // remove uploads
160
+ UM()->files()->remove_dir( UM()->files()->upload_temp );
161
  UM()->files()->remove_dir( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR );
162
  }
163
 
511
  * }
512
  * ?>
513
  */
514
+ do_action( 'um_after_member_role_upgrade', $new_roles, $old_roles, $user_id );
515
 
516
  //Update permalink
517
  $this->generate_profile_slug( $user_id, true );
includes/core/um-actions-login.php CHANGED
@@ -177,6 +177,7 @@ add_action( 'um_on_login_before_redirect', 'um_store_lastlogin_timestamp', 10, 1
177
  function um_store_lastlogin_timestamp_( $login ) {
178
  $user = get_user_by( 'login', $login );
179
  um_store_lastlogin_timestamp( $user->ID );
 
180
  }
181
  add_action( 'wp_login', 'um_store_lastlogin_timestamp_' );
182
 
177
  function um_store_lastlogin_timestamp_( $login ) {
178
  $user = get_user_by( 'login', $login );
179
  um_store_lastlogin_timestamp( $user->ID );
180
+ delete_user_meta( $user->ID, 'password_rst_attempts' );
181
  }
182
  add_action( 'wp_login', 'um_store_lastlogin_timestamp_' );
183
 
includes/core/um-actions-profile.php CHANGED
@@ -367,7 +367,9 @@ function um_user_edit_profile( $args ) {
367
  $files = apply_filters( 'um_user_pre_updating_files_array', $files );
368
 
369
  if ( ! empty( $files ) && is_array( $files ) ) {
 
370
  UM()->uploader()->move_temporary_files( um_user( 'ID' ), $files );
 
371
  }
372
 
373
  /**
367
  $files = apply_filters( 'um_user_pre_updating_files_array', $files );
368
 
369
  if ( ! empty( $files ) && is_array( $files ) ) {
370
+ UM()->uploader()->replace_upload_dir = true;
371
  UM()->uploader()->move_temporary_files( um_user( 'ID' ), $files );
372
+ UM()->uploader()->replace_upload_dir = false;
373
  }
374
 
375
  /**
includes/core/um-actions-register.php CHANGED
@@ -309,10 +309,14 @@ function um_submit_form_register( $args ) {
309
 
310
  // if full name exists
311
  $count = 1;
312
- while ( username_exists( $user_login ) ) {
313
- $user_login .= $count;
 
314
  $count++;
315
  }
 
 
 
316
  }
317
 
318
  if ( ! isset( $user_login ) && isset( $user_email ) && $user_email ) {
@@ -634,7 +638,9 @@ function um_registration_save_files( $user_id, $args ) {
634
  $files = apply_filters( 'um_user_pre_updating_files_array', $files );
635
 
636
  if ( ! empty( $files ) ) {
 
637
  UM()->uploader()->move_temporary_files( $user_id, $files );
 
638
  }
639
  }
640
  add_action( 'um_registration_set_extra_data', 'um_registration_save_files', 10, 2 );
309
 
310
  // if full name exists
311
  $count = 1;
312
+ $temp_user_login = $user_login;
313
+ while ( username_exists( $temp_user_login ) ) {
314
+ $temp_user_login = $user_login . $count;
315
  $count++;
316
  }
317
+ if ( $temp_user_login !== $user_login ) {
318
+ $user_login = $temp_user_login;
319
+ }
320
  }
321
 
322
  if ( ! isset( $user_login ) && isset( $user_email ) && $user_email ) {
638
  $files = apply_filters( 'um_user_pre_updating_files_array', $files );
639
 
640
  if ( ! empty( $files ) ) {
641
+ UM()->uploader()->replace_upload_dir = true;
642
  UM()->uploader()->move_temporary_files( $user_id, $files );
643
+ UM()->uploader()->replace_upload_dir = false;
644
  }
645
  }
646
  add_action( 'um_registration_set_extra_data', 'um_registration_save_files', 10, 2 );
includes/core/um-filters-fields.php CHANGED
@@ -150,7 +150,8 @@ function um_profile_field_filter_hook__textarea( $value, $data ) {
150
  return $value;
151
  }
152
 
153
- $value = esc_textarea( $value );
 
154
  $value = preg_replace('$(https?://[a-z0-9_./?=&#-]+)(?![^<>]*>)$i', ' <a href="$1" target="_blank">$1</a> ', $value." ");
155
  $value = preg_replace('$(www\.[a-z0-9_./?=&#-]+)(?![^<>]*>)$i', '<a target="_blank" href="http://$1">$1</a> ', $value." ");
156
  $value = wpautop($value);
@@ -159,7 +160,6 @@ function um_profile_field_filter_hook__textarea( $value, $data ) {
159
  }
160
  add_filter( 'um_profile_field_filter_hook__textarea', 'um_profile_field_filter_hook__textarea', 99, 2 );
161
 
162
-
163
  /***
164
  *** @urls in description
165
  ***/
@@ -327,12 +327,13 @@ function um_profile_field_filter_hook__( $value, $data, $type = '' ) {
327
  if ( $data['validate'] == 'facebook_url' ) $value = 'https://facebook.com/' . $value;
328
  if ( $data['validate'] == 'twitter_url' ) $value = 'https://twitter.com/' . $value;
329
  if ( $data['validate'] == 'linkedin_url' ) $value = 'https://linkedin.com/' . $value;
330
- if ( $data['validate'] == 'skype' ) $value = $value;
331
  if ( $data['validate'] == 'googleplus_url' ) $value = 'https://plus.google.com/' . $value;
332
  if ( $data['validate'] == 'instagram_url' ) $value = 'https://instagram.com/' . $value;
333
  if ( $data['validate'] == 'vk_url' ) $value = 'https://vk.com/' . $value;
334
  }
335
 
 
336
  if ( isset( $data['validate'] ) && $data['validate'] == 'skype' ) {
337
 
338
  $value = $value;
@@ -349,6 +350,16 @@ function um_profile_field_filter_hook__( $value, $data, $type = '' ) {
349
 
350
  }
351
 
 
 
 
 
 
 
 
 
 
 
352
  if ( !is_array( $value ) ) {
353
  if ( is_email( $value ) )
354
  $value = '<a href="mailto:'. $value.'" title="'.$value.'">'.$value.'</a>';
150
  return $value;
151
  }
152
 
153
+ $value = wp_kses( $value, 'strip' );
154
+ $value = html_entity_decode( $value );
155
  $value = preg_replace('$(https?://[a-z0-9_./?=&#-]+)(?![^<>]*>)$i', ' <a href="$1" target="_blank">$1</a> ', $value." ");
156
  $value = preg_replace('$(www\.[a-z0-9_./?=&#-]+)(?![^<>]*>)$i', '<a target="_blank" href="http://$1">$1</a> ', $value." ");
157
  $value = wpautop($value);
160
  }
161
  add_filter( 'um_profile_field_filter_hook__textarea', 'um_profile_field_filter_hook__textarea', 99, 2 );
162
 
 
163
  /***
164
  *** @urls in description
165
  ***/
327
  if ( $data['validate'] == 'facebook_url' ) $value = 'https://facebook.com/' . $value;
328
  if ( $data['validate'] == 'twitter_url' ) $value = 'https://twitter.com/' . $value;
329
  if ( $data['validate'] == 'linkedin_url' ) $value = 'https://linkedin.com/' . $value;
330
+ if ( $data['validate'] == 'skype' ) $value = 'skype:'.$value.'?chat';
331
  if ( $data['validate'] == 'googleplus_url' ) $value = 'https://plus.google.com/' . $value;
332
  if ( $data['validate'] == 'instagram_url' ) $value = 'https://instagram.com/' . $value;
333
  if ( $data['validate'] == 'vk_url' ) $value = 'https://vk.com/' . $value;
334
  }
335
 
336
+
337
  if ( isset( $data['validate'] ) && $data['validate'] == 'skype' ) {
338
 
339
  $value = $value;
350
 
351
  }
352
 
353
+ if ( isset( $data['validate'] ) && $data['validate'] == 'skype' ) {
354
+
355
+ $value = str_replace('https://','',$value );
356
+ $value = str_replace('http://','',$value );
357
+
358
+ $data['url_target'] = ( isset( $data['url_target'] ) ) ? $data['url_target'] : '_blank';
359
+ $value = '<a href="'. 'skype:'.$value.'?chat'.'" title="'.$value.'" target="'.$data['url_target'].'" ' . $url_rel . '>'.$value.'</a>';
360
+
361
+ }
362
+
363
  if ( !is_array( $value ) ) {
364
  if ( is_email( $value ) )
365
  $value = '<a href="mailto:'. $value.'" title="'.$value.'">'.$value.'</a>';
includes/core/um-filters-members.php CHANGED
@@ -53,28 +53,30 @@ function um_remove_special_users_from_list( $query_args, $args ) {
53
 
54
  }
55
 
56
- if ( ! UM()->roles()->um_user_can( 'can_edit_everyone' ) || UM()->options()->get( 'account_hide_in_directory' ) ) {
57
- $query_args['meta_query'][] = array(
58
- "relation" => "OR",
59
- array(
60
- 'key' => 'hide_in_members',
61
- 'value' => '',
62
- 'compare' => 'NOT EXISTS'
63
- ),
64
- array(
65
- "relation" => "AND",
66
  array(
67
  'key' => 'hide_in_members',
68
- 'value' => __('Yes','ultimate-member'),
69
- 'compare' => 'NOT LIKE'
70
  ),
71
  array(
72
- 'key' => 'hide_in_members',
73
- 'value' => 'Yes',
74
- 'compare' => 'NOT LIKE'
 
 
 
 
 
 
 
 
75
  ),
76
- ),
77
- );
78
  }
79
 
80
  $roles = um_user( 'can_view_roles' );
53
 
54
  }
55
 
56
+ if ( UM()->options()->get( 'account_hide_in_directory' ) ) {
57
+ if ( ! UM()->roles()->um_user_can( 'can_access_private_profile' ) ) {
58
+ $query_args['meta_query'][] = array(
59
+ "relation" => "OR",
 
 
 
 
 
 
60
  array(
61
  'key' => 'hide_in_members',
62
+ 'value' => '',
63
+ 'compare' => 'NOT EXISTS'
64
  ),
65
  array(
66
+ "relation" => "AND",
67
+ array(
68
+ 'key' => 'hide_in_members',
69
+ 'value' => __('Yes','ultimate-member'),
70
+ 'compare' => 'NOT LIKE'
71
+ ),
72
+ array(
73
+ 'key' => 'hide_in_members',
74
+ 'value' => 'Yes',
75
+ 'compare' => 'NOT LIKE'
76
+ ),
77
  ),
78
+ );
79
+ }
80
  }
81
 
82
  $roles = um_user( 'can_view_roles' );
includes/um-short-functions.php CHANGED
@@ -1811,22 +1811,22 @@ function um_get_cover_uri( $image, $attrs ) {
1811
  $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo{$ext}?" . current_time( 'timestamp' );
1812
  }
1813
 
1814
- if ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}x{$height}{$ext}" ) ) {
1815
- $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo-{$attrs}x{$height}{$ext}?". current_time( 'timestamp' );
1816
- } elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}{$ext}" ) ) {
1817
  $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo-{$attrs}{$ext}?" . current_time( 'timestamp' );
1818
- }
 
 
1819
  }
1820
 
1821
  if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo{$ext}" ) ) {
1822
  $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo{$ext}?" . current_time( 'timestamp' );
1823
  }
1824
 
1825
- if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}x{$height}{$ext}" ) ) {
1826
- $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo-{$attrs}x{$height}{$ext}?". current_time( 'timestamp' );
1827
- } elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}{$ext}" ) ) {
1828
  $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo-{$attrs}{$ext}?" . current_time( 'timestamp' );
1829
- }
 
 
1830
 
1831
  if ( ! empty( $uri_common ) && empty( $uri ) ) {
1832
  $uri = $uri_common;
1811
  $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo{$ext}?" . current_time( 'timestamp' );
1812
  }
1813
 
1814
+ if ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}{$ext}" ) ) {
 
 
1815
  $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo-{$attrs}{$ext}?" . current_time( 'timestamp' );
1816
+ }elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}x{$height}{$ext}" ) ) {
1817
+ $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo-{$attrs}x{$height}{$ext}?". current_time( 'timestamp' );
1818
+ }
1819
  }
1820
 
1821
  if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo{$ext}" ) ) {
1822
  $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo{$ext}?" . current_time( 'timestamp' );
1823
  }
1824
 
1825
+ if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}{$ext}" ) ) {
 
 
1826
  $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo-{$attrs}{$ext}?" . current_time( 'timestamp' );
1827
+ }elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}x{$height}{$ext}" ) ) {
1828
+ $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo-{$attrs}x{$height}{$ext}?". current_time( 'timestamp' );
1829
+ }
1830
 
1831
  if ( ! empty( $uri_common ) && empty( $uri ) ) {
1832
  $uri = $uri_common;
languages/ultimate-member-en_US.mo CHANGED
Binary file
languages/ultimate-member-en_US.po CHANGED
@@ -1,8 +1,8 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Ultimate Member\n"
4
- "POT-Creation-Date: 2019-01-10 14:28+0200\n"
5
- "PO-Revision-Date: 2019-01-10 14:28+0200\n"
6
  "Last-Translator: \n"
7
  "Language-Team: \n"
8
  "Language: en_US\n"
@@ -35,7 +35,7 @@ msgid "Docs"
35
  msgstr ""
36
 
37
  #: includes/admin/class-admin.php:308
38
- #: includes/admin/core/class-admin-settings.php:1150
39
  msgid "Settings"
40
  msgstr ""
41
 
@@ -103,7 +103,7 @@ msgstr ""
103
  #: includes/admin/core/class-admin-builder.php:767
104
  #: includes/admin/core/class-admin-dragdrop.php:32
105
  #: includes/admin/core/class-admin-menu.php:104
106
- #: includes/core/class-fields.php:4067
107
  msgid "Please login as administrator"
108
  msgstr ""
109
 
@@ -158,7 +158,7 @@ msgstr ""
158
 
159
  #: includes/admin/core/class-admin-builder.php:1143
160
  #: includes/core/class-form.php:155 includes/core/class-form.php:328
161
- #: includes/core/class-password.php:518
162
  msgid "This is not possible for security reasons."
163
  msgstr ""
164
 
@@ -217,10 +217,10 @@ msgstr ""
217
  #: includes/admin/templates/form/profile_customize.php:22
218
  #: includes/admin/templates/form/profile_customize.php:88
219
  #: includes/admin/templates/form/profile_customize.php:107
220
- #: includes/admin/templates/form/profile_customize.php:140
221
- #: includes/admin/templates/form/profile_customize.php:151
222
- #: includes/admin/templates/form/profile_customize.php:162
223
- #: includes/admin/templates/form/profile_customize.php:173
224
  #: includes/admin/templates/form/register_customize.php:20
225
  #: includes/admin/templates/form/register_customize.php:76
226
  #: includes/admin/templates/form/register_gdpr.php:23
@@ -241,15 +241,15 @@ msgstr ""
241
  #: includes/admin/templates/form/profile_customize.php:23
242
  #: includes/admin/templates/form/profile_customize.php:89
243
  #: includes/admin/templates/form/profile_customize.php:108
244
- #: includes/admin/templates/form/profile_customize.php:141
245
- #: includes/admin/templates/form/profile_customize.php:152
246
- #: includes/admin/templates/form/profile_customize.php:163
247
- #: includes/admin/templates/form/profile_customize.php:174
248
  #: includes/admin/templates/form/register_customize.php:21
249
  #: includes/admin/templates/form/register_customize.php:77
250
  #: includes/admin/templates/form/register_gdpr.php:24
251
  #: includes/core/class-builtin.php:1130 includes/core/class-builtin.php:1145
252
- #: includes/core/um-filters-members.php:68
253
  msgid "Yes"
254
  msgstr ""
255
 
@@ -268,7 +268,7 @@ msgstr ""
268
  #: includes/admin/core/class-admin-forms.php:947
269
  #: includes/admin/core/class-admin-forms.php:956
270
  #: includes/admin/core/class-admin-notices.php:390
271
- #: includes/core/um-actions-profile.php:553
272
  msgid "Remove"
273
  msgstr ""
274
 
@@ -408,7 +408,7 @@ msgstr ""
408
  #. Plugin Name of the plugin/theme
409
  #. Author of the plugin/theme
410
  #: includes/admin/core/class-admin-menu.php:145
411
- #: includes/core/class-user.php:557
412
  msgid "Ultimate Member"
413
  msgstr ""
414
 
@@ -1661,7 +1661,7 @@ msgid ""
1661
  msgstr ""
1662
 
1663
  #: includes/admin/core/class-admin-settings.php:436
1664
- #: includes/class-config.php:134 includes/class-config.php:742
1665
  #: includes/core/class-account.php:90
1666
  msgid "Account"
1667
  msgstr ""
@@ -2037,7 +2037,7 @@ msgid "Select Default Cover Photo"
2037
  msgstr ""
2038
 
2039
  #: includes/admin/core/class-admin-settings.php:737
2040
- #: includes/admin/templates/form/profile_customize.php:127
2041
  msgid "Profile Photo Size"
2042
  msgstr ""
2043
 
@@ -2334,143 +2334,152 @@ msgid ""
2334
  msgstr ""
2335
 
2336
  #: includes/admin/core/class-admin-settings.php:1061
2337
- msgid "Remove Data on Uninstall?"
2338
  msgstr ""
2339
 
2340
  #: includes/admin/core/class-admin-settings.php:1062
2341
  msgid ""
 
 
 
 
 
 
 
 
 
2342
  "Check this box if you would like Ultimate Member to completely remove all of "
2343
  "its data when the plugin/extensions are deleted."
2344
  msgstr ""
2345
 
2346
- #: includes/admin/core/class-admin-settings.php:1067
2347
  msgid "Install Info"
2348
  msgstr ""
2349
 
2350
- #: includes/admin/core/class-admin-settings.php:1181
2351
  msgid "Ultimate Member - Settings"
2352
  msgstr ""
2353
 
2354
- #: includes/admin/core/class-admin-settings.php:1320
2355
  msgid "Save Changes"
2356
  msgstr ""
2357
 
2358
- #: includes/admin/core/class-admin-settings.php:1763
2359
  msgid "Subject Line"
2360
  msgstr ""
2361
 
2362
- #: includes/admin/core/class-admin-settings.php:1765
2363
  msgid "This is the subject line of the e-mail"
2364
  msgstr ""
2365
 
2366
- #: includes/admin/core/class-admin-settings.php:1770
2367
  msgid "Message Body"
2368
  msgstr ""
2369
 
2370
- #: includes/admin/core/class-admin-settings.php:1772
2371
  msgid "This is the content of the e-mail"
2372
  msgstr ""
2373
 
2374
- #: includes/admin/core/class-admin-settings.php:1822
2375
- #: includes/admin/core/class-admin-settings.php:1920
2376
  #, php-format
2377
  msgid ""
2378
  "Your license key expired on %s. Please <a href=\"%s\" target=\"_blank"
2379
  "\">renew your license key</a>."
2380
  msgstr ""
2381
 
2382
- #: includes/admin/core/class-admin-settings.php:1835
2383
- #: includes/admin/core/class-admin-settings.php:1933
2384
  #, php-format
2385
  msgid ""
2386
  "Your license key has been disabled. Please <a href=\"%s\" target=\"_blank"
2387
  "\">contact support</a> for more information."
2388
  msgstr ""
2389
 
2390
- #: includes/admin/core/class-admin-settings.php:1847
2391
- #: includes/admin/core/class-admin-settings.php:1945
2392
  #, php-format
2393
  msgid ""
2394
  "Invalid license. Please <a href=\"%s\" target=\"_blank\">visit your account "
2395
  "page</a> and verify it."
2396
  msgstr ""
2397
 
2398
- #: includes/admin/core/class-admin-settings.php:1860
2399
- #: includes/admin/core/class-admin-settings.php:1958
2400
  #, php-format
2401
  msgid ""
2402
  "Your %s is not active for this URL. Please <a href=\"%s\" target=\"_blank"
2403
  "\">visit your account page</a> to manage your license key URLs."
2404
  msgstr ""
2405
 
2406
- #: includes/admin/core/class-admin-settings.php:1872
2407
- #: includes/admin/core/class-admin-settings.php:1970
2408
  #, php-format
2409
  msgid "This appears to be an invalid license key for %s."
2410
  msgstr ""
2411
 
2412
- #: includes/admin/core/class-admin-settings.php:1881
2413
- #: includes/admin/core/class-admin-settings.php:1979
2414
  #, php-format
2415
  msgid ""
2416
  "Your license key has reached its activation limit. <a href=\"%s\">View "
2417
  "possible upgrades</a> now."
2418
  msgstr ""
2419
 
2420
- #: includes/admin/core/class-admin-settings.php:1890
2421
- #: includes/admin/core/class-admin-settings.php:1988
2422
  msgid ""
2423
  "The key you entered belongs to a bundle, please use the product specific "
2424
  "license key."
2425
  msgstr ""
2426
 
2427
- #: includes/admin/core/class-admin-settings.php:1898
2428
- #: includes/admin/core/class-admin-settings.php:1906
2429
  msgid "unknown_error"
2430
  msgstr ""
2431
 
2432
- #: includes/admin/core/class-admin-settings.php:1899
2433
- #: includes/admin/core/class-admin-settings.php:1907
2434
  #, php-format
2435
  msgid ""
2436
  "There was an error with this license key: %s. Please <a href=\"%s\">contact "
2437
  "our support team</a>."
2438
  msgstr ""
2439
 
2440
- #: includes/admin/core/class-admin-settings.php:2003
2441
  msgid "License key never expires."
2442
  msgstr ""
2443
 
2444
- #: includes/admin/core/class-admin-settings.php:2010
2445
  #, php-format
2446
  msgid ""
2447
  "Your license key expires soon! It expires on %s. <a href=\"%s\" target="
2448
  "\"_blank\">Renew your license key</a>."
2449
  msgstr ""
2450
 
2451
- #: includes/admin/core/class-admin-settings.php:2020
2452
  #, php-format
2453
  msgid "Your license key expires on %s."
2454
  msgstr ""
2455
 
2456
- #: includes/admin/core/class-admin-settings.php:2038
2457
  #, php-format
2458
  msgid "To receive updates, please enter your valid %s license key."
2459
  msgstr ""
2460
 
2461
- #: includes/admin/core/class-admin-settings.php:2062
2462
  msgid "Clear License"
2463
  msgstr ""
2464
 
2465
- #: includes/admin/core/class-admin-settings.php:2064
2466
  msgid "Activate"
2467
  msgstr ""
2468
 
2469
- #: includes/admin/core/class-admin-settings.php:2066
2470
  msgid "Re-Activate"
2471
  msgstr ""
2472
 
2473
- #: includes/admin/core/class-admin-settings.php:2118
2474
  msgid ""
2475
  "To copy the Install info, click below then press Ctrl + C (PC) or Cmd + C "
2476
  "(Mac)."
@@ -2541,7 +2550,7 @@ msgid "UM Action"
2541
  msgstr ""
2542
 
2543
  #: includes/admin/core/class-admin-users.php:116
2544
- #: includes/core/class-fields.php:2302
2545
  msgid "Apply"
2546
  msgstr ""
2547
 
@@ -2584,7 +2593,7 @@ msgstr ""
2584
 
2585
  #: includes/admin/core/class-admin-users.php:305
2586
  #: includes/admin/templates/dashboard/users.php:11
2587
- #: includes/core/class-user.php:821
2588
  msgid "Approved"
2589
  msgstr ""
2590
 
@@ -2919,12 +2928,12 @@ msgid "Get latest versions"
2919
  msgstr ""
2920
 
2921
  #: includes/admin/templates/dashboard/users.php:27
2922
- #: includes/core/class-user.php:829
2923
  msgid "Pending Review"
2924
  msgstr ""
2925
 
2926
  #: includes/admin/templates/dashboard/users.php:32
2927
- #: includes/core/class-user.php:825
2928
  msgid "Awaiting E-mail Confirmation"
2929
  msgstr ""
2930
 
@@ -3346,27 +3355,27 @@ msgstr ""
3346
  msgid "Cover photo ratio"
3347
  msgstr ""
3348
 
3349
- #: includes/admin/templates/form/profile_customize.php:128
3350
  msgid "Set the profile photo size in pixels here"
3351
  msgstr ""
3352
 
3353
- #: includes/admin/templates/form/profile_customize.php:135
3354
  msgid "Make Profile Photo Required"
3355
  msgstr ""
3356
 
3357
- #: includes/admin/templates/form/profile_customize.php:136
3358
  msgid "Require user to update a profile photo when updating their profile"
3359
  msgstr ""
3360
 
3361
- #: includes/admin/templates/form/profile_customize.php:147
3362
  msgid "Show display name in profile header?"
3363
  msgstr ""
3364
 
3365
- #: includes/admin/templates/form/profile_customize.php:158
3366
  msgid "Show social links in profile header?"
3367
  msgstr ""
3368
 
3369
- #: includes/admin/templates/form/profile_customize.php:169
3370
  msgid "Show user description in profile header?"
3371
  msgstr ""
3372
 
@@ -3515,12 +3524,12 @@ msgstr ""
3515
  #: includes/admin/templates/modal/dynamic_new_group.php:15
3516
  #: includes/admin/templates/modal/fonticons.php:11
3517
  #: includes/admin/templates/role/publish.php:24
3518
- #: includes/core/class-fields.php:2303 includes/core/class-fields.php:2400
3519
- #: includes/core/um-actions-profile.php:554
3520
- #: includes/core/um-actions-profile.php:693
3521
- #: includes/core/um-actions-profile.php:726
3522
- #: includes/core/um-actions-profile.php:1071
3523
- #: includes/core/um-actions-profile.php:1078
3524
  msgid "Cancel"
3525
  msgstr ""
3526
 
@@ -3864,31 +3873,31 @@ msgstr ""
3864
  msgid "Check All"
3865
  msgstr ""
3866
 
3867
- #: includes/class-config.php:129 includes/class-config.php:737
3868
  msgid "User"
3869
  msgstr ""
3870
 
3871
  #: includes/class-config.php:130 includes/class-config.php:235
3872
- #: includes/class-config.php:241 includes/class-config.php:738
3873
  msgid "Login"
3874
  msgstr ""
3875
 
3876
  #: includes/class-config.php:131 includes/class-config.php:233
3877
- #: includes/class-config.php:245 includes/class-config.php:739
3878
  msgid "Register"
3879
  msgstr ""
3880
 
3881
- #: includes/class-config.php:132 includes/class-config.php:740
3882
  msgid "Members"
3883
  msgstr ""
3884
 
3885
- #: includes/class-config.php:133 includes/class-config.php:741
3886
- #: includes/core/um-actions-profile.php:1077
3887
  #: includes/core/um-actions-user.php:15
3888
  msgid "Logout"
3889
  msgstr ""
3890
 
3891
- #: includes/class-config.php:135 includes/class-config.php:743
3892
  msgid "Password Reset"
3893
  msgstr ""
3894
 
@@ -4008,36 +4017,36 @@ msgid ""
4008
  "account data from the site. To delete your account enter your password below"
4009
  msgstr ""
4010
 
4011
- #: includes/class-dependencies.php:163
4012
  #, php-format
4013
  msgid ""
4014
  "This version of <strong>\"%s\"</strong> requires the core <strong>%s</"
4015
  "strong> plugin to be <strong>%s</strong> or higher."
4016
  msgstr ""
4017
 
4018
- #: includes/class-dependencies.php:165
4019
  #, php-format
4020
  msgid "Please update <strong>%s</strong> to the latest version."
4021
  msgstr ""
4022
 
4023
- #: includes/class-dependencies.php:167
4024
  #, php-format
4025
  msgid ""
4026
  "Sorry, but this version of <strong>%s</strong> does not work with extension "
4027
  "<strong>\"%s\" %s</strong> version."
4028
  msgstr ""
4029
 
4030
- #: includes/class-dependencies.php:169
4031
  #, php-format
4032
  msgid "Please update extension <strong>\"%s\"</strong> to the latest version."
4033
  msgstr ""
4034
 
4035
- #: includes/class-dependencies.php:178
4036
  #, php-format
4037
  msgid "Please check <strong>\"%s\" %s</strong> extension's folder name."
4038
  msgstr ""
4039
 
4040
- #: includes/class-dependencies.php:180
4041
  #, php-format
4042
  msgid "Correct folder name is <strong>\"%s\"</strong>"
4043
  msgstr ""
@@ -4159,7 +4168,7 @@ msgstr ""
4159
  msgid "You must add a shortcode to the content area"
4160
  msgstr ""
4161
 
4162
- #: includes/core/class-builtin.php:663 includes/core/class-user.php:1543
4163
  msgid "Only me"
4164
  msgstr ""
4165
 
@@ -4313,7 +4322,7 @@ msgid "Cover Photo"
4313
  msgstr ""
4314
 
4315
  #: includes/core/class-builtin.php:1080
4316
- #: includes/core/um-actions-profile.php:516
4317
  msgid "Change your cover photo"
4318
  msgstr ""
4319
 
@@ -6222,99 +6231,99 @@ msgstr ""
6222
  msgid "Less than 1 year old"
6223
  msgstr ""
6224
 
6225
- #: includes/core/class-external-integrations.php:420
6226
  #, php-format
6227
  msgid "Edit the %s translation"
6228
  msgstr ""
6229
 
6230
- #: includes/core/class-external-integrations.php:427
6231
  #, php-format
6232
  msgid "Add translation to %s"
6233
  msgstr ""
6234
 
6235
- #: includes/core/class-fields.php:1167 templates/message.php:5
6236
  #, php-format
6237
  msgid "%s"
6238
  msgstr ""
6239
 
6240
- #: includes/core/class-fields.php:1186
6241
  msgid "Custom Field"
6242
  msgstr ""
6243
 
6244
- #: includes/core/class-fields.php:1483
6245
  msgid "Please upload a valid image!"
6246
  msgstr ""
6247
 
6248
- #: includes/core/class-fields.php:1490 includes/core/class-fields.php:1511
6249
  msgid "Upload"
6250
  msgstr ""
6251
 
6252
- #: includes/core/class-fields.php:1491
6253
  msgid "Sorry this is not a valid image."
6254
  msgstr ""
6255
 
6256
- #: includes/core/class-fields.php:1492
6257
  msgid "This image is too large!"
6258
  msgstr ""
6259
 
6260
- #: includes/core/class-fields.php:1493
6261
  msgid "This image is too small!"
6262
  msgstr ""
6263
 
6264
- #: includes/core/class-fields.php:1494
6265
  msgid "You can only upload one image"
6266
  msgstr ""
6267
 
6268
- #: includes/core/class-fields.php:1961
6269
  msgid "Current Password"
6270
  msgstr ""
6271
 
6272
- #: includes/core/class-fields.php:1990
6273
  msgid "New Password"
6274
  msgstr ""
6275
 
6276
- #: includes/core/class-fields.php:2022
6277
  #, php-format
6278
  msgid "Confirm %s"
6279
  msgstr ""
6280
 
6281
- #: includes/core/class-fields.php:2257
6282
  msgid "Upload Photo"
6283
  msgstr ""
6284
 
6285
- #: includes/core/class-fields.php:2278 includes/core/class-fields.php:2302
6286
- #: includes/core/um-actions-profile.php:724
6287
  msgid "Change photo"
6288
  msgstr ""
6289
 
6290
- #: includes/core/class-fields.php:2302 includes/core/class-fields.php:2399
6291
  msgid "Processing..."
6292
  msgstr ""
6293
 
6294
- #: includes/core/class-fields.php:2324
6295
  msgid "Upload File"
6296
  msgstr ""
6297
 
6298
- #: includes/core/class-fields.php:2366 includes/core/um-filters-fields.php:243
6299
  msgid "This file has been removed."
6300
  msgstr ""
6301
 
6302
- #: includes/core/class-fields.php:2369 includes/core/class-fields.php:2399
6303
  msgid "Change file"
6304
  msgstr ""
6305
 
6306
- #: includes/core/class-fields.php:2399
6307
  msgid "Save"
6308
  msgstr ""
6309
 
6310
- #: includes/core/class-fields.php:3822
6311
  #, php-format
6312
  msgid ""
6313
  "Your profile is looking a little empty. Why not <a href=\"%s\">add</a> some "
6314
  "information!"
6315
  msgstr ""
6316
 
6317
- #: includes/core/class-fields.php:3824
6318
  msgid "This user has not added any information to their profile yet."
6319
  msgstr ""
6320
 
@@ -6330,23 +6339,23 @@ msgstr ""
6330
  msgid "Invalid file ownership"
6331
  msgstr ""
6332
 
6333
- #: includes/core/class-files.php:334
6334
  msgid "Invalid nonce"
6335
  msgstr ""
6336
 
6337
- #: includes/core/class-files.php:354 includes/core/class-files.php:439
6338
  msgid "A theme or plugin compatibility issue"
6339
  msgstr ""
6340
 
6341
- #: includes/core/class-files.php:982
6342
  msgid "Ultimate Member: Not a valid temp file"
6343
  msgstr ""
6344
 
6345
- #: includes/core/class-files.php:1110
6346
  msgid "Invalid user ID: "
6347
  msgstr ""
6348
 
6349
- #: includes/core/class-files.php:1119 includes/core/class-files.php:1147
6350
  msgid "Unauthorized to do this attempt."
6351
  msgstr ""
6352
 
@@ -6355,44 +6364,44 @@ msgstr ""
6355
  msgid "You can not edit this user"
6356
  msgstr ""
6357
 
6358
- #: includes/core/class-password.php:443
6359
  msgid "Please provide your username or email"
6360
  msgstr ""
6361
 
6362
- #: includes/core/class-password.php:447
6363
  msgid "We can't find an account registered with that address or username"
6364
  msgstr ""
6365
 
6366
- #: includes/core/class-password.php:466
6367
  msgid ""
6368
  "You have reached the limit for requesting password change for this user "
6369
  "already. Contact support if you cannot open the email"
6370
  msgstr ""
6371
 
6372
- #: includes/core/class-password.php:522
6373
  msgid "You must enter a new password"
6374
  msgstr ""
6375
 
6376
- #: includes/core/class-password.php:528 includes/core/um-actions-account.php:54
6377
  msgid "Your password must contain at least 8 characters"
6378
  msgstr ""
6379
 
6380
- #: includes/core/class-password.php:532 includes/core/um-actions-account.php:58
6381
  msgid "Your password must contain less than 30 characters"
6382
  msgstr ""
6383
 
6384
- #: includes/core/class-password.php:536 includes/core/um-actions-account.php:62
6385
  #: includes/core/um-actions-form.php:476
6386
  msgid ""
6387
  "Your password must contain at least one lowercase letter, one capital letter "
6388
  "and one number"
6389
  msgstr ""
6390
 
6391
- #: includes/core/class-password.php:542
6392
  msgid "You must confirm your new password"
6393
  msgstr ""
6394
 
6395
- #: includes/core/class-password.php:546 includes/core/um-actions-form.php:485
6396
  msgid "Your passwords do not match"
6397
  msgstr ""
6398
 
@@ -6508,45 +6517,45 @@ msgstr ""
6508
  msgid "Default Template"
6509
  msgstr ""
6510
 
6511
- #: includes/core/class-uploader.php:654
6512
  msgid "Your image is invalid!"
6513
  msgstr ""
6514
 
6515
- #: includes/core/class-uploader.php:696
6516
  msgid "This media type is not recognized."
6517
  msgstr ""
6518
 
6519
- #: includes/core/class-uploader.php:744
6520
  msgid "Your image is invalid or too large!"
6521
  msgstr ""
6522
 
6523
- #: includes/core/class-uploader.php:750 includes/core/class-uploader.php:752
6524
  #, php-format
6525
  msgid "Your photo is too small. It must be at least %spx wide."
6526
  msgstr ""
6527
 
6528
- #: includes/core/class-uploader.php:805
6529
  msgid "This file type is not recognized."
6530
  msgstr ""
6531
 
6532
- #: includes/core/class-uploader.php:1071
6533
  #, php-format
6534
  msgid "Maximum file size allowed: %s"
6535
  msgstr ""
6536
 
6537
- #: includes/core/class-user.php:615
6538
  msgid "Ultimate Member Role"
6539
  msgstr ""
6540
 
6541
- #: includes/core/class-user.php:618
6542
  msgid "&mdash; No role for Ultimate Member &mdash;"
6543
  msgstr ""
6544
 
6545
- #: includes/core/class-user.php:833
6546
  msgid "Membership Rejected"
6547
  msgstr ""
6548
 
6549
- #: includes/core/class-user.php:837
6550
  msgid "Membership Inactive"
6551
  msgstr ""
6552
 
@@ -6767,15 +6776,15 @@ msgstr ""
6767
  msgid "Password is incorrect. Please try again."
6768
  msgstr ""
6769
 
6770
- #: includes/core/um-actions-login.php:195
6771
  msgid "This action has been prevented for security measures."
6772
  msgstr ""
6773
 
6774
- #: includes/core/um-actions-login.php:419
6775
  msgid "Keep me signed in"
6776
  msgstr ""
6777
 
6778
- #: includes/core/um-actions-login.php:463
6779
  msgid "Forgot your password?"
6780
  msgstr ""
6781
 
@@ -6869,37 +6878,37 @@ msgstr ""
6869
  msgid "Your choosed %s"
6870
  msgstr ""
6871
 
6872
- #: includes/core/um-actions-profile.php:552
6873
  msgid "Change cover photo"
6874
  msgstr ""
6875
 
6876
- #: includes/core/um-actions-profile.php:595
6877
  msgid "Upload a cover photo"
6878
  msgstr ""
6879
 
6880
- #: includes/core/um-actions-profile.php:692
6881
  msgid "Upload photo"
6882
  msgstr ""
6883
 
6884
- #: includes/core/um-actions-profile.php:725
6885
  msgid "Remove photo"
6886
  msgstr ""
6887
 
6888
- #: includes/core/um-actions-profile.php:889
6889
  msgid "Tell us a bit about yourself..."
6890
  msgstr ""
6891
 
6892
- #: includes/core/um-actions-profile.php:905
6893
  #, php-format
6894
  msgid "This user account status is %s"
6895
  msgstr ""
6896
 
6897
- #: includes/core/um-actions-profile.php:1044
6898
- #: includes/core/um-actions-profile.php:1075
6899
  msgid "Edit Profile"
6900
  msgstr ""
6901
 
6902
- #: includes/core/um-actions-profile.php:1076
6903
  msgid "My Account"
6904
  msgstr ""
6905
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Ultimate Member\n"
4
+ "POT-Creation-Date: 2019-02-11 18:50+0200\n"
5
+ "PO-Revision-Date: 2019-02-11 18:50+0200\n"
6
  "Last-Translator: \n"
7
  "Language-Team: \n"
8
  "Language: en_US\n"
35
  msgstr ""
36
 
37
  #: includes/admin/class-admin.php:308
38
+ #: includes/admin/core/class-admin-settings.php:1156
39
  msgid "Settings"
40
  msgstr ""
41
 
103
  #: includes/admin/core/class-admin-builder.php:767
104
  #: includes/admin/core/class-admin-dragdrop.php:32
105
  #: includes/admin/core/class-admin-menu.php:104
106
+ #: includes/core/class-fields.php:4071
107
  msgid "Please login as administrator"
108
  msgstr ""
109
 
158
 
159
  #: includes/admin/core/class-admin-builder.php:1143
160
  #: includes/core/class-form.php:155 includes/core/class-form.php:328
161
+ #: includes/core/class-password.php:528
162
  msgid "This is not possible for security reasons."
163
  msgstr ""
164
 
217
  #: includes/admin/templates/form/profile_customize.php:22
218
  #: includes/admin/templates/form/profile_customize.php:88
219
  #: includes/admin/templates/form/profile_customize.php:107
220
+ #: includes/admin/templates/form/profile_customize.php:141
221
+ #: includes/admin/templates/form/profile_customize.php:152
222
+ #: includes/admin/templates/form/profile_customize.php:163
223
+ #: includes/admin/templates/form/profile_customize.php:174
224
  #: includes/admin/templates/form/register_customize.php:20
225
  #: includes/admin/templates/form/register_customize.php:76
226
  #: includes/admin/templates/form/register_gdpr.php:23
241
  #: includes/admin/templates/form/profile_customize.php:23
242
  #: includes/admin/templates/form/profile_customize.php:89
243
  #: includes/admin/templates/form/profile_customize.php:108
244
+ #: includes/admin/templates/form/profile_customize.php:142
245
+ #: includes/admin/templates/form/profile_customize.php:153
246
+ #: includes/admin/templates/form/profile_customize.php:164
247
+ #: includes/admin/templates/form/profile_customize.php:175
248
  #: includes/admin/templates/form/register_customize.php:21
249
  #: includes/admin/templates/form/register_customize.php:77
250
  #: includes/admin/templates/form/register_gdpr.php:24
251
  #: includes/core/class-builtin.php:1130 includes/core/class-builtin.php:1145
252
+ #: includes/core/um-filters-members.php:69
253
  msgid "Yes"
254
  msgstr ""
255
 
268
  #: includes/admin/core/class-admin-forms.php:947
269
  #: includes/admin/core/class-admin-forms.php:956
270
  #: includes/admin/core/class-admin-notices.php:390
271
+ #: includes/core/um-actions-profile.php:555
272
  msgid "Remove"
273
  msgstr ""
274
 
408
  #. Plugin Name of the plugin/theme
409
  #. Author of the plugin/theme
410
  #: includes/admin/core/class-admin-menu.php:145
411
+ #: includes/core/class-user.php:558
412
  msgid "Ultimate Member"
413
  msgstr ""
414
 
1661
  msgstr ""
1662
 
1663
  #: includes/admin/core/class-admin-settings.php:436
1664
+ #: includes/class-config.php:134 includes/class-config.php:743
1665
  #: includes/core/class-account.php:90
1666
  msgid "Account"
1667
  msgstr ""
2037
  msgstr ""
2038
 
2039
  #: includes/admin/core/class-admin-settings.php:737
2040
+ #: includes/admin/templates/form/profile_customize.php:128
2041
  msgid "Profile Photo Size"
2042
  msgstr ""
2043
 
2334
  msgstr ""
2335
 
2336
  #: includes/admin/core/class-admin-settings.php:1061
2337
+ msgid "Disable Cache User Profile"
2338
  msgstr ""
2339
 
2340
  #: includes/admin/core/class-admin-settings.php:1062
2341
  msgid ""
2342
+ "Check this box if you would like to disable Ultimate Member user's cache."
2343
+ msgstr ""
2344
+
2345
+ #: includes/admin/core/class-admin-settings.php:1067
2346
+ msgid "Remove Data on Uninstall?"
2347
+ msgstr ""
2348
+
2349
+ #: includes/admin/core/class-admin-settings.php:1068
2350
+ msgid ""
2351
  "Check this box if you would like Ultimate Member to completely remove all of "
2352
  "its data when the plugin/extensions are deleted."
2353
  msgstr ""
2354
 
2355
+ #: includes/admin/core/class-admin-settings.php:1073
2356
  msgid "Install Info"
2357
  msgstr ""
2358
 
2359
+ #: includes/admin/core/class-admin-settings.php:1187
2360
  msgid "Ultimate Member - Settings"
2361
  msgstr ""
2362
 
2363
+ #: includes/admin/core/class-admin-settings.php:1326
2364
  msgid "Save Changes"
2365
  msgstr ""
2366
 
2367
+ #: includes/admin/core/class-admin-settings.php:1769
2368
  msgid "Subject Line"
2369
  msgstr ""
2370
 
2371
+ #: includes/admin/core/class-admin-settings.php:1771
2372
  msgid "This is the subject line of the e-mail"
2373
  msgstr ""
2374
 
2375
+ #: includes/admin/core/class-admin-settings.php:1776
2376
  msgid "Message Body"
2377
  msgstr ""
2378
 
2379
+ #: includes/admin/core/class-admin-settings.php:1778
2380
  msgid "This is the content of the e-mail"
2381
  msgstr ""
2382
 
2383
+ #: includes/admin/core/class-admin-settings.php:1828
2384
+ #: includes/admin/core/class-admin-settings.php:1926
2385
  #, php-format
2386
  msgid ""
2387
  "Your license key expired on %s. Please <a href=\"%s\" target=\"_blank"
2388
  "\">renew your license key</a>."
2389
  msgstr ""
2390
 
2391
+ #: includes/admin/core/class-admin-settings.php:1841
2392
+ #: includes/admin/core/class-admin-settings.php:1939
2393
  #, php-format
2394
  msgid ""
2395
  "Your license key has been disabled. Please <a href=\"%s\" target=\"_blank"
2396
  "\">contact support</a> for more information."
2397
  msgstr ""
2398
 
2399
+ #: includes/admin/core/class-admin-settings.php:1853
2400
+ #: includes/admin/core/class-admin-settings.php:1951
2401
  #, php-format
2402
  msgid ""
2403
  "Invalid license. Please <a href=\"%s\" target=\"_blank\">visit your account "
2404
  "page</a> and verify it."
2405
  msgstr ""
2406
 
2407
+ #: includes/admin/core/class-admin-settings.php:1866
2408
+ #: includes/admin/core/class-admin-settings.php:1964
2409
  #, php-format
2410
  msgid ""
2411
  "Your %s is not active for this URL. Please <a href=\"%s\" target=\"_blank"
2412
  "\">visit your account page</a> to manage your license key URLs."
2413
  msgstr ""
2414
 
2415
+ #: includes/admin/core/class-admin-settings.php:1878
2416
+ #: includes/admin/core/class-admin-settings.php:1976
2417
  #, php-format
2418
  msgid "This appears to be an invalid license key for %s."
2419
  msgstr ""
2420
 
2421
+ #: includes/admin/core/class-admin-settings.php:1887
2422
+ #: includes/admin/core/class-admin-settings.php:1985
2423
  #, php-format
2424
  msgid ""
2425
  "Your license key has reached its activation limit. <a href=\"%s\">View "
2426
  "possible upgrades</a> now."
2427
  msgstr ""
2428
 
2429
+ #: includes/admin/core/class-admin-settings.php:1896
2430
+ #: includes/admin/core/class-admin-settings.php:1994
2431
  msgid ""
2432
  "The key you entered belongs to a bundle, please use the product specific "
2433
  "license key."
2434
  msgstr ""
2435
 
2436
+ #: includes/admin/core/class-admin-settings.php:1904
2437
+ #: includes/admin/core/class-admin-settings.php:1912
2438
  msgid "unknown_error"
2439
  msgstr ""
2440
 
2441
+ #: includes/admin/core/class-admin-settings.php:1905
2442
+ #: includes/admin/core/class-admin-settings.php:1913
2443
  #, php-format
2444
  msgid ""
2445
  "There was an error with this license key: %s. Please <a href=\"%s\">contact "
2446
  "our support team</a>."
2447
  msgstr ""
2448
 
2449
+ #: includes/admin/core/class-admin-settings.php:2009
2450
  msgid "License key never expires."
2451
  msgstr ""
2452
 
2453
+ #: includes/admin/core/class-admin-settings.php:2016
2454
  #, php-format
2455
  msgid ""
2456
  "Your license key expires soon! It expires on %s. <a href=\"%s\" target="
2457
  "\"_blank\">Renew your license key</a>."
2458
  msgstr ""
2459
 
2460
+ #: includes/admin/core/class-admin-settings.php:2026
2461
  #, php-format
2462
  msgid "Your license key expires on %s."
2463
  msgstr ""
2464
 
2465
+ #: includes/admin/core/class-admin-settings.php:2044
2466
  #, php-format
2467
  msgid "To receive updates, please enter your valid %s license key."
2468
  msgstr ""
2469
 
2470
+ #: includes/admin/core/class-admin-settings.php:2068
2471
  msgid "Clear License"
2472
  msgstr ""
2473
 
2474
+ #: includes/admin/core/class-admin-settings.php:2070
2475
  msgid "Activate"
2476
  msgstr ""
2477
 
2478
+ #: includes/admin/core/class-admin-settings.php:2072
2479
  msgid "Re-Activate"
2480
  msgstr ""
2481
 
2482
+ #: includes/admin/core/class-admin-settings.php:2124
2483
  msgid ""
2484
  "To copy the Install info, click below then press Ctrl + C (PC) or Cmd + C "
2485
  "(Mac)."
2550
  msgstr ""
2551
 
2552
  #: includes/admin/core/class-admin-users.php:116
2553
+ #: includes/core/class-fields.php:2306
2554
  msgid "Apply"
2555
  msgstr ""
2556
 
2593
 
2594
  #: includes/admin/core/class-admin-users.php:305
2595
  #: includes/admin/templates/dashboard/users.php:11
2596
+ #: includes/core/class-user.php:822
2597
  msgid "Approved"
2598
  msgstr ""
2599
 
2928
  msgstr ""
2929
 
2930
  #: includes/admin/templates/dashboard/users.php:27
2931
+ #: includes/core/class-user.php:830
2932
  msgid "Pending Review"
2933
  msgstr ""
2934
 
2935
  #: includes/admin/templates/dashboard/users.php:32
2936
+ #: includes/core/class-user.php:826
2937
  msgid "Awaiting E-mail Confirmation"
2938
  msgstr ""
2939
 
3355
  msgid "Cover photo ratio"
3356
  msgstr ""
3357
 
3358
+ #: includes/admin/templates/form/profile_customize.php:129
3359
  msgid "Set the profile photo size in pixels here"
3360
  msgstr ""
3361
 
3362
+ #: includes/admin/templates/form/profile_customize.php:136
3363
  msgid "Make Profile Photo Required"
3364
  msgstr ""
3365
 
3366
+ #: includes/admin/templates/form/profile_customize.php:137
3367
  msgid "Require user to update a profile photo when updating their profile"
3368
  msgstr ""
3369
 
3370
+ #: includes/admin/templates/form/profile_customize.php:148
3371
  msgid "Show display name in profile header?"
3372
  msgstr ""
3373
 
3374
+ #: includes/admin/templates/form/profile_customize.php:159
3375
  msgid "Show social links in profile header?"
3376
  msgstr ""
3377
 
3378
+ #: includes/admin/templates/form/profile_customize.php:170
3379
  msgid "Show user description in profile header?"
3380
  msgstr ""
3381
 
3524
  #: includes/admin/templates/modal/dynamic_new_group.php:15
3525
  #: includes/admin/templates/modal/fonticons.php:11
3526
  #: includes/admin/templates/role/publish.php:24
3527
+ #: includes/core/class-fields.php:2307 includes/core/class-fields.php:2404
3528
+ #: includes/core/um-actions-profile.php:556
3529
+ #: includes/core/um-actions-profile.php:695
3530
+ #: includes/core/um-actions-profile.php:728
3531
+ #: includes/core/um-actions-profile.php:1073
3532
+ #: includes/core/um-actions-profile.php:1080
3533
  msgid "Cancel"
3534
  msgstr ""
3535
 
3873
  msgid "Check All"
3874
  msgstr ""
3875
 
3876
+ #: includes/class-config.php:129 includes/class-config.php:738
3877
  msgid "User"
3878
  msgstr ""
3879
 
3880
  #: includes/class-config.php:130 includes/class-config.php:235
3881
+ #: includes/class-config.php:241 includes/class-config.php:739
3882
  msgid "Login"
3883
  msgstr ""
3884
 
3885
  #: includes/class-config.php:131 includes/class-config.php:233
3886
+ #: includes/class-config.php:245 includes/class-config.php:740
3887
  msgid "Register"
3888
  msgstr ""
3889
 
3890
+ #: includes/class-config.php:132 includes/class-config.php:741
3891
  msgid "Members"
3892
  msgstr ""
3893
 
3894
+ #: includes/class-config.php:133 includes/class-config.php:742
3895
+ #: includes/core/um-actions-profile.php:1079
3896
  #: includes/core/um-actions-user.php:15
3897
  msgid "Logout"
3898
  msgstr ""
3899
 
3900
+ #: includes/class-config.php:135 includes/class-config.php:744
3901
  msgid "Password Reset"
3902
  msgstr ""
3903
 
4017
  "account data from the site. To delete your account enter your password below"
4018
  msgstr ""
4019
 
4020
+ #: includes/class-dependencies.php:164
4021
  #, php-format
4022
  msgid ""
4023
  "This version of <strong>\"%s\"</strong> requires the core <strong>%s</"
4024
  "strong> plugin to be <strong>%s</strong> or higher."
4025
  msgstr ""
4026
 
4027
+ #: includes/class-dependencies.php:166
4028
  #, php-format
4029
  msgid "Please update <strong>%s</strong> to the latest version."
4030
  msgstr ""
4031
 
4032
+ #: includes/class-dependencies.php:168
4033
  #, php-format
4034
  msgid ""
4035
  "Sorry, but this version of <strong>%s</strong> does not work with extension "
4036
  "<strong>\"%s\" %s</strong> version."
4037
  msgstr ""
4038
 
4039
+ #: includes/class-dependencies.php:170
4040
  #, php-format
4041
  msgid "Please update extension <strong>\"%s\"</strong> to the latest version."
4042
  msgstr ""
4043
 
4044
+ #: includes/class-dependencies.php:179
4045
  #, php-format
4046
  msgid "Please check <strong>\"%s\" %s</strong> extension's folder name."
4047
  msgstr ""
4048
 
4049
+ #: includes/class-dependencies.php:181
4050
  #, php-format
4051
  msgid "Correct folder name is <strong>\"%s\"</strong>"
4052
  msgstr ""
4168
  msgid "You must add a shortcode to the content area"
4169
  msgstr ""
4170
 
4171
+ #: includes/core/class-builtin.php:663 includes/core/class-user.php:1544
4172
  msgid "Only me"
4173
  msgstr ""
4174
 
4322
  msgstr ""
4323
 
4324
  #: includes/core/class-builtin.php:1080
4325
+ #: includes/core/um-actions-profile.php:518
4326
  msgid "Change your cover photo"
4327
  msgstr ""
4328
 
6231
  msgid "Less than 1 year old"
6232
  msgstr ""
6233
 
6234
+ #: includes/core/class-external-integrations.php:465
6235
  #, php-format
6236
  msgid "Edit the %s translation"
6237
  msgstr ""
6238
 
6239
+ #: includes/core/class-external-integrations.php:472
6240
  #, php-format
6241
  msgid "Add translation to %s"
6242
  msgstr ""
6243
 
6244
+ #: includes/core/class-fields.php:1171 templates/message.php:5
6245
  #, php-format
6246
  msgid "%s"
6247
  msgstr ""
6248
 
6249
+ #: includes/core/class-fields.php:1190
6250
  msgid "Custom Field"
6251
  msgstr ""
6252
 
6253
+ #: includes/core/class-fields.php:1487
6254
  msgid "Please upload a valid image!"
6255
  msgstr ""
6256
 
6257
+ #: includes/core/class-fields.php:1494 includes/core/class-fields.php:1515
6258
  msgid "Upload"
6259
  msgstr ""
6260
 
6261
+ #: includes/core/class-fields.php:1495
6262
  msgid "Sorry this is not a valid image."
6263
  msgstr ""
6264
 
6265
+ #: includes/core/class-fields.php:1496
6266
  msgid "This image is too large!"
6267
  msgstr ""
6268
 
6269
+ #: includes/core/class-fields.php:1497
6270
  msgid "This image is too small!"
6271
  msgstr ""
6272
 
6273
+ #: includes/core/class-fields.php:1498
6274
  msgid "You can only upload one image"
6275
  msgstr ""
6276
 
6277
+ #: includes/core/class-fields.php:1965
6278
  msgid "Current Password"
6279
  msgstr ""
6280
 
6281
+ #: includes/core/class-fields.php:1994
6282
  msgid "New Password"
6283
  msgstr ""
6284
 
6285
+ #: includes/core/class-fields.php:2026
6286
  #, php-format
6287
  msgid "Confirm %s"
6288
  msgstr ""
6289
 
6290
+ #: includes/core/class-fields.php:2261
6291
  msgid "Upload Photo"
6292
  msgstr ""
6293
 
6294
+ #: includes/core/class-fields.php:2282 includes/core/class-fields.php:2306
6295
+ #: includes/core/um-actions-profile.php:726
6296
  msgid "Change photo"
6297
  msgstr ""
6298
 
6299
+ #: includes/core/class-fields.php:2306 includes/core/class-fields.php:2403
6300
  msgid "Processing..."
6301
  msgstr ""
6302
 
6303
+ #: includes/core/class-fields.php:2328
6304
  msgid "Upload File"
6305
  msgstr ""
6306
 
6307
+ #: includes/core/class-fields.php:2370 includes/core/um-filters-fields.php:243
6308
  msgid "This file has been removed."
6309
  msgstr ""
6310
 
6311
+ #: includes/core/class-fields.php:2373 includes/core/class-fields.php:2403
6312
  msgid "Change file"
6313
  msgstr ""
6314
 
6315
+ #: includes/core/class-fields.php:2403
6316
  msgid "Save"
6317
  msgstr ""
6318
 
6319
+ #: includes/core/class-fields.php:3826
6320
  #, php-format
6321
  msgid ""
6322
  "Your profile is looking a little empty. Why not <a href=\"%s\">add</a> some "
6323
  "information!"
6324
  msgstr ""
6325
 
6326
+ #: includes/core/class-fields.php:3828
6327
  msgid "This user has not added any information to their profile yet."
6328
  msgstr ""
6329
 
6339
  msgid "Invalid file ownership"
6340
  msgstr ""
6341
 
6342
+ #: includes/core/class-files.php:336
6343
  msgid "Invalid nonce"
6344
  msgstr ""
6345
 
6346
+ #: includes/core/class-files.php:358 includes/core/class-files.php:445
6347
  msgid "A theme or plugin compatibility issue"
6348
  msgstr ""
6349
 
6350
+ #: includes/core/class-files.php:988
6351
  msgid "Ultimate Member: Not a valid temp file"
6352
  msgstr ""
6353
 
6354
+ #: includes/core/class-files.php:1116
6355
  msgid "Invalid user ID: "
6356
  msgstr ""
6357
 
6358
+ #: includes/core/class-files.php:1125 includes/core/class-files.php:1153
6359
  msgid "Unauthorized to do this attempt."
6360
  msgstr ""
6361
 
6364
  msgid "You can not edit this user"
6365
  msgstr ""
6366
 
6367
+ #: includes/core/class-password.php:453
6368
  msgid "Please provide your username or email"
6369
  msgstr ""
6370
 
6371
+ #: includes/core/class-password.php:457
6372
  msgid "We can't find an account registered with that address or username"
6373
  msgstr ""
6374
 
6375
+ #: includes/core/class-password.php:476
6376
  msgid ""
6377
  "You have reached the limit for requesting password change for this user "
6378
  "already. Contact support if you cannot open the email"
6379
  msgstr ""
6380
 
6381
+ #: includes/core/class-password.php:532
6382
  msgid "You must enter a new password"
6383
  msgstr ""
6384
 
6385
+ #: includes/core/class-password.php:538 includes/core/um-actions-account.php:54
6386
  msgid "Your password must contain at least 8 characters"
6387
  msgstr ""
6388
 
6389
+ #: includes/core/class-password.php:542 includes/core/um-actions-account.php:58
6390
  msgid "Your password must contain less than 30 characters"
6391
  msgstr ""
6392
 
6393
+ #: includes/core/class-password.php:546 includes/core/um-actions-account.php:62
6394
  #: includes/core/um-actions-form.php:476
6395
  msgid ""
6396
  "Your password must contain at least one lowercase letter, one capital letter "
6397
  "and one number"
6398
  msgstr ""
6399
 
6400
+ #: includes/core/class-password.php:552
6401
  msgid "You must confirm your new password"
6402
  msgstr ""
6403
 
6404
+ #: includes/core/class-password.php:556 includes/core/um-actions-form.php:485
6405
  msgid "Your passwords do not match"
6406
  msgstr ""
6407
 
6517
  msgid "Default Template"
6518
  msgstr ""
6519
 
6520
+ #: includes/core/class-uploader.php:662
6521
  msgid "Your image is invalid!"
6522
  msgstr ""
6523
 
6524
+ #: includes/core/class-uploader.php:704
6525
  msgid "This media type is not recognized."
6526
  msgstr ""
6527
 
6528
+ #: includes/core/class-uploader.php:752
6529
  msgid "Your image is invalid or too large!"
6530
  msgstr ""
6531
 
6532
+ #: includes/core/class-uploader.php:758 includes/core/class-uploader.php:760
6533
  #, php-format
6534
  msgid "Your photo is too small. It must be at least %spx wide."
6535
  msgstr ""
6536
 
6537
+ #: includes/core/class-uploader.php:813
6538
  msgid "This file type is not recognized."
6539
  msgstr ""
6540
 
6541
+ #: includes/core/class-uploader.php:1087
6542
  #, php-format
6543
  msgid "Maximum file size allowed: %s"
6544
  msgstr ""
6545
 
6546
+ #: includes/core/class-user.php:616
6547
  msgid "Ultimate Member Role"
6548
  msgstr ""
6549
 
6550
+ #: includes/core/class-user.php:619
6551
  msgid "&mdash; No role for Ultimate Member &mdash;"
6552
  msgstr ""
6553
 
6554
+ #: includes/core/class-user.php:834
6555
  msgid "Membership Rejected"
6556
  msgstr ""
6557
 
6558
+ #: includes/core/class-user.php:838
6559
  msgid "Membership Inactive"
6560
  msgstr ""
6561
 
6776
  msgid "Password is incorrect. Please try again."
6777
  msgstr ""
6778
 
6779
+ #: includes/core/um-actions-login.php:196
6780
  msgid "This action has been prevented for security measures."
6781
  msgstr ""
6782
 
6783
+ #: includes/core/um-actions-login.php:420
6784
  msgid "Keep me signed in"
6785
  msgstr ""
6786
 
6787
+ #: includes/core/um-actions-login.php:464
6788
  msgid "Forgot your password?"
6789
  msgstr ""
6790
 
6878
  msgid "Your choosed %s"
6879
  msgstr ""
6880
 
6881
+ #: includes/core/um-actions-profile.php:554
6882
  msgid "Change cover photo"
6883
  msgstr ""
6884
 
6885
+ #: includes/core/um-actions-profile.php:597
6886
  msgid "Upload a cover photo"
6887
  msgstr ""
6888
 
6889
+ #: includes/core/um-actions-profile.php:694
6890
  msgid "Upload photo"
6891
  msgstr ""
6892
 
6893
+ #: includes/core/um-actions-profile.php:727
6894
  msgid "Remove photo"
6895
  msgstr ""
6896
 
6897
+ #: includes/core/um-actions-profile.php:891
6898
  msgid "Tell us a bit about yourself..."
6899
  msgstr ""
6900
 
6901
+ #: includes/core/um-actions-profile.php:907
6902
  #, php-format
6903
  msgid "This user account status is %s"
6904
  msgstr ""
6905
 
6906
+ #: includes/core/um-actions-profile.php:1046
6907
+ #: includes/core/um-actions-profile.php:1077
6908
  msgid "Edit Profile"
6909
  msgstr ""
6910
 
6911
+ #: includes/core/um-actions-profile.php:1078
6912
  msgid "My Account"
6913
  msgstr ""
6914
 
readme.txt CHANGED
@@ -6,7 +6,7 @@ Donate link:
6
  Tags: community, member, membership, user-profile, user-registration
7
  Requires at least: 4.7
8
  Tested up to: 5.0
9
- Stable tag: 2.0.38
10
  License: GNU Version 2 or Any Later Version
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.txt
12
 
@@ -133,6 +133,24 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
133
 
134
  = Important: UM2.0+ is a significant update to the code base from 1.3.88. Please make sure you take a full-site backup with restore point before updating the plugin =
135
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  = 2.0.38: January 10, 2019 =
137
 
138
  * Enhancements:
6
  Tags: community, member, membership, user-profile, user-registration
7
  Requires at least: 4.7
8
  Tested up to: 5.0
9
+ Stable tag: 2.0.39
10
  License: GNU Version 2 or Any Later Version
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.txt
12
 
133
 
134
  = Important: UM2.0+ is a significant update to the code base from 1.3.88. Please make sure you take a full-site backup with restore point before updating the plugin =
135
 
136
+ = 2.0.39: February 11, 2019 =
137
+
138
+ * Enhancements:
139
+ - Restored option for disable users cache
140
+ - Transposh plugin integration
141
+
142
+ * Bugfixes:
143
+ - Fixed delete users handlers on single/multisite installs
144
+ - Fixed fields labels on member directory
145
+ - Fixed profile form cover photo ratio value
146
+ - Fixed profile and registration form default field's values
147
+ - Fixed "is_selected" function with empty value and default value option
148
+ - Fixed member directory notices with disabled metadata
149
+ - Fixed textarea profile field formatting
150
+ - Fixed registration without username field
151
+ - Fixed flush password reset limit after successfully login
152
+ - Fixed upload files handlers for avoid the conflicts with other plugins
153
+
154
  = 2.0.38: January 10, 2019 =
155
 
156
  * Enhancements:
templates/members-grid.php CHANGED
@@ -89,7 +89,7 @@
89
  do_action( 'um_members_after_user_name', um_user('ID'), $args ); ?>
90
 
91
  <?php
92
- if ( $show_tagline && is_array( $tagline_fields ) ) {
93
 
94
  um_fetch_user( $member );
95
 
@@ -118,16 +118,18 @@
118
  <div class="um-member-meta <?php if ( ! $userinfo_animate ) { echo 'no-animate'; } ?>">
119
 
120
  <?php um_fetch_user( $member );
121
- foreach ( $reveal_fields as $key ) {
122
- if ( $key ) {
123
- $value = um_filtered_value( $key );
124
- if ( ! $value )
125
- continue; ?>
126
-
127
- <div class="um-member-metaline um-member-metaline-<?php echo esc_attr( $key ); ?>"><span><strong><?php echo UM()->fields()->get_label( $key ); ?>:</strong> <?php _e( $value, 'ultimate-member'); ?></span></div>
 
128
 
129
- <?php }
130
- }
 
131
 
132
  if ( $show_social ) { ?>
133
  <div class="um-member-connect">
89
  do_action( 'um_members_after_user_name', um_user('ID'), $args ); ?>
90
 
91
  <?php
92
+ if ( $show_tagline && ! empty( $tagline_fields ) && is_array( $tagline_fields ) ) {
93
 
94
  um_fetch_user( $member );
95
 
118
  <div class="um-member-meta <?php if ( ! $userinfo_animate ) { echo 'no-animate'; } ?>">
119
 
120
  <?php um_fetch_user( $member );
121
+ if ( ! empty( $reveal_fields ) && is_array( $reveal_fields ) ) {
122
+ foreach ( $reveal_fields as $key ) {
123
+ if ( $key ) {
124
+ $value = um_filtered_value( $key );
125
+ if ( ! $value )
126
+ continue; ?>
127
+
128
+ <div class="um-member-metaline um-member-metaline-<?php echo esc_attr( $key ); ?>"><span><strong><?php echo UM()->fields()->get_label( $key ); ?>:</strong> <?php _e( $value, 'ultimate-member'); ?></span></div>
129
 
130
+ <?php }
131
+ }
132
+ }
133
 
134
  if ( $show_social ) { ?>
135
  <div class="um-member-connect">
ultimate-member.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Ultimate Member
4
  Plugin URI: http://ultimatemember.com/
5
  Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
6
- Version: 2.0.38
7
  Author: Ultimate Member
8
  Author URI: http://ultimatemember.com/
9
  Text Domain: ultimate-member
3
  Plugin Name: Ultimate Member
4
  Plugin URI: http://ultimatemember.com/
5
  Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
6
+ Version: 2.0.39
7
  Author: Ultimate Member
8
  Author URI: http://ultimatemember.com/
9
  Text Domain: ultimate-member