Ultimate Member – User Profile & Membership Plugin - Version 2.0.36

Version Description

Download this release

Release Info

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

Code changes from version 2.0.35 to 2.0.36

includes/admin/assets/css/um-admin-global.css CHANGED
@@ -199,6 +199,8 @@ a.um-delete{ color: #a00; }
199
  margin-bottom: 2px !important;
200
  }
201
 
202
- .um_hidden_notice {
 
203
  display: none;
204
- }
 
199
  margin-bottom: 2px !important;
200
  }
201
 
202
+ .um_hidden_notice,
203
+ .um_block_settings_hide {
204
  display: none;
205
+ }
206
+
includes/admin/assets/js/um-admin-blocks.js ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 'use strict';
2
+
3
+ /**
4
+ * Add Control element
5
+ */
6
+ var um_el = wp.element.createElement;
7
+
8
+ var um_components = wp.components,
9
+ umToggleControl = um_components.ToggleControl,
10
+ umSelectControl = um_components.SelectControl,
11
+ umTextareaControl = um_components.TextareaControl,
12
+ umPanelBody = um_components.PanelBody;
13
+
14
+ var __ = wp.i18n.__;
15
+
16
+ var um_block_restriction = wp.compose.createHigherOrderComponent( function( BlockEdit ) {
17
+ var um_condition_fields = {
18
+ um_who_access:'um_block_settings_hide',
19
+ um_roles_access:'um_block_settings_hide',
20
+ um_message_type:'um_block_settings_hide',
21
+ um_message_content:'um_block_settings_hide'
22
+ };
23
+
24
+ return function( props ) {
25
+
26
+ if ( props.attributes.um_is_restrict !== true ) {
27
+ um_condition_fields['um_who_access'] = 'um_block_settings_hide';
28
+ um_condition_fields['um_roles_access'] = 'um_block_settings_hide';
29
+ um_condition_fields['um_message_type'] = 'um_block_settings_hide';
30
+ um_condition_fields['um_message_content'] = 'um_block_settings_hide';
31
+ } else {
32
+ um_condition_fields['um_who_access'] = '';
33
+
34
+ if ( parseInt( props.attributes.um_who_access ) === 0 || typeof props.attributes.um_who_access === 'undefined' ) {
35
+ um_condition_fields['um_roles_access'] = 'um_block_settings_hide';
36
+ um_condition_fields['um_message_type'] = 'um_block_settings_hide';
37
+ um_condition_fields['um_message_content'] = 'um_block_settings_hide';
38
+ } else if ( parseInt( props.attributes.um_who_access ) === 1 ) {
39
+ um_condition_fields['um_roles_access'] = '';
40
+ um_condition_fields['um_message_type'] = '';
41
+
42
+ if ( parseInt( props.attributes.um_message_type ) === 0 || typeof props.attributes.um_message_type === 'undefined' ) {
43
+ um_condition_fields['um_message_content'] = 'um_block_settings_hide';
44
+ } else {
45
+ um_condition_fields['um_message_content'] = '';
46
+ }
47
+ } else {
48
+ um_condition_fields['um_message_type'] = '';
49
+
50
+ if ( parseInt( props.attributes.um_message_type ) === 0 || typeof props.attributes.um_message_type === 'undefined' ) {
51
+ um_condition_fields['um_message_content'] = 'um_block_settings_hide';
52
+ } else {
53
+ um_condition_fields['um_message_content'] = '';
54
+ }
55
+ }
56
+ }
57
+
58
+ return um_el(
59
+ wp.element.Fragment,
60
+ {},
61
+ um_el( BlockEdit, props ),
62
+ um_el(
63
+ wp.editor.InspectorControls,
64
+ {},
65
+ um_el(
66
+ umPanelBody,
67
+ {
68
+ title: __( 'UM access Controls', 'ultimate-member' )
69
+ },
70
+ um_el(
71
+ umToggleControl,
72
+ {
73
+ label: __( 'Restrict access?', 'ultimate-member' ),
74
+ checked: props.attributes.um_is_restrict,
75
+ onChange: function onChange( value ) {
76
+ props.setAttributes({ um_is_restrict: value });
77
+ if ( value === false ) {
78
+ um_condition_fields['um_who_access'] = 'um_block_settings_hide';
79
+ um_condition_fields['um_roles_access'] = 'um_block_settings_hide';
80
+ um_condition_fields['um_message_type'] = 'um_block_settings_hide';
81
+ um_condition_fields['um_message_content'] = 'um_block_settings_hide';
82
+ } else {
83
+ um_condition_fields['um_who_access'] = '';
84
+ }
85
+ }
86
+ }
87
+ ),
88
+ um_el(
89
+ umSelectControl,
90
+ {
91
+ type: 'number',
92
+ className: um_condition_fields['um_who_access'],
93
+ label: __( 'Who can access this content?', 'ultimate-member' ),
94
+ value: props.attributes.um_who_access,
95
+ options: [
96
+ {
97
+ label: __( 'Everyone', 'ultimate-member' ),
98
+ value: 0
99
+ },
100
+ {
101
+ label: __( 'Logged in users', 'ultimate-member' ),
102
+ value: 1
103
+ },
104
+ {
105
+ label: __( 'Logged out users', 'ultimate-member' ),
106
+ value: 2
107
+ }
108
+ ],
109
+ onChange: function onChange( value ) {
110
+ props.setAttributes({ um_who_access: value });
111
+ if ( parseInt( value ) === 0 ) {
112
+ um_condition_fields['um_message_type'] = 'um_block_settings_hide';
113
+ um_condition_fields['um_message_content'] = 'um_block_settings_hide';
114
+ um_condition_fields['um_roles_access'] = 'um_block_settings_hide';
115
+ } else if ( parseInt( value ) === 1 ) {
116
+ um_condition_fields['um_message_type'] = '';
117
+ um_condition_fields['um_roles_access'] = '';
118
+ } else {
119
+ um_condition_fields['um_message_type'] = '';
120
+ um_condition_fields['um_roles_access'] = 'um_block_settings_hide';
121
+ }
122
+ }
123
+ }
124
+ ),
125
+ um_el(
126
+ umSelectControl,
127
+ {
128
+ multiple: true,
129
+ className: um_condition_fields['um_roles_access'],
130
+ label: __( 'What roles can access this content?', 'ultimate-member' ),
131
+ value: props.attributes.um_roles_access,
132
+ options: um_restrict_roles,
133
+ onChange: function onChange( value ) {
134
+ props.setAttributes({ um_roles_access: value });
135
+ }
136
+ }
137
+ ),
138
+ um_el(
139
+ umSelectControl,
140
+ {
141
+ type: 'number',
142
+ className: um_condition_fields['um_message_type'],
143
+ label: __( 'Restriction Message', 'ultimate-member' ),
144
+ value: props.attributes.um_message_type,
145
+ options: [
146
+ {
147
+ label: __( 'Global default message', 'ultimate-member' ),
148
+ value: 0
149
+ },
150
+ {
151
+ label: __( 'Custom Message', 'ultimate-member' ),
152
+ value: 1
153
+ }
154
+ ],
155
+ onChange: function onChange( value ) {
156
+ props.setAttributes({ um_message_type: value });
157
+ if ( parseInt( value ) === 0 ) {
158
+ um_condition_fields['um_message_content'] = 'um_block_settings_hide';
159
+ } else {
160
+ um_condition_fields['um_message_content'] = '';
161
+ }
162
+ }
163
+ }
164
+ ),
165
+ um_el(
166
+ umTextareaControl,
167
+ {
168
+ type: 'number',
169
+ className: um_condition_fields['um_message_content'],
170
+ label: __( 'Message Content', 'ultimate-member' ),
171
+ value: props.attributes.um_message_content,
172
+ onChange: function onChange( value ) {
173
+ props.setAttributes({ um_message_content: value });
174
+ }
175
+ }
176
+ )
177
+ )
178
+ )
179
+ );
180
+ };
181
+ }, 'um_block_restriction' );
182
+
183
+ wp.hooks.addFilter( 'editor.BlockEdit', 'um-block/um_block_restriction', um_block_restriction );
184
+
185
+
186
+ /**
187
+ * Save Attributes
188
+ *
189
+ * @type {{um_is_restrict: {type: string}, um_who_access: {type: string}, um_message_type: {type: string}, um_message_content: {type: string}}}
190
+ */
191
+ var um_block_restrict_settings = {
192
+ um_is_restrict: {
193
+ type: "boolean"
194
+ },
195
+ um_who_access: {
196
+ type: "select"
197
+ },
198
+ um_roles_access: {
199
+ type: "select"
200
+ },
201
+ um_message_type: {
202
+ type: "select"
203
+ },
204
+ um_message_content: {
205
+ type: "string"
206
+ }
207
+ };
208
+
209
+
210
+ /**
211
+ *
212
+ * @param settings
213
+ * @returns {*}
214
+ */
215
+ function um_add_block_attributes( settings ) {
216
+ var _lodash = lodash,
217
+ assign = _lodash.assign;
218
+
219
+ settings.attributes = assign( settings.attributes, um_block_restrict_settings );
220
+ return settings;
221
+ }
222
+
223
+ wp.hooks.addFilter( 'blocks.registerBlockType', 'um-block/um_add_block_attributes', um_add_block_attributes );
includes/admin/assets/js/um-admin-forms.js CHANGED
@@ -19,10 +19,8 @@ jQuery(document).ready( function() {
19
 
20
  var selector_html = jQuery( '<div>' ).append( list.siblings('.um-hidden-multi-selects').clone() ).html();
21
 
22
- var classes = list.find('li:last').attr('class');
23
-
24
  list.append(
25
- '<li class="' + classes + '"><span class="um-field-wrapper">' + selector_html +
26
  '</span><span class="um-field-control"><a href="javascript:void(0);" class="um-select-delete">' + php_data.texts.remove + '</a></span></li>'
27
  );
28
 
19
 
20
  var selector_html = jQuery( '<div>' ).append( list.siblings('.um-hidden-multi-selects').clone() ).html();
21
 
 
 
22
  list.append(
23
+ '<li class="um-multi-selects-option-line"><span class="um-field-wrapper">' + selector_html +
24
  '</span><span class="um-field-control"><a href="javascript:void(0);" class="um-select-delete">' + php_data.texts.remove + '</a></span></li>'
25
  );
26
 
includes/admin/assets/js/um-admin-modal.js CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  function um_admin_live_update_scripts() {
2
  jQuery('.um-adm-conditional').each( function() {
3
  jQuery(this).trigger('change');
@@ -31,6 +34,57 @@ function um_admin_new_modal( id, ajax, size ) {
31
  }
32
  }
33
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
35
  in_row = '';
36
  in_sub_row = '';
@@ -63,54 +117,29 @@ function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
63
  um_admin_modal_loaded();
64
  um_admin_modal_responsive();
65
  },
66
- success: function(data){
67
 
68
  jQuery('.um-admin-modal').find('.um-admin-modal-body').html( data );
69
-
70
  um_responsive();
71
-
72
  um_admin_live_update_scripts();
73
 
74
  jQuery( "#_custom_dropdown_options_source" ).trigger('blur');
75
 
 
76
  if ( jQuery('.um-admin-editor:visible').length > 0 ) {
77
 
78
  if ( act_id == 'um_admin_edit_field_popup' ) {
79
-
80
- tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
81
- jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-edit').contents() );
82
- tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
83
-
84
- jQuery('.switch-html').trigger('click');
85
- jQuery('.switch-html').trigger('click');
86
- jQuery('.switch-tmce').trigger('click');
87
-
88
- jQuery('#um_editor_edit_ifr').height(200);
89
-
90
- var editor = tinyMCE.get('um_editor_edit');
91
- var content = editor.getContent();
92
- editor.setContent( jQuery('.um-admin-modal:visible .dynamic-mce-content').html() );
93
-
94
  } else {
95
- tinyMCE.get('um_editor_new').setContent('');
96
- tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
97
- jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-new').contents() );
98
- tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
99
-
100
- jQuery('.switch-html').trigger('click');
101
- jQuery('.switch-html').trigger('click');
102
- jQuery('.switch-tmce').trigger('click');
103
-
104
- jQuery('#um_editor_new_ifr').height(200);
105
-
106
  }
107
-
108
  }
109
 
110
  um_init_tooltips();
111
-
112
  },
113
- error: function(data){
114
 
115
  }
116
  });
@@ -122,26 +151,30 @@ function um_admin_modal_responsive() {
122
  jQuery('.um-admin-modal:visible').css({'margin-top': '-' + required_margin });
123
  }
124
 
125
- function um_admin_remove_modal(){
126
 
127
  if ( jQuery('.um-admin-editor:visible').length > 0 ) {
128
-
 
129
  if ( jQuery('.um-admin-modal:visible').find('form').parent().attr('id') == 'UM_edit_field' ) {
130
-
131
- tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
 
132
  jQuery('.um-hidden-editor-edit').html( jQuery('.um-admin-editor:visible').contents() );
133
- tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
134
 
135
  } else {
136
-
137
- tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
 
138
  jQuery('.um-hidden-editor-new').html( jQuery('.um-admin-editor:visible').contents() );
139
- tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
140
 
141
  }
142
-
 
143
  }
144
-
145
  jQuery('body').removeClass('um-admin-modal-open');
146
  jQuery('.um-admin-modal div[id^="UM_"]').hide().appendTo('body');
147
  jQuery('.um-admin-modal,.um-admin-overlay').remove();
@@ -291,7 +324,6 @@ jQuery(document).ready(function() {
291
  fire new modal
292
  **/
293
  jQuery(document.body).on('click', 'a[data-modal^="UM_"], span[data-modal^="UM_"]', function(e){
294
-
295
  e.preventDefault();
296
 
297
  var modal_id = jQuery(this).attr('data-modal');
1
+ var $um_tiny_editor = {};
2
+
3
+
4
  function um_admin_live_update_scripts() {
5
  jQuery('.um-adm-conditional').each( function() {
6
  jQuery(this).trigger('change');
34
  }
35
  }
36
 
37
+ function um_tinymce_init( id, content ) {
38
+ var object = jQuery('#' + id);
39
+
40
+ if ( tinyMCE.get( id ) !== null ) {
41
+ tinyMCE.triggerSave();
42
+ tinyMCE.EditorManager.execCommand( 'mceRemoveEditor', true, id );
43
+ "4" === tinyMCE.majorVersion ? window.tinyMCE.execCommand( "mceRemoveEditor", !0, id ) : window.tinyMCE.execCommand( "mceRemoveControl", !0, id );
44
+ $um_tiny_editor = jQuery('<div>').append( object.parents( '#wp-' + id + '-wrap' ).clone() );
45
+ object.parents('#wp-' + id + '-wrap').replaceWith('<div class="um_tiny_placeholder"></div>');
46
+ jQuery('.um-admin-editor:visible').html( jQuery( $um_tiny_editor ).html() );
47
+
48
+ var init;
49
+ if( typeof tinyMCEPreInit.mceInit[ id ] == 'undefined' ){
50
+ init = tinyMCEPreInit.mceInit[ id ] = tinyMCE.extend( {}, tinyMCEPreInit.mceInit[ id ] );
51
+ } else {
52
+ init = tinyMCEPreInit.mceInit[ id ];
53
+ }
54
+ if ( typeof(QTags) == 'function' ) {
55
+ QTags( tinyMCEPreInit.qtInit[ id ] );
56
+ QTags._buttonsInit();
57
+ }
58
+ window.switchEditors.go( id );
59
+ tinyMCE.init( init );
60
+ tinyMCE.get( id ).setContent( content );
61
+ object.html( content );
62
+ } else {
63
+ $um_tiny_editor = jQuery('<div>').append( object.parents('#wp-' + id + '-wrap').clone() );
64
+ object.parents('#wp-' + id + '-wrap').replaceWith('<div class="um_tiny_placeholder"></div>');
65
+
66
+ jQuery('.um-admin-editor:visible').html( jQuery( $um_tiny_editor ).html() );
67
+
68
+ if ( typeof(QTags) == 'function' ) {
69
+ QTags( tinyMCEPreInit.qtInit[ id ] );
70
+ QTags._buttonsInit();
71
+ }
72
+
73
+ //use duplicate because it's new element
74
+ jQuery('#' + id).html( content );
75
+ }
76
+
77
+ jQuery( 'body' ).on( 'click', '.wp-switch-editor', function() {
78
+ var target = jQuery(this);
79
+
80
+ if ( target.hasClass( 'wp-switch-editor' ) ) {
81
+ var mode = target.hasClass( 'switch-tmce' ) ? 'tmce' : 'html';
82
+ window.switchEditors.go( id, mode );
83
+ }
84
+ });
85
+ }
86
+
87
+
88
  function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
89
  in_row = '';
90
  in_sub_row = '';
117
  um_admin_modal_loaded();
118
  um_admin_modal_responsive();
119
  },
120
+ success: function(data) {
121
 
122
  jQuery('.um-admin-modal').find('.um-admin-modal-body').html( data );
123
+
124
  um_responsive();
 
125
  um_admin_live_update_scripts();
126
 
127
  jQuery( "#_custom_dropdown_options_source" ).trigger('blur');
128
 
129
+
130
  if ( jQuery('.um-admin-editor:visible').length > 0 ) {
131
 
132
  if ( act_id == 'um_admin_edit_field_popup' ) {
133
+ um_tinymce_init( 'um_editor_edit', jQuery('.um-admin-modal:visible .dynamic-mce-content').html() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  } else {
135
+ um_tinymce_init( 'um_editor_new', '' );
 
 
 
 
 
 
 
 
 
 
136
  }
137
+
138
  }
139
 
140
  um_init_tooltips();
 
141
  },
142
+ error: function(data) {
143
 
144
  }
145
  });
151
  jQuery('.um-admin-modal:visible').css({'margin-top': '-' + required_margin });
152
  }
153
 
154
+ function um_admin_remove_modal() {
155
 
156
  if ( jQuery('.um-admin-editor:visible').length > 0 ) {
157
+ tinyMCE.triggerSave();
158
+
159
  if ( jQuery('.um-admin-modal:visible').find('form').parent().attr('id') == 'UM_edit_field' ) {
160
+ jQuery('#wp-um_editor_edit-wrap').remove();
161
+
162
+ /*tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
163
  jQuery('.um-hidden-editor-edit').html( jQuery('.um-admin-editor:visible').contents() );
164
+ tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');*/
165
 
166
  } else {
167
+ jQuery('#wp-um_editor_new-wrap').remove();
168
+
169
+ /*tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
170
  jQuery('.um-hidden-editor-new').html( jQuery('.um-admin-editor:visible').contents() );
171
+ tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');*/
172
 
173
  }
174
+
175
+ jQuery('.um_tiny_placeholder').replaceWith( jQuery( $um_tiny_editor ).html() );
176
  }
177
+
178
  jQuery('body').removeClass('um-admin-modal-open');
179
  jQuery('.um-admin-modal div[id^="UM_"]').hide().appendTo('body');
180
  jQuery('.um-admin-modal,.um-admin-overlay').remove();
324
  fire new modal
325
  **/
326
  jQuery(document.body).on('click', 'a[data-modal^="UM_"], span[data-modal^="UM_"]', function(e){
 
327
  e.preventDefault();
328
 
329
  var modal_id = jQuery(this).attr('data-modal');
includes/admin/assets/js/um-admin-nav-menu.js CHANGED
@@ -1,7 +1,7 @@
1
  jQuery(document).ready(function ($) {
2
  var template = wp.template( 'um-nav-menus-fields' );
3
 
4
- $( document.body ).on( 'menu-item-added', function ( e, $menuMarkup ) {
5
  var id = $( $menuMarkup ).attr('id').substr(10);
6
 
7
  var template_content = template({
1
  jQuery(document).ready(function ($) {
2
  var template = wp.template( 'um-nav-menus-fields' );
3
 
4
+ $( document ).on( 'menu-item-added', function ( e, $menuMarkup ) {
5
  var id = $( $menuMarkup ).attr('id').substr(10);
6
 
7
  var template_content = template({
includes/admin/core/class-admin-enqueue.php CHANGED
@@ -28,6 +28,36 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
28
  var $css_url;
29
 
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  /**
32
  * Admin_Enqueue constructor.
33
  */
@@ -35,6 +65,13 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
35
  $this->js_url = um_url . 'includes/admin/assets/js/';
36
  $this->css_url = um_url . 'includes/admin/assets/css/';
37
 
 
 
 
 
 
 
 
38
  add_action( 'admin_head', array( &$this, 'admin_head' ), 9 );
39
 
40
  add_action( 'admin_enqueue_scripts', array( &$this, 'admin_enqueue_scripts' ) );
@@ -43,6 +80,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
43
 
44
  add_action( 'load-user-new.php', array( &$this, 'enqueue_role_wrapper' ) );
45
  add_action( 'load-user-edit.php', array( &$this, 'enqueue_role_wrapper' ) );
 
 
 
46
  }
47
 
48
 
@@ -51,6 +91,57 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
51
  }
52
 
53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  /**
55
  * Load js for Add/Edit User form
56
  */
@@ -298,6 +389,29 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
298
  }
299
 
300
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
301
  /**
302
  * Load localize scripts
303
  */
@@ -342,6 +456,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
342
  UM()->enqueue()->wp_enqueue_scripts();
343
  }*/
344
 
 
 
 
 
 
 
345
  $this->load_functions();
346
  $this->load_global_scripts();
347
  $this->load_form();
@@ -384,6 +504,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
384
 
385
  }
386
 
 
 
 
 
 
387
  }
388
 
389
  }
28
  var $css_url;
29
 
30
 
31
+ /**
32
+ * @var string
33
+ */
34
+ var $front_js_baseurl;
35
+
36
+
37
+ /**
38
+ * @var string
39
+ */
40
+ var $front_css_baseurl;
41
+
42
+
43
+ /**
44
+ * @var string
45
+ */
46
+ var $suffix;
47
+
48
+
49
+ /**
50
+ * @var bool
51
+ */
52
+ var $um_cpt_form_screen;
53
+
54
+
55
+ /**
56
+ * @var bool
57
+ */
58
+ var $post_page;
59
+
60
+
61
  /**
62
  * Admin_Enqueue constructor.
63
  */
65
  $this->js_url = um_url . 'includes/admin/assets/js/';
66
  $this->css_url = um_url . 'includes/admin/assets/css/';
67
 
68
+ $this->front_js_baseurl = um_url . 'assets/js/';
69
+ $this->front_css_baseurl = um_url . 'assets/css/';
70
+
71
+ $this->suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG || defined( 'UM_SCRIPT_DEBUG' ) ) ? '' : '.min';
72
+
73
+ $this->um_cpt_form_screen = false;
74
+
75
  add_action( 'admin_head', array( &$this, 'admin_head' ), 9 );
76
 
77
  add_action( 'admin_enqueue_scripts', array( &$this, 'admin_enqueue_scripts' ) );
80
 
81
  add_action( 'load-user-new.php', array( &$this, 'enqueue_role_wrapper' ) );
82
  add_action( 'load-user-edit.php', array( &$this, 'enqueue_role_wrapper' ) );
83
+
84
+ add_action( 'load-post-new.php', array( &$this, 'enqueue_cpt_scripts' ) );
85
+ add_action( 'load-post.php', array( &$this, 'enqueue_cpt_scripts' ) );
86
  }
87
 
88
 
91
  }
92
 
93
 
94
+ /**
95
+ *
96
+ */
97
+ function enqueue_cpt_scripts() {
98
+ if ( ( isset( $_GET['post_type'] ) && 'um_form' == $_GET['post_type'] ) || ( isset( $_GET['post'] ) && 'um_form' == get_post_type( $_GET['post'] ) ) ) {
99
+ $this->um_cpt_form_screen = true;
100
+ }
101
+
102
+ $this->post_page = true;
103
+ }
104
+
105
+
106
+ function enqueue_frontend_preview_assets() {
107
+ //scripts for FRONTEND PREVIEW
108
+ if ( class_exists( 'WooCommerce' ) ) {
109
+ wp_dequeue_style( 'select2' );
110
+ wp_deregister_style( 'select2' );
111
+
112
+ wp_dequeue_script( 'select2' );
113
+ wp_deregister_script( 'select2' );
114
+ }
115
+
116
+
117
+ wp_register_script( 'select2', $this->front_js_baseurl . 'select2/select2.full.min.js', array( 'jquery', 'jquery-masonry' ), ultimatemember_version, true );
118
+ wp_register_script( 'um_jquery_form', $this->front_js_baseurl . 'um-jquery-form' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, true );
119
+ wp_register_script( 'um_fileupload', $this->front_js_baseurl . 'um-fileupload' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, true );
120
+ wp_register_script( 'um_crop', $this->front_js_baseurl . 'um-crop' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, true );
121
+ wp_register_script( 'um_tipsy', $this->front_js_baseurl . 'um-tipsy' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, true );
122
+ wp_register_script( 'um_functions', $this->front_js_baseurl . 'um-functions' . $this->suffix . '.js', array( 'jquery', 'um_tipsy', 'um_scrollbar' ), ultimatemember_version, true );
123
+ wp_register_script( 'um_scripts', $this->front_js_baseurl . 'um-scripts' . $this->suffix . '.js', array( 'um_functions', 'um_crop', 'um_raty', 'select2', 'um_jquery_form', 'um_fileupload' ), ultimatemember_version, true );
124
+ wp_register_script( 'um_responsive', $this->front_js_baseurl . 'um-responsive' . $this->suffix . '.js', array( 'um_scripts' ), ultimatemember_version, true );
125
+ wp_register_script( 'um_modal', $this->front_js_baseurl . 'um-modal' . $this->suffix . '.js', array( 'um_responsive' ), ultimatemember_version, true );
126
+
127
+
128
+
129
+ wp_register_style( 'um_crop', $this->front_css_baseurl . 'um-crop.css', array(), ultimatemember_version );
130
+ wp_register_style( 'um_tipsy', $this->front_css_baseurl . 'um-tipsy.css', array(), ultimatemember_version );
131
+ wp_register_style( 'um_responsive', $this->front_css_baseurl . 'um-responsive.css', array(), ultimatemember_version );
132
+ wp_register_style( 'um_modal', $this->front_css_baseurl . 'um-modal.css', array(), ultimatemember_version );
133
+ wp_register_style( 'um_styles', $this->front_css_baseurl . 'um-styles.css', array(), ultimatemember_version );
134
+ wp_register_style( 'um_members', $this->front_css_baseurl . 'um-members.css', array(), ultimatemember_version );
135
+ wp_register_style( 'um_profile', $this->front_css_baseurl . 'um-profile.css', array(), ultimatemember_version );
136
+ wp_register_style( 'um_account', $this->front_css_baseurl . 'um-account.css', array(), ultimatemember_version );
137
+ wp_register_style( 'um_misc', $this->front_css_baseurl . 'um-misc.css', array(), ultimatemember_version );
138
+ wp_register_style( 'um_default_css', $this->front_css_baseurl . 'um-old-default.css', array( 'um_crop', 'um_tipsy', 'um_raty', 'um_responsive', 'um_modal', 'um_styles', 'um_members', 'um_profile', 'um_account', 'um_misc' ), ultimatemember_version );
139
+
140
+ wp_enqueue_script( 'um_modal' );
141
+ wp_enqueue_style( 'um_default_css' );
142
+ }
143
+
144
+
145
  /**
146
  * Load js for Add/Edit User form
147
  */
389
  }
390
 
391
 
392
+ /**
393
+ * Load Gutenberg scripts
394
+ */
395
+ function load_gutenberg_js() {
396
+ wp_register_script( 'um_block_js', $this->js_url . 'um-admin-blocks.js', array( 'wp-i18n', 'wp-blocks', 'wp-editor', 'wp-components' ), ultimatemember_version, true );
397
+ wp_set_script_translations( 'um_block_js', 'ultimate-member' );
398
+
399
+ $restrict_options = array();
400
+ $roles = UM()->roles()->get_roles( false, array( 'administrator' ) );
401
+ if ( ! empty( $roles ) ) {
402
+ foreach ( $roles as $role_key => $title ) {
403
+ $restrict_options[] = array(
404
+ 'label' => $title,
405
+ 'value' => $role_key
406
+ );
407
+ }
408
+ }
409
+ wp_localize_script( 'um_block_js', 'um_restrict_roles', $restrict_options );
410
+
411
+ wp_enqueue_script( 'um_block_js' );
412
+ }
413
+
414
+
415
  /**
416
  * Load localize scripts
417
  */
456
  UM()->enqueue()->wp_enqueue_scripts();
457
  }*/
458
 
459
+ $modal_deps = array( 'um-admin-scripts' );
460
+ if ( $this->um_cpt_form_screen ) {
461
+ $this->enqueue_frontend_preview_assets();
462
+ $modal_deps[] = 'um-responsive';
463
+ }
464
+
465
  $this->load_functions();
466
  $this->load_global_scripts();
467
  $this->load_form();
504
 
505
  }
506
 
507
+ global $wp_version;
508
+ if ( version_compare( $wp_version, '5.0', '>=' ) && ! empty( $this->post_page ) ) {
509
+ $this->load_gutenberg_js();
510
+ }
511
+
512
  }
513
 
514
  }
includes/admin/core/class-admin-forms.php CHANGED
@@ -774,8 +774,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
774
  */
775
  function render_multi_selects( $field_data ) {
776
 
777
- if ( empty( $field_data['id'] ) )
778
  return false;
 
779
 
780
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
781
 
@@ -801,20 +802,24 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
801
  $values = $this->get_field_value( $field_data );
802
 
803
  $options = '';
804
- foreach ( $field_data['options'] as $key=>$option ) {
805
  $options .= '<option value="' . $key . '">' . $option . '</option>';
806
  }
807
 
808
  $html = "<select class=\"um-hidden-multi-selects\" $data_attr>$options</select>";
809
  $html .= "<ul class=\"um-multi-selects-list\" $data_attr>";
810
 
811
- if ( ! empty( $values ) ) {
812
- foreach ( $values as $k=>$value ) {
 
 
 
 
813
 
814
  $id_attr = ' id="' . $id . '-' . $k . '" ';
815
 
816
  $options = '';
817
- foreach ( $field_data['options'] as $key=>$option ) {
818
  $options .= '<option value="' . $key . '" ' . selected( $key == $value, true, false ) . '>' . $option . '</option>';
819
  }
820
 
@@ -824,11 +829,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
824
  }
825
  } elseif ( ! empty( $field_data['show_default_number'] ) && is_numeric( $field_data['show_default_number'] ) && $field_data['show_default_number'] > 0 ) {
826
  $i = 0;
827
- while( $i < $field_data['show_default_number'] ) {
828
  $id_attr = ' id="' . $id . '-' . $i . '" ';
829
 
830
  $options = '';
831
- foreach ( $field_data['options'] as $key=>$option ) {
832
  $options .= '<option value="' . $key . '">' . $option . '</option>';
833
  }
834
 
@@ -1132,12 +1137,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
1132
  */
1133
  function get_field_value( $field_data, $i = '' ) {
1134
  $default = ( $field_data['type'] == 'multi_checkbox' ) ? array() : '';
1135
- $default = isset( $field_data['default' . $i] ) ? $field_data['default' . $i] : $default;
1136
 
1137
  if ( $field_data['type'] == 'checkbox' || $field_data['type'] == 'multi_checkbox' ) {
1138
- $value = ( isset( $field_data['value' . $i] ) && '' !== $field_data['value' . $i] ) ? $field_data['value' . $i] : $default;
1139
  } else {
1140
- $value = isset( $field_data['value' . $i] ) ? $field_data['value' . $i] : $default;
1141
  }
1142
 
1143
  $value = is_string( $value ) ? stripslashes( $value ) : $value;
774
  */
775
  function render_multi_selects( $field_data ) {
776
 
777
+ if ( empty( $field_data['id'] ) ) {
778
  return false;
779
+ }
780
 
781
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
782
 
802
  $values = $this->get_field_value( $field_data );
803
 
804
  $options = '';
805
+ foreach ( $field_data['options'] as $key => $option ) {
806
  $options .= '<option value="' . $key . '">' . $option . '</option>';
807
  }
808
 
809
  $html = "<select class=\"um-hidden-multi-selects\" $data_attr>$options</select>";
810
  $html .= "<ul class=\"um-multi-selects-list\" $data_attr>";
811
 
812
+ if ( ! empty( $values ) && is_array( $values ) ) {
813
+ foreach ( $values as $k => $value ) {
814
+
815
+ if ( ! in_array( $value, array_keys( $field_data['options'] ) ) ) {
816
+ continue ;
817
+ }
818
 
819
  $id_attr = ' id="' . $id . '-' . $k . '" ';
820
 
821
  $options = '';
822
+ foreach ( $field_data['options'] as $key => $option ) {
823
  $options .= '<option value="' . $key . '" ' . selected( $key == $value, true, false ) . '>' . $option . '</option>';
824
  }
825
 
829
  }
830
  } elseif ( ! empty( $field_data['show_default_number'] ) && is_numeric( $field_data['show_default_number'] ) && $field_data['show_default_number'] > 0 ) {
831
  $i = 0;
832
+ while ( $i < $field_data['show_default_number'] ) {
833
  $id_attr = ' id="' . $id . '-' . $i . '" ';
834
 
835
  $options = '';
836
+ foreach ( $field_data['options'] as $key => $option ) {
837
  $options .= '<option value="' . $key . '">' . $option . '</option>';
838
  }
839
 
1137
  */
1138
  function get_field_value( $field_data, $i = '' ) {
1139
  $default = ( $field_data['type'] == 'multi_checkbox' ) ? array() : '';
1140
+ $default = isset( $field_data[ 'default' . $i ] ) ? $field_data[ 'default' . $i ] : $default;
1141
 
1142
  if ( $field_data['type'] == 'checkbox' || $field_data['type'] == 'multi_checkbox' ) {
1143
+ $value = ( isset( $field_data[ 'value' . $i ] ) && '' !== $field_data[ 'value' . $i ] ) ? $field_data[ 'value' . $i ] : $default;
1144
  } else {
1145
+ $value = isset( $field_data[ 'value' . $i ] ) ? $field_data[ 'value' . $i ] : $default;
1146
  }
1147
 
1148
  $value = is_string( $value ) ? stripslashes( $value ) : $value;
includes/admin/core/class-admin-notices.php CHANGED
@@ -491,7 +491,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
491
  ob_start(); ?>
492
 
493
  <p>
494
- <?php printf( __( 'Thanks for installing <strong>%s</strong>! We hope you like the plugin. To fund full-time development and support of the plugin we also sell extensions. If you subscribe to our mailing list we will send you a 20%% discount code for our <a href="%s" target="_blank">extensions bundle</a>.', 'ultimate-member' ), ultimatemember_plugin_name, 'https://ultimatemember.com/core-extensions-bundle/' ); ?>
495
  </p>
496
 
497
  <p>
491
  ob_start(); ?>
492
 
493
  <p>
494
+ <?php printf( __( 'Thanks for installing <strong>%s</strong>! We hope you like the plugin. To fund full-time development and support of the plugin we also sell extensions. If you subscribe to our mailing list we will send you a 20%% discount code for one of our <a href="%s" target="_blank">access passes</a>.', 'ultimate-member' ), ultimatemember_plugin_name, 'https://ultimatemember.com/pricing/' ); ?>
495
  </p>
496
 
497
  <p>
includes/admin/core/class-admin-settings.php CHANGED
@@ -1,9 +1,11 @@
1
  <?php
2
  namespace um\admin\core;
3
 
 
4
  // Exit if accessed directly
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
 
7
  if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
8
 
9
 
@@ -524,11 +526,17 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
524
  'conditional' => array( 'accessible', '=', 2 ),
525
  ),
526
  array(
527
- 'id' => 'restricted_access_message',
528
- 'type' => 'wp_editor',
529
- 'label' => __( 'Restricted Access Message','ultimate-member' ),
530
  'tooltip' => __( 'This is the message shown to users that do not have permission to view the content','ultimate-member' ),
531
  ),
 
 
 
 
 
 
532
  array(
533
  'id' => 'restricted_access_post_metabox',
534
  'type' => 'hidden',
1
  <?php
2
  namespace um\admin\core;
3
 
4
+
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) exit;
7
 
8
+
9
  if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
10
 
11
 
526
  'conditional' => array( 'accessible', '=', 2 ),
527
  ),
528
  array(
529
+ 'id' => 'restricted_access_message',
530
+ 'type' => 'wp_editor',
531
+ 'label' => __( 'Restricted Access Message','ultimate-member' ),
532
  'tooltip' => __( 'This is the message shown to users that do not have permission to view the content','ultimate-member' ),
533
  ),
534
+ array(
535
+ 'id' => 'restricted_block_message',
536
+ 'type' => 'textarea',
537
+ 'label' => __( 'Restricted Block Message', 'ultimate-member' ),
538
+ 'tooltip' => __( 'This is the message shown to users that do not have permission to view the block\'s content', 'ultimate-member' ),
539
+ ),
540
  array(
541
  'id' => 'restricted_access_post_metabox',
542
  'type' => 'hidden',
includes/admin/templates/extensions.php CHANGED
@@ -1,4 +1,5 @@
1
- <?php
 
2
  $premium['bbpress'] = array(
3
  'url' => 'https://ultimatemember.com/extensions/bbpress/',
4
  'image' => 'https://ultimatemember.com/wp-content/uploads/edd/2017/05/bbpress.png',
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
2
+
3
  $premium['bbpress'] = array(
4
  'url' => 'https://ultimatemember.com/extensions/bbpress/',
5
  'image' => 'https://ultimatemember.com/wp-content/uploads/edd/2017/05/bbpress.png',
includes/admin/templates/form/profile_settings.php CHANGED
@@ -1,25 +1,28 @@
 
 
1
  <div class="um-admin-metabox">
2
  <?php $user_fields = array();
3
  foreach ( UM()->builtin()->all_user_fields() as $key => $arr ) {
4
- $user_fields[$key] = isset( $arr['title'] ) ? $arr['title'] : '';
5
  }
6
 
7
  $post_id = get_the_ID();
8
  $_um_search_fields = get_post_meta( $post_id, '_um_profile_metafields', true );
 
9
 
10
  UM()->admin_forms( array(
11
- 'class' => 'um-form-profile-settings um-top-label',
12
- 'prefix_id' => 'form',
13
- 'fields' => array(
14
  array(
15
- 'id' => '_um_profile_metafields',
16
- 'type' => 'multi_selects',
17
- 'label' => __( 'Field(s) to show in user meta', 'ultimate-member' ),
18
- 'tooltip' => __( 'Fields selected here will appear in the profile header area below the user\'s display name', 'ultimate-member' ),
19
- 'value' => $_um_search_fields,
20
- 'options' => $user_fields,
21
- 'add_text' => __( 'Add New Field', 'ultimate-member' ),
22
- 'show_default_number' => 1,
23
  )
24
  )
25
  ) )->render_form(); ?>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
  <div class="um-admin-metabox">
4
  <?php $user_fields = array();
5
  foreach ( UM()->builtin()->all_user_fields() as $key => $arr ) {
6
+ $user_fields[ $key ] = isset( $arr['title'] ) ? $arr['title'] : '';
7
  }
8
 
9
  $post_id = get_the_ID();
10
  $_um_search_fields = get_post_meta( $post_id, '_um_profile_metafields', true );
11
+ $_um_search_fields = empty( $_um_search_fields ) ? array() : $_um_search_fields;
12
 
13
  UM()->admin_forms( array(
14
+ 'class' => 'um-form-profile-settings um-top-label',
15
+ 'prefix_id' => 'form',
16
+ 'fields' => array(
17
  array(
18
+ 'id' => '_um_profile_metafields',
19
+ 'type' => 'multi_selects',
20
+ 'label' => __( 'Field(s) to show in user meta', 'ultimate-member' ),
21
+ 'tooltip' => __( 'Fields selected here will appear in the profile header area below the user\'s display name', 'ultimate-member' ),
22
+ 'value' => $_um_search_fields,
23
+ 'options' => $user_fields,
24
+ 'add_text' => __( 'Add New Field', 'ultimate-member' ),
25
+ 'show_default_number' => 0,
26
  )
27
  )
28
  ) )->render_form(); ?>
includes/class-config.php CHANGED
@@ -507,6 +507,8 @@ if ( ! class_exists( 'um\Config' ) ) {
507
  'access_exclude_uris' => array(),
508
  'home_page_accessible' => 1,
509
  'category_page_accessible' => 1,
 
 
510
  'enable_reset_password_limit' => 1,
511
  'reset_password_limit_number' => 3,
512
  'blocked_emails' => '',
507
  'access_exclude_uris' => array(),
508
  'home_page_accessible' => 1,
509
  'category_page_accessible' => 1,
510
+ 'restricted_access_message' => '',
511
+ 'restricted_block_message' => '',
512
  'enable_reset_password_limit' => 1,
513
  'reset_password_limit_number' => 3,
514
  'blocked_emails' => '',
includes/class-dependencies.php CHANGED
@@ -61,6 +61,7 @@ if ( ! class_exists( 'um\Dependencies' ) ) {
61
  'user-photos' => '2.0.1',
62
  'user-exporter' => '1.0.0',
63
  'bookmark' => '2.0',
 
64
  );
65
 
66
 
61
  'user-photos' => '2.0.1',
62
  'user-exporter' => '1.0.0',
63
  'bookmark' => '2.0',
64
+ 'user-events' => '1.0.0',
65
  );
66
 
67
 
includes/core/class-access.php CHANGED
@@ -68,7 +68,9 @@ if ( ! class_exists( 'um\core\Access' ) ) {
68
 
69
  /* Disable comments if user has not permission to access current post */
70
  add_filter( 'comments_open', array( $this, 'disable_comments_open' ), 99, 2 );
71
- add_filter( 'get_comments_number', array( $this, 'disable_comments_open' ), 99, 2 );
 
 
72
  }
73
 
74
 
@@ -948,12 +950,12 @@ if ( ! class_exists( 'um\core\Access' ) ) {
948
 
949
  /**
950
  * Disable comments if user has not permission to access this post
 
951
  * @param mixed $open
952
  * @param int $post_id
953
  * @return boolean
954
  */
955
  public function disable_comments_open( $open, $post_id ) {
956
-
957
  static $cache = array();
958
 
959
  if ( isset( $cache[ $post_id ] ) ) {
@@ -1003,6 +1005,63 @@ if ( ! class_exists( 'um\core\Access' ) ) {
1003
  }
1004
 
1005
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1006
  /**
1007
  * Protect Post Types in menu query
1008
  * Restrict content new logic
@@ -1096,5 +1155,83 @@ if ( ! class_exists( 'um\core\Access' ) ) {
1096
 
1097
  return $filtered_items;
1098
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1099
  }
1100
  }
68
 
69
  /* Disable comments if user has not permission to access current post */
70
  add_filter( 'comments_open', array( $this, 'disable_comments_open' ), 99, 2 );
71
+ add_filter( 'get_comments_number', array( $this, 'disable_comments_open_number' ), 99, 2 );
72
+
73
+ add_filter( 'render_block', array( $this, 'restrict_blocks' ), 10, 2 );
74
  }
75
 
76
 
950
 
951
  /**
952
  * Disable comments if user has not permission to access this post
953
+ *
954
  * @param mixed $open
955
  * @param int $post_id
956
  * @return boolean
957
  */
958
  public function disable_comments_open( $open, $post_id ) {
 
959
  static $cache = array();
960
 
961
  if ( isset( $cache[ $post_id ] ) ) {
1005
  }
1006
 
1007
 
1008
+ /**
1009
+ * Disable comments if user has not permission to access this post
1010
+ *
1011
+ * @param mixed $open
1012
+ * @param int $post_id
1013
+ * @return boolean
1014
+ */
1015
+ public function disable_comments_open_number( $open, $post_id ) {
1016
+ static $cache_number = array();
1017
+
1018
+ if ( isset( $cache_number[ $post_id ] ) ) {
1019
+ return $cache_number[ $post_id ] ? $open : false;
1020
+ }
1021
+
1022
+ $post = get_post( $post_id );
1023
+ $restriction = $this->get_post_privacy_settings( $post );
1024
+
1025
+ if ( ! $restriction ) {
1026
+ $cache_number[ $post_id ] = $open;
1027
+ return $open;
1028
+ }
1029
+
1030
+ if ( '1' == $restriction['_um_accessible'] ) {
1031
+
1032
+ if ( is_user_logged_in() ) {
1033
+ if ( ! current_user_can( 'administrator' ) ) {
1034
+ $open = false;
1035
+ }
1036
+ }
1037
+
1038
+ } elseif ( '2' == $restriction['_um_accessible'] ) {
1039
+ if ( ! is_user_logged_in() ) {
1040
+ $open = false;
1041
+ } else {
1042
+ if ( ! current_user_can( 'administrator' ) ) {
1043
+ $custom_restrict = $this->um_custom_restriction( $restriction );
1044
+
1045
+ if ( empty( $restriction['_um_access_roles'] ) || false === array_search( '1', $restriction['_um_access_roles'] ) ) {
1046
+ if ( ! $custom_restrict ) {
1047
+ $open = false;
1048
+ }
1049
+ } else {
1050
+ $user_can = $this->user_can( get_current_user_id(), $restriction['_um_access_roles'] );
1051
+
1052
+ if ( ! isset( $user_can ) || ! $user_can || ! $custom_restrict ) {
1053
+ $open = false;
1054
+ }
1055
+ }
1056
+ }
1057
+ }
1058
+ }
1059
+
1060
+ $cache_number[ $post_id ] = $open;
1061
+ return $open;
1062
+ }
1063
+
1064
+
1065
  /**
1066
  * Protect Post Types in menu query
1067
  * Restrict content new logic
1155
 
1156
  return $filtered_items;
1157
  }
1158
+
1159
+
1160
+ /**
1161
+ * @param $block_content
1162
+ * @param $block
1163
+ *
1164
+ * @return string
1165
+ */
1166
+ function restrict_blocks( $block_content, $block ) {
1167
+ if ( is_admin() ) {
1168
+ return $block_content;
1169
+ }
1170
+
1171
+ if ( is_user_logged_in() && current_user_can( 'administrator' ) ) {
1172
+ return $block_content;
1173
+ }
1174
+
1175
+ if ( $block['attrs']['um_is_restrict'] !== true ) {
1176
+ return $block_content;
1177
+ }
1178
+
1179
+ if ( empty( $block['attrs']['um_who_access'] ) ) {
1180
+ return $block_content;
1181
+ }
1182
+
1183
+ $default_message = UM()->options()->get( 'restricted_block_message' );
1184
+ switch ( $block['attrs']['um_who_access'] ) {
1185
+ case '1': {
1186
+ if ( ! is_user_logged_in() ) {
1187
+ $block_content = '';
1188
+ if ( isset( $block['attrs']['um_message_type'] ) ) {
1189
+ if ( $block['attrs']['um_message_type'] == '0' ) {
1190
+ $block_content = $default_message;
1191
+ } elseif ( $block['attrs']['um_message_type'] == '1' ) {
1192
+ $block_content = $block['attrs']['um_message_content'];
1193
+ }
1194
+ }
1195
+ } else {
1196
+ if ( ! empty( $block['attrs']['um_roles_access'] ) ) {
1197
+ $display = false;
1198
+ foreach ( $block['attrs']['um_roles_access'] as $role ) {
1199
+ if ( current_user_can( $role ) ) {
1200
+ $display = true;
1201
+ }
1202
+ }
1203
+
1204
+ if ( ! $display ) {
1205
+ $block_content = '';
1206
+ if ( isset( $block['attrs']['um_message_type'] ) ) {
1207
+ if ( $block['attrs']['um_message_type'] == '0' ) {
1208
+ $block_content = $default_message;
1209
+ } elseif ( $block['attrs']['um_message_type'] == '1' ) {
1210
+ $block_content = $block['attrs']['um_message_content'];
1211
+ }
1212
+ }
1213
+ }
1214
+ }
1215
+ }
1216
+ break;
1217
+ }
1218
+ case '2': {
1219
+ if ( is_user_logged_in() ) {
1220
+ $block_content = '';
1221
+ if ( isset( $block['attrs']['um_message_type'] ) ) {
1222
+ if ( $block['attrs']['um_message_type'] == '0' ) {
1223
+ $block_content = $default_message;
1224
+ } elseif ( $block['attrs']['um_message_type'] == '1' ) {
1225
+ $block_content = $block['attrs']['um_message_content'];
1226
+ }
1227
+ }
1228
+ }
1229
+ break;
1230
+ }
1231
+ }
1232
+
1233
+ return $block_content;
1234
+ }
1235
+
1236
  }
1237
  }
includes/core/class-fields.php CHANGED
@@ -1096,8 +1096,9 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1096
 
1097
  if ( in_array( $type, array( 'select', 'multiselect' ) ) && isset( $data['custom_dropdown_options_source'] ) && ! empty( $data['custom_dropdown_options_source'] ) ) {
1098
 
1099
- $arr_options = call_user_func( $data['custom_dropdown_options_source'], $data['parent_dropdown_relationship'] );
1100
-
 
1101
 
1102
  }
1103
 
1096
 
1097
  if ( in_array( $type, array( 'select', 'multiselect' ) ) && isset( $data['custom_dropdown_options_source'] ) && ! empty( $data['custom_dropdown_options_source'] ) ) {
1098
 
1099
+ if ( function_exists( $data['custom_dropdown_options_source'] ) ) {
1100
+ $arr_options = call_user_func( $data['custom_dropdown_options_source'], $data['parent_dropdown_relationship'] );
1101
+ }
1102
 
1103
  }
1104
 
includes/core/um-filters-fields.php CHANGED
@@ -204,7 +204,7 @@ add_filter( 'um_profile_field_filter_hook__time', 'um_profile_field_filter_hook_
204
  * @return string
205
  */
206
  function um_profile_field_filter_hook__date( $value, $data ) {
207
- if ( $data['pretty_format'] == 1 ) {
208
  $value = UM()->datetime()->get_age( $value );
209
  } else {
210
  $value = date_i18n( $data['format'], strtotime( $value ) );
204
  * @return string
205
  */
206
  function um_profile_field_filter_hook__date( $value, $data ) {
207
+ if ( isset( $data['pretty_format'] ) && $data['pretty_format'] == 1 ) {
208
  $value = UM()->datetime()->get_age( $value );
209
  } else {
210
  $value = date_i18n( $data['format'], strtotime( $value ) );
includes/um-short-functions.php CHANGED
@@ -310,7 +310,7 @@ function um_field_conditions_are_met( $data ) {
310
  $field = um_profile($arr[1]);
311
 
312
 
313
- if( $arr[5] != $first_group ){
314
 
315
 
316
  if ($arr[0] == 'show') {
310
  $field = um_profile($arr[1]);
311
 
312
 
313
+ if( ! isset( $arr[5] ) || $arr[5] != $first_group ){
314
 
315
 
316
  if ($arr[0] == 'show') {
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: 2018-12-09 15:45+0200\n"
5
- "PO-Revision-Date: 2018-12-09 15:45+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:1130
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:4066
107
  msgid "Please login as administrator"
108
  msgstr ""
109
 
@@ -183,7 +183,7 @@ msgstr ""
183
 
184
  #: includes/admin/core/class-admin-columns.php:96
185
  #: includes/admin/core/class-admin-columns.php:115
186
- #: includes/admin/core/class-admin-settings.php:312
187
  #: includes/admin/templates/form/login_settings.php:13
188
  #: includes/admin/templates/form/register_customize.php:3
189
  #: includes/admin/templates/form/register_customize.php:29
@@ -249,32 +249,32 @@ msgstr ""
249
  msgid "Yes"
250
  msgstr ""
251
 
252
- #: includes/admin/core/class-admin-enqueue.php:75
253
  msgid "e.g. Member Directory"
254
  msgstr ""
255
 
256
- #: includes/admin/core/class-admin-enqueue.php:77
257
  msgid "e.g. New Registration Form"
258
  msgstr ""
259
 
260
- #: includes/admin/core/class-admin-enqueue.php:122
261
- #: includes/admin/core/class-admin-enqueue.php:153
262
- #: includes/admin/core/class-admin-forms.php:823
263
- #: includes/admin/core/class-admin-forms.php:837
264
- #: includes/admin/core/class-admin-forms.php:942
265
- #: includes/admin/core/class-admin-forms.php:951
266
  #: includes/admin/core/class-admin-notices.php:390
267
  #: includes/core/um-actions-profile.php:553
268
  msgid "Remove"
269
  msgstr ""
270
 
271
- #: includes/admin/core/class-admin-enqueue.php:123
272
- #: includes/admin/core/class-admin-enqueue.php:154
273
- #: includes/admin/core/class-admin-forms.php:1019
274
  msgid "Select"
275
  msgstr ""
276
 
277
- #: includes/admin/core/class-admin-enqueue.php:151
278
  msgid "Are sure, maybe some settings not saved"
279
  msgstr ""
280
 
@@ -291,11 +291,11 @@ msgstr ""
291
  msgid "No Icon"
292
  msgstr ""
293
 
294
- #: includes/admin/core/class-admin-forms.php:996
295
  msgid "Select media"
296
  msgstr ""
297
 
298
- #: includes/admin/core/class-admin-forms.php:1020
299
  msgid "Clear"
300
  msgstr ""
301
 
@@ -429,7 +429,7 @@ msgid "Member Directories"
429
  msgstr ""
430
 
431
  #: includes/admin/core/class-admin-menu.php:204
432
- #: includes/admin/core/class-admin-settings.php:1009
433
  msgid "Extensions"
434
  msgstr ""
435
 
@@ -1224,7 +1224,8 @@ msgid ""
1224
  "Thanks for installing <strong>%s</strong>! We hope you like the plugin. To "
1225
  "fund full-time development and support of the plugin we also sell "
1226
  "extensions. If you subscribe to our mailing list we will send you a 20%% "
1227
- "discount code for our <a href=\"%s\" target=\"_blank\">extensions bundle</a>."
 
1228
  msgstr ""
1229
 
1230
  #: includes/admin/core/class-admin-notices.php:498
@@ -1329,1129 +1330,1139 @@ msgstr ""
1329
  msgid "Wrong Data"
1330
  msgstr ""
1331
 
1332
- #: includes/admin/core/class-admin-settings.php:107
1333
- #: includes/admin/core/class-admin-settings.php:116
1334
  #, php-format
1335
  msgid "%s page"
1336
  msgstr ""
1337
 
1338
- #: includes/admin/core/class-admin-settings.php:108
1339
  msgid "Add page ID"
1340
  msgstr ""
1341
 
1342
- #: includes/admin/core/class-admin-settings.php:118
1343
  msgid "Choose a page..."
1344
  msgstr ""
1345
 
1346
- #: includes/admin/core/class-admin-settings.php:130
1347
  msgid "Enable profile menu"
1348
  msgstr ""
1349
 
1350
- #: includes/admin/core/class-admin-settings.php:142
1351
  #, php-format
1352
  msgid "%s Tab"
1353
  msgstr ""
1354
 
1355
- #: includes/admin/core/class-admin-settings.php:148
1356
  #, php-format
1357
  msgid "Who can see %s Tab?"
1358
  msgstr ""
1359
 
1360
- #: includes/admin/core/class-admin-settings.php:149
1361
  msgid "Select which users can view this tab."
1362
  msgstr ""
1363
 
1364
- #: includes/admin/core/class-admin-settings.php:158
1365
  msgid "Allowed roles"
1366
  msgstr ""
1367
 
1368
- #: includes/admin/core/class-admin-settings.php:159
1369
  msgid "Select the the user roles allowed to view this tab."
1370
  msgstr ""
1371
 
1372
- #: includes/admin/core/class-admin-settings.php:161
1373
  msgid "Choose user roles..."
1374
  msgstr ""
1375
 
1376
- #: includes/admin/core/class-admin-settings.php:172
1377
  msgid "Profile menu default tab"
1378
  msgstr ""
1379
 
1380
- #: includes/admin/core/class-admin-settings.php:173
1381
  msgid "This will be the default tab on user profile page"
1382
  msgstr ""
1383
 
1384
- #: includes/admin/core/class-admin-settings.php:181
1385
  msgid "Enable menu icons in desktop view"
1386
  msgstr ""
1387
 
1388
- #: includes/admin/core/class-admin-settings.php:238
1389
  msgid "General"
1390
  msgstr ""
1391
 
1392
- #: includes/admin/core/class-admin-settings.php:241
1393
  msgid "Pages"
1394
  msgstr ""
1395
 
1396
- #: includes/admin/core/class-admin-settings.php:245
1397
  #: includes/admin/templates/dashboard/users.php:6
1398
  msgid "Users"
1399
  msgstr ""
1400
 
1401
- #: includes/admin/core/class-admin-settings.php:251
1402
  msgid "Profile Permalink Base"
1403
  msgstr ""
1404
 
1405
- #: includes/admin/core/class-admin-settings.php:252
1406
  msgid ""
1407
  "Here you can control the permalink structure of the user profile URL "
1408
  "globally e.g. "
1409
  msgstr ""
1410
 
1411
- #: includes/admin/core/class-admin-settings.php:254
1412
- #: includes/admin/core/class-admin-settings.php:271
1413
  #: includes/core/class-builtin.php:669 includes/core/class-builtin.php:672
1414
  msgid "Username"
1415
  msgstr ""
1416
 
1417
- #: includes/admin/core/class-admin-settings.php:255
1418
  msgid "First and Last Name with '.'"
1419
  msgstr ""
1420
 
1421
- #: includes/admin/core/class-admin-settings.php:256
1422
  msgid "First and Last Name with '-'"
1423
  msgstr ""
1424
 
1425
- #: includes/admin/core/class-admin-settings.php:257
1426
  msgid "First and Last Name with '+'"
1427
  msgstr ""
1428
 
1429
- #: includes/admin/core/class-admin-settings.php:258
1430
  msgid "User ID"
1431
  msgstr ""
1432
 
1433
- #: includes/admin/core/class-admin-settings.php:260
1434
- #: includes/admin/core/class-admin-settings.php:279
1435
  msgid "Select..."
1436
  msgstr ""
1437
 
1438
- #: includes/admin/core/class-admin-settings.php:266
1439
  msgid "User Display Name"
1440
  msgstr ""
1441
 
1442
- #: includes/admin/core/class-admin-settings.php:267
1443
  msgid ""
1444
  "This is the name that will be displayed for users on the front end of your "
1445
  "site. Default setting uses first/last name as display name if it exists"
1446
  msgstr ""
1447
 
1448
- #: includes/admin/core/class-admin-settings.php:269
1449
  msgid "Default WP Display Name"
1450
  msgstr ""
1451
 
1452
- #: includes/admin/core/class-admin-settings.php:270
1453
  #: includes/core/class-builtin.php:727 includes/core/class-builtin.php:730
1454
  msgid "Nickname"
1455
  msgstr ""
1456
 
1457
- #: includes/admin/core/class-admin-settings.php:272
1458
  msgid "First name & last name"
1459
  msgstr ""
1460
 
1461
- #: includes/admin/core/class-admin-settings.php:273
1462
  msgid "Last name & first name"
1463
  msgstr ""
1464
 
1465
- #: includes/admin/core/class-admin-settings.php:274
1466
  msgid "First name & first initial of last name"
1467
  msgstr ""
1468
 
1469
- #: includes/admin/core/class-admin-settings.php:275
1470
  msgid "First initial of first name & last name"
1471
  msgstr ""
1472
 
1473
- #: includes/admin/core/class-admin-settings.php:276
1474
  msgid "First name only"
1475
  msgstr ""
1476
 
1477
- #: includes/admin/core/class-admin-settings.php:277
1478
  msgid "Custom field(s)"
1479
  msgstr ""
1480
 
1481
- #: includes/admin/core/class-admin-settings.php:284
1482
  msgid "Display Name Custom Field(s)"
1483
  msgstr ""
1484
 
1485
- #: includes/admin/core/class-admin-settings.php:285
1486
  msgid ""
1487
  "Specify the custom field meta key or custom fields seperated by comma that "
1488
  "you want to use to display users name on the frontend of your site"
1489
  msgstr ""
1490
 
1491
- #: includes/admin/core/class-admin-settings.php:291
1492
  msgid "Automatically redirect author page to their profile?"
1493
  msgstr ""
1494
 
1495
- #: includes/admin/core/class-admin-settings.php:292
1496
  msgid ""
1497
  "If enabled, author pages will automatically redirect to the user's profile "
1498
  "page"
1499
  msgstr ""
1500
 
1501
- #: includes/admin/core/class-admin-settings.php:297
1502
  msgid "Enable Members Directory"
1503
  msgstr ""
1504
 
1505
- #: includes/admin/core/class-admin-settings.php:298
1506
  msgid "Control whether to enable or disable member directories on this site"
1507
  msgstr ""
1508
 
1509
- #: includes/admin/core/class-admin-settings.php:303
1510
  msgid "Use Gravatars?"
1511
  msgstr ""
1512
 
1513
- #: includes/admin/core/class-admin-settings.php:304
1514
  msgid ""
1515
  "Do you want to use gravatars instead of the default plugin profile photo (If "
1516
  "the user did not upload a custom profile photo / avatar)"
1517
  msgstr ""
1518
 
1519
- #: includes/admin/core/class-admin-settings.php:309
1520
  msgid "Use Gravatar builtin image"
1521
  msgstr ""
1522
 
1523
- #: includes/admin/core/class-admin-settings.php:310
1524
  msgid ""
1525
  "Gravatar has a number of built in options which you can also use as defaults"
1526
  msgstr ""
1527
 
1528
- #: includes/admin/core/class-admin-settings.php:313
1529
  msgid "404 ( File Not Found response )"
1530
  msgstr ""
1531
 
1532
- #: includes/admin/core/class-admin-settings.php:314
1533
  msgid "Mystery Man"
1534
  msgstr ""
1535
 
1536
- #: includes/admin/core/class-admin-settings.php:315
1537
  msgid "Identicon"
1538
  msgstr ""
1539
 
1540
- #: includes/admin/core/class-admin-settings.php:316
1541
  msgid "Monsterid"
1542
  msgstr ""
1543
 
1544
- #: includes/admin/core/class-admin-settings.php:317
1545
  msgid "Wavatar"
1546
  msgstr ""
1547
 
1548
- #: includes/admin/core/class-admin-settings.php:318
1549
  msgid "Retro"
1550
  msgstr ""
1551
 
1552
- #: includes/admin/core/class-admin-settings.php:319
1553
  msgid "Blank ( a transparent PNG image )"
1554
  msgstr ""
1555
 
1556
- #: includes/admin/core/class-admin-settings.php:327
1557
  msgid "Use Default plugin avatar as Gravatar's Default avatar"
1558
  msgstr ""
1559
 
1560
- #: includes/admin/core/class-admin-settings.php:328
1561
  msgid ""
1562
  "Do you want to use the plugin default avatar instead of the gravatar default "
1563
  "photo (If the user did not upload a custom profile photo / avatar)"
1564
  msgstr ""
1565
 
1566
- #: includes/admin/core/class-admin-settings.php:334
1567
  msgid "Require a strong password? (when user resets password only)"
1568
  msgstr ""
1569
 
1570
- #: includes/admin/core/class-admin-settings.php:335
1571
  msgid ""
1572
  "Enable or disable a strong password rules on password reset and change "
1573
  "procedure"
1574
  msgstr ""
1575
 
1576
- #: includes/admin/core/class-admin-settings.php:340
1577
- #: includes/class-config.php:134 includes/class-config.php:739
1578
  #: includes/core/class-account.php:90
1579
  msgid "Account"
1580
  msgstr ""
1581
 
1582
- #: includes/admin/core/class-admin-settings.php:345
1583
  msgid "Password Account Tab"
1584
  msgstr ""
1585
 
1586
- #: includes/admin/core/class-admin-settings.php:351
1587
  msgid "Privacy Account Tab"
1588
  msgstr ""
1589
 
1590
- #: includes/admin/core/class-admin-settings.php:352
1591
  msgid "Enable/disable the Privacy account tab in account page"
1592
  msgstr ""
1593
 
1594
- #: includes/admin/core/class-admin-settings.php:357
1595
  msgid "Notifications Account Tab"
1596
  msgstr ""
1597
 
1598
- #: includes/admin/core/class-admin-settings.php:358
1599
  msgid "Enable/disable the Notifications account tab in account page"
1600
  msgstr ""
1601
 
1602
- #: includes/admin/core/class-admin-settings.php:363
1603
  msgid "Delete Account Tab"
1604
  msgstr ""
1605
 
1606
- #: includes/admin/core/class-admin-settings.php:364
1607
  msgid "Enable/disable the Delete account tab in account page"
1608
  msgstr ""
1609
 
1610
- #: includes/admin/core/class-admin-settings.php:369
1611
  msgid "Account Deletion Custom Text"
1612
  msgstr ""
1613
 
1614
- #: includes/admin/core/class-admin-settings.php:370
1615
  msgid ""
1616
  "This is custom text that will be displayed to users before they delete their "
1617
  "accounts from your site"
1618
  msgstr ""
1619
 
1620
- #: includes/admin/core/class-admin-settings.php:378
1621
  msgid "Add a First & Last Name fields"
1622
  msgstr ""
1623
 
1624
- #: includes/admin/core/class-admin-settings.php:379
1625
  msgid ""
1626
  "Whether to enable these fields on the user account page by default or hide "
1627
  "them."
1628
  msgstr ""
1629
 
1630
- #: includes/admin/core/class-admin-settings.php:384
1631
  msgid "Disable First & Last Name fields"
1632
  msgstr ""
1633
 
1634
- #: includes/admin/core/class-admin-settings.php:385
1635
  msgid ""
1636
  "Whether to allow users changing their first and last name in account page."
1637
  msgstr ""
1638
 
1639
- #: includes/admin/core/class-admin-settings.php:391
1640
  msgid "Require First & Last Name"
1641
  msgstr ""
1642
 
1643
- #: includes/admin/core/class-admin-settings.php:392
1644
  msgid "Require first and last name?"
1645
  msgstr ""
1646
 
1647
- #: includes/admin/core/class-admin-settings.php:398
1648
  msgid "Allow users to change e-mail"
1649
  msgstr ""
1650
 
1651
- #: includes/admin/core/class-admin-settings.php:399
1652
  msgid "Whether to allow users changing their email in account page."
1653
  msgstr ""
1654
 
1655
- #: includes/admin/core/class-admin-settings.php:404
1656
  msgid "Allow users to hide their profiles from directory"
1657
  msgstr ""
1658
 
1659
- #: includes/admin/core/class-admin-settings.php:405
1660
  msgid ""
1661
  "Whether to allow users changing their profile visibility from member "
1662
  "directory in account page."
1663
  msgstr ""
1664
 
1665
- #: includes/admin/core/class-admin-settings.php:410
1666
  msgid "Require a strong password?"
1667
  msgstr ""
1668
 
1669
- #: includes/admin/core/class-admin-settings.php:411
1670
  msgid ""
1671
  "Enable or disable a strong password rules on account page / change password "
1672
  "tab"
1673
  msgstr ""
1674
 
1675
- #: includes/admin/core/class-admin-settings.php:416
1676
  msgid "Uploads"
1677
  msgstr ""
1678
 
1679
- #: includes/admin/core/class-admin-settings.php:422
1680
  msgid "Profile Photo Maximum File Size (bytes)"
1681
  msgstr ""
1682
 
1683
- #: includes/admin/core/class-admin-settings.php:423
1684
  msgid "Sets a maximum size for the uploaded photo"
1685
  msgstr ""
1686
 
1687
- #: includes/admin/core/class-admin-settings.php:430
1688
  msgid "Cover Photo Maximum File Size (bytes)"
1689
  msgstr ""
1690
 
1691
- #: includes/admin/core/class-admin-settings.php:431
1692
  msgid "Sets a maximum size for the uploaded cover"
1693
  msgstr ""
1694
 
1695
- #: includes/admin/core/class-admin-settings.php:437
1696
  msgid "Profile Photo Thumbnail Sizes (px)"
1697
  msgstr ""
1698
 
1699
- #: includes/admin/core/class-admin-settings.php:438
1700
  msgid ""
1701
  "Here you can define which thumbnail sizes will be created for each profile "
1702
  "photo upload."
1703
  msgstr ""
1704
 
1705
- #: includes/admin/core/class-admin-settings.php:440
1706
- #: includes/admin/core/class-admin-settings.php:450
1707
  msgid "Add New Size"
1708
  msgstr ""
1709
 
1710
- #: includes/admin/core/class-admin-settings.php:447
1711
  msgid "Cover Photo Thumbnail Sizes (px)"
1712
  msgstr ""
1713
 
1714
- #: includes/admin/core/class-admin-settings.php:448
1715
  msgid ""
1716
  "Here you can define which thumbnail sizes will be created for each cover "
1717
  "photo upload."
1718
  msgstr ""
1719
 
1720
- #: includes/admin/core/class-admin-settings.php:458
1721
  msgid "Image Quality"
1722
  msgstr ""
1723
 
1724
- #: includes/admin/core/class-admin-settings.php:459
1725
  msgid ""
1726
  "Quality is used to determine quality of image uploads, and ranges from 0 "
1727
  "(worst quality, smaller file) to 100 (best quality, biggest file). The "
1728
  "default range is 60."
1729
  msgstr ""
1730
 
1731
- #: includes/admin/core/class-admin-settings.php:466
1732
  msgid "Image Upload Maximum Width (px)"
1733
  msgstr ""
1734
 
1735
- #: includes/admin/core/class-admin-settings.php:467
1736
  msgid ""
1737
  "Any image upload above this width will be resized to this limit "
1738
  "automatically."
1739
  msgstr ""
1740
 
1741
- #: includes/admin/core/class-admin-settings.php:474
1742
  msgid "Cover Photo Minimum Width (px)"
1743
  msgstr ""
1744
 
1745
- #: includes/admin/core/class-admin-settings.php:475
1746
  msgid "This will be the minimum width for cover photo uploads"
1747
  msgstr ""
1748
 
1749
- #: includes/admin/core/class-admin-settings.php:482
1750
  msgid "Access"
1751
  msgstr ""
1752
 
1753
- #: includes/admin/core/class-admin-settings.php:485
1754
  msgid "Restriction Content"
1755
  msgstr ""
1756
 
1757
- #: includes/admin/core/class-admin-settings.php:490
1758
  msgid "Global Site Access"
1759
  msgstr ""
1760
 
1761
- #: includes/admin/core/class-admin-settings.php:491
1762
  msgid ""
1763
  "Globally control the access of your site, you can have seperate restrict "
1764
  "options per post/page by editing the desired item."
1765
  msgstr ""
1766
 
1767
- #: includes/admin/core/class-admin-settings.php:501
1768
  msgid "Custom Redirect URL"
1769
  msgstr ""
1770
 
1771
- #: includes/admin/core/class-admin-settings.php:502
1772
  msgid ""
1773
  "A logged out user will be redirected to this url If he is not permitted to "
1774
  "access the site"
1775
  msgstr ""
1776
 
1777
- #: includes/admin/core/class-admin-settings.php:508
1778
  msgid "Exclude the following URLs"
1779
  msgstr ""
1780
 
1781
- #: includes/admin/core/class-admin-settings.php:509
1782
  msgid ""
1783
  "Here you can exclude URLs beside the redirect URI to be accessible to "
1784
  "everyone"
1785
  msgstr ""
1786
 
1787
- #: includes/admin/core/class-admin-settings.php:510
1788
  msgid "Add New URL"
1789
  msgstr ""
1790
 
1791
- #: includes/admin/core/class-admin-settings.php:517
1792
  msgid "Allow Homepage to be accessible"
1793
  msgstr ""
1794
 
1795
- #: includes/admin/core/class-admin-settings.php:523
1796
  msgid "Allow Category pages to be accessible"
1797
  msgstr ""
1798
 
1799
- #: includes/admin/core/class-admin-settings.php:529
1800
  msgid "Restricted Access Message"
1801
  msgstr ""
1802
 
1803
- #: includes/admin/core/class-admin-settings.php:530
1804
  msgid ""
1805
  "This is the message shown to users that do not have permission to view the "
1806
  "content"
1807
  msgstr ""
1808
 
1809
- #: includes/admin/core/class-admin-settings.php:545
 
 
 
 
 
 
 
 
 
 
1810
  msgid "Restricted Access to Posts"
1811
  msgstr ""
1812
 
1813
- #: includes/admin/core/class-admin-settings.php:546
1814
  msgid "Restriction content of the current Posts"
1815
  msgstr ""
1816
 
1817
- #: includes/admin/core/class-admin-settings.php:555
1818
  msgid "Restricted Access to Taxonomies"
1819
  msgstr ""
1820
 
1821
- #: includes/admin/core/class-admin-settings.php:556
1822
  msgid "Restriction content of the current Taxonomies"
1823
  msgstr ""
1824
 
1825
- #: includes/admin/core/class-admin-settings.php:565
1826
  msgid "Other"
1827
  msgstr ""
1828
 
1829
- #: includes/admin/core/class-admin-settings.php:570
1830
  msgid "Enable the Reset Password Limit?"
1831
  msgstr ""
1832
 
1833
- #: includes/admin/core/class-admin-settings.php:575
1834
  msgid "Reset Password Limit"
1835
  msgstr ""
1836
 
1837
- #: includes/admin/core/class-admin-settings.php:576
1838
  msgid ""
1839
  "Set the maximum reset password limit. If reached the maximum limit, user "
1840
  "will be locked from using this."
1841
  msgstr ""
1842
 
1843
- #: includes/admin/core/class-admin-settings.php:584
1844
  msgid "Blocked Email Addresses"
1845
  msgstr ""
1846
 
1847
- #: includes/admin/core/class-admin-settings.php:585
1848
  msgid ""
1849
  "This will block the specified e-mail addresses from being able to sign up or "
1850
  "sign in to your site. To block an entire domain, use something like *@domain."
1851
  "com"
1852
  msgstr ""
1853
 
1854
- #: includes/admin/core/class-admin-settings.php:590
1855
  msgid "Blacklist Words"
1856
  msgstr ""
1857
 
1858
- #: includes/admin/core/class-admin-settings.php:591
1859
  msgid ""
1860
  "This option lets you specify blacklist of words to prevent anyone from "
1861
  "signing up with such a word as their username"
1862
  msgstr ""
1863
 
1864
- #: includes/admin/core/class-admin-settings.php:598
1865
  #: includes/admin/core/list-tables/emails-list-table.php:300
1866
  msgid "Email"
1867
  msgstr ""
1868
 
1869
- #: includes/admin/core/class-admin-settings.php:603
1870
  msgid "Admin E-mail Address"
1871
  msgstr ""
1872
 
1873
- #: includes/admin/core/class-admin-settings.php:604
1874
- #: includes/admin/core/class-admin-settings.php:616
1875
  msgid "e.g. admin@companyname.com"
1876
  msgstr ""
1877
 
1878
- #: includes/admin/core/class-admin-settings.php:609
1879
  msgid "Mail appears from"
1880
  msgstr ""
1881
 
1882
- #: includes/admin/core/class-admin-settings.php:610
1883
  msgid "e.g. Site Name"
1884
  msgstr ""
1885
 
1886
- #: includes/admin/core/class-admin-settings.php:615
1887
  msgid "Mail appears from address"
1888
  msgstr ""
1889
 
1890
- #: includes/admin/core/class-admin-settings.php:621
1891
  msgid "Use HTML for E-mails?"
1892
  msgstr ""
1893
 
1894
- #: includes/admin/core/class-admin-settings.php:622
1895
  msgid ""
1896
  "If you plan use e-mails with HTML, please make sure that this option is "
1897
  "enabled. Otherwise, HTML will be displayed as plain text."
1898
  msgstr ""
1899
 
1900
- #: includes/admin/core/class-admin-settings.php:627
1901
  msgid "Appearance"
1902
  msgstr ""
1903
 
1904
- #: includes/admin/core/class-admin-settings.php:630
1905
  msgid "Profile"
1906
  msgstr ""
1907
 
1908
- #: includes/admin/core/class-admin-settings.php:635
1909
  msgid "Profile Default Template"
1910
  msgstr ""
1911
 
1912
- #: includes/admin/core/class-admin-settings.php:636
1913
  msgid "This will be the default template to output profile"
1914
  msgstr ""
1915
 
1916
- #: includes/admin/core/class-admin-settings.php:644
1917
  msgid "Profile Maximum Width"
1918
  msgstr ""
1919
 
1920
- #: includes/admin/core/class-admin-settings.php:653
1921
  msgid "Profile Area Maximum Width"
1922
  msgstr ""
1923
 
1924
- #: includes/admin/core/class-admin-settings.php:655
1925
  #: includes/admin/templates/form/profile_customize.php:56
1926
  msgid ""
1927
  "The maximum width of the profile area inside profile (below profile header)"
1928
  msgstr ""
1929
 
1930
- #: includes/admin/core/class-admin-settings.php:661
1931
  msgid "Profile Field Icons"
1932
  msgstr ""
1933
 
1934
- #: includes/admin/core/class-admin-settings.php:662
1935
  msgid "This is applicable for edit mode only"
1936
  msgstr ""
1937
 
1938
- #: includes/admin/core/class-admin-settings.php:665
1939
- #: includes/admin/core/class-admin-settings.php:861
1940
- #: includes/admin/core/class-admin-settings.php:951
1941
  #: includes/admin/templates/form/login_customize.php:40
1942
  #: includes/admin/templates/form/profile_customize.php:67
1943
  #: includes/admin/templates/form/register_customize.php:55
1944
  msgid "Show inside text field"
1945
  msgstr ""
1946
 
1947
- #: includes/admin/core/class-admin-settings.php:666
1948
- #: includes/admin/core/class-admin-settings.php:862
1949
- #: includes/admin/core/class-admin-settings.php:952
1950
  #: includes/admin/templates/form/login_customize.php:41
1951
  #: includes/admin/templates/form/profile_customize.php:68
1952
  #: includes/admin/templates/form/register_customize.php:56
1953
  msgid "Show with label"
1954
  msgstr ""
1955
 
1956
- #: includes/admin/core/class-admin-settings.php:667
1957
- #: includes/admin/core/class-admin-settings.php:863
1958
- #: includes/admin/core/class-admin-settings.php:953
1959
  #: includes/admin/templates/form/login_customize.php:42
1960
  #: includes/admin/templates/form/profile_customize.php:69
1961
  #: includes/admin/templates/form/register_customize.php:57
1962
  msgid "Turn off"
1963
  msgstr ""
1964
 
1965
- #: includes/admin/core/class-admin-settings.php:674
1966
  msgid "Profile Primary Button Text"
1967
  msgstr ""
1968
 
1969
- #: includes/admin/core/class-admin-settings.php:676
1970
  msgid "The text that is used for updating profile button"
1971
  msgstr ""
1972
 
1973
- #: includes/admin/core/class-admin-settings.php:682
1974
  msgid "Profile Secondary Button"
1975
  msgstr ""
1976
 
1977
- #: includes/admin/core/class-admin-settings.php:684
1978
- #: includes/admin/core/class-admin-settings.php:880
1979
- #: includes/admin/core/class-admin-settings.php:970
1980
  msgid "Switch on/off the secondary button display in the form"
1981
  msgstr ""
1982
 
1983
- #: includes/admin/core/class-admin-settings.php:689
1984
  msgid "Profile Secondary Button Text"
1985
  msgstr ""
1986
 
1987
- #: includes/admin/core/class-admin-settings.php:691
1988
  msgid "The text that is used for cancelling update profile button"
1989
  msgstr ""
1990
 
1991
- #: includes/admin/core/class-admin-settings.php:698
1992
  msgid "Default Profile Photo"
1993
  msgstr ""
1994
 
1995
- #: includes/admin/core/class-admin-settings.php:699
1996
  msgid ""
1997
  "You can change the default profile picture globally here. Please make sure "
1998
  "that the photo is 300x300px."
1999
  msgstr ""
2000
 
2001
- #: includes/admin/core/class-admin-settings.php:700
2002
  msgid "Select Default Profile Photo"
2003
  msgstr ""
2004
 
2005
- #: includes/admin/core/class-admin-settings.php:710
2006
  msgid "Default Cover Photo"
2007
  msgstr ""
2008
 
2009
- #: includes/admin/core/class-admin-settings.php:711
2010
  msgid ""
2011
  "You can change the default cover photo globally here. Please make sure that "
2012
  "the default cover is large enough and respects the ratio you are using for "
2013
  "cover photos."
2014
  msgstr ""
2015
 
2016
- #: includes/admin/core/class-admin-settings.php:712
2017
  msgid "Select Default Cover Photo"
2018
  msgstr ""
2019
 
2020
- #: includes/admin/core/class-admin-settings.php:717
2021
  #: includes/admin/templates/form/profile_customize.php:127
2022
  msgid "Profile Photo Size"
2023
  msgstr ""
2024
 
2025
- #: includes/admin/core/class-admin-settings.php:719
2026
  msgid ""
2027
  "The global default of profile photo size. This can be overridden by "
2028
  "individual form settings"
2029
  msgstr ""
2030
 
2031
- #: includes/admin/core/class-admin-settings.php:725
2032
  msgid "Profile Cover Photos"
2033
  msgstr ""
2034
 
2035
- #: includes/admin/core/class-admin-settings.php:727
2036
  msgid "Switch on/off the profile cover photos"
2037
  msgstr ""
2038
 
2039
- #: includes/admin/core/class-admin-settings.php:732
2040
  msgid "Profile Cover Ratio"
2041
  msgstr ""
2042
 
2043
- #: includes/admin/core/class-admin-settings.php:733
2044
  msgid "Choose global ratio for cover photos of profiles"
2045
  msgstr ""
2046
 
2047
- #: includes/admin/core/class-admin-settings.php:747
2048
  msgid "Profile Header Meta Text Icon"
2049
  msgstr ""
2050
 
2051
- #: includes/admin/core/class-admin-settings.php:749
2052
  msgid "Display field icons for related user meta fields in header or not"
2053
  msgstr ""
2054
 
2055
- #: includes/admin/core/class-admin-settings.php:754
2056
  msgid "Show display name in profile header"
2057
  msgstr ""
2058
 
2059
- #: includes/admin/core/class-admin-settings.php:756
2060
  msgid "Switch on/off the user name on profile header"
2061
  msgstr ""
2062
 
2063
- #: includes/admin/core/class-admin-settings.php:761
2064
  msgid "Show social links in profile header"
2065
  msgstr ""
2066
 
2067
- #: includes/admin/core/class-admin-settings.php:763
2068
  msgid "Switch on/off the social links on profile header"
2069
  msgstr ""
2070
 
2071
- #: includes/admin/core/class-admin-settings.php:768
2072
  msgid "Show user description in header"
2073
  msgstr ""
2074
 
2075
- #: includes/admin/core/class-admin-settings.php:770
2076
  msgid "Switch on/off the user description on profile header"
2077
  msgstr ""
2078
 
2079
- #: includes/admin/core/class-admin-settings.php:775
2080
  msgid "Enable html support for user description"
2081
  msgstr ""
2082
 
2083
- #: includes/admin/core/class-admin-settings.php:777
2084
  msgid ""
2085
  "Switch on/off to enable/disable support for html tags on user description."
2086
  msgstr ""
2087
 
2088
- #: includes/admin/core/class-admin-settings.php:782
2089
  msgid "User description maximum chars"
2090
  msgstr ""
2091
 
2092
- #: includes/admin/core/class-admin-settings.php:784
2093
  msgid ""
2094
  "Maximum number of characters to allow in user description field in header."
2095
  msgstr ""
2096
 
2097
- #: includes/admin/core/class-admin-settings.php:791
2098
  msgid "Profile Header Menu Position"
2099
  msgstr ""
2100
 
2101
- #: includes/admin/core/class-admin-settings.php:793
2102
  msgid ""
2103
  "For incompatible themes, please make the menu open from left instead of "
2104
  "bottom by default."
2105
  msgstr ""
2106
 
2107
- #: includes/admin/core/class-admin-settings.php:803
2108
  msgid "Show a custom message if profile is empty"
2109
  msgstr ""
2110
 
2111
- #: includes/admin/core/class-admin-settings.php:805
2112
  msgid "Switch on/off the custom message that appears when the profile is empty"
2113
  msgstr ""
2114
 
2115
- #: includes/admin/core/class-admin-settings.php:810
2116
  msgid "Show the emoticon"
2117
  msgstr ""
2118
 
2119
- #: includes/admin/core/class-admin-settings.php:812
2120
  msgid "Switch on/off the emoticon (sad face) that appears above the message"
2121
  msgstr ""
2122
 
2123
- #: includes/admin/core/class-admin-settings.php:818
2124
  msgid "Profile Menu"
2125
  msgstr ""
2126
 
2127
- #: includes/admin/core/class-admin-settings.php:822
2128
  #: includes/admin/templates/form/mode.php:9
2129
  msgid "Registration Form"
2130
  msgstr ""
2131
 
2132
- #: includes/admin/core/class-admin-settings.php:827
2133
  msgid "Registration Default Template"
2134
  msgstr ""
2135
 
2136
- #: includes/admin/core/class-admin-settings.php:828
2137
  msgid "This will be the default template to output registration"
2138
  msgstr ""
2139
 
2140
- #: includes/admin/core/class-admin-settings.php:836
2141
  msgid "Registration Maximum Width"
2142
  msgstr ""
2143
 
2144
- #: includes/admin/core/class-admin-settings.php:838
2145
- #: includes/admin/core/class-admin-settings.php:928
2146
  msgid "The maximum width this shortcode can take from the page width"
2147
  msgstr ""
2148
 
2149
- #: includes/admin/core/class-admin-settings.php:844
2150
  msgid "Registration Shortcode Alignment"
2151
  msgstr ""
2152
 
2153
- #: includes/admin/core/class-admin-settings.php:845
2154
- #: includes/admin/core/class-admin-settings.php:935
2155
  #: includes/admin/templates/form/profile_customize.php:115
2156
  msgid "The shortcode is centered by default unless you specify otherwise here"
2157
  msgstr ""
2158
 
2159
- #: includes/admin/core/class-admin-settings.php:848
2160
- #: includes/admin/core/class-admin-settings.php:938
2161
  msgid "Centered"
2162
  msgstr ""
2163
 
2164
- #: includes/admin/core/class-admin-settings.php:849
2165
- #: includes/admin/core/class-admin-settings.php:939
2166
  msgid "Left aligned"
2167
  msgstr ""
2168
 
2169
- #: includes/admin/core/class-admin-settings.php:850
2170
- #: includes/admin/core/class-admin-settings.php:940
2171
  msgid "Right aligned"
2172
  msgstr ""
2173
 
2174
- #: includes/admin/core/class-admin-settings.php:857
2175
  msgid "Registration Field Icons"
2176
  msgstr ""
2177
 
2178
- #: includes/admin/core/class-admin-settings.php:858</