Ultimate Member – User Profile & Membership Plugin - Version 2.0.56

Version Description

Download this release

Release Info

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

Code changes from version 2.0.55 to 2.0.56

Files changed (178) hide show
  1. assets/css/um.rtl.css +92 -1
  2. assets/dynamic_css/dynamic_profile.php +12 -4
  3. assets/img/extensions/unsplash.png +0 -0
  4. assets/js/pickadate/picker.date.js +11 -8
  5. assets/js/pickadate/picker.js +68 -25
  6. assets/js/pickadate/picker.time.js +5 -2
  7. assets/js/pickadate/translations/ar.js +16 -1
  8. assets/js/pickadate/translations/bg_BG.js +17 -1
  9. assets/js/pickadate/translations/bs_BA.js +17 -1
  10. assets/js/pickadate/translations/ca.js +0 -1
  11. assets/js/pickadate/translations/ca_ES.js +18 -0
  12. assets/js/pickadate/translations/cs_CZ.js +18 -1
  13. assets/js/pickadate/translations/da_DK.js +18 -1
  14. assets/js/pickadate/translations/de_DE.js +19 -1
  15. assets/js/pickadate/translations/el.js +0 -1
  16. assets/js/pickadate/translations/el_GR.js +17 -0
  17. assets/js/pickadate/translations/es_ES.js +18 -1
  18. assets/js/pickadate/translations/et.js +0 -1
  19. assets/js/pickadate/translations/et_EE.js +17 -0
  20. assets/js/pickadate/translations/eu.js +0 -1
  21. assets/js/pickadate/translations/eu_ES.js +17 -0
  22. assets/js/pickadate/translations/fa_IR.js +19 -0
  23. assets/js/pickadate/translations/fi.js +0 -1
  24. assets/js/pickadate/translations/fi_FI.js +17 -0
  25. assets/js/pickadate/translations/fr_FR.js +23 -1
  26. assets/js/pickadate/translations/ge_GEO.js +17 -0
  27. assets/js/pickadate/translations/gl_ES.js +17 -1
  28. assets/js/pickadate/translations/he_IL.js +16 -1
  29. assets/js/pickadate/translations/hi_IN.js +20 -0
  30. assets/js/pickadate/translations/hr.js +0 -1
  31. assets/js/pickadate/translations/hr_HR.js +18 -0
  32. assets/js/pickadate/translations/hu_HU.js +18 -1
  33. assets/js/pickadate/translations/id_ID.js +17 -1
  34. assets/js/pickadate/translations/is_IS.js +17 -1
  35. assets/js/pickadate/translations/it_IT.js +24 -1
  36. assets/js/pickadate/translations/ja.js +0 -1
  37. assets/js/pickadate/translations/ja_JP.js +17 -0
  38. assets/js/pickadate/translations/km_KH.js +24 -0
  39. assets/js/pickadate/translations/ko_KR.js +17 -1
  40. assets/js/pickadate/translations/lt_LT.js +24 -0
  41. assets/js/pickadate/translations/lv_LV.js +22 -0
  42. assets/js/pickadate/translations/nb_NO.js +18 -0
  43. assets/js/pickadate/translations/ne_NP.js +17 -1
  44. assets/js/pickadate/translations/nl_NL.js +18 -1
  45. assets/js/pickadate/translations/nn_NO.js +0 -1
  46. assets/js/pickadate/translations/pl_PL.js +18 -1
  47. assets/js/pickadate/translations/pt_BR.js +17 -1
  48. assets/js/pickadate/translations/pt_PT.js +17 -1
  49. assets/js/pickadate/translations/ro_RO.js +17 -1
  50. assets/js/pickadate/translations/ru_RU.js +18 -1
  51. assets/js/pickadate/translations/sk_SK.js +18 -1
  52. assets/js/pickadate/translations/sl_SI.js +18 -1
  53. assets/js/pickadate/translations/sr_RS_cy.js +22 -0
  54. assets/js/pickadate/translations/sr_RS_lt.js +22 -0
  55. assets/js/pickadate/translations/sv_SE.js +22 -1
  56. assets/js/pickadate/translations/th.js +0 -1
  57. assets/js/pickadate/translations/th_TH.js +16 -0
  58. assets/js/pickadate/translations/tr_TR.js +18 -1
  59. assets/js/pickadate/translations/uk.js +0 -1
  60. assets/js/pickadate/translations/uk_UA.js +17 -0
  61. assets/js/pickadate/translations/vi.js +0 -1
  62. assets/js/pickadate/translations/vi_VN.js +18 -0
  63. assets/js/pickadate/translations/zh_CN.js +18 -1
  64. assets/js/pickadate/translations/zh_TW.js +18 -1
  65. assets/js/um-functions.js +52 -43
  66. assets/js/um-functions.min.js +1 -1
  67. assets/js/um-scripts.js +54 -48
  68. assets/js/um-scripts.min.js +1 -1
  69. includes/admin/assets/css/um-admin-rtl.css +12 -0
  70. includes/admin/assets/js/um-admin-forms.js +55 -8
  71. includes/admin/assets/js/um-admin-role-wrapper.js +9 -0
  72. includes/admin/class-admin-functions.php +6 -4
  73. includes/admin/core/class-admin-builder.php +115 -118
  74. includes/admin/core/class-admin-columns.php +3 -2
  75. includes/admin/core/class-admin-dragdrop.php +40 -37
  76. includes/admin/core/class-admin-enqueue.php +5 -6
  77. includes/admin/core/class-admin-forms.php +96 -74
  78. includes/admin/core/class-admin-menu.php +6 -4
  79. includes/admin/core/class-admin-metabox.php +164 -206
  80. includes/admin/core/class-admin-notices.php +9 -5
  81. includes/admin/core/class-admin-settings.php +244 -246
  82. includes/admin/core/class-admin-upgrade.php +4 -3
  83. includes/admin/core/class-admin-users.php +16 -8
  84. includes/admin/core/list-tables/roles-list-table.php +15 -11
  85. includes/admin/templates/dashboard/cache.php +5 -2
  86. includes/admin/templates/dashboard/feed.php +3 -0
  87. includes/admin/templates/dashboard/purge.php +5 -2
  88. includes/admin/templates/dashboard/upgrade-request.php +4 -1
  89. includes/admin/templates/dashboard/users.php +63 -12
  90. includes/admin/templates/directory/appearance.php +3 -0
  91. includes/admin/templates/directory/general.php +3 -1
  92. includes/admin/templates/directory/pagination.php +3 -0
  93. includes/admin/templates/directory/profile.php +3 -0
  94. includes/admin/templates/directory/search.php +3 -0
  95. includes/admin/templates/directory/shortcode.php +3 -0
  96. includes/admin/templates/extensions.php +15 -9
  97. includes/admin/templates/form/builder.php +21 -14
  98. includes/admin/templates/form/login_customize.php +3 -0
  99. includes/admin/templates/form/login_settings.php +3 -0
  100. includes/admin/templates/form/mode.php +15 -11
  101. includes/admin/templates/form/profile_customize.php +3 -0
  102. includes/admin/templates/form/profile_settings.php +1 -0
  103. includes/admin/templates/form/register_customize.php +3 -0
  104. includes/admin/templates/form/register_gdpr.php +3 -0
  105. includes/admin/templates/form/shortcode.php +3 -0
  106. includes/admin/templates/modal/dynamic_edit_field.php +10 -7
  107. includes/admin/templates/modal/dynamic_edit_row.php +10 -7
  108. includes/admin/templates/modal/dynamic_form_preview.php +8 -5
  109. includes/admin/templates/modal/dynamic_new_divider.php +10 -7
  110. includes/admin/templates/modal/dynamic_new_field.php +10 -7
  111. includes/admin/templates/modal/dynamic_new_group.php +10 -7
  112. includes/admin/templates/modal/dynamic_registration_preview.php +7 -4
  113. includes/admin/templates/modal/fields.php +6 -3
  114. includes/admin/templates/modal/fonticons.php +7 -4
  115. includes/admin/templates/role/admin-permissions.php +3 -0
  116. includes/admin/templates/role/delete.php +3 -0
  117. includes/admin/templates/role/general.php +3 -0
  118. includes/admin/templates/role/home.php +3 -0
  119. includes/admin/templates/role/login.php +3 -0
  120. includes/admin/templates/role/logout.php +3 -0
  121. includes/admin/templates/role/profile.php +3 -0
  122. includes/admin/templates/role/publish.php +12 -12
  123. includes/admin/templates/role/register.php +3 -0
  124. includes/admin/templates/role/role-edit.php +8 -10
  125. includes/admin/templates/role/wp-capabilities.php +3 -0
  126. includes/class-init.php +2 -16
  127. includes/core/class-account.php +33 -25
  128. includes/core/class-builtin.php +22 -13
  129. includes/core/class-chart.php +0 -156
  130. includes/core/class-fields.php +592 -428
  131. includes/core/class-members.php +38 -38
  132. includes/core/class-profile.php +7 -5
  133. includes/core/class-query.php +8 -6
  134. includes/core/class-shortcodes.php +1 -1
  135. includes/core/class-uploader.php +1 -1
  136. includes/core/class-user.php +86 -73
  137. includes/core/class-validation.php +59 -30
  138. includes/core/um-actions-account.php +9 -10
  139. includes/core/um-actions-form.php +109 -88
  140. includes/core/um-actions-global.php +7 -7
  141. includes/core/um-actions-login.php +32 -36
  142. includes/core/um-actions-members.php +59 -58
  143. includes/core/um-actions-profile.php +102 -79
  144. includes/core/um-actions-register.php +9 -1
  145. includes/core/um-actions-user.php +11 -5
  146. includes/core/um-filters-fields.php +3 -2
  147. includes/um-short-functions.php +301 -292
  148. includes/widgets/class-um-search-widget.php +5 -3
  149. languages/ultimate-member-en_US.mo +0 -0
  150. languages/ultimate-member-en_US.po +2127 -1647
  151. readme.txt +27 -3
  152. templates/account.php +8 -8
  153. templates/email/approved_email.php +3 -3
  154. templates/email/changedaccount_email.php +1 -3
  155. templates/email/changedpw_email.php +1 -3
  156. templates/email/checkmail_email.php +1 -3
  157. templates/email/deletion_email.php +1 -3
  158. templates/email/inactive_email.php +1 -2
  159. templates/email/notification_deletion.php +2 -2
  160. templates/email/notification_new_user.php +3 -3
  161. templates/email/notification_review.php +3 -3
  162. templates/email/pending_email.php +2 -2
  163. templates/email/rejected_email.php +1 -3
  164. templates/email/resetpw_email.php +1 -3
  165. templates/email/welcome_email.php +2 -4
  166. templates/login-to-view.php +1 -1
  167. templates/login.php +2 -2
  168. templates/members-grid.php +10 -10
  169. templates/message.php +1 -3
  170. templates/modal/um_upload_single.php +3 -3
  171. templates/modal/um_view_photo.php +6 -8
  172. templates/password-reset.php +2 -2
  173. templates/profile.php +66 -13
  174. templates/profile/comments-single.php +4 -3
  175. templates/profile/comments.php +11 -4
  176. templates/profile/posts.php +8 -2
  177. ultimate-member.php +1 -1
  178. uninstall.php +163 -22
assets/css/um.rtl.css CHANGED
@@ -10,6 +10,9 @@
10
  .um-profile-photo a.um-profile-photo-img {
11
  float: right;
12
  left: auto;
 
 
 
13
  right: 30px;
14
  }
15
 
@@ -32,7 +35,15 @@ div.uimob800 .um-header .um-profile-meta {
32
  .um-name {
33
  float: right;
34
  margin-right: 0;
35
- margin-left: 30px;
 
 
 
 
 
 
 
 
36
  }
37
 
38
  .um-profile-nav-item a{float: right}
@@ -97,4 +108,84 @@ div.uimob800 .um-header .um-profile-meta {
97
  p.um-notice i {
98
  right: auto;
99
  left: 14px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  }
10
  .um-profile-photo a.um-profile-photo-img {
11
  float: right;
12
  left: auto;
13
+ }
14
+
15
+ .um-cover + .um-header .um-profile-photo a.um-profile-photo-img {
16
  right: 30px;
17
  }
18
 
35
  .um-name {
36
  float: right;
37
  margin-right: 0;
38
+ }
39
+
40
+ .um-profile-nav-item a {
41
+ float: right;
42
+ padding: 6px 28px 6px 10px;
43
+ }
44
+ .um-profile-nav-item i {
45
+ left: auto;
46
+ right: 6px;
47
  }
48
 
49
  .um-profile-nav-item a{float: right}
108
  p.um-notice i {
109
  right: auto;
110
  left: 14px;
111
+ }
112
+
113
+ .um-account.uimob340 .um-account-nav a,
114
+ .um-account.uimob500 .um-account-nav a {
115
+ padding-left: 0;
116
+ padding-right: 40px;
117
+ }
118
+ .um-account.uimob340 .um-account-nav span.ico,
119
+ .um-account.uimob500 .um-account-nav span.ico {
120
+ right: 0;
121
+ }
122
+ .um-account.uimob340 .um-account-nav span.arr,
123
+ .um-account.uimob500 .um-account-nav span.arr {
124
+ right: auto;
125
+ left: 0;
126
+ }
127
+
128
+ .select2.select2-container .select2-selection .select2-selection__arrow {
129
+ right: auto !important;
130
+ }
131
+
132
+ .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
133
+ padding-right: 8px;
134
+ text-align: right;
135
+ padding-left: 20px;
136
+ }
137
+
138
+ .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
139
+ margin-left: 4px;
140
+ }
141
+
142
+ .um-single-image-preview a.cancel, .um-single-file-preview a.cancel {
143
+ left: -15px;
144
+ right: auto;
145
+ }
146
+
147
+ .select2.select2-container .select2-selection {
148
+ padding: 0 12px 0 0 !important;
149
+ }
150
+
151
+ .select2-selection__clear {
152
+ right: auto;
153
+ left: 1px;
154
+ }
155
+
156
+ .cropper-container {
157
+ margin: 0 auto;
158
+ left: auto !important;
159
+ }
160
+
161
+ .um-field-label .um-tip {
162
+ margin: 0 8px 0 0;
163
+ }
164
+
165
+ .tipsy-inner {
166
+ text-align: right !important;
167
+ }
168
+
169
+ .um span.um-req {
170
+ margin: 0 8px 0 0;
171
+ }
172
+
173
+ .um-account-side li a span.um-account-icon,
174
+ .um-account-side li a.current span.um-account-icon,
175
+ .um-account-side li a.current:hover span.um-account-icon {
176
+ border-right: none;
177
+ }
178
+
179
+ .um-field-error .um-field-arrow {
180
+ left: 0;
181
+ right: 10px;
182
+ }
183
+
184
+ .um-single-image-preview a.cancel,
185
+ .um-single-file-preview a.cancel {
186
+ left: 0;
187
+ }
188
+ .um-modal-body .um-single-image-preview a.cancel,
189
+ .um-modal-body .um-single-file-preview a.cancel {
190
+ left: -15px;
191
  }
assets/dynamic_css/dynamic_profile.php CHANGED
@@ -26,10 +26,18 @@ print "
26
  }
27
  ";
28
 
29
- print "
30
- .um-$form_id.um .um-profile-meta {
31
- padding-left: $meta_padding;
 
 
 
 
 
 
 
 
 
32
  }
33
- ";
34
  ?>
35
  </style>
26
  }
27
  ";
28
 
29
+ if ( is_rtl() ) {
30
+ print "
31
+ .um-$form_id.um .um-profile-meta {
32
+ padding-right: $meta_padding;
33
+ }
34
+ ";
35
+ } else {
36
+ print "
37
+ .um-$form_id.um .um-profile-meta {
38
+ padding-left: $meta_padding;
39
+ }
40
+ ";
41
  }
 
42
  ?>
43
  </style>
assets/img/extensions/unsplash.png ADDED
Binary file
assets/js/pickadate/picker.date.js CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Date picker for pickadate.js v3.5.6
3
  * http://amsul.github.io/pickadate.js/date.htm
4
  */
5
 
@@ -7,7 +7,7 @@
7
 
8
  // AMD.
9
  if ( typeof define == 'function' && define.amd )
10
- define( ['picker', 'jquery'], factory )
11
 
12
  // Node.js/browserify.
13
  else if ( typeof exports == 'object' )
@@ -396,9 +396,14 @@ DatePicker.prototype.normalize = function( value/*, options*/ ) {
396
  DatePicker.prototype.measure = function( type, value/*, options*/ ) {
397
 
398
  var calendar = this
 
 
 
 
 
399
 
400
  // If it’s anything false-y, remove the limits.
401
- if ( !value ) {
402
  value = type == 'min' ? -Infinity : Infinity
403
  }
404
 
@@ -407,11 +412,6 @@ DatePicker.prototype.measure = function( type, value/*, options*/ ) {
407
  value = calendar.parse( type, value )
408
  }
409
 
410
- // If it's an integer, get a date relative to today.
411
- else if ( _.isInteger( value ) ) {
412
- value = calendar.now( type, value, { rel: value } )
413
- }
414
-
415
  return value
416
  } ///DatePicker.prototype.measure
417
 
@@ -1299,6 +1299,9 @@ DatePicker.defaults = (function( prefix ) {
1299
  closeOnSelect: true,
1300
  closeOnClear: true,
1301
 
 
 
 
1302
  // The format to show on the `input` element
1303
  format: 'd mmmm, yyyy',
1304
 
1
  /*!
2
+ * Date picker for pickadate.js v3.6.2
3
  * http://amsul.github.io/pickadate.js/date.htm
4
  */
5
 
7
 
8
  // AMD.
9
  if ( typeof define == 'function' && define.amd )
10
+ define( ['./picker', 'jquery'], factory )
11
 
12
  // Node.js/browserify.
13
  else if ( typeof exports == 'object' )
396
  DatePicker.prototype.measure = function( type, value/*, options*/ ) {
397
 
398
  var calendar = this
399
+
400
+ // If it's an integer, get a date relative to today.
401
+ if ( _.isInteger( value ) ) {
402
+ value = calendar.now( type, value, { rel: value } )
403
+ }
404
 
405
  // If it’s anything false-y, remove the limits.
406
+ else if ( !value ) {
407
  value = type == 'min' ? -Infinity : Infinity
408
  }
409
 
412
  value = calendar.parse( type, value )
413
  }
414
 
 
 
 
 
 
415
  return value
416
  } ///DatePicker.prototype.measure
417
 
1299
  closeOnSelect: true,
1300
  closeOnClear: true,
1301
 
1302
+ // Update input value on select/clear
1303
+ updateInput: true,
1304
+
1305
  // The format to show on the `input` element
1306
  format: 'd mmmm, yyyy',
1307
 
assets/js/pickadate/picker.js CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * pickadate.js v3.5.6, 2015/04/20
3
  * By Amsul, http://amsul.ca
4
  * Hosted on http://amsul.github.io/pickadate.js
5
  * Licensed under MIT
@@ -254,7 +254,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
254
 
255
  // Prevent the page from scrolling.
256
  if ( IS_DEFAULT_THEME ) {
257
- $html.
258
  css( 'overflow', 'hidden' ).
259
  css( 'padding-right', '+=' + getScrollbarWidth() )
260
  }
@@ -265,7 +265,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
265
  // Bind the document events.
266
  $document.on( 'click.' + STATE.id + ' focusin.' + STATE.id, function( event ) {
267
 
268
- var target = event.target
269
 
270
  // If the target of the event is not the element, close the picker picker.
271
  // * Don’t worry about clicks or focusins on the root because those don’t bubble up.
@@ -274,7 +274,9 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
274
  // * In Firefox stopPropagation() doesn’t prevent right-click events from bubbling,
275
  // which causes the picker to unexpectedly close when right-clicking it. So make
276
  // sure the event wasn’t a right-click.
277
- if ( target != ELEMENT && target != document && event.which != 3 ) {
 
 
278
 
279
  // If the target was the holder that covers the screen,
280
  // keep the element focused to maintain tabindex.
@@ -291,7 +293,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
291
  keycodeToMove = P.component.key[ keycode ],
292
 
293
  // Grab the target.
294
- target = event.target
295
 
296
 
297
  // On escape, close the picker and give focus.
@@ -379,7 +381,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
379
 
380
  // Allow the page to scroll.
381
  if ( IS_DEFAULT_THEME ) {
382
- $html.
383
  css( 'overflow', '' ).
384
  css( 'padding-right', '-=' + getScrollbarWidth() )
385
  }
@@ -432,7 +434,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
432
  }
433
 
434
  // Then, check to update the element value and broadcast a change.
435
- if ( thingItem == 'select' || thingItem == 'clear' ) {
436
  $ELEMENT.
437
  val( thingItem == 'clear' ? '' : P.get( thingItem, SETTINGS.format ) ).
438
  trigger( 'change' )
@@ -605,8 +607,6 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
605
  ) //endreturn
606
  } //createWrappedComponent
607
 
608
-
609
-
610
  /**
611
  * Prepare the input element with all bindings.
612
  */
@@ -624,20 +624,20 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
624
  val( $ELEMENT.data('value') ?
625
  P.get('select', SETTINGS.format) :
626
  ELEMENT.value
627
- )
628
 
 
 
 
 
 
 
629
 
630
  // Only bind keydown events if the element isn’t editable.
631
  if ( !SETTINGS.editable ) {
632
 
633
  $ELEMENT.
634
 
635
- // On focus/click, open the picker.
636
- on( 'focus.' + STATE.id + ' click.' + STATE.id, function(event) {
637
- event.preventDefault()
638
- P.open()
639
- }).
640
-
641
  // Handle keyboard event based on the picker being opened or not.
642
  on( 'keydown.' + STATE.id, handleKeydownEvent )
643
  }
@@ -691,7 +691,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
691
  // from bubbling to the doc.
692
  'mousedown click': function( event ) {
693
 
694
- var target = event.target
695
 
696
  // Make sure the target isn’t the root holder so it can bubble up.
697
  if ( target != P.$holder[0] ) {
@@ -708,7 +708,7 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
708
 
709
  // Re-focus onto the holder so that users can click away
710
  // from elements focused within the picker.
711
- P.$holder[0].focus()
712
  }
713
  }
714
  }
@@ -725,11 +725,11 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
725
  // * For IE, non-focusable elements can be active elements as well
726
  // (http://stackoverflow.com/a/2684561).
727
  activeElement = getActiveElement()
728
- activeElement = activeElement && ( activeElement.type || activeElement.href )
729
 
730
  // If it’s disabled or nothing inside is actively focused, re-focus the element.
731
  if ( targetDisabled || activeElement && !$.contains( P.$root[0], activeElement ) ) {
732
- P.$holder[0].focus()
733
  }
734
 
735
  // If something is superficially changed, update the `highlight` based on the `nav`.
@@ -814,11 +814,13 @@ function PickerConstructor( ELEMENT, NAME, COMPONENT, OPTIONS ) {
814
 
815
  if (IS_DEFAULT_THEME && supportsTransitions) {
816
  P.$holder.find('.' + CLASSES.frame).one('transitionend', function() {
817
- P.$holder[0].focus()
818
  })
819
  }
820
  else {
821
- P.$holder[0].focus()
 
 
822
  }
823
  }
824
 
@@ -957,6 +959,50 @@ function getScrollbarWidth() {
957
 
958
 
959
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
960
  /**
961
  * PickerConstructor helper methods.
962
  */
@@ -1158,6 +1204,3 @@ return PickerConstructor
1158
 
1159
 
1160
  }));
1161
-
1162
-
1163
-
1
  /*!
2
+ * pickadate.js v3.6.2, 2019/03/19
3
  * By Amsul, http://amsul.ca
4
  * Hosted on http://amsul.github.io/pickadate.js
5
  * Licensed under MIT
254
 
255
  // Prevent the page from scrolling.
256
  if ( IS_DEFAULT_THEME ) {
257
+ $('body').
258
  css( 'overflow', 'hidden' ).
259
  css( 'padding-right', '+=' + getScrollbarWidth() )
260
  }
265
  // Bind the document events.
266
  $document.on( 'click.' + STATE.id + ' focusin.' + STATE.id, function( event ) {
267
 
268
+ var target = getRealEventTarget( event, ELEMENT )
269
 
270
  // If the target of the event is not the element, close the picker picker.
271
  // * Don’t worry about clicks or focusins on the root because those don’t bubble up.
274
  // * In Firefox stopPropagation() doesn’t prevent right-click events from bubbling,
275
  // which causes the picker to unexpectedly close when right-clicking it. So make
276
  // sure the event wasn’t a right-click.
277
+ // * In Chrome 62 and up, password autofill causes a simulated focusin event which
278
+ // closes the picker.
279
+ if ( ! event.isSimulated && target != ELEMENT && target != document && event.which != 3 ) {
280
 
281
  // If the target was the holder that covers the screen,
282
  // keep the element focused to maintain tabindex.
293
  keycodeToMove = P.component.key[ keycode ],
294
 
295
  // Grab the target.
296
+ target = getRealEventTarget( event, ELEMENT )
297
 
298
 
299
  // On escape, close the picker and give focus.
381
 
382
  // Allow the page to scroll.
383
  if ( IS_DEFAULT_THEME ) {
384
+ $('body').
385
  css( 'overflow', '' ).
386
  css( 'padding-right', '-=' + getScrollbarWidth() )
387
  }
434
  }
435
 
436
  // Then, check to update the element value and broadcast a change.
437
+ if ( ( thingItem == 'select' || thingItem == 'clear' ) && SETTINGS.updateInput ) {
438
  $ELEMENT.
439
  val( thingItem == 'clear' ? '' : P.get( thingItem, SETTINGS.format ) ).
440
  trigger( 'change' )
607
  ) //endreturn
608
  } //createWrappedComponent
609
 
 
 
610
  /**
611
  * Prepare the input element with all bindings.
612
  */
624
  val( $ELEMENT.data('value') ?
625
  P.get('select', SETTINGS.format) :
626
  ELEMENT.value
627
+ ).
628
 
629
+ // On focus/click, open the picker.
630
+ on( 'focus.' + STATE.id + ' click.' + STATE.id,
631
+ debounce(function(event) {
632
+ event.preventDefault()
633
+ P.open()
634
+ }, 100))
635
 
636
  // Only bind keydown events if the element isn’t editable.
637
  if ( !SETTINGS.editable ) {
638
 
639
  $ELEMENT.
640
 
 
 
 
 
 
 
641
  // Handle keyboard event based on the picker being opened or not.
642
  on( 'keydown.' + STATE.id, handleKeydownEvent )
643
  }
691
  // from bubbling to the doc.
692
  'mousedown click': function( event ) {
693
 
694
+ var target = getRealEventTarget( event, ELEMENT )
695
 
696
  // Make sure the target isn’t the root holder so it can bubble up.
697
  if ( target != P.$holder[0] ) {
708
 
709
  // Re-focus onto the holder so that users can click away
710
  // from elements focused within the picker.
711
+ P.$holder.eq(0).focus()
712
  }
713
  }
714
  }
725
  // * For IE, non-focusable elements can be active elements as well
726
  // (http://stackoverflow.com/a/2684561).
727
  activeElement = getActiveElement()
728
+ activeElement = activeElement && ( (activeElement.type || activeElement.href ) ? activeElement : null);
729
 
730
  // If it’s disabled or nothing inside is actively focused, re-focus the element.
731
  if ( targetDisabled || activeElement && !$.contains( P.$root[0], activeElement ) ) {
732
+ P.$holder.eq(0).focus()
733
  }
734
 
735
  // If something is superficially changed, update the `highlight` based on the `nav`.
814
 
815
  if (IS_DEFAULT_THEME && supportsTransitions) {
816
  P.$holder.find('.' + CLASSES.frame).one('transitionend', function() {
817
+ P.$holder.eq(0).focus()
818
  })
819
  }
820
  else {
821
+ setTimeout(function() {
822
+ P.$holder.eq(0).focus()
823
+ }, 0)
824
  }
825
  }
826
 
959
 
960
 
961
 
962
+ /**
963
+ * Get the target element from the event.
964
+ * If ELEMENT is supplied and present in the event path (ELEMENT is ancestor of the target),
965
+ * returns ELEMENT instead
966
+ */
967
+ function getRealEventTarget( event, ELEMENT ) {
968
+
969
+ var path = []
970
+
971
+ if ( event.path ) {
972
+ path = event.path
973
+ }
974
+
975
+ if ( event.originalEvent && event.originalEvent.path ) {
976
+ path = event.originalEvent.path
977
+ }
978
+
979
+ if ( path && path.length > 0 ) {
980
+ if ( ELEMENT && path.indexOf( ELEMENT ) >= 0 ) {
981
+ return ELEMENT
982
+ } else {
983
+ return path[0]
984
+ }
985
+ }
986
+
987
+ return event.target
988
+ }
989
+
990
+ // taken from https://davidwalsh.name/javascript-debounce-function
991
+ function debounce(func, wait, immediate) {
992
+ var timeout;
993
+ return function() {
994
+ var context = this, args = arguments;
995
+ var later = function() {
996
+ timeout = null;
997
+ if (!immediate) func.apply(context, args);
998
+ };
999
+ var callNow = immediate && !timeout;
1000
+ clearTimeout(timeout);
1001
+ timeout = setTimeout(later, wait);
1002
+ if (callNow) func.apply(context, args);
1003
+ };
1004
+ }
1005
+
1006
  /**
1007
  * PickerConstructor helper methods.
1008
  */
1204
 
1205
 
1206
  }));
 
 
 
assets/js/pickadate/picker.time.js CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Time picker for pickadate.js v3.5.6
3
  * http://amsul.github.io/pickadate.js/time.htm
4
  */
5
 
@@ -7,7 +7,7 @@
7
 
8
  // AMD.
9
  if ( typeof define == 'function' && define.amd )
10
- define( ['picker', 'jquery'], factory )
11
 
12
  // Node.js/browserify.
13
  else if ( typeof exports == 'object' )
@@ -977,6 +977,9 @@ TimePicker.defaults = (function( prefix ) {
977
  closeOnSelect: true,
978
  closeOnClear: true,
979
 
 
 
 
980
  // Classes
981
  klass: {
982
 
1
  /*!
2
+ * Time picker for pickadate.js v3.6.2
3
  * http://amsul.github.io/pickadate.js/time.htm
4
  */
5
 
7
 
8
  // AMD.
9
  if ( typeof define == 'function' && define.amd )
10
+ define( ['./picker', 'jquery'], factory )
11
 
12
  // Node.js/browserify.
13
  else if ( typeof exports == 'object' )
977
  closeOnSelect: true,
978
  closeOnClear: true,
979
 
980
+ // Update input value on select/clear
981
+ updateInput: true,
982
+
983
  // Classes
984
  klass: {
985
 
assets/js/pickadate/translations/ar.js CHANGED
@@ -1 +1,16 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر"],monthsShort:["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر"],weekdaysFull:["الاحد","الاثنين","الثلاثاء","الاربعاء","الخميس","الجمعة","السبت"],weekdaysShort:["الاحد","الاثنين","الثلاثاء","الاربعاء","الخميس","الجمعة","السبت"],today:"اليوم",clear:"مسح",format:"yyyy mmmm dd",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Arabic
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'يناير', 'فبراير', 'مارس', 'ابريل', 'مايو', 'يونيو', 'يوليو', 'اغسطس', 'سبتمبر', 'اكتوبر', 'نوفمبر', 'ديسمبر' ],
5
+ monthsShort: [ 'يناير', 'فبراير', 'مارس', 'ابريل', 'مايو', 'يونيو', 'يوليو', 'اغسطس', 'سبتمبر', 'اكتوبر', 'نوفمبر', 'ديسمبر' ],
6
+ weekdaysFull: [ 'الاحد', 'الاثنين', 'الثلاثاء', 'الاربعاء', 'الخميس', 'الجمعة', 'السبت' ],
7
+ weekdaysShort: [ 'الاحد', 'الاثنين', 'الثلاثاء', 'الاربعاء', 'الخميس', 'الجمعة', 'السبت' ],
8
+ today: 'اليوم',
9
+ clear: 'مسح',
10
+ format: 'yyyy mmmm dd',
11
+ formatSubmit: 'yyyy/mm/dd'
12
+ });
13
+
14
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
15
+ clear: 'مسح'
16
+ });
assets/js/pickadate/translations/bg_BG.js CHANGED
@@ -1 +1,17 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември"],monthsShort:["янр","фев","мар","апр","май","юни","юли","авг","сеп","окт","ное","дек"],weekdaysFull:["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"],weekdaysShort:["нд","пн","вт","ср","чт","пт","сб"],today:"днес",clear:"изтривам",firstDay:1,format:"d mmmm yyyy г.",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Bulgarian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'януари','февруари','март','април','май','юни','юли','август','септември','октомври','ноември','декември' ],
5
+ monthsShort: [ 'янр','фев','мар','апр','май','юни','юли','авг','сеп','окт','ное','дек' ],
6
+ weekdaysFull: [ 'неделя', 'понеделник', 'вторник', 'сряда', 'четвъртък', 'петък', 'събота' ],
7
+ weekdaysShort: [ 'нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб' ],
8
+ today: 'днес',
9
+ clear: 'изтривам',
10
+ firstDay: 1,
11
+ format: 'd mmmm yyyy г.',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'изтривам'
17
+ });
assets/js/pickadate/translations/bs_BA.js CHANGED
@@ -1 +1,17 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januar","februar","mart","april","maj","juni","juli","august","septembar","oktobar","novembar","decembar"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],weekdaysFull:["nedjelja","ponedjeljak","utorak","srijeda","cetvrtak","petak","subota"],weekdaysShort:["ne","po","ut","sr","če","pe","su"],today:"danas",clear:"izbrisati",firstDay:1,format:"dd. mmmm yyyy.",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Bosnian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'januar', 'februar', 'mart', 'april', 'maj', 'juni', 'juli', 'august', 'septembar', 'oktobar', 'novembar', 'decembar' ],
5
+ monthsShort: [ 'jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec' ],
6
+ weekdaysFull: [ 'nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'cetvrtak', 'petak', 'subota' ],
7
+ weekdaysShort: [ 'ne', 'po', 'ut', 'sr', 'če', 'pe', 'su' ],
8
+ today: 'danas',
9
+ clear: 'izbrisati',
10
+ firstDay: 1,
11
+ format: 'dd. mmmm yyyy.',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'izbrisati'
17
+ });
assets/js/pickadate/translations/ca.js DELETED
@@ -1 +0,0 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Gener","Febrer","Març","Abril","Maig","juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],weekdaysFull:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],weekdaysShort:["diu","dil","dim","dmc","dij","div","dis"],today:"avui",clear:"esborrar",firstDay:1,format:"dddd d !de mmmm !de yyyy",formatSubmit:"yyyy/mm/dd"});
 
assets/js/pickadate/translations/ca_ES.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Catalan
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'juny', 'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre' ],
5
+ monthsShort: [ 'Gen', 'Feb', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Oct', 'Nov', 'Des' ],
6
+ weekdaysFull: [ 'diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte' ],
7
+ weekdaysShort: [ 'diu', 'dil', 'dim', 'dmc', 'dij', 'div', 'dis' ],
8
+ today: 'avui',
9
+ clear: 'esborra',
10
+ close: 'tanca',
11
+ firstDay: 1,
12
+ format: 'dddd d !de mmmm !de yyyy',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'esborra'
18
+ });
assets/js/pickadate/translations/cs_CZ.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec"],monthsShort:["led","úno","bře","dub","kvě","čer","čvc","srp","zář","říj","lis","pro"],weekdaysFull:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],weekdaysShort:["ne","po","út","st","čt","pá","so"],today:"dnes",clear:"vymazat",firstDay:1,format:"d. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Czech
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'leden', 'únor', 'březen', 'duben', 'květen', 'červen', 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec' ],
5
+ monthsShort: [ 'led', 'úno', 'bře', 'dub', 'kvě', 'čer', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro' ],
6
+ weekdaysFull: [ 'neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota' ],
7
+ weekdaysShort: [ 'ne', 'po', 'út', 'st', 'čt', 'pá', 'so' ],
8
+ today: 'dnes',
9
+ clear: 'vymazat',
10
+ firstDay: 1,
11
+ format: 'd. mmmm yyyy',
12
+ formatSubmit: 'yyyy/mm/dd',
13
+ close: 'zavřít'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'vymazat'
18
+ });
assets/js/pickadate/translations/da_DK.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],weekdaysFull:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],weekdaysShort:["søn","man","tir","ons","tor","fre","lør"],today:"i dag",clear:"slet",firstDay:1,format:"d. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Danish
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december' ],
5
+ monthsShort: [ 'jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec' ],
6
+ weekdaysFull: [ 'søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag' ],
7
+ weekdaysShort: [ 'søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør' ],
8
+ today: 'i dag',
9
+ clear: 'slet',
10
+ close: 'luk',
11
+ firstDay: 1,
12
+ format: 'd. mmmm yyyy',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'slet'
18
+ });
assets/js/pickadate/translations/de_DE.js CHANGED
@@ -1 +1,19 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthsShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],weekdaysFull:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],weekdaysShort:["So","Mo","Di","Mi","Do","Fr","Sa"],today:"Heute",clear:"Löschen",firstDay:1,format:"dddd, dd. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // German
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember' ],
5
+ monthsShort: [ 'Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez' ],
6
+ weekdaysFull: [ 'Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag' ],
7
+ weekdaysShort: [ 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ],
8
+ today: 'Heute',
9
+ clear: 'Löschen',
10
+ close: 'Schließen',
11
+ firstDay: 1,
12
+ format: 'dddd, dd. mmmm yyyy',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'Löschen',
18
+ format: 'H:i'
19
+ });
assets/js/pickadate/translations/el.js DELETED
@@ -1 +0,0 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthsShort:["Ιαν","Φεβ","Μαρ","Απρ","Μαι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],weekdaysFull:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],weekdaysShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],today:"σήμερα",clear:"Διαγραφή",firstDay:1,format:"d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
assets/js/pickadate/translations/el_GR.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Greek
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος' ],
5
+ monthsShort: [ 'Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαι', 'Ιουν', 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ' ],
6
+ weekdaysFull: [ 'Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο' ],
7
+ weekdaysShort: [ 'Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', 'Σαβ' ],
8
+ today: 'σήμερα',
9
+ clear: 'Διαγραφή',
10
+ firstDay: 1,
11
+ format: 'd mmmm yyyy',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'Διαγραφή'
17
+ });
assets/js/pickadate/translations/es_ES.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],monthsShort:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],weekdaysFull:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],weekdaysShort:["dom","lun","mar","mié","jue","vie","sáb"],today:"hoy",clear:"borrar",firstDay:1,format:"dddd d !de mmmm !de yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Spanish
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre' ],
5
+ monthsShort: [ 'ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic' ],
6
+ weekdaysFull: [ 'Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado' ],
7
+ weekdaysShort: [ 'dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb' ],
8
+ today: 'Hoy',
9
+ clear: 'Borrar',
10
+ close: 'Cerrar',
11
+ firstDay: 1,
12
+ format: 'dddd d !de mmmm !de yyyy',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'Borrar'
18
+ });
assets/js/pickadate/translations/et.js DELETED
@@ -1 +0,0 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["jaanuar","veebruar","märts","aprill","mai","juuni","juuli","august","september","oktoober","november","detsember"],monthsShort:["jaan","veebr","märts","apr","mai","juuni","juuli","aug","sept","okt","nov","dets"],weekdaysFull:["pühapäev","esmaspäev","teisipäev","kolmapäev","neljapäev","reede","laupäev"],weekdaysShort:["püh","esm","tei","kol","nel","ree","lau"],today:"täna",clear:"kustutama",firstDay:1,format:"d. mmmm yyyy. a",formatSubmit:"yyyy/mm/dd"});
 
assets/js/pickadate/translations/et_EE.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Estonian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', 'juuli', 'august', 'september', 'oktoober', 'november', 'detsember' ],
5
+ monthsShort: [ 'jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', 'juuli', 'aug', 'sept', 'okt', 'nov', 'dets' ],
6
+ weekdaysFull: [ 'pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', 'neljapäev', 'reede', 'laupäev' ],
7
+ weekdaysShort: [ 'püh', 'esm', 'tei', 'kol', 'nel', 'ree', 'lau' ],
8
+ today: 'täna',
9
+ clear: 'kustuta',
10
+ firstDay: 1,
11
+ format: 'd. mmmm yyyy. a',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'kustuta'
17
+ });
assets/js/pickadate/translations/eu.js DELETED
@@ -1 +0,0 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua"],monthsShort:["urt","ots","mar","api","mai","eka","uzt","abu","ira","urr","aza","abe"],weekdaysFull:["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"],weekdaysShort:["ig.","al.","ar.","az.","og.","or.","lr."],today:"gaur",clear:"garbitu",firstDay:1,format:"dddd, yyyy(e)ko mmmmren da",formatSubmit:"yyyy/mm/dd"});
 
assets/js/pickadate/translations/eu_ES.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Basque
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'urtarrila', 'otsaila', 'martxoa', 'apirila', 'maiatza', 'ekaina', 'uztaila', 'abuztua', 'iraila', 'urria', 'azaroa', 'abendua' ],
5
+ monthsShort: [ 'urt', 'ots', 'mar', 'api', 'mai', 'eka', 'uzt', 'abu', 'ira', 'urr', 'aza', 'abe' ],
6
+ weekdaysFull: [ 'igandea', 'astelehena', 'asteartea', 'asteazkena', 'osteguna', 'ostirala', 'larunbata' ],
7
+ weekdaysShort: [ 'ig.', 'al.', 'ar.', 'az.', 'og.', 'or.', 'lr.' ],
8
+ today: 'gaur',
9
+ clear: 'garbitu',
10
+ firstDay: 1,
11
+ format: 'dddd, yyyy(e)ko mmmmren da',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'garbitu'
17
+ });
assets/js/pickadate/translations/fa_IR.js ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Farsi
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'],
5
+ monthsShort: [ 'ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر' ],
6
+ weekdaysFull: [ 'یکشنبه', 'دوشنبه', 'سه شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه' ],
7
+ weekdaysShort: [ 'یکشنبه', 'دوشنبه', 'سه شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه' ],
8
+ today: 'امروز',
9
+ clear: 'پاک کردن',
10
+ close: 'بستن',
11
+ format: 'yyyy mmmm dd',
12
+ formatSubmit: 'yyyy/mm/dd',
13
+ labelMonthNext: 'ماه بعدی',
14
+ labelMonthPrev: 'ماه قبلی'
15
+ });
16
+
17
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
18
+ clear: 'پاک کردن'
19
+ });
assets/js/pickadate/translations/fi.js DELETED
@@ -1 +0,0 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],monthsShort:["tammi","helmi","maalis","huhti","touko","kesä","heinä","elo","syys","loka","marras","joulu"],weekdaysFull:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],weekdaysShort:["su","ma","ti","ke","to","pe","la"],today:"tänään",clear:"tyhjennä",firstDay:1,format:"d.m.yyyy",formatSubmit:"yyyy/mm/dd"});
 
assets/js/pickadate/translations/fi_FI.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Finnish
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu', 'marraskuu', 'joulukuu' ],
5
+ monthsShort: [ 'tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä', 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu' ],
6
+ weekdaysFull: [ 'sunnuntai', 'maanantai', 'tiistai', 'keskiviikko', 'torstai', 'perjantai', 'lauantai' ],
7
+ weekdaysShort: [ 'su', 'ma', 'ti', 'ke', 'to', 'pe', 'la' ],
8
+ today: 'tänään',
9
+ clear: 'tyhjennä',
10
+ firstDay: 1,
11
+ format: 'd.m.yyyy',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'tyhjennä'
17
+ });
assets/js/pickadate/translations/fr_FR.js CHANGED
@@ -1 +1,23 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthsShort:["Jan","Fev","Mar","Avr","Mai","Juin","Juil","Aou","Sep","Oct","Nov","Dec"],weekdaysFull:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],weekdaysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],today:"Aujourd'hui",clear:"Effacer",firstDay:1,format:"dd mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // French
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre' ],
5
+ monthsShort: [ 'Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec' ],
6
+ weekdaysFull: [ 'Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi' ],
7
+ weekdaysShort: [ 'Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam' ],
8
+ today: 'Aujourd\'hui',
9
+ clear: 'Effacer',
10
+ close: 'Fermer',
11
+ firstDay: 1,
12
+ format: 'dd mmmm yyyy',
13
+ formatSubmit: 'yyyy/mm/dd',
14
+ labelMonthNext:"Mois suivant",
15
+ labelMonthPrev:"Mois précédent",
16
+ labelMonthSelect:"Sélectionner un mois",
17
+ labelYearSelect:"Sélectionner une année"
18
+ });
19
+
20
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
21
+ clear: 'Effacer',
22
+ format: 'H:i'
23
+ });
assets/js/pickadate/translations/ge_GEO.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Georgian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'იანვარი', 'თებერვალი', 'მარტი', 'აპრილი', 'მაისი', 'ივნისი', 'ივლისი', 'აგვისტო', 'სექტემბერი', 'ოქტომბერი', 'ნოემბერი', 'დეკემბერი' ],
5
+ monthsShort: [ 'იან', 'თებ', 'მარტ', 'აპრ', 'მაი', 'ივნ', 'ივლ', 'აგვ', 'სექტ', 'ოქტ', 'ნოემ', 'დეკ' ],
6
+ weekdaysFull: [ 'კვირა', 'ორშაბათი', 'სამშაბათი', 'ოთხშაბათი', 'ხუშაბათი', 'პარასკევი', 'შაბათი' ],
7
+ weekdaysShort: [ 'კვ', 'ორ', 'სამ', 'ოთხ', 'ხუთ', 'პარ', 'შაბ' ],
8
+ today: 'დღეს',
9
+ clear: 'გასუფთავება',
10
+ firstDay: 1,
11
+ format: 'd mmmm yyyy',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'გასუფთავება'
17
+ });
assets/js/pickadate/translations/gl_ES.js CHANGED
@@ -1 +1,17 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthsShort:["xan","feb","mar","abr","mai","xun","xul","ago","sep","out","nov","dec"],weekdaysFull:["domingo","luns","martes","mércores","xoves","venres","sábado"],weekdaysShort:["dom","lun","mar","mér","xov","ven","sab"],today:"hoxe",clear:"borrar",firstDay:1,format:"dddd d !de mmmm !de yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Galician
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'Xaneiro', 'Febreiro', 'Marzo', 'Abril', 'Maio', 'Xuño', 'Xullo', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Decembro' ],
5
+ monthsShort: [ 'xan', 'feb', 'mar', 'abr', 'mai', 'xun', 'xul', 'ago', 'sep', 'out', 'nov', 'dec' ],
6
+ weekdaysFull: [ 'domingo', 'luns', 'martes', 'mércores', 'xoves', 'venres', 'sábado' ],
7
+ weekdaysShort: [ 'dom', 'lun', 'mar', 'mér', 'xov', 'ven', 'sab' ],
8
+ today: 'hoxe',
9
+ clear: 'borrar',
10
+ firstDay: 1,
11
+ format: 'dddd d !de mmmm !de yyyy',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'borrar'
17
+ });
assets/js/pickadate/translations/he_IL.js CHANGED
@@ -1 +1,16 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthsShort:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],weekdaysFull:["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום ששי","יום שבת"],weekdaysShort:["א","ב","ג","ד","ה","ו","ש"],today:"היום",clear:"למחוק",format:"yyyy mmmmב d dddd",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Hebrew
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר' ],
5
+ monthsShort: [ 'ינו', 'פבר', 'מרץ', 'אפר', 'מאי', 'יונ', 'יול', 'אוג', 'ספט', 'אוק', 'נוב', 'דצמ' ],
6
+ weekdaysFull: [ 'יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום ששי', 'יום שבת' ],
7
+ weekdaysShort: [ 'א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ש' ],
8
+ today: 'היום',
9
+ clear: 'למחוק',
10
+ format: 'yyyy mmmmב d dddd',
11
+ formatSubmit: 'yyyy/mm/dd'
12
+ });
13
+
14
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
15
+ clear: 'למחוק'
16
+ });
assets/js/pickadate/translations/hi_IN.js ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
2
+ monthsFull: [ 'जनवरी', 'फरवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर' ],
3
+ monthsShort: [ 'जन', 'फर', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जु', 'अग', 'सित', 'अक्टू', 'नव', 'दिस' ],
4
+ weekdaysFull: [ 'रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार' ],
5
+ weekdaysShort: [ 'रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र','शनि' ],
6
+ today: 'आज की तारीख चयन करें',
7
+ clear: 'चुनी हुई तारीख को मिटाएँ',
8
+ close: 'विंडो बंद करे',
9
+ firstDay: 1,
10
+ format: 'dd/mm/yyyy',
11
+ formatSubmit: 'yyyy/mm/dd',
12
+ labelMonthNext: 'अगले माह का चयन करें',
13
+ labelMonthPrev: 'पिछले माह का चयन करें',
14
+ labelMonthSelect: 'किसि एक महीने का चयन करें',
15
+ labelYearSelect: 'किसि एक वर्ष का चयन करें'
16
+ });
17
+
18
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
19
+ clear: 'चुनी हुई तारीख को मिटाएँ'
20
+ });
assets/js/pickadate/translations/hr.js DELETED
@@ -1 +0,0 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["sijećanj","veljača","ožujak","travanj","svibanj","lipanj","srpanj","kolovoz","rujan","listopad","studeni","prosinac"],monthsShort:["sij","velj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro"],weekdaysFull:["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],weekdaysShort:["ned","pon","uto","sri","čet","pet","sub"],today:"danas",clear:"izbrisati",firstDay:1,format:"d. mmmm yyyy.",formatSubmit:"yyyy/mm/dd"});
 
assets/js/pickadate/translations/hr_HR.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Croatian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'siječanj', 'veljača', 'ožujak', 'travanj', 'svibanj', 'lipanj', 'srpanj', 'kolovoz', 'rujan', 'listopad', 'studeni', 'prosinac' ],
5
+ monthsShort: [ 'sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', 'kol', 'ruj', 'lis', 'stu', 'pro' ],
6
+ weekdaysFull: [ 'nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota' ],
7
+ weekdaysShort: [ 'ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub' ],
8
+ today: 'Danas',
9
+ clear: 'Izbriši',
10
+ close: 'Zatvori',
11
+ firstDay: 1,
12
+ format: 'd. mmmm yyyy.',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'Izbriši'
18
+ });
assets/js/pickadate/translations/hu_HU.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],monthsShort:["jan","febr","márc","ápr","máj","jún","júl","aug","szept","okt","nov","dec"],weekdaysFull:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],weekdaysShort:["V","H","K","SZe","CS","P","SZo"],today:"Ma",clear:"Törlés",firstDay:1,format:"yyyy. mmmm dd.",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Hungarian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december' ],
5
+ monthsShort: [ 'jan', 'febr', 'márc', 'ápr', 'máj', 'jún', 'júl', 'aug', 'szept', 'okt', 'nov', 'dec' ],
6
+ weekdaysFull: [ 'vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat' ],
7
+ weekdaysShort: [ 'V', 'H', 'K', 'Sze', 'CS', 'P', 'Szo' ],
8
+ today: 'Ma',
9
+ clear: 'Törlés',
10
+ close: 'Bezárás',
11
+ firstDay: 1,
12
+ format: 'yyyy. mmmm dd.',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'Törlés'
18
+ });
assets/js/pickadate/translations/id_ID.js CHANGED
@@ -1 +1,17 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],weekdaysFull:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],weekdaysShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],today:"hari ini",clear:"menghapus",firstDay:1,format:"d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Indonesian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember' ],
5
+ monthsShort: [ 'Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agu', 'Sep', 'Okt', 'Nov', 'Des' ],
6
+ weekdaysFull: [ 'Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu' ],
7
+ weekdaysShort: [ 'Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab' ],
8
+ today: 'hari ini',
9
+ clear: 'menghapus',
10
+ firstDay: 1,
11
+ format: 'd mmmm yyyy',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'menghapus'
17
+ });
assets/js/pickadate/translations/is_IS.js CHANGED
@@ -1 +1,17 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],monthsShort:["jan","feb","mar","apr","maí","jún","júl","ágú","sep","okt","nóv","des"],weekdaysFull:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],weekdaysShort:["sun","mán","þri","mið","fim","fös","lau"],today:"Í dag",clear:"Hreinsa",firstDay:1,format:"dd. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Icelandic
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', 'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember' ],
5
+ monthsShort: [ 'jan', 'feb', 'mar', 'apr', 'maí', 'jún', 'júl', 'ágú', 'sep', 'okt', 'nóv', 'des' ],
6
+ weekdaysFull: [ 'sunnudagur', 'mánudagur', 'þriðjudagur', 'miðvikudagur', 'fimmtudagur', 'föstudagur', 'laugardagur' ],
7
+ weekdaysShort: [ 'sun', 'mán', 'þri', 'mið', 'fim', 'fös', 'lau' ],
8
+ today: 'Í dag',
9
+ clear: 'Hreinsa',
10
+ firstDay: 1,
11
+ format: 'dd. mmmm yyyy',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'Hreinsa'
17
+ });
assets/js/pickadate/translations/it_IT.js CHANGED
@@ -1 +1,24 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],monthsShort:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],weekdaysFull:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],weekdaysShort:["dom","lun","mar","mer","gio","ven","sab"],today:"oggi",clear:"cancellare",firstDay:1,format:"dddd d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Italian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre' ],
5
+ monthsShort: [ 'gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic' ],
6
+ weekdaysFull: [ 'domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato' ],
7
+ weekdaysShort: [ 'dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab' ],
8
+ today: 'Oggi',
9
+ clear: 'Cancella',
10
+ close: 'Chiudi',
11
+ firstDay: 1,
12
+ format: 'dddd d mmmm yyyy',
13
+ formatSubmit: 'yyyy/mm/dd',
14
+ labelMonthNext: 'Mese successivo',
15
+ labelMonthPrev: 'Mese precedente',
16
+ labelMonthSelect: 'Seleziona un mese',
17
+ labelYearSelect: 'Seleziona un anno'
18
+ });
19
+
20
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
21
+ clear: 'Cancella',
22
+ format: 'HH:i',
23
+ formatSubmit: 'HH:i'
24
+ });
assets/js/pickadate/translations/ja.js DELETED
@@ -1 +0,0 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],weekdaysFull:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],weekdaysShort:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],today:"今日",clear:"消去",firstDay:1,format:"yyyy mm dd",formatSubmit:"yyyy/mm/dd"});
 
assets/js/pickadate/translations/ja_JP.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Japanese
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月' ],
5
+ monthsShort: [ '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月' ],
6
+ weekdaysFull: [ '日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日' ],
7
+ weekdaysShort: [ '日', '月', '火', '水', '木', '金', '土' ],
8
+ today: '今日',
9
+ clear: '消去',
10
+ firstDay: 1,
11
+ format: 'yyyy mm dd',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: '消去'
17
+ });
assets/js/pickadate/translations/km_KH.js ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Khmer
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'មករា', 'កុម្ភៈ', 'មីនា', 'មេសា', 'ឧសភា', 'មិថុនា', 'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា', 'វិច្ឆិកា', 'ធ្នូ' ],
5
+ monthsShort: [ 'មក.', 'កុ.', 'មី.', 'មេ.', 'ឧស.', 'មិថុ.', 'កក្ក.', 'សី.', 'កញ.', 'តុ.', 'វិច្ឆ.', 'ធ.' ],
6
+ weekdaysFull: [ 'អាទិត្យ', 'ចន្ទ', 'អង្គារ', 'ពុធ', 'ព្រហស្បតិ៍', 'សុក្រ', 'សៅរ៍' ],
7
+ weekdaysShort: [ 'អា.', 'ច.', 'អ.', 'ព.', 'ព្រ.', 'សុ.', 'ស.' ],
8
+ today: 'ថ្ងៃនេះ',
9
+ clear: 'លុប',
10
+ close: 'បិទ',
11
+ labelMonthNext: 'ខែបន្ទាប់',
12
+ labelMonthPrev: 'ខែមុន',
13
+ labelMonthSelect: 'ជ្រើសរើសខែ',
14
+ labelYearSelect: 'ជ្រើសរើសឆ្នាំ',
15
+ firstDay: 1,
16
+ showMonthsShort: false,
17
+ showWeekdaysFull: true,
18
+ format: 'ថ្ងៃទី d ខែmmmm ឆ្នាំ yyyy',
19
+ formatSubmit: 'yyyy/mm/dd'
20
+ });
21
+
22
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
23
+ clear: 'លុប'
24
+ });
assets/js/pickadate/translations/ko_KR.js CHANGED
@@ -1 +1,17 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],weekdaysFull:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],weekdaysShort:["일","월","화","수","목","금","토"],today:"오늘",clear:"취소",firstDay:1,format:"yyyy 년 mm 월 dd 일",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Korean
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ '1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월' ],
5
+ monthsShort: [ '1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월' ],
6
+ weekdaysFull: [ '일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일' ],
7
+ weekdaysShort: [ '일', '월', '화', '수', '목', '금', '토' ],
8
+ today: '오늘',
9
+ clear: '취소',
10
+ firstDay: 1,
11
+ format: 'yyyy 년 mm 월 dd 일',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: '취소'
17
+ });
assets/js/pickadate/translations/lt_LT.js ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Lietuviškai
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ labelMonthNext: 'Sekantis mėnuo',
5
+ labelMonthPrev: 'Ankstesnis mėnuo',
6
+ labelMonthSelect: 'Pasirinkite mėnesį',
7
+ labelYearSelect: 'Pasirinkite metus',
8
+ monthsFull: ['Sausis', 'Vasaris', 'Kovas', 'Balandis', 'Gegužė', 'Birželis', 'Liepa', 'Rugpjūtis', 'Rugsėjis', 'Spalis', 'Lapkritis', 'Gruodis'],
9
+ monthsShort: ['Sau', 'Vas', 'Kov', 'Bal', 'Geg', 'Bir', 'Lie', 'Rgp', 'Rgs', 'Spa', 'Lap', 'Grd'],
10
+ weekdaysFull: ['Sekmadienis', 'Pirmadienis', 'Antradienis', 'Trečiadienis', 'Ketvirtadienis', 'Penktadienis', 'Šeštadienis'],
11
+ weekdaysShort: ['Sk', 'Pr', 'An', 'Tr', 'Kt', 'Pn', 'Št'],
12
+ today: 'Šiandien',
13
+ clear: 'Išvalyti',
14
+ close: 'Uždaryti',
15
+ firstDay: 1,
16
+ //format: 'yyyy !m. mmmm d !d.', // need to have diffrent case of full months name
17
+ format: 'yyyy-mm-dd',
18
+ formatSubmit: 'yyyy/mm/dd'
19
+ });
20
+
21
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
22
+ clear: 'Išvalyti',
23
+ format: 'HH:i'
24
+ });
assets/js/pickadate/translations/lv_LV.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Latvian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'Janvāris', 'Februāris', 'Marts', 'Aprīlis', 'Maijs', 'Jūnijs', 'Jūlijs', 'Augusts', 'Septembris', 'Oktobris', 'Novembris', 'Decembris' ],
5
+ monthsShort: [ 'Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jūn', 'Jūl', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec' ],
6
+ weekdaysFull: [ 'Svētdiena', 'Pirmdiena', 'Otrdiena', 'Trešdiena', 'Ceturtdiena', 'Piektdiena', 'Sestdiena' ],
7
+ weekdaysShort: [ 'Sv', 'P', 'O', 'T', 'C', 'Pk', 'S' ],
8
+ today: 'Šodiena',
9
+ clear: 'Dzēst',
10
+ close: 'Aizvērt',
11
+ firstDay: 1,
12
+ format: 'yyyy.mm.dd. dddd',
13
+ formatSubmit: 'yyyy/mm/dd',
14
+ labelMonthNext: 'Nākamais mēnesis',
15
+ labelMonthPrev: 'Iepriekšējais mēnesis',
16
+ labelMonthSelect: 'Izvēlēties mēnesi',
17
+ labelYearSelect: 'Izvēlēties gadu'
18
+ });
19
+
20
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
21
+ clear: 'Dzēst'
22
+ });
assets/js/pickadate/translations/nb_NO.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Norwegian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember' ],
5
+ monthsShort: [ 'jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des' ],
6
+ weekdaysFull: [ 'søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag' ],
7
+ weekdaysShort: [ 'søn','man','tir', 'ons', 'tor', 'fre', 'lør' ],
8
+ today: 'i dag',
9
+ clear: 'nullstill',
10
+ close: 'lukk',
11
+ firstDay: 1,
12
+ format: 'dd. mmm. yyyy',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'nullstill'
18
+ });
assets/js/pickadate/translations/ne_NP.js CHANGED
@@ -1 +1,17 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["जनवरी","फेब्रुअरी","मार्च","अप्रिल","मे","जुन","जुलाई","अगस्त","सेप्टेम्बर","अक्टोबर","नोवेम्बर","डिसेम्बर"],monthsShort:["जन","फेब्रु","मार्च","अप्रिल","मे","जुन","जुल","अग","सेप्टे","अक्टो","नोभे","डिसे"],weekdaysFull:["सोमबार","मङ्लबार","बुधबार","बिहीबार","शुक्रबार","शनिबार","आईतबार"],weekdaysShort:["सोम","मंगल्","बुध","बिही","शुक्र","शनि","आईत"],numbers:["०","१","२","३","४","५","६","७","८","९"],today:"आज",clear:"मेटाउनुहोस्",format:"dddd, dd mmmm, yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Nepali
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'जनवरी', 'फेब्रुअरी', 'मार्च', 'अप्रिल', 'मे', 'जुन', 'जुलाई', 'अगस्त', 'सेप्टेम्बर', 'अक्टोबर', 'नोवेम्बर', 'डिसेम्बर' ],
5
+ monthsShort: [ 'जन', 'फेब्रु', 'मार्च', 'अप्रिल', 'मे', 'जुन', 'जुल', 'अग', 'सेप्टे', 'अक्टो', 'नोभे', 'डिसे' ],
6
+ weekdaysFull: [ 'सोमबार', 'मङ्लबार', 'बुधबार', 'बिहीबार', 'शुक्रबार', 'शनिबार', 'आईतबार' ],
7
+ weekdaysShort: [ 'सोम', 'मंगल्', 'बुध', 'बिही', 'शुक्र', 'शनि', 'आईत' ],
8
+ numbers: [ '०', '१', '२', '३', '४', '५', '६', '७', '८', '९' ],
9
+ today: 'आज',
10
+ clear: 'मेटाउनुहोस्',
11
+ format: 'dddd, dd mmmm, yyyy',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'मेटाउनुहोस्'
17
+ });
assets/js/pickadate/translations/nl_NL.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","maa","apr","mei","jun","jul","aug","sep","okt","nov","dec"],weekdaysFull:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],weekdaysShort:["zo","ma","di","wo","do","vr","za"],today:"vandaag",clear:"verwijderen",firstDay:1,format:"dddd d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Dutch
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december' ],
5
+ monthsShort: [ 'jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec' ],
6
+ weekdaysFull: [ 'zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag' ],
7
+ weekdaysShort: [ 'zo', 'ma', 'di', 'wo', 'do', 'vr', 'za' ],
8
+ today: 'vandaag',
9
+ clear: 'wissen',
10
+ close: 'sluiten',
11
+ firstDay: 1,
12
+ format: 'dddd d mmmm yyyy',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'wissen'
18
+ });
assets/js/pickadate/translations/nn_NO.js DELETED
@@ -1 +0,0 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],weekdaysFull:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],weekdaysShort:["søn","man","tir","ons","tor","fre","lør"],today:"i dag",clear:"nullstill",firstDay:1,format:"dd. mmm. yyyy",formatSubmit:"yyyy/mm/dd"});
 
assets/js/pickadate/translations/pl_PL.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],monthsShort:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],weekdaysFull:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],weekdaysShort:["N","Pn","Wt","Śr","Cz","Pt","So"],today:"dzisiaj",clear:"usunąć",firstDay:1,format:"d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Polish
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'styczeń', 'luty', 'marzec', 'kwiecień', 'maj', 'czerwiec', 'lipiec', 'sierpień', 'wrzesień', 'październik', 'listopad', 'grudzień' ],
5
+ monthsShort: [ 'sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', 'paź', 'lis', 'gru' ],
6
+ weekdaysFull: [ 'niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota' ],
7
+ weekdaysShort: [ 'niedz.', 'pn.', 'wt.', 'śr.', 'cz.', 'pt.', 'sob.' ],
8
+ today: 'Dzisiaj',
9
+ clear: 'Usuń',
10
+ close: 'Zamknij',
11
+ firstDay: 1,
12
+ format: 'd mmmm yyyy',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'usunąć'
18
+ });
assets/js/pickadate/translations/pt_BR.js CHANGED
@@ -1 +1,17 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],monthsShort:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],weekdaysFull:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],weekdaysShort:["dom","seg","ter","qua","qui","sex","sab"],today:"hoje",clear:"excluir",format:"dddd, d !de mmmm !de yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Brazilian Portuguese
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro' ],
5
+ monthsShort: [ 'jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez' ],
6
+ weekdaysFull: [ 'domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado' ],
7
+ weekdaysShort: [ 'dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sab' ],
8
+ today: 'hoje',
9
+ clear: 'limpar',
10
+ close: 'fechar',
11
+ format: 'dddd, d !de mmmm !de yyyy',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'limpar'
17
+ });
assets/js/pickadate/translations/pt_PT.js CHANGED
@@ -1 +1,17 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],monthsShort:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],weekdaysFull:["domingo","segunda","terça","quarta","quinta","sexta","sábado"],weekdaysShort:["dom","seg","ter","qua","qui","sex","sab"],today:"hoje",clear:"excluir",format:"d !de mmmm !de yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Portuguese
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro' ],
5
+ monthsShort: [ 'jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez' ],
6
+ weekdaysFull: [ 'Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado' ],
7
+ weekdaysShort: [ 'dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sab' ],
8
+ today: 'Hoje',
9
+ clear: 'Limpar',
10
+ close: 'Fechar',
11
+ format: 'd !de mmmm !de yyyy',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'Limpar'
17
+ });
assets/js/pickadate/translations/ro_RO.js CHANGED
@@ -1 +1,17 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie"],monthsShort:["ian","feb","mar","apr","mai","iun","iul","aug","sep","oct","noi","dec"],weekdaysFull:["duminică","luni","marţi","miercuri","joi","vineri","sâmbătă"],weekdaysShort:["D","L","Ma","Mi","J","V","S"],today:"azi",clear:"șterge",firstDay:1,format:"dd mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Romanian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie' ],
5
+ monthsShort: [ 'ian', 'feb', 'mar', 'apr', 'mai', 'iun', 'iul', 'aug', 'sep', 'oct', 'noi', 'dec' ],
6
+ weekdaysFull: [ 'duminică', 'luni', 'marţi', 'miercuri', 'joi', 'vineri', 'sâmbătă' ],
7
+ weekdaysShort: [ 'D', 'L', 'Ma', 'Mi', 'J', 'V', 'S' ],
8
+ today: 'azi',
9
+ clear: 'șterge',
10
+ firstDay: 1,
11
+ format: 'dd mmmm yyyy',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'șterge'
17
+ });
assets/js/pickadate/translations/ru_RU.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],weekdaysFull:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],weekdaysShort:["вс","пн","вт","ср","чт","пт","сб"],today:"сегодня",clear:"удалить",firstDay:1,format:"d mmmm yyyy г.",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Russian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря' ],
5
+ monthsShort: [ 'янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек' ],
6
+ weekdaysFull: [ 'воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота' ],
7
+ weekdaysShort: [ 'вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб' ],
8
+ today: 'сегодня',
9
+ clear: 'удалить',
10
+ close: 'закрыть',
11
+ firstDay: 1,
12
+ format: 'd mmmm yyyy г.',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'удалить'
18
+ });
assets/js/pickadate/translations/sk_SK.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december"],monthsShort:["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII"],weekdaysFull:["nedeļľa","pondelok","utorok","streda","š̌švrtok","piatok","sobota"],weekdaysShort:["Ne","Po","Ut","St","Št","Pi","So"],today:"dnes",clear:"vymazať",firstDay:1,format:"d. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Slovak
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'január', 'február', 'marec', 'apríl', 'máj', 'jún', 'júl', 'august', 'september', 'október', 'november', 'december' ],
5
+ monthsShort: [ 'jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', 'aug', 'sep', 'okt', 'nov', 'dec' ],
6
+ weekdaysFull: [ 'nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok', 'piatok', 'sobota' ],
7
+ weekdaysShort: [ 'Ne', 'Po', 'Ut', 'St', 'Št', 'Pi', 'So' ],
8
+ today: 'dnes',
9
+ clear: 'vymazať',
10
+ close: 'zavrieť',
11
+ firstDay: 1,
12
+ format: 'd. mmmm yyyy',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'vymazať'
18
+ });
assets/js/pickadate/translations/sl_SI.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec"],weekdaysFull:["nedelja","ponedeljek","torek","sreda","četrtek","petek","sobota"],weekdaysShort:["ned","pon","tor","sre","čet","pet","sob"],today:"danes",clear:"izbriši",firstDay:1,format:"d. mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Slovenian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'januar', 'februar', 'marec', 'april', 'maj', 'junij', 'julij', 'avgust', 'september', 'oktober', 'november', 'december' ],
5
+ monthsShort: [ 'jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec' ],
6
+ weekdaysFull: [ 'nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek', 'petek', 'sobota' ],
7
+ weekdaysShort: [ 'ned', 'pon', 'tor', 'sre', 'čet', 'pet', 'sob' ],
8
+ today: 'danes',
9
+ clear: 'izbriši',
10
+ close: 'zapri',
11
+ firstDay: 1,
12
+ format: 'd. mmmm yyyy',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'izbriši'
18
+ });
assets/js/pickadate/translations/sr_RS_cy.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Serbian (Cyrillic)
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'јануар','фебруар','март','април','мај','јун','јул','август','септембар','октобар','новембар','децембар' ],
5
+ monthsShort: [ 'јан.','феб.','март','апр.','мај','јун','јул','авг.','септ.','окт.','нов.','дец.' ],
6
+ weekdaysFull: [ 'недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота' ],
7
+ weekdaysShort: [ 'нед.', 'пон.', 'ут.', 'ср.', 'чет.', 'пет.', 'суб.' ],
8
+ today: 'данас',
9
+ clear: 'избриши',
10
+ close: 'затвори',
11
+ firstDay: 1,
12
+ format: 'd. MMMM yyyy.',
13
+ formatSubmit: 'yyyy/mm/dd',
14
+ labelMonthNext:"Следећи месец",
15
+ labelMonthPrev:"Претходни месец",
16
+ labelMonthSelect:"Изаберите месец",
17
+ labelYearSelect:"Изаберите годину"
18
+ });
19
+
20
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
21
+ clear: 'избриши'
22
+ });
assets/js/pickadate/translations/sr_RS_lt.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Serbian (Latin)
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'januar', 'februar', 'mart', 'april', 'maj', 'jun', 'juli', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar' ],
5
+ monthsShort: [ 'jan.', 'feb.', 'mart', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sept.', 'okt.', 'nov.', 'dec.' ],
6
+ weekdaysFull: [ 'nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota' ],
7
+ weekdaysShort: [ 'ned.', 'pon.', 'ut.', 'sr.', 'čet.', 'pet.', 'sub.' ],
8
+ today: 'danas',
9
+ clear: 'izbriši',
10
+ close: 'zatvori',
11
+ firstDay: 1,
12
+ format: 'd. MMMM yyyy.',
13
+ formatSubmit: 'yyyy/mm/dd',
14
+ labelMonthNext:"Sledeći mesec",
15
+ labelMonthPrev:"Prethodni mesec",
16
+ labelMonthSelect:"Izaberite mesec",
17
+ labelYearSelect:"Izaberite godinu"
18
+ });
19
+
20
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
21
+ clear: 'izbriši'
22
+ });
assets/js/pickadate/translations/sv_SE.js CHANGED
@@ -1 +1,22 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],weekdaysFull:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],weekdaysShort:["sön","mån","tis","ons","tor","fre","lör"],today:"i dag",clear:"bort",firstDay:1,format:"d/m yyyy",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Swedish
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', 'augusti', 'september', 'oktober', 'november', 'december' ],
5
+ monthsShort: [ 'jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec' ],
6
+ weekdaysFull: [ 'söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag' ],
7
+ weekdaysShort: [ 'sön', 'mån', 'tis', 'ons', 'tor', 'fre', 'lör' ],
8
+ today: 'Idag',
9
+ clear: 'Rensa',
10
+ close: 'Stäng',
11
+ firstDay: 1,
12
+ format: 'yyyy-mm-dd',
13
+ formatSubmit: 'yyyy/mm/dd',
14
+ labelMonthNext: 'Nästa månad',
15
+ labelMonthPrev: 'Föregående månad',
16
+ labelMonthSelect: 'Välj månad',
17
+ labelYearSelect: 'Välj år'
18
+ });
19
+
20
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
21
+ clear: 'Rensa'
22
+ });
assets/js/pickadate/translations/th.js DELETED
@@ -1 +0,0 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthsShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],weekdaysFull:["อาทติย","จันทร","องัคาร","พุธ","พฤหสั บดี","ศกุร","เสาร"],weekdaysShort:["อ.","จ.","อ.","พ.","พฤ.","ศ.","ส."],today:"วันนี้",clear:"ลบ",format:"d mmmm yyyy",formatSubmit:"yyyy/mm/dd"});
 
assets/js/pickadate/translations/th_TH.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Thai
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม' ],
5
+ monthsShort: [ 'ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.' ],
6
+ weekdaysFull: [ 'อาทิตย์', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัสบดี', 'ศุกร์', 'เสาร์' ],
7
+ weekdaysShort: [ 'อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.' ],
8
+ today: 'วันนี้',
9
+ clear: 'ลบ',
10
+ format: 'd mmmm yyyy',
11
+ formatSubmit: 'yyyy/mm/dd'
12
+ });
13
+
14
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
15
+ clear: 'ลบ'
16
+ });
assets/js/pickadate/translations/tr_TR.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthsShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],weekdaysFull:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],weekdaysShort:["Pzr","Pzt","Sal","Çrş","Prş","Cum","Cmt"],today:"bugün",clear:"sil",firstDay:1,format:"dd mmmm yyyy dddd",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Turkish
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık' ],
5
+ monthsShort: [ 'Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara' ],
6
+ weekdaysFull: [ 'Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi' ],
7
+ weekdaysShort: [ 'Pzr', 'Pzt', 'Sal', 'Çrş', 'Prş', 'Cum', 'Cmt' ],
8
+ today: 'Bugün',
9
+ clear: 'Sil',
10
+ close: 'Kapat',
11
+ firstDay: 1,
12
+ format: 'dd mmmm yyyy dddd',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'sil'
18
+ });
assets/js/pickadate/translations/uk.js DELETED
@@ -1 +0,0 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"],monthsShort:["січ","лют","бер","кві","тра","чер","лип","сер","вер","жов","лис","гру"],weekdaysFull:["неділя","понеділок","вівторок","середа","четвер","п‘ятниця","субота"],weekdaysShort:["нд","пн","вт","ср","чт","пт","сб"],today:"сьогодні",clear:"викреслити",firstDay:1,format:"dd mmmm yyyy p.",formatSubmit:"yyyy/mm/dd"});
 
assets/js/pickadate/translations/uk_UA.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Ukrainian
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'січень', 'лютий', 'березень', 'квітень', 'травень', 'червень', 'липень', 'серпень', 'вересень', 'жовтень', 'листопад', 'грудень' ],
5
+ monthsShort: [ 'січ', 'лют', 'бер', 'кві', 'тра', 'чер', 'лип', 'сер', 'вер', 'жов', 'лис', 'гру' ],
6
+ weekdaysFull: [ 'неділя', 'понеділок', 'вівторок', 'середа', 'четвер', 'п‘ятниця', 'субота' ],
7
+ weekdaysShort: [ 'нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб' ],
8
+ today: 'сьогодні',
9
+ clear: 'викреслити',
10
+ firstDay: 1,
11
+ format: 'dd mmmm yyyy p.',
12
+ formatSubmit: 'yyyy/mm/dd'
13
+ });
14
+
15
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
16
+ clear: 'викреслити'
17
+ });
assets/js/pickadate/translations/vi.js DELETED
@@ -1 +0,0 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["Tháng Một","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai"],monthsShort:["Một","Hai","Ba","Tư","Năm","Sáu","Bảy","Tám","Chín","Mưới","Mười Một","Mười Hai"],weekdaysFull:["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"],weekdaysShort:["C.Nhật","T.Hai","T.Ba","T.Tư","T.Năm","T.Sáu","T.Bảy"],today:"Hôm Nay",clear:"Xoá",firstDay:1});
 
assets/js/pickadate/translations/vi_VN.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Vietnamese
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ 'Tháng Một', 'Tháng Hai', 'Tháng Ba', 'Tháng Tư', 'Tháng Năm', 'Tháng Sáu', 'Tháng Bảy', 'Tháng Tám', 'Tháng Chín', 'Tháng Mười', 'Tháng Mười Một', 'Tháng Mười Hai' ],
5
+ monthsShort: [ 'Một', 'Hai', 'Ba', 'Tư', 'Năm', 'Sáu', 'Bảy', 'Tám', 'Chín', 'Mười', 'Mười Một', 'Mười Hai' ],
6
+ weekdaysFull: [ 'Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy' ],
7
+ weekdaysShort: [ 'C.Nhật', 'T.Hai', 'T.Ba', 'T.Tư', 'T.Năm', 'T.Sáu', 'T.Bảy' ],
8
+ today: 'Hôm Nay',
9
+ clear: 'Xoá',
10
+ close: 'Đóng',
11
+ firstDay: 1,
12
+ format: 'Bạn chọn: dddd, dd mmmm, yyyy',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: 'Xoá'
18
+ });
assets/js/pickadate/translations/zh_CN.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["一","二","三","四","五","六","七","八","九","十","十一","十二"],weekdaysFull:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],weekdaysShort:["日","一","二","三","四","五","六"],today:"今日",clear:"删",firstDay:1,format:"yyyy mm 月 dd 日",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Simplified Chinese
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月' ],
5
+ monthsShort: [ '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二' ],
6
+ weekdaysFull: [ '星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六' ],
7
+ weekdaysShort: [ '日', '一', '二', '三', '四', '五', '六' ],
8
+ today: '今天',
9
+ clear: '清除',
10
+ close: '关闭',
11
+ firstDay: 1,
12
+ format: 'yyyy 年 mm 月 dd 日',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: '清除'
18
+ });
assets/js/pickadate/translations/zh_TW.js CHANGED
@@ -1 +1,18 @@
1
- jQuery.extend(jQuery.fn.pickadate.defaults,{monthsFull:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["一","二","三","四","五","六","七","八","九","十","十一","十二"],weekdaysFull:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],weekdaysShort:["日","一","二","三","四","五","六"],today:"今天",clear:"清除",firstDay:1,format:"yyyy mm 月 dd 日",formatSubmit:"yyyy/mm/dd"});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Traditional Chinese
2
+
3
+ jQuery.extend( jQuery.fn.pickadate.defaults, {
4
+ monthsFull: [ '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月' ],
5
+ monthsShort: [ '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二' ],
6
+ weekdaysFull: [ '星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六' ],
7
+ weekdaysShort: [ '日', '一', '二', '三', '四', '五', '六' ],
8
+ today: '今天',
9
+ clear: '清除',
10
+ close: '關閉',
11
+ firstDay: 1,
12
+ format: 'yyyy 年 mm 月 dd 日',
13
+ formatSubmit: 'yyyy/mm/dd'
14
+ });
15
+
16
+ jQuery.extend( jQuery.fn.pickatime.defaults, {
17
+ clear: '清除'
18
+ });
assets/js/um-functions.js CHANGED
@@ -21,9 +21,9 @@ function UM_hide_menus() {
21
  menu.hide();
22
  }
23
 
24
- function UM_domenus(){
25
 
26
- jQuery('.um-dropdown').each(function(){
27
 
28
  var menu = jQuery(this);
29
  var element = jQuery(this).attr('data-element');
@@ -31,33 +31,41 @@ function UM_domenus(){
31
 
32
  jQuery( element ).addClass('um-trigger-menu-on-' + menu.attr( 'data-trigger' ) );
33
 
34
- if ( jQuery(window).width() <= 1200 && element == 'div.um-profile-edit' ) {
35
- position = 'lc';
36
  }
37
-
38
- if ( position == 'lc' ){
39
-
40
- if ( 200 > jQuery(element).find('img').width() ) {
41
- left_p = ( ( jQuery(element).width() - jQuery(element).find('img').width() ) / 2 ) + ( ( jQuery(element).find('img').width() - 200 ) / 2 );
42
  } else {
43
- left_p = ( ( jQuery(element).width() - jQuery(element).find('img').width() ) / 2 );
44
  }
45
 
46
- top_ = parseInt( jQuery(element).find('a').css('top') );
47
 
48
- if ( top_ ) {
49
- top_p = jQuery(element).find('img').height() + 4 + top_;
50
- left_gap = 4;
51
- } else {
52
- top_p = jQuery(element).find('img').height() + 4;
53
- left_gap = 0;
54
- }
55
 
56
- if ( top_p == 4 && element == 'div.um-cover' ) {
57
- top_p = jQuery(element).height() / 2 + ( menu.height() / 2 );
58
- } else if ( top_p == 4 ) {
59
- top_p = jQuery(element).height() + 20;
60
- }
 
 
 
 
 
 
 
 
 
 
 
 
61
 
62
  gap_right = jQuery(element).width() + 17;
63
  menu.css({
@@ -76,36 +84,37 @@ function UM_domenus(){
76
  'right' : '-17px'
77
  });
78
 
79
- }
80
 
81
- if ( position == 'bc' ){
 
 
 
 
 
 
 
82
 
83
- if ( 200 > jQuery(element).find('img').width() ) {
84
- left_p = ( ( jQuery(element).width() - jQuery(element).find('img').width() ) / 2 ) + ( ( jQuery(element).find('img').width() - 200 ) / 2 );
85
- } else {
86
- left_p = ( ( jQuery(element).width() - jQuery(element).find('img').width() ) / 2 );
87
- }
88
 
89
- top_ = parseInt( jQuery(element).find('a').css('top') );
 
 
 
 
90
 
91
- if ( top_ ) {
92
- top_p = jQuery(element).find('img').height() + 4 + top_;
93
- left_gap = 4;
94
- } else {
95
- top_p = jQuery(element).find('img').height() + 4;
96
- left_gap = 0;
97
- }
98
 
99
- if ( top_p == 4 && element == 'div.um-cover' ) {
100
- top_p = jQuery(element).height() / 2 + ( menu.height() / 2 );
101
- } else if ( top_p == 4 ) {
102
- top_p = jQuery(element).height() + 20;
103
  }
104
 
105
  menu.css({
106
  'top' : top_p,
107
  'width': 200,
108
- 'left': left_p + left_gap,
109
  'right' : 'auto',
110
  'text-align' : 'center'
111
  });
21
  menu.hide();
22
  }
23
 
24
+ function UM_domenus() {
25
 
26
+ jQuery('.um-dropdown').each( function() {
27
 
28
  var menu = jQuery(this);
29
  var element = jQuery(this).attr('data-element');
31
 
32
  jQuery( element ).addClass('um-trigger-menu-on-' + menu.attr( 'data-trigger' ) );
33
 
34
+ if ( position === 'lc' && jQuery('html').attr('dir') === 'rtl' ){
35
+ position = 'rc';
36
  }
37
+ if ( jQuery(window).width() <= 1200 && element === 'div.um-profile-edit' ) {
38
+ if ( jQuery('html').attr('dir') === 'rtl' ){
39
+ position = 'rc';
 
 
40
  } else {
41
+ position = 'lc';
42
  }
43
 
44
+ }
45
 
46
+ if ( 200 > jQuery(element).find('img').width() ) {
47
+ left_p = ( ( jQuery(element).width() - jQuery(element).find('img').width() ) / 2 ) + ( ( jQuery(element).find('img').width() - 200 ) / 2 );
48
+ } else {
49
+ left_p = ( ( jQuery(element).width() - jQuery(element).find('img').width() ) / 2 );
50
+ }
 
 
51
 
52
+ top_ = parseInt( jQuery(element).find('a').css('top') );
53
+
54
+ if ( top_ ) {
55
+ top_p = jQuery(element).find('img').height() + 4 + top_;
56
+ left_gap = 4;
57
+ } else {
58
+ top_p = jQuery(element).find('img').height() + 4;
59
+ left_gap = 0;
60
+ }
61
+
62
+ if ( top_p == 4 && element === 'div.um-cover' ) {
63
+ top_p = jQuery(element).height() / 2 + ( menu.height() / 2 );
64
+ } else if ( top_p == 4 ) {
65
+ top_p = jQuery(element).height() + 20;
66
+ }
67
+
68
+ if ( position === 'lc' ) {
69
 
70
  gap_right = jQuery(element).width() + 17;
71
  menu.css({
84
  'right' : '-17px'
85
  });
86
 
87
+ } else if ( position === 'rc' ) {
88
 
89
+ gap_right = jQuery(element).width() + 25;
90
+ menu.css({
91
+ 'top' : 0,
92
+ 'width': 200,
93
+ 'left': gap_right + 'px',
94
+ 'right' : 'auto',
95
+ 'text-align' : 'center'
96
+ });
97
 
98
+ menu.find('.um-dropdown-arr').find('i').removeClass().addClass('um-icon-arrow-left-b');
 
 
 
 
99
 
100
+ menu.find('.um-dropdown-arr').css({
101
+ 'top' : '4px',
102
+ 'left' : '-17px',
103
+ 'right' : 'auto'
104
+ });
105
 
106
+ } else if ( position === 'bc' ) {
 
 
 
 
 
 
107
 
108
+ if ( jQuery('html').attr('dir') === 'rtl' ){
109
+ rtl_gap = 10;
110
+ } else {
111
+ rtl_gap = 0
112
  }
113
 
114
  menu.css({
115
  'top' : top_p,
116
  'width': 200,
117
+ 'left': left_p + left_gap + rtl_gap,
118
  'right' : 'auto',
119
  'text-align' : 'center'
120
  });
assets/js/um-functions.min.js CHANGED
@@ -1 +1 @@
1
- function UM_check_password_matched(){jQuery(document).on("keyup","input[data-key=user_password],input[data-key=confirm_user_password]",function(e){var t=jQuery("input[data-key=user_password]").val(),a=jQuery("input[data-key=confirm_user_password]").val(),i=jQuery("input[data-key=user_password],input[data-key=confirm_user_password]");t||a?t!==a?i.removeClass("um-validate-matched").addClass("um-validate-not-matched"):i.removeClass("um-validate-not-matched").addClass("um-validate-matched"):i.removeClass("um-validate-matched").removeClass("um-validate-not-matched")})}function UM_hide_menus(){var e=jQuery(".um-dropdown");e.parents("div").find("a").removeClass("active"),e.hide()}function UM_domenus(){jQuery(".um-dropdown").each(function(){var e=jQuery(this),t=jQuery(this).attr("data-element"),a=jQuery(this).attr("data-position");jQuery(t).addClass("um-trigger-menu-on-"+e.attr("data-trigger")),jQuery(window).width()<=1200&&"div.um-profile-edit"==t&&(a="lc"),"lc"==a&&(jQuery(t).find("img").width()<200?left_p=(jQuery(t).width()-jQuery(t).find("img").width())/2+(jQuery(t).find("img").width()-200)/2:left_p=(jQuery(t).width()-jQuery(t).find("img").width())/2,top_=parseInt(jQuery(t).find("a").css("top")),top_?(top_p=jQuery(t).find("img").height()+4+top_,left_gap=4):(top_p=jQuery(t).find("img").height()+4,left_gap=0),4==top_p&&"div.um-cover"==t?top_p=jQuery(t).height()/2+e.height()/2:4==top_p&&(top_p=jQuery(t).height()+20),gap_right=jQuery(t).width()+17,e.css({top:0,width:200,left:"auto",right:gap_right+"px","text-align":"center"}),e.find(".um-dropdown-arr").find("i").removeClass().addClass("um-icon-arrow-right-b"),e.find(".um-dropdown-arr").css({top:"4px",left:"auto",right:"-17px"})),"bc"==a&&(jQuery(t).find("img").width()<200?left_p=(jQuery(t).width()-jQuery(t).find("img").width())/2+(jQuery(t).find("img").width()-200)/2:left_p=(jQuery(t).width()-jQuery(t).find("img").width())/2,top_=parseInt(jQuery(t).find("a").css("top")),top_?(top_p=jQuery(t).find("img").height()+4+top_,left_gap=4):(top_p=jQuery(t).find("img").height()+4,left_gap=0),4==top_p&&"div.um-cover"==t?top_p=jQuery(t).height()/2+e.height()/2:4==top_p&&(top_p=jQuery(t).height()+20),e.css({top:top_p,width:200,left:left_p+left_gap,right:"auto","text-align":"center"}),e.find(".um-dropdown-arr").find("i").removeClass().addClass("um-icon-arrow-up-b"),e.find(".um-dropdown-arr").css({top:"-17px",left:e.width()/2-12,right:"auto"}))})}function um_responsive(){jQuery(".um").each(function(){element_width=jQuery(this).width(),element_width<=340?(jQuery(this).removeClass("uimob340"),jQuery(this).removeClass("uimob500"),jQuery(this).removeClass("uimob800"),jQuery(this).removeClass("uimob960"),jQuery(this).addClass("uimob340")):element_width<=500?(jQuery(this).removeClass("uimob340"),jQuery(this).removeClass("uimob500"),jQuery(this).removeClass("uimob800"),jQuery(this).removeClass("uimob960"),jQuery(this).addClass("uimob500")):element_width<=800?(jQuery(this).removeClass("uimob340"),jQuery(this).removeClass("uimob500"),jQuery(this).removeClass("uimob800"),jQuery(this).removeClass("uimob960"),jQuery(this).addClass("uimob800")):element_width<=960?(jQuery(this).removeClass("uimob340"),jQuery(this).removeClass("uimob500"),jQuery(this).removeClass("uimob800"),jQuery(this).removeClass("uimob960"),jQuery(this).addClass("uimob960")):960<element_width&&(jQuery(this).removeClass("uimob340"),jQuery(this).removeClass("uimob500"),jQuery(this).removeClass("uimob800"),jQuery(this).removeClass("uimob960")),0<jQuery(".um-account-nav").length&&jQuery(".um-account-side").is(":visible")&&0==jQuery(".um-account-tab:visible").length&&jQuery(".um-account-side li a.current").trigger("click"),jQuery(this).css("opacity",1)}),jQuery(".um-cover, .um-member-cover, .um-cover-e").each(function(){var e=jQuery(this),t=e.data("ratio"),a=e.width(),i=t.split(":");calcHeight=Math.round(a/i[0])+"px",e.height(calcHeight),e.find(".um-cover-add").height(calcHeight)}),jQuery(".um-members").each(function(){UM_Member_Grid(jQuery(this))}),UM_domenus()}function UM_Member_Grid(e){e.masonry({itemSelector:".um-member",columnWidth:".um-member",gutter:".um-gutter-sizer"})}function initImageUpload_UM(r){r.data("upload_help_text")?upload_help_text='<span class="help">'+r.data("upload_help_text")+"</span>":upload_help_text="",r.data("icon")?icon='<span class="icon"><i class="'+r.data("icon")+'"></i></span>':icon="",r.data("upload_text")?upload_text='<span class="str">'+r.data("upload_text")+"</span>":upload_text="";var e=0;jQuery("#um_upload_single:visible").data("user_id")&&(e=jQuery("#um_upload_single:visible").data("user_id")),r.uploadFile({url:wp.ajax.settings.url,method:"POST",multiple:!1,formData:{action:"um_imageupload",key:r.data("key"),set_id:r.data("set_id"),set_mode:r.data("set_mode"),_wpnonce:r.data("nonce"),timestamp:r.data("timestamp"),user_id:e},fileName:r.data("key"),allowedTypes:r.data("allowed_types"),maxFileSize:r.data("max_size"),dragDropStr:icon+upload_text+upload_help_text,sizeErrorStr:r.data("max_size_error"),extErrorStr:r.data("extension_error"),maxFileCountErrorStr:r.data("max_files_error"),maxFileCount:1,showDelete:!1,showAbort:!1,showDone:!1,showFileCounter:!1,showStatusAfterSuccess:!0,returnType:"json",onSubmit:function(e){r.parents(".um-modal-body").find(".um-error-block").remove()},onSuccess:function(e,t,a){r.selectedFiles=0,t.success&&0==t.success||void 0!==t.data.error?(r.parents(".um-modal-body").append('<div class="um-error-block">'+t.data.error+"</div>"),r.parents(".um-modal-body").find(".upload-statusbar").hide(0),um_modal_responsive()):jQuery.each(t.data,function(e,t){var a=r.parents(".um-modal-body").find(".um-single-image-preview img"),i=r.parents(".um-modal-body").find(".um-single-image-preview"),o=new Date;a.attr("src",t.url+"?"+o.getTime()),a.data("file",t.file),a.load(function(){r.parents(".um-modal-body").find(".um-modal-btn.um-finish-upload.disabled").removeClass("disabled"),r.parents(".um-modal-body").find(".ajax-upload-dragdrop,.upload-statusbar").hide(0),i.show(0),um_modal_responsive()})})},onError:function(e){console.log(e)}})}function initFileUpload_UM(i){i.data("upload_help_text")?upload_help_text='<span class="help">'+i.data("upload_help_text")+"</span>":upload_help_text="",i.data("icon")?icon='<span class="icon"><i class="'+i.data("icon")+'"></i></span>':icon="",i.data("upload_text")?upload_text='<span class="str">'+i.data("upload_text")+"</span>":upload_text="",jQuery("#um_upload_single:visible").data("user_id")&&(user_id=jQuery("#um_upload_single:visible").data("user_id")),i.uploadFile({url:wp.ajax.settings.url,method:"POST",multiple:!1,formData:{action:"um_fileupload",key:i.data("key"),set_id:i.data("set_id"),user_id:i.data("user_id"),set_mode:i.data("set_mode"),_wpnonce:i.data("nonce"),timestamp:i.data("timestamp")},fileName:i.data("key"),allowedTypes:i.data("allowed_types"),maxFileSize:i.data("max_size"),dragDropStr:icon+upload_text+upload_help_text,sizeErrorStr:i.data("max_size_error"),extErrorStr:i.data("extension_error"),maxFileCountErrorStr:i.data("max_files_error"),maxFileCount:1,showDelete:!1,showAbort:!1,showDone:!1,showFileCounter:!1,showStatusAfterSuccess:!0,onSubmit:function(e){i.parents(".um-modal-body").find(".um-error-block").remove()},onSuccess:function(e,t,a){i.selectedFiles=0,t.success&&0==t.success||void 0!==t.data.error?(i.parents(".um-modal-body").append('<div class="um-error-block">'+t.data.error+"</div>"),i.parents(".um-modal-body").find(".upload-statusbar").hide(0)):jQuery.each(t.data,function(e,t){i.parents(".um-modal-body").find(".um-modal-btn.um-finish-upload.disabled").removeClass("disabled"),i.parents(".um-modal-body").find(".ajax-upload-dragdrop,.upload-statusbar").hide(0),i.parents(".um-modal-body").find(".um-single-file-preview").show(0),"icon"==e?i.parents(".um-modal-body").find(".um-single-fileinfo i").removeClass().addClass(t):"icon_bg"==e?i.parents(".um-modal-body").find(".um-single-fileinfo span.icon").css({"background-color":t}):"filename"==e?i.parents(".um-modal-body").find(".um-single-fileinfo a").attr("data-file",t):"original_name"==e?(i.parents(".um-modal-body").find(".um-single-fileinfo a").attr("data-orignal-name",t),i.parents(".um-modal-body").find(".um-single-fileinfo span.filename").html(t)):"url"==e&&i.parents(".um-modal-body").find(".um-single-fileinfo a").attr("href",t)}),setTimeout(function(){um_modal_responsive()},1e3)},onError:function(e){console.log(e)}})}function initCrop_UM(){var t=jQuery(".um-modal .um-single-image-preview img").first(),e=jQuery(".um-modal .um-single-image-preview"),a=t.parent().attr("data-crop"),i=t.parent().attr("data-min_width"),o=t.parent().attr("data-min_height"),r=t.parent().attr("data-ratio");if(jQuery(".um-modal").find("#um_upload_single").attr("data-ratio"))r=(r=jQuery(".um-modal").find("#um_upload_single").attr("data-ratio")).split(":")[0];if(t.length&&""!=t.attr("src")){var u=jQuery(window).height()-(jQuery(".um-modal-footer a").height()+20)-50-jQuery(".um-modal-header:visible").height();if(t.css({height:"auto"}),e.css({height:"auto"}),jQuery(window).height()<=400?(e.css({height:u+"px","max-height":u+"px"}),t.css({height:"auto"})):(t.css({height:"auto","max-height":u+"px"}),e.css({height:t.height(),"max-height":u+"px"})),"square"==a)var d={minWidth:i,minHeight:o,dragCrop:!1,aspectRatio:1,zoomable:!1,rotatable:!1,dashed:!1,done:function(e){t.parent().attr("data-coord",Math.round(e.x)+","+Math.round(e.y)+","+Math.round(e.width)+","+Math.round(e.height))}};else if("cover"==a){0<Math.round(i/r)&&(o=Math.round(i/r));d={minWidth:i,minHeight:o,dragCrop:!1,aspectRatio:r,zoomable:!1,rotatable:!1,dashed:!1,done:function(e){t.parent().attr("data-coord",Math.round(e.x)+","+Math.round(e.y)+","+Math.round(e.width)+","+Math.round(e.height))}}}else if("user"==a)d={minWidth:i,minHeight:o,dragCrop:!0,aspectRatio:"auto",zoomable:!1,rotatable:!1,dashed:!1,done:function(e){t.parent().attr("data-coord",Math.round(e.x)+","+Math.round(e.y)+","+Math.round(e.width)+","+Math.round(e.height))}};0!=a&&(t.cropper(d),jQuery(".um-single-image-preview img.cropper-hidden").cropper("destroy"),jQuery(".um-single-image-preview img.lazyloaded").addClass("cropper-hidden"),jQuery(".um-single-image-preview img.lazyloaded").removeClass("lazyloaded"),jQuery(".um-single-image-preview .cropper-container").append('<div class="um-clear"></div>'))}}function um_new_modal(e,t,a,i){if(0==jQuery("body").find(".um-modal-overlay").length)if(jQuery(".tipsy").hide(),UM_hide_menus(),jQuery("body,html,textarea").css("overflow","hidden"),jQuery(document).bind("touchmove",function(e){e.preventDefault()}),jQuery(".um-modal").on("touchmove",function(e){e.stopPropagation()}),a?jQuery("body").append('<div class="um-modal-overlay"></div><div class="um-modal is-photo"></div>'):jQuery("body").append('<div class="um-modal-overlay"></div><div class="um-modal no-photo"></div>'),jQuery("#"+e).prependTo(".um-modal"),a){jQuery(".um-modal").find(".um-modal-photo").html("<img />");var o=jQuery(".um-modal-photo img"),r=jQuery(window).width()-60,u=jQuery(window).height()-.25*jQuery(window).height();o.attr("src",i),o.load(function(){jQuery("#"+e).show(),jQuery(".um-modal").show(),o.css({opacity:0}),o.css({"max-width":r}),o.css({"max-height":u}),jQuery(".um-modal").css({width:o.width(),"margin-left":"-"+o.width()/2+"px"}),o.animate({opacity:1},1e3),um_modal_responsive()})}else jQuery("#"+e).show(),jQuery(".um-modal").show(),um_modal_size(t),initImageUpload_UM(jQuery(".um-modal:visible").find(".um-single-image-upload")),initFileUpload_UM(jQuery(".um-modal:visible").find(".um-single-file-upload")),um_modal_responsive()}function um_modal_responsive(){var e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,t=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,a=jQuery(".um-modal:visible");if(jQuery(".um-modal-body.photo:visible").length){a.removeClass("uimob340"),a.removeClass("uimob500");var i=jQuery(".um-modal-photo img"),o=e-60,r=t-.25*t;i.css({opacity:0}),i.css({"max-width":o}),i.css({"max-height":r}),jQuery(".um-modal").css({width:i.width(),"margin-left":"-"+i.width()/2+"px"}),i.animate({opacity:1},1e3);var u=(t-a.innerHeight())/2+"px";a.animate({bottom:u},300)}else if(a.length)if(a.removeClass("uimob340"),a.removeClass("uimob500"),e<=340)a.addClass("uimob340"),initCrop_UM(),a.animate({bottom:0},300);else if(e<=500)a.addClass("uimob500"),initCrop_UM(),a.animate({bottom:0},300);else if(e<=800){initCrop_UM();u=(t-a.innerHeight())/2+"px";a.animate({bottom:u},300)}else if(e<=960){initCrop_UM();u=(t-a.innerHeight())/2+"px";a.animate({bottom:u},300)}else if(960<e){initCrop_UM();u=(t-a.innerHeight())/2+"px";a.animate({bottom:u},300)}}function um_remove_modal(){jQuery("img.cropper-hidden").cropper("destroy"),jQuery("body,html,textarea").css("overflow","auto"),jQuery(document).unbind("touchmove"),jQuery('.um-modal div[id^="um_"]').hide().appendTo("body"),jQuery(".um-modal,.um-modal-overlay").remove()}function um_modal_size(e){jQuery(".um-modal:visible").addClass(e)}function um_modal_add_attr(e,t){jQuery(".um-modal:visible").data(e,t)}function prepare_Modal(){0==jQuery(".um-popup-overlay").length&&(jQuery("body").append('<div class="um-popup-overlay"></div>'),jQuery("body").append('<div class="um-popup"></div>'),jQuery(".um-popup").addClass("loading"),jQuery("body,html").css({overflow:"hidden"}))}function remove_Modal(){jQuery(".um-popup-overlay").length&&(jQuery(document).trigger("um_before_modal_removed"),jQuery(".tipsy").remove(),jQuery(".um-popup").empty().remove(),jQuery(".um-popup-overlay").empty().remove(),jQuery("body,html").css({overflow:"auto"}))}function show_Modal(e){jQuery(".um-popup-overlay").length&&(jQuery(".um-popup").removeClass("loading").html(e),jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,offset:3}))}function responsive_Modal(){jQuery(".um-popup-overlay").length&&(ag_height=jQuery(window).height()-jQuery(".um-popup .um-popup-header").outerHeight()-jQuery(".um-popup .um-popup-footer").outerHeight()-80,350<ag_height&&(ag_height=350),jQuery(".um-popup-autogrow:visible").length?jQuery(".um-popup-autogrow:visible").css({height:ag_height+"px"}):jQuery(".um-popup-autogrow2:visible").length&&jQuery(".um-popup-autogrow2:visible").css({"max-height":ag_height+"px"}))}function um_reset_field(e){jQuery(e).find("div.um-field-area").find("input,textarea,select").not(":button, :submit, :reset, :hidden").val("").removeAttr("checked").removeAttr("selected")}function um_selected(e,t){if(e==t)return"selected='selected'"}jQuery(function(){jQuery(".um-search form *").keypress(function(e){if(13==e.which)return jQuery(".um-search form").submit(),!1}),2==jQuery("input[data-key=user_password],input[data-key=confirm_user_password]").length&&UM_check_password_matched()});
1
+ function UM_check_password_matched(){jQuery(document).on("keyup","input[data-key=user_password],input[data-key=confirm_user_password]",function(e){var t=jQuery("input[data-key=user_password]").val(),a=jQuery("input[data-key=confirm_user_password]").val(),o=jQuery("input[data-key=user_password],input[data-key=confirm_user_password]");t||a?t!==a?o.removeClass("um-validate-matched").addClass("um-validate-not-matched"):o.removeClass("um-validate-not-matched").addClass("um-validate-matched"):o.removeClass("um-validate-matched").removeClass("um-validate-not-matched")})}function UM_hide_menus(){var e=jQuery(".um-dropdown");e.parents("div").find("a").removeClass("active"),e.hide()}function UM_domenus(){jQuery(".um-dropdown").each(function(){var e=jQuery(this),t=jQuery(this).attr("data-element"),a=jQuery(this).attr("data-position");jQuery(t).addClass("um-trigger-menu-on-"+e.attr("data-trigger")),"lc"===a&&"rtl"===jQuery("html").attr("dir")&&(a="rc"),jQuery(window).width()<=1200&&"div.um-profile-edit"===t&&(a="rtl"===jQuery("html").attr("dir")?"rc":"lc"),jQuery(t).find("img").width()<200?left_p=(jQuery(t).width()-jQuery(t).find("img").width())/2+(jQuery(t).find("img").width()-200)/2:left_p=(jQuery(t).width()-jQuery(t).find("img").width())/2,top_=parseInt(jQuery(t).find("a").css("top")),top_?(top_p=jQuery(t).find("img").height()+4+top_,left_gap=4):(top_p=jQuery(t).find("img").height()+4,left_gap=0),4==top_p&&"div.um-cover"===t?top_p=jQuery(t).height()/2+e.height()/2:4==top_p&&(top_p=jQuery(t).height()+20),"lc"===a?(gap_right=jQuery(t).width()+17,e.css({top:0,width:200,left:"auto",right:gap_right+"px","text-align":"center"}),e.find(".um-dropdown-arr").find("i").removeClass().addClass("um-icon-arrow-right-b"),e.find(".um-dropdown-arr").css({top:"4px",left:"auto",right:"-17px"})):"rc"===a?(gap_right=jQuery(t).width()+25,e.css({top:0,width:200,left:gap_right+"px",right:"auto","text-align":"center"}),e.find(".um-dropdown-arr").find("i").removeClass().addClass("um-icon-arrow-left-b"),e.find(".um-dropdown-arr").css({top:"4px",left:"-17px",right:"auto"})):"bc"===a&&("rtl"===jQuery("html").attr("dir")?rtl_gap=10:rtl_gap=0,e.css({top:top_p,width:200,left:left_p+left_gap+rtl_gap,right:"auto","text-align":"center"}),e.find(".um-dropdown-arr").find("i").removeClass().addClass("um-icon-arrow-up-b"),e.find(".um-dropdown-arr").css({top:"-17px",left:e.width()/2-12,right:"auto"}))})}function um_responsive(){jQuery(".um").each(function(){element_width=jQuery(this).width(),element_width<=340?(jQuery(this).removeClass("uimob340"),jQuery(this).removeClass("uimob500"),jQuery(this).removeClass("uimob800"),jQuery(this).removeClass("uimob960"),jQuery(this).addClass("uimob340")):element_width<=500?(jQuery(this).removeClass("uimob340"),jQuery(this).removeClass("uimob500"),jQuery(this).removeClass("uimob800"),jQuery(this).removeClass("uimob960"),jQuery(this).addClass("uimob500")):element_width<=800?(jQuery(this).removeClass("uimob340"),jQuery(this).removeClass("uimob500"),jQuery(this).removeClass("uimob800"),jQuery(this).removeClass("uimob960"),jQuery(this).addClass("uimob800")):element_width<=960?(jQuery(this).removeClass("uimob340"),jQuery(this).removeClass("uimob500"),jQuery(this).removeClass("uimob800"),jQuery(this).removeClass("uimob960"),jQuery(this).addClass("uimob960")):960<element_width&&(jQuery(this).removeClass("uimob340"),jQuery(this).removeClass("uimob500"),jQuery(this).removeClass("uimob800"),jQuery(this).removeClass("uimob960")),0<jQuery(".um-account-nav").length&&jQuery(".um-account-side").is(":visible")&&0==jQuery(".um-account-tab:visible").length&&jQuery(".um-account-side li a.current").trigger("click"),jQuery(this).css("opacity",1)}),jQuery(".um-cover, .um-member-cover, .um-cover-e").each(function(){var e=jQuery(this),t=e.data("ratio"),a=e.width(),o=t.split(":");calcHeight=Math.round(a/o[0])+"px",e.height(calcHeight),e.find(".um-cover-add").height(calcHeight)}),jQuery(".um-members").each(function(){UM_Member_Grid(jQuery(this))}),UM_domenus()}function UM_Member_Grid(e){e.masonry({itemSelector:".um-member",columnWidth:".um-member",gutter:".um-gutter-sizer"})}function initImageUpload_UM(r){r.data("upload_help_text")?upload_help_text='<span class="help">'+r.data("upload_help_text")+"</span>":upload_help_text="",r.data("icon")?icon='<span class="icon"><i class="'+r.data("icon")+'"></i></span>':icon="",r.data("upload_text")?upload_text='<span class="str">'+r.data("upload_text")+"</span>":upload_text="";var e=0;jQuery("#um_upload_single:visible").data("user_id")&&(e=jQuery("#um_upload_single:visible").data("user_id")),r.uploadFile({url:wp.ajax.settings.url,method:"POST",multiple:!1,formData:{action:"um_imageupload",key:r.data("key"),set_id:r.data("set_id"),set_mode:r.data("set_mode"),_wpnonce:r.data("nonce"),timestamp:r.data("timestamp"),user_id:e},fileName:r.data("key"),allowedTypes:r.data("allowed_types"),maxFileSize:r.data("max_size"),dragDropStr:icon+upload_text+upload_help_text,sizeErrorStr:r.data("max_size_error"),extErrorStr:r.data("extension_error"),maxFileCountErrorStr:r.data("max_files_error"),maxFileCount:1,showDelete:!1,showAbort:!1,showDone:!1,showFileCounter:!1,showStatusAfterSuccess:!0,returnType:"json",onSubmit:function(e){r.parents(".um-modal-body").find(".um-error-block").remove()},onSuccess:function(e,t,a){r.selectedFiles=0,t.success&&0==t.success||void 0!==t.data.error?(r.parents(".um-modal-body").append('<div class="um-error-block">'+t.data.error+"</div>"),r.parents(".um-modal-body").find(".upload-statusbar").hide(0),um_modal_responsive()):jQuery.each(t.data,function(e,t){var a=r.parents(".um-modal-body").find(".um-single-image-preview img"),o=r.parents(".um-modal-body").find(".um-single-image-preview"),i=new Date;a.attr("src",t.url+"?"+i.getTime()),a.data("file",t.file),a.load(function(){r.parents(".um-modal-body").find(".um-modal-btn.um-finish-upload.disabled").removeClass("disabled"),r.parents(".um-modal-body").find(".ajax-upload-dragdrop,.upload-statusbar").hide(0),o.show(0),um_modal_responsive()})})},onError:function(e){console.log(e)}})}function initFileUpload_UM(o){o.data("upload_help_text")?upload_help_text='<span class="help">'+o.data("upload_help_text")+"</span>":upload_help_text="",o.data("icon")?icon='<span class="icon"><i class="'+o.data("icon")+'"></i></span>':icon="",o.data("upload_text")?upload_text='<span class="str">'+o.data("upload_text")+"</span>":upload_text="",jQuery("#um_upload_single:visible").data("user_id")&&(user_id=jQuery("#um_upload_single:visible").data("user_id")),o.uploadFile({url:wp.ajax.settings.url,method:"POST",multiple:!1,formData:{action:"um_fileupload",key:o.data("key"),set_id:o.data("set_id"),user_id:o.data("user_id"),set_mode:o.data("set_mode"),_wpnonce:o.data("nonce"),timestamp:o.data("timestamp")},fileName:o.data("key"),allowedTypes:o.data("allowed_types"),maxFileSize:o.data("max_size"),dragDropStr:icon+upload_text+upload_help_text,sizeErrorStr:o.data("max_size_error"),extErrorStr:o.data("extension_error"),maxFileCountErrorStr:o.data("max_files_error"),maxFileCount:1,showDelete:!1,showAbort:!1,showDone:!1,showFileCounter:!1,showStatusAfterSuccess:!0,onSubmit:function(e){o.parents(".um-modal-body").find(".um-error-block").remove()},onSuccess:function(e,t,a){o.selectedFiles=0,t.success&&0==t.success||void 0!==t.data.error?(o.parents(".um-modal-body").append('<div class="um-error-block">'+t.data.error+"</div>"),o.parents(".um-modal-body").find(".upload-statusbar").hide(0)):jQuery.each(t.data,function(e,t){o.parents(".um-modal-body").find(".um-modal-btn.um-finish-upload.disabled").removeClass("disabled"),o.parents(".um-modal-body").find(".ajax-upload-dragdrop,.upload-statusbar").hide(0),o.parents(".um-modal-body").find(".um-single-file-preview").show(0),"icon"==e?o.parents(".um-modal-body").find(".um-single-fileinfo i").removeClass().addClass(t):"icon_bg"==e?o.parents(".um-modal-body").find(".um-single-fileinfo span.icon").css({"background-color":t}):"filename"==e?o.parents(".um-modal-body").find(".um-single-fileinfo a").attr("data-file",t):"original_name"==e?(o.parents(".um-modal-body").find(".um-single-fileinfo a").attr("data-orignal-name",t),o.parents(".um-modal-body").find(".um-single-fileinfo span.filename").html(t)):"url"==e&&o.parents(".um-modal-body").find(".um-single-fileinfo a").attr("href",t)}),setTimeout(function(){um_modal_responsive()},1e3)},onError:function(e){console.log(e)}})}function initCrop_UM(){var t=jQuery(".um-modal .um-single-image-preview img").first(),e=jQuery(".um-modal .um-single-image-preview"),a=t.parent().attr("data-crop"),o=t.parent().attr("data-min_width"),i=t.parent().attr("data-min_height"),r=t.parent().attr("data-ratio");if(jQuery(".um-modal").find("#um_upload_single").attr("data-ratio"))r=(r=jQuery(".um-modal").find("#um_upload_single").attr("data-ratio")).split(":")[0];if(t.length&&""!=t.attr("src")){var u=jQuery(window).height()-(jQuery(".um-modal-footer a").height()+20)-50-jQuery(".um-modal-header:visible").height();if(t.css({height:"auto"}),e.css({height:"auto"}),jQuery(window).height()<=400?(e.css({height:u+"px","max-height":u+"px"}),t.css({height:"auto"})):(t.css({height:"auto","max-height":u+"px"}),e.css({height:t.height(),"max-height":u+"px"})),"square"==a)var d={minWidth:o,minHeight:i,dragCrop:!1,aspectRatio:1,zoomable:!1,rotatable:!1,dashed:!1,done:function(e){t.parent().attr("data-coord",Math.round(e.x)+","+Math.round(e.y)+","+Math.round(e.width)+","+Math.round(e.height))}};else if("cover"==a){0<Math.round(o/r)&&(i=Math.round(o/r));d={minWidth:o,minHeight:i,dragCrop:!1,aspectRatio:r,zoomable:!1,rotatable:!1,dashed:!1,done:function(e){t.parent().attr("data-coord",Math.round(e.x)+","+Math.round(e.y)+","+Math.round(e.width)+","+Math.round(e.height))}}}else if("user"==a)d={minWidth:o,minHeight:i,dragCrop:!0,aspectRatio:"auto",zoomable:!1,rotatable:!1,dashed:!1,done:function(e){t.parent().attr("data-coord",Math.round(e.x)+","+Math.round(e.y)+","+Math.round(e.width)+","+Math.round(e.height))}};0!=a&&(t.cropper(d),jQuery(".um-single-image-preview img.cropper-hidden").cropper("destroy"),jQuery(".um-single-image-preview img.lazyloaded").addClass("cropper-hidden"),jQuery(".um-single-image-preview img.lazyloaded").removeClass("lazyloaded"),jQuery(".um-single-image-preview .cropper-container").append('<div class="um-clear"></div>'))}}function um_new_modal(e,t,a,o){if(0==jQuery("body").find(".um-modal-overlay").length)if(jQuery(".tipsy").hide(),UM_hide_menus(),jQuery("body,html,textarea").css("overflow","hidden"),jQuery(document).bind("touchmove",function(e){e.preventDefault()}),jQuery(".um-modal").on("touchmove",function(e){e.stopPropagation()}),a?jQuery("body").append('<div class="um-modal-overlay"></div><div class="um-modal is-photo"></div>'):jQuery("body").append('<div class="um-modal-overlay"></div><div class="um-modal no-photo"></div>'),jQuery("#"+e).prependTo(".um-modal"),a){jQuery(".um-modal").find(".um-modal-photo").html("<img />");var i=jQuery(".um-modal-photo img"),r=jQuery(window).width()-60,u=jQuery(window).height()-.25*jQuery(window).height();i.attr("src",o),i.load(function(){jQuery("#"+e).show(),jQuery(".um-modal").show(),i.css({opacity:0}),i.css({"max-width":r}),i.css({"max-height":u}),jQuery(".um-modal").css({width:i.width(),"margin-left":"-"+i.width()/2+"px"}),i.animate({opacity:1},1e3),um_modal_responsive()})}else jQuery("#"+e).show(),jQuery(".um-modal").show(),um_modal_size(t),initImageUpload_UM(jQuery(".um-modal:visible").find(".um-single-image-upload")),initFileUpload_UM(jQuery(".um-modal:visible").find(".um-single-file-upload")),um_modal_responsive()}function um_modal_responsive(){var e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,t=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,a=jQuery(".um-modal:visible");if(jQuery(".um-modal-body.photo:visible").length){a.removeClass("uimob340"),a.removeClass("uimob500");var o=jQuery(".um-modal-photo img"),i=e-60,r=t-.25*t;o.css({opacity:0}),o.css({"max-width":i}),o.css({"max-height":r}),jQuery(".um-modal").css({width:o.width(),"margin-left":"-"+o.width()/2+"px"}),o.animate({opacity:1},1e3);var u=(t-a.innerHeight())/2+"px";a.animate({bottom:u},300)}else if(a.length)if(a.removeClass("uimob340"),a.removeClass("uimob500"),e<=340)a.addClass("uimob340"),initCrop_UM(),a.animate({bottom:0},300);else if(e<=500)a.addClass("uimob500"),initCrop_UM(),a.animate({bottom:0},300);else if(e<=800){initCrop_UM();u=(t-a.innerHeight())/2+"px";a.animate({bottom:u},300)}else if(e<=960){initCrop_UM();u=(t-a.innerHeight())/2+"px";a.animate({bottom:u},300)}else if(960<e){initCrop_UM();u=(t-a.innerHeight())/2+"px";a.animate({bottom:u},300)}}function um_remove_modal(){jQuery("img.cropper-hidden").cropper("destroy"),jQuery("body,html,textarea").css("overflow","auto"),jQuery(document).unbind("touchmove"),jQuery('.um-modal div[id^="um_"]').hide().appendTo("body"),jQuery(".um-modal,.um-modal-overlay").remove()}function um_modal_size(e){jQuery(".um-modal:visible").addClass(e)}function um_modal_add_attr(e,t){jQuery(".um-modal:visible").data(e,t)}function prepare_Modal(){0==jQuery(".um-popup-overlay").length&&(jQuery("body").append('<div class="um-popup-overlay"></div>'),jQuery("body").append('<div class="um-popup"></div>'),jQuery(".um-popup").addClass("loading"),jQuery("body,html").css({overflow:"hidden"}))}function remove_Modal(){jQuery(".um-popup-overlay").length&&(jQuery(document).trigger("um_before_modal_removed"),jQuery(".tipsy").remove(),jQuery(".um-popup").empty().remove(),jQuery(".um-popup-overlay").empty().remove(),jQuery("body,html").css({overflow:"auto"}))}function show_Modal(e){jQuery(".um-popup-overlay").length&&(jQuery(".um-popup").removeClass("loading").html(e),jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,offset:3}))}function responsive_Modal(){jQuery(".um-popup-overlay").length&&(ag_height=jQuery(window).height()-jQuery(".um-popup .um-popup-header").outerHeight()-jQuery(".um-popup .um-popup-footer").outerHeight()-80,350<ag_height&&(ag_height=350),jQuery(".um-popup-autogrow:visible").length?jQuery(".um-popup-autogrow:visible").css({height:ag_height+"px"}):jQuery(".um-popup-autogrow2:visible").length&&jQuery(".um-popup-autogrow2:visible").css({"max-height":ag_height+"px"}))}function um_reset_field(e){jQuery(e).find("div.um-field-area").find("input,textarea,select").not(":button, :submit, :reset, :hidden").val("").removeAttr("checked").removeAttr("selected")}function um_selected(e,t){if(e==t)return"selected='selected'"}jQuery(function(){jQuery(".um-search form *").keypress(function(e){if(13==e.which)return jQuery(".um-search form").submit(),!1}),2==jQuery("input[data-key=user_password],input[data-key=confirm_user_password]").length&&UM_check_password_matched()});
assets/js/um-scripts.js CHANGED
@@ -103,10 +103,60 @@ jQuery(document).ready(function() {
103
  return false;
104
  });
105
 
106
- jQuery('.um-tip-n').tipsy({gravity: 'n', opacity: 1, live: 'a.live', offset: 3 });
107
- jQuery('.um-tip-w').tipsy({gravity: 'w', opacity: 1, live: 'a.live', offset: 3 });
108
- jQuery('.um-tip-e').tipsy({gravity: 'e', opacity: 1, live: 'a.live', offset: 3 });
109
- jQuery('.um-tip-s').tipsy({gravity: 's', opacity: 1, live: 'a.live', offset: 3 });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
 
111
  jQuery(document).on('change', '.um-field-area input[type="radio"]', function(){
112
  var field = jQuery(this).parents('.um-field-area');
@@ -133,30 +183,6 @@ jQuery(document).ready(function() {
133
 
134
  um_init_datetimepicker();
135
 
136
- jQuery('.um-rating').um_raty({
137
- half: false,
138
- starType: 'i',
139
- number: function() {return jQuery(this).attr('data-number');},
140
- score: function() {return jQuery(this).attr('data-score');},
141
- scoreName: function(){return jQuery(this).attr('data-key');},
142
- hints: false,
143
- click: function( score, evt ) {
144
- live_field = this.id;
145
- live_value = score;
146
- um_apply_conditions( jQuery(this), false );
147
- }
148
- });
149
-
150
- jQuery('.um-rating-readonly').um_raty({
151
- half: false,
152
- starType: 'i',
153
- number: function() {return jQuery(this).attr('data-number');},
154
- score: function() {return jQuery(this).attr('data-score');},
155
- scoreName: function(){return jQuery(this).attr('data-key');},
156
- hints: false,
157
- readOnly: true
158
- });
159
-
160
  jQuery(document).on('click', '.um .um-single-image-preview a.cancel', function(e){
161
  e.preventDefault();
162
  var parent = jQuery(this).parents('.um-field');
@@ -200,26 +226,6 @@ jQuery(document).ready(function() {
200
  return false;
201
  });
202
 
203
- jQuery('.um-s1,.um-s2').css({'display':'block'});
204
-
205
- if( jQuery(".um-s1").length > 0 ){
206
- jQuery(".um-s1").each(function () {
207
- var select = jQuery(this);
208
- if( select.val() === '' && select.attr('data-default') ) {
209
- select.val(select.attr('data-default'));
210
- }
211
- });
212
- }
213
-
214
- jQuery(".um-s1").select2({
215
- allowClear: true
216
- });
217
-
218
- jQuery(".um-s2").select2({
219
- allowClear: false,
220
- minimumResultsForSearch: 10
221
- });
222
-
223
  jQuery(document).on('click', '.um-field-group-head:not(.disabled)', function(){
224
  var field = jQuery(this).parents('.um-field-group');
225
  var limit = field.data('max_entries');
103
  return false;
104
  });
105
 
106
+ jQuery('.um-s1,.um-s2').css({'display':'block'});
107
+
108
+ if( jQuery(".um-s1").length > 0 ){
109
+ jQuery(".um-s1").each(function () {
110
+ var select = jQuery(this);
111
+ if( select.val() === '' && select.attr('data-default') ) {
112
+ select.val(select.attr('data-default'));
113
+ }
114
+ });
115
+ }
116
+
117
+ if( typeof(jQuery.fn.select2) === "function" ){
118
+ jQuery(".um-s1").select2({
119
+ allowClear: true
120
+ });
121
+
122
+ jQuery(".um-s2").select2({
123
+ allowClear: false,
124
+ minimumResultsForSearch: 10
125
+ });
126
+ }
127
+
128
+ if( typeof(jQuery.fn.tipsy) === "function" ){
129
+ jQuery('.um-tip-n').tipsy({gravity: 'n', opacity: 1, live: 'a.live', offset: 3 });
130
+ jQuery('.um-tip-w').tipsy({gravity: 'w', opacity: 1, live: 'a.live', offset: 3 });
131
+ jQuery('.um-tip-e').tipsy({gravity: 'e', opacity: 1, live: 'a.live', offset: 3 });
132
+ jQuery('.um-tip-s').tipsy({gravity: 's', opacity: 1, live: 'a.live', offset: 3 });
133
+ }
134
+
135
+ if( typeof(jQuery.fn.um_raty) === "function" ){
136
+ jQuery('.um-rating').um_raty({
137
+ half: false,
138
+ starType: 'i',
139
+ number: function() {return jQuery(this).attr('data-number');},
140
+ score: function() {return jQuery(this).attr('data-score');},
141
+ scoreName: function(){return jQuery(this).attr('data-key');},
142
+ hints: false,
143
+ click: function( score, evt ) {
144
+ live_field = this.id;
145
+ live_value = score;
146
+ um_apply_conditions( jQuery(this), false );
147
+ }
148
+ });
149
+
150
+ jQuery('.um-rating-readonly').um_raty({
151
+ half: false,
152
+ starType: 'i',
153
+ number: function() {return jQuery(this).attr('data-number');},
154
+ score: function() {return jQuery(this).attr('data-score');},
155
+ scoreName: function(){return jQuery(this).attr('data-key');},
156
+ hints: false,
157
+ readOnly: true
158
+ });
159
+ }
160
 
161
  jQuery(document).on('change', '.um-field-area input[type="radio"]', function(){
162
  var field = jQuery(this).parents('.um-field-area');
183
 
184
  um_init_datetimepicker();
185
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  jQuery(document).on('click', '.um .um-single-image-preview a.cancel', function(e){
187
  e.preventDefault();
188
  var parent = jQuery(this).parents('.um-field');
226
  return false;
227
  });
228
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  jQuery(document).on('click', '.um-field-group-head:not(.disabled)', function(){
230
  var field = jQuery(this).parents('.um-field-group');
231
  var limit = field.data('max_entries');
assets/js/um-scripts.min.js CHANGED
@@ -1 +1 @@
1
- function um_init_datetimepicker(){jQuery(".um-datepicker:not(.picker__input)").each(function(){if(elem=jQuery(this),void 0!==elem.attr("data-disabled_weekdays")&&""!=elem.attr("data-disabled_weekdays"))var e=JSON.parse(elem.attr("data-disabled_weekdays"));else e=!1;var t=null;void 0!==elem.attr("data-years")&&(t=elem.attr("data-years"));var a=elem.attr("data-date_min"),i=elem.attr("data-date_max"),r=[],n=[];void 0!==a&&(r=a.split(",")),void 0!==i&&(n=i.split(","));var u=r.length?new Date(r):null,o=r.length?new Date(n):null;if(u&&"Invalid Date"==u.toString()&&3==r.length){var s=r[1]+"/"+r[2]+"/"+r[0];u=new Date(Date.parse(s))}if(o&&"Invalid Date"==o.toString()&&3==n.length){var d=n[1]+"/"+n[2]+"/"+n[0];o=new Date(Date.parse(d))}var l={disable:e,format:elem.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}};null!==t&&(l.selectYears=t),null!==u&&(l.min=u),null!==o&&(l.max=o),elem.pickadate(l)}),jQuery(".um-timepicker:not(.picker__input)").each(function(){elem=jQuery(this),elem.pickatime({format:elem.attr("data-format"),interval:parseInt(elem.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})})}jQuery(document).ready(function(){jQuery(document.body).on("click",".um-dropdown a.real_url",function(e){window.location=jQuery(this).attr("href")}),jQuery(document.body).on("click",".um-trigger-menu-on-click",function(e){return jQuery(".um-dropdown").hide(),jQuery(this).find(".um-dropdown").show(),!1}),jQuery(document.body).on("click",".um-dropdown-hide",function(e){return UM_hide_menus(),!1}),jQuery(document.body).on("click","a.um-manual-trigger",function(){var e=jQuery(this).attr("data-child"),t=jQuery(this).attr("data-parent");return jQuery(this).parents(t).find(e).trigger("click"),UM_hide_menus(),!1}),jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3}),jQuery(document).on("change",'.um-field-area input[type="radio"]',function(){var e=jQuery(this).parents(".um-field-area"),t=jQuery(this).parents("label");e.find(".um-field-radio").removeClass("active"),e.find(".um-field-radio").find("i").removeAttr("class").addClass("um-icon-android-radio-button-off"),t.addClass("active"),t.find("i").removeAttr("class").addClass("um-icon-android-radio-button-on")}),jQuery(document).on("change",'.um-field-area input[type="checkbox"]',function(){jQuery(this).parents(".um-field-area");var e=jQuery(this).parents("label");e.hasClass("active")?(e.removeClass("active"),e.find("i").removeAttr("class").addClass("um-icon-android-checkbox-outline-blank")):(e.addClass("active"),e.find("i").removeAttr("class").addClass("um-icon-android-checkbox-outline"))}),um_init_datetimepicker(),jQuery(".um-rating").um_raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,click:function(e,t){live_field=this.id,live_value=e,um_apply_conditions(jQuery(this),!1)}}),jQuery(".um-rating-readonly").um_raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,readOnly:!0}),jQuery(document).on("click",".um .um-single-image-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),a=jQuery(this).parents(".um-field").find(".um-single-image-preview img").attr("src");return t.find(".um-single-image-preview img").attr("src",""),t.find(".um-single-image-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val("empty_file"),jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_remove_file",src:a,nonce:um_scripts.nonce}}),!1}),jQuery(document).on("click",".um .um-single-file-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),a=jQuery(this).parents(".um-field").find(".um-single-fileinfo a").attr("href");return t.find(".um-single-file-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val("empty_file"),jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_remove_file",src:a,nonce:um_scripts.nonce}}),!1}),jQuery(".um-s1,.um-s2").css({display:"block"}),0<jQuery(".um-s1").length&&jQuery(".um-s1").each(function(){var e=jQuery(this);""===e.val()&&e.attr("data-default")&&e.val(e.attr("data-default"))}),jQuery(".um-s1").select2({allowClear:!0}),jQuery(".um-s2").select2({allowClear:!1,minimumResultsForSearch:10}),jQuery(document).on("click",".um-field-group-head:not(.disabled)",function(){var e=jQuery(this).parents(".um-field-group"),t=e.data("max_entries");e.find(".um-field-group-body").is(":hidden")?e.find(".um-field-group-body").show():e.find(".um-field-group-body:first").clone().appendTo(e),increase_id=0,e.find(".um-field-group-body").each(function(){increase_id++,jQuery(this).find("input").each(function(){var e=jQuery(this);e.attr("id",e.data("key")+"-"+increase_id),e.attr("name",e.data("key")+"-"+increase_id),e.parent().parent().find("label").attr("for",e.data("key")+"-"+increase_id)})}),0<t&&e.find(".um-field-group-body").length==t&&jQuery(this).addClass("disabled")}),jQuery(document).on("click",".um-field-group-cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field-group"),a=t.data("max_entries");return 1<t.find(".um-field-group-body").length?jQuery(this).parents(".um-field-group-body").remove():jQuery(this).parents(".um-field-group-body").hide(),0<a&&t.find(".um-field-group-body").length<a&&t.find(".um-field-group-head").removeClass("disabled"),!1}),jQuery(document.body).on("click",".um-ajax-paginate",function(e){e.preventDefault();var t=jQuery(this),a=jQuery(this).parent();a.addClass("loading");var i=jQuery(this).data("hook");if("um_load_posts"===i){var r=1*jQuery(this).data("pages"),n=1*jQuery(this).data("page")+1;jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_ajax_paginate_posts",author:jQuery(this).data("author"),page:n,nonce:um_scripts.nonce},complete:function(){a.removeClass("loading")},success:function(e){a.before(e),n===r?a.remove():t.data("page",n)}})}else{var u=jQuery(this).data("args"),o=jQuery(this).parents(".um").find(".um-ajax-items");jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_ajax_paginate",hook:i,args:u,nonce:um_scripts.nonce},complete:function(){a.removeClass("loading")},success:function(e){a.remove(),o.append(e)}})}}),jQuery(document).on("click",".um-ajax-action",function(e){e.preventDefault();var t=jQuery(this).data("hook"),a=jQuery(this).data("user_id"),arguments=jQuery(this).data("arguments");return jQuery(this).data("js-remove")&&jQuery(this).parents("."+jQuery(this).data("js-remove")).fadeOut("fast"),jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_muted_action",hook:t,user_id:a,arguments:arguments,nonce:um_scripts.nonce},success:function(e){}}),!1}),jQuery(document).on("click","#um-search-button",function(){jQuery(this).parents("form").submit()}),jQuery('.um-form input[class="um-button"][type="submit"]').removeAttr("disabled"),jQuery(document).one("click",'.um:not(.um-account) .um-form input[class="um-button"][type="submit"]:not(.um-has-recaptcha)',function(){jQuery(this).attr("disabled","disabled"),jQuery(this).parents("form").submit()});var o={};function s(e,t,a,i){var r=e.data("um-parent");e.attr("name"),jQuery('select[name="'+r+'"]');e.find('option[value!=""]').remove(),e.hasClass("um-child-option-disabled")||e.removeAttr("disabled");i=[];var n="";if("yes"===t.post.members_directory){var u=new URLSearchParams(window.location.search);n=u.get(t.post.child_name)}jQuery.each(t.items,function(e,t){i.push({id:e,text:t,selected:t===n})}),e.select2("destroy"),e.select2({data:i,allowClear:!0,minimumResultsForSearch:10}),"yes"!==t.post.members_directory&&(void 0===t.field.default||e.data("um-original-value")?""!=e.data("um-original-value")&&e.val(e.data("um-original-value")).trigger("change"):e.val(t.field.default).trigger("change"),0==t.field.editable&&(e.addClass("um-child-option-disabled"),e.attr("disabled","disabled"))),o[a]=t}jQuery("select[data-um-parent]").each(function(){var r=jQuery(this),n=r.data("um-parent"),u=(r.data("um-ajax-url"),r.data("um-ajax-source"));r.val();r.attr("data-um-init-field",!0),jQuery(document).on("change",'select[name="'+n+'"]',function(){var t=jQuery(this),e=t.closest("form").find('input[type="hidden"][name="form_id"]').val(),a=t.val();if(""!=t.val()&&"object"!=typeof o[a]&&jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_select_options",parent_option_name:n,parent_option:t.val(),child_callback:u,child_name:r.attr("name"),members_directory:r.attr("data-mebers-directory"),form_id:e,nonce:um_scripts.nonce},success:function(e){"success"==e.status&&""!=t.val()&&s(r,e,a),void 0!==e.debug&&console.log(e)},error:function(e){console.log(e)}}),""!=t.val()&&"object"==typeof o[a]){var i=o[a];s(r,i,a)}""==t.val()&&(r.find('option[value!=""]').remove(),r.val("").trigger("change"))}),jQuery('select[name="'+n+'"]').trigger("change")})});
1
+ function um_init_datetimepicker(){jQuery(".um-datepicker:not(.picker__input)").each(function(){if(elem=jQuery(this),void 0!==elem.attr("data-disabled_weekdays")&&""!=elem.attr("data-disabled_weekdays"))var e=JSON.parse(elem.attr("data-disabled_weekdays"));else e=!1;var t=null;void 0!==elem.attr("data-years")&&(t=elem.attr("data-years"));var a=elem.attr("data-date_min"),i=elem.attr("data-date_max"),r=[],n=[];void 0!==a&&(r=a.split(",")),void 0!==i&&(n=i.split(","));var u=r.length?new Date(r):null,o=r.length?new Date(n):null;if(u&&"Invalid Date"==u.toString()&&3==r.length){var s=r[1]+"/"+r[2]+"/"+r[0];u=new Date(Date.parse(s))}if(o&&"Invalid Date"==o.toString()&&3==n.length){var d=n[1]+"/"+n[2]+"/"+n[0];o=new Date(Date.parse(d))}var l={disable:e,format:elem.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}};null!==t&&(l.selectYears=t),null!==u&&(l.min=u),null!==o&&(l.max=o),elem.pickadate(l)}),jQuery(".um-timepicker:not(.picker__input)").each(function(){elem=jQuery(this),elem.pickatime({format:elem.attr("data-format"),interval:parseInt(elem.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})})}jQuery(document).ready(function(){jQuery(document.body).on("click",".um-dropdown a.real_url",function(e){window.location=jQuery(this).attr("href")}),jQuery(document.body).on("click",".um-trigger-menu-on-click",function(e){return jQuery(".um-dropdown").hide(),jQuery(this).find(".um-dropdown").show(),!1}),jQuery(document.body).on("click",".um-dropdown-hide",function(e){return UM_hide_menus(),!1}),jQuery(document.body).on("click","a.um-manual-trigger",function(){var e=jQuery(this).attr("data-child"),t=jQuery(this).attr("data-parent");return jQuery(this).parents(t).find(e).trigger("click"),UM_hide_menus(),!1}),jQuery(".um-s1,.um-s2").css({display:"block"}),0<jQuery(".um-s1").length&&jQuery(".um-s1").each(function(){var e=jQuery(this);""===e.val()&&e.attr("data-default")&&e.val(e.attr("data-default"))}),"function"==typeof jQuery.fn.select2&&(jQuery(".um-s1").select2({allowClear:!0}),jQuery(".um-s2").select2({allowClear:!1,minimumResultsForSearch:10})),"function"==typeof jQuery.fn.tipsy&&(jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3})),"function"==typeof jQuery.fn.um_raty&&(jQuery(".um-rating").um_raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,click:function(e,t){live_field=this.id,live_value=e,um_apply_conditions(jQuery(this),!1)}}),jQuery(".um-rating-readonly").um_raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,readOnly:!0})),jQuery(document).on("change",'.um-field-area input[type="radio"]',function(){var e=jQuery(this).parents(".um-field-area"),t=jQuery(this).parents("label");e.find(".um-field-radio").removeClass("active"),e.find(".um-field-radio").find("i").removeAttr("class").addClass("um-icon-android-radio-button-off"),t.addClass("active"),t.find("i").removeAttr("class").addClass("um-icon-android-radio-button-on")}),jQuery(document).on("change",'.um-field-area input[type="checkbox"]',function(){jQuery(this).parents(".um-field-area");var e=jQuery(this).parents("label");e.hasClass("active")?(e.removeClass("active"),e.find("i").removeAttr("class").addClass("um-icon-android-checkbox-outline-blank")):(e.addClass("active"),e.find("i").removeAttr("class").addClass("um-icon-android-checkbox-outline"))}),um_init_datetimepicker(),jQuery(document).on("click",".um .um-single-image-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),a=jQuery(this).parents(".um-field").find(".um-single-image-preview img").attr("src");return t.find(".um-single-image-preview img").attr("src",""),t.find(".um-single-image-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val("empty_file"),jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_remove_file",src:a,nonce:um_scripts.nonce}}),!1}),jQuery(document).on("click",".um .um-single-file-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),a=jQuery(this).parents(".um-field").find(".um-single-fileinfo a").attr("href");return t.find(".um-single-file-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val("empty_file"),jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_remove_file",src:a,nonce:um_scripts.nonce}}),!1}),jQuery(document).on("click",".um-field-group-head:not(.disabled)",function(){var e=jQuery(this).parents(".um-field-group"),t=e.data("max_entries");e.find(".um-field-group-body").is(":hidden")?e.find(".um-field-group-body").show():e.find(".um-field-group-body:first").clone().appendTo(e),increase_id=0,e.find(".um-field-group-body").each(function(){increase_id++,jQuery(this).find("input").each(function(){var e=jQuery(this);e.attr("id",e.data("key")+"-"+increase_id),e.attr("name",e.data("key")+"-"+increase_id),e.parent().parent().find("label").attr("for",e.data("key")+"-"+increase_id)})}),0<t&&e.find(".um-field-group-body").length==t&&jQuery(this).addClass("disabled")}),jQuery(document).on("click",".um-field-group-cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field-group"),a=t.data("max_entries");return 1<t.find(".um-field-group-body").length?jQuery(this).parents(".um-field-group-body").remove():jQuery(this).parents(".um-field-group-body").hide(),0<a&&t.find(".um-field-group-body").length<a&&t.find(".um-field-group-head").removeClass("disabled"),!1}),jQuery(document.body).on("click",".um-ajax-paginate",function(e){e.preventDefault();var t=jQuery(this),a=jQuery(this).parent();a.addClass("loading");var i=jQuery(this).data("hook");if("um_load_posts"===i){var r=1*jQuery(this).data("pages"),n=1*jQuery(this).data("page")+1;jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_ajax_paginate_posts",author:jQuery(this).data("author"),page:n,nonce:um_scripts.nonce},complete:function(){a.removeClass("loading")},success:function(e){a.before(e),n===r?a.remove():t.data("page",n)}})}else{var u=jQuery(this).data("args"),o=jQuery(this).parents(".um").find(".um-ajax-items");jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_ajax_paginate",hook:i,args:u,nonce:um_scripts.nonce},complete:function(){a.removeClass("loading")},success:function(e){a.remove(),o.append(e)}})}}),jQuery(document).on("click",".um-ajax-action",function(e){e.preventDefault();var t=jQuery(this).data("hook"),a=jQuery(this).data("user_id"),arguments=jQuery(this).data("arguments");return jQuery(this).data("js-remove")&&jQuery(this).parents("."+jQuery(this).data("js-remove")).fadeOut("fast"),jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_muted_action",hook:t,user_id:a,arguments:arguments,nonce:um_scripts.nonce},success:function(e){}}),!1}),jQuery(document).on("click","#um-search-button",function(){jQuery(this).parents("form").submit()}),jQuery('.um-form input[class="um-button"][type="submit"]').removeAttr("disabled"),jQuery(document).one("click",'.um:not(.um-account) .um-form input[class="um-button"][type="submit"]:not(.um-has-recaptcha)',function(){jQuery(this).attr("disabled","disabled"),jQuery(this).parents("form").submit()});var o={};function s(e,t,a,i){var r=e.data("um-parent");e.attr("name"),jQuery('select[name="'+r+'"]');e.find('option[value!=""]').remove(),e.hasClass("um-child-option-disabled")||e.removeAttr("disabled");i=[];var n="";if("yes"===t.post.members_directory){var u=new URLSearchParams(window.location.search);n=u.get(t.post.child_name)}jQuery.each(t.items,function(e,t){i.push({id:e,text:t,selected:t===n})}),e.select2("destroy"),e.select2({data:i,allowClear:!0,minimumResultsForSearch:10}),"yes"!==t.post.members_directory&&(void 0===t.field.default||e.data("um-original-value")?""!=e.data("um-original-value")&&e.val(e.data("um-original-value")).trigger("change"):e.val(t.field.default).trigger("change"),0==t.field.editable&&(e.addClass("um-child-option-disabled"),e.attr("disabled","disabled"))),o[a]=t}jQuery("select[data-um-parent]").each(function(){var r=jQuery(this),n=r.data("um-parent"),u=(r.data("um-ajax-url"),r.data("um-ajax-source"));r.val();r.attr("data-um-init-field",!0),jQuery(document).on("change",'select[name="'+n+'"]',function(){var t=jQuery(this),e=t.closest("form").find('input[type="hidden"][name="form_id"]').val(),a=t.val();if(""!=t.val()&&"object"!=typeof o[a]&&jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_select_options",parent_option_name:n,parent_option:t.val(),child_callback:u,child_name:r.attr("name"),members_directory:r.attr("data-mebers-directory"),form_id:e,nonce:um_scripts.nonce},success:function(e){"success"==e.status&&""!=t.val()&&s(r,e,a),void 0!==e.debug&&console.log(e)},error:function(e){console.log(e)}}),""!=t.val()&&"object"==typeof o[a]){var i=o[a];s(r,i,a)}""==t.val()&&(r.find('option[value!=""]').remove(),r.val("").trigger("change"))}),jQuery('select[name="'+n+'"]').trigger("change")})});
includes/admin/assets/css/um-admin-rtl.css CHANGED
@@ -56,4 +56,16 @@
56
  .select2-container .select2-choice > .select2-chosen {
57
  margin-right: 10px !important;
58
  margin-left: 26px !important;
 
 
 
 
 
 
 
 
 
 
 
 
59
  }
56
  .select2-container .select2-choice > .select2-chosen {
57
  margin-right: 10px !important;
58
  margin-left: 26px !important;
59
+ }
60
+
61
+ .um-form-fields-section {
62
+ padding: 0 0 0 10px;
63
+ }
64
+
65
+ .um-form-fields-section {
66
+ float: right;
67
+ }
68
+
69
+ .um-form-fields-section label input {
70
+ float: right;
71
  }
includes/admin/assets/js/um-admin-forms.js CHANGED
@@ -159,7 +159,7 @@ jQuery(document).ready( function() {
159
  * On option fields change
160
  */
161
  jQuery( document.body ).on('change', '.um-forms-field', function() {
162
- if ( jQuery('.um-forms-line[data-conditional*=\'"' + jQuery(this).data('field_id') + '",\']').length > 0 ) {
163
  run_check_conditions();
164
  }
165
  });
@@ -203,16 +203,27 @@ jQuery(document).ready( function() {
203
  var value = conditional[2];
204
 
205
  var prefix = form_line.data( 'prefix' );
206
- //var prefix = form_line.parents( '.um-form-table' ).data( 'prefix' );
207
-
208
- var condition_field = jQuery( '#' + prefix + '_' + conditional[0] );
209
  var parent_condition = true;
210
- if ( typeof condition_field.parents('.um-forms-line').data('conditional') !== 'undefined' ) {
211
- parent_condition = check_condition( condition_field.parents('.um-forms-line') );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  }
213
 
214
  var own_condition = false;
215
- if ( condition == '=' ) {
216
  var tagName = condition_field.prop("tagName").toLowerCase();
217
 
218
  if ( tagName == 'input' ) {
@@ -225,7 +236,7 @@ jQuery(document).ready( function() {
225
  } else if ( tagName == 'select' ) {
226
  own_condition = ( condition_field.val() == value );
227
  }
228
- } else if ( condition == '!=' ) {
229
  var tagName = condition_field.prop("tagName").toLowerCase();
230
 
231
  if ( tagName == 'input' ) {
@@ -238,6 +249,42 @@ jQuery(document).ready( function() {
238
  } else if ( tagName == 'select' ) {
239
  own_condition = ( condition_field.val() != value );
240
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
  }
242
 
243
  return ( own_condition && parent_condition );
159
  * On option fields change
160
  */
161
  jQuery( document.body ).on('change', '.um-forms-field', function() {
162
+ if ( jQuery('.um-forms-line[data-conditional*=\'"' + jQuery(this).data('field_id') + '",\']').length > 0 || jQuery('.um-forms-line[data-conditional*=\'' + jQuery(this).data('field_id') + '|\']').length > 0 || jQuery('.um-forms-line[data-conditional*=\'|' + jQuery(this).data('field_id') + '\']').length > 0 ) {
163
  run_check_conditions();
164
  }
165
  });
203
  var value = conditional[2];
204
 
205
  var prefix = form_line.data( 'prefix' );
 
 
 
206
  var parent_condition = true;
207
+
208
+ if ( condition === '=' || condition === '!=' ) {
209
+ var condition_field = jQuery( '#' + prefix + '_' + conditional[0] );
210
+
211
+ if ( typeof condition_field.parents('.um-forms-line').data('conditional') !== 'undefined' ) {
212
+ parent_condition = check_condition( condition_field.parents('.um-forms-line') );
213
+ }
214
+ } else if ( condition === '~' ) {
215
+ var selectors = conditional[0].split('|');
216
+ var condition_fields = [];
217
+ jQuery.each( selectors, function(i) {
218
+ condition_fields.push( jQuery( '#' + prefix + '_' + selectors[i] ) );
219
+ });
220
+ if ( typeof condition_fields[0].parents('.um-forms-line').data('conditional') !== 'undefined' ) {
221
+ parent_condition = check_condition( condition_fields[0].parents('.um-forms-line') );
222
+ }
223
  }
224
 
225
  var own_condition = false;
226
+ if ( condition === '=' ) {
227
  var tagName = condition_field.prop("tagName").toLowerCase();
228
 
229
  if ( tagName == 'input' ) {
236
  } else if ( tagName == 'select' ) {
237
  own_condition = ( condition_field.val() == value );
238
  }
239
+ } else if ( condition === '!=' ) {
240
  var tagName = condition_field.prop("tagName").toLowerCase();
241
 
242
  if ( tagName == 'input' ) {
249
  } else if ( tagName == 'select' ) {
250
  own_condition = ( condition_field.val() != value );
251
  }
252
+ } else if ( condition === '~' ) {
253
+
254
+ var field_id = form_line.find( form_line.data('field_type') ).data('field_id');
255
+ var visible_options = [];
256
+ jQuery.each( condition_fields, function(i) {
257
+ var condition_field = condition_fields[ i ];
258
+
259
+ var tagName = condition_field.prop("tagName").toLowerCase();
260
+
261
+ if ( tagName === 'input' ) {
262
+ var input_type = condition_field.attr('type');
263
+ if ( input_type === 'checkbox' ) {
264
+ if ( value == '1' && condition_field.is(':checked') ) {
265
+ visible_options.push( condition_field.data( 'fill_' + field_id ) );
266
+ }
267
+ }
268
+ }
269
+ });
270
+
271
+ var lines_field = jQuery( '[data-field_id="' + field_id + '"]' );
272
+
273
+ if ( visible_options.length ) {
274
+ lines_field.find( 'option' ).hide();
275
+ jQuery.each( visible_options, function(i) {
276
+ lines_field.find( 'option[value="' + visible_options[ i ] + '"]' ).show();
277
+ });
278
+ if ( visible_options.indexOf( lines_field.val() ) === -1 ) {
279
+ lines_field.val( visible_options[0] );
280
+ lines_field.find( 'option' ).attr( 'selected', false ).prop( 'selected', false );
281
+ lines_field.find( 'option[value="' + visible_options[0] + '"]' ).attr( 'selected', true ).prop( 'selected', true );
282
+ }
283
+ own_condition = true;
284
+ } else {
285
+ lines_field.val( null );
286
+ lines_field.find( 'option' ).attr( 'selected', false ).prop( 'selected', false );
287
+ }
288
  }
289
 
290
  return ( own_condition && parent_condition );
includes/admin/assets/js/um-admin-role-wrapper.js CHANGED
@@ -1,6 +1,11 @@
1
  jQuery( document ).ready( function() {
2
 
3
  jQuery( '#role' ).change( function() {
 
 
 
 
 
4
  if ( jQuery.inArray( jQuery(this).val().substr(3), um_roles ) !== -1 ) {
5
  jQuery( '#um_role_selector_wrapper' ).hide();
6
  jQuery( '#um-role' ).val('');
@@ -10,6 +15,10 @@ jQuery( document ).ready( function() {
10
  }).trigger('change');
11
 
12
  jQuery( '#adduser-role' ).change( function() {
 
 
 
 
13
  if ( jQuery.inArray( jQuery(this).val().substr(3), um_roles ) !== -1 ) {
14
  jQuery( '#um_role_existing_selector_wrapper' ).hide();
15
  jQuery( '#um-role' ).val('');
1
  jQuery( document ).ready( function() {
2
 
3
  jQuery( '#role' ).change( function() {
4
+
5
+ if ( typeof um_roles == 'object' ) {
6
+ um_roles = Object.keys( um_roles ).map(function( key ) { return um_roles[ key ]; });
7
+ }
8
+
9
  if ( jQuery.inArray( jQuery(this).val().substr(3), um_roles ) !== -1 ) {
10
  jQuery( '#um_role_selector_wrapper' ).hide();
11
  jQuery( '#um-role' ).val('');
15
  }).trigger('change');
16
 
17
  jQuery( '#adduser-role' ).change( function() {
18
+ if ( typeof um_roles == 'object' ) {
19
+ um_roles = Object.keys( um_roles ).map(function( key ) { return um_roles[ key ]; });
20
+ }
21
+
22
  if ( jQuery.inArray( jQuery(this).val().substr(3), um_roles ) !== -1 ) {
23
  jQuery( '#um_role_existing_selector_wrapper' ).hide();
24
  jQuery( '#um-role' ).val('');
includes/admin/class-admin-functions.php CHANGED
@@ -46,23 +46,25 @@ if ( ! class_exists( 'um\admin\Admin_Functions' ) ) {
46
  global $current_screen;
47
  $screen_id = $current_screen->id;
48
 
 
 
49
  if ( strstr( $screen_id, 'ultimatemember') ||
50
  strstr( $screen_id, 'um_') ||
51
  strstr( $screen_id, 'user' ) ||
52
  strstr( $screen_id, 'profile' ) ||
53
  $screen_id == 'nav-menus' ) {
54
- return true;
55
  }
56
 
57
  if ( $this->is_plugin_post_type() ) {
58
- return true;
59
  }
60
 
61
  if ( $this->is_restricted_entity() ) {
62
- return true;
63
  }
64
 
65
- return false;
66
  }
67
 
68
 
46
  global $current_screen;
47
  $screen_id = $current_screen->id;
48
 
49
+ $is_um_screen = false;
50
+
51
  if ( strstr( $screen_id, 'ultimatemember') ||
52
  strstr( $screen_id, 'um_') ||
53
  strstr( $screen_id, 'user' ) ||
54
  strstr( $screen_id, 'profile' ) ||
55
  $screen_id == 'nav-menus' ) {
56
+ $is_um_screen = true;
57
  }
58
 
59
  if ( $this->is_plugin_post_type() ) {
60
+ $is_um_screen = true;
61
  }
62
 
63
  if ( $this->is_restricted_entity() ) {
64
+ $is_um_screen = true;
65
  }
66
 
67
+ return apply_filters( 'um_is_ultimatememeber_admin_screen', $is_um_screen );
68
  }
69
 
70
 
includes/admin/core/class-admin-builder.php CHANGED
@@ -1,9 +1,10 @@
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_Builder' ) ) {
8
 
9
 
@@ -58,32 +59,35 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
58
  switch ( $mode ) {
59
 
60
  case 'numeric':
61
- if ( !empty( $array['post'][$post_input] ) && !is_numeric( $array['post'][$post_input] ) ){
62
- $errors[$post_input] = $validate[$post_input]['error'];
63
  }
64
  break;
65
 
66
  case 'unique':
67
- if ( !isset( $array['post']['edit_mode'] ) ) {
68
- if ( UM()->builtin()->unique_field_err( $array['post'][$post_input] ) ) {
69
- $errors[$post_input] = UM()->builtin()->unique_field_err( $array['post'][$post_input] );
70
  }
71
  }
72
  break;
73
 
74
  case 'required':
75
- if ( $array['post'][$post_input] == '' )
76
- $errors[$post_input] = $validate[$post_input]['error'];
 
77
  break;
78
 
79
  case 'range-start':
80
- if ( UM()->builtin()->date_range_start_err( $array['post'][$post_input] ) && $array['post']['_range'] == 'date_range' )
81
- $errors[$post_input] = UM()->builtin()->date_range_start_err( $array['post'][$post_input] );
 
82
  break;
83
 
84
  case 'range-end':
85
- if ( UM()->builtin()->date_range_end_err( $array['post'][$post_input], $array['post']['_range_start'] ) && $array['post']['_range'] == 'date_range' )
86
- $errors[$post_input] = UM()->builtin()->date_range_end_err( $array['post'][$post_input], $array['post']['_range_start'] );
 
87
  break;
88
 
89
  }
@@ -111,45 +115,21 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
111
  */
112
  extract( $array );
113
 
114
- /**
115
- * UM hook
116
- *
117
- * @type filter
118
- * @title um_fields_without_metakey
119
- * @description Field Types without meta key
120
- * @input_vars
121
- * [{"var":"$types","type":"array","desc":"Field Types"}]
122
- * @change_log
123
- * ["Since: 2.0"]
124
- * @usage add_filter( 'um_fields_without_metakey', 'function_name', 10, 1 );
125
- * @example
126
- * <?php
127
- * add_filter( 'um_fields_without_metakey', 'my_fields_without_metakey', 10, 1 );
128
- * function my_fields_without_metakey( $types ) {
129
- * // your code here
130
- * return $types;
131
- * }
132
- * ?>
133
- */
134
- $fields_without_metakey = apply_filters( 'um_fields_without_metakey', array(
135
- 'block',
136
- 'shortcode',
137
- 'spacing',
138
- 'divider',
139
- 'group'
140
- ) );
141
-
142
- $fields = UM()->query()->get_attr('custom_fields', $form_id);
143
  $count = 1;
144
- if ( isset( $fields ) && !empty( $fields) ) $count = count($fields)+1;
 
 
145
 
146
  // set unique meta key
147
- if ( in_array( $field_type, $fields_without_metakey ) && !isset($array['post']['_metakey']) ) {
148
  $array['post']['_metakey'] = "um_{$field_type}_{$form_id}_{$count}";
149
  }
150
 
151
  // set position
152
- if ( !isset( $array['post']['_position'] ) ) {
153
  $array['post']['_position'] = $count;
154
  }
155
 
@@ -166,27 +146,27 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
166
  */
167
  function um_admin_pre_save_field_to_form( $array ){
168
  unset( $array['conditions'] );
169
- if ( isset($array['conditional_field']) && !empty( $array['conditional_action'] ) && !empty( $array['conditional_operator'] ) ) {
170
  $array['conditional_value'] = isset( $array['conditional_value'] ) ? $array['conditional_value'] : '';
171
  $array['conditions'][] = array( $array['conditional_action'], $array['conditional_field'], $array['conditional_operator'], $array['conditional_value'] );
172
  }
173
 
174
- if ( isset($array['conditional_field1']) && !empty( $array['conditional_action1'] ) && !empty( $array['conditional_operator1'] ) ) {
175
  $array['conditional_value1'] = isset( $array['conditional_value1'] ) ? $array['conditional_value1'] : '';
176
  $array['conditions'][] = array( $array['conditional_action1'], $array['conditional_field1'], $array['conditional_operator1'], $array['conditional_value1'] );
177
  }
178
 
179
- if ( isset($array['conditional_field2']) && !empty( $array['conditional_action2'] ) && !empty( $array['conditional_operator2'] ) ) {
180
  $array['conditional_value2'] = isset( $array['conditional_value2'] ) ? $array['conditional_value2'] : '';
181
  $array['conditions'][] = array( $array['conditional_action2'], $array['conditional_field2'], $array['conditional_operator2'], $array['conditional_value2'] );
182
  }
183
 
184
- if ( isset($array['conditional_field3']) && !empty( $array['conditional_action3'] ) && !empty( $array['conditional_operator3'] ) ) {
185
  $array['conditional_value3'] = isset( $array['conditional_value3'] ) ? $array['conditional_value3'] : '';
186
  $array['conditions'][] = array( $array['conditional_action3'], $array['conditional_field3'], $array['conditional_operator3'], $array['conditional_value3'] );
187
  }
188
 
189
- if ( isset($array['conditional_field4']) && !empty( $array['conditional_action4'] ) && !empty( $array['conditional_operator4'] ) ) {
190
  $array['conditional_value4'] = isset( $array['conditional_value4'] ) ? $array['conditional_value4'] : '';
191
  $array['conditions'][] = array( $array['conditional_action4'], $array['conditional_field4'], $array['conditional_operator4'], $array['conditional_value4'] );
192
  }
@@ -224,25 +204,25 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
224
  <div class="um-admin-btn-toggle">
225
 
226
  <?php if ( $in_edit ) { $metabox->in_edit = true; $metabox->edit_array = $edit_array; ?>
227
- <a href="#"><i class="um-icon-plus"></i><?php _e( 'Manage conditional fields support' ); ?></a> <?php UM()->tooltip( __( 'Here you can setup conditional logic to show/hide this field based on specific fields value or conditions', 'ultimate-member' ) ); ?>
228
  <?php } else { ?>
229
- <a href="#"><i class="um-icon-plus"></i><?php _e( 'Add conditional fields support' ); ?></a> <?php UM()->tooltip( __( 'Here you can setup conditional logic to show/hide this field based on specific fields value or conditions', 'ultimate-member' ) ); ?>
230
  <?php } ?>
231
 
232
  <div class="um-admin-btn-content">
233
- <div class="um-admin-cur-condition-template">
234
 
235
  <?php $metabox->field_input( '_conditional_action', $form_id ); ?>
236
  <?php $metabox->field_input( '_conditional_field', $form_id ); ?>
237
  <?php $metabox->field_input( '_conditional_operator', $form_id ); ?>
238
  <?php $metabox->field_input( '_conditional_value', $form_id ); ?>
239
 
240
- <p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>
241
 
242
- <div class="um-admin-clear"></div>
243
- </div>
244
- <p><a href="#" class="um-admin-new-condition button button-primary um-admin-tipsy-n" title="Add new condition"><?php _e( 'Add new rule', 'ultimate-member' ); ?></a></p>
245
- <p class="um-admin-reset-conditions"><a href="#" class="button"><?php _e( 'Reset all rules', 'ultimate-member' ); ?></a></p>
246
  <div class="um-admin-clear"></div>
247
 
248
  <?php if ( isset( $edit_array['conditions'] ) && count( $edit_array['conditions'] ) != 0 ) {
@@ -258,7 +238,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
258
  <?php $metabox->field_input( '_conditional_operator' . $k, $form_id ); ?>
259
  <?php $metabox->field_input( '_conditional_value' . $k, $form_id ); ?>
260
 
261
- <p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>
262
 
263
  <div class="um-admin-clear"></div>
264
  </div>
@@ -275,7 +255,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
275
  <?php $metabox->field_input( '_conditional_operator', $form_id ); ?>
276
  <?php $metabox->field_input( '_conditional_value', $form_id ); ?>
277
 
278
- <p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>
279
 
280
  <div class="um-admin-clear"></div>
281
  </div>
@@ -308,7 +288,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
308
 
309
  $output = ob_get_clean();
310
 
311
- if(is_array($output)){ print_r($output); }else{ echo $output; } die;
 
 
 
 
 
312
  }
313
 
314
 
@@ -399,19 +384,20 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
399
 
400
  <!-- Master Row Actions -->
401
  <div class="um-admin-drag-row-icons">
402
- <a href="#" class="um-admin-drag-rowsub-add um-admin-tipsy-n" title="<?php _e('Add Row','ultimate-member'); ?>" data-row_action="add_subrow"><i class="um-icon-plus"></i></a>
403
- <a href="#" class="um-admin-drag-row-edit um-admin-tipsy-n" title="<?php _e('Edit Row','ultimate-member'); ?>" data-modal="UM_edit_row" data-modal-size="normal" data-dynamic-content="um_admin_edit_field_popup" data-arg1="row" data-arg2="<?php echo $this->form_id; ?>" data-arg3="_um_row_1"><i class="um-faicon-pencil"></i></a>
404
  <span class="um-admin-drag-row-start"><i class="um-icon-arrow-move"></i></span>
405
- </div><div class="um-admin-clear"></div>
 
406
 
407
  <div class="um-admin-drag-rowsubs">
408
  <div class="um-admin-drag-rowsub">
409
 
410
  <!-- Column Layout -->
411
  <div class="um-admin-drag-ctrls columns">
412
- <a href="#" class="active" data-cols="1"></a>
413
- <a href="#" data-cols="2"></a>
414
- <a href="#" data-cols="3"></a>
415
  </div>
416
 
417
  <!-- Sub Row Actions -->
@@ -437,54 +423,51 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
437
 
438
  } else {
439
 
440
- if( empty( $fields) || ! is_array( $fields ) ){
441
  $this->global_fields = array();
442
- }else{
443
  $this->global_fields = $fields;
444
  }
445
 
446
- foreach( $this->global_fields as $key => $array ) {
447
  if ( $array['type'] == 'row' ) {
448
- $rows[$key] = $array;
449
  unset( $this->global_fields[ $key ] ); // not needed now
450
  }
451
 
452
  }
453
 
454
- if ( !isset( $rows ) ){
455
- $rows = array( '_um_row_1' => array(
456
- 'type' => 'row',
457
- 'id' => '_um_row_1',
458
- 'sub_rows' => 1,
459
- 'cols' => 1
460
- )
 
461
  );
462
  }
463
 
464
- foreach ( $rows as $row_id => $array ) {
465
-
466
- ?>
467
 
468
- <div class="um-admin-drag-row" data-original="<?php echo $row_id; ?>">
469
 
470
  <!-- Master Row Actions -->
471
  <div class="um-admin-drag-row-icons">
472
- <a href="#" class="um-admin-drag-rowsub-add um-admin-tipsy-n" title="<?php _e('Add Row','ultimate-member'); ?>" data-row_action="add_subrow"><i class="um-icon-plus"></i></a>
473
- <a href="#" class="um-admin-drag-row-edit um-admin-tipsy-n" title="<?php _e('Edit Row','ultimate-member'); ?>" data-modal="UM_edit_row" data-modal-size="normal" data-dynamic-content="um_admin_edit_field_popup" data-arg1="row" data-arg2="<?php echo $this->form_id; ?>" data-arg3="<?php echo $row_id; ?>"><i class="um-faicon-pencil"></i></a>
474
  <span class="um-admin-drag-row-start"><i class="um-icon-arrow-move"></i></span>
475
  <?php if ( $row_id != '_um_row_1' ) {?>
476
- <a href="#" class="um-admin-tipsy-n" title="<?php _e('Delete Row','ultimate-member'); ?>" data-remove_element="um-admin-drag-row"><i class="um-faicon-trash-o"></i></a>
477
  <?php } ?>
478
  </div><div class="um-admin-clear"></div>
479
 
480
  <div class="um-admin-drag-rowsubs">
481
 
482
- <?php
483
-
484
- $row_fields = $this->get_fields_by_row( $row_id );
485
 
486
  $sub_rows = ( isset( $array['sub_rows'] ) ) ? $array['sub_rows'] : 1;
487
- for( $c = 0; $c < $sub_rows; $c++ ) {
488
 
489
  $subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
490
 
@@ -507,7 +490,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
507
  }
508
 
509
  for ( $i = 1; $i <= 3; $i++ ) {
510
- echo '<a href="#" data-cols="'.$i.'" ';
511
  if ( $col_num == $i ) echo 'class="active"';
512
  echo '></a>';
513
  }
@@ -519,8 +502,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
519
  <!-- Sub Row Actions -->
520
  <div class="um-admin-drag-rowsub-icons">
521
  <span class="um-admin-drag-rowsub-start"><i class="um-icon-arrow-move"></i></span>
522
- <?php if ( $c > 0 ) { ?><a href="#" class="um-admin-tipsy-n" title="Delete Row" data-remove_element="um-admin-drag-rowsub"><i class="um-faicon-trash-o"></i></a><?php } ?>
523
- </div><div class="um-admin-clear"></div>
 
524
 
525
  <!-- Columns -->
526
  <div class="um-admin-drag-col">
@@ -532,6 +516,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
532
  $subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position');
533
 
534
  foreach( $subrow_fields as $key => $keyarray ) {
 
 
 
 
535
  extract( $keyarray );
536
 
537
  ?>
@@ -548,16 +536,16 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
548
  <div class="um-admin-drag-fld-type um-field-type-<?php echo $type; ?>"><?php echo $field_name; ?></div>
549
  <div class="um-admin-drag-fld-icons um-field-type-<?php echo $type; ?>">
550
 
551
- <a href="#" class="um-admin-tipsy-n" title="Edit" data-modal="UM_edit_field" data-modal-size="normal" data-dynamic-content="um_admin_edit_field_popup" data-arg1="<?php echo $type; ?>" data-arg2="<?php echo $this->form_id; ?>" data-arg3="<?php echo $key; ?>"><i class="um-faicon-pencil"></i></a>
552
 
553
- <a href="#" class="um-admin-tipsy-n um_admin_duplicate_field" title="Duplicate" data-silent_action="um_admin_duplicate_field" data-arg1="<?php echo $key; ?>" data-arg2="<?php echo $this->form_id; ?>"><i class="um-faicon-files-o"></i></a>
554
 
555
  <?php if ( $type == 'group' ) { ?>
556
 
557
- <a href="#" class="um-admin-tipsy-n" title="Delete Group" data-remove_element="um-admin-drag-fld.um-field-type-group" data-silent_action="um_admin_remove_field" data-arg1="<?php echo $key; ?>" data-arg2="<?php echo $this->form_id; ?>"><i class="um-faicon-trash-o"></i></a>
558
  <?php } else { ?>
559
 
560
- <a href="#" class="um-admin-tipsy-n" title="Delete" data-silent_action="um_admin_remove_field" data-arg1="<?php echo $key; ?>" data-arg2="<?php echo $this->form_id; ?>"><i class="um-faicon-trash-o"></i></a>
561
 
562
  <?php } ?>
563
 
@@ -666,6 +654,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
666
  */
667
  $output['error'] = apply_filters( 'um_admin_field_update_error_handling', $output['error'], $array );
668
 
 
 
 
 
669
  extract( $array['post'] );
670
 
671
  if ( empty( $output['error'] ) ){
@@ -830,12 +822,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
830
  ob_start(); ?>
831
 
832
  <div class="um-admin-metabox">
833
- <p class="_icon_search"><input type="text" name="_icon_search" id="_icon_search" value="" placeholder="<?php _e('Search Icons...','ultimate-member'); ?>" /></p>
834
  </div>
835
 
836
  <div class="um-admin-icons">
837
  <?php foreach( UM()->fonticons()->all as $icon ) { ?>
838
- <span data-code="<?php echo $icon; ?>" title="<?php echo $icon; ?>" class="um-admin-tipsy-n"><i class="<?php echo $icon; ?>"></i></span>
839
  <?php } ?>
840
  </div><div class="um-admin-clear"></div>
841
 
@@ -853,31 +845,35 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
853
  <h4><?php _e('Setup New Field','ultimate-member'); ?></h4>
854
  <div class="um-admin-btns">
855
 
856
- <?php
857
- if ( UM()->builtin()->core_fields ) {
858
  foreach ( UM()->builtin()->core_fields as $field_type => $array ) {
859
 
860
- if ( isset( $array['in_fields'] ) && $array['in_fields'] == false ) { } else {
861
- ?>
 
862
 
863
- <a href="#" class="button" data-modal="UM_add_field" data-modal-size="normal" data-dynamic-content="um_admin_new_field_popup" data-arg1="<?php echo $field_type; ?>" data-arg2="<?php echo $arg2 ?>"><?php echo $array['name']; ?></a>
864
 
865
- <?php } } } ?>
 
866
 
867
  </div>
868
 
869
  <h4><?php _e('Predefined Fields','ultimate-member'); ?></h4>
870
  <div class="um-admin-btns">
871
 
872
- <?php
873
- if ( UM()->builtin()->predefined_fields ) {
874
  foreach ( UM()->builtin()->predefined_fields as $field_key => $array ) {
875
 
876
- if ( !isset( $array['account_only'] ) && !isset( $array['private_use'] ) ) {?>
877
 
878
- <a href="#" class="button" <?php disabled( in_array( $field_key, $form_fields, true ) ) ?> data-silent_action="um_admin_add_field_from_predefined" data-arg1="<?php echo $field_key; ?>" data-arg2="<?php echo $arg2; ?>"><?php echo um_trim_string( stripslashes( $array['title'] ), 20 ); ?></a>
879
 
880
- <?php } } } else { echo '<p>' . __('None','ultimate-member') . '</p>'; } ?>
 
 
 
 
881
 
882
  </div>
883
 
@@ -886,13 +882,14 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
886
 
887
  <?php
888
  if ( UM()->builtin()->custom_fields ) {
889
- foreach ( UM()->builtin()->custom_fields as $field_key => $array ) {
890
-
891
- ?>
892
 
893
- <a href="#" class="button with-icon" <?php disabled( in_array( $field_key, $form_fields, true ) ) ?> data-silent_action="um_admin_add_field_from_list" data-arg1="<?php echo $field_key; ?>" data-arg2="<?php echo $arg2; ?>"><?php echo um_trim_string( stripslashes( $array['title'] ), 20 ); ?> <small>(<?php echo ucfirst( $array['type']); ?>)</small><span class="remove"></span></a>
894
 
895
- <?php } } else { echo '<p>' . __('You did not create any custom fields', 'ultimate-member') . '</p>'; } ?>
 
 
 
896
 
897
  </div>
898
 
@@ -921,9 +918,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
921
 
922
  extract( $args );
923
 
924
- if ( !isset( $col1 ) ) {
925
 
926
- echo '<p>'. __('This field type is not setup correcty.', 'ultimate-member') . '</p>';
927
 
928
  } else {
929
 
@@ -1014,13 +1011,13 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
1014
 
1015
  <div class="um-admin-half">
1016
 
1017
- <?php if ( isset( $col1 ) ) { foreach( $col1 as $opt ) $metabox->field_input ( $opt ); } ?>
1018
 
1019
  </div>
1020
 
1021
  <div class="um-admin-half um-admin-right">
1022
 
1023
- <?php if ( isset( $col2 ) ) { foreach( $col2 as $opt ) $metabox->field_input ( $opt ); } ?>
1024
 
1025
  </div><div class="um-admin-clear"></div>
1026
 
@@ -1028,7 +1025,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
1028
 
1029
  <div class="um-admin-clear"></div>
1030
 
1031
- <?php if ( isset( $col_full ) ) {foreach( $col_full as $opt ) $metabox->field_input ( $opt ); } ?>
1032
 
1033
  <?php $this->modal_footer( $arg2, $args, $metabox ); ?>
1034
 
1
  <?php
2
  namespace um\admin\core;
3
 
4
+
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
+
8
  if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
9
 
10
 
59
  switch ( $mode ) {
60
 
61
  case 'numeric':
62
+ if ( ! empty( $array['post'][ $post_input ] ) && ! is_numeric( $array['post'][ $post_input ] ) ){
63
+ $errors[ $post_input ] = $validate[ $post_input ]['error'];
64
  }
65
  break;
66
 
67
  case 'unique':
68
+ if ( ! isset( $array['post']['edit_mode'] ) ) {
69
+ if ( UM()->builtin()->unique_field_err( $array['post'][ $post_input ] ) ) {
70
+ $errors[ $post_input ] = UM()->builtin()->unique_field_err( $array['post'][ $post_input ] );
71
  }
72
  }
73
  break;
74
 
75
  case 'required':
76
+ if ( $array['post'][ $post_input ] == '' ) {
77
+ $errors[ $post_input ] = $validate[ $post_input ]['error'];
78
+ }
79
  break;
80
 
81
  case 'range-start':
82
+ if ( UM()->builtin()->date_range_start_err( $array['post'][ $post_input ] ) && $array['post']['_range'] == 'date_range' ) {
83
+ $errors[ $post_input ] = UM()->builtin()->date_range_start_err( $array['post'][ $post_input ] );
84
+ }
85
  break;
86
 
87
  case 'range-end':
88
+ if ( UM()->builtin()->date_range_end_err( $array['post'][ $post_input ], $array['post']['_range_start'] ) && $array['post']['_range'] == 'date_range' ) {
89
+ $errors[ $post_input ] = UM()->builtin()->date_range_end_err( $array['post'][ $post_input ], $array['post']['_range_start'] );
90
+ }
91
  break;
92
 
93
  }
115
  */
116
  extract( $array );
117
 
118
+ $fields_without_metakey = UM()->builtin()->get_fields_without_metakey();
119
+
120
+ $fields = UM()->query()->get_attr( 'custom_fields', $form_id );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  $count = 1;
122
+ if ( ! empty( $fields ) ) {
123
+ $count = count( $fields ) + 1;
124
+ }
125
 
126
  // set unique meta key
127
+ if ( in_array( $field_type, $fields_without_metakey ) && ! isset( $array['post']['_metakey'] ) ) {
128
  $array['post']['_metakey'] = "um_{$field_type}_{$form_id}_{$count}";
129
  }
130
 
131
  // set position
132
+ if ( ! isset( $array['post']['_position'] ) ) {
133
  $array['post']['_position'] = $count;
134
  }
135
 
146
  */
147
  function um_admin_pre_save_field_to_form( $array ){
148
  unset( $array['conditions'] );
149
+ if ( isset($array['conditional_field']) && ! empty( $array['conditional_action'] ) && ! empty( $array['conditional_operator'] ) ) {
150
  $array['conditional_value'] = isset( $array['conditional_value'] ) ? $array['conditional_value'] : '';
151
  $array['conditions'][] = array( $array['conditional_action'], $array['conditional_field'], $array['conditional_operator'], $array['conditional_value'] );
152
  }
153
 
154
+ if ( isset( $array['conditional_field1'] ) && ! empty( $array['conditional_action1'] ) && ! empty( $array['conditional_operator1'] ) ) {
155
  $array['conditional_value1'] = isset( $array['conditional_value1'] ) ? $array['conditional_value1'] : '';
156
  $array['conditions'][] = array( $array['conditional_action1'], $array['conditional_field1'], $array['conditional_operator1'], $array['conditional_value1'] );
157
  }
158
 
159
+ if ( isset( $array['conditional_field2'] ) && ! empty( $array['conditional_action2'] ) && ! empty( $array['conditional_operator2'] ) ) {
160
  $array['conditional_value2'] = isset( $array['conditional_value2'] ) ? $array['conditional_value2'] : '';
161
  $array['conditions'][] = array( $array['conditional_action2'], $array['conditional_field2'], $array['conditional_operator2'], $array['conditional_value2'] );
162
  }
163
 
164
+ if ( isset( $array['conditional_field3'] ) && ! empty( $array['conditional_action3'] ) && ! empty( $array['conditional_operator3'] ) ) {
165
  $array['conditional_value3'] = isset( $array['conditional_value3'] ) ? $array['conditional_value3'] : '';
166
  $array['conditions'][] = array( $array['conditional_action3'], $array['conditional_field3'], $array['conditional_operator3'], $array['conditional_value3'] );
167
  }
168
 
169
+ if ( isset( $array['conditional_field4'] ) && ! empty( $array['conditional_action4'] ) && ! empty( $array['conditional_operator4'] ) ) {
170
  $array['conditional_value4'] = isset( $array['conditional_value4'] ) ? $array['conditional_value4'] : '';
171
  $array['conditions'][] = array( $array['conditional_action4'], $array['conditional_field4'], $array['conditional_operator4'], $array['conditional_value4'] );
172
  }
204
  <div class="um-admin-btn-toggle">
205
 
206
  <?php if ( $in_edit ) { $metabox->in_edit = true; $metabox->edit_array = $edit_array; ?>
207
+ <a href="javascript:void(0);"><i class="um-icon-plus"></i><?php _e( 'Manage conditional fields support' ); ?></a> <?php UM()->tooltip( __( 'Here you can setup conditional logic to show/hide this field based on specific fields value or conditions', 'ultimate-member' ) ); ?>
208
  <?php } else { ?>
209
+ <a href="javascript:void(0);"><i class="um-icon-plus"></i><?php _e( 'Add conditional fields support' ); ?></a> <?php UM()->tooltip( __( 'Here you can setup conditional logic to show/hide this field based on specific fields value or conditions', 'ultimate-member' ) ); ?>
210
  <?php } ?>
211
 
212
  <div class="um-admin-btn-content">
213
+ <div class="um-admin-cur-condition-template">
214
 
215
  <?php $metabox->field_input( '_conditional_action', $form_id ); ?>
216
  <?php $metabox->field_input( '_conditional_field', $form_id ); ?>
217
  <?php $metabox->field_input( '_conditional_operator', $form_id ); ?>
218
  <?php $metabox->field_input( '_conditional_value', $form_id ); ?>
219
 
220
+ <p><a href="javascript:void(0);" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>
221
 
222
+ <div class="um-admin-clear"></div>
223
+ </div>
224
+ <p><a href="javascript:void(0);" class="um-admin-new-condition button button-primary um-admin-tipsy-n" title="Add new condition"><?php _e( 'Add new rule', 'ultimate-member' ); ?></a></p>
225
+ <p class="um-admin-reset-conditions"><a href="javascript:void(0);" class="button"><?php _e( 'Reset all rules', 'ultimate-member' ); ?></a></p>
226
  <div class="um-admin-clear"></div>
227
 
228
  <?php if ( isset( $edit_array['conditions'] ) && count( $edit_array['conditions'] ) != 0 ) {
238
  <?php $metabox->field_input( '_conditional_operator' . $k, $form_id ); ?>
239
  <?php $metabox->field_input( '_conditional_value' . $k, $form_id ); ?>
240
 
241
+ <p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>
242
 
243
  <div class="um-admin-clear"></div>
244
  </div>
255
  <?php $metabox->field_input( '_conditional_operator', $form_id ); ?>
256
  <?php $metabox->field_input( '_conditional_value', $form_id ); ?>
257
 
258
+ <p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>
259
 
260
  <div class="um-admin-clear"></div>
261
  </div>
288
 
289
  $output = ob_get_clean();
290
 
291
+ if ( is_array( $output ) ) {
292
+ print_r( $output );
293
+ } else {
294
+ echo $output;
295
+ }
296
+ die;
297
  }
298
 
299
 
384
 
385
  <!-- Master Row Actions -->
386
  <div class="um-admin-drag-row-icons">
387
+ <a href="javascript:void(0);" class="um-admin-drag-rowsub-add um-admin-tipsy-n" title="<?php esc_attr_e( 'Add Row', 'ultimate-member' ); ?>" data-row_action="add_subrow"><i class="um-icon-plus"></i></a>
388
+ <a href="javascript:void(0);" class="um-admin-drag-row-edit um-admin-tipsy-n" title="<?php esc_attr_e( 'Edit Row', 'ultimate-member' ); ?>" data-modal="UM_edit_row" data-modal-size="normal" data-dynamic-content="um_admin_edit_field_popup" data-arg1="row" data-arg2="<?php echo esc_attr( $this->form_id ); ?>" data-arg3="_um_row_1"><i class="um-faicon-pencil"></i></a>
389
  <span class="um-admin-drag-row-start"><i class="um-icon-arrow-move"></i></span>
390
+ </div>
391
+ <div class="um-admin-clear"></div>
392
 
393
  <div class="um-admin-drag-rowsubs">
394
  <div class="um-admin-drag-rowsub">
395
 
396
  <!-- Column Layout -->
397
  <div class="um-admin-drag-ctrls columns">
398
+ <a href="javascript:void(0);" class="active" data-cols="1"></a>
399
+ <a href="javascript:void(0);" data-cols="2"></a>
400
+ <a href="javascript:void(0);" data-cols="3"></a>
401
  </div>
402
 
403
  <!-- Sub Row Actions -->
423
 
424
  } else {
425
 
426
+ if ( empty( $fields ) || ! is_array( $fields ) ) {
427
  $this->global_fields = array();
428
+ } else {
429
  $this->global_fields = $fields;
430
  }
431
 
432
+ foreach ( $this->global_fields as $key => $array ) {
433
  if ( $array['type'] == 'row' ) {
434
+ $rows[ $key ] = $array;
435
  unset( $this->global_fields[ $key ] ); // not needed now
436
  }
437
 
438
  }
439
 
440
+ if ( ! isset( $rows ) ) {
441
+ $rows = array(
442
+ '_um_row_1' => array(
443
+ 'type' => 'row',
444
+ 'id' => '_um_row_1',
445
+ 'sub_rows' => 1,
446
+ 'cols' => 1
447
+ ),
448
  );
449
  }
450
 
451
+ foreach ( $rows as $row_id => $array ) { ?>
 
 
452
 
453
+ <div class="um-admin-drag-row" data-original="<?php echo esc_attr( $row_id ); ?>">
454
 
455
  <!-- Master Row Actions -->
456
  <div class="um-admin-drag-row-icons">
457
+ <a href="javascript:void(0);" class="um-admin-drag-rowsub-add um-admin-tipsy-n" title="<?php esc_attr_e( 'Add Row', 'ultimate-member' ); ?>" data-row_action="add_subrow"><i class="um-icon-plus"></i></a>
458
+ <a href="javascript:void(0);" class="um-admin-drag-row-edit um-admin-tipsy-n" title="<?php esc_attr_e( 'Edit Row', 'ultimate-member'); ?>" data-modal="UM_edit_row" data-modal-size="normal" data-dynamic-content="um_admin_edit_field_popup" data-arg1="row" data-arg2="<?php echo esc_attr( $this->form_id ); ?>" data-arg3="<?php echo esc_attr( $row_id ); ?>"><i class="um-faicon-pencil"></i></a>
459
  <span class="um-admin-drag-row-start"><i class="um-icon-arrow-move"></i></span>
460
  <?php if ( $row_id != '_um_row_1' ) {?>
461
+ <a href="javascript:void(0);" class="um-admin-tipsy-n" title="<?php esc_attr_e( 'Delete Row', 'ultimate-member' ); ?>" data-remove_element="um-admin-drag-row"><i class="um-faicon-trash-o"></i></a>
462
  <?php } ?>
463
  </div><div class="um-admin-clear"></div>
464
 
465
  <div class="um-admin-drag-rowsubs">
466
 
467
+ <?php $row_fields = $this->get_fields_by_row( $row_id );
 
 
468
 
469
  $sub_rows = ( isset( $array['sub_rows'] ) ) ? $array['sub_rows'] : 1;
470
+ for ( $c = 0; $c < $sub_rows; $c++ ) {
471
 
472
  $subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
473
 
490
  }
491
 
492
  for ( $i = 1; $i <= 3; $i++ ) {
493
+ echo '<a href="javascript:void(0);" data-cols="'.$i.'" ';
494
  if ( $col_num == $i ) echo 'class="active"';
495
  echo '></a>';
496
  }
502
  <!-- Sub Row Actions -->
503
  <div class="um-admin-drag-rowsub-icons">
504
  <span class="um-admin-drag-rowsub-start"><i class="um-icon-arrow-move"></i></span>
505
+ <?php if ( $c > 0 ) { ?><a href="javascript:void(0);" class="um-admin-tipsy-n" title="Delete Row" data-remove_element="um-admin-drag-rowsub"><i class="um-faicon-trash-o"></i></a><?php } ?>
506
+ </div>
507
+ <div class="um-admin-clear"></div>
508
 
509
  <!-- Columns -->
510
  <div class="um-admin-drag-col">
516
  $subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position');
517
 
518
  foreach( $subrow_fields as $key => $keyarray ) {
519
+ /**
520
+ * @var $type
521
+ * @var $title
522
+ */
523
  extract( $keyarray );
524
 
525
  ?>
536
  <div class="um-admin-drag-fld-type um-field-type-<?php echo $type; ?>"><?php echo $field_name; ?></div>
537
  <div class="um-admin-drag-fld-icons um-field-type-<?php echo $type; ?>">
538
 
539
+ <a href="javascript:void(0);" class="um-admin-tipsy-n" title="Edit" data-modal="UM_edit_field" data-modal-size="normal" data-dynamic-content="um_admin_edit_field_popup" data-arg1="<?php echo $type; ?>" data-arg2="<?php echo $this->form_id; ?>" data-arg3="<?php echo $key; ?>"><i class="um-faicon-pencil"></i></a>
540
 
541
+ <a href="javascript:void(0);" class="um-admin-tipsy-n um_admin_duplicate_field" title="Duplicate" data-silent_action="um_admin_duplicate_field" data-arg1="<?php echo $key; ?>" data-arg2="<?php echo $this->form_id; ?>"><i class="um-faicon-files-o"></i></a>
542
 
543
  <?php if ( $type == 'group' ) { ?>
544
 
545
+ <a href="javascript:void(0);" class="um-admin-tipsy-n" title="Delete Group" data-remove_element="um-admin-drag-fld.um-field-type-group" data-silent_action="um_admin_remove_field" data-arg1="<?php echo $key; ?>" data-arg2="<?php echo $this->form_id; ?>"><i class="um-faicon-trash-o"></i></a>
546
  <?php } else { ?>
547
 
548
+ <a href="javascript:void(0);" class="um-admin-tipsy-n" title="Delete" data-silent_action="um_admin_remove_field" data-arg1="<?php echo $key; ?>" data-arg2="<?php echo $this->form_id; ?>"><i class="um-faicon-trash-o"></i></a>
549
 
550
  <?php } ?>
551
 
654
  */
655
  $output['error'] = apply_filters( 'um_admin_field_update_error_handling', $output['error'], $array );
656
 
657
+ /**
658
+ * @var $_metakey
659
+ * @var $post_id
660
+ */
661
  extract( $array['post'] );
662
 
663
  if ( empty( $output['error'] ) ){
822
  ob_start(); ?>
823
 
824
  <div class="um-admin-metabox">
825
+ <p class="_icon_search"><input type="text" name="_icon_search" id="_icon_search" value="" placeholder="<?php esc_attr_e('Search Icons...', 'ultimate-member' ); ?>" /></p>
826
  </div>
827
 
828
  <div class="um-admin-icons">
829
  <?php foreach( UM()->fonticons()->all as $icon ) { ?>
830
+ <span data-code="<?php echo esc_attr( $icon ); ?>" title="<?php echo esc_attr( $icon ); ?>" class="um-admin-tipsy-n"><i class="<?php echo $icon; ?>"></i></span>
831
  <?php } ?>
832
  </div><div class="um-admin-clear"></div>
833
 
845
  <h4><?php _e('Setup New Field','ultimate-member'); ?></h4>
846
  <div class="um-admin-btns">
847
 
848
+ <?php if ( UM()->builtin()->core_fields ) {
 
849
  foreach ( UM()->builtin()->core_fields as $field_type => $array ) {
850
 
851
+ if ( isset( $array['in_fields'] ) && $array['in_fields'] == false ) {
852
+ continue;
853
+ } ?>
854
 
855
+ <a href="javascript:void(0);" class="button" data-modal="UM_add_field" data-modal-size="normal" data-dynamic-content="um_admin_new_field_popup" data-arg1="<?php echo esc_attr( $field_type ); ?>" data-arg2="<?php echo esc_attr( $arg2 ) ?>"><?php echo esc_html( $array['name'] ); ?></a>
856
 
857
+ <?php }
858
+ } ?>
859
 
860
  </div>
861
 
862
  <h4><?php _e('Predefined Fields','ultimate-member'); ?></h4>
863
  <div class="um-admin-btns">
864
 
865
+ <?php if ( UM()->builtin()->predefined_fields ) {
 
866
  foreach ( UM()->builtin()->predefined_fields as $field_key => $array ) {
867
 
868
+ if ( ! isset( $array['account_only'] ) && ! isset( $array['private_use'] ) ) { ?>
869
 
870
+ <a href="javascript:void(0);" class="button" <?php disabled( in_array( $field_key, $form_fields, true ) ) ?> data-silent_action="um_admin_add_field_from_predefined" data-arg1="<?php echo esc_attr( $field_key ); ?>" data-arg2="<?php echo esc_attr( $arg2 ); ?>"><?php echo um_trim_string( stripslashes( $array['title'] ), 20 ); ?></a>
871
 
872
+ <?php }
873
+ }
874
+ } else {
875
+ echo '<p>' . __( 'None', 'ultimate-member' ) . '</p>';
876
+ } ?>
877
 
878
  </div>
879
 
882
 
883
  <?php
884
  if ( UM()->builtin()->custom_fields ) {
885
+ foreach ( UM()->builtin()->custom_fields as $field_key => $array ) { ?>
 
 
886
 
887
+ <a href="javascript:void(0);" class="button with-icon" <?php disabled( in_array( $field_key, $form_fields, true ) ) ?> data-silent_action="um_admin_add_field_from_list" data-arg1="<?php echo esc_attr( $field_key ); ?>" data-arg2="<?php echo esc_attr( $arg2 ); ?>"><?php echo um_trim_string( stripslashes( $array['title'] ), 20 ); ?> <small>(<?php echo ucfirst( $array['type']); ?>)</small><span class="remove"></span></a>
888
 
889
+ <?php }
890
+ } else {
891
+ echo '<p>' . __( 'You did not create any custom fields', 'ultimate-member' ) . '</p>';
892
+ } ?>
893
 
894
  </div>
895
 
918
 
919
  extract( $args );
920
 
921
+ if ( ! isset( $col1 ) ) {
922
 
923
+ echo '<p>'. __( 'This field type is not setup correcty.', 'ultimate-member' ) . '</p>';
924
 
925
  } else {
926
 
1011
 
1012
  <div class="um-admin-half">
1013
 
1014
+ <?php if ( isset( $col1 ) ) { foreach( $col1 as $opt ) $metabox->field_input ( $opt ); } ?>
1015
 
1016
  </div>
1017
 
1018
  <div class="um-admin-half um-admin-right">
1019
 
1020
+ <?php if ( isset( $col2 ) ) { foreach( $col2 as $opt ) $metabox->field_input ( $opt ); } ?>
1021
 
1022
  </div><div class="um-admin-clear"></div>
1023
 
1025
 
1026
  <div class="um-admin-clear"></div>
1027
 
1028
+ <?php if ( isset( $col_full ) ) { foreach( $col_full as $opt ) $metabox->field_input ( $opt ); } ?>
1029
 
1030
  <?php $this->modal_footer( $arg2, $args, $metabox ); ?>
1031
 
includes/admin/core/class-admin-columns.php CHANGED
@@ -1,9 +1,10 @@
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_Columns' ) ) {
8
 
9
 
@@ -98,7 +99,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Columns' ) ) {
98
  function post_row_actions( $actions, $post ) {
99
  //check for your post type
100
  if ( $post->post_type == "um_form" ) {
101
- $actions['um_duplicate'] = '<a href="' . $this->duplicate_uri( $post->ID ) . '">' . __( 'Duplicate', 'ultimate-member' ) . '</a>';
102
  }
103
  return $actions;
104
  }
1
  <?php
2
  namespace um\admin\core;
3
 
4
+
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
+
8
  if ( ! class_exists( 'um\admin\core\Admin_Columns' ) ) {
9
 
10
 
99
  function post_row_actions( $actions, $post ) {
100
  //check for your post type
101
  if ( $post->post_type == "um_form" ) {
102
+ $actions['um_duplicate'] = '<a href="' . esc_url( $this->duplicate_uri( $post->ID ) ) . '">' . __( 'Duplicate', 'ultimate-member' ) . '</a>';
103
  }
104
  return $actions;
105
  }
includes/admin/core/class-admin-dragdrop.php CHANGED
@@ -1,9 +1,10 @@
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_DragDrop' ) ) {
8
 
9
 
@@ -73,7 +74,7 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
73
  $row_args = $row_array;
74
 
75
  if ( isset( $this->row_data[ $row_array['origin'] ] ) ) {
76
- foreach( $this->row_data[ $row_array['origin'] ] as $k => $v ){
77
  if ( $k != 'position' && $k != 'metakey' ) {
78
  $update_args[$k] = $v;
79
  }
@@ -84,55 +85,56 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
84
  $this->exist_rows[] = $key;
85
  }
86
 
87
- $fields[$key] = $row_args;
88
 
89
  }
90
 
91
  // change field position
92
  if ( 0 === strpos( $key, 'um_position_' ) ) {
93
- $field_key = str_replace('um_position_','',$key);
94
- if ( isset( $fields[$field_key] ) ) {
95
- $fields[$field_key]['position'] = $value;
96
  }
97
  }
98
 
99
  // change field master row
100
  if ( 0 === strpos( $key, 'um_row_' ) ) {
101
- $field_key = str_replace('um_row_','',$key);
102
- if ( isset( $fields[$field_key] ) ) {
103
- $fields[$field_key]['in_row'] = $value;
104
  }
105
  }
106
 
107
  // change field sub row
108
  if ( 0 === strpos( $key, 'um_subrow_' ) ) {
109
- $field_key = str_replace('um_subrow_','',$key);
110
- if ( isset( $fields[$field_key] ) ) {
111
- $fields[$field_key]['in_sub_row'] = $value;
112
  }
113
  }
114
 
115
  // change field column
116
  if ( 0 === strpos( $key, 'um_col_' ) ) {
117
- $field_key = str_replace('um_col_','',$key);
118
- if ( isset( $fields[$field_key] ) ) {
119
- $fields[$field_key]['in_column'] = $value;
120
  }
121
  }
122
 
123
  // add field to group
124
  if ( 0 === strpos( $key, 'um_group_' ) ) {
125
- $field_key = str_replace('um_group_','',$key);
126
- if ( isset( $fields[$field_key] ) ) {
127
- $fields[$field_key]['in_group'] = $value;
128
  }
129
  }
130
 
131
  }
132
 
133
  foreach ( $this->row_data as $k => $v ) {
134
- if ( ! in_array( $k, $this->exist_rows ) )
135
- unset( $this->row_data[$k] );
 
136
  }
137
 
138
  update_option( 'um_existing_rows_' . $form_id, $this->exist_rows );
@@ -151,33 +153,34 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
151
 
152
  $screen = get_current_screen();
153
 
154
- if ( ! isset( $screen->id ) || $screen->id != 'um_form' ) return;
155
-
156
- ?>
157
 
158
  <div class="um-col-demon-settings" data-in_row="" data-in_sub_row="" data-in_column="" data-in_group=""></div>
159
 
160
  <div class="um-col-demon-row" style="display:none;">
161
 
162
  <div class="um-admin-drag-row-icons">
163
- <a href="#" class="um-admin-drag-rowsub-add um-admin-tipsy-n" title="<?php _e('Add Row','ultimate-member'); ?>" data-row_action="add_subrow"><i class="um-icon-plus"></i></a>
164
- <a href="#" class="um-admin-drag-row-edit um-admin-tipsy-n" title="<?php _e('Edit Row','ultimate-member'); ?>" data-modal="UM_edit_row" data-modal-size="normal" data-dynamic-content="um_admin_edit_field_popup" data-arg1="row" data-arg2="<?php echo get_the_ID(); ?>"><i class="um-faicon-pencil"></i></a>
165
  <span class="um-admin-drag-row-start"><i class="um-icon-arrow-move"></i></span>
166
- <a href="#" class="um-admin-tipsy-n" title="<?php _e('Delete Row','ultimate-member'); ?>" data-remove_element="um-admin-drag-row"><i class="um-faicon-trash-o"></i></a>
167
- </div><div class="um-admin-clear"></div>
 
168
 
169
  <div class="um-admin-drag-rowsubs">
170
  <div class="um-admin-drag-rowsub">
171
 
172
  <div class="um-admin-drag-ctrls columns">
173
- <a href="#" class="active" data-cols="1"></a>
174
- <a href="#" data-cols="2"></a>
175
- <a href="#" data-cols="3"></a>
176
  </div>
177
 
178
  <div class="um-admin-drag-rowsub-icons">
179
  <span class="um-admin-drag-rowsub-start"><i class="um-icon-arrow-move"></i></span>
180
- <a href="#" class="um-admin-tipsy-n" title="<?php _e('Delete Row','ultimate-member'); ?>" data-remove_element="um-admin-drag-rowsub"><i class="um-faicon-trash-o"></i></a>
181
  </div><div class="um-admin-clear"></div>
182
 
183
  <div class="um-admin-drag-col">
@@ -195,14 +198,14 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
195
  <div class="um-col-demon-subrow" style="display:none;">
196
 
197
  <div class="um-admin-drag-ctrls columns">
198
- <a href="#" class="active" data-cols="1"></a>
199
- <a href="#" data-cols="2"></a>
200
- <a href="#" data-cols="3"></a>
201
  </div>
202
 
203
  <div class="um-admin-drag-rowsub-icons">
204
  <span class="um-admin-drag-rowsub-start"><i class="um-icon-arrow-move"></i></span>
205
- <a href="#" class="um-admin-tipsy-n" title="<?php _e('Delete Row','ultimate-member'); ?>" data-remove_element="um-admin-drag-rowsub"><i class="um-faicon-trash-o"></i></a>
206
  </div><div class="um-admin-clear"></div>
207
 
208
  <div class="um-admin-drag-col">
@@ -217,9 +220,9 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
217
 
218
  <form action="" method="post" class="um_update_order">
219
 
220
- <input type="hidden" name="form_id" id="form_id" value="<?php echo get_the_ID(); ?>" />
221
  <input type="hidden" name="action" value="um_update_order" />
222
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce( 'um-admin-nonce' ) ?>" />
223
 
224
  <div class="um_update_order_fields">
225
 
1
  <?php
2
  namespace um\admin\core;
3
 
4
+
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
+
8
  if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
9
 
10
 
74
  $row_args = $row_array;
75
 
76
  if ( isset( $this->row_data[ $row_array['origin'] ] ) ) {
77
+ foreach ( $this->row_data[ $row_array['origin'] ] as $k => $v ){
78
  if ( $k != 'position' && $k != 'metakey' ) {
79
  $update_args[$k] = $v;
80
  }
85
  $this->exist_rows[] = $key;
86
  }
87
 
88
+ $fields[ $key ] = $row_args;
89
 
90
  }
91
 
92
  // change field position
93
  if ( 0 === strpos( $key, 'um_position_' ) ) {
94
+ $field_key = str_replace( 'um_position_', '', $key );
95
+ if ( isset( $fields[ $field_key ] ) ) {
96
+ $fields[ $field_key ]['position'] = $value;
97
  }
98
  }
99
 
100
  // change field master row
101
  if ( 0 === strpos( $key, 'um_row_' ) ) {
102
+ $field_key = str_replace( 'um_row_', '', $key );
103
+ if ( isset( $fields[ $field_key ] ) ) {
104
+ $fields[ $field_key ]['in_row'] = $value;
105
  }
106
  }
107
 
108
  // change field sub row
109
  if ( 0 === strpos( $key, 'um_subrow_' ) ) {
110
+ $field_key = str_replace( 'um_subrow_', '', $key );
111
+ if ( isset( $fields[ $field_key ] ) ) {
112
+ $fields[ $field_key ]['in_sub_row'] = $value;
113
  }
114
  }
115
 
116
  // change field column
117
  if ( 0 === strpos( $key, 'um_col_' ) ) {
118
+ $field_key = str_replace( 'um_col_', '', $key );
119
+ if ( isset( $fields[ $field_key ] ) ) {
120
+ $fields[ $field_key ]['in_column'] = $value;
121
  }
122
  }
123
 
124
  // add field to group
125
  if ( 0 === strpos( $key, 'um_group_' ) ) {
126
+ $field_key = str_replace( 'um_group_', '', $key );
127
+ if ( isset( $fields[ $field_key ] ) ) {
128
+ $fields[ $field_key ]['in_group'] = $value;
129
  }
130
  }
131
 
132
  }
133
 
134
  foreach ( $this->row_data as $k => $v ) {
135
+ if ( ! in_array( $k, $this->exist_rows ) ) {
136
+ unset( $this->row_data[ $k ] );
137
+ }
138
  }
139
 
140
  update_option( 'um_existing_rows_' . $form_id, $this->exist_rows );
153
 
154
  $screen = get_current_screen();
155
 
156
+ if ( ! isset( $screen->id ) || $screen->id != 'um_form' ) {
157
+ return;
158
+ } ?>
159
 
160
  <div class="um-col-demon-settings" data-in_row="" data-in_sub_row="" data-in_column="" data-in_group=""></div>
161
 
162
  <div class="um-col-demon-row" style="display:none;">
163
 
164
  <div class="um-admin-drag-row-icons">
165
+ <a href="javascript:void(0);" class="um-admin-drag-rowsub-add um-admin-tipsy-n" title="<?php esc_attr_e( 'Add Row', 'ultimate-member' ); ?>" data-row_action="add_subrow"><i class="um-icon-plus"></i></a>
166
+ <a href="javascript:void(0);" class="um-admin-drag-row-edit um-admin-tipsy-n" title="<?php esc_attr_e( 'Edit Row', 'ultimate-member' ); ?>" data-modal="UM_edit_row" data-modal-size="normal" data-dynamic-content="um_admin_edit_field_popup" data-arg1="row" data-arg2="<?php echo esc_attr( get_the_ID() ); ?>"><i class="um-faicon-pencil"></i></a>
167
  <span class="um-admin-drag-row-start"><i class="um-icon-arrow-move"></i></span>
168
+ <a href="javascript:void(0);" class="um-admin-tipsy-n" title="<?php esc_attr_e( 'Delete Row', 'ultimate-member' ); ?>" data-remove_element="um-admin-drag-row"><i class="um-faicon-trash-o"></i></a>
169
+ </div>
170
+ <div class="um-admin-clear"></div>
171
 
172
  <div class="um-admin-drag-rowsubs">
173
  <div class="um-admin-drag-rowsub">
174
 
175
  <div class="um-admin-drag-ctrls columns">
176
+ <a href="javascript:void(0);" class="active" data-cols="1"></a>
177
+ <a href="javascript:void(0);" data-cols="2"></a>
178
+ <a href="javascript:void(0);" data-cols="3"></a>
179
  </div>
180
 
181
  <div class="um-admin-drag-rowsub-icons">
182
  <span class="um-admin-drag-rowsub-start"><i class="um-icon-arrow-move"></i></span>
183
+ <a href="javascript:void(0);" class="um-admin-tipsy-n" title="<?php esc_attr_e( 'Delete Row', 'ultimate-member' ); ?>" data-remove_element="um-admin-drag-rowsub"><i class="um-faicon-trash-o"></i></a>
184
  </div><div class="um-admin-clear"></div>
185
 
186
  <div class="um-admin-drag-col">
198
  <div class="um-col-demon-subrow" style="display:none;">
199
 
200
  <div class="um-admin-drag-ctrls columns">
201
+ <a href="javascript:void(0);" class="active" data-cols="1"></a>
202
+ <a href="javascript:void(0);" data-cols="2"></a>
203
+ <a href="javascript:void(0);" data-cols="3"></a>
204
  </div>
205
 
206
  <div class="um-admin-drag-rowsub-icons">
207
  <span class="um-admin-drag-rowsub-start"><i class="um-icon-arrow-move"></i></span>
208
+ <a href="javascript:void(0);" class="um-admin-tipsy-n" title="<?php esc_attr_e( 'Delete Row', 'ultimate-member' ); ?>" data-remove_element="um-admin-drag-rowsub"><i class="um-faicon-trash-o"></i></a>
209
  </div><div class="um-admin-clear"></div>
210
 
211
  <div class="um-admin-drag-col">
220
 
221
  <form action="" method="post" class="um_update_order">
222
 
223
+ <input type="hidden" name="form_id" id="form_id" value="<?php echo esc_attr( get_the_ID() ); ?>" />
224
  <input type="hidden" name="action" value="um_update_order" />
225
+ <input type="hidden" name="nonce" value="<?php echo esc_attr( wp_create_nonce( 'um-admin-nonce' ) ) ?>" />
226
 
227
  <div class="um_update_order_fields">
228
 
includes/admin/core/class-admin-enqueue.php CHANGED
@@ -2,7 +2,6 @@
2
  namespace um\admin\core;
3
 
4
 
5
- // Exit if accessed directly.
6
  if ( ! defined( 'ABSPATH' ) ) exit;
7
 
8
 
@@ -165,8 +164,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
165
  */
166
  function load_role_wrapper() {
167
  wp_register_script( 'um_admin_role_wrapper', $this->js_url . 'um-admin-role-wrapper.js', array( 'jquery' ), ultimatemember_version, true );
168
- $localize_roles_data = get_option( 'um_roles' );
169
- wp_localize_script( 'um_admin_role_wrapper', 'um_roles', $localize_roles_data );
170
  wp_enqueue_script( 'um_admin_role_wrapper' );
171
  }
172
 
@@ -195,9 +194,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
195
  function admin_head() {
196
  if ( UM()->admin()->is_plugin_post_type() ) { ?>
197
  <style type="text/css">
198
- .um-admin.post-type-<?php echo get_post_type(); ?> div#slugdiv,
199
- .um-admin.post-type-<?php echo get_post_type(); ?> div#minor-publishing,
200
- .um-admin.post-type-<?php echo get_post_type(); ?> div#screen-meta-links
201
  {display:none}
202
  </style>
203
  <?php }
2
  namespace um\admin\core;
3
 
4
 
 
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
 
164
  */
165
  function load_role_wrapper() {
166
  wp_register_script( 'um_admin_role_wrapper', $this->js_url . 'um-admin-role-wrapper.js', array( 'jquery' ), ultimatemember_version, true );
167
+ $localize_roles_data = get_option( 'um_roles' );
168
+ wp_localize_script( 'um_admin_role_wrapper', 'um_roles', (array) $localize_roles_data );
169
  wp_enqueue_script( 'um_admin_role_wrapper' );
170
  }
171
 
194
  function admin_head() {
195
  if ( UM()->admin()->is_plugin_post_type() ) { ?>
196
  <style type="text/css">
197
+ .um-admin.post-type-<?php echo esc_attr( get_post_type() ); ?> div#slugdiv,
198
+ .um-admin.post-type-<?php echo esc_attr( get_post_type() ); ?> div#minor-publishing,
199
+ .um-admin.post-type-<?php echo esc_attr( get_post_type() ); ?> div#screen-meta-links
200
  {display:none}
201
  </style>
202
  <?php }
includes/admin/core/class-admin-forms.php CHANGED
@@ -1,9 +1,10 @@
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_Forms' ) ) {
8
 
9
 
@@ -76,8 +77,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
76
  <?php }
77
 
78
  foreach ( $this->form_data['fields'] as $field_data ) {
79
- if ( isset( $field_data['type'] ) && 'hidden' != $field_data['type'] )
80
  echo $this->render_form_row( $field_data );
 
81
  }
82
 
83
  if ( empty( $this->form_data['without_wrapper'] ) ) { ?>
@@ -103,8 +105,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
103
  */
104
  function render_form_row( $data ) {
105
 
106
- if ( empty( $data['type'] ) )
107
  return '';
 
108
 
109
  if ( !empty( $data['value'] ) && $data['type'] != 'email_template' ) {
110
  $data['value'] = wp_unslash( $data['value'] );
@@ -116,9 +119,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
116
  }
117
 
118
  $conditional = ! empty( $data['conditional'] ) ? 'data-conditional="' . esc_attr( json_encode( $data['conditional'] ) ) . '"' : '';
119
- $prefix_attr = ! empty( $this->form_data['prefix_id'] ) ? ' data-prefix="' . $this->form_data['prefix_id'] . '" ' : '';
120
 
121
- $type_attr = ' data-field_type="' . $data['type'] . '" ';
122
 
123
  $html = '';
124
  if ( $data['type'] != 'hidden' ) {
@@ -302,16 +305,18 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
302
  * @return bool|string
303
  */
304
  function render_field_label( $data ) {
305
- if ( empty( $data['label'] ) )
306
  return false;
 
307
 
308
  $id = ! empty( $data['id1'] ) ? $data['id1'] : $data['id'];
309
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $id;
310
- $for_attr = ' for="' . $id . '" ';
311
 
312
  $label = $data['label'];
313
- if ( isset( $data['required'] ) && $data['required'] )
314
- $label = $label . '<span class="um-req" title="'.__('Required','ultimate-member').'">*</span>';
 
315
 
316
  $tooltip = ! empty( $data['tooltip'] ) ? UM()->tooltip( $data['tooltip'], false, false ) : '';
317
 
@@ -331,10 +336,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
331
  }
332
 
333
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
334
- $id_attr = ' id="' . $id . '" ';
335
 
336
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
337
- $class_attr = ' class="um-forms-field ' . $class . '" ';
338
 
339
  $data = array(
340
  'field_id' => $field_data['id']
@@ -342,7 +347,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
342
 
343
  $data_attr = '';
344
  foreach ( $data as $key => $value ) {
345
- $data_attr .= " data-{$key}=\"{$value}\" ";
346
  }
347
 
348
  $name = $field_data['id'];
@@ -367,30 +372,31 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
367
  */
368
  function render_text( $field_data ) {
369
 
370
- if ( empty( $field_data['id'] ) )
371
  return false;
 
372
 
373
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
374
- $id_attr = ' id="' . $id . '" ';
375
 
376
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
377
  $class .= ! empty( $field_data['size'] ) ? 'um-' . $field_data['size'] . '-field' : 'um-long-field';
378
- $class_attr = ' class="um-forms-field ' . $class . '" ';
379
 
380
  $data = array(
381
  'field_id' => $field_data['id']
382
  );
383
 
384
- if( ! empty( $field_data['attr'] ) && is_array( $field_data['attr'] ) ){
385
  $data = array_merge( $data, $field_data['attr'] );
386
  }
387
 
388
  $data_attr = '';
389
  foreach ( $data as $key => $value ) {
390
- $data_attr .= " data-{$key}=\"{$value}\" ";
391
  }
392
 
393
- $placeholder_attr = ! empty( $field_data['placeholder'] ) ? ' placeholder="' . $field_data['placeholder'] . '"' : '';
394
 
395
  $name = $field_data['id'];
396
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
@@ -412,16 +418,17 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
412
  */
413
  function render_color( $field_data ) {
414
 
415
- if ( empty( $field_data['id'] ) )
416
  return false;
 
417
 
418
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
419
- $id_attr = ' id="' . $id . '" ';
420
 
421
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
422
  $class .= ! empty( $field_data['size'] ) ? ' um-' . $field_data['size'] . '-field ' : ' um-long-field ';
423
  $class .= ' um-admin-colorpicker ';
424
- $class_attr = ' class="um-forms-field ' . $class . '" ';
425
 
426
  $data = array(
427
  'field_id' => $field_data['id']
@@ -429,10 +436,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
429
 
430
  $data_attr = '';
431
  foreach ( $data as $key => $value ) {
432
- $data_attr .= " data-{$key}=\"{$value}\" ";
433
  }
434
 
435
- $placeholder_attr = ! empty( $field_data['placeholder'] ) ? ' placeholder="' . $field_data['placeholder'] . '"' : '';
436
 
437
  $name = $field_data['id'];
438
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
@@ -454,11 +461,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
454
  */
455
  function render_icon( $field_data ) {
456
 
457
- if ( empty( $field_data['id'] ) )
458
  return false;
 
459
 
460
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
461
- $id_attr = ' id="' . $id . '" ';
462
 
463
  $name = $field_data['id'];
464
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
@@ -467,7 +475,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
467
  $value = $this->get_field_value( $field_data );
468
  $value_attr = ' value="' . $value . '" ';
469
 
470
- $html = '<a href="#" class="button" data-modal="UM_fonticons" data-modal-size="normal" data-dynamic-content="um_admin_fonticon_selector" data-arg1="" data-arg2="" data-back="">' . __( 'Choose Icon', 'ultimate-member' ) . '</a>
471
  <span class="um-admin-icon-value">';
472
 
473
  if ( ! empty( $value ) ) {
@@ -497,15 +505,16 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
497
  */
498
  function render_datepicker( $field_data ) {
499
 
500
- if ( empty( $field_data['id'] ) )
501
  return false;
 
502
 
503
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
504
- $id_attr = ' id="' . $id . '" ';
505
 
506
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
507
  $class .= ! empty( $field_data['size'] ) ? 'um-' . $field_data['size'] . '-field' : 'um-long-field';
508
- $class_attr = ' class="um-forms-field ' . $class . '" ';
509
 
510
  $data = array(
511
  'field_id' => $field_data['id']
@@ -513,10 +522,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
513
 
514
  $data_attr = '';
515
  foreach ( $data as $key => $value ) {
516
- $data_attr .= " data-{$key}=\"{$value}\" ";
517
  }
518
 
519
- $placeholder_attr = ! empty( $field_data['placeholder'] ) ? ' placeholder="' . $field_data['placeholder'] . '"' : '';
520
 
521
  $name = $field_data['id'];
522
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
@@ -538,9 +547,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
538
  */
539
  function render_inline_texts( $field_data ) {
540
 
541
- if ( empty( $field_data['id1'] ) )
542
  return false;
543
-
544
 
545
  $i = 1;
546
  $fields = array();
@@ -550,20 +559,20 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
550
 
551
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
552
  $class .= ! empty( $field_data['size'] ) ? 'um-' . $field_data['size'] . '-field' : 'um-long-field';
553
- $class_attr = ' class="um-forms-field ' . $class . '" ';
554
 
555
  $data = array(
556
- 'field_id' => $field_data['id'. $i]
557
  );
558
 
559
  $data_attr = '';
560
  foreach ( $data as $key => $value ) {
561
- $data_attr .= " data-{$key}=\"{$value}\" ";
562
  }
563
 
564
  $placeholder_attr = ! empty( $field_data['placeholder'] ) ? ' placeholder="' . $field_data['placeholder'] . '"' : '';
565
 
566
- $name = $field_data['id'. $i];
567
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
568
  $name_attr = ' name="' . $name . '" ';
569
 
@@ -589,15 +598,16 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
589
  */
590
  function render_textarea( $field_data ) {
591
 
592
- if ( empty( $field_data['id'] ) )
593
  return false;
 
594
 
595
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
596
- $id_attr = ' id="' . $id . '" ';
597
 
598
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
599
  $class .= ! empty( $field_data['size'] ) ? $field_data['size'] : 'um-long-field';
600
- $class_attr = ' class="um-forms-field ' . $class . '" ';
601
 
602
  $data = array(
603
  'field_id' => $field_data['id']
@@ -605,7 +615,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
605
 
606
  $data_attr = '';
607
  foreach ( $data as $key => $value ) {
608
- $data_attr .= " data-{$key}=\"{$value}\" ";
609
  }
610
 
611
  $rows = ! empty( $field_data['args']['textarea_rows'] ) ? ' rows="' . $field_data['args']['textarea_rows'] . '" ' : '';
@@ -629,8 +639,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
629
  */
630
  function render_wp_editor( $field_data ) {
631
 
632
- if ( empty( $field_data['id'] ) )
633
  return false;
 
634
 
635
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
636
 
@@ -643,7 +654,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
643
 
644
  $data_attr = '';
645
  foreach ( $data as $key => $value ) {
646
- $data_attr .= " data-{$key}=\"{$value}\" ";
647
  }
648
 
649
  $name = $field_data['id'];
@@ -680,20 +691,24 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
680
  return false;
681
 
682
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
683
- $id_attr = ' id="' . $id . '" ';
684
- $id_attr_hidden = ' id="' . $id . '_hidden" ';
685
 
686
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
687
  $class .= ! empty( $field_data['size'] ) ? $field_data['size'] : 'um-long-field';
688
- $class_attr = ' class="um-forms-field ' . $class . '" ';
689
 
690
  $data = array(
691
  'field_id' => $field_data['id']
692
  );
693
 
 
 
 
 
694
  $data_attr = '';
695
  foreach ( $data as $key => $value ) {
696
- $data_attr .= " data-{$key}=\"{$value}\" ";
697
  }
698
 
699
  $name = $field_data['id'];
@@ -717,17 +732,18 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
717
  */
718
  function render_select( $field_data ) {
719
 
720
- if ( empty( $field_data['id'] ) )
721
  return false;
 
722
 
723
  $multiple = ! empty( $field_data['multi'] ) ? 'multiple' : '';
724
 
725
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
726
- $id_attr = ' id="' . $id . '" ';
727
 
728
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
729
  $class .= ! empty( $field_data['size'] ) ? 'um-' . $field_data['size'] . '-field' : 'um-long-field';
730
- $class_attr = ' class="um-forms-field ' . $class . '" ';
731
 
732
  $data = array(
733
  'field_id' => $field_data['id']
@@ -735,7 +751,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
735
 
736
  $data_attr = '';
737
  foreach ( $data as $key => $value ) {
738
- $data_attr .= " data-{$key}=\"{$value}\" ";
739
  }
740
 
741
  $name = $field_data['id'];
@@ -751,8 +767,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
751
  foreach ( $field_data['options'] as $key => $option ) {
752
  if ( ! empty( $field_data['multi'] ) ) {
753
 
754
- if ( ! is_array( $value ) || empty( $value ) )
755
  $value = array();
 
756
 
757
  $options .= '<option value="' . $key . '" ' . selected( in_array( $key, $value ), true, false ) . '>' . esc_html( $option ) . '</option>';
758
  } else {
@@ -795,7 +812,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
795
 
796
  $data_attr = '';
797
  foreach ( $data as $key => $value ) {
798
- $data_attr .= " data-{$key}=\"{$value}\" ";
799
  }
800
 
801
  $name = $field_data['id'];
@@ -820,7 +837,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
820
  continue ;
821
  }
822
 
823
- $id_attr = ' id="' . $id . '-' . $k . '" ';
824
 
825
  $options = '';
826
  foreach ( $field_data['options'] as $key => $option ) {
@@ -862,14 +879,15 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
862
  */
863
  function render_multi_checkbox( $field_data ) {
864
 
865
- if ( empty( $field_data['id'] ) )
866
  return false;
 
867
 
868
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
869
 
870
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
871
  $class .= ! empty( $field_data['size'] ) ? $field_data['size'] : 'um-long-field';
872
- $class_attr = ' class="um-forms-field ' . $class . '" ';
873
 
874
  $name = $field_data['id'];
875
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
@@ -886,8 +904,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
886
  $html .= '<span class="um-form-fields-section" style="width:' . floor( 100 / $columns ) . '% !important;">';
887
 
888
  foreach ( $section_fields_per_page as $k => $title ) {
889
- $id_attr = ' id="' . $id . '_' . $k . '" ';
890
- $for_attr = ' for="' . $id . '_' . $k . '" ';
891
  $name_attr = ' name="' . $name . '[' . $k . ']" ';
892
 
893
  $html .= "<label $for_attr>
@@ -911,15 +929,16 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
911
  */
912
  function render_multi_text( $field_data ) {
913
 
914
- if ( empty( $field_data['id'] ) )
915
  return false;
 
916
 
917
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
918
 
919
  $size = ! empty( $field_data['size'] ) ? 'um-' . $field_data['size'] . '-field' : 'um-long-field';
920
 
921
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
922
- $class_attr = ' class="um-forms-field ' . $class . '" ';
923
 
924
  $data = array(
925
  'field_id' => $field_data['id'],
@@ -928,7 +947,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
928
 
929
  $data_attr = '';
930
  foreach ( $data as $key => $value ) {
931
- $data_attr .= " data-{$key}=\"{$value}\" ";
932
  }
933
 
934
  $name = $field_data['id'];
@@ -942,9 +961,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
942
  $html .= "<ul class=\"um-multi-text-list\" $data_attr>";
943
 
944
  if ( ! empty( $values ) ) {
945
- foreach ( $values as $k=>$value ) {
946
- $value = esc_attr($value);
947
- $id_attr = ' id="' . $id . '-' . $k . '" ';
948
 
949
  $html .= "<li class=\"um-multi-text-option-line {$size}\"><span class=\"um-field-wrapper\">
950
  <input type=\"text\" $id_attr $name_attr $class_attr $data_attr value=\"$value\" /></span>
@@ -953,7 +972,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
953
  } elseif ( ! empty( $field_data['show_default_number'] ) && is_numeric( $field_data['show_default_number'] ) && $field_data['show_default_number'] > 0 ) {
954
  $i = 0;
955
  while( $i < $field_data['show_default_number'] ) {
956
- $id_attr = ' id="' . $id . '-' . $i . '" ';
957
 
958
  $html .= "<li class=\"um-multi-text-option-line {$size}\"><span class=\"um-field-wrapper\">
959
  <input type=\"text\" $id_attr $name_attr $class_attr $data_attr value=\"\" /></span>
@@ -976,8 +995,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
976
  */
977
  function render_media( $field_data ) {
978
 
979
- if ( empty( $field_data['id'] ) )
980
  return false;
 
981
 
982
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
983
 
@@ -989,8 +1009,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
989
  'field_id' => $field_data['id'] . '_url',
990
  );
991
 
992
- if ( ! empty( $field_data['default']['url'] ) )
993
  $data['default'] = esc_attr( $field_data['default']['url'] );
 
994
 
995
  $data_attr = '';
996
  foreach ( $data as $key => $value ) {
@@ -1025,8 +1046,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
1025
  $html .= '<input type="text" class="um-media-upload-url" readonly value="' . $image_url . '" /><div style="clear:both;"></div>';
1026
  }
1027
 
1028
- $html .= '<input type="button" class="um-set-image button button-primary" value="' . __( 'Select', 'ultimate-member' ) . '" data-upload_frame="' . $upload_frame_title . '" />
1029
- <input type="button" class="um-clear-image button" value="' . __( 'Clear', 'ultimate-member' ) . '" /></div>';
1030
 
1031
  return $html;
1032
  }
@@ -1038,8 +1059,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
1038
  * @return bool|string
1039
  */
1040
  function render_email_template( $field_data ) {
1041
- if ( empty( $field_data['id'] ) )
1042
  return false;
 
1043
 
1044
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
1045
 
@@ -1052,7 +1074,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
1052
 
1053
  $data_attr = '';
1054
  foreach ( $data as $key => $value ) {
1055
- $data_attr .= " data-{$key}=\"{$value}\" ";
1056
  }
1057
 
1058
  $name = $field_data['id'];
@@ -1095,10 +1117,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
1095
  return false;
1096
 
1097
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
1098
- $id_attr = ' id="' . $id . '" ';
1099
 
1100
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
1101
- $class_attr = ' class="um-forms-field button ' . $class . '" ';
1102
 
1103
  $data = array(
1104
  'field_id' => $field_data['id']
@@ -1106,7 +1128,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
1106
 
1107
  $data_attr = '';
1108
  foreach ( $data as $key => $value ) {
1109
- $data_attr .= " data-{$key}=\"{$value}\" ";
1110
  }
1111
 
1112
  $name = $field_data['id'];
1
  <?php
2
  namespace um\admin\core;
3
 
4
+
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
+
8
  if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
9
 
10
 
77
  <?php }
78
 
79
  foreach ( $this->form_data['fields'] as $field_data ) {
80
+ if ( isset( $field_data['type'] ) && 'hidden' != $field_data['type'] ) {
81
  echo $this->render_form_row( $field_data );
82
+ }
83
  }
84
 
85
  if ( empty( $this->form_data['without_wrapper'] ) ) { ?>
105
  */
106
  function render_form_row( $data ) {
107
 
108
+ if ( empty( $data['type'] ) ) {
109
  return '';
110
+ }
111
 
112
  if ( !empty( $data['value'] ) && $data['type'] != 'email_template' ) {
113
  $data['value'] = wp_unslash( $data['value'] );
119
  }
120
 
121
  $conditional = ! empty( $data['conditional'] ) ? 'data-conditional="' . esc_attr( json_encode( $data['conditional'] ) ) . '"' : '';
122
+ $prefix_attr = ! empty( $this->form_data['prefix_id'] ) ? ' data-prefix="' . esc_attr( $this->form_data['prefix_id'] ) . '" ' : '';
123
 
124
+ $type_attr = ' data-field_type="' . esc_attr( $data['type'] ) . '" ';
125
 
126
  $html = '';
127
  if ( $data['type'] != 'hidden' ) {
305
  * @return bool|string
306
  */
307
  function render_field_label( $data ) {
308
+ if ( empty( $data['label'] ) ) {
309
  return false;
310
+ }
311
 
312
  $id = ! empty( $data['id1'] ) ? $data['id1'] : $data['id'];
313
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $id;
314
+ $for_attr = ' for="' . esc_attr( $id ) . '" ';
315
 
316
  $label = $data['label'];
317
+ if ( isset( $data['required'] ) && $data['required'] ) {
318
+ $label = $label . '<span class="um-req" title="' . esc_attr__( 'Required', 'ultimate-member' ) . '">*</span>';
319
+ }
320
 
321
  $tooltip = ! empty( $data['tooltip'] ) ? UM()->tooltip( $data['tooltip'], false, false ) : '';
322
 
336
  }
337
 
338
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
339
+ $id_attr = ' id="' . esc_attr( $id ) . '" ';
340
 
341
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
342
+ $class_attr = ' class="um-forms-field ' . esc_attr( $class ) . '" ';
343
 
344
  $data = array(
345
  'field_id' => $field_data['id']
347
 
348
  $data_attr = '';
349
  foreach ( $data as $key => $value ) {
350
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
351
  }
352
 
353
  $name = $field_data['id'];
372
  */
373
  function render_text( $field_data ) {
374
 
375
+ if ( empty( $field_data['id'] ) ) {
376
  return false;
377
+ }
378
 
379
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
380
+ $id_attr = ' id="' . esc_attr( $id ) . '" ';
381
 
382
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
383
  $class .= ! empty( $field_data['size'] ) ? 'um-' . $field_data['size'] . '-field' : 'um-long-field';
384
+ $class_attr = ' class="um-forms-field ' . esc_attr( $class ) . '" ';
385
 
386
  $data = array(
387
  'field_id' => $field_data['id']
388
  );
389
 
390
+ if ( ! empty( $field_data['attr'] ) && is_array( $field_data['attr'] ) ){
391
  $data = array_merge( $data, $field_data['attr'] );
392
  }
393
 
394
  $data_attr = '';
395
  foreach ( $data as $key => $value ) {
396
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
397
  }
398
 
399
+ $placeholder_attr = ! empty( $field_data['placeholder'] ) ? ' placeholder="' . esc_attr( $field_data['placeholder'] ) . '"' : '';
400
 
401
  $name = $field_data['id'];
402
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
418
  */
419
  function render_color( $field_data ) {
420
 
421
+ if ( empty( $field_data['id'] ) ) {
422
  return false;
423
+ }
424
 
425
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
426
+ $id_attr = ' id="' . esc_attr( $id ) . '" ';
427
 
428
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
429
  $class .= ! empty( $field_data['size'] ) ? ' um-' . $field_data['size'] . '-field ' : ' um-long-field ';
430
  $class .= ' um-admin-colorpicker ';
431
+ $class_attr = ' class="um-forms-field ' . esc_attr( $class ) . '" ';
432
 
433
  $data = array(
434
  'field_id' => $field_data['id']
436
 
437
  $data_attr = '';
438
  foreach ( $data as $key => $value ) {
439
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
440
  }
441
 
442
+ $placeholder_attr = ! empty( $field_data['placeholder'] ) ? ' placeholder="' . esc_attr( $field_data['placeholder'] ) . '"' : '';
443
 
444
  $name = $field_data['id'];
445
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
461
  */
462
  function render_icon( $field_data ) {
463
 
464
+ if ( empty( $field_data['id'] ) ) {
465
  return false;
466
+ }
467
 
468
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
469
+ $id_attr = ' id="' . esc_attr( $id ) . '" ';
470
 
471
  $name = $field_data['id'];
472
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
475
  $value = $this->get_field_value( $field_data );
476
  $value_attr = ' value="' . $value . '" ';
477
 
478
+ $html = '<a href="javascript:void(0);" class="button" data-modal="UM_fonticons" data-modal-size="normal" data-dynamic-content="um_admin_fonticon_selector" data-arg1="" data-arg2="" data-back="">' . __( 'Choose Icon', 'ultimate-member' ) . '</a>
479
  <span class="um-admin-icon-value">';
480
 
481
  if ( ! empty( $value ) ) {
505
  */
506
  function render_datepicker( $field_data ) {
507
 
508
+ if ( empty( $field_data['id'] ) ) {
509
  return false;
510
+ }
511
 
512
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
513
+ $id_attr = ' id="' . esc_attr( $id ) . '" ';
514
 
515
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
516
  $class .= ! empty( $field_data['size'] ) ? 'um-' . $field_data['size'] . '-field' : 'um-long-field';
517
+ $class_attr = ' class="um-forms-field ' . esc_attr( $class ) . '" ';
518
 
519
  $data = array(
520
  'field_id' => $field_data['id']
522
 
523
  $data_attr = '';
524
  foreach ( $data as $key => $value ) {
525
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
526
  }
527
 
528
+ $placeholder_attr = ! empty( $field_data['placeholder'] ) ? ' placeholder="' . esc_attr( $field_data['placeholder'] ) . '"' : '';
529
 
530
  $name = $field_data['id'];
531
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
547
  */
548
  function render_inline_texts( $field_data ) {
549
 
550
+ if ( empty( $field_data['id1'] ) ) {
551
  return false;
552
+ }
553
 
554
  $i = 1;
555
  $fields = array();
559
 
560
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
561
  $class .= ! empty( $field_data['size'] ) ? 'um-' . $field_data['size'] . '-field' : 'um-long-field';
562
+ $class_attr = ' class="um-forms-field ' . esc_attr( $class ) . '" ';
563
 
564
  $data = array(
565
+ 'field_id' => $field_data[ 'id'. $i ]
566
  );
567
 
568
  $data_attr = '';
569
  foreach ( $data as $key => $value ) {
570
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
571
  }
572
 
573
  $placeholder_attr = ! empty( $field_data['placeholder'] ) ? ' placeholder="' . $field_data['placeholder'] . '"' : '';
574
 
575
+ $name = $field_data[ 'id'. $i ];
576
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
577
  $name_attr = ' name="' . $name . '" ';
578
 
598
  */
599
  function render_textarea( $field_data ) {
600
 
601
+ if ( empty( $field_data['id'] ) ) {
602
  return false;
603
+ }
604
 
605
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
606
+ $id_attr = ' id="' . esc_attr( $id ) . '" ';
607
 
608
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
609
  $class .= ! empty( $field_data['size'] ) ? $field_data['size'] : 'um-long-field';
610
+ $class_attr = ' class="um-forms-field ' . esc_attr( $class ) . '" ';
611
 
612
  $data = array(
613
  'field_id' => $field_data['id']
615
 
616
  $data_attr = '';
617
  foreach ( $data as $key => $value ) {
618
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
619
  }
620
 
621
  $rows = ! empty( $field_data['args']['textarea_rows'] ) ? ' rows="' . $field_data['args']['textarea_rows'] . '" ' : '';
639
  */
640
  function render_wp_editor( $field_data ) {
641
 
642
+ if ( empty( $field_data['id'] ) ) {
643
  return false;
644
+ }
645
 
646
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
647
 
654
 
655
  $data_attr = '';
656
  foreach ( $data as $key => $value ) {
657
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
658
  }
659
 
660
  $name = $field_data['id'];
691
  return false;
692
 
693
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
694
+ $id_attr = ' id="' . esc_attr( $id ) . '" ';
695
+ $id_attr_hidden = ' id="' . esc_attr( $id ) . '_hidden" ';
696
 
697
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
698
  $class .= ! empty( $field_data['size'] ) ? $field_data['size'] : 'um-long-field';
699
+ $class_attr = ' class="um-forms-field ' . esc_attr( $class ) . '" ';
700
 
701
  $data = array(
702
  'field_id' => $field_data['id']
703
  );
704
 
705
+ if ( ! empty( $field_data['data'] ) ) {
706
+ $data = array_merge( $data, $field_data['data'] );
707
+ }
708
+
709
  $data_attr = '';
710
  foreach ( $data as $key => $value ) {
711
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
712
  }
713
 
714
  $name = $field_data['id'];
732
  */
733
  function render_select( $field_data ) {
734
 
735
+ if ( empty( $field_data['id'] ) ) {
736
  return false;
737
+ }
738
 
739
  $multiple = ! empty( $field_data['multi'] ) ? 'multiple' : '';
740
 
741
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
742
+ $id_attr = ' id="' . esc_attr( $id ) . '" ';
743
 
744
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
745
  $class .= ! empty( $field_data['size'] ) ? 'um-' . $field_data['size'] . '-field' : 'um-long-field';
746
+ $class_attr = ' class="um-forms-field ' . esc_attr( $class ) . '" ';
747
 
748
  $data = array(
749
  'field_id' => $field_data['id']
751
 
752
  $data_attr = '';
753
  foreach ( $data as $key => $value ) {
754
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
755
  }
756
 
757
  $name = $field_data['id'];
767
  foreach ( $field_data['options'] as $key => $option ) {
768
  if ( ! empty( $field_data['multi'] ) ) {
769
 
770
+ if ( ! is_array( $value ) || empty( $value ) ) {
771
  $value = array();
772
+ }
773
 
774
  $options .= '<option value="' . $key . '" ' . selected( in_array( $key, $value ), true, false ) . '>' . esc_html( $option ) . '</option>';
775
  } else {
812
 
813
  $data_attr = '';
814
  foreach ( $data as $key => $value ) {
815
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
816
  }
817
 
818
  $name = $field_data['id'];
837
  continue ;
838
  }
839
 
840
+ $id_attr = ' id="' . esc_attr( $id . '-' . $k ) . '" ';
841
 
842
  $options = '';
843
  foreach ( $field_data['options'] as $key => $option ) {
879
  */
880
  function render_multi_checkbox( $field_data ) {
881
 
882
+ if ( empty( $field_data['id'] ) ) {
883
  return false;
884
+ }
885
 
886
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
887
 
888
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
889
  $class .= ! empty( $field_data['size'] ) ? $field_data['size'] : 'um-long-field';
890
+ $class_attr = ' class="um-forms-field ' . esc_attr( $class ) . '" ';
891
 
892
  $name = $field_data['id'];
893
  $name = ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] . '[' . $name . ']' : $name;
904
  $html .= '<span class="um-form-fields-section" style="width:' . floor( 100 / $columns ) . '% !important;">';
905
 
906
  foreach ( $section_fields_per_page as $k => $title ) {
907
+ $id_attr = ' id="' . esc_attr( $id . '_' . $k ) . '" ';
908
+ $for_attr = ' for="' . esc_attr( $id . '_' . $k ) . '" ';
909
  $name_attr = ' name="' . $name . '[' . $k . ']" ';
910
 
911
  $html .= "<label $for_attr>
929
  */
930
  function render_multi_text( $field_data ) {
931
 
932
+ if ( empty( $field_data['id'] ) ) {
933
  return false;
934
+ }
935
 
936
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
937
 
938
  $size = ! empty( $field_data['size'] ) ? 'um-' . $field_data['size'] . '-field' : 'um-long-field';
939
 
940
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
941
+ $class_attr = ' class="um-forms-field ' . esc_attr( $class ) . '" ';
942
 
943
  $data = array(
944
  'field_id' => $field_data['id'],
947
 
948
  $data_attr = '';
949
  foreach ( $data as $key => $value ) {
950
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
951
  }
952
 
953
  $name = $field_data['id'];
961
  $html .= "<ul class=\"um-multi-text-list\" $data_attr>";
962
 
963
  if ( ! empty( $values ) ) {
964
+ foreach ( $values as $k => $value ) {
965
+ $value = esc_attr( $value );
966
+ $id_attr = ' id="' . esc_attr( $id . '-' . $k ) . '" ';
967
 
968
  $html .= "<li class=\"um-multi-text-option-line {$size}\"><span class=\"um-field-wrapper\">
969
  <input type=\"text\" $id_attr $name_attr $class_attr $data_attr value=\"$value\" /></span>
972
  } elseif ( ! empty( $field_data['show_default_number'] ) && is_numeric( $field_data['show_default_number'] ) && $field_data['show_default_number'] > 0 ) {
973
  $i = 0;
974
  while( $i < $field_data['show_default_number'] ) {
975
+ $id_attr = ' id="' . esc_attr( $id . '-' . $i ) . '" ';
976
 
977
  $html .= "<li class=\"um-multi-text-option-line {$size}\"><span class=\"um-field-wrapper\">
978
  <input type=\"text\" $id_attr $name_attr $class_attr $data_attr value=\"\" /></span>
995
  */
996
  function render_media( $field_data ) {
997
 
998
+ if ( empty( $field_data['id'] ) ) {
999
  return false;
1000
+ }
1001
 
1002
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
1003
 
1009
  'field_id' => $field_data['id'] . '_url',
1010
  );
1011
 
1012
+ if ( ! empty( $field_data['default']['url'] ) ) {
1013
  $data['default'] = esc_attr( $field_data['default']['url'] );
1014
+ }
1015
 
1016
  $data_attr = '';
1017
  foreach ( $data as $key => $value ) {
1046
  $html .= '<input type="text" class="um-media-upload-url" readonly value="' . $image_url . '" /><div style="clear:both;"></div>';
1047
  }
1048
 
1049
+ $html .= '<input type="button" class="um-set-image button button-primary" value="' . esc_attr__( 'Select', 'ultimate-member' ) . '" data-upload_frame="' . $upload_frame_title . '" />
1050
+ <input type="button" class="um-clear-image button" value="' . esc_attr__( 'Clear', 'ultimate-member' ) . '" /></div>';
1051
 
1052
  return $html;
1053
  }
1059
  * @return bool|string
1060
  */
1061
  function render_email_template( $field_data ) {
1062
+ if ( empty( $field_data['id'] ) ) {
1063
  return false;
1064
+ }
1065
 
1066
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
1067
 
1074
 
1075
  $data_attr = '';
1076
  foreach ( $data as $key => $value ) {
1077
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
1078
  }
1079
 
1080
  $name = $field_data['id'];
1117
  return false;
1118
 
1119
  $id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
1120
+ $id_attr = ' id="' . esc_attr( $id ) . '" ';
1121
 
1122
  $class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
1123
+ $class_attr = ' class="um-forms-field button ' . esc_attr( $class ) . '" ';
1124
 
1125
  $data = array(
1126
  'field_id' => $field_data['id']
1128
 
1129
  $data_attr = '';
1130
  foreach ( $data as $key => $value ) {
1131
+ $data_attr .= ' data-' . $key . '="' . esc_attr( $value ) . '" ';
1132
  }
1133
 
1134
  $name = $field_data['id'];
includes/admin/core/class-admin-menu.php CHANGED
@@ -3,9 +3,11 @@ namespace um\admin\core;
3
 
4
 
5
  use \RecursiveDirectoryIterator;
6
- // Exit if accessed directly.
 
7
  if ( ! defined( 'ABSPATH' ) ) exit;
8
 
 
9
  if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
10
 
11
 
@@ -214,7 +216,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
214
  wp_enqueue_script( 'postbox' );
215
 
216
  /** custom metaboxes for dashboard defined here **/
217
- add_meta_box( 'um-metaboxes-contentbox-1', __( 'Users Overview','ultimate-member' ), array( &$this, 'users_overview' ), $this->pagehook, 'core', 'core' );
218
 
219
  add_meta_box( 'um-metaboxes-mainbox-1', __( 'Latest from our blog', 'ultimate-member' ), array( &$this, 'um_news' ), $this->pagehook, 'normal', 'core' );
220
 
@@ -283,7 +285,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
283
  $size = 0;
284
 
285
  foreach( new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator( $directory ) ) as $file ) {
286
- $size+=$file->getSize();
287
  }
288
  return round ( $size / 1048576, 2);
289
  }
@@ -328,7 +330,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
328
  //<![CDATA[
329
  jQuery(document).ready( function($) {
330
  // postboxes setup
331
- postboxes.add_postbox_toggles('<?php echo $this->pagehook; ?>');
332
  });
333
  //]]>
334
  </script>
3
 
4
 
5
  use \RecursiveDirectoryIterator;
6
+
7
+
8
  if ( ! defined( 'ABSPATH' ) ) exit;
9
 
10
+
11
  if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
12
 
13
 
216
  wp_enqueue_script( 'postbox' );
217
 
218
  /** custom metaboxes for dashboard defined here **/
219
+ add_meta_box( 'um-metaboxes-contentbox-1', __( 'Users Overview', 'ultimate-member' ), array( &$this, 'users_overview' ), $this->pagehook, 'core', 'core' );
220
 
221
  add_meta_box( 'um-metaboxes-mainbox-1', __( 'Latest from our blog', 'ultimate-member' ), array( &$this, 'um_news' ), $this->pagehook, 'normal', 'core' );
222
 
285
  $size = 0;
286
 
287
  foreach( new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator( $directory ) ) as $file ) {
288
+ $size += $file->getSize();
289
  }
290
  return round ( $size / 1048576, 2);
291
  }
330
  //<![CDATA[
331
  jQuery(document).ready( function($) {
332
  // postboxes setup
333
+ postboxes.add_postbox_toggles('<?php echo esc_js( $this->pagehook ); ?>');
334
  });
335
  //]]>
336
  </script>
includes/admin/core/class-admin-metabox.php CHANGED
@@ -1,9 +1,10 @@
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_Metabox' ) ) {
8
 
9
 
@@ -27,65 +28,22 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
27
  $this->in_edit = false;
28
  $this->edit_mode_value = null;
29
 
30
- add_action('admin_head', array(&$this, 'admin_head'), 9);
31
- add_action('admin_footer', array(&$this, 'load_modal_content'), 9);
32
 
33
- add_action( 'load-post.php', array(&$this, 'add_metabox'), 9 );
34
- add_action( 'load-post-new.php', array(&$this, 'add_metabox'), 9 );
35
 
36
- add_action( 'admin_init', array(&$this, 'add_taxonomy_metabox'), 9 );
37
 
38
  //roles metaboxes
39
  add_action( 'um_roles_add_meta_boxes', array( &$this, 'add_metabox_role' ) );
40
 
41
  add_filter( 'um_builtin_validation_types_continue_loop', array( &$this, 'validation_types_continue_loop' ), 1, 4 );
42
  add_filter( 'um_restrict_content_hide_metabox', array( &$this, 'hide_metabox_restrict_content_shop' ), 10, 1 );
43
-
44
-
45
- /**
46
- * @todo remove these options
47
- */
48
- //add_filter( 'um_admin_access_settings_fields', array( &$this, 'wpml_post_options' ), 10, 2 );
49
  }
50
 
51
 
52
- /**
53
- * Add option for WPML
54
- *
55
- * @param array $fields
56
- * @param array $data
57
- *
58
- * @return array
59
- */
60
- /*function wpml_post_options( $fields, $data ) {
61
- global $post;
62
-
63
- if ( ! function_exists( 'icl_get_current_language' ) ) {
64
- return $fields;
65
- }
66
-
67
- if ( empty( $post->post_type ) || $post->post_type != 'page' ) {
68
- return $fields;
69
- }
70
-
71
- $fields[] = array(
72
- 'id' => '_um_wpml_user',
73
- 'type' => 'checkbox',
74
- 'label' => __( 'This is a translation of UM profile page?', 'ultimate-member' ),
75
- 'value' => ! empty( $data['_um_wpml_user'] ) ? $data['_um_wpml_user'] : 0
76
- );
77
-
78
- $fields[] = array(
79
- 'id' => '_um_wpml_account',
80
- 'type' => 'checkbox',
81
- 'label' => __( 'This is a translation of UM account page?', 'ultimate-member' ),
82
- 'value' => ! empty( $data['_um_wpml_account'] ) ? $data['_um_wpml_account'] : 0
83
- );
84
-
85
- return $fields;
86
- }*/
87
-
88
-
89
  /**
90
  * Hide Woocommerce Shop page restrict content metabox
91
  * @param $hide
@@ -526,8 +484,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
526
  $_um_access_roles_value = array();
527
  if ( ! empty( $data['_um_access_roles'] ) ) {
528
  foreach ( $data['_um_access_roles'] as $key => $value ) {
529
- if ( $value )
530
  $_um_access_roles_value[] = $key;
 
531
  }
532
  }
533
 
@@ -681,15 +640,17 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
681
  function um_category_access_fields_save( $termID ) {
682
 
683
  // validate nonce
684
- if ( ! isset( $_REQUEST['um_admin_save_taxonomy_restrict_content_nonce'] ) || ! wp_verify_nonce( $_REQUEST['um_admin_save_taxonomy_restrict_content_nonce'], basename( __FILE__ ) ) )
685
  return $termID;
 
686
 
687
  // validate user
688
  $term = get_term( $termID );
689
  $taxonomy = get_taxonomy( $term->taxonomy );
690
 
691
- if ( ! current_user_can( $taxonomy->cap->edit_terms, $termID ) )
692
  return $termID;
 
693
 
694
  if ( ! empty( $_REQUEST['um_content_restriction'] ) ) {
695
  update_term_meta( $termID, 'um_content_restriction', $_REQUEST['um_content_restriction'] );
@@ -1229,18 +1190,18 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1229
  * }
1230
  * ?>
1231
  */
1232
- do_action( "um_admin_field_edit_hook{$attribute}", $this->edit_mode_value );
1233
 
1234
  break;
1235
 
1236
  case '_visibility':
1237
  ?>
1238
 
1239
- <p><label for="_visibility">Visibility <?php UM()->tooltip( __('Select where this field should appear. This option should only be changed on the profile form and allows you to show a field in one mode only (edit or view) or in both modes.','ultimate-member' ) ); ?></label>
1240
  <select name="_visibility" id="_visibility" style="width: 100%">
1241
- <option value="all" <?php selected( 'all', $this->edit_mode_value ); ?>>View everywhere</option>
1242
- <option value="edit" <?php selected( 'edit', $this->edit_mode_value ); ?>>Edit mode only</option>
1243
- <option value="view" <?php selected( 'view', $this->edit_mode_value ); ?>>View mode only</option>
1244
  </select>
1245
  </p>
1246
 
@@ -1255,22 +1216,20 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1255
  ?>
1256
 
1257
  <p>
1258
- <select name="<?php echo $attribute; ?>" id="<?php echo $attribute; ?>" style="width: 90px">
1259
 
1260
  <option></option>
1261
 
1262
- <?php
1263
- $actions = array('show','hide');
1264
- foreach( $actions as $action ) {
1265
- ?>
1266
 
1267
- <option value="<?php echo $action; ?>" <?php selected( $action, $this->edit_mode_value ); ?>><?php echo $action; ?></option>
1268
 
1269
  <?php } ?>
1270
 
1271
  </select>
1272
 
1273
- &nbsp;&nbsp;<?php _e('If'); ?>
1274
  </p>
1275
 
1276
  <?php
@@ -1284,7 +1243,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1284
  ?>
1285
 
1286
  <p>
1287
- <select name="<?php echo $attribute; ?>" id="<?php echo $attribute; ?>" style="width: 150px">
1288
 
1289
  <option></option>
1290
 
@@ -1294,7 +1253,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1294
  if ( isset( $array['title'] ) &&
1295
  ( ! isset( $this->edit_array['metakey'] ) || $key != $this->edit_array['metakey'] ) ) { ?>
1296
 
1297
- <option value="<?php echo $key ?>" <?php selected( $key, $this->edit_mode_value ) ?>><?php echo $array['title'] ?></option>
1298
 
1299
  <?php }
1300
  } ?>
@@ -1313,7 +1272,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1313
  ?>
1314
 
1315
  <p>
1316
- <select name="<?php echo $attribute; ?>" id="<?php echo $attribute; ?>" style="width: 150px">
1317
 
1318
  <option></option>
1319
 
@@ -1329,7 +1288,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1329
 
1330
  foreach ( $operators as $operator ) { ?>
1331
 
1332
- <option value="<?php echo $operator; ?>" <?php selected( $operator, $this->edit_mode_value ); ?>><?php echo $operator; ?></option>
1333
 
1334
  <?php } ?>
1335
 
@@ -1347,7 +1306,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1347
  ?>
1348
 
1349
  <p>
1350
- <input type="text" name="<?php echo $attribute; ?>" id="<?php echo $attribute; ?>" value="<?php echo isset( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" placeholder="<?php _e( 'Value', 'ultimate-member' ); ?>" style="width: 150px!important;position: relative;top: -1px;" />
1351
  </p>
1352
 
1353
  <?php
@@ -1356,8 +1315,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1356
  case '_validate':
1357
  ?>
1358
 
1359
- <p><label for="_validate">Validate <?php UM()->tooltip( __( 'Does this field require a special validation', 'ultimate-member' ) ); ?></label>
1360
- <select name="_validate" id="_validate" data-placeholder="Select a validation type..." class="um-adm-conditional" data-cond1='custom' data-cond1-show='_custom_validate' style="width: 100%">
1361
 
1362
  <option value="" <?php selected( '', $this->edit_mode_value ); ?>></option>
1363
 
@@ -1388,7 +1347,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1388
  */
1389
  $continue = apply_filters( "um_builtin_validation_types_continue_loop", true, $key, $form_id, $field_args );
1390
  if ( $continue ) { ?>
1391
- <option value="<?php echo $key; ?>" <?php selected( $key, $this->edit_mode_value ); ?>><?php echo $name; ?></option>
1392
  <?php } ?>
1393
  <?php } ?>
1394
 
@@ -1401,7 +1360,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1401
  case '_custom_validate':
1402
  ?>
1403
 
1404
- <p class="_custom_validate"><label for="_custom_validate">Custom Action <?php UM()->tooltip( __( 'If you want to apply your custom validation, you can use action hooks to add custom validation. Please refer to documentation for further details.', 'ultimate-member' ) ); ?></label>
1405
  <input type="text" name="_custom_validate" id="_custom_validate" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1406
  </p>
1407
 
@@ -1415,11 +1374,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1415
 
1416
  ?>
1417
 
1418
- <p class="_heading_text"><label for="_icon">Icon <?php UM()->tooltip( __( 'Select an icon to appear in the field. Leave blank if you do not want an icon to show in the field.', 'ultimate-member' ) ); ?></label>
1419
 
1420
- <a href="#" class="button" data-modal="UM_fonticons" data-modal-size="normal" data-dynamic-content="um_admin_fonticon_selector" data-arg1="" data-arg2="" data-back="<?php echo $back; ?>">Choose Icon</a>
1421
 
1422
- <span class="um-admin-icon-value"><?php if ( $this->edit_mode_value ) { ?><i class="<?php echo $this->edit_mode_value; ?>"></i><?php } else { ?>No Icon<?php } ?></span>
1423
 
1424
  <input type="hidden" name="_icon" id="_icon" value="<?php echo (isset( $this->edit_mode_value ) ) ? $this->edit_mode_value : ''; ?>" />
1425
 
@@ -1443,11 +1402,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1443
 
1444
  <div class="um-admin-tri">
1445
 
1446
- <p><label for="_icon">Icon <?php UM()->tooltip( __( 'Select an icon to appear in the field. Leave blank if you do not want an icon to show in the field.', 'ultimate-member' ) ); ?></label>
1447
 
1448
- <a href="#" class="button" data-modal="UM_fonticons" data-modal-size="normal" data-dynamic-content="um_admin_fonticon_selector" data-arg1="" data-arg2="" data-back="<?php echo $back; ?>">Choose Icon</a>
1449
 
1450
- <span class="um-admin-icon-value"><?php if ( $this->edit_mode_value ) { ?><i class="<?php echo $this->edit_mode_value; ?>"></i><?php } else { ?>No Icon<?php } ?></span>
1451
 
1452
  <input type="hidden" name="_icon" id="_icon" value="<?php echo (isset( $this->edit_mode_value ) ) ? $this->edit_mode_value : ''; ?>" />
1453
 
@@ -1470,7 +1429,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1470
  case '_css_class':
1471
  ?>
1472
 
1473
- <p><label for="_css_class">CSS Class <?php UM()->tooltip( __( 'Specify a custom CSS class to be applied to this element', 'ultimate-member' ) ); ?></label>
1474
  <input type="text" name="_css_class" id="_css_class" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1475
  </p>
1476
 
@@ -1480,7 +1439,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1480
  case '_width':
1481
  ?>
1482
 
1483
- <p><label for="_width">Thickness (in pixels) <?php UM()->tooltip( __( 'This is the width in pixels, e.g. 4 or 2, etc', 'ultimate-member' ) ); ?></label>
1484
  <input type="text" name="_width" id="_width" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : 4; ?>" />
1485
  </p>
1486
 
@@ -1490,7 +1449,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1490
  case '_divider_text':
1491
  ?>
1492
 
1493
- <p><label for="_divider_text">Optional Text <?php UM()->tooltip( __( 'Optional text to include with the divider', 'ultimate-member' ) ); ?></label>
1494
  <input type="text" name="_divider_text" id="_divider_text" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1495
  </p>
1496
 
@@ -1500,7 +1459,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1500
  case '_padding':
1501
  ?>
1502
 
1503
- <p><label for="_padding">Padding <?php UM()->tooltip( __( 'Set padding for this section', 'ultimate-member' ) ); ?></label>
1504
  <input type="text" name="_padding" id="_padding" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '0px 0px 0px 0px'; ?>" />
1505
  </p>
1506
 
@@ -1510,7 +1469,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1510
  case '_margin':
1511
  ?>
1512
 
1513
- <p><label for="_margin">Margin <?php UM()->tooltip( __( 'Set margin for this section', 'ultimate-member' ) ); ?></label>
1514
  <input type="text" name="_margin" id="_margin" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '0px 0px 30px 0px'; ?>" />
1515
  </p>
1516
 
@@ -1520,7 +1479,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1520
  case '_border':
1521
  ?>
1522
 
1523
- <p><label for="_border">Border <?php UM()->tooltip( __( 'Set border for this section', 'ultimate-member' ) ); ?></label>
1524
  <input type="text" name="_border" id="_border" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '0px 0px 0px 0px'; ?>" />
1525
  </p>
1526
 
@@ -1530,12 +1489,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1530
  case '_borderstyle':
1531
  ?>
1532
 
1533
- <p><label for="_borderstyle">Style <?php UM()->tooltip( __( 'Choose the border style', 'ultimate-member' ) ); ?></label>
1534
  <select name="_borderstyle" id="_borderstyle" style="width: 100%">
1535
- <option value="solid" <?php selected( 'solid', $this->edit_mode_value ); ?>>Solid</option>
1536
- <option value="dotted" <?php selected( 'dotted', $this->edit_mode_value ); ?>>Dotted</option>
1537
- <option value="dashed" <?php selected( 'dashed', $this->edit_mode_value ); ?>>Dashed</option>
1538
- <option value="double" <?php selected( 'double', $this->edit_mode_value ); ?>>Double</option>
1539
  </select>
1540
  </p>
1541
 
@@ -1545,7 +1504,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1545
  case '_borderradius':
1546
  ?>
1547
 
1548
- <p><label for="_borderradius">Border Radius <?php UM()->tooltip( __( 'Rounded corners can be applied by setting a pixels value here. e.g. 5px', 'ultimate-member' ) ); ?></label>
1549
  <input type="text" name="_borderradius" id="_borderradius" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '0px'; ?>" />
1550
  </p>
1551
 
@@ -1555,7 +1514,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1555
  case '_bordercolor':
1556
  ?>
1557
 
1558
- <p><label for="_bordercolor">Border Color <?php UM()->tooltip( __( 'Give a color to this border', 'ultimate-member' ) ); ?></label>
1559
  <input type="text" name="_bordercolor" id="_bordercolor" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1560
  </p>
1561
 
@@ -1575,7 +1534,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1575
  case '_heading_text':
1576
  ?>
1577
 
1578
- <p class="_heading_text"><label for="_heading_text">Heading Text <?php UM()->tooltip( __( 'Enter the row heading text here', 'ultimate-member' ) ); ?></label>
1579
  <input type="text" name="_heading_text" id="_heading_text" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1580
  </p>
1581
 
@@ -1585,7 +1544,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1585
  case '_background':
1586
  ?>
1587
 
1588
- <p><label for="_background">Background Color <?php UM()->tooltip( __( 'This will be the background of entire section', 'ultimate-member' ) ); ?></label>
1589
  <input type="text" name="_background" id="_background" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1590
  </p>
1591
 
@@ -1595,7 +1554,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1595
  case '_heading_background_color':
1596
  ?>
1597
 
1598
- <p class="_heading_text"><label for="_heading_background_color">Heading Background Color <?php UM()->tooltip( __( 'This will be the background of the heading section', 'ultimate-member' ) ); ?></label>
1599
  <input type="text" name="_heading_background_color" id="_heading_background_color" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1600
  </p>
1601
 
@@ -1605,7 +1564,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1605
  case '_heading_text_color':
1606
  ?>
1607
 
1608
- <p class="_heading_text"><label for="_heading_text_color">Heading Text Color <?php UM()->tooltip( __( 'This will be the text color of heading part only', 'ultimate-member' ) ); ?></label>
1609
  <input type="text" name="_heading_text_color" id="_heading_text_color" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1610
  </p>
1611
 
@@ -1615,7 +1574,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1615
  case '_text_color':
1616
  ?>
1617
 
1618
- <p><label for="_text_color">Text Color <?php UM()->tooltip( __( 'This will be the text color of entire section', 'ultimate-member' ) ); ?></label>
1619
  <input type="text" name="_text_color" id="_text_color" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1620
  </p>
1621
 
@@ -1625,7 +1584,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1625
  case '_icon_color':
1626
  ?>
1627
 
1628
- <p class="_heading_text"><label for="_icon_color">Icon Color <?php UM()->tooltip( __( 'This will be the color of selected icon. By default It will be the same color as heading text color', 'ultimate-member' ) ); ?></label>
1629
  <input type="text" name="_icon_color" id="_icon_color" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1630
  </p>
1631
 
@@ -1635,7 +1594,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1635
  case '_color':
1636
  ?>
1637
 
1638
- <p><label for="_color">Color <?php UM()->tooltip( __( 'Select a color for this divider', 'ultimate-member' ) ); ?></label>
1639
  <input type="text" name="_color" id="_color" class="um-admin-colorpicker" data-default-color="#eeeeee" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '#eeeeee'; ?>" />
1640
  </p>
1641
 
@@ -1645,7 +1604,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1645
  case '_url_text':
1646
  ?>
1647
 
1648
- <p><label for="_url_text">URL Alt Text <?php UM()->tooltip( __( 'Entering custom text here will replace the url with a text link', 'ultimate-member' ) ); ?></label>
1649
  <input type="text" name="_url_text" id="_url_text" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1650
  </p>
1651
 
@@ -1655,10 +1614,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1655
  case '_url_target':
1656
  ?>
1657
 
1658
- <p><label for="_url_target">Link Target <?php UM()->tooltip( __( 'Choose whether to open this link in same window or in a new window', 'ultimate-member' ) ); ?></label>
1659
  <select name="_url_target" id="_url_target" style="width: 100%">
1660
- <option value="_blank" <?php selected( '_blank', $this->edit_mode_value ); ?>>Open in new window</option>
1661
- <option value="_self" <?php selected( '_self', $this->edit_mode_value ); ?>>Same window</option>
1662
  </select>
1663
  </p>
1664
 
@@ -1668,10 +1627,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1668
  case '_url_rel':
1669
  ?>
1670
 
1671
- <p><label for="_url_rel">SEO Follow <?php UM()->tooltip( __( 'Whether to follow or nofollow this link by search engines', 'ultimate-member' ) ); ?></label>
1672
  <select name="_url_rel" id="_url_rel" style="width: 100%">
1673
- <option value="follow" <?php selected( 'follow', $this->edit_mode_value ); ?>>Follow</option>
1674
- <option value="nofollow" <?php selected( 'nofollow', $this->edit_mode_value ); ?>>No-Follow</option>
1675
  </select>
1676
  </p>
1677
 
@@ -1681,7 +1640,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1681
  case '_force_good_pass':
1682
  ?>
1683
 
1684
- <p><label for="_force_good_pass">Force strong password? <?php UM()->tooltip( __( 'Turn on to force users to create a strong password (A combination of one lowercase letter, one uppercase letter, and one number). If turned on this option is only applied to register forms and not to login forms.', 'ultimate-member' ) ); ?></label>
1685
  <input type="checkbox" name="_force_good_pass" id="_force_good_pass" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : 0 ) ?> />
1686
  </p>
1687
 
@@ -1691,7 +1650,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1691
  case '_force_confirm_pass':
1692
  ?>
1693
 
1694
- <p><label for="_force_confirm_pass">Automatically add a confirm password field? <?php UM()->tooltip( __( 'Turn on to add a confirm password field. If turned on the confirm password field will only show on register forms and not on login forms.', 'ultimate-member' ) ); ?></label>
1695
  <input type="checkbox" name="_force_confirm_pass" id="_force_confirm_pass" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : 0 ) ?> />
1696
  </p>
1697
 
@@ -1701,12 +1660,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1701
  case '_style':
1702
  ?>
1703
 
1704
- <p><label for="_style">Style <?php UM()->tooltip( __( 'This is the line-style of divider', 'ultimate-member' ) ); ?></label>
1705
  <select name="_style" id="_style" style="width: 100%">
1706
- <option value="solid" <?php selected( 'solid', $this->edit_mode_value ); ?>>Solid</option>
1707
- <option value="dotted" <?php selected( 'dotted', $this->edit_mode_value ); ?>>Dotted</option>
1708
- <option value="dashed" <?php selected( 'dashed', $this->edit_mode_value ); ?>>Dashed</option>
1709
- <option value="double" <?php selected( 'double', $this->edit_mode_value ); ?>>Double</option>
1710
  </select>
1711
  </p>
1712
 
@@ -1717,8 +1676,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1717
 
1718
  ?>
1719
 
1720
- <p><label for="_intervals">Time Intervals (in minutes) <?php UM()->tooltip( __( 'Choose the minutes interval between each time in the time picker.', 'ultimate-member' ) ); ?></label>
1721
- <input type="text" name="_intervals" id="_intervals" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : 60; ?>" placeholder="e.g. 30, 60, 120" />
1722
  </p>
1723
 
1724
  <?php
@@ -1730,7 +1689,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1730
  if ( $this->set_field_type == 'date' ) {
1731
  ?>
1732
 
1733
- <p><label for="_format">Date User-Friendly Format <?php UM()->tooltip( __( 'The display format of the date which is visible to user.', 'ultimate-member' ) ); ?></label>
1734
  <select name="_format" id="_format" style="width: 100%">
1735
  <option value="j M Y" <?php selected( 'j M Y', $this->edit_mode_value ); ?>><?php echo UM()->datetime()->get_time('j M Y'); ?></option>
1736
  <option value="M j Y" <?php selected( 'M j Y', $this->edit_mode_value ); ?>><?php echo UM()->datetime()->get_time('M j Y'); ?></option>
@@ -1741,11 +1700,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1741
 
1742
  <?php } else { ?>
1743
 
1744
- <p><label for="_format">Time Format <?php UM()->tooltip( __( 'Choose the displayed time-format for this field', 'ultimate-member' ) ); ?></label>
1745
  <select name="_format" id="_format" style="width: 100%">
1746
- <option value="g:i a" <?php selected( 'g:i a', $this->edit_mode_value ); ?>><?php echo UM()->datetime()->get_time('g:i a'); ?> ( 12-hr format )</option>
1747
- <option value="g:i A" <?php selected( 'g:i A', $this->edit_mode_value ); ?>><?php echo UM()->datetime()->get_time('g:i A'); ?> ( 12-hr format )</option>
1748
- <option value="H:i" <?php selected( 'H:i', $this->edit_mode_value ); ?>><?php echo UM()->datetime()->get_time('H:i'); ?> ( 24-hr format )</option>
1749
  </select>
1750
  </p>
1751
 
@@ -1756,10 +1715,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1756
  case '_pretty_format':
1757
  ?>
1758
 
1759
- <p><label for="_pretty_format">Displayed Date Format <?php UM()->tooltip( __( 'Whether you wish to show the date in full or only show the years e.g. 25 Years', 'ultimate-member' ) ); ?></label>
1760
  <select name="_pretty_format" id="_pretty_format" style="width: 100%">
1761
- <option value="0" <?php selected( 0, $this->edit_mode_value ); ?>>Show full date</option>
1762
- <option value="1" <?php selected( 1, $this->edit_mode_value ); ?>>Show years only</option>
1763
  </select>
1764
  </p>
1765
 
@@ -1775,15 +1734,15 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1775
  }
1776
  ?>
1777
 
1778
- <p><label for="_disabled_weekdays">Disable specific weekdays <?php UM()->tooltip( __( 'Disable specific week days from being available for selection in this date picker', 'ultimate-member' ) ); ?></label>
1779
  <select name="_disabled_weekdays[]" id="_disabled_weekdays" multiple="multiple" style="width: 100%">
1780
- <option value="1" <?php if ( in_array( 1, $values ) ) { echo 'selected'; } ?>>Sunday</option>
1781
- <option value="2" <?php if ( in_array( 2, $values ) ) { echo 'selected'; } ?>>Monday</option>
1782
- <option value="3" <?php if ( in_array( 3, $values ) ) { echo 'selected'; } ?>>Tuesday</option>
1783
- <option value="4" <?php if ( in_array( 4, $values ) ) { echo 'selected'; } ?>>Wednesday</option>
1784
- <option value="5" <?php if ( in_array( 5, $values ) ) { echo 'selected'; } ?>>Thursday</option>
1785
- <option value="6" <?php if ( in_array( 6, $values ) ) { echo 'selected'; } ?>>Friday</option>
1786
- <option value="7" <?php if ( in_array( 7, $values ) ) { echo 'selected'; } ?>>Saturday</option>
1787
  </select>
1788
  </p>
1789
 
@@ -1793,7 +1752,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1793
  case '_years':
1794
  ?>
1795
 
1796
- <p class="_years"><label for="_years">Number of Years to pick from <?php UM()->tooltip( __( 'Number of years available for the date selection. Default to last 50 years', 'ultimate-member' ) ); ?></label>
1797
  <input type="text" name="_years" id="_years" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : 50; ?>" />
1798
  </p>
1799
 
@@ -1803,11 +1762,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1803
  case '_years_x':
1804
  ?>
1805
 
1806
- <p class="_years"><label for="_years_x">Years Selection <?php UM()->tooltip( __( 'This decides which years should be shown relative to today date', 'ultimate-member' ) ); ?></label>
1807
  <select name="_years_x" id="_years_x" style="width: 100%">
1808
- <option value="equal" <?php selected( 'equal', $this->edit_mode_value ); ?>>Equal years before / after today</option>
1809
- <option value="past" <?php selected( 'past', $this->edit_mode_value ); ?>>Past years only</option>
1810
- <option value="future" <?php selected( 'future', $this->edit_mode_value ); ?>>Future years only</option>
1811
  </select>
1812
  </p>
1813
 
@@ -1817,8 +1776,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1817
  case '_range_start':
1818
  ?>
1819
 
1820
- <p class="_date_range"><label for="_range_start">Date Range Start <?php UM()->tooltip( __( 'Set the minimum date/day in range in the format YYYY/MM/DD', 'ultimate-member' ) ); ?></label>
1821
- <input type="text" name="_range_start" id="_range_start" value="<?php echo $this->edit_mode_value; ?>" placeholder="YYYY/MM/DD" />
1822
  </p>
1823
 
1824
  <?php
@@ -1827,8 +1786,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1827
  case '_range_end':
1828
  ?>
1829
 
1830
- <p class="_date_range"><label for="_range_end">Date Range End <?php UM()->tooltip( __( 'Set the maximum date/day in range in the format YYYY/MM/DD', 'ultimate-member' ) ); ?></label>
1831
- <input type="text" name="_range_end" id="_range_end" value="<?php echo $this->edit_mode_value; ?>" placeholder="YYYY/MM/DD" />
1832
  </p>
1833
 
1834
  <?php
@@ -1837,10 +1796,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1837
  case '_range':
1838
  ?>
1839
 
1840
- <p><label for="_range">Set Date Range <?php UM()->tooltip( __( 'Whether to show a specific number of years or specify a date range to be available for the date picker.', 'ultimate-member' ) ); ?></label>
1841
  <select name="_range" id="_range" class="um-adm-conditional" data-cond1='years' data-cond1-show='_years' data-cond2="date_range" data-cond2-show="_date_range" style="width: 100%">
1842
- <option value="years" <?php selected( 'years', $this->edit_mode_value ); ?>>Fixed Number of Years</option>
1843
- <option value="date_range" <?php selected( 'date_range', $this->edit_mode_value ); ?>>Specific Date Range</option>
1844
  </select>
1845
  </p>
1846
 
@@ -1853,8 +1812,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1853
 
1854
  ?>
1855
 
1856
- <p><label for="_content">Enter Shortcode <?php UM()->tooltip( __( 'Enter the shortcode in the following textarea and it will be displayed on the fields', 'ultimate-member' ) ); ?></label>
1857
- <textarea name="_content" id="_content" placeholder="e.g. [my_custom_shortcode]"><?php echo $this->edit_mode_value; ?></textarea>
1858
  </p>
1859
 
1860
  <?php
@@ -1863,7 +1822,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1863
 
1864
  ?>
1865
 
1866
- <div class="um-admin-editor-h"><label>Content Editor <?php UM()->tooltip( __( 'Edit the content of this field here', 'ultimate-member' ) ); ?></label></div>
1867
 
1868
  <div class="um-admin-editor"><!-- editor dynamically loaded here --></div>
1869
 
@@ -1876,11 +1835,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1876
  case '_crop':
1877
  ?>
1878
 
1879
- <p><label for="_crop">Crop Feature <?php UM()->tooltip( __( 'Enable/disable crop feature for this image upload and define ratio', 'ultimate-member' ) ); ?></label>
1880
  <select name="_crop" id="_crop" style="width: 100%">
1881
- <option value="0" <?php selected( '0', $this->edit_mode_value ); ?>>Turn Off (Default)</option>
1882
- <option value="1" <?php selected( '1', $this->edit_mode_value ); ?>>Crop and force 1:1 ratio</option>
1883
- <option value="3" <?php selected( '3', $this->edit_mode_value ); ?>>Crop and force user-defined ratio</option>
1884
  </select>
1885
  </p>
1886
 
@@ -1894,11 +1853,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1894
  if ( isset( $this->edit_mode_value ) && is_array( $this->edit_mode_value ) ) {
1895
  $values = $this->edit_mode_value;
1896
  } else {
1897
- $values = array('png','jpeg','jpg','gif');
1898
- }
1899
- ?>
1900
 
1901
- <p><label for="_allowed_types">Allowed Image Types <?php UM()->tooltip( __( 'Select the image types that you want to allow to be uploaded via this field.', 'ultimate-member' ) ); ?></label>
1902
  <select name="_allowed_types[]" id="_allowed_types" multiple="multiple" style="width: 100%">
1903
  <?php foreach( UM()->files()->allowed_image_types() as $e => $n ) { ?>
1904
  <option value="<?php echo $e; ?>" <?php if ( in_array( $e, $values ) ) { echo 'selected'; } ?>><?php echo $n; ?></option>
@@ -1913,12 +1871,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1913
  if ( isset( $this->edit_mode_value ) && is_array( $this->edit_mode_value ) ) {
1914
  $values = $this->edit_mode_value;
1915
  } else {
1916
- $values = array('pdf','txt');
1917
- }
1918
-
1919
- ?>
1920
 
1921
- <p><label for="_allowed_types">Allowed File Types <?php UM()->tooltip( __( 'Select the image types that you want to allow to be uploaded via this field.', 'ultimate-member' ) ); ?></label>
1922
  <select name="_allowed_types[]" id="_allowed_types" multiple="multiple" style="width: 100%">
1923
  <?php foreach( UM()->files()->allowed_file_types() as $e => $n ) { ?>
1924
  <option value="<?php echo $e; ?>" <?php if ( in_array( $e, $values ) ) { echo 'selected'; } ?>><?php echo $n; ?></option>
@@ -1934,12 +1890,16 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1934
 
1935
  case '_upload_text':
1936
 
1937
- if ( $this->set_field_type == 'image' ) $value = 'Drag &amp; Drop Photo';
1938
- if ( $this->set_field_type == 'file' ) $value = 'Drag &amp; Drop File';
 
 
 
 
1939
 
1940
  ?>
1941
 
1942
- <p><label for="_upload_text">Upload Box Text <?php UM()->tooltip( __( 'This is the headline that appears in the upload box for this field', 'ultimate-member' ) ); ?></label>
1943
  <input type="text" name="_upload_text" id="_upload_text" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : $value; ?>" />
1944
  </p>
1945
 
@@ -1949,7 +1909,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1949
  case '_upload_help_text':
1950
  ?>
1951
 
1952
- <p><label for="_upload_help_text">Additional Instructions Text <?php UM()->tooltip( __( 'If you need to add information or secondary line below the headline of upload box, enter it here', 'ultimate-member' ) ); ?></label>
1953
  <input type="text" name="_upload_help_text" id="_upload_help_text" value="<?php echo $this->edit_mode_value; ?>" />
1954
  </p>
1955
 
@@ -1959,8 +1919,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1959
  case '_button_text':
1960
  ?>
1961
 
1962
- <p><label for="_button_text">Upload Box Text <?php UM()->tooltip( __( 'The text that appears on the button. e.g. Upload', 'ultimate-member' ) ); ?></label>
1963
- <input type="text" name="_button_text" id="_button_text" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : 'Upload'; ?>" />
1964
  </p>
1965
 
1966
  <?php
@@ -1969,7 +1929,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1969
  case '_max_size':
1970
  ?>
1971
 
1972
- <p><label for="_max_size">Maximum Size in bytes <?php UM()->tooltip( __( 'The maximum size for image that can be uploaded through this field. Leave empty for unlimited size.', 'ultimate-member' ) ); ?></label>
1973
  <input type="text" name="_max_size" id="_max_size" value="<?php echo $this->edit_mode_value; ?>" />
1974
  </p>
1975
 
@@ -1979,7 +1939,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1979
  case '_height':
1980
  ?>
1981
 
1982
- <p><label for="_height">Textarea Height <?php UM()->tooltip( __( 'The height of textarea in pixels. Default is 100 pixels', 'ultimate-member' ) ); ?></label>
1983
  <input type="text" name="_height" id="_height" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '100px'; ?>" />
1984
  </p>
1985
 
@@ -1989,7 +1949,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1989
  case '_spacing':
1990
  ?>
1991
 
1992
- <p><label for="_spacing">Spacing <?php UM()->tooltip( __( 'This is the required spacing in pixels. e.g. 20px', 'ultimate-member' ) ); ?></label>
1993
  <input type="text" name="_spacing" id="_spacing" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '20px'; ?>" />
1994
  </p>
1995
 
@@ -1999,7 +1959,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
1999
  case '_is_multi':
2000
  ?>
2001
 
2002
- <p><label for="_is_multi">Allow multiple selections <?php UM()->tooltip( __( 'Enable/disable multiple selections for this field', 'ultimate-member' ) ); ?></label>
2003
  <input type="checkbox" name="_is_multi" id="_is_multi" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : 0 ) ?> class="um-adm-conditional" data-cond1="1" data-cond1-show="_max_selections" data-cond1-hide="xxx" />
2004
  </p>
2005
 
@@ -2009,7 +1969,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2009
  case '_max_selections':
2010
  ?>
2011
 
2012
- <p class="_max_selections"><label for="_max_selections">Maximum number of selections <?php UM()->tooltip( __( 'Enter a number here to force a maximum number of selections by user for this field', 'ultimate-member' ) ); ?></label>
2013
  <input type="text" name="_max_selections" id="_max_selections" value="<?php echo $this->edit_mode_value; ?>" />
2014
  </p>
2015
 
@@ -2019,7 +1979,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2019
  case '_min_selections':
2020
  ?>
2021
 
2022
- <p class="_min_selections"><label for="_min_selections">Minimum number of selections <?php UM()->tooltip( __( 'Enter a number here to force a minimum number of selections by user for this field', 'ultimate-member' ) ); ?></label>
2023
  <input type="text" name="_min_selections" id="_min_selections" value="<?php echo $this->edit_mode_value; ?>" />
2024
  </p>
2025
 
@@ -2029,7 +1989,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2029
  case '_max_entries':
2030
  ?>
2031
 
2032
- <p class="_max_entries"><label for="_max_selections">Maximum number of entries <?php UM()->tooltip( __( 'This is the max number of entries the user can add via field group.', 'ultimate-member' ) ); ?></label>
2033
  <input type="text" name="_max_entries" id="_max_entries" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : 10; ?>" />
2034
  </p>
2035
 
@@ -2039,7 +1999,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2039
  case '_max_words':
2040
  ?>
2041
 
2042
- <p><label for="_max_words">Maximum allowed words <?php UM()->tooltip( __( 'If you want to enable a maximum number of words to be input in this textarea. Leave empty to disable this setting', 'ultimate-member' ) ); ?></label>
2043
  <input type="text" name="_max_words" id="_max_words" value="<?php echo $this->edit_mode_value; ?>" />
2044
  </p>
2045
 
@@ -2049,7 +2009,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2049
  case '_min':
2050
  ?>
2051
 
2052
- <p><label for="_min">Minimum Number <?php UM()->tooltip( __( 'Minimum number that can be entered in this field', 'ultimate-member' ) ); ?></label>
2053
  <input type="text" name="_min" id="_min" value="<?php echo $this->edit_mode_value; ?>" />
2054
  </p>
2055
 
@@ -2059,7 +2019,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2059
  case '_max':
2060
  ?>
2061
 
2062
- <p><label for="_max">Maximum Number <?php UM()->tooltip( __( 'Maximum number that can be entered in this field', 'ultimate-member' ) ); ?></label>
2063
  <input type="text" name="_max" id="_max" value="<?php echo $this->edit_mode_value; ?>" />
2064
  </p>
2065
 
@@ -2069,7 +2029,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2069
  case '_min_chars':
2070
  ?>
2071
 
2072
- <p><label for="_min_chars">Minimum length <?php UM()->tooltip( __( 'If you want to enable a minimum number of characters to be input in this field. Leave empty to disable this setting', 'ultimate-member' ) ); ?></label>
2073
  <input type="text" name="_min_chars" id="_min_chars" value="<?php echo $this->edit_mode_value; ?>" />
2074
  </p>
2075
 
@@ -2079,7 +2039,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2079
  case '_max_chars':
2080
  ?>
2081
 
2082
- <p><label for="_max_chars">Maximum length <?php UM()->tooltip( __( 'If you want to enable a maximum number of characters to be input in this field. Leave empty to disable this setting', 'ultimate-member' ) ); ?></label>
2083
  <input type="text" name="_max_chars" id="_max_chars" value="<?php echo $this->edit_mode_value; ?>" />
2084
  </p>
2085
 
@@ -2089,7 +2049,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2089
  case '_html':
2090
  ?>
2091
 
2092
- <p><label for="_html">Does this textarea accept HTML? <?php UM()->tooltip( __( 'Turn on/off HTML tags for this textarea', 'ultimate-member' ) ); ?></label>
2093
  <input type="checkbox" name="_html" id="_html" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : 0 ) ?> />
2094
  </p>
2095
 
@@ -2104,11 +2064,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2104
  $values = $this->edit_mode_value;
2105
  } else {
2106
  $values = '';
2107
- }
2108
-
2109
- ?>
2110
 
2111
- <p><label for="_options">Edit Choices <?php UM()->tooltip( __( 'Enter one choice per line. This will represent the available choices or selections available for user.', 'ultimate-member' ) ); ?></label>
2112
  <textarea name="_options" id="_options"><?php echo $values; ?></textarea>
2113
  </p>
2114
 
@@ -2118,8 +2076,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2118
  case '_title':
2119
  ?>
2120
 
2121
- <p><label for="_title">Title <?php UM()->tooltip( __( 'This is the title of the field for your reference in the backend. The title will not appear on the front-end of your website.', 'ultimate-member' ) ); ?></label>
2122
- <input type="text" name="_title" id="_title" value="<?php echo htmlspecialchars($this->edit_mode_value, ENT_QUOTES); ?>" />
2123
  </p>
2124
 
2125
  <?php
@@ -2129,7 +2087,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2129
 
2130
  ?>
2131
 
2132
- <p style="display:none"><label for="_id">Unique ID</label>
2133
  <input type="text" name="_id" id="_id" value="<?php echo $this->edit_mode_value; ?>" />
2134
  </p>
2135
 
@@ -2143,13 +2101,13 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2143
 
2144
  ?>
2145
 
2146
- <p><label for="_metakey">Meta Key <?php UM()->tooltip( __( 'The meta key cannot be changed for duplicated fields or when editing an existing field. If you require a different meta key please create a new field.', 'ultimate-member' ) ); ?></label>
2147
  <input type="text" name="_metakey_locked" id="_metakey_locked" value="<?php echo $this->edit_mode_value; ?>" disabled />
2148
  </p>
2149
 
2150
  <?php } else { ?>
2151
 
2152
- <p><label for="_metakey">Meta Key <?php UM()->tooltip( __( 'A meta key is required to store the entered info in this field in the database. The meta key should be unique to this field and be written in lowercase with an underscore ( _ ) separating words e.g country_list or job_title', 'ultimate-member' ) ); ?></label>
2153
  <input type="text" name="_metakey" id="_metakey" value="" />
2154
  </p>
2155
 
@@ -2162,7 +2120,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2162
  case '_help':
2163
  ?>
2164
 
2165
- <p><label for="_help">Help Text <?php UM()->tooltip( __('This is the text that appears in a tooltip when a user hovers over the info icon. Help text is useful for providing users with more information about what they should enter in the field. Leave blank if no help text is needed for field.', 'ultimate-member' ) ); ?></label>
2166
  <input type="text" name="_help" id="_help" value="<?php echo $this->edit_mode_value; ?>" />
2167
  </p>
2168
 
@@ -2210,8 +2168,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2210
  case '_label':
2211
  ?>
2212
 
2213
- <p><label for="_label">Label <?php UM()->tooltip( __( 'The field label is the text that appears above the field on your front-end form. Leave blank to not show a label above field.', 'ultimate-member' ) ); ?></label>
2214
- <input type="text" name="_label" id="_label" value="<?php echo htmlspecialchars($this->edit_mode_value, ENT_QUOTES); ?>" />
2215
  </p>
2216
 
2217
  <?php
@@ -2220,8 +2178,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2220
  case '_placeholder':
2221
  ?>
2222
 
2223
- <p><label for="_placeholder">Placeholder <?php UM()->tooltip( __( 'This is the text that appears within the field e.g please enter your email address. Leave blank to not show any placeholder text.', 'ultimate-member' ) ); ?></label>
2224
- <input type="text" name="_placeholder" id="_placeholder" value="<?php echo htmlspecialchars($this->edit_mode_value, ENT_QUOTES); ?>" />
2225
  </p>
2226
 
2227
  <?php
@@ -2230,13 +2188,13 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2230
  case '_public':
2231
  ?>
2232
 
2233
- <p><label for="_public">Privacy <?php UM()->tooltip( __( 'Field privacy allows you to select who can view this field on the front-end. The site admin can view all fields regardless of the option set here.', 'ultimate-member' ) ); ?></label>
2234
  <select name="_public" id="_public" class="um-adm-conditional" data-cond1='-2' data-cond1-show='_roles' data-cond2='-3' data-cond2-show='_roles' style="width: 100%">
2235
- <option value="1" <?php selected( 1, $this->edit_mode_value ); ?>>Everyone</option>
2236
- <option value="2" <?php selected( 2, $this->edit_mode_value ); ?>>Members</option>
2237
- <option value="-1" <?php selected( -1, $this->edit_mode_value ); ?>>Only visible to profile owner and admins</option>
2238
- <option value="-3" <?php selected( -3, $this->edit_mode_value ); ?>>Only visible to profile owner and specific roles</option>
2239
- <option value="-2" <?php selected( -2, $this->edit_mode_value ); ?>>Only specific member roles</option>
2240
  </select>
2241
  </p>
2242
 
@@ -2253,10 +2211,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2253
 
2254
  ?>
2255
 
2256
- <p class="_roles"><label for="_roles">Select member roles <?php UM()->tooltip( __( 'Select the member roles that can view this field on the front-end.', 'ultimate-member' ) ); ?></label>
2257
  <select name="_roles[]" id="_roles" style="width: 100%" multiple="multiple">
2258
 
2259
- <?php foreach( UM()->roles()->get_roles() as $key => $value) { ?>
2260
 
2261
  <option value="<?php echo $key; ?>" <?php if ( in_array( $key, $values ) ) { echo 'selected'; } ?>><?php echo $value; ?></option>
2262
 
@@ -2279,7 +2237,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2279
 
2280
  <div class="um-admin-tri">
2281
 
2282
- <p><label for="_required">Is this field required? <?php UM()->tooltip( __( 'This option allows you to set whether the field must be filled in before the form can be processed.', 'ultimate-member' ) ); ?></label>
2283
  <input type="checkbox" name="_required" id="_required" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : $def_required ) ?> />
2284
  </p>
2285
 
@@ -2293,7 +2251,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2293
 
2294
  <div class="um-admin-tri">
2295
 
2296
- <p><label for="_editable">Can user edit this field? <?php UM()->tooltip( __( 'This option allows you to set whether or not the user can edit the information in this field.', 'ultimate-member' ) ); ?></label>
2297
  <input type="hidden" name="_editable" id="_editable_hidden" value="0" />
2298
  <input type="checkbox" name="_editable" id="_editable" value="1" <?php checked( null === $this->edit_mode_value || $this->edit_mode_value ) ?> />
2299
  </p>
@@ -2306,10 +2264,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2306
  case '_number':
2307
  ?>
2308
 
2309
- <p><label for="_number">Rating System <?php UM()->tooltip( __( 'Choose whether you want a 5-stars or 10-stars ratings based here.', 'ultimate-member' ) ); ?></label>
2310
  <select name="_number" id="_number" style="width: 100%">
2311
- <option value="5" <?php selected( 5, $this->edit_mode_value ); ?>>5 stars rating system</option>
2312
- <option value="10" <?php selected( 10, $this->edit_mode_value ); ?>>10 stars rating system</option>
2313
  </select>
2314
  </p>
2315
 
@@ -2319,7 +2277,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
2319
  case '_custom_dropdown_options_source':
2320
  ?>
2321
 
2322
- <p><label for="_custom_dropdown_options_source">Choices Callback<?php UM()->tooltip( __( 'Add a callback source to retrieve choices.', 'ultimate-member' ) ); ?></label>
2323
  <input type="text" name="_custom_dropdown_options_source" id="_custom_dropdown_options_source" value="<?php echo htmlspecialchars($this->edit_mode_value, ENT_QUOTES); ?>" />
2324
  </p>
2325
 
1
  <?php
2
  namespace um\admin\core;
3
 
4
+
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
+
8
  if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
9
 
10
 
28
  $this->in_edit = false;
29
  $this->edit_mode_value = null;
30
 
31
+ add_action( 'admin_head', array( &$this, 'admin_head' ), 9);
32
+ add_action( 'admin_footer', array( &$this, 'load_modal_content' ), 9);
33
 
34
+ add_action( 'load-post.php', array( &$this, 'add_metabox' ), 9 );
35
+ add_action( 'load-post-new.php', array( &$this, 'add_metabox' ), 9 );
36
 
37
+ add_action( 'admin_init', array( &$this, 'add_taxonomy_metabox' ), 9 );
38
 
39
  //roles metaboxes
40
  add_action( 'um_roles_add_meta_boxes', array( &$this, 'add_metabox_role' ) );
41
 
42
  add_filter( 'um_builtin_validation_types_continue_loop', array( &$this, 'validation_types_continue_loop' ), 1, 4 );
43
  add_filter( 'um_restrict_content_hide_metabox', array( &$this, 'hide_metabox_restrict_content_shop' ), 10, 1 );
 
 
 
 
 
 
44
  }
45
 
46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  /**
48
  * Hide Woocommerce Shop page restrict content metabox
49
  * @param $hide
484
  $_um_access_roles_value = array();
485
  if ( ! empty( $data['_um_access_roles'] ) ) {
486
  foreach ( $data['_um_access_roles'] as $key => $value ) {
487
+ if ( $value ) {
488
  $_um_access_roles_value[] = $key;
489
+ }
490
  }
491
  }
492
 
640
  function um_category_access_fields_save( $termID ) {
641
 
642
  // validate nonce
643
+ if ( ! isset( $_REQUEST['um_admin_save_taxonomy_restrict_content_nonce'] ) || ! wp_verify_nonce( $_REQUEST['um_admin_save_taxonomy_restrict_content_nonce'], basename( __FILE__ ) ) ) {
644
  return $termID;
645
+ }
646
 
647
  // validate user
648
  $term = get_term( $termID );
649
  $taxonomy = get_taxonomy( $term->taxonomy );
650
 
651
+ if ( ! current_user_can( $taxonomy->cap->edit_terms, $termID ) ) {
652
  return $termID;
653
+ }
654
 
655
  if ( ! empty( $_REQUEST['um_content_restriction'] ) ) {
656
  update_term_meta( $termID, 'um_content_restriction', $_REQUEST['um_content_restriction'] );
1190
  * }
1191
  * ?>
1192
  */
1193
+ do_action( "um_admin_field_edit_hook{$attribute}", $this->edit_mode_value, $form_id, $this->edit_array );
1194
 
1195
  break;
1196
 
1197
  case '_visibility':
1198
  ?>
1199
 
1200
+ <p><label for="_visibility"><?php _e( 'Visibility', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Select where this field should appear. This option should only be changed on the profile form and allows you to show a field in one mode only (edit or view) or in both modes.','ultimate-member' ) ); ?></label>
1201
  <select name="_visibility" id="_visibility" style="width: 100%">
1202
+ <option value="all" <?php selected( 'all', $this->edit_mode_value ); ?>><?php _e( 'View everywhere', 'ultimate-member' ) ?></option>
1203
+ <option value="edit" <?php selected( 'edit', $this->edit_mode_value ); ?>><?php _e( 'Edit mode only', 'ultimate-member' ) ?></option>
1204
+ <option value="view" <?php selected( 'view', $this->edit_mode_value ); ?>><?php _e( 'View mode only', 'ultimate-member' ) ?></option>
1205
  </select>
1206
  </p>
1207
 
1216
  ?>
1217
 
1218
  <p>
1219
+ <select name="<?php echo esc_attr( $attribute ); ?>" id="<?php echo esc_attr( $attribute ); ?>" style="width: 90px">
1220
 
1221
  <option></option>
1222
 
1223
+ <?php $actions = array( 'show', 'hide' );
1224
+ foreach ( $actions as $action ) { ?>
 
 
1225
 
1226
+ <option value="<?php echo esc_attr( $action ); ?>" <?php selected( $action, $this->edit_mode_value ); ?>><?php echo $action; ?></option>
1227
 
1228
  <?php } ?>
1229
 
1230
  </select>
1231
 
1232
+ &nbsp;&nbsp;<?php _e( 'If' ); ?>
1233
  </p>
1234
 
1235
  <?php
1243
  ?>
1244
 
1245
  <p>
1246
+ <select name="<?php echo esc_attr( $attribute ); ?>" id="<?php echo esc_attr( $attribute ); ?>" style="width: 150px">
1247
 
1248
  <option></option>
1249
 
1253
  if ( isset( $array['title'] ) &&
1254
  ( ! isset( $this->edit_array['metakey'] ) || $key != $this->edit_array['metakey'] ) ) { ?>
1255
 
1256
+ <option value="<?php echo esc_attr( $key ) ?>" <?php selected( $key, $this->edit_mode_value ) ?>><?php echo $array['title'] ?></option>
1257
 
1258
  <?php }
1259
  } ?>
1272
  ?>
1273
 
1274
  <p>
1275
+ <select name="<?php echo esc_attr( $attribute ); ?>" id="<?php echo esc_attr( $attribute ); ?>" style="width: 150px">
1276
 
1277
  <option></option>
1278
 
1288
 
1289
  foreach ( $operators as $operator ) { ?>
1290
 
1291
+ <option value="<?php echo esc_attr( $operator ); ?>" <?php selected( $operator, $this->edit_mode_value ); ?>><?php echo $operator; ?></option>
1292
 
1293
  <?php } ?>
1294
 
1306
  ?>
1307
 
1308
  <p>
1309
+ <input type="text" name="<?php echo esc_attr( $attribute ); ?>" id="<?php echo esc_attr( $attribute ); ?>" value="<?php echo isset( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" placeholder="<?php esc_attr_e( 'Value', 'ultimate-member' ); ?>" style="width: 150px!important;position: relative;top: -1px;" />
1310
  </p>
1311
 
1312
  <?php
1315
  case '_validate':
1316
  ?>
1317
 
1318
+ <p><label for="_validate"><?php _e( 'Validate', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Does this field require a special validation', 'ultimate-member' ) ); ?></label>
1319
+ <select name="_validate" id="_validate" data-placeholder="<?php esc_attr_e( 'Select a validation type...', 'ultimate-member' ) ?>" class="um-adm-conditional" data-cond1="custom" data-cond1-show="_custom_validate" style="width: 100%">
1320
 
1321
  <option value="" <?php selected( '', $this->edit_mode_value ); ?>></option>
1322
 
1347
  */
1348
  $continue = apply_filters( "um_builtin_validation_types_continue_loop", true, $key, $form_id, $field_args );
1349
  if ( $continue ) { ?>
1350
+ <option value="<?php echo esc_attr( $key ); ?>" <?php selected( $key, $this->edit_mode_value ); ?>><?php echo $name; ?></option>
1351
  <?php } ?>
1352
  <?php } ?>
1353
 
1360
  case '_custom_validate':
1361
  ?>
1362
 
1363
+ <p class="_custom_validate"><label for="_custom_validate"><?php _e( 'Custom Action', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'If you want to apply your custom validation, you can use action hooks to add custom validation. Please refer to documentation for further details.', 'ultimate-member' ) ); ?></label>
1364
  <input type="text" name="_custom_validate" id="_custom_validate" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1365
  </p>
1366
 
1374
 
1375
  ?>
1376
 
1377
+ <p class="_heading_text"><label for="_icon"><?php _e( 'Icon', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Select an icon to appear in the field. Leave blank if you do not want an icon to show in the field.', 'ultimate-member' ) ); ?></label>
1378
 
1379
+ <a href="javascript:void(0);" class="button" data-modal="UM_fonticons" data-modal-size="normal" data-dynamic-content="um_admin_fonticon_selector" data-arg1="" data-arg2="" data-back="<?php echo esc_attr( $back ); ?>"><?php _e( 'Choose Icon', 'ultimate-member' ) ?></a>
1380
 
1381
+ <span class="um-admin-icon-value"><?php if ( $this->edit_mode_value ) { ?><i class="<?php echo $this->edit_mode_value; ?>"></i><?php } else { ?><?php _e( 'No Icon', 'ultimate-member' ) ?><?php } ?></span>
1382
 
1383
  <input type="hidden" name="_icon" id="_icon" value="<?php echo (isset( $this->edit_mode_value ) ) ? $this->edit_mode_value : ''; ?>" />
1384
 
1402
 
1403
  <div class="um-admin-tri">
1404
 
1405
+ <p><label for="_icon"><?php _e( 'Icon', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Select an icon to appear in the field. Leave blank if you do not want an icon to show in the field.', 'ultimate-member' ) ); ?></label>
1406
 
1407
+ <a href="javascript:void(0);" class="button" data-modal="UM_fonticons" data-modal-size="normal" data-dynamic-content="um_admin_fonticon_selector" data-arg1="" data-arg2="" data-back="<?php echo esc_attr( $back ); ?>"><?php _e( 'Choose Icon', 'ultimate-member' ) ?></a>
1408
 
1409
+ <span class="um-admin-icon-value"><?php if ( $this->edit_mode_value ) { ?><i class="<?php echo $this->edit_mode_value; ?>"></i><?php } else { ?><?php _e( 'No Icon', 'ultimate-member' ) ?><?php } ?></span>
1410
 
1411
  <input type="hidden" name="_icon" id="_icon" value="<?php echo (isset( $this->edit_mode_value ) ) ? $this->edit_mode_value : ''; ?>" />
1412
 
1429
  case '_css_class':
1430
  ?>
1431
 
1432
+ <p><label for="_css_class"><?php _e( 'CSS Class', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Specify a custom CSS class to be applied to this element', 'ultimate-member' ) ); ?></label>
1433
  <input type="text" name="_css_class" id="_css_class" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1434
  </p>
1435
 
1439
  case '_width':
1440
  ?>
1441
 
1442
+ <p><label for="_width"><?php _e( 'Thickness (in pixels)', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This is the width in pixels, e.g. 4 or 2, etc', 'ultimate-member' ) ); ?></label>
1443
  <input type="text" name="_width" id="_width" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : 4; ?>" />
1444
  </p>
1445
 
1449
  case '_divider_text':
1450
  ?>
1451
 
1452
+ <p><label for="_divider_text"><?php _e( 'Optional Text', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Optional text to include with the divider', 'ultimate-member' ) ); ?></label>
1453
  <input type="text" name="_divider_text" id="_divider_text" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1454
  </p>
1455
 
1459
  case '_padding':
1460
  ?>
1461
 
1462
+ <p><label for="_padding"><?php _e( 'Padding', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Set padding for this section', 'ultimate-member' ) ); ?></label>
1463
  <input type="text" name="_padding" id="_padding" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '0px 0px 0px 0px'; ?>" />
1464
  </p>
1465
 
1469
  case '_margin':
1470
  ?>
1471
 
1472
+ <p><label for="_margin"><?php _e( 'Margin', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Set margin for this section', 'ultimate-member' ) ); ?></label>
1473
  <input type="text" name="_margin" id="_margin" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '0px 0px 30px 0px'; ?>" />
1474
  </p>
1475
 
1479
  case '_border':
1480
  ?>
1481
 
1482
+ <p><label for="_border"><?php _e( 'Border', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Set border for this section', 'ultimate-member' ) ); ?></label>
1483
  <input type="text" name="_border" id="_border" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '0px 0px 0px 0px'; ?>" />
1484
  </p>
1485
 
1489
  case '_borderstyle':
1490
  ?>
1491
 
1492
+ <p><label for="_borderstyle"><?php _e( 'Style', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Choose the border style', 'ultimate-member' ) ); ?></label>
1493
  <select name="_borderstyle" id="_borderstyle" style="width: 100%">
1494
+ <option value="solid" <?php selected( 'solid', $this->edit_mode_value ); ?>><?php _e( 'Solid', 'ultimate-member' ) ?></option>
1495
+ <option value="dotted" <?php selected( 'dotted', $this->edit_mode_value ); ?>><?php _e( 'Dotted', 'ultimate-member' ) ?></option>
1496
+ <option value="dashed" <?php selected( 'dashed', $this->edit_mode_value ); ?>><?php _e( 'Dashed', 'ultimate-member' ) ?></option>
1497
+ <option value="double" <?php selected( 'double', $this->edit_mode_value ); ?>><?php _e( 'Double', 'ultimate-member' ) ?></option>
1498
  </select>
1499
  </p>
1500
 
1504
  case '_borderradius':
1505
  ?>
1506
 
1507
+ <p><label for="_borderradius"><?php _e( 'Border Radius', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Rounded corners can be applied by setting a pixels value here. e.g. 5px', 'ultimate-member' ) ); ?></label>
1508
  <input type="text" name="_borderradius" id="_borderradius" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '0px'; ?>" />
1509
  </p>
1510
 
1514
  case '_bordercolor':
1515
  ?>
1516
 
1517
+ <p><label for="_bordercolor"><?php _e( 'Border Color', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Give a color to this border', 'ultimate-member' ) ); ?></label>
1518
  <input type="text" name="_bordercolor" id="_bordercolor" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1519
  </p>
1520
 
1534
  case '_heading_text':
1535
  ?>
1536
 
1537
+ <p class="_heading_text"><label for="_heading_text"><?php _e( 'Heading Text', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Enter the row heading text here', 'ultimate-member' ) ); ?></label>
1538
  <input type="text" name="_heading_text" id="_heading_text" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1539
  </p>
1540
 
1544
  case '_background':
1545
  ?>
1546
 
1547
+ <p><label for="_background"><?php _e( 'Background Color', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This will be the background of entire section', 'ultimate-member' ) ); ?></label>
1548
  <input type="text" name="_background" id="_background" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1549
  </p>
1550
 
1554
  case '_heading_background_color':
1555
  ?>
1556
 
1557
+ <p class="_heading_text"><label for="_heading_background_color"><?php _e( 'Heading Background Color', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This will be the background of the heading section', 'ultimate-member' ) ); ?></label>
1558
  <input type="text" name="_heading_background_color" id="_heading_background_color" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1559
  </p>
1560
 
1564
  case '_heading_text_color':
1565
  ?>
1566
 
1567
+ <p class="_heading_text"><label for="_heading_text_color"><?php _e( 'Heading Text Color', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This will be the text color of heading part only', 'ultimate-member' ) ); ?></label>
1568
  <input type="text" name="_heading_text_color" id="_heading_text_color" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1569
  </p>
1570
 
1574
  case '_text_color':
1575
  ?>
1576
 
1577
+ <p><label for="_text_color"><?php _e( 'Text Color', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This will be the text color of entire section', 'ultimate-member' ) ); ?></label>
1578
  <input type="text" name="_text_color" id="_text_color" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1579
  </p>
1580
 
1584
  case '_icon_color':
1585
  ?>
1586
 
1587
+ <p class="_heading_text"><label for="_icon_color"><?php _e( 'Icon Color', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This will be the color of selected icon. By default It will be the same color as heading text color', 'ultimate-member' ) ); ?></label>
1588
  <input type="text" name="_icon_color" id="_icon_color" class="um-admin-colorpicker" data-default-color="" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1589
  </p>
1590
 
1594
  case '_color':
1595
  ?>
1596
 
1597
+ <p><label for="_color"><?php _e( 'Color', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Select a color for this divider', 'ultimate-member' ) ); ?></label>
1598
  <input type="text" name="_color" id="_color" class="um-admin-colorpicker" data-default-color="#eeeeee" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '#eeeeee'; ?>" />
1599
  </p>
1600
 
1604
  case '_url_text':
1605
  ?>
1606
 
1607
+ <p><label for="_url_text"><?php _e( 'URL Alt Text', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Entering custom text here will replace the url with a text link', 'ultimate-member' ) ); ?></label>
1608
  <input type="text" name="_url_text" id="_url_text" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : ''; ?>" />
1609
  </p>
1610
 
1614
  case '_url_target':
1615
  ?>
1616
 
1617
+ <p><label for="_url_target"><?php _e( 'Link Target', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Choose whether to open this link in same window or in a new window', 'ultimate-member' ) ); ?></label>
1618
  <select name="_url_target" id="_url_target" style="width: 100%">
1619
+ <option value="_blank" <?php selected( '_blank', $this->edit_mode_value ); ?>><?php _e( 'Open in new window', 'ultimate-member' ) ?></option>
1620
+ <option value="_self" <?php selected( '_self', $this->edit_mode_value ); ?>><?php _e( 'Same window', 'ultimate-member' ) ?></option>
1621
  </select>
1622
  </p>
1623
 
1627
  case '_url_rel':
1628
  ?>
1629
 
1630
+ <p><label for="_url_rel"><?php _e( 'SEO Follow', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Whether to follow or nofollow this link by search engines', 'ultimate-member' ) ); ?></label>
1631
  <select name="_url_rel" id="_url_rel" style="width: 100%">
1632
+ <option value="follow" <?php selected( 'follow', $this->edit_mode_value ); ?>><?php _e( 'Follow', 'ultimate-member' ) ?></option>
1633
+ <option value="nofollow" <?php selected( 'nofollow', $this->edit_mode_value ); ?>><?php _e( 'No-Follow', 'ultimate-member' ) ?></option>
1634
  </select>
1635
  </p>
1636
 
1640
  case '_force_good_pass':
1641
  ?>
1642
 
1643
+ <p><label for="_force_good_pass"><?php _e( 'Force strong password?', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Turn on to force users to create a strong password (A combination of one lowercase letter, one uppercase letter, and one number). If turned on this option is only applied to register forms and not to login forms.', 'ultimate-member' ) ); ?></label>
1644
  <input type="checkbox" name="_force_good_pass" id="_force_good_pass" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : 0 ) ?> />
1645
  </p>
1646
 
1650
  case '_force_confirm_pass':
1651
  ?>
1652
 
1653
+ <p><label for="_force_confirm_pass"><?php _e( 'Automatically add a confirm password field?', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Turn on to add a confirm password field. If turned on the confirm password field will only show on register forms and not on login forms.', 'ultimate-member' ) ); ?></label>
1654
  <input type="checkbox" name="_force_confirm_pass" id="_force_confirm_pass" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : 0 ) ?> />
1655
  </p>
1656
 
1660
  case '_style':
1661
  ?>
1662
 
1663
+ <p><label for="_style"><?php _e( 'Style', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This is the line-style of divider', 'ultimate-member' ) ); ?></label>
1664
  <select name="_style" id="_style" style="width: 100%">
1665
+ <option value="solid" <?php selected( 'solid', $this->edit_mode_value ); ?>><?php _e( 'Solid', 'ultimate-member' ) ?></option>
1666
+ <option value="dotted" <?php selected( 'dotted', $this->edit_mode_value ); ?>><?php _e( 'Dotted', 'ultimate-member' ) ?></option>
1667
+ <option value="dashed" <?php selected( 'dashed', $this->edit_mode_value ); ?>><?php _e( 'Dashed', 'ultimate-member' ) ?></option>
1668
+ <option value="double" <?php selected( 'double', $this->edit_mode_value ); ?>><?php _e( 'Double', 'ultimate-member' ) ?></option>
1669
  </select>
1670
  </p>
1671
 
1676
 
1677
  ?>
1678
 
1679
+ <p><label for="_intervals"><?php _e( 'Time Intervals (in minutes)', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Choose the minutes interval between each time in the time picker.', 'ultimate-member' ) ); ?></label>
1680
+ <input type="text" name="_intervals" id="_intervals" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : 60; ?>" placeholder="<?php esc_attr_e( 'e.g. 30, 60, 120', 'ultimate-member' ) ?>" />
1681
  </p>
1682
 
1683
  <?php
1689
  if ( $this->set_field_type == 'date' ) {
1690
  ?>
1691
 
1692
+ <p><label for="_format"><?php _e( 'Date User-Friendly Format', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'The display format of the date which is visible to user.', 'ultimate-member' ) ); ?></label>
1693
  <select name="_format" id="_format" style="width: 100%">
1694
  <option value="j M Y" <?php selected( 'j M Y', $this->edit_mode_value ); ?>><?php echo UM()->datetime()->get_time('j M Y'); ?></option>
1695
  <option value="M j Y" <?php selected( 'M j Y', $this->edit_mode_value ); ?>><?php echo UM()->datetime()->get_time('M j Y'); ?></option>
1700
 
1701
  <?php } else { ?>
1702
 
1703
+ <p><label for="_format"><?php _e( 'Time Format', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Choose the displayed time-format for this field', 'ultimate-member' ) ); ?></label>
1704
  <select name="_format" id="_format" style="width: 100%">
1705
+ <option value="g:i a" <?php selected( 'g:i a', $this->edit_mode_value ); ?>><?php echo UM()->datetime()->get_time('g:i a'); ?><?php _e( '( 12-hr format )', 'ultimate-member' ) ?></option>
1706
+ <option value="g:i A" <?php selected( 'g:i A', $this->edit_mode_value ); ?>><?php echo UM()->datetime()->get_time('g:i A'); ?><?php _e( '( 12-hr format )', 'ultimate-member' ) ?></option>
1707
+ <option value="H:i" <?php selected( 'H:i', $this->edit_mode_value ); ?>><?php echo UM()->datetime()->get_time('H:i'); ?><?php _e( '( 24-hr format )', 'ultimate-member' ) ?></option>
1708
  </select>
1709
  </p>
1710
 
1715
  case '_pretty_format':
1716
  ?>
1717
 
1718
+ <p><label for="_pretty_format"><?php _e( 'Displayed Date Format', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Whether you wish to show the date in full or only show the years e.g. 25 Years', 'ultimate-member' ) ); ?></label>
1719
  <select name="_pretty_format" id="_pretty_format" style="width: 100%">
1720
+ <option value="0" <?php selected( 0, $this->edit_mode_value ); ?>><?php _e( 'Show full date', 'ultimate-member' ) ?></option>
1721
+ <option value="1" <?php selected( 1, $this->edit_mode_value ); ?>><?php _e( 'Show years only', 'ultimate-member' ) ?></option>
1722
  </select>
1723
  </p>
1724
 
1734
  }
1735
  ?>
1736
 
1737
+ <p><label for="_disabled_weekdays"><?php _e( 'Disable specific weekdays', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Disable specific week days from being available for selection in this date picker', 'ultimate-member' ) ); ?></label>
1738
  <select name="_disabled_weekdays[]" id="_disabled_weekdays" multiple="multiple" style="width: 100%">
1739
+ <option value="1" <?php if ( in_array( 1, $values ) ) { echo 'selected'; } ?>><?php _e( 'Sunday', 'ultimate-member' ) ?></option>
1740
+ <option value="2" <?php if ( in_array( 2, $values ) ) { echo 'selected'; } ?>><?php _e( 'Monday', 'ultimate-member' ) ?></option>
1741
+ <option value="3" <?php if ( in_array( 3, $values ) ) { echo 'selected'; } ?>><?php _e( 'Tuesday', 'ultimate-member' ) ?></option>
1742
+ <option value="4" <?php if ( in_array( 4, $values ) ) { echo 'selected'; } ?>><?php _e( 'Wednesday', 'ultimate-member' ) ?></option>
1743
+ <option value="5" <?php if ( in_array( 5, $values ) ) { echo 'selected'; } ?>><?php _e( 'Thursday', 'ultimate-member' ) ?></option>
1744
+ <option value="6" <?php if ( in_array( 6, $values ) ) { echo 'selected'; } ?>><?php _e( 'Friday', 'ultimate-member' ) ?></option>
1745
+ <option value="7" <?php if ( in_array( 7, $values ) ) { echo 'selected'; } ?>><?php _e( 'Saturday', 'ultimate-member' ) ?></option>
1746
  </select>
1747
  </p>
1748
 
1752
  case '_years':
1753
  ?>
1754
 
1755
+ <p class="_years"><label for="_years"><?php _e( 'Number of Years to pick from', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Number of years available for the date selection. Default to last 50 years', 'ultimate-member' ) ); ?></label>
1756
  <input type="text" name="_years" id="_years" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : 50; ?>" />
1757
  </p>
1758
 
1762
  case '_years_x':
1763
  ?>
1764
 
1765
+ <p class="_years"><label for="_years_x"><?php _e( 'Years Selection', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This decides which years should be shown relative to today date', 'ultimate-member' ) ); ?></label>
1766
  <select name="_years_x" id="_years_x" style="width: 100%">
1767
+ <option value="equal" <?php selected( 'equal', $this->edit_mode_value ); ?>><?php _e( 'Equal years before / after today', 'ultimate-member' ) ?></option>
1768
+ <option value="past" <?php selected( 'past', $this->edit_mode_value ); ?>><?php _e( 'Past years only', 'ultimate-member' ) ?></option>
1769
+ <option value="future" <?php selected( 'future', $this->edit_mode_value ); ?>><?php _e( 'Future years only', 'ultimate-member' ) ?></option>
1770
  </select>
1771
  </p>
1772
 
1776
  case '_range_start':
1777
  ?>
1778
 
1779
+ <p class="_date_range"><label for="_range_start"><?php _e( 'Date Range Start', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Set the minimum date/day in range in the format YYYY/MM/DD', 'ultimate-member' ) ); ?></label>
1780
+ <input type="text" name="_range_start" id="_range_start" value="<?php echo $this->edit_mode_value; ?>" placeholder="<?php esc_attr_e( 'YYYY/MM/DD', 'ultimate-member' ) ?>" />
1781
  </p>
1782
 
1783
  <?php
1786
  case '_range_end':
1787
  ?>
1788
 
1789
+ <p class="_date_range"><label for="_range_end"><?php _e( 'Date Range End', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Set the maximum date/day in range in the format YYYY/MM/DD', 'ultimate-member' ) ); ?></label>
1790
+ <input type="text" name="_range_end" id="_range_end" value="<?php echo $this->edit_mode_value; ?>" placeholder="<?php esc_attr_e( 'YYYY/MM/DD', 'ultimate-member' ) ?>" />
1791
  </p>
1792
 
1793
  <?php
1796
  case '_range':
1797
  ?>
1798
 
1799
+ <p><label for="_range"><?php _e( 'Set Date Range', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Whether to show a specific number of years or specify a date range to be available for the date picker.', 'ultimate-member' ) ); ?></label>
1800
  <select name="_range" id="_range" class="um-adm-conditional" data-cond1='years' data-cond1-show='_years' data-cond2="date_range" data-cond2-show="_date_range" style="width: 100%">
1801
+ <option value="years" <?php selected( 'years', $this->edit_mode_value ); ?>><?php _e( 'Fixed Number of Years', 'ultimate-member' ) ?></option>
1802
+ <option value="date_range" <?php selected( 'date_range', $this->edit_mode_value ); ?>><?php _e( 'Specific Date Range', 'ultimate-member' ) ?></option>
1803
  </select>
1804
  </p>
1805
 
1812
 
1813
  ?>
1814
 
1815
+ <p><label for="_content"><?php _e( 'Enter Shortcode', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Enter the shortcode in the following textarea and it will be displayed on the fields', 'ultimate-member' ) ); ?></label>
1816
+ <textarea name="_content" id="_content" placeholder="<?php esc_attr_e( 'e.g. [my_custom_shortcode]', 'ultimate-member' ) ?>"><?php echo $this->edit_mode_value; ?></textarea>
1817
  </p>
1818
 
1819
  <?php
1822
 
1823
  ?>
1824
 
1825
+ <div class="um-admin-editor-h"><label><?php _e( 'Content Editor', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Edit the content of this field here', 'ultimate-member' ) ); ?></label></div>
1826
 
1827
  <div class="um-admin-editor"><!-- editor dynamically loaded here --></div>
1828
 
1835
  case '_crop':
1836
  ?>
1837
 
1838
+ <p><label for="_crop"><?php _e( 'Crop Feature', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Enable/disable crop feature for this image upload and define ratio', 'ultimate-member' ) ); ?></label>
1839
  <select name="_crop" id="_crop" style="width: 100%">
1840
+ <option value="0" <?php selected( '0', $this->edit_mode_value ); ?>><?php _e( 'Turn Off (Default)', 'ultimate-member' ) ?></option>
1841
+ <option value="1" <?php selected( '1', $this->edit_mode_value ); ?>><?php _e( 'Crop and force 1:1 ratio', 'ultimate-member' ) ?></option>
1842
+ <option value="3" <?php selected( '3', $this->edit_mode_value ); ?>><?php _e( 'Crop and force user-defined ratio', 'ultimate-member' ) ?></option>
1843
  </select>
1844
  </p>
1845
 
1853
  if ( isset( $this->edit_mode_value ) && is_array( $this->edit_mode_value ) ) {
1854
  $values = $this->edit_mode_value;
1855
  } else {
1856
+ $values = array( 'png','jpeg','jpg','gif' );
1857
+ } ?>
 
1858
 
1859
+ <p><label for="_allowed_types"><?php _e( 'Allowed Image Types', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Select the image types that you want to allow to be uploaded via this field.', 'ultimate-member' ) ); ?></label>
1860
  <select name="_allowed_types[]" id="_allowed_types" multiple="multiple" style="width: 100%">
1861
  <?php foreach( UM()->files()->allowed_image_types() as $e => $n ) { ?>
1862
  <option value="<?php echo $e; ?>" <?php if ( in_array( $e, $values ) ) { echo 'selected'; } ?>><?php echo $n; ?></option>
1871
  if ( isset( $this->edit_mode_value ) && is_array( $this->edit_mode_value ) ) {
1872
  $values = $this->edit_mode_value;
1873
  } else {
1874
+ $values = array( 'pdf', 'txt' );
1875
+ } ?>
 
 
1876
 
1877
+ <p><label for="_allowed_types"><?php _e( 'Allowed File Types', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Select the image types that you want to allow to be uploaded via this field.', 'ultimate-member' ) ); ?></label>
1878
  <select name="_allowed_types[]" id="_allowed_types" multiple="multiple" style="width: 100%">
1879
  <?php foreach( UM()->files()->allowed_file_types() as $e => $n ) { ?>
1880
  <option value="<?php echo $e; ?>" <?php if ( in_array( $e, $values ) ) { echo 'selected'; } ?>><?php echo $n; ?></option>
1890
 
1891
  case '_upload_text':
1892
 
1893
+ if ( $this->set_field_type == 'image' ) {
1894
+ $value = __( 'Drag &amp; Drop Photo', 'ultimate-member' );
1895
+ }
1896
+ if ( $this->set_field_type == 'file' ) {
1897
+ $value = __( 'Drag &amp; Drop File', 'ultimate-member' );
1898
+ }
1899
 
1900
  ?>
1901
 
1902
+ <p><label for="_upload_text"><?php _e( 'Upload Box Text', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This is the headline that appears in the upload box for this field', 'ultimate-member' ) ); ?></label>
1903
  <input type="text" name="_upload_text" id="_upload_text" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : $value; ?>" />
1904
  </p>
1905
 
1909
  case '_upload_help_text':
1910
  ?>
1911
 
1912
+ <p><label for="_upload_help_text"><?php _e( 'Additional Instructions Text', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'If you need to add information or secondary line below the headline of upload box, enter it here', 'ultimate-member' ) ); ?></label>
1913
  <input type="text" name="_upload_help_text" id="_upload_help_text" value="<?php echo $this->edit_mode_value; ?>" />
1914
  </p>
1915
 
1919
  case '_button_text':
1920
  ?>
1921
 
1922
+ <p><label for="_button_text"><?php _e( 'Upload Box Text', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'The text that appears on the button. e.g. Upload', 'ultimate-member' ) ); ?></label>
1923
+ <input type="text" name="_button_text" id="_button_text" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : __( 'Upload', 'ultimate-member' ); ?>" />
1924
  </p>
1925
 
1926
  <?php
1929
  case '_max_size':
1930
  ?>
1931
 
1932
+ <p><label for="_max_size"><?php _e( 'Maximum Size in bytes', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'The maximum size for image that can be uploaded through this field. Leave empty for unlimited size.', 'ultimate-member' ) ); ?></label>
1933
  <input type="text" name="_max_size" id="_max_size" value="<?php echo $this->edit_mode_value; ?>" />
1934
  </p>
1935
 
1939
  case '_height':
1940
  ?>
1941
 
1942
+ <p><label for="_height"><?php _e( 'Textarea Height', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'The height of textarea in pixels. Default is 100 pixels', 'ultimate-member' ) ); ?></label>
1943
  <input type="text" name="_height" id="_height" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '100px'; ?>" />
1944
  </p>
1945
 
1949
  case '_spacing':
1950
  ?>
1951
 
1952
+ <p><label for="_spacing"><?php _e( 'Spacing', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This is the required spacing in pixels. e.g. 20px', 'ultimate-member' ) ); ?></label>
1953
  <input type="text" name="_spacing" id="_spacing" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : '20px'; ?>" />
1954
  </p>
1955
 
1959
  case '_is_multi':
1960
  ?>
1961
 
1962
+ <p><label for="_is_multi"><?php _e( 'Allow multiple selections', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Enable/disable multiple selections for this field', 'ultimate-member' ) ); ?></label>
1963
  <input type="checkbox" name="_is_multi" id="_is_multi" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : 0 ) ?> class="um-adm-conditional" data-cond1="1" data-cond1-show="_max_selections" data-cond1-hide="xxx" />
1964
  </p>
1965
 
1969
  case '_max_selections':
1970
  ?>
1971
 
1972
+ <p class="_max_selections"><label for="_max_selections"><?php _e( 'Maximum number of selections', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Enter a number here to force a maximum number of selections by user for this field', 'ultimate-member' ) ); ?></label>
1973
  <input type="text" name="_max_selections" id="_max_selections" value="<?php echo $this->edit_mode_value; ?>" />
1974
  </p>
1975
 
1979
  case '_min_selections':
1980
  ?>
1981
 
1982
+ <p class="_min_selections"><label for="_min_selections"><?php _e( 'Minimum number of selections', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Enter a number here to force a minimum number of selections by user for this field', 'ultimate-member' ) ); ?></label>
1983
  <input type="text" name="_min_selections" id="_min_selections" value="<?php echo $this->edit_mode_value; ?>" />
1984
  </p>
1985
 
1989
  case '_max_entries':
1990
  ?>
1991
 
1992
+ <p class="_max_entries"><label for="_max_selections"><?php _e( 'Maximum number of entries', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This is the max number of entries the user can add via field group.', 'ultimate-member' ) ); ?></label>
1993
  <input type="text" name="_max_entries" id="_max_entries" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : 10; ?>" />
1994
  </p>
1995
 
1999
  case '_max_words':
2000
  ?>
2001
 
2002
+ <p><label for="_max_words"><?php _e( 'Maximum allowed words', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'If you want to enable a maximum number of words to be input in this textarea. Leave empty to disable this setting', 'ultimate-member' ) ); ?></label>
2003
  <input type="text" name="_max_words" id="_max_words" value="<?php echo $this->edit_mode_value; ?>" />
2004
  </p>
2005
 
2009
  case '_min':
2010
  ?>
2011
 
2012
+ <p><label for="_min"><?php _e( 'Minimum Number', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Minimum number that can be entered in this field', 'ultimate-member' ) ); ?></label>
2013
  <input type="text" name="_min" id="_min" value="<?php echo $this->edit_mode_value; ?>" />
2014
  </p>
2015
 
2019
  case '_max':
2020
  ?>
2021
 
2022
+ <p><label for="_max"><?php _e( 'Maximum Number', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Maximum number that can be entered in this field', 'ultimate-member' ) ); ?></label>
2023
  <input type="text" name="_max" id="_max" value="<?php echo $this->edit_mode_value; ?>" />
2024
  </p>
2025
 
2029
  case '_min_chars':
2030
  ?>
2031
 
2032
+ <p><label for="_min_chars"><?php _e( 'Minimum length', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'If you want to enable a minimum number of characters to be input in this field. Leave empty to disable this setting', 'ultimate-member' ) ); ?></label>
2033
  <input type="text" name="_min_chars" id="_min_chars" value="<?php echo $this->edit_mode_value; ?>" />
2034
  </p>
2035
 
2039
  case '_max_chars':
2040
  ?>
2041
 
2042
+ <p><label for="_max_chars"><?php _e( 'Maximum length', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'If you want to enable a maximum number of characters to be input in this field. Leave empty to disable this setting', 'ultimate-member' ) ); ?></label>
2043
  <input type="text" name="_max_chars" id="_max_chars" value="<?php echo $this->edit_mode_value; ?>" />
2044
  </p>
2045
 
2049
  case '_html':
2050
  ?>
2051
 
2052
+ <p><label for="_html"><?php _e( 'Does this textarea accept HTML?', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Turn on/off HTML tags for this textarea', 'ultimate-member' ) ); ?></label>
2053
  <input type="checkbox" name="_html" id="_html" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : 0 ) ?> />
2054
  </p>
2055
 
2064
  $values = $this->edit_mode_value;
2065
  } else {
2066
  $values = '';
2067
+ } ?>
 
 
2068
 
2069
+ <p><label for="_options"><?php _e( 'Edit Choices', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Enter one choice per line. This will represent the available choices or selections available for user.', 'ultimate-member' ) ); ?></label>
2070
  <textarea name="_options" id="_options"><?php echo $values; ?></textarea>
2071
  </p>
2072
 
2076
  case '_title':
2077
  ?>
2078
 
2079
+ <p><label for="_title"><?php _e( 'Title', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This is the title of the field for your reference in the backend. The title will not appear on the front-end of your website.', 'ultimate-member' ) ); ?></label>
2080
+ <input type="text" name="_title" id="_title" value="<?php echo htmlspecialchars( $this->edit_mode_value, ENT_QUOTES ); ?>" />
2081
  </p>
2082
 
2083
  <?php
2087
 
2088
  ?>
2089
 
2090
+ <p style="display:none"><label for="_id"><?php _e( 'Unique ID', 'ultimate-member' ) ?></label>
2091
  <input type="text" name="_id" id="_id" value="<?php echo $this->edit_mode_value; ?>" />
2092
  </p>
2093
 
2101
 
2102
  ?>
2103
 
2104
+ <p><label for="_metakey"><?php _e( 'Meta Key', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'The meta key cannot be changed for duplicated fields or when editing an existing field. If you require a different meta key please create a new field.', 'ultimate-member' ) ); ?></label>
2105
  <input type="text" name="_metakey_locked" id="_metakey_locked" value="<?php echo $this->edit_mode_value; ?>" disabled />
2106
  </p>
2107
 
2108
  <?php } else { ?>
2109
 
2110
+ <p><label for="_metakey"><?php _e( 'Meta Key', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'A meta key is required to store the entered info in this field in the database. The meta key should be unique to this field and be written in lowercase with an underscore ( _ ) separating words e.g country_list or job_title', 'ultimate-member' ) ); ?></label>
2111
  <input type="text" name="_metakey" id="_metakey" value="" />
2112
  </p>
2113
 
2120
  case '_help':
2121
  ?>
2122
 
2123
+ <p><label for="_help"><?php _e( 'Help Text', 'ultimate-member' ) ?> <?php UM()->tooltip( __('This is the text that appears in a tooltip when a user hovers over the info icon. Help text is useful for providing users with more information about what they should enter in the field. Leave blank if no help text is needed for field.', 'ultimate-member' ) ); ?></label>
2124
  <input type="text" name="_help" id="_help" value="<?php echo $this->edit_mode_value; ?>" />
2125
  </p>
2126
 
2168
  case '_label':
2169
  ?>
2170
 
2171
+ <p><label for="_label"><?php _e( 'Label', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'The field label is the text that appears above the field on your front-end form. Leave blank to not show a label above field.', 'ultimate-member' ) ); ?></label>
2172
+ <input type="text" name="_label" id="_label" value="<?php echo htmlspecialchars( $this->edit_mode_value, ENT_QUOTES ); ?>" />
2173
  </p>
2174
 
2175
  <?php
2178
  case '_placeholder':
2179
  ?>
2180
 
2181
+ <p><label for="_placeholder"><?php _e( 'Placeholder', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This is the text that appears within the field e.g please enter your email address. Leave blank to not show any placeholder text.', 'ultimate-member' ) ); ?></label>
2182
+ <input type="text" name="_placeholder" id="_placeholder" value="<?php echo htmlspecialchars( $this->edit_mode_value, ENT_QUOTES ); ?>" />
2183
  </p>
2184
 
2185
  <?php
2188
  case '_public':
2189
  ?>
2190
 
2191
+ <p><label for="_public"><?php _e( 'Privacy', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Field privacy allows you to select who can view this field on the front-end. The site admin can view all fields regardless of the option set here.', 'ultimate-member' ) ); ?></label>
2192
  <select name="_public" id="_public" class="um-adm-conditional" data-cond1='-2' data-cond1-show='_roles' data-cond2='-3' data-cond2-show='_roles' style="width: 100%">
2193
+ <option value="1" <?php selected( 1, $this->edit_mode_value ); ?>><?php _e( 'Everyone', 'ultimate-member' ) ?></option>
2194
+ <option value="2" <?php selected( 2, $this->edit_mode_value ); ?>><?php _e( 'Members', 'ultimate-member' ) ?></option>
2195
+ <option value="-1" <?php selected( -1, $this->edit_mode_value ); ?>><?php _e( 'Only visible to profile owner and admins', 'ultimate-member' ) ?></option>
2196
+ <option value="-3" <?php selected( -3, $this->edit_mode_value ); ?>><?php _e( 'Only visible to profile owner and specific roles', 'ultimate-member' ) ?></option>
2197
+ <option value="-2" <?php selected( -2, $this->edit_mode_value ); ?>><?php _e( 'Only specific member roles', 'ultimate-member' ) ?></option>
2198
  </select>
2199
  </p>
2200
 
2211
 
2212
  ?>
2213
 
2214
+ <p class="_roles"><label for="_roles"><?php _e( 'Select member roles', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Select the member roles that can view this field on the front-end.', 'ultimate-member' ) ); ?></label>
2215
  <select name="_roles[]" id="_roles" style="width: 100%" multiple="multiple">
2216
 
2217
+ <?php foreach ( UM()->roles()->get_roles() as $key => $value) { ?>
2218
 
2219
  <option value="<?php echo $key; ?>" <?php if ( in_array( $key, $values ) ) { echo 'selected'; } ?>><?php echo $value; ?></option>
2220
 
2237
 
2238
  <div class="um-admin-tri">
2239
 
2240
+ <p><label for="_required"><?php _e( 'Is this field required?', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This option allows you to set whether the field must be filled in before the form can be processed.', 'ultimate-member' ) ); ?></label>
2241
  <input type="checkbox" name="_required" id="_required" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : $def_required ) ?> />
2242
  </p>
2243
 
2251
 
2252
  <div class="um-admin-tri">
2253
 
2254
+ <p><label for="_editable"><?php _e( 'Can user edit this field?', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'This option allows you to set whether or not the user can edit the information in this field.', 'ultimate-member' ) ); ?></label>
2255
  <input type="hidden" name="_editable" id="_editable_hidden" value="0" />
2256
  <input type="checkbox" name="_editable" id="_editable" value="1" <?php checked( null === $this->edit_mode_value || $this->edit_mode_value ) ?> />
2257
  </p>
2264
  case '_number':
2265
  ?>
2266
 
2267
+ <p><label for="_number"><?php _e( 'Rating System', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Choose whether you want a 5-stars or 10-stars ratings based here.', 'ultimate-member' ) ); ?></label>
2268
  <select name="_number" id="_number" style="width: 100%">
2269
+ <option value="5" <?php selected( 5, $this->edit_mode_value ); ?>><?php _e( '5 stars rating system', 'ultimate-member' ) ?></option>
2270
+ <option value="10" <?php selected( 10, $this->edit_mode_value ); ?>><?php _e( '10 stars rating system', 'ultimate-member' ) ?></option>
2271
  </select>
2272
  </p>
2273
 
2277
  case '_custom_dropdown_options_source':
2278
  ?>
2279
 
2280
+ <p><label for="_custom_dropdown_options_source"><?php _e( 'Choices Callback', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Add a callback source to retrieve choices.', 'ultimate-member' ) ); ?></label>
2281
  <input type="text" name="_custom_dropdown_options_source" id="_custom_dropdown_options_source" value="<?php echo htmlspecialchars($this->edit_mode_value, ENT_QUOTES); ?>" />
2282
  </p>
2283
 
includes/admin/core/class-admin-notices.php CHANGED
@@ -1,9 +1,10 @@
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_Notices' ) ) {
8
 
9
 
@@ -34,6 +35,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
34
  }
35
 
36
 
 
 
 
37
  function create_list() {
38
  $this->old_extensions_notice();
39
  $this->install_core_page_notice();
@@ -195,7 +199,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
195
 
196
  ob_start(); ?>
197
 
198
- <div class="<?php echo esc_attr( $class ) ?> um-admin-notice notice <?php echo $dismissible ? 'is-dismissible' : '' ?>" data-key="<?php echo $key ?>">
199
  <?php echo ! empty( $notice_data['message'] ) ? $notice_data['message'] : '' ?>
200
  </div>
201
 
@@ -301,7 +305,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
301
  </p>
302
 
303
  <p>
304
- <a href="<?php echo esc_attr( add_query_arg( 'um_adm_action', 'install_core_pages' ) ); ?>" class="button button-primary"><?php _e( 'Create Pages', 'ultimate-member' ) ?></a>
305
  &nbsp;
306
  <a href="javascript:void(0);" class="button-secondary um_secondary_dimiss"><?php _e( 'No thanks', 'ultimate-member' ) ?></a>
307
  </p>
@@ -384,10 +388,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
384
  }
385
  }
386
 
387
- $ignore = admin_url('users.php');
388
 
389
  $messages[0]['err_content'] = sprintf( __( 'Are you sure you want to delete the selected user(s)? The following users will be deleted: <p>%s</p> <strong>This cannot be undone!</strong>','ultimate-member'), $users);
390
- $messages[0]['err_content'] .= '<p><a href="'. esc_html( $confirm_uri ) .'" class="button-primary">' . __( 'Remove', 'ultimate-member' ) . '</a>&nbsp;&nbsp;<a href="'.$ignore.'" class="button">' . __('Undo','ultimate-member') . '</a></p>';
391
 
392
  break;
393
 
1
  <?php
2
  namespace um\admin\core;
3
 
4
+
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
+
8
  if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
9
 
10
 
35
  }
36
 
37
 
38
+ /**
39
+ *
40
+ */
41
  function create_list() {
42
  $this->old_extensions_notice();
43
  $this->install_core_page_notice();
199
 
200
  ob_start(); ?>
201
 
202
+ <div class="<?php echo esc_attr( $class ) ?> um-admin-notice notice <?php echo $dismissible ? 'is-dismissible' : '' ?>" data-key="<?php echo esc_attr( $key ) ?>">
203
  <?php echo ! empty( $notice_data['message'] ) ? $notice_data['message'] : '' ?>
204
  </div>
205
 
305
  </p>
306
 
307
  <p>
308
+ <a href="<?php echo esc_url( add_query_arg( 'um_adm_action', 'install_core_pages' ) ); ?>" class="button button-primary"><?php _e( 'Create Pages', 'ultimate-member' ) ?></a>
309
  &nbsp;
310
  <a href="javascript:void(0);" class="button-secondary um_secondary_dimiss"><?php _e( 'No thanks', 'ultimate-member' ) ?></a>
311
  </p>
388
  }
389
  }
390
 
391
+ $ignore = admin_url( 'users.php' );
392
 
393
  $messages[0]['err_content'] = sprintf( __( 'Are you sure you want to delete the selected user(s)? The following users will be deleted: <p>%s</p> <strong>This cannot be undone!</strong>','ultimate-member'), $users);
394
+ $messages[0]['err_content'] .= '<p><a href="'. esc_url( $confirm_uri ) .'" class="button-primary">' . __( 'Remove', 'ultimate-member' ) . '</a>&nbsp;&nbsp;<a href="' . esc_url( $ignore ) . '" class="button">' . __('Undo','ultimate-member') . '</a></p>';
395
 
396
  break;
397
 
includes/admin/core/class-admin-settings.php CHANGED
@@ -2,7 +2,6 @@
2
  namespace um\admin\core;
3
 
4
 
5
- // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) exit;
7
 
8
 
@@ -87,10 +86,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
87
  function init_variables() {
88
  $general_pages_fields = array(
89
  array(
90
- 'id' => 'pages_settings',
91
- 'type' => 'hidden',
92
- 'default' => true,
93
- 'is_option' => false
94
  )
95
  );
96
 
@@ -104,21 +103,21 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
104
 
105
  if ( 'reached_maximum_limit' == $have_pages ) {
106
  $general_pages_fields[] = array(
107
- 'id' => $page_id,
108
- 'type' => 'text',
109
- 'label' => sprintf( __( '%s page', 'ultimate-member' ), $page_title ),
110
- 'placeholder' => __('Add page ID','ultimate-member'),
111
- 'compiler' => true,
112
  'size' => 'small'
113
  );
114
  } else {
115
  $general_pages_fields[] = array(
116
- 'id' => $page_id,
117
- 'type' => 'select',
118
- 'label' => sprintf( __( '%s page', 'ultimate-member' ), $page_title ),
119
- 'options' => UM()->query()->wp_pages(),
120
- 'placeholder' => __('Choose a page...','ultimate-member'),
121
- 'compiler' => true,
122
  'size' => 'small'
123
  );
124
  }
@@ -129,18 +128,25 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
129
  array(
130
  'id' => 'profile_menu',
131
  'type' => 'checkbox',
132
- 'label' => __('Enable profile menu','ultimate-member'),
133
  )
134
  );
135
 
136
  $tabs = UM()->profile()->tabs();
137
 
 
 
138
  foreach ( $tabs as $id => $tab ) {
139
 
140
  if ( ! empty( $tab['hidden'] ) ) {
141
  continue;
142
  }
143
 
 
 
 
 
 
144
  if ( isset( $tab['default_privacy'] ) ) {
145
  $fields = array(
146
  array(
@@ -148,6 +154,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
148
  'type' => 'checkbox',
149
  'label' => sprintf( __( '%s Tab', 'ultimate-member' ), $tab['name'] ),
150
  'conditional' => array( 'profile_menu', '=', 1 ),
 
151
  ),
152
  );
153
  } else {
@@ -158,6 +165,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
158
  'type' => 'checkbox',
159
  'label' => sprintf( __( '%s Tab', 'ultimate-member' ), $tab['name'] ),
160
  'conditional' => array( 'profile_menu', '=', 1 ),
 
161
  ),
162
  array(
163
  'id' => 'profile_tab_' . $id . '_privacy',
@@ -172,10 +180,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
172
  'id' => 'profile_tab_' . $id . '_roles',
173
  'type' => 'select',
174
  'multi' => true,
175
- 'label' => __( 'Allowed roles','ultimate-member' ),
176
- 'tooltip' => __( 'Select the the user roles allowed to view this tab.','ultimate-member' ),
177
  'options' => UM()->roles()->get_roles(),
178
- 'placeholder' => __( 'Choose user roles...','ultimate-member' ),
179
  'conditional' => array( 'profile_tab_' . $id . '_privacy', '=', 4 ),
180
  'size' => 'small'
181
  )
@@ -185,27 +193,15 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
185
  $appearances_profile_menu_fields = array_merge( $appearances_profile_menu_fields, $fields );
186
  }
187
 
188
- $active_tabs = array();
189
- $tabs = UM()->profile()->tabs_active();
190
- if ( ! empty( $tabs ) ) {
191
- foreach ( $tabs as $id => $info ) {
192
- if ( isset( $info['name'] ) ) {
193
- $active_tabs[ $id ] = $info['name'];
194
- }
195
- }
196
- }
197
-
198
- if ( count( $active_tabs ) ) {
199
- $appearances_profile_menu_fields[] = array(
200
- 'id' => 'profile_menu_default_tab',
201
- 'type' => 'select',
202
- 'label' => __( 'Profile menu default tab', 'ultimate-member' ),
203
- 'tooltip' => __( 'This will be the default tab on user profile page', 'ultimate-member' ),
204
- 'options' => $active_tabs,
205
- 'conditional' => array( 'profile_menu', '=', 1 ),
206
- 'size' => 'small'
207
- );
208
- }
209
 
210
  $appearances_profile_menu_fields = array_merge( $appearances_profile_menu_fields, array(
211
  array(
@@ -262,57 +258,58 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
262
 
263
  $access_fields = array(
264
  array(
265
- 'id' => 'accessible',
266
- 'type' => 'select',
267
- 'label' => __( 'Global Site Access','ultimate-member' ),
268
- 'tooltip' => __('Globally control the access of your site, you can have seperate restrict options per post/page by editing the desired item.','ultimate-member'),
269
- 'options' => array(
270
- 0 => 'Site accessible to Everyone',
271
- 2 => 'Site accessible to Logged In Users'
272
  ),
273
- 'size' => 'medium'
274
  ),
275
  array(
276
- 'id' => 'access_redirect',
277
- 'type' => 'text',
278
- 'label' => __( 'Custom Redirect URL','ultimate-member' ),
279
- 'tooltip' => __('A logged out user will be redirected to this url If he is not permitted to access the site','ultimate-member'),
280
- 'conditional' => array( 'accessible', '=', 2 ),
281
  ),
282
  array(
283
- 'id' => 'access_exclude_uris',
284
- 'type' => 'multi_text',
285
- 'label' => __( 'Exclude the following URLs','ultimate-member' ),
286
- 'tooltip' => __( 'Here you can exclude URLs beside the redirect URI to be accessible to everyone','ultimate-member' ),
287
- 'add_text' => __('Add New URL','ultimate-member'),
288
- 'conditional' => array( 'accessible', '=', 2 ),
289
- 'show_default_number' => 1,
290
  ),
291
  array(
292
- 'id' => 'home_page_accessible',
293
- 'type' => 'checkbox',
294
- 'label' => __( 'Allow Homepage to be accessible','ultimate-member' ),
295
- 'conditional' => array( 'accessible', '=', 2 ),
296
  ),
297
  array(
298
- 'id' => 'category_page_accessible',
299
- 'type' => 'checkbox',
300
- 'label' => __( 'Allow Category pages to be accessible','ultimate-member' ),
301
- 'conditional' => array( 'accessible', '=', 2 ),
302
  ),
303
  array(
304
  'id' => 'restricted_access_message',
305
  'type' => 'wp_editor',
306
- 'label' => __( 'Restricted Access Message','ultimate-member' ),
307
- 'tooltip' => __( 'This is the message shown to users that do not have permission to view the content','ultimate-member' ),
308
  )
309
  );
 
310
  global $wp_version;
311
  if ( version_compare( $wp_version, '5.0', '>=' ) ) {
312
  $access_fields = array_merge( $access_fields, array( array(
313
- 'id' => 'restricted_blocks',
314
- 'type' => 'checkbox',
315
- 'label' => __( 'Allow Gutenberg Blocks restriction options', 'ultimate-member' ),
316
  ),
317
  array(
318
  'id' => 'restricted_block_message',
@@ -322,35 +319,36 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
322
  'conditional' => array( 'restricted_blocks', '=', 1 ),
323
  ) ) );
324
  }
325
- $access_fields = array_merge( $access_fields, array( array(
326
- 'id' => 'restricted_access_post_metabox',
327
- 'type' => 'hidden',
328
- 'value' => '',
329
- ),
 
330
  array(
331
- 'id' => 'restricted_access_taxonomy_metabox',
332
- 'type' => 'hidden',
333
- 'value' => '',
334
  ),
335
  array(
336
- 'id' => 'restricted_access_post_metabox',
337
- 'type' => 'multi_checkbox',
338
- 'label' => __( 'Restricted Access to Posts','ultimate-member' ),
339
- 'tooltip' => __( 'Restriction content of the current Posts','ultimate-member' ),
340
- 'options' => $post_types_options,
341
- 'columns' => 3,
342
- 'value' => $restricted_access_post_metabox_value,
343
- 'default' => UM()->options()->get_default( 'restricted_access_post_metabox' ),
344
  ),
345
  array(
346
- 'id' => 'restricted_access_taxonomy_metabox',
347
- 'type' => 'multi_checkbox',
348
- 'label' => __( 'Restricted Access to Taxonomies','ultimate-member' ),
349
- 'tooltip' => __( 'Restriction content of the current Taxonomies','ultimate-member' ),
350
- 'options' => $taxonomies_options,
351
- 'columns' => 3,
352
- 'value' => $restricted_access_taxonomy_metabox_value,
353
- 'default' => UM()->options()->get_default( 'restricted_access_taxonomy_metabox' ),
354
  ) ) );
355
 
356
 
@@ -376,8 +374,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
376
  */
377
  $this->settings_structure = apply_filters( 'um_settings_structure', array(
378
  '' => array(
379
- 'title' => __( 'General', 'ultimate-member' ),
380
- 'sections' => array(
381
  '' => array(
382
  'title' => __( 'Pages', 'ultimate-member' ),
383
  'fields' => $general_pages_fields
@@ -386,19 +384,19 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
386
  'title' => __( 'Users', 'ultimate-member' ),
387
  'fields' => array(
388
  array(
389
- 'id' => 'permalink_base',
390
- 'type' => 'select',
391
  'size' => 'small',
392
- 'label' => __( 'Profile Permalink Base','ultimate-member' ),
393
- 'tooltip' => __( 'Here you can control the permalink structure of the user profile URL globally e.g. ' . trailingslashit( um_get_core_page('user') ) . '<strong>username</strong>/','ultimate-member' ),
394
- 'options' => array(
395
- 'user_login' => __('Username','ultimate-member'),
396
- 'name' => __('First and Last Name with \'.\'','ultimate-member'),
397
- 'name_dash' => __('First and Last Name with \'-\'','ultimate-member'),
398
- 'name_plus' => __('First and Last Name with \'+\'','ultimate-member'),
399
- 'user_id' => __('User ID','ultimate-member'),
400
  ),
401
- 'placeholder' => __('Select...','ultimate-member'),
402
  ),
403
  array(
404
  'id' => 'display_name',
@@ -626,59 +624,59 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
626
  )
627
  ),
628
  'access' => array(
629
- 'title' => __( 'Access', 'ultimate-member' ),
630
- 'sections' => array(
631
  '' => array(
632
  'title' => __( 'Restriction Content', 'ultimate-member' ),
633
  'fields' => $access_fields
634
  ),
635
  'other' => array(
636
  'title' => __( 'Other', 'ultimate-member' ),
637
- 'fields' => array(
638
  array(
639
- 'id' => 'enable_reset_password_limit',
640
- 'type' => 'checkbox',
641
- 'label' => __( 'Enable the Reset Password Limit?','ultimate-member' ),
642
  ),
643
  array(
644
- 'id' => 'reset_password_limit_number',
645
- 'type' => 'text',
646
- 'label' => __( 'Reset Password Limit','ultimate-member' ),
647
- 'tooltip' => __('Set the maximum reset password limit. If reached the maximum limit, user will be locked from using this.','ultimate-member'),
648
- 'validate' => 'numeric',
649
- 'conditional' => array('enable_reset_password_limit','=',1),
650
- 'size' => 'um-small-field',
651
  ),
652
  array(
653
- 'id' => 'blocked_emails',
654
- 'type' => 'textarea',
655
- 'label' => __( 'Blocked Email Addresses','ultimate-member' ),
656
- 'tooltip' => __('This will block the specified e-mail addresses from being able to sign up or sign in to your site. To block an entire domain, use something like *@domain.com','ultimate-member'),
657
  ),
658
  array(
659
- 'id' => 'blocked_words',
660
- 'type' => 'textarea',
661
- 'label' => __( 'Blacklist Words','ultimate-member' ),
662
- 'tooltip' => __('This option lets you specify blacklist of words to prevent anyone from signing up with such a word as their username','ultimate-member'),
663
  )
664
  )
665
  ),
666
  )
667
  ),
668
  'email' => array(
669
- 'title' => __( 'Email', 'ultimate-member' ),
670
- 'fields' => array(
671
  array(
672
- 'id' => 'admin_email',
673
- 'type' => 'text',
674
- 'label' => __( 'Admin E-mail Address', 'ultimate-member' ),
675
  'tooltip' => __( 'e.g. admin@companyname.com','ultimate-member' ),
676
  ),
677
  array(
678
- 'id' => 'mail_from',
679
- 'type' => 'text',
680
- 'label' => __( 'Mail appears from','ultimate-member' ),
681
- 'tooltip' => __( 'e.g. Site Name','ultimate-member' ),
682
  ),
683
  array(
684
  'id' => 'mail_from_addr',
@@ -695,8 +693,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
695
  )
696
  ),
697
  'appearance' => array(
698
- 'title' => __( 'Appearance', 'ultimate-member' ),
699
- 'sections' => array(
700
  '' => array(
701
  'title' => __( 'Profile', 'ultimate-member' ),
702
  'fields' => array(
@@ -729,7 +727,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
729
  array(
730
  'id' => 'profile_icons',
731
  'type' => 'select',
732
- 'label' => __( 'Profile Field Icons' ),
733
  'tooltip' => __( 'This is applicable for edit mode only','ultimate-member' ),
734
  'default' => um_get_metadefault('profile_icons'),
735
  'options' => array(
@@ -865,12 +863,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
865
  array(
866
  'id' => 'profile_header_menu',
867
  'type' => 'select',
868
- 'label' => __( 'Profile Header Menu Position','ultimate-member' ),
869
  'default' => um_get_metadefault('profile_header_menu'),
870
- 'tooltip' => __('For incompatible themes, please make the menu open from left instead of bottom by default.','ultimate-member'),
871
  'options' => array(
872
- 'bc' => 'Bottom of Icon',
873
- 'lc' => 'Left of Icon',
874
  ),
875
  'size' => 'small'
876
  ),
@@ -1083,32 +1081,32 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1083
  )
1084
  ),
1085
  'extensions' => array(
1086
- 'title' => __( 'Extensions', 'ultimate-member' )
1087
  ),
1088
  'licenses' => array(
1089
- 'title' => __( 'Licenses', 'ultimate-member' ),
1090
  ),
1091
  'misc' => array(
1092
- 'title' => __( 'Misc', 'ultimate-member' ),
1093
- 'fields' => array(
1094
  array(
1095
- 'id' => 'form_asterisk',
1096
- 'type' => 'checkbox',
1097
- 'label' => __( 'Show an asterisk for required fields','ultimate-member' ),
1098
  ),
1099
  array(
1100
- 'id' => 'profile_title',
1101
- 'type' => 'text',
1102
- 'label' => __('User Profile Title','ultimate-member'),
1103
- 'tooltip' => __('This is the title that is displayed on a specific user profile','ultimate-member'),
1104
- 'size' => 'medium'
1105
  ),
1106
  array(
1107
- 'id' => 'profile_desc',
1108
- 'type' => 'textarea',
1109
- 'label' => __( 'User Profile Dynamic Meta Description','ultimate-member' ),
1110
- 'tooltip' => __('This will be used in the meta description that is available for search-engines.','ultimate-member'),
1111
- 'args' => array(
1112
  'textarea_rows' => 6
1113
  )
1114
  ),
@@ -1135,18 +1133,18 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1135
  ),
1136
  ),
1137
  array(
1138
- 'id' => 'uninstall_on_delete',
1139
- 'type' => 'checkbox',
1140
- 'label' => __( 'Remove Data on Uninstall?', 'ultimate-member' ),
1141
- 'tooltip' => __( 'Check this box if you would like Ultimate Member to completely remove all of its data when the plugin/extensions are deleted.', 'ultimate-member' ),
1142
  )
1143
  )
1144
  ),
1145
  'install_info' => array(
1146
- 'title' => __( 'Install Info', 'ultimate-member' ),
1147
- 'fields' => array(
1148
  array(
1149
- 'type' => 'install_info',
1150
  ),
1151
  )
1152
  ),
@@ -1241,20 +1239,23 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1241
 
1242
  //remove not option hidden fields
1243
  if ( ! empty( $settings_struct['fields'] ) ) {
1244
- foreach ( $settings_struct['fields'] as $field_key=>$field_options ) {
1245
 
1246
- if ( isset( $field_options['is_option'] ) && $field_options['is_option'] === false )
1247
- unset( $settings_struct['fields'][$field_key] );
 
1248
 
1249
  }
1250
  }
1251
 
1252
- if ( empty( $settings_struct['fields'] ) && empty( $settings_struct['sections'] ) )
1253
  um_js_redirect( add_query_arg( array( 'page' => 'um_options' ), admin_url( 'admin.php' ) ) );
 
1254
 
1255
  if ( ! empty( $settings_struct['sections'] ) ) {
1256
- if ( empty( $settings_struct['sections'][$current_subtab] ) )
1257
  um_js_redirect( add_query_arg( array( 'page' => 'um_options', 'tab' => $current_tab ), admin_url( 'admin.php' ) ) );
 
1258
  }
1259
 
1260
  echo '<div id="um-settings-wrap" class="wrap"><h2>' . __( 'Ultimate Member - Settings', 'ultimate-member' ) . '</h2>';
@@ -1333,14 +1334,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1333
 
1334
  } else { ?>
1335
 
1336
- <!-- <?php /*if ( empty( $settings_struct['sections'][$current_subtab] ) )
1337
- $title = $this->settings_structure[$current_tab]['title'];
1338
- else
1339
- $title = $this->settings_structure[$current_tab]['sections'][$current_subtab]['title'];
1340
- */?>
1341
-
1342
- <h3><?php /*echo $title */?></h3>-->
1343
-
1344
  <form method="post" action="" name="um-settings-form" id="um-settings-form">
1345
  <input type="hidden" value="save" name="um-settings-action" />
1346
 
@@ -1391,24 +1384,20 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1391
  echo apply_filters( 'um_settings_section_' . $current_tab . '_' . $current_subtab . '_content',
1392
  $settings_section,
1393
  $section_fields
1394
- );
1395
- ?>
1396
 
1397
 
1398
  <p class="submit">
1399
- <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e( 'Save Changes', 'ultimate-member' ) ?>" />
1400
  <?php $um_settings_nonce = wp_create_nonce( 'um-settings-nonce' ); ?>
1401
- <input type="hidden" name="__umnonce" value="<?php echo $um_settings_nonce; ?>" />
1402
  </p>
1403
  </form>
1404
 
1405
  <?php }
1406
-
1407
- /*echo '</div>';*/
1408
  }
1409
 
1410
 
1411
-
1412
  /**
1413
  * Generate pages tabs
1414
  *
@@ -1424,21 +1413,22 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1424
  $menu_tabs = array();
1425
  foreach ( $this->settings_structure as $slug => $tab ) {
1426
  if ( ! empty( $tab['fields'] ) ) {
1427
- foreach ( $tab['fields'] as $field_key=>$field_options ) {
1428
  if ( isset( $field_options['is_option'] ) && $field_options['is_option'] === false ) {
1429
- unset( $tab['fields'][$field_key] );
1430
  }
1431
  }
1432
  }
1433
 
1434
- if ( ! empty( $tab['fields'] ) || ! empty( $tab['sections'] ) )
1435
- $menu_tabs[$slug] = $tab['title'];
 
1436
  }
1437
 
1438
  $current_tab = empty( $_GET['tab'] ) ? '' : urldecode( $_GET['tab'] );
1439
- foreach ( $menu_tabs as $name=>$label ) {
1440
  $active = ( $current_tab == $name ) ? 'nav-tab-active' : '';
1441
- $tabs .= '<a href="' . admin_url( 'admin.php?page=um_options' . ( empty( $name ) ? '' : '&tab=' . $name ) ) . '" class="nav-tab ' . $active . '">' .
1442
  $label .
1443
  '</a>';
1444
  }
@@ -1479,12 +1469,13 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1479
  * @return string
1480
  */
1481
  function generate_subtabs_menu( $tab = '' ) {
1482
- if ( empty( $this->settings_structure[$tab]['sections'] ) )
1483
  return '';
 
1484
 
1485
  $menu_subtabs = array();
1486
- foreach ( $this->settings_structure[$tab]['sections'] as $slug => $subtab ) {
1487
- $menu_subtabs[$slug] = $subtab['title'];
1488
  }
1489
 
1490
  $subtabs = '<div><ul class="subsubsub">';
@@ -1493,7 +1484,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1493
  $current_subtab = empty( $_GET['section'] ) ? '' : urldecode( $_GET['section'] );
1494
  foreach ( $menu_subtabs as $name => $label ) {
1495
  $active = ( $current_subtab == $name ) ? 'current' : '';
1496
- $subtabs .= '<a href="' . admin_url( 'admin.php?page=um_options' . ( empty( $current_tab ) ? '' : '&tab=' . $current_tab ) . ( empty( $name ) ? '' : '&section=' . $name ) ) . '" class="' . $active . '">'
1497
  . $label .
1498
  '</a> | ';
1499
  }
@@ -1513,7 +1504,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1513
 
1514
  $nonce = ! empty( $_POST['__umnonce'] ) ? $_POST['__umnonce'] : '';
1515
 
1516
- if ( ( ! wp_verify_nonce( $nonce, 'um-settings-nonce' ) || empty( $nonce ) ) || ! current_user_can('manage_options') ) {
1517
  // This nonce is not valid.
1518
  wp_die( 'Security Check' );
1519
  }
@@ -1580,18 +1571,20 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1580
  * }
1581
  * ?>
1582
  */
1583
- do_action( "um_settings_save" );
1584
 
1585
  //redirect after save settings
1586
  $arg = array(
1587
  'page' => 'um_options',
1588
  );
1589
 
1590
- if ( ! empty( $_GET['tab'] ) )
1591
  $arg['tab'] = $_GET['tab'];
 
1592
 
1593
- if ( ! empty( $_GET['section'] ) )
1594
  $arg['section'] = $_GET['section'];
 
1595
 
1596
  um_js_redirect( add_query_arg( $arg, admin_url( 'admin.php' ) ) );
1597
  }
@@ -1606,30 +1599,34 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1606
  */
1607
  function remove_empty_values( $settings ) {
1608
  $tab = '';
1609
- if ( ! empty( $_GET['tab'] ) )
1610
  $tab = $_GET['tab'];
 
1611
 
1612
  $section = '';
1613
- if ( ! empty( $_GET['section'] ) )
1614
  $section = $_GET['section'];
 
1615
 
1616
- if ( isset( $this->settings_structure[$tab]['sections'][$section]['fields'] ) )
1617
- $fields = $this->settings_structure[$tab]['sections'][$section]['fields'];
1618
- else
1619
- $fields = $this->settings_structure[$tab]['fields'];
 
1620
 
1621
- if ( empty( $fields ) )
1622
  return $settings;
 
1623
 
1624
 
1625
  $filtered_settings = array();
1626
- foreach ( $settings as $key=>$value ) {
1627
 
1628
- $filtered_settings[$key] = $value;
1629
 
1630
- foreach( $fields as $field ) {
1631
  if ( $field['id'] == $key && isset( $field['type'] ) && $field['type'] == 'multi_text' ) {
1632
- $filtered_settings[$key] = array_filter( $settings[$key] );
1633
  }
1634
  }
1635
  }
@@ -1700,8 +1697,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1700
  *
1701
  */
1702
  function before_licenses_save() {
1703
- if ( empty( $_POST['um_options'] ) || empty( $_POST['licenses_settings'] ) )
1704
  return;
 
1705
 
1706
  foreach ( $_POST['um_options'] as $key => $value ) {
1707
  $this->previous_licenses[ $key ] = UM()->options()->get( $key );
@@ -1831,30 +1829,30 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1831
  */
1832
  $section_fields = apply_filters( 'um_admin_settings_email_section_fields', array(
1833
  array(
1834
- 'id' => 'um_email_template',
1835
- 'type' => 'hidden',
1836
- 'value' => $email_key,
1837
  ),
1838
  array(
1839
- 'id' => $email_key . '_on',
1840
- 'type' => 'checkbox',
1841
- 'label' => $emails[$email_key]['title'],
1842
- 'tooltip' => $emails[$email_key]['description'],
1843
  ),
1844
  array(
1845
- 'id' => $email_key . '_sub',
1846
- 'type' => 'text',
1847
- 'label' => __( 'Subject Line','ultimate-member' ),
1848
- 'conditional' => array( $email_key . '_on', '=', 1 ),
1849
- 'tooltip' => __('This is the subject line of the e-mail','ultimate-member'),
1850
  ),
1851
  array(
1852
  'id' => $email_key,
1853
  'type' => 'email_template',
1854
- 'label' => __( 'Message Body','ultimate-member' ),
1855
  'conditional' => array( $email_key . '_on', '=', 1 ),
1856
- 'tooltip' => __('This is the content of the e-mail','ultimate-member'),
1857
- 'value' => UM()->mail()->get_email_template( $email_key ),
1858
  'in_theme' => $in_theme
1859
  ),
1860
  ), $email_key );
@@ -1883,7 +1881,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
1883
  <div class="wrap-licenses">
1884
  <input type="hidden" id="licenses_settings" name="licenses_settings" value="1">
1885
  <?php $um_settings_nonce = wp_create_nonce( 'um-settings-nonce' ); ?>
1886
- <input type="hidden" name="__umnonce" value="<?php echo $um_settings_nonce; ?>" />
1887
  <table class="form-table um-settings-section">
1888
  <tbody>
1889
  <?php foreach ( $section_fields as $field_data ) {
@@ -2140,29 +2138,29 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
2140
  } ?>
2141
 
2142
  <tr class="um-settings-line">
2143
- <th><label for="um_options_<?php echo $field_data['id'] ?>"><?php echo $field_data['label'] ?></label></th>
2144
  <td>
2145
  <form method="post" action="" name="um-settings-form" class="um-settings-form">
2146
  <input type="hidden" value="save" name="um-settings-action" />
2147
  <input type="hidden" name="licenses_settings" value="1" />
2148
  <?php $um_settings_nonce = wp_create_nonce( 'um-settings-nonce' ); ?>
2149
- <input type="hidden" name="__umnonce" value="<?php echo $um_settings_nonce; ?>" />
2150
- <input type="text" id="um_options_<?php echo $field_data['id'] ?>" name="um_options[<?php echo $field_data['id'] ?>]" value="<?php echo $value ?>" class="um-option-field um-long-field" data-field_id="<?php echo $field_data['id'] ?>" />
2151
  <?php if ( ! empty( $field_data['description'] ) ) { ?>
2152
  <div class="description"><?php echo $field_data['description'] ?></div>
2153
  <?php } ?>
2154
 
2155
  <?php if ( ! empty( $value ) && ( ( is_object( $license ) && 'valid' == $license->license ) || 'valid' == $license ) ) { ?>
2156
- <input type="button" class="button um_license_deactivate" id="<?php echo $field_data['id'] ?>_deactivate" value="<?php _e( 'Clear License', 'ultimate-member' ) ?>"/>
2157
  <?php } elseif ( empty( $value ) ) { ?>
2158
- <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e( 'Activate', 'ultimate-member' ) ?>" />
2159
  <?php } else { ?>
2160
- <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e( 'Re-Activate', 'ultimate-member' ) ?>" />
2161
  <?php }
2162
 
2163
  if ( ! empty( $messages ) ) {
2164
  foreach ( $messages as $message ) { ?>
2165
- <div class="edd-license-data edd-license-<?php echo $class . ' ' . $license_status ?>">
2166
  <p><?php echo $message ?></p>
2167
  </div>
2168
  <?php }
@@ -2191,14 +2189,14 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
2191
  require_once um_path . 'includes/lib/browser.php';
2192
 
2193
  // Detect browser
2194
- $browser = new \Browser();
2195
 
2196
  // Get theme info
2197
  $theme_data = wp_get_theme();
2198
  $theme = $theme_data->Name . ' ' . $theme_data->Version;
2199
 
2200
  // Identify Hosting Provider
2201
- $host = um_get_host();
2202
 
2203
  um_fetch_user( get_current_user_id() );
2204
 
@@ -2299,7 +2297,7 @@ Memory Limit: <?php echo ( um_let_to_num( WP_MEMORY_LIMIT )/( 1024 ) )."MB
2299
  --- UM Configurations ---
2300
 
2301
  Version: <?php echo ultimatemember_version . "\n"; ?>
2302
- Upgraded From: <?php echo get_option( 'um_version_upgraded_from', 'None' ) . "\n"; ?>
2303
  Current URL Method: <?php echo UM()->options()->get( 'current_url_method' ). "\n"; ?>
2304
  Cache User Profile: <?php if( UM()->options()->get( 'um_profile_object_cache_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
2305
  Generate Slugs on Directories: <?php if( UM()->options()->get( 'um_generate_slug_in_directory' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
@@ -2628,8 +2626,8 @@ Use Only Cookies: <?php echo ini_get( 'session.use_only_cookies' ) ?
2628
  ob_start();
2629
 
2630
  UM()->admin_forms_settings( array(
2631
- 'class' => 'um_options-' . $current_tab . '-' . $current_subtab . ' um-third-column',
2632
- 'prefix_id' => 'um_options',
2633
  'fields' => $section_fields
2634
  ) )->render_form(); ?>
2635
 
2
  namespace um\admin\core;
3
 
4
 
 
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
 
86
  function init_variables() {
87
  $general_pages_fields = array(
88
  array(
89
+ 'id' => 'pages_settings',
90
+ 'type' => 'hidden',
91
+ 'default' => true,
92
+ 'is_option' => false
93
  )
94
  );
95
 
103
 
104
  if ( 'reached_maximum_limit' == $have_pages ) {
105
  $general_pages_fields[] = array(
106
+ 'id' => $page_id,
107
+ 'type' => 'text',
108
+ 'label' => sprintf( __( '%s page', 'ultimate-member' ), $page_title ),
109
+ 'placeholder' => __( 'Add page ID', 'ultimate-member' ),
110
+ 'compiler' => true,
111
  'size' => 'small'
112
  );
113
  } else {
114
  $general_pages_fields[] = array(
115
+ 'id' => $page_id,
116
+ 'type' => 'select',
117
+ 'label' => sprintf( __( '%s page', 'ultimate-member' ), $page_title ),
118
+ 'options' => UM()->query()->wp_pages(),
119
+ 'placeholder' => __( 'Choose a page...', 'ultimate-member' ),
120
+ 'compiler' => true,
121
  'size' => 'small'
122
  );
123
  }
128
  array(
129
  'id' => 'profile_menu',
130
  'type' => 'checkbox',
131
+ 'label' => __( 'Enable profile menu', 'ultimate-member' ),
132
  )
133
  );
134
 
135
  $tabs = UM()->profile()->tabs();
136
 
137
+ $tabs_options = array();
138
+ $tabs_condition = array();
139
  foreach ( $tabs as $id => $tab ) {
140
 
141
  if ( ! empty( $tab['hidden'] ) ) {
142
  continue;
143
  }
144
 
145
+ if ( isset( $tab['name'] ) ) {
146
+ $tabs_options[ $id ] = $tab['name'];
147
+ $tabs_condition[] = 'profile_tab_' . $id;
148
+ }
149
+
150
  if ( isset( $tab['default_privacy'] ) ) {
151
  $fields = array(
152
  array(
154
  'type' => 'checkbox',
155
  'label' => sprintf( __( '%s Tab', 'ultimate-member' ), $tab['name'] ),
156
  'conditional' => array( 'profile_menu', '=', 1 ),
157
+ 'data' => array( 'fill_profile_menu_default_tab' => $id ),
158
  ),
159
  );
160
  } else {
165
  'type' => 'checkbox',
166
  'label' => sprintf( __( '%s Tab', 'ultimate-member' ), $tab['name'] ),
167
  'conditional' => array( 'profile_menu', '=', 1 ),
168
+ 'data' => array( 'fill_profile_menu_default_tab' => $id ),
169
  ),
170
  array(
171
  'id' => 'profile_tab_' . $id . '_privacy',
180
  'id' => 'profile_tab_' . $id . '_roles',
181
  'type' => 'select',
182
  'multi' => true,
183
+ 'label' => __( 'Allowed roles', 'ultimate-member' ),
184
+ 'tooltip' => __( 'Select the the user roles allowed to view this tab.', 'ultimate-member' ),
185
  'options' => UM()->roles()->get_roles(),
186
+ 'placeholder' => __( 'Choose user roles...', 'ultimate-member' ),
187
  'conditional' => array( 'profile_tab_' . $id . '_privacy', '=', 4 ),
188
  'size' => 'small'
189
  )
193
  $appearances_profile_menu_fields = array_merge( $appearances_profile_menu_fields, $fields );
194
  }
195
 
196
+ $appearances_profile_menu_fields[] = array(
197
+ 'id' => 'profile_menu_default_tab',
198
+ 'type' => 'select',
199
+ 'label' => __( 'Profile menu default tab', 'ultimate-member' ),
200
+ 'tooltip' => __( 'This will be the default tab on user profile page', 'ultimate-member' ),
201
+ 'options' => $tabs_options,
202
+ 'conditional' => array( implode( '|', $tabs_condition ), '~', 1 ),
203
+ 'size' => 'small'
204
+ );
 
 
 
 
 
 
 
 
 
 
 
 
205
 
206
  $appearances_profile_menu_fields = array_merge( $appearances_profile_menu_fields, array(
207
  array(
258
 
259
  $access_fields = array(
260
  array(
261
+ 'id' => 'accessible',
262
+ 'type' => 'select',
263
+ 'label' => __( 'Global Site Access', 'ultimate-member' ),
264
+ 'tooltip' => __( 'Globally control the access of your site, you can have seperate restrict options per post/page by editing the desired item.', 'ultimate-member' ),
265
+ 'options' => array(
266
+ 0 => __( 'Site accessible to Everyone', 'ultimate-member' ),
267
+ 2 => __( 'Site accessible to Logged In Users', 'ultimate-member' ),
268
  ),
269
+ 'size' => 'medium',
270
  ),
271
  array(
272
+ 'id' => 'access_redirect',
273
+ 'type' => 'text',
274
+ 'label' => __( 'Custom Redirect URL', 'ultimate-member' ),
275
+ 'tooltip' => __( 'A logged out user will be redirected to this url If he is not permitted to access the site', 'ultimate-member' ),
276
+ 'conditional' => array( 'accessible', '=', 2 ),
277
  ),
278
  array(
279
+ 'id' => 'access_exclude_uris',
280
+ 'type' => 'multi_text',
281
+ 'label' => __( 'Exclude the following URLs', 'ultimate-member' ),
282
+ 'tooltip' => __( 'Here you can exclude URLs beside the redirect URI to be accessible to everyone', 'ultimate-member' ),
283
+ 'add_text' => __( 'Add New URL', 'ultimate-member' ),
284
+ 'conditional' => array( 'accessible', '=', 2 ),
285
+ 'show_default_number' => 1,
286
  ),
287
  array(
288
+ 'id' => 'home_page_accessible',
289
+ 'type' => 'checkbox',
290
+ 'label' => __( 'Allow Homepage to be accessible', 'ultimate-member' ),
291
+ 'conditional' => array( 'accessible', '=', 2 ),
292
  ),
293
  array(
294
+ 'id' => 'category_page_accessible',
295
+ 'type' => 'checkbox',
296
+ 'label' => __( 'Allow Category pages to be accessible', 'ultimate-member' ),
297
+ 'conditional' => array( 'accessible', '=', 2 ),
298
  ),
299
  array(
300
  'id' => 'restricted_access_message',
301
  'type' => 'wp_editor',
302
+ 'label' => __( 'Restricted Access Message', 'ultimate-member' ),
303
+ 'tooltip' => __( 'This is the message shown to users that do not have permission to view the content', 'ultimate-member' ),
304
  )
305
  );
306
+
307
  global $wp_version;
308
  if ( version_compare( $wp_version, '5.0', '>=' ) ) {
309
  $access_fields = array_merge( $access_fields, array( array(
310
+ 'id' => 'restricted_blocks',
311
+ 'type' => 'checkbox',
312
+ 'label' => __( 'Allow Gutenberg Blocks restriction options', 'ultimate-member' ),
313
  ),
314
  array(
315
  'id' => 'restricted_block_message',
319
  'conditional' => array( 'restricted_blocks', '=', 1 ),
320
  ) ) );
321
  }
322
+ $access_fields = array_merge( $access_fields, array(
323
+ array(
324
+ 'id' => 'restricted_access_post_metabox',
325
+ 'type' => 'hidden',
326
+ 'value' => '',
327
+ ),
328
  array(
329
+ 'id' => 'restricted_access_taxonomy_metabox',
330
+ 'type' => 'hidden',
331
+ 'value' => '',
332
  ),
333
  array(
334
+ 'id' => 'restricted_access_post_metabox',
335
+ 'type' => 'multi_checkbox',
336
+ 'label' => __( 'Restricted Access to Posts', 'ultimate-member' ),
337
+ 'tooltip' => __( 'Restriction content of the current Posts', 'ultimate-member' ),
338
+ 'options' => $post_types_options,
339
+ 'columns' => 3,
340
+ 'value' => $restricted_access_post_metabox_value,
341
+ 'default' => UM()->options()->get_default( 'restricted_access_post_metabox' ),
342
  ),
343
  array(
344
+ 'id' => 'restricted_access_taxonomy_metabox',
345
+ 'type' => 'multi_checkbox',
346
+ 'label' => __( 'Restricted Access to Taxonomies', 'ultimate-member' ),
347
+ 'tooltip' => __( 'Restriction content of the current Taxonomies', 'ultimate-member' ),
348
+ 'options' => $taxonomies_options,
349
+ 'columns' => 3,
350
+ 'value' => $restricted_access_taxonomy_metabox_value,
351
+ 'default' => UM()->options()->get_default( 'restricted_access_taxonomy_metabox' ),
352
  ) ) );
353
 
354
 
374
  */
375
  $this->settings_structure = apply_filters( 'um_settings_structure', array(
376
  '' => array(
377
+ 'title' => __( 'General', 'ultimate-member' ),
378
+ 'sections' => array(
379
  '' => array(
380
  'title' => __( 'Pages', 'ultimate-member' ),
381
  'fields' => $general_pages_fields
384
  'title' => __( 'Users', 'ultimate-member' ),
385
  'fields' => array(
386
  array(
387
+ 'id' => 'permalink_base',
388
+ 'type' => 'select',
389
  'size' => 'small',
390
+ 'label' => __( 'Profile Permalink Base','ultimate-member' ),
391
+ 'tooltip' => __( 'Here you can control the permalink structure of the user profile URL globally e.g. ' . trailingslashit( um_get_core_page('user') ) . '<strong>username</strong>/','ultimate-member' ),
392
+ 'options' => array(
393
+ 'user_login' => __( 'Username', 'ultimate-member' ),
394
+ 'name' => __( 'First and Last Name with \'.\'', 'ultimate-member' ),
395
+ 'name_dash' => __( 'First and Last Name with \'-\'', 'ultimate-member' ),
396
+ 'name_plus' => __( 'First and Last Name with \'+\'', 'ultimate-member' ),
397
+ 'user_id' => __( 'User ID', 'ultimate-member' ),
398
  ),
399
+ 'placeholder' => __( 'Select...', 'ultimate-member' ),
400
  ),
401
  array(
402
  'id' => 'display_name',
624
  )
625
  ),
626
  'access' => array(
627
+ 'title' => __( 'Access', 'ultimate-member' ),
628
+ 'sections' => array(
629
  '' => array(
630
  'title' => __( 'Restriction Content', 'ultimate-member' ),
631
  'fields' => $access_fields
632
  ),
633
  'other' => array(
634
  'title' => __( 'Other', 'ultimate-member' ),
635
+ 'fields' => array(
636
  array(
637
+ 'id' => 'enable_reset_password_limit',
638
+ 'type' => 'checkbox',
639
+ 'label' => __( 'Enable the Reset Password Limit?', 'ultimate-member' ),
640
  ),
641
  array(
642
+ 'id' => 'reset_password_limit_number',
643
+ 'type' => 'text',
644
+ 'label' => __( 'Reset Password Limit', 'ultimate-member' ),
645
+ 'tooltip' => __( 'Set the maximum reset password limit. If reached the maximum limit, user will be locked from using this.', 'ultimate-member' ),
646
+ 'validate' => 'numeric',
647
+ 'conditional' => array( 'enable_reset_password_limit', '=', 1 ),
648
+ 'size' => 'small',
649
  ),
650
  array(
651
+ 'id' => 'blocked_emails',
652
+ 'type' => 'textarea',
653
+ 'label' => __( 'Blocked Email Addresses', 'ultimate-member' ),
654
+ 'tooltip' => __( 'This will block the specified e-mail addresses from being able to sign up or sign in to your site. To block an entire domain, use something like *@domain.com', 'ultimate-member' ),
655
  ),
656
  array(
657
+ 'id' => 'blocked_words',
658
+ 'type' => 'textarea',
659
+ 'label' => __( 'Blacklist Words', 'ultimate-member' ),
660
+ 'tooltip' => __( 'This option lets you specify blacklist of words to prevent anyone from signing up with such a word as their username', 'ultimate-member' ),
661
  )
662
  )
663
  ),
664
  )
665
  ),
666
  'email' => array(
667
+ 'title' => __( 'Email', 'ultimate-member' ),
668
+ 'fields' => array(
669
  array(
670
+ 'id' => 'admin_email',
671
+ 'type' => 'text',
672
+ 'label' => __( 'Admin E-mail Address', 'ultimate-member' ),
673
  'tooltip' => __( 'e.g. admin@companyname.com','ultimate-member' ),
674
  ),
675
  array(
676
+ 'id' => 'mail_from',
677
+ 'type' => 'text',
678
+ 'label' => __( 'Mail appears from','ultimate-member' ),
679
+ 'tooltip' => __( 'e.g. Site Name','ultimate-member' ),
680
  ),
681
  array(
682
  'id' => 'mail_from_addr',
693
  )
694
  ),
695
  'appearance' => array(
696
+ 'title' => __( 'Appearance', 'ultimate-member' ),
697
+ 'sections' => array(
698
  '' => array(
699
  'title' => __( 'Profile', 'ultimate-member' ),
700
  'fields' => array(
727
  array(
728
  'id' => 'profile_icons',
729
  'type' => 'select',
730
+ 'label' => __( 'Profile Field Icons','ultimate-member' ),
731
  'tooltip' => __( 'This is applicable for edit mode only','ultimate-member' ),
732
  'default' => um_get_metadefault('profile_icons'),
733
  'options' => array(
863
  array(
864
  'id' => 'profile_header_menu',
865
  'type' => 'select',
866
+ 'label' => __( 'Profile Header Menu Position', 'ultimate-member' ),
867
  'default' => um_get_metadefault('profile_header_menu'),
868
+ 'tooltip' => __( 'For incompatible themes, please make the menu open from left instead of bottom by default.','ultimate-member'),
869
  'options' => array(
870
+ 'bc' => __( 'Bottom of Icon', 'ultimate-member' ),
871
+ 'lc' => __( 'Left of Icon (right for RTL)', 'ultimate-member' ),
872
  ),
873
  'size' => 'small'
874
  ),
1081
  )
1082
  ),
1083
  'extensions' => array(
1084
+ 'title' => __( 'Extensions', 'ultimate-member' )
1085
  ),
1086
  'licenses' => array(
1087
+ 'title' => __( 'Licenses', 'ultimate-member' ),
1088
  ),
1089
  'misc' => array(
1090
+ 'title' => __( 'Misc', 'ultimate-member' ),
1091
+ 'fields' => array(
1092
  array(
1093
+ 'id' => 'form_asterisk',
1094
+ 'type' => 'checkbox',
1095
+ 'label' => __( 'Show an asterisk for required fields', 'ultimate-member' ),
1096
  ),
1097
  array(
1098
+ 'id' => 'profile_title',
1099
+ 'type' => 'text',
1100
+ 'label' => __( 'User Profile Title', 'ultimate-member' ),
1101
+ 'tooltip' => __( 'This is the title that is displayed on a specific user profile', 'ultimate-member' ),
1102
+ 'size' => 'medium'
1103
  ),
1104
  array(
1105
+ 'id' => 'profile_desc',
1106
+ 'type' => 'textarea',
1107
+ 'label' => __( 'User Profile Dynamic Meta Description', 'ultimate-member' ),
1108
+ 'tooltip' => __( 'This will be used in the meta description that is available for search-engines.', 'ultimate-member' ),
1109
+ 'args' => array(
1110
  'textarea_rows' => 6
1111
  )
1112
  ),
1133
  ),
1134
  ),
1135
  array(
1136
+ 'id' => 'uninstall_on_delete',
1137
+ 'type' => 'checkbox',
1138
+ 'label' => __( 'Remove Data on Uninstall?', 'ultimate-member' ),
1139
+ 'tooltip' => __( 'Check this box if you would like Ultimate Member to completely remove all of its data when the plugin/extensions are deleted.', 'ultimate-member' ),
1140
  )
1141
  )
1142
  ),
1143
  'install_info' => array(
1144
+ 'title' => __( 'Install Info', 'ultimate-member' ),
1145
+ 'fields' => array(
1146
  array(
1147
+ 'type' => 'install_info',
1148
  ),
1149
  )
1150
  ),
1239
 
1240
  //remove not option hidden fields
1241
  if ( ! empty( $settings_struct['fields'] ) ) {
1242
+ foreach ( $settings_struct['fields'] as $field_key => $field_options ) {
1243
 
1244
+ if ( isset( $field_options['is_option'] ) && $field_options['is_option'] === false ) {
1245
+ unset( $settings_struct['fields'][ $field_key ] );
1246
+ }
1247
 
1248
  }
1249
  }
1250
 
1251
+ if ( empty( $settings_struct['fields'] ) && empty( $settings_struct['sections'] ) ) {
1252
  um_js_redirect( add_query_arg( array( 'page' => 'um_options' ), admin_url( 'admin.php' ) ) );
1253
+ }
1254
 
1255
  if ( ! empty( $settings_struct['sections'] ) ) {
1256
+ if ( empty( $settings_struct['sections'][ $current_subtab ] ) ) {
1257
  um_js_redirect( add_query_arg( array( 'page' => 'um_options', 'tab' => $current_tab ), admin_url( 'admin.php' ) ) );
1258
+ }
1259
  }
1260
 
1261
  echo '<div id="um-settings-wrap" class="wrap"><h2>' . __( 'Ultimate Member - Settings', 'ultimate-member' ) . '</h2>';
1334
 
1335
  } else { ?>
1336
 
 
 
 
 
 
 
 
 
1337
  <form method="post" action="" name="um-settings-form" id="um-settings-form">
1338
  <input type="hidden" value="save" name="um-settings-action" />
1339
 
1384
  echo apply_filters( 'um_settings_section_' . $current_tab . '_' . $current_subtab . '_content',
1385
  $settings_section,
1386
  $section_fields
1387
+ ); ?>
 
1388
 
1389
 
1390
  <p class="submit">
1391
+ <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php esc_attr_e( 'Save Changes', 'ultimate-member' ) ?>" />
1392
  <?php $um_settings_nonce = wp_create_nonce( 'um-settings-nonce' ); ?>
1393
+ <input type="hidden" name="__umnonce" value="<?php echo esc_attr( $um_settings_nonce ); ?>" />
1394
  </p>
1395
  </form>
1396
 
1397
  <?php }
 
 
1398
  }
1399
 
1400
 
 
1401
  /**
1402
  * Generate pages tabs
1403
  *
1413
  $menu_tabs = array();
1414
  foreach ( $this->settings_structure as $slug => $tab ) {
1415
  if ( ! empty( $tab['fields'] ) ) {
1416
+ foreach ( $tab['fields'] as $field_key => $field_options ) {
1417
  if ( isset( $field_options['is_option'] ) && $field_options['is_option'] === false ) {
1418
+ unset( $tab['fields'][ $field_key ] );
1419
  }
1420
  }
1421
  }
1422
 
1423
+ if ( ! empty( $tab['fields'] ) || ! empty( $tab['sections'] ) ) {
1424
+ $menu_tabs[ $slug ] = $tab['title'];
1425
+ }
1426
  }
1427
 
1428
  $current_tab = empty( $_GET['tab'] ) ? '' : urldecode( $_GET['tab'] );
1429
+ foreach ( $menu_tabs as $name => $label ) {
1430
  $active = ( $current_tab == $name ) ? 'nav-tab-active' : '';
1431
+ $tabs .= '<a href="' . esc_url( admin_url( 'admin.php?page=um_options' . ( empty( $name ) ? '' : '&tab=' . $name ) ) ) . '" class="nav-tab ' . $active . '">' .
1432
  $label .
1433
  '</a>';
1434
  }
1469
  * @return string
1470
  */
1471
  function generate_subtabs_menu( $tab = '' ) {
1472
+ if ( empty( $this->settings_structure[ $tab ]['sections'] ) ) {
1473
  return '';
1474
+ }
1475
 
1476
  $menu_subtabs = array();
1477
+ foreach ( $this->settings_structure[ $tab ]['sections'] as $slug => $subtab ) {
1478
+ $menu_subtabs[ $slug ] = $subtab['title'];
1479
  }
1480
 
1481
  $subtabs = '<div><ul class="subsubsub">';
1484
  $current_subtab = empty( $_GET['section'] ) ? '' : urldecode( $_GET['section'] );
1485
  foreach ( $menu_subtabs as $name => $label ) {
1486
  $active = ( $current_subtab == $name ) ? 'current' : '';
1487
+ $subtabs .= '<a href="' . esc_url( admin_url( 'admin.php?page=um_options' . ( empty( $current_tab ) ? '' : '&tab=' . $current_tab ) . ( empty( $name ) ? '' : '&section=' . $name ) ) ) . '" class="' . $active . '">'
1488
  . $label .
1489
  '</a> | ';
1490
  }
1504
 
1505
  $nonce = ! empty( $_POST['__umnonce'] ) ? $_POST['__umnonce'] : '';
1506
 
1507
+ if ( ( ! wp_verify_nonce( $nonce, 'um-settings-nonce' ) || empty( $nonce ) ) || ! current_user_can( 'manage_options' ) ) {
1508
  // This nonce is not valid.
1509
  wp_die( 'Security Check' );
1510
  }
1571
  * }
1572
  * ?>
1573
  */
1574
+ do_action( 'um_settings_save' );
1575
 
1576
  //redirect after save settings
1577
  $arg = array(
1578
  'page' => 'um_options',
1579
  );
1580
 
1581
+ if ( ! empty( $_GET['tab'] ) ) {
1582
  $arg['tab'] = $_GET['tab'];
1583
+ }
1584
 
1585
+ if ( ! empty( $_GET['section'] ) ) {
1586
  $arg['section'] = $_GET['section'];
1587
+ }
1588
 
1589
  um_js_redirect( add_query_arg( $arg, admin_url( 'admin.php' ) ) );
1590
  }
1599
  */
1600
  function remove_empty_values( $settings ) {
1601
  $tab = '';
1602
+ if ( ! empty( $_GET['tab'] ) ) {
1603
  $tab = $_GET['tab'];
1604
+ }
1605
 
1606
  $section = '';
1607
+ if ( ! empty( $_GET['section'] ) ) {
1608
  $section = $_GET['section'];
1609
+ }
1610
 
1611
+ if ( isset( $this->settings_structure[ $tab ]['sections'][ $section ]['fields'] ) ) {
1612
+ $fields = $this->settings_structure[ $tab ]['sections'][ $section ]['fields'];
1613
+ } else {
1614
+ $fields = $this->settings_structure[ $tab ]['fields'];
1615
+ }
1616
 
1617
+ if ( empty( $fields ) ) {
1618
  return $settings;
1619
+ }
1620
 
1621
 
1622
  $filtered_settings = array();
1623
+ foreach ( $settings as $key => $value ) {
1624
 
1625
+ $filtered_settings[ $key ] = $value;
1626
 
1627
+ foreach ( $fields as $field ) {
1628
  if ( $field['id'] == $key && isset( $field['type'] ) && $field['type'] == 'multi_text' ) {
1629
+ $filtered_settings[ $key ] = array_filter( $settings[ $key ] );
1630
  }
1631
  }
1632
  }
1697
  *
1698
  */
1699
  function before_licenses_save() {
1700
+ if ( empty( $_POST['um_options'] ) || empty( $_POST['licenses_settings'] ) ) {
1701
  return;
1702
+ }
1703
 
1704
  foreach ( $_POST['um_options'] as $key => $value ) {
1705
  $this->previous_licenses[ $key ] = UM()->options()->get( $key );
1829
  */
1830
  $section_fields = apply_filters( 'um_admin_settings_email_section_fields', array(
1831
  array(
1832
+ 'id' => 'um_email_template',
1833
+ 'type' => 'hidden',
1834
+ 'value' => $email_key,
1835
  ),
1836
  array(
1837
+ 'id' => $email_key . '_on',
1838
+ 'type' => 'checkbox',
1839
+ 'label' => $emails[ $email_key ]['title'],
1840
+ 'tooltip' => $emails[ $email_key ]['description'],
1841
  ),
1842
  array(
1843
+ 'id' => $email_key . '_sub',
1844
+ 'type' => 'text',
1845
+ 'label' => __( 'Subject Line', 'ultimate-member' ),
1846
+ 'conditional' => array( $email_key . '_on', '=', 1 ),
1847
+ 'tooltip' => __( 'This is the subject line of the e-mail', 'ultimate-member' ),
1848
  ),
1849
  array(
1850
  'id' => $email_key,
1851
  'type' => 'email_template',
1852
+ 'label' => __( 'Message Body', 'ultimate-member' ),
1853
  'conditional' => array( $email_key . '_on', '=', 1 ),
1854
+ 'tooltip' => __( 'This is the content of the e-mail', 'ultimate-member' ),
1855
+ 'value' => UM()->mail()->get_email_template( $email_key ),
1856
  'in_theme' => $in_theme
1857
  ),
1858
  ), $email_key );
1881
  <div class="wrap-licenses">
1882
  <input type="hidden" id="licenses_settings" name="licenses_settings" value="1">
1883
  <?php $um_settings_nonce = wp_create_nonce( 'um-settings-nonce' ); ?>
1884
+ <input type="hidden" name="__umnonce" value="<?php echo esc_attr( $um_settings_nonce ); ?>" />
1885
  <table class="form-table um-settings-section">
1886
  <tbody>
1887
  <?php foreach ( $section_fields as $field_data ) {
2138
  } ?>
2139
 
2140
  <tr class="um-settings-line">
2141
+ <th><label for="um_options_<?php echo esc_attr( $field_data['id'] ) ?>"><?php echo esc_html( $field_data['label'] ) ?></label></th>
2142
  <td>
2143
  <form method="post" action="" name="um-settings-form" class="um-settings-form">
2144
  <input type="hidden" value="save" name="um-settings-action" />
2145
  <input type="hidden" name="licenses_settings" value="1" />
2146
  <?php $um_settings_nonce = wp_create_nonce( 'um-settings-nonce' ); ?>
2147
+ <input type="hidden" name="__umnonce" value="<?php echo esc_attr( $um_settings_nonce ); ?>" />
2148
+ <input type="text" id="um_options_<?php echo esc_attr( $field_data['id'] ) ?>" name="um_options[<?php echo esc_attr( $field_data['id'] ) ?>]" value="<?php echo $value ?>" class="um-option-field um-long-field" data-field_id="<?php echo esc_attr( $field_data['id'] ) ?>" />
2149
  <?php if ( ! empty( $field_data['description'] ) ) { ?>
2150
  <div class="description"><?php echo $field_data['description'] ?></div>
2151
  <?php } ?>
2152
 
2153
  <?php if ( ! empty( $value ) && ( ( is_object( $license ) && 'valid' == $license->license ) || 'valid' == $license ) ) { ?>
2154
+ <input type="button" class="button um_license_deactivate" id="<?php echo esc_attr( $field_data['id'] ) ?>_deactivate" value="<?php esc_attr_e( 'Clear License', 'ultimate-member' ) ?>"/>
2155
  <?php } elseif ( empty( $value ) ) { ?>
2156
+ <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php esc_attr_e( 'Activate', 'ultimate-member' ) ?>" />
2157
  <?php } else { ?>
2158
+ <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php esc_attr_e( 'Re-Activate', 'ultimate-member' ) ?>" />
2159
  <?php }
2160
 
2161
  if ( ! empty( $messages ) ) {
2162
  foreach ( $messages as $message ) { ?>
2163
+ <div class="edd-license-data edd-license-<?php echo esc_attr( $class . ' ' . $license_status ) ?>">
2164
  <p><?php echo $message ?></p>
2165
  </div>
2166
  <?php }
2189
  require_once um_path . 'includes/lib/browser.php';
2190
 
2191
  // Detect browser
2192
+ $browser = new \Browser();
2193
 
2194
  // Get theme info
2195
  $theme_data = wp_get_theme();
2196
  $theme = $theme_data->Name . ' ' . $theme_data->Version;
2197
 
2198
  // Identify Hosting Provider
2199
+ $host = um_get_host();
2200
 
2201
  um_fetch_user( get_current_user_id() );
2202
 
2297
  --- UM Configurations ---
2298
 
2299
  Version: <?php echo ultimatemember_version . "\n"; ?>
2300
+ Upgraded From: <?php echo get_option( 'um_last_version_upgrade', 'None' ) . "\n"; ?>
2301
  Current URL Method: <?php echo UM()->options()->get( 'current_url_method' ). "\n"; ?>
2302
  Cache User Profile: <?php if( UM()->options()->get( 'um_profile_object_cache_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
2303
  Generate Slugs on Directories: <?php if( UM()->options()->get( 'um_generate_slug_in_directory' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
2626
  ob_start();
2627
 
2628
  UM()->admin_forms_settings( array(
2629
+ 'class' => 'um_options-' . $current_tab . '-' . $current_subtab . ' um-third-column',
2630
+ 'prefix_id' => 'um_options',
2631
  'fields' => $section_fields
2632
  ) )->render_form(); ?>
2633
 
includes/admin/core/class-admin-upgrade.php CHANGED
@@ -1,9 +1,10 @@
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_Upgrade' ) ) {
8
 
9
 
@@ -271,7 +272,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
271
  um_add_upgrade_log( 'Get Upgrades Packages...' );
272
 
273
  jQuery.ajax({
274
- url: '<?php echo admin_url( 'admin-ajax.php' ) ?>',
275
  type: 'POST',
276
  dataType: 'json',
277
  data: {
@@ -301,7 +302,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
301
  um_add_upgrade_log( '<br />=================================================================' );
302
  um_add_upgrade_log( '<h4 style="font-weight: bold;">Prepare package "' + pack + '" version...</h4>' );
303
  jQuery.ajax({
304
- url: '<?php echo admin_url( 'admin-ajax.php' ) ?>',
305
  type: 'POST',
306
  dataType: 'html',
307
  data: {
1
  <?php
2
  namespace um\admin\core;
3
 
4
+
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
+
8
  if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
9
 
10
 
272
  um_add_upgrade_log( 'Get Upgrades Packages...' );
273
 
274
  jQuery.ajax({
275
+ url: '<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>',
276
  type: 'POST',
277
  dataType: 'json',
278
  data: {
302
  um_add_upgrade_log( '<br />=================================================================' );
303
  um_add_upgrade_log( '<h4 style="font-weight: bold;">Prepare package "' + pack + '" version...</h4>' );
304
  jQuery.ajax({
305
+ url: '<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>',
306
  type: 'POST',
307
  dataType: 'html',
308
  data: {
includes/admin/core/class-admin-users.php CHANGED
@@ -1,9 +1,10 @@
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_Users' ) ) {
8
 
9
 
@@ -120,7 +121,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
120
  <?php echo $this->get_bulk_admin_actions(); ?>
121
  </select>
122
 
123
- <input name="um_bulkedit" id="um_bulkedit" class="button" value="<?php _e( 'Apply', 'ultimate-member' ); ?>" type="submit" />
124
 
125
  </div>
126
 
@@ -204,7 +205,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
204
 
205
  $submitted = get_user_meta( $user_id, 'submitted', true );
206
  if ( ! empty( $submitted ) )
207
- $actions['view_info'] = '<a href="#" data-modal="UM_preview_registration" data-modal-size="smaller" data-dynamic-content="um_admin_review_registration" data-arg1="' . $user_id . '" data-arg2="edit_registration">' . __( 'Info', 'ultimate-member' ) . '</a>';
 
208
 
209
  /**
210
  * UM hook
@@ -325,7 +327,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
325
  $current = '';
326
  }
327
 
328
- $views[$k] = '<a href="' . admin_url( 'users.php' ) . '?status=' . $k . '" ' . $current . '>'. $v . ' <span class="count">('.UM()->query()->count_users_by_status( $k ).')</span></a>';
329
  }
330
 
331
  /**
@@ -372,8 +374,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
372
  // bulk edit users
373
  if ( ! empty( $_REQUEST['users'] ) && ! empty( $_REQUEST['um_bulkedit'] ) && ! empty( $_REQUEST['um_bulk_action'] ) ) {
374
 
375
- if ( ! current_user_can( 'edit_users' ) )
 
 
 
376
  wp_die( __( 'You do not have enough permissions to do that.', 'ultimate-member' ) );
 
377
 
378
  check_admin_referer( 'bulk-users' );
379
 
@@ -438,7 +444,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
438
  exit;
439
  }*/
440
 
441
- } else if ( ! empty( $_REQUEST['um_bulkedit'] ) ) {
442
 
443
  $uri = $this->set_redirect_uri( admin_url( 'users.php' ) );
444
  wp_redirect( $uri );
@@ -456,11 +462,13 @@ if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
456
  */
457
  function set_redirect_uri( $uri ) {
458
 
459
- if ( ! empty( $_REQUEST['s'] ) )
460
  $uri = add_query_arg( 's', $_REQUEST['s'], $uri );
 
461
 
462
- if ( ! empty( $_REQUEST['status'] ) )
463
  $uri = add_query_arg( 'status', $_REQUEST['status'], $uri );
 
464
 
465
  return $uri;
466
 
1
  <?php
2
  namespace um\admin\core;
3
 
4
+
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
+
8
  if ( ! class_exists( 'um\admin\core\Admin_Users' ) ) {
9
 
10
 
121
  <?php echo $this->get_bulk_admin_actions(); ?>
122
  </select>
123
 
124
+ <input name="um_bulkedit" id="um_bulkedit" class="button" value="<?php esc_attr_e( 'Apply', 'ultimate-member' ); ?>" type="submit" />
125
 
126
  </div>
127
 
205
 
206
  $submitted = get_user_meta( $user_id, 'submitted', true );
207
  if ( ! empty( $submitted ) )
208
+ $actions['view_info'] = '<a href="javascript:void(0);" data-modal="UM_preview_registration" data-modal-size="smaller"
209
+ data-dynamic-content="um_admin_review_registration" data-arg1="' . esc_attr( $user_id ) . '" data-arg2="edit_registration">' . __( 'Info', 'ultimate-member' ) . '</a>';
210
 
211
  /**
212
  * UM hook
327
  $current = '';
328
  }
329
 
330
+ $views[ $k ] = '<a href="' . esc_url( admin_url( 'users.php' ) . '?status=' . $k ) . '" ' . $current . '>'. $v . ' <span class="count">('.UM()->query()->count_users_by_status( $k ).')</span></a>';
331
  }
332
 
333
  /**
374
  // bulk edit users
375
  if ( ! empty( $_REQUEST['users'] ) && ! empty( $_REQUEST['um_bulkedit'] ) && ! empty( $_REQUEST['um_bulk_action'] ) ) {
376
 
377
+ $rolename = UM()->roles()->get_priority_user_role( get_current_user_id() );
378
+ $role = get_role( $rolename );
379
+
380
+ if( !current_user_can( 'edit_users' ) && !$role->has_cap( 'edit_users' ) ) {
381
  wp_die( __( 'You do not have enough permissions to do that.', 'ultimate-member' ) );
382
+ }
383
 
384
  check_admin_referer( 'bulk-users' );
385
 
444
  exit;
445
  }*/
446
 
447
+ } elseif ( ! empty( $_REQUEST['um_bulkedit'] ) ) {
448
 
449
  $uri = $this->set_redirect_uri( admin_url( 'users.php' ) );
450
  wp_redirect( $uri );
462
  */
463
  function set_redirect_uri( $uri ) {
464
 
465
+ if ( ! empty( $_REQUEST['s'] ) ) {
466
  $uri = add_query_arg( 's', $_REQUEST['s'], $uri );
467
+ }
468
 
469
+ if ( ! empty( $_REQUEST['status'] ) ) {
470
  $uri = add_query_arg( 'status', $_REQUEST['status'], $uri );
471
+ }
472
 
473
  return $uri;
474
 
includes/admin/core/list-tables/roles-list-table.php CHANGED
@@ -1,5 +1,4 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
 
4
  global $wpdb;
5
 
@@ -18,14 +17,15 @@ if ( isset( $_GET['action'] ) ) {
18
  $role_keys = array();
19
  if ( isset( $_REQUEST['id'] ) ) {
20
  check_admin_referer( 'um_role_delete' . $_REQUEST['id'] . get_current_user_id() );
21
- $role_keys = (array)$_REQUEST['id'];
22
  } elseif( isset( $_REQUEST['item'] ) ) {
23
  check_admin_referer( 'bulk-' . sanitize_key( __( 'Roles', 'ultimate-member' ) ) );
24
  $role_keys = $_REQUEST['item'];
25
  }
26
 
27
- if ( ! count( $role_keys ) )
28
  um_js_redirect( $redirect );
 
29
 
30
  $um_roles = get_option( 'um_roles' );
31
 
@@ -69,8 +69,9 @@ if ( isset( $_GET['action'] ) ) {
69
  }
70
 
71
  //update user role if it's empty
72
- if ( empty( $object_user->roles ) )
73
  wp_update_user( array( 'ID' => $user_id, 'role' => 'subscriber' ) );
 
74
  }
75
  }
76
 
@@ -83,20 +84,21 @@ if ( isset( $_GET['action'] ) ) {
83
  $role_keys = array();
84
  if ( isset( $_REQUEST['id'] ) ) {
85
  check_admin_referer( 'um_role_reset' . $_REQUEST['id'] . get_current_user_id() );
86
- $role_keys = (array)$_REQUEST['id'];
87
  } elseif( isset( $_REQUEST['item'] ) ) {
88
  check_admin_referer( 'bulk-' . sanitize_key( __( 'Roles', 'ultimate-member' ) ) );
89
  $role_keys = $_REQUEST['item'];
90
  }
91
 
92
- if ( ! count( $role_keys ) )
93
  um_js_redirect( $redirect );
 
94
 
95
  foreach ( $role_keys as $k=>$role_key ) {
96
  $role_meta = get_option( "um_role_{$role_key}_meta" );
97
 
98
  if ( ! empty( $role_meta['_um_is_custom'] ) ) {
99
- unset( $role_keys[array_search( $role_key, $role_keys )] );
100
  continue;
101
  }
102
 
@@ -110,14 +112,16 @@ if ( isset( $_GET['action'] ) ) {
110
  }
111
 
112
  //remove extra query arg
113
- if ( ! empty( $_GET['_wp_http_referer'] ) )
114
  um_js_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce'), wp_unslash( $_SERVER['REQUEST_URI'] ) ) );
 
115
 
116
  $order_by = 'name';
117
  $order = ( isset( $_GET['order'] ) && 'asc' == strtolower( $_GET['order'] ) ) ? 'ASC' : 'DESC';
118
 
119
- if( ! class_exists( 'WP_List_Table' ) )
120
  require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
 
121
 
122
 
123
  /**
@@ -477,7 +481,7 @@ $ListTable->um_set_pagination_args( array( 'total_items' => count( $roles ), 'pe
477
  <div class="wrap">
478
  <h2>
479
  <?php _e( 'User Roles', 'ultimate-member' ) ?>
480
- <a class="add-new-h2" href="<?php echo add_query_arg( array( 'page' => 'um_roles', 'tab' => 'add' ), admin_url( 'admin.php' ) ) ?>">
481
  <?php _e( 'Add New', 'ultimate-member' ) ?>
482
  </a>
483
  </h2>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
 
2
 
3
  global $wpdb;
4
 
17
  $role_keys = array();
18
  if ( isset( $_REQUEST['id'] ) ) {
19
  check_admin_referer( 'um_role_delete' . $_REQUEST['id'] . get_current_user_id() );
20
+ $role_keys = (array) $_REQUEST['id'];
21
  } elseif( isset( $_REQUEST['item'] ) ) {
22
  check_admin_referer( 'bulk-' . sanitize_key( __( 'Roles', 'ultimate-member' ) ) );
23
  $role_keys = $_REQUEST['item'];
24
  }
25
 
26
+ if ( ! count( $role_keys ) ) {
27
  um_js_redirect( $redirect );
28
+ }
29
 
30
  $um_roles = get_option( 'um_roles' );
31
 
69
  }
70
 
71
  //update user role if it's empty
72
+ if ( empty( $object_user->roles ) ) {
73
  wp_update_user( array( 'ID' => $user_id, 'role' => 'subscriber' ) );
74
+ }
75
  }
76
  }
77
 
84
  $role_keys = array();
85
  if ( isset( $_REQUEST['id'] ) ) {
86
  check_admin_referer( 'um_role_reset' . $_REQUEST['id'] . get_current_user_id() );
87
+ $role_keys = (array) $_REQUEST['id'];
88
  } elseif( isset( $_REQUEST['item'] ) ) {
89
  check_admin_referer( 'bulk-' . sanitize_key( __( 'Roles', 'ultimate-member' ) ) );
90
  $role_keys = $_REQUEST['item'];
91
  }
92
 
93
+ if ( ! count( $role_keys ) ) {
94
  um_js_redirect( $redirect );
95
+ }
96
 
97
  foreach ( $role_keys as $k=>$role_key ) {
98
  $role_meta = get_option( "um_role_{$role_key}_meta" );
99
 
100
  if ( ! empty( $role_meta['_um_is_custom'] ) ) {
101
+ unset( $role_keys[ array_search( $role_key, $role_keys ) ] );
102
  continue;
103
  }
104
 
112
  }
113
 
114
  //remove extra query arg
115
+ if ( ! empty( $_GET['_wp_http_referer'] ) ) {
116
  um_js_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce'), wp_unslash( $_SERVER['REQUEST_URI'] ) ) );
117
+ }
118
 
119
  $order_by = 'name';
120
  $order = ( isset( $_GET['order'] ) && 'asc' == strtolower( $_GET['order'] ) ) ? 'ASC' : 'DESC';
121
 
122
+ if ( ! class_exists( 'WP_List_Table' ) ) {
123
  require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
124
+ }
125
 
126
 
127
  /**
481
  <div class="wrap">
482
  <h2>
483
  <?php _e( 'User Roles', 'ultimate-member' ) ?>
484
+ <a class="add-new-h2" href="<?php echo esc_url( add_query_arg( array( 'page' => 'um_roles', 'tab' => 'add' ), admin_url( 'admin.php' ) ) ) ?>">
485
  <?php _e( 'Add New', 'ultimate-member' ) ?>
486
  </a>
487
  </h2>
includes/admin/templates/dashboard/cache.php CHANGED
@@ -1,4 +1,7 @@
1
- <?php global $wpdb;
 
 
 
2
 
3
  $count = $wpdb->get_var(
4
  "SELECT COUNT( option_id )
@@ -8,7 +11,7 @@ $count = $wpdb->get_var(
8
 
9
  <p><?php _e( 'Run this task from time to time to keep your DB clean.', 'ultimate-member' ) ?></p>
10
  <p>
11
- <a href="<?php echo add_query_arg( 'um_adm_action', 'user_cache' ); ?>" class="button">
12
  <?php printf( __( 'Clear cache of %s users', 'ultimate-member' ), $count ) ?>
13
  </a>
14
  </p>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
2
+
3
+
4
+ global $wpdb;
5
 
6
  $count = $wpdb->get_var(
7
  "SELECT COUNT( option_id )
11
 
12
  <p><?php _e( 'Run this task from time to time to keep your DB clean.', 'ultimate-member' ) ?></p>
13
  <p>
14
+ <a href="<?php echo esc_url( add_query_arg( 'um_adm_action', 'user_cache' ) ); ?>" class="button">
15
  <?php printf( __( 'Clear cache of %s users', 'ultimate-member' ), $count ) ?>
16
  </a>
17
  </p>
includes/admin/templates/dashboard/feed.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="rss-widget">
2
  <?php wp_widget_rss_output(array(
3
  'url' => 'https://ultimatemember.com/blog/feed/',
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="rss-widget">
5
  <?php wp_widget_rss_output(array(
6
  'url' => 'https://ultimatemember.com/blog/feed/',
includes/admin/templates/dashboard/purge.php CHANGED
@@ -1,11 +1,14 @@
1
- <?php if ( $this->dir_size( 'temp' ) > 0.1 ) { ?>
 
 
 
2
 
3
  <p>
4
  <?php printf( __( 'You can free up <span class="red">%s MB</span> by purging your temp upload directory.', 'ultimate-member' ), $this->dir_size( 'temp' ) ); ?>
5
  </p>
6
 
7
  <p>
8
- <a href="<?php echo add_query_arg( 'um_adm_action', 'purge_temp' ); ?>" class="button">
9
  <?php _e( 'Purge Temp', 'ultimate-member' ); ?>
10
  </a>
11
  </p>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
2
+
3
+
4
+ if ( $this->dir_size( 'temp' ) > 0.1 ) { ?>
5
 
6
  <p>
7
  <?php printf( __( 'You can free up <span class="red">%s MB</span> by purging your temp upload directory.', 'ultimate-member' ), $this->dir_size( 'temp' ) ); ?>
8
  </p>
9
 
10
  <p>
11
+ <a href="<?php echo esc_url( add_query_arg( 'um_adm_action', 'purge_temp' ) ); ?>" class="button">
12
  <?php _e( 'Purge Temp', 'ultimate-member' ); ?>
13
  </a>
14
  </p>
includes/admin/templates/dashboard/upgrade-request.php CHANGED
@@ -1,6 +1,9 @@
 
 
 
1
  <p><?php _e( 'Run this task from time to time if you have issues with WP Cron and need to get UM extension updates.', 'ultimate-member' ) ?></p>
2
  <p>
3
- <a href="<?php echo add_query_arg( 'um_adm_action', 'manual_upgrades_request' ); ?>" class="button">
4
  <?php _e( 'Get latest versions', 'ultimate-member' ) ?>
5
  </a>
6
  </p>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <p><?php _e( 'Run this task from time to time if you have issues with WP Cron and need to get UM extension updates.', 'ultimate-member' ) ?></p>
5
  <p>
6
+ <a href="<?php echo esc_url( add_query_arg( 'um_adm_action', 'manual_upgrades_request' ) ); ?>" class="button">
7
  <?php _e( 'Get latest versions', 'ultimate-member' ) ?>
8
  </a>
9
  </p>
includes/admin/templates/dashboard/users.php CHANGED
@@ -1,19 +1,46 @@
 
 
 
1
  <div class="table">
2
 
3
  <table>
4
  <tr class="first">
5
- <td class="first b"><a href="<?php echo admin_url('users.php'); ?>"><?php echo UM()->query()->count_users(); ?></a></td>
6
- <td class="t"><a href="<?php echo admin_url('users.php'); ?>"><?php _e('Users','ultimate-member'); ?></a></td>
 
 
 
 
 
 
 
 
7
  </tr>
8
 
9
  <tr>
10
- <td class="first b"><a href="<?php echo admin_url('users.php?status=approved'); ?>"><?php echo UM()->query()->count_users_by_status('approved'); ?></a></td>
11
- <td class="t"><a href="<?php echo admin_url('users.php?status=approved'); ?>"><?php _e('Approved','ultimate-member'); ?></a></td>
 
 
 
 
 
 
 
 
12
  </tr>
13
 
14
  <tr>
15
- <td class="first b"><a href="<?php echo admin_url('users.php?status=rejected'); ?>"><?php echo UM()->query()->count_users_by_status('rejected'); ?></a></td>
16
- <td class="t"><a href="<?php echo admin_url('users.php?status=rejected'); ?>"><?php _e('Rejected','ultimate-member'); ?></a></td>
 
 
 
 
 
 
 
 
17
  </tr>
18
  </table>
19
 
@@ -23,18 +50,42 @@
23
 
24
  <table>
25
  <tr class="first">
26
- <td class="b"><a href="<?php echo admin_url('users.php?status=awaiting_admin_review'); ?>"><?php echo UM()->query()->count_users_by_status('awaiting_admin_review'); ?></a></td>
27
- <td class="last t"><a href="<?php echo admin_url('users.php?status=awaiting_admin_review'); ?>" class="warning"><?php _e('Pending Review','ultimate-member'); ?></a></td>
 
 
 
 
 
 
 
 
28
  </tr>
29
 
30
  <tr>
31
- <td class="b"><a href="<?php echo admin_url('users.php?status=awaiting_email_confirmation'); ?>"><?php echo UM()->query()->count_users_by_status('awaiting_email_confirmation'); ?></a></td>
32
- <td class="last t"><a href="<?php echo admin_url('users.php?status=awaiting_email_confirmation'); ?>" class="warning"><?php _e('Awaiting E-mail Confirmation','ultimate-member'); ?></a></td>
 
 
 
 
 
 
 
 
33
  </tr>
34
 
35
  <tr>
36
- <td class="first b"><a href="<?php echo admin_url('users.php?status=inactive'); ?>"><?php echo UM()->query()->count_users_by_status('inactive'); ?></a></td>
37
- <td class="t"><a href="<?php echo admin_url('users.php?status=inactive'); ?>"><?php _e('Inactive','ultimate-member'); ?></a></td>
 
 
 
 
 
 
 
 
38
  </tr>
39
  </table>
40
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="table">
5
 
6
  <table>
7
  <tr class="first">
8
+ <td class="first b">
9
+ <a href="<?php echo esc_url( admin_url( 'users.php' ) ); ?>">
10
+ <?php echo UM()->query()->count_users(); ?>
11
+ </a>
12
+ </td>
13
+ <td class="t">
14
+ <a href="<?php echo esc_url( admin_url( 'users.php' ) ); ?>">
15
+ <?php _e( 'Users', 'ultimate-member' ); ?>
16
+ </a>
17
+ </td>
18
  </tr>
19
 
20
  <tr>
21
+ <td class="first b">
22
+ <a href="<?php echo esc_url( admin_url( 'users.php?status=approved' ) ); ?>">
23
+ <?php echo UM()->query()->count_users_by_status( 'approved' ); ?>
24
+ </a>
25
+ </td>
26
+ <td class="t">
27
+ <a href="<?php echo esc_url( admin_url( 'users.php?status=approved' ) ); ?>">
28
+ <?php _e( 'Approved', 'ultimate-member' ); ?>
29
+ </a>
30
+ </td>
31
  </tr>
32
 
33
  <tr>
34
+ <td class="first b">
35
+ <a href="<?php echo esc_url( admin_url( 'users.php?status=rejected' ) ); ?>">
36
+ <?php echo UM()->query()->count_users_by_status( 'rejected' ); ?>
37
+ </a>
38
+ </td>
39
+ <td class="t">
40
+ <a href="<?php echo esc_url( admin_url( 'users.php?status=rejected' ) ); ?>">
41
+ <?php _e( 'Rejected', 'ultimate-member' ); ?>
42
+ </a>
43
+ </td>
44
  </tr>
45
  </table>
46
 
50
 
51
  <table>
52
  <tr class="first">
53
+ <td class="b">
54
+ <a href="<?php echo esc_url( admin_url( 'users.php?status=awaiting_admin_review' ) ); ?>">
55
+ <?php echo UM()->query()->count_users_by_status( 'awaiting_admin_review' ); ?>
56
+ </a>
57
+ </td>
58
+ <td class="last t">
59
+ <a href="<?php echo esc_url( admin_url( 'users.php?status=awaiting_admin_review' ) ); ?>" class="warning">
60
+ <?php _e( 'Pending Review', 'ultimate-member' ); ?>
61
+ </a>
62
+ </td>
63
  </tr>
64
 
65
  <tr>
66
+ <td class="b">
67
+ <a href="<?php echo esc_url( admin_url( 'users.php?status=awaiting_email_confirmation' ) ); ?>">
68
+ <?php echo UM()->query()->count_users_by_status( 'awaiting_email_confirmation' ); ?>
69
+ </a>
70
+ </td>
71
+ <td class="last t">
72
+ <a href="<?php echo esc_url( admin_url( 'users.php?status=awaiting_email_confirmation' ) ); ?>" class="warning">
73
+ <?php _e( 'Awaiting E-mail Confirmation', 'ultimate-member' ); ?>
74
+ </a>
75
+ </td>
76
  </tr>
77
 
78
  <tr>
79
+ <td class="first b">
80
+ <a href="<?php echo esc_url( admin_url( 'users.php?status=inactive' ) ); ?>">
81
+ <?php echo UM()->query()->count_users_by_status( 'inactive' ); ?>
82
+ </a>
83
+ </td>
84
+ <td class="t">
85
+ <a href="<?php echo esc_url( admin_url( 'users.php?status=inactive' ) ); ?>">
86
+ <?php _e( 'Inactive', 'ultimate-member' ); ?>
87
+ </a>
88
+ </td>
89
  </tr>
90
  </table>
91
 
includes/admin/templates/directory/appearance.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
  <?php UM()->admin_forms( array(
3
  'class' => 'um-member-directory-appearance um-top-label',
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
  <?php UM()->admin_forms( array(
6
  'class' => 'um-member-directory-appearance um-top-label',
includes/admin/templates/directory/general.php CHANGED
@@ -1,4 +1,6 @@
1
- <?php
 
 
2
  $meta = get_post_custom( get_the_ID() );
3
  foreach( $meta as $k => $v ) {
4
  if ( strstr( $k, '_um_' ) && !is_array( $v[0] ) ) {
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
2
+
3
+
4
  $meta = get_post_custom( get_the_ID() );
5
  foreach( $meta as $k => $v ) {
6
  if ( strstr( $k, '_um_' ) && !is_array( $v[0] ) ) {
includes/admin/templates/directory/pagination.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
  <?php UM()->admin_forms( array(
3
  'class' => 'um-member-directory-pagination um-half-column',
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
  <?php UM()->admin_forms( array(
6
  'class' => 'um-member-directory-pagination um-half-column',
includes/admin/templates/directory/profile.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
 
3
  <?php $user_fields = array();
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
 
6
  <?php $user_fields = array();
includes/admin/templates/directory/search.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
  <?php
3
  $can_search_array = array();
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
  <?php
6
  $can_search_array = array();
includes/admin/templates/directory/shortcode.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
  <?php /*UM()->admin_forms( array(
3
  'class' => 'um-member-directory-shortcode um-top-label',
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
  <?php /*UM()->admin_forms( array(
6
  'class' => 'um-member-directory-shortcode um-top-label',
includes/admin/templates/extensions.php CHANGED
@@ -122,6 +122,12 @@ $premium['user-bookmarks'] = array(
122
  'desc' => 'Allow users to bookmark content from your website',
123
  );
124
 
 
 
 
 
 
 
125
  $free['forumwp'] = array(
126
  'url' => 'https://ultimatemember.com/extensions/forumwp/',
127
  'name' => 'ForumWP',
@@ -182,11 +188,11 @@ $free['terms-conditions'] = array(
182
  foreach ( $premium as $key => $info ) { ?>
183
 
184
  <div class="plugin-card">
185
- <a href="<?php echo esc_attr( $info['url'] ); ?>" class="plugin-image">
186
- <img src="<?php echo esc_attr( um_url . 'assets/img/extensions/' . $key . '.png' ); ?>" alt="<?php echo esc_attr( $info['name'] ) ?>" />
187
  </a>
188
  <div class="plugin-card-top">
189
- <h3><a href="<?php echo esc_attr( $info['url'] ); ?>"><?php echo $info['name']; ?></a></h3>
190
 
191
  <div class="desc column-description">
192
  <?php echo $info['desc']; ?>
@@ -195,12 +201,12 @@ $free['terms-conditions'] = array(
195
  <div class="action-links">
196
  <ul class="plugin-action-buttons">
197
  <li>
198
- <a class="install-now button" href="<?php echo $info['url']; ?>">
199
  <?php _e( 'Get this Add on', 'ultimate-member' ) ?>
200
  </a>
201
  </li>
202
  <li>
203
- <a href="<?php echo $info['url']; ?>">
204
  <?php _e( 'More Details', 'ultimate-member' ) ?>
205
  </a>
206
  </li>
@@ -216,11 +222,11 @@ $free['terms-conditions'] = array(
216
  foreach ( $free as $key => $info ) { ?>
217
 
218
  <div class="plugin-card">
219
- <a href="<?php echo $info['url']; ?>" class="plugin-image">
220
- <img src="<?php echo esc_attr( um_url . 'assets/img/extensions/' . $key . '.png' ); ?>" alt="<?php echo esc_attr( $info['name'] ) ?>" />
221
  </a>
222
  <div class="plugin-card-top">
223
- <h3><a href="<?php echo $info['url']; ?>"><?php echo $info['name']; ?></a></h3>
224
 
225
  <div class="desc column-description">
226
  <?php echo $info['desc']; ?>
@@ -229,7 +235,7 @@ $free['terms-conditions'] = array(
229
  <div class="action-links">
230
  <ul class="plugin-action-buttons">
231
  <li>
232
- <a class="install-now button" href="<?php echo $info['url']; ?>">
233
  <?php _e( 'Get this Add on', 'ultimate-member' ) ?>
234
  </a>
235
  </li>
122
  'desc' => 'Allow users to bookmark content from your website',
123
  );
124
 
125
+ $premium['unsplash'] = array(
126
+ 'url' => 'https://ultimatemember.com/extensions/unsplash/',
127
+ 'name' => 'Unsplash',
128
+ 'desc' => 'Allow users to select a profile cover photo from <a href="https://unsplash.com/" target="_blank">Unsplash</a> from their profile',
129
+ );
130
+
131
  $free['forumwp'] = array(
132
  'url' => 'https://ultimatemember.com/extensions/forumwp/',
133
  'name' => 'ForumWP',
188
  foreach ( $premium as $key => $info ) { ?>
189
 
190
  <div class="plugin-card">
191
+ <a href="<?php echo esc_url( $info['url'] ); ?>" class="plugin-image">
192
+ <img src="<?php echo esc_url( um_url . 'assets/img/extensions/' . $key . '.png' ); ?>" alt="<?php echo esc_attr( $info['name'] ) ?>" />
193
  </a>
194
  <div class="plugin-card-top">
195
+ <h3><a href="<?php echo esc_url( $info['url'] ); ?>"><?php echo $info['name']; ?></a></h3>
196
 
197
  <div class="desc column-description">
198
  <?php echo $info['desc']; ?>
201
  <div class="action-links">
202
  <ul class="plugin-action-buttons">
203
  <li>
204
+ <a class="install-now button" href="<?php echo esc_url( $info['url'] ); ?>">
205
  <?php _e( 'Get this Add on', 'ultimate-member' ) ?>
206
  </a>
207
  </li>
208
  <li>
209
+ <a href="<?php echo esc_url( $info['url'] ); ?>">
210
  <?php _e( 'More Details', 'ultimate-member' ) ?>
211
  </a>
212
  </li>
222
  foreach ( $free as $key => $info ) { ?>
223
 
224
  <div class="plugin-card">
225
+ <a href="<?php echo esc_url( $info['url'] ); ?>" class="plugin-image">
226
+ <img src="<?php echo esc_url( um_url . 'assets/img/extensions/' . $key . '.png' ); ?>" alt="<?php echo esc_attr( $info['name'] ) ?>" />
227
  </a>
228
  <div class="plugin-card-top">
229
+ <h3><a href="<?php echo esc_url( $info['url'] ); ?>"><?php echo $info['name']; ?></a></h3>
230
 
231
  <div class="desc column-description">
232
  <?php echo $info['desc']; ?>
235
  <div class="action-links">
236
  <ul class="plugin-action-buttons">
237
  <li>
238
+ <a class="install-now button" href="<?php echo esc_url( $info['url'] ); ?>">
239
  <?php _e( 'Get this Add on', 'ultimate-member' ) ?>
240
  </a>
241
  </li>
includes/admin/templates/form/builder.php CHANGED
@@ -1,27 +1,34 @@
1
- <?php if ( empty( UM()->builder()->form_id ) ) {
 
 
 
2
  UM()->builder()->form_id = $this->form_id;
3
  } ?>
4
 
5
- <div class="um-admin-builder" data-form_id="<?php echo UM()->builder()->form_id; ?>">
6
 
7
  <div class="um-admin-drag-ctrls-demo um-admin-drag-ctrls">
8
-
9
- <a href="#" class="active" data-modal="UM_preview_form" data-modal-size="smaller" data-dynamic-content="um_admin_preview_form" data-arg1="<?php the_ID(); ?>" data-arg2=""><?php _e('Live Preview','ultimate-member'); ?></a>
10
-
 
11
  </div>
12
-
13
  <div class="um-admin-clear"></div>
14
-
15
  <div class="um-admin-drag">
16
-
17
- <div class="um-admin-drag-ajax" data-form_id="<?php echo UM()->builder()->form_id; ?>">
18
-
19
  <?php UM()->builder()->show_builder(); ?>
20
-
21
  </div>
22
-
23
- <div class="um-admin-drag-addrow um-admin-tipsy-n" title="<?php _e('Add Master Row','ultimate-member'); ?>" data-row_action="add_row"><i class="um-icon-plus"></i></div>
24
-
 
 
 
25
  </div>
26
 
27
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
2
+
3
+
4
+ if ( empty( UM()->builder()->form_id ) ) {
5
  UM()->builder()->form_id = $this->form_id;
6
  } ?>
7
 
8
+ <div class="um-admin-builder" data-form_id="<?php echo esc_attr( UM()->builder()->form_id ); ?>">
9
 
10
  <div class="um-admin-drag-ctrls-demo um-admin-drag-ctrls">
11
+
12
+ <a href="javascript:void(0);" class="active" data-modal="UM_preview_form" data-modal-size="smaller" data-dynamic-content="um_admin_preview_form"
13
+ data-arg1="<?php esc_attr( the_ID() ); ?>" data-arg2=""><?php _e('Live Preview','ultimate-member'); ?></a>
14
+
15
  </div>
16
+
17
  <div class="um-admin-clear"></div>
18
+
19
  <div class="um-admin-drag">
20
+
21
+ <div class="um-admin-drag-ajax" data-form_id="<?php echo esc_attr( UM()->builder()->form_id ); ?>">
22
+
23
  <?php UM()->builder()->show_builder(); ?>
24
+
25
  </div>
26
+
27
+ <div class="um-admin-drag-addrow um-admin-tipsy-n" title="<?php esc_attr_e( 'Add Master Row', 'ultimate-member' ); ?>"
28
+ data-row_action="add_row">
29
+ <i class="um-icon-plus"></i>
30
+ </div>
31
+
32
  </div>
33
 
34
  </div>
includes/admin/templates/form/login_customize.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
  <?php UM()->admin_forms( array(
3
  'class' => 'um-form-login-customize um-top-label',
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
  <?php UM()->admin_forms( array(
6
  'class' => 'um-form-login-customize um-top-label',
includes/admin/templates/form/login_settings.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
  <?php UM()->admin_forms( array(
3
  'class' => 'um-form-login-settings um-top-label',
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
  <?php UM()->admin_forms( array(
6
  'class' => 'um-form-login-settings um-top-label',
includes/admin/templates/form/mode.php CHANGED
@@ -1,17 +1,21 @@
1
- <?php $is_core = get_post_meta( get_the_ID(), '_um_core', true ); ?>
 
 
 
2
 
3
  <div class="um-admin-boxed-links um-admin-ajaxlink <?php if ( $is_core ) echo 'is-core-form'; ?>">
4
 
5
  <?php if ( $is_core ) { ?>
6
  <p><?php _e( '<strong>Note:</strong> Form type cannot be changed for the default forms.', 'ultimate-member' ); ?></p>
7
  <?php } ?>
8
-
9
- <a href="#" data-role="register"><?php _e('Registration Form','ultimate-member'); ?></a>
10
-
11
- <a href="#" data-role="profile"><?php _e('Profile Form','ultimate-member'); ?></a>
12
-
13
- <a href="#" data-role="login"><?php _e('Login Form','ultimate-member'); ?></a>
14
-
15
- <input type="hidden" name="form[_um_mode]" id="form__um_mode" value="<?php echo UM()->query()->get_meta_value( '_um_mode', null, 'register' ); ?>" />
16
-
17
- </div><div class="um-admin-clear"></div>
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
2
+
3
+
4
+ $is_core = get_post_meta( get_the_ID(), '_um_core', true ); ?>
5
 
6
  <div class="um-admin-boxed-links um-admin-ajaxlink <?php if ( $is_core ) echo 'is-core-form'; ?>">
7
 
8
  <?php if ( $is_core ) { ?>
9
  <p><?php _e( '<strong>Note:</strong> Form type cannot be changed for the default forms.', 'ultimate-member' ); ?></p>
10
  <?php } ?>
11
+
12
+ <a href="javascript:void(0);" data-role="register"><?php _e( 'Registration Form', 'ultimate-member' ); ?></a>
13
+
14
+ <a href="javascript:void(0);" data-role="profile"><?php _e('Profile Form', 'ultimate-member' ); ?></a>
15
+
16
+ <a href="javascript:void(0);" data-role="login"><?php _e( 'Login Form', 'ultimate-member' ); ?></a>
17
+
18
+ <input type="hidden" name="form[_um_mode]" id="form__um_mode" value="<?php echo esc_attr( UM()->query()->get_meta_value( '_um_mode', null, 'register' ) ); ?>" />
19
+
20
+ </div>
21
+ <div class="um-admin-clear"></div>
includes/admin/templates/form/profile_customize.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
 
3
  <?php $profile_role_array = array();
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
 
6
  <?php $profile_role_array = array();
includes/admin/templates/form/profile_settings.php CHANGED
@@ -1,5 +1,6 @@
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 ) {
1
  <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
 
3
+
4
  <div class="um-admin-metabox">
5
  <?php $user_fields = array();
6
  foreach ( UM()->builtin()->all_user_fields() as $key => $arr ) {
includes/admin/templates/form/register_customize.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
 
3
  <?php foreach ( UM()->roles()->get_roles( __( 'Default', 'ultimate-member' ) ) as $key => $value ) {
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
 
6
  <?php foreach ( UM()->roles()->get_roles( __( 'Default', 'ultimate-member' ) ) as $key => $value ) {
includes/admin/templates/form/register_gdpr.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
 
3
  <?php
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
 
6
  <?php
includes/admin/templates/form/shortcode.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
  <?php /*UM()->admin_forms( array(
3
  'class' => 'um-form-shortcode um-top-label',
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
  <?php /*UM()->admin_forms( array(
6
  'class' => 'um-form-shortcode um-top-label',
includes/admin/templates/modal/dynamic_edit_field.php CHANGED
@@ -1,20 +1,23 @@
 
 
 
1
  <div id="UM_edit_field" style="display:none">
2
 
3
  <form action="" method="post" class="um_add_field">
4
-
5
  <div class="um-admin-modal-head">
6
- <h3><?php _e('Edit Field','ultimate-member'); ?></h3>
7
  </div>
8
 
9
  <div class="um-admin-modal-body um-admin-metabox"></div>
10
 
11
  <div class="um-admin-modal-foot">
12
- <input type="submit" value="<?php _e('Update','ultimate-member'); ?>" class="button-primary" />
13
  <input type="hidden" name="action" value="um_update_field" />
14
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce( 'um-admin-nonce' ) ?>" />
15
- <a href="#" data-action="UM_remove_modal" class="button"><?php _e('Cancel','ultimate-member'); ?></a>
16
  </div>
17
-
18
  </form>
19
-
20
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div id="UM_edit_field" style="display:none">
5
 
6
  <form action="" method="post" class="um_add_field">
7
+
8
  <div class="um-admin-modal-head">
9
+ <h3><?php _e( 'Edit Field', 'ultimate-member' ); ?></h3>
10
  </div>
11
 
12
  <div class="um-admin-modal-body um-admin-metabox"></div>
13
 
14
  <div class="um-admin-modal-foot">
15
+ <input type="submit" value="<?php esc_attr_e( 'Update', 'ultimate-member' ); ?>" class="button-primary" />
16
  <input type="hidden" name="action" value="um_update_field" />
17
+ <input type="hidden" name="nonce" value="<?php echo esc_attr( wp_create_nonce( 'um-admin-nonce' ) ) ?>" />
18
+ <a href="javascript:void(0);" data-action="UM_remove_modal" class="button"><?php _e( 'Cancel', 'ultimate-member' ); ?></a>
19
  </div>
20
+
21
  </form>
22
+
23
  </div>
includes/admin/templates/modal/dynamic_edit_row.php CHANGED
@@ -1,20 +1,23 @@
 
 
 
1
  <div id="UM_edit_row" style="display:none">
2
 
3
  <form action="" method="post" class="um_add_field">
4
-
5
  <div class="um-admin-modal-head">
6
- <h3><?php _e('Edit Row Settings','ultimate-member'); ?></h3>
7
  </div>
8
 
9
  <div class="um-admin-modal-body um-admin-metabox"></div>
10
 
11
  <div class="um-admin-modal-foot">
12
- <input type="submit" value="<?php _e('Update','ultimate-member'); ?>" class="button-primary" />
13
  <input type="hidden" name="action" value="um_update_field" />
14
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce( 'um-admin-nonce' ) ?>" />
15
- <a href="#" data-action="UM_remove_modal" class="button"><?php _e('Cancel','ultimate-member'); ?></a>
16
  </div>
17
-
18
  </form>
19
-
20
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div id="UM_edit_row" style="display:none">
5
 
6
  <form action="" method="post" class="um_add_field">
7
+
8
  <div class="um-admin-modal-head">
9
+ <h3><?php _e( 'Edit Row Settings', 'ultimate-member' ); ?></h3>
10
  </div>
11
 
12
  <div class="um-admin-modal-body um-admin-metabox"></div>
13
 
14
  <div class="um-admin-modal-foot">
15
+ <input type="submit" value="<?php esc_attr_e( 'Update', 'ultimate-member' ); ?>" class="button-primary" />
16
  <input type="hidden" name="action" value="um_update_field" />
17
+ <input type="hidden" name="nonce" value="<?php echo esc_attr( wp_create_nonce( 'um-admin-nonce' ) ) ?>" />
18
+ <a href="javascript:void(0);" data-action="UM_remove_modal" class="button"><?php _e( 'Cancel', 'ultimate-member' ); ?></a>
19
  </div>
20
+
21
  </form>
22
+
23
  </div>
includes/admin/templates/modal/dynamic_form_preview.php CHANGED
@@ -1,13 +1,16 @@
 
 
 
1
  <div id="UM_preview_form" style="display:none">
2
 
3
  <div class="um-admin-modal-head">
4
- <h3><?php _e('Live Form Preview','ultimate-member'); ?></h3>
5
  </div>
6
-
7
  <div class="um-admin-modal-body"></div>
8
-
9
  <div class="um-admin-modal-foot">
10
- <a href="#" class="button-primary" data-action="UM_remove_modal"><?php _e('Continue editing','ultimate-member'); ?></a>
11
  </div>
12
-
13
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div id="UM_preview_form" style="display:none">
5
 
6
  <div class="um-admin-modal-head">
7
+ <h3><?php _e( 'Live Form Preview', 'ultimate-member' ); ?></h3>
8
  </div>
9
+
10
  <div class="um-admin-modal-body"></div>
11
+
12
  <div class="um-admin-modal-foot">
13
+ <a href="javascript:void(0);" class="button-primary" data-action="UM_remove_modal"><?php _e( 'Continue editing', 'ultimate-member' ); ?></a>
14
  </div>
15
+
16
  </div>
includes/admin/templates/modal/dynamic_new_divider.php CHANGED
@@ -1,20 +1,23 @@
 
 
 
1
  <div id="UM_add_divider" style="display:none">
2
 
3
  <form action="" method="post" class="um_add_field">
4
-
5
  <div class="um-admin-modal-head">
6
- <h3><?php _e('Add a New Divider','ultimate-member'); ?></h3>
7
  </div>
8
 
9
  <div class="um-admin-modal-body um-admin-metabox"></div>
10
 
11
  <div class="um-admin-modal-foot">
12
- <input type="submit" value="<?php _e('Add','ultimate-member'); ?>" class="button-primary" />
13
  <input type="hidden" name="action" value="um_update_field" />
14
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce( 'um-admin-nonce' ) ?>" />
15
- <a href="#" data-action="UM_remove_modal" class="button"><?php _e('Cancel','ultimate-member'); ?></a>
16
  </div>
17
-
18
  </form>
19
-
20
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div id="UM_add_divider" style="display:none">
5
 
6
  <form action="" method="post" class="um_add_field">
7
+
8
  <div class="um-admin-modal-head">
9
+ <h3><?php _e( 'Add a New Divider', 'ultimate-member' ); ?></h3>
10
  </div>
11
 
12
  <div class="um-admin-modal-body um-admin-metabox"></div>
13
 
14
  <div class="um-admin-modal-foot">
15
+ <input type="submit" value="<?php esc_attr_e( 'Add', 'ultimate-member' ); ?>" class="button-primary" />
16
  <input type="hidden" name="action" value="um_update_field" />
17
+ <input type="hidden" name="nonce" value="<?php echo esc_attr( wp_create_nonce( 'um-admin-nonce' ) ) ?>" />
18
+ <a href="javascript:void(0);" data-action="UM_remove_modal" class="button"><?php _e( 'Cancel', 'ultimate-member' ); ?></a>
19
  </div>
20
+
21
  </form>
22
+
23
  </div>
includes/admin/templates/modal/dynamic_new_field.php CHANGED
@@ -1,20 +1,23 @@
 
 
 
1
  <div id="UM_add_field" style="display:none">
2
 
3
  <form action="" method="post" class="um_add_field">
4
-
5
  <div class="um-admin-modal-head">
6
- <h3><?php _e('Add a New Field','ultimate-member'); ?></h3>
7
  </div>
8
 
9
  <div class="um-admin-modal-body um-admin-metabox"></div>
10
 
11
  <div class="um-admin-modal-foot">
12
- <input type="submit" value="<?php _e('Add','ultimate-member'); ?>" class="button-primary" />
13
  <input type="hidden" name="action" value="um_update_field" />
14
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce( 'um-admin-nonce' ) ?>" />
15
- <a href="#" data-modal="UM_fields" class="button"><?php _e('Cancel','ultimate-member'); ?></a>
16
  </div>
17
-
18
  </form>
19
-
20
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div id="UM_add_field" style="display:none">
5
 
6
  <form action="" method="post" class="um_add_field">
7
+
8
  <div class="um-admin-modal-head">
9
+ <h3><?php _e( 'Add a New Field', 'ultimate-member' ); ?></h3>
10
  </div>
11
 
12
  <div class="um-admin-modal-body um-admin-metabox"></div>
13
 
14
  <div class="um-admin-modal-foot">
15
+ <input type="submit" value="<?php esc_attr_e( 'Add', 'ultimate-member' ); ?>" class="button-primary" />
16
  <input type="hidden" name="action" value="um_update_field" />
17
+ <input type="hidden" name="nonce" value="<?php echo esc_attr( wp_create_nonce( 'um-admin-nonce' ) ) ?>" />
18
+ <a href="javascript:void(0);" data-modal="UM_fields" class="button"><?php _e( 'Cancel', 'ultimate-member' ); ?></a>
19
  </div>
20
+
21
  </form>
22
+
23
  </div>
includes/admin/templates/modal/dynamic_new_group.php CHANGED
@@ -1,20 +1,23 @@
 
 
 
1
  <div id="UM_add_group" style="display:none">
2
 
3
  <form action="" method="post" class="um_add_field">
4
-
5
  <div class="um-admin-modal-head">
6
- <h3><?php _e('Add a New Field Group','ultimate-member'); ?></h3>
7
  </div>
8
 
9
  <div class="um-admin-modal-body um-admin-metabox"></div>
10
 
11
  <div class="um-admin-modal-foot">
12
- <input type="submit" value="<?php _e('Add','ultimate-member'); ?>" class="button-primary" />
13
  <input type="hidden" name="action" value="um_update_field" />
14
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce( 'um-admin-nonce' ) ?>" />
15
- <a href="#" data-action="UM_remove_modal" class="button"><?php _e('Cancel','ultimate-member'); ?></a>
16
  </div>
17
-
18
  </form>
19
-
20
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div id="UM_add_group" style="display:none">
5
 
6
  <form action="" method="post" class="um_add_field">
7
+
8
  <div class="um-admin-modal-head">
9
+ <h3><?php _e( 'Add a New Field Group', 'ultimate-member' ); ?></h3>
10
  </div>
11
 
12
  <div class="um-admin-modal-body um-admin-metabox"></div>
13
 
14
  <div class="um-admin-modal-foot">
15
+ <input type="submit" value="<?php esc_attr_e( 'Add', 'ultimate-member' ); ?>" class="button-primary" />
16
  <input type="hidden" name="action" value="um_update_field" />
17
+ <input type="hidden" name="nonce" value="<?php echo esc_attr( wp_create_nonce( 'um-admin-nonce' ) ) ?>" />
18
+ <a href="javascript:void(0);" data-action="UM_remove_modal" class="button"><?php _e( 'Cancel', 'ultimate-member' ); ?></a>
19
  </div>
20
+
21
  </form>
22
+
23
  </div>
includes/admin/templates/modal/dynamic_registration_preview.php CHANGED
@@ -1,11 +1,14 @@
 
 
 
1
  <div id="UM_preview_registration" style="display:none">
2
 
3
  <div class="um-admin-modal-head">
4
- <h3><?php _e('Review Registration Details','ultimate-member'); ?></h3>
5
  </div>
6
-
7
  <div class="um-admin-modal-body"></div>
8
-
9
  <div class="um-admin-modal-foot"></div>
10
-
11
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div id="UM_preview_registration" style="display:none">
5
 
6
  <div class="um-admin-modal-head">
7
+ <h3><?php _e( 'Review Registration Details', 'ultimate-member' ); ?></h3>
8
  </div>
9
+
10
  <div class="um-admin-modal-body"></div>
11
+
12
  <div class="um-admin-modal-foot"></div>
13
+
14
  </div>
includes/admin/templates/modal/fields.php CHANGED
@@ -1,9 +1,12 @@
 
 
 
1
  <div id="UM_fields" style="display:none">
2
 
3
  <div class="um-admin-modal-head">
4
- <h3><?php _e('Fields Manager','ultimate-member'); ?></h3>
5
  </div>
6
-
7
  <div class="um-admin-modal-body"></div>
8
-
9
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div id="UM_fields" style="display:none">
5
 
6
  <div class="um-admin-modal-head">
7
+ <h3><?php _e( 'Fields Manager', 'ultimate-member' ); ?></h3>
8
  </div>
9
+
10
  <div class="um-admin-modal-body"></div>
11
+
12
  </div>
includes/admin/templates/modal/fonticons.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div id="UM_fonticons" style="display:none">
2
 
3
  <div class="um-admin-modal-head">
@@ -5,10 +8,10 @@
5
  </div>
6
 
7
  <div class="um-admin-modal-body"></div>
8
-
9
  <div class="um-admin-modal-foot">
10
- <a href="#" class="button-primary um-admin-modal-back" data-code=""><?php _e( 'Finish', 'ultimate-member' ) ?></a>
11
- <a href="#" class="button um-admin-modal-back um-admin-modal-cancel"><?php _e( 'Cancel', 'ultimate-member' ) ?></a>
12
  </div>
13
-
14
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div id="UM_fonticons" style="display:none">
5
 
6
  <div class="um-admin-modal-head">
8
  </div>
9
 
10
  <div class="um-admin-modal-body"></div>
11
+
12
  <div class="um-admin-modal-foot">
13
+ <a href="javascript:void(0);" class="button-primary um-admin-modal-back" data-code=""><?php _e( 'Finish', 'ultimate-member' ) ?></a>
14
+ <a href="javascript:void(0);" class="button um-admin-modal-back um-admin-modal-cancel"><?php _e( 'Cancel', 'ultimate-member' ) ?></a>
15
  </div>
16
+
17
  </div>
includes/admin/templates/role/admin-permissions.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
  <?php $role = $object['data'];
3
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
  <?php $role = $object['data'];
6
 
includes/admin/templates/role/delete.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
 
3
  <?php $role = $object['data'];
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
 
6
  <?php $role = $object['data'];
includes/admin/templates/role/general.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
  <?php $role = $object['data'];
3
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
  <?php $role = $object['data'];
6
 
includes/admin/templates/role/home.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
 
3
  <?php $role = $object['data'];
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
 
6
  <?php $role = $object['data'];
includes/admin/templates/role/login.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
 
3
  <?php $role = $object['data'];
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
 
6
  <?php $role = $object['data'];
includes/admin/templates/role/logout.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
 
3
  <?php $role = $object['data'];
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
 
6
  <?php $role = $object['data'];
includes/admin/templates/role/profile.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
  <?php $role = $object['data'];
3
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
  <?php $role = $object['data'];
6
 
includes/admin/templates/role/publish.php CHANGED
@@ -1,27 +1,27 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
 
4
  $role = $object['data']; ?>
5
 
6
  <div class="um-admin-metabox">
7
  <?php UM()->admin_forms( array(
8
- 'class' => 'um-role-publish um-top-label',
9
- 'prefix_id' => 'role',
10
- 'fields' => array(
11
  array(
12
- 'id' => '_um_priority',
13
- 'type' => 'text',
14
- 'label' => __( 'Role Priority', 'ultimate-member' ),
15
- 'tooltip' => __( 'The higher the number, the higher the priority', 'ultimate-member' ),
16
- 'value' => ! empty( $role['_um_priority'] ) ? $role['_um_priority'] : '',
17
  ),
18
  )
19
  ) )->render_form(); ?>
20
  </div>
 
21
  <div class="submitbox" id="submitpost">
22
  <div id="major-publishing-actions">
23
- <input type="submit" value="<?php echo ! empty( $_GET['id'] ) ? __( 'Update Role', 'ultimate-member' ) : __( 'Create Role', 'ultimate-member' ) ?>" class="button-primary" id="create_role" name="create_role">
24
- <input type="button" class="cancel_popup button" value="<?php _e( 'Cancel', 'ultimate-member' ) ?>" onclick="window.location = '<?php echo add_query_arg( array( 'page' => 'um_roles' ), admin_url( 'admin.php' ) ) ?>';" />
25
  <div class="clear"></div>
26
  </div>
27
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
 
2
 
3
  $role = $object['data']; ?>
4
 
5
  <div class="um-admin-metabox">
6
  <?php UM()->admin_forms( array(
7
+ 'class' => 'um-role-publish um-top-label',
8
+ 'prefix_id' => 'role',
9
+ 'fields' => array(
10
  array(
11
+ 'id' => '_um_priority',
12
+ 'type' => 'text',
13
+ 'label' => __( 'Role Priority', 'ultimate-member' ),
14
+ 'tooltip' => __( 'The higher the number, the higher the priority', 'ultimate-member' ),
15
+ 'value' => ! empty( $role['_um_priority'] ) ? $role['_um_priority'] : '',
16
  ),
17
  )
18
  ) )->render_form(); ?>
19
  </div>
20
+
21
  <div class="submitbox" id="submitpost">
22
  <div id="major-publishing-actions">
23
+ <input type="submit" value="<?php echo ! empty( $_GET['id'] ) ? esc_attr__( 'Update Role', 'ultimate-member' ) : esc_attr__( 'Create Role', 'ultimate-member' ) ?>" class="button-primary" id="create_role" name="create_role">
24
+ <input type="button" class="cancel_popup button" value="<?php esc_attr_e( 'Cancel', 'ultimate-member' ) ?>" onclick="window.location = '<?php echo add_query_arg( array( 'page' => 'um_roles' ), admin_url( 'admin.php' ) ) ?>';" />
25
  <div class="clear"></div>
26
  </div>
27
  </div>
includes/admin/templates/role/register.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
  <?php $role = $object['data'];
3
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
  <?php $role = $object['data'];
6
 
includes/admin/templates/role/role-edit.php CHANGED
@@ -1,7 +1,4 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) {
3
- exit; // Exit if accessed directly
4
- }
5
 
6
  wp_enqueue_script( 'postbox' );
7
  wp_enqueue_media();
@@ -52,8 +49,9 @@ global $wp_roles;
52
  if ( ! empty( $_GET['id'] ) ) {
53
  $data = get_option( "um_role_{$_GET['id']}_meta" );
54
 
55
- if ( empty( $data['_um_is_custom'] ) )
56
  $data['name'] = $wp_roles->roles[ $_GET['id'] ]['name'];
 
57
  }
58
 
59
 
@@ -144,7 +142,7 @@ $screen_id = $current_screen->id; ?>
144
 
145
  <script type="text/javascript">
146
  jQuery( document ).ready( function() {
147
- postboxes.add_postbox_toggles( '<?php echo $screen_id; ?>' );
148
  });
149
  </script>
150
 
@@ -152,7 +150,7 @@ $screen_id = $current_screen->id; ?>
152
  <h2>
153
  <?php echo ( 'add' == $_GET['tab'] ) ? __( 'Add New Role', 'ultimate-member' ) : __( 'Edit Role', 'ultimate-member' ) ?>
154
  <?php if ( 'edit' == $_GET['tab'] ) { ?>
155
- <a class="add-new-h2" href="<?php echo add_query_arg( array( 'page' => 'um_roles', 'tab' => 'add' ), admin_url( 'admin.php' ) ) ?>"><?php _e( 'Add New', 'ultimate-member' ) ?></a>
156
  <?php } ?>
157
  </h2>
158
 
@@ -177,10 +175,10 @@ $screen_id = $current_screen->id; ?>
177
  <input type="hidden" name="role[id]" value="<?php echo isset( $_GET['id'] ) ? esc_attr( $_GET['id'] ) : '' ?>" />
178
  <?php if ( 'add' == $_GET['tab'] ) { ?>
179
  <input type="hidden" name="role[_um_is_custom]" value="1" />
180
- <input type="hidden" name="um_nonce" value="<?php echo wp_create_nonce( 'um-add-role' ) ?>" />
181
  <?php } else { ?>
182
  <input type="hidden" name="role[_um_is_custom]" value="<?php echo ! empty( $data['_um_is_custom'] ) ? 1 : 0 ?>" />
183
- <input type="hidden" name="um_nonce" value="<?php echo wp_create_nonce( 'um-edit-role' ) ?>" />
184
  <?php } ?>
185
  <?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?>
186
  <div id="poststuff">
@@ -190,7 +188,7 @@ $screen_id = $current_screen->id; ?>
190
  <div id="titlewrap">
191
  <?php if ( 'add' == $_GET['tab'] ) { ?>
192
  <label for="title" class="screen-reader-text"><?php _e( 'Title', 'ultimate-member' ) ?></label>
193
- <input type="text" name="role[name]" placeholder="<?php _e( 'Enter Title Here', 'ultimate-member' ) ?>" id="title" value="<?php echo isset( $data['name'] ) ? $data['name'] : '' ?>" />
194
  <?php } else { ?>
195
  <span style="float: left;width:100%;"><?php echo isset( $data['name'] ) ? $data['name'] : '' ?></span>
196
  <?php } ?>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
 
 
 
2
 
3
  wp_enqueue_script( 'postbox' );
4
  wp_enqueue_media();
49
  if ( ! empty( $_GET['id'] ) ) {
50
  $data = get_option( "um_role_{$_GET['id']}_meta" );
51
 
52
+ if ( empty( $data['_um_is_custom'] ) ) {
53
  $data['name'] = $wp_roles->roles[ $_GET['id'] ]['name'];
54
+ }
55
  }
56
 
57
 
142
 
143
  <script type="text/javascript">
144
  jQuery( document ).ready( function() {
145
+ postboxes.add_postbox_toggles( '<?php echo esc_js( $screen_id ); ?>' );
146
  });
147
  </script>
148
 
150
  <h2>
151
  <?php echo ( 'add' == $_GET['tab'] ) ? __( 'Add New Role', 'ultimate-member' ) : __( 'Edit Role', 'ultimate-member' ) ?>
152
  <?php if ( 'edit' == $_GET['tab'] ) { ?>
153
+ <a class="add-new-h2" href="<?php echo esc_url( add_query_arg( array( 'page' => 'um_roles', 'tab' => 'add' ), admin_url( 'admin.php' ) ) ) ?>"><?php _e( 'Add New', 'ultimate-member' ) ?></a>
154
  <?php } ?>
155
  </h2>
156
 
175
  <input type="hidden" name="role[id]" value="<?php echo isset( $_GET['id'] ) ? esc_attr( $_GET['id'] ) : '' ?>" />
176
  <?php if ( 'add' == $_GET['tab'] ) { ?>
177
  <input type="hidden" name="role[_um_is_custom]" value="1" />
178
+ <input type="hidden" name="um_nonce" value="<?php echo esc_attr( wp_create_nonce( 'um-add-role' ) ) ?>" />
179
  <?php } else { ?>
180
  <input type="hidden" name="role[_um_is_custom]" value="<?php echo ! empty( $data['_um_is_custom'] ) ? 1 : 0 ?>" />
181
+ <input type="hidden" name="um_nonce" value="<?php echo esc_attr( wp_create_nonce( 'um-edit-role' ) ) ?>" />
182
  <?php } ?>
183
  <?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?>
184
  <div id="poststuff">
188
  <div id="titlewrap">
189
  <?php if ( 'add' == $_GET['tab'] ) { ?>
190
  <label for="title" class="screen-reader-text"><?php _e( 'Title', 'ultimate-member' ) ?></label>
191
+ <input type="text" name="role[name]" placeholder="<?php esc_attr_e( 'Enter Title Here', 'ultimate-member' ) ?>" id="title" value="<?php echo isset( $data['name'] ) ? $data['name'] : '' ?>" />
192
  <?php } else { ?>
193
  <span style="float: left;width:100%;"><?php echo isset( $data['name'] ) ? $data['name'] : '' ?></span>
194
  <?php } ?>
includes/admin/templates/role/wp-capabilities.php CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  <div class="um-admin-metabox">
2
 
3
  <script type="text/javascript">
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+
4
  <div class="um-admin-metabox">
5
 
6
  <script type="text/javascript">
includes/class-init.php CHANGED
@@ -20,14 +20,14 @@ if ( ! class_exists( 'UM' ) ) {
20
  * @method UM_Notifications_API Notifications_API()
21
  * @method UM_Online Online()
22
  * @method UM_Profile_Completeness_API Profile_Completeness_API()
23
- * @method UM_reCAPTCHA_API reCAPTCHA_API()
24
  * @method UM_Reviews_API Reviews_API()
25
  * @method UM_Activity_API Activity_API()
26
  * @method UM_Social_Login_API Social_Login_API()
27
  * @method UM_User_Tags_API User_Tags_API()
28
  * @method UM_Verified_Users_API Verified_Users_API()
29
  * @method UM_WooCommerce_API WooCommerce_API()
30
- * @method UM_Terms_Conditions_API Terms_Conditions_API()
31
  * @method UM_Private_Content_API Private_Content_API()
32
  * @method UM_User_Location_API User_Location_API()
33
  * @method UM_Photos_API Photos_API()
@@ -1224,20 +1224,6 @@ if ( ! class_exists( 'UM' ) ) {
1224
  }
1225
 
1226
 
1227
- /**
1228
- * @since 2.0
1229
- *
1230
- * @return um\core\Chart
1231
- */
1232
- function chart() {
1233
- if ( empty( $this->classes['chart'] ) ) {
1234
- $this->classes['chart'] = new um\core\Chart();
1235
- }
1236
-
1237
- return $this->classes['chart'];
1238
- }
1239
-
1240
-
1241
  /**
1242
  * @since 2.0
1243
  *
20
  * @method UM_Notifications_API Notifications_API()
21
  * @method UM_Online Online()
22
  * @method UM_Profile_Completeness_API Profile_Completeness_API()
23
+ * @method UM_reCAPTCHA reCAPTCHA()
24
  * @method UM_Reviews_API Reviews_API()
25
  * @method UM_Activity_API Activity_API()
26
  * @method UM_Social_Login_API Social_Login_API()
27
  * @method UM_User_Tags_API User_Tags_API()
28
  * @method UM_Verified_Users_API Verified_Users_API()
29
  * @method UM_WooCommerce_API WooCommerce_API()
30
+ * @method UM_Terms_Conditions Terms_Conditions()
31
  * @method UM_Private_Content_API Private_Content_API()
32
  * @method UM_User_Location_API User_Location_API()
33
  * @method UM_Photos_API Photos_API()
1224
  }
1225
 
1226
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1227
  /**
1228
  * @since 2.0
1229
  *
includes/core/class-account.php CHANGED
@@ -1,9 +1,10 @@
1
  <?php
2
  namespace um\core;
3
 
4
- // Exit if accessed directly
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
 
7
  if ( ! class_exists( 'um\core\Account' ) ) {
8
 
9
 
@@ -158,9 +159,9 @@ if ( ! class_exists( 'um\core\Account' ) ) {
158
  ob_start();
159
 
160
  $defaults = array(
161
- 'template' => 'account',
162
- 'mode' => 'account',
163
- 'form_id' => 'um_account_id',
164
  );
165
  $args = wp_parse_args( $args, $defaults );
166
 
@@ -188,8 +189,9 @@ if ( ! class_exists( 'um\core\Account' ) ) {
188
 
189
  if ( ! empty( $args['tab'] ) ) {
190
 
191
- if ( $args['tab'] == 'account' )
192
  $args['tab'] = 'general';
 
193
 
194
  $this->init_tabs( $args );
195
 
@@ -219,7 +221,8 @@ if ( ! class_exists( 'um\core\Account' ) ) {
219
  * ?>
220
  */
221
  do_action( 'um_account_page_hidden_fields', $args );
222
- $this->render_account_tab( $args['tab'], $this->tabs[$args['tab']], $args ); ?>
 
223
  </form>
224
  </div>
225
  <?php }
@@ -269,7 +272,7 @@ if ( ! class_exists( 'um\core\Account' ) ) {
269
  * }
270
  * ?>
271
  */
272
- do_action( "um_before_form_is_loaded", $args );
273
  /**
274
  * UM hook
275
  *
@@ -328,8 +331,8 @@ if ( ! class_exists( 'um\core\Account' ) ) {
328
  UM()->fields()->set_mode = 'account';
329
  UM()->fields()->editing = true;
330
 
331
- if ( get_query_var('um_tab') ) {
332
- $this->current_tab = get_query_var('um_tab');
333
  }
334
 
335
  }
@@ -426,11 +429,11 @@ if ( ! class_exists( 'um\core\Account' ) ) {
426
  * @return array
427
  */
428
  function predefined_fields_hook( $predefined_fields ) {
429
-
430
  $account_hide_in_directory = UM()->options()->get( 'account_hide_in_directory' );
431
 
432
- if ( ! $account_hide_in_directory )
433
  unset( $predefined_fields['hide_in_members'] );
 
434
 
435
  return $predefined_fields;
436
  }
@@ -443,14 +446,14 @@ if ( ! class_exists( 'um\core\Account' ) ) {
443
  */
444
  function tab_link( $id ) {
445
 
446
- if ( get_option('permalink_structure') ) {
447
 
448
- $url = trailingslashit( untrailingslashit( um_get_core_page('account') ) );
449
  $url = $url . $id . '/';
450
 
451
  } else {
452
 
453
- $url = add_query_arg( 'um_tab', $id, um_get_core_page('account') );
454
 
455
  }
456
 
@@ -465,8 +468,9 @@ if ( ! class_exists( 'um\core\Account' ) ) {
465
  */
466
  function filter_fields_by_attrs( $fields, $shortcode_args ) {
467
  foreach ( $fields as $k => $field ) {
468
- if ( isset( $shortcode_args[ $field['metakey'] ] ) && 0 == $shortcode_args[ $field['metakey'] ] )
469
  unset( $fields[ $k ] );
 
470
  }
471
 
472
  return $fields;
@@ -474,10 +478,10 @@ if ( ! class_exists( 'um\core\Account' ) ) {
474
 
475
 
476
  /**
477
- * @param $fields
478
  * @param $id
479
  *
480
- * @return mixed|void
481
  */
482
  function account_secure_fields( $fields, $id ) {
483
  /**
@@ -507,11 +511,13 @@ if ( ! class_exists( 'um\core\Account' ) ) {
507
 
508
 
509
  /**
510
- * * Get Tab Output
511
  *
512
- * @param integer $id
513
- * @param array $shortcode_args
514
- * @return mixed|null|string|void
 
 
515
  */
516
  function get_tab_fields( $id, $shortcode_args ) {
517
  $output = null;
@@ -521,7 +527,7 @@ if ( ! class_exists( 'um\core\Account' ) ) {
521
 
522
  if ( ! empty( $this->tab_output[$id]['content'] ) && ! empty( $this->tab_output[$id]['hash'] ) &&
523
  $this->tab_output[$id]['hash'] == md5( json_encode( $shortcode_args ) ) ) {
524
- return $this->tab_output[$id]['content'];
525
  }
526
 
527
  switch ( $id ) {
@@ -712,7 +718,7 @@ if ( ! class_exists( 'um\core\Account' ) ) {
712
 
713
  }
714
 
715
- $this->tab_output[$id] = array( 'content' => $output, 'hash' => md5( json_encode( $shortcode_args ) ) );
716
  return $output;
717
  }
718
 
@@ -723,6 +729,8 @@ if ( ! class_exists( 'um\core\Account' ) ) {
723
  * @param $tab_id
724
  * @param $tab_data
725
  * @param $args
 
 
726
  */
727
  function render_account_tab( $tab_id, $tab_data, $args ) {
728
 
@@ -732,7 +740,7 @@ if ( ! class_exists( 'um\core\Account' ) ) {
732
 
733
  if ( ! empty ( $tab_data['with_header'] ) ) { ?>
734
 
735
- <div class="um-account-heading uimob340-hide uimob500-hide"><i class="<?php echo $tab_data['icon'] ?>"></i><?php echo $tab_data['title']; ?></div>
736
 
737
  <?php }
738
 
@@ -786,7 +794,7 @@ if ( ! class_exists( 'um\core\Account' ) ) {
786
  <div class="um-left">
787
  <?php $submit_title = ! empty( $tab_data['submit_title'] ) ? $tab_data['submit_title'] : $tab_data['title']; ?>
788
  <input type="hidden" name="um_account_nonce_<?php echo esc_attr( $tab_id ) ?>" value="<?php echo esc_attr( wp_create_nonce( 'um_update_account_' . $tab_id ) ) ?>" />
789
- <input type="submit" name="um_account_submit" id="um_account_submit_<?php echo $tab_id ?>" class="um-button" value="<?php echo esc_attr( $submit_title ) ?>" />
790
  </div>
791
 
792
  <?php
1
  <?php
2
  namespace um\core;
3
 
4
+
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
+
8
  if ( ! class_exists( 'um\core\Account' ) ) {
9
 
10
 
159
  ob_start();
160
 
161
  $defaults = array(
162
+ 'template' => 'account',
163
+ 'mode' => 'account',
164
+ 'form_id' => 'um_account_id',
165
  );
166
  $args = wp_parse_args( $args, $defaults );
167
 
189
 
190
  if ( ! empty( $args['tab'] ) ) {
191
 
192
+ if ( $args['tab'] == 'account' ) {
193
  $args['tab'] = 'general';
194
+ }
195
 
196
  $this->init_tabs( $args );
197
 
221
  * ?>
222
  */
223
  do_action( 'um_account_page_hidden_fields', $args );
224
+
225
+ $this->render_account_tab( $args['tab'], $this->tabs[ $args['tab'] ], $args ); ?>
226
  </form>
227
  </div>
228
  <?php }
272
  * }
273
  * ?>
274
  */
275
+ do_action( 'um_before_form_is_loaded', $args );
276
  /**
277
  * UM hook
278
  *
331
  UM()->fields()->set_mode = 'account';
332
  UM()->fields()->editing = true;
333
 
334
+ if ( get_query_var( 'um_tab' ) ) {
335
+ $this->current_tab = get_query_var( 'um_tab' );
336
  }
337
 
338
  }
429
  * @return array
430
  */
431
  function predefined_fields_hook( $predefined_fields ) {
 
432
  $account_hide_in_directory = UM()->options()->get( 'account_hide_in_directory' );
433
 
434
+ if ( ! $account_hide_in_directory ) {
435
  unset( $predefined_fields['hide_in_members'] );
436
+ }
437
 
438
  return $predefined_fields;
439
  }
446
  */
447
  function tab_link( $id ) {
448
 
449
+ if ( get_option( 'permalink_structure' ) ) {
450
 
451
+ $url = trailingslashit( untrailingslashit( um_get_core_page( 'account' ) ) );
452
  $url = $url . $id . '/';
453
 
454
  } else {
455
 
456
+ $url = add_query_arg( 'um_tab', $id, um_get_core_page( 'account' ) );
457
 
458
  }
459
 
468
  */
469
  function filter_fields_by_attrs( $fields, $shortcode_args ) {
470
  foreach ( $fields as $k => $field ) {
471
+ if ( isset( $shortcode_args[ $field['metakey'] ] ) && 0 == $shortcode_args[ $field['metakey'] ] ) {
472
  unset( $fields[ $k ] );
473
+ }
474
  }
475
 
476
  return $fields;
478
 
479
 
480
  /**
481
+ * @param array $fields
482
  * @param $id
483
  *
484
+ * @return array
485
  */
486
  function account_secure_fields( $fields, $id ) {
487
  /**
511
 
512
 
513
  /**
514
+ * Get Tab Output
515
  *
516
+ * @param $id
517
+ * @param $shortcode_args
518
+ *
519
+ * @return mixed|string|null
520
+ * @throws \Exception
521
  */
522
  function get_tab_fields( $id, $shortcode_args ) {
523
  $output = null;
527
 
528
  if ( ! empty( $this->tab_output[$id]['content'] ) && ! empty( $this->tab_output[$id]['hash'] ) &&
529
  $this->tab_output[$id]['hash'] == md5( json_encode( $shortcode_args ) ) ) {
530
+ return $this->tab_output[ $id ]['content'];
531
  }
532
 
533
  switch ( $id ) {
718
 
719
  }
720
 
721
+ $this->tab_output[ $id ] = array( 'content' => $output, 'hash' => md5( json_encode( $shortcode_args ) ) );
722
  return $output;
723
  }
724
 
729
  * @param $tab_id
730
  * @param $tab_data
731
  * @param $args
732
+ *
733
+ * @throws \Exception
734
  */
735
  function render_account_tab( $tab_id, $tab_data, $args ) {
736
 
740
 
741
  if ( ! empty ( $tab_data['with_header'] ) ) { ?>
742
 
743
+ <div class="um-account-heading uimob340-hide uimob500-hide"><i class="<?php echo esc_attr( $tab_data['icon'] ) ?>"></i><?php echo esc_html( $tab_data['title'] ); ?></div>
744
 
745
  <?php }
746
 
794
  <div class="um-left">
795
  <?php $submit_title = ! empty( $tab_data['submit_title'] ) ? $tab_data['submit_title'] : $tab_data['title']; ?>
796
  <input type="hidden" name="um_account_nonce_<?php echo esc_attr( $tab_id ) ?>" value="<?php echo esc_attr( wp_create_nonce( 'um_update_account_' . $tab_id ) ) ?>" />
797
+ <input type="submit" name="um_account_submit" id="um_account_submit_<?php echo esc_attr( $tab_id ) ?>" class="um-button" value="<?php echo esc_attr( $submit_title ) ?>" />
798
  </div>
799
 
800
  <?php
includes/core/class-builtin.php CHANGED
@@ -1216,15 +1216,11 @@ if ( ! class_exists( 'um\core\Builtin' ) ) {
1216
 
1217
 
1218
  /**
1219
- * May be used to show a dropdown, or source for user meta
1220
- *
1221
- * @param null $exclude_types
1222
- * @param bool $show_all
1223
  *
1224
  * @return array
1225
  */
1226
- function all_user_fields( $exclude_types = null, $show_all = false ) {
1227
-
1228
  $fields_without_metakey = array(
1229
  'block',
1230
  'shortcode',
@@ -1232,31 +1228,44 @@ if ( ! class_exists( 'um\core\Builtin' ) ) {
1232
  'divider',
1233
  'group'
1234
  );
1235
- $fields_without_metakey = apply_filters( 'um_fields_without_metakey', $fields_without_metakey );
1236
 
1237
- remove_filter( 'um_fields_without_metakey', 'um_user_tags_requires_no_metakey' );
1238
 
1239
  /**
1240
  * UM hook
1241
  *
1242
  * @type filter
1243
  * @title um_fields_without_metakey
1244
- * @description Extend Fields without metakey
1245
  * @input_vars
1246
- * [{"var":"$fields","type":"array","desc":"Fields without metakey"}]
1247
  * @change_log
1248
  * ["Since: 2.0"]
1249
  * @usage add_filter( 'um_fields_without_metakey', 'function_name', 10, 1 );
1250
  * @example
1251
  * <?php
1252
  * add_filter( 'um_fields_without_metakey', 'my_fields_without_metakey', 10, 1 );
1253
- * function my_fields_without_metakey( $fields ) {
1254
  * // your code here
1255
- * return $fields;
1256
  * }
1257
  * ?>
1258
  */
1259
- $fields_without_metakey = apply_filters( 'um_fields_without_metakey', $fields_without_metakey );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1260
 
1261
  if ( ! $show_all ) {
1262
  $this->fields_dropdown = array('image','file','password','rating');
1216
 
1217
 
1218
  /**
1219
+ * Get all fields without metakeys
 
 
 
1220
  *
1221
  * @return array
1222
  */
1223
+ function get_fields_without_metakey() {
 
1224
  $fields_without_metakey = array(
1225
  'block',
1226
  'shortcode',
1228
  'divider',
1229
  'group'
1230
  );
 
1231
 
 
1232
 
1233
  /**
1234
  * UM hook
1235
  *
1236
  * @type filter
1237
  * @title um_fields_without_metakey
1238
+ * @description Field Types without meta key
1239
  * @input_vars
1240
+ * [{"var":"$types","type":"array","desc":"Field Types"}]
1241
  * @change_log
1242
  * ["Since: 2.0"]
1243
  * @usage add_filter( 'um_fields_without_metakey', 'function_name', 10, 1 );
1244
  * @example
1245
  * <?php
1246
  * add_filter( 'um_fields_without_metakey', 'my_fields_without_metakey', 10, 1 );
1247
+ * function my_fields_without_metakey( $types ) {
1248
  * // your code here
1249
+ * return $types;
1250
  * }
1251
  * ?>
1252
  */
1253
+ return apply_filters( 'um_fields_without_metakey', $fields_without_metakey );
1254
+ }
1255
+
1256
+
1257
+ /**
1258
+ * May be used to show a dropdown, or source for user meta
1259
+ *
1260
+ * @param null $exclude_types
1261
+ * @param bool $show_all
1262
+ *
1263
+ * @return array
1264
+ */
1265
+ function all_user_fields( $exclude_types = null, $show_all = false ) {
1266
+
1267
+ $fields_without_metakey = $this->get_fields_without_metakey();
1268
+ $fields_without_metakey = apply_filters( 'um_all_user_fields_without_metakey', $fields_without_metakey );
1269
 
1270
  if ( ! $show_all ) {
1271
  $this->fields_dropdown = array('image','file','password','rating');
includes/core/class-chart.php DELETED
@@ -1,156 +0,0 @@
1
- <?php
2
- namespace um\core;
3
-
4
- // Exit if accessed directly
5
- if ( ! defined( 'ABSPATH' ) ) exit;
6
-
7
- if ( ! class_exists( 'um\core\Chart' ) ) {
8
-
9
-
10
- /**
11
- * Class Chart
12
- * @package um\core
13
- */
14
- class Chart {
15
-
16
-
17
- /**
18
- * Chart constructor.
19
- */
20
- function __construct() {
21
-
22
- }
23
-
24
-
25
- /**
26
- * Create a new chart
27
- *
28
- * @param array $args
29
- */
30
- function create( $args = array() ) {
31
-
32
- $defaults = array(
33
- 'id' => 0,
34
- 'type' => 'LineChart',
35
- 'data' => null,
36
- 'x_label' => null,
37
- 'y_label' => null,
38
- 'vertical_max_lines' => 6,
39
- 'colors' => '#0085ba',
40
- 'backgroundcolor' => 'transparent',
41
- 'basetextcolor' => '#666',
42
- 'basebordercolor' => '#bbb',
43
- 'days' => 30
44
- );
45
-
46
- $args = wp_parse_args( $args, $defaults );
47
-
48
-
49
- /**
50
- * @var $type
51
- */
52
- extract( $args );
53
-
54
- if ( $type == 'LineChart' ) {
55
- $this->linechart( $args );
56
- }
57
- }
58
-
59
-
60
- /**
61
- * LineChart
62
- *
63
- * @param $args
64
- */
65
- function linechart( $args ) {
66
- /**
67
- * @var $x_label
68
- * @var $y_label
69
- * @var $vertical_max_lines
70
- * @var $backgroundcolor
71
- * @var $colors
72
- * @var $basebordercolor
73
- * @var $basetextcolor
74
- * @var $data
75
- * @var $id
76
- */
77
- extract( $args ); ?>
78
-
79
- <script type="text/javascript">
80
-
81
- google.load( "visualization", "1", {packages:["corechart"]});
82
-
83
- function draw_linechart() {
84
-
85
- var data = new google.visualization.DataTable();
86
- data.addColumn('string', '<?php echo $x_label; ?>');
87
- data.addColumn('number', '<?php echo $y_label; ?>');
88
-
89
- <?php /*if ( ! empty( $data_y ) ) {
90
-
91
- foreach ( $data_y as $key => $val ) {
92
-
93
- }
94
-
95
- }*/ ?>
96
-
97
- var min_data = 0;
98
- var max_data = data.getColumnRange(1).max;
99
-
100
- var vgrid_count = <?php echo $vertical_max_lines; ?>;
101
- var hgrid_count = Math.floor( data.getNumberOfRows() / 4 );
102
-
103
- /* Options */
104
- var options = {
105
- backgroundColor: '<?php echo $backgroundcolor; ?>',
106
- colors: ['<?php echo $colors; ?>'],
107
- curveType: 'function',
108
- pointSize: 8,
109
- lineWidth: 4,
110
- vAxis:{
111
- baselineColor: '<?php echo $basebordercolor; ?>',
112
- gridlineColor: '<?php echo $basebordercolor; ?>',
113
- gridlines: {color: 'transparent', count: vgrid_count},
114
- textStyle: {color: '<?php echo $basetextcolor; ?>', fontSize: 12 },
115
- format: '#',
116
- viewWindow: {min: min_data, max: max_data + 10}
117
- },
118
- hAxis:{
119
- textStyle: {color: '<?php echo $basetextcolor; ?>', fontSize: 12, italic: true },
120
- showTextEvery: hgrid_count,
121
- maxAlternation: 1,
122
- maxTextLines: 1
123
- },
124
- legend: {
125
- position: 'top',
126
- alignment: 'start',
127
- textStyle: {color: '<?php echo $basetextcolor; ?>', fontSize: 13}
128
- },
129
- tooltip: {
130
- textStyle: {color: '<?php echo $basetextcolor; ?>', fontSize: 12}
131
- },
132
- chartArea: {
133
- top:50,left:30,width: '95%', 'height' : ( vgrid_count * 50 ) - 100,
134
- backgroundColor: {
135
- stroke: '<?php echo $basebordercolor; ?>',
136
- strokeWidth: 1
137
- }
138
- },
139
- width: '100%',
140
- height: ( vgrid_count * 50 )
141
- };
142
-
143
- var chart = new google.visualization.LineChart( document.getElementById( 'chart_<?php echo $data . $id; ?>' ) );
144
- chart.draw( data, options );
145
-
146
- }
147
-
148
- </script>
149
-
150
- <div id="chart_<?php echo $data . $id; ?>"></div>
151
-
152
- <?php
153
- }
154
-
155
- }
156
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/core/class-fields.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
-
3
  namespace um\core;
4
 
5
- // Exit if accessed directly.
6
  if ( ! defined( 'ABSPATH' ) ) exit;
7
 
 
8
  if ( ! class_exists( 'um\core\Fields' ) ) {
9
 
10
 
@@ -44,9 +44,9 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
44
  <div class="um-field um-field-c">
45
  <div class="um-field-area">
46
  <label class="um-field-checkbox <?php echo ( $checked ) ? 'active' : '' ?>">
47
- <input type="checkbox" name="<?php echo $id; ?>" value="1" <?php checked( $checked ) ?> />
48
- <span class="um-field-checkbox-state"><i class="<?php echo $class ?>"></i></span>
49
- <span class="um-field-checkbox-option"> <?php echo $title; ?></span>
50
  </label>
51
  </div>
52
  </div>
@@ -71,9 +71,9 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
71
  foreach ( $social as $k => $arr ) {
72
  if ( um_profile( $k ) ) { ?>
73
 
74
- <a href="<?php echo um_filtered_social_link( $k, $arr['match'] ); ?>"
75
- style="background: <?php echo $arr['color']; ?>;" target="_blank" class="um-tip-n"
76
- title="<?php echo $arr['title']; ?>"><i class="<?php echo $arr['icon']; ?>"></i></a>
77
 
78
  <?php
79
  }
@@ -93,7 +93,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
93
 
94
  $output = null;
95
 
96
- foreach ($fields as $key => $data) {
97
  $output .= UM()->fields()->edit_field( $key, $data );
98
  }
99
 
@@ -112,7 +112,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
112
  * @return string
113
  */
114
  function disabled_hidden_field( $key, $value ) {
115
- return '<input type="hidden" name="' . $key . '" value="' . esc_attr( $value ) . '"/>';
116
  }
117
 
118
 
@@ -125,13 +125,13 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
125
  function globally_update_field( $id, $args ) {
126
  $fields = UM()->builtin()->saved_fields;
127
 
128
- $fields[$id] = $args;
129
 
130
- unset( $fields[$id]['in_row'] );
131
- unset( $fields[$id]['in_sub_row'] );
132
- unset( $fields[$id]['in_column'] );
133
- unset( $fields[$id]['in_group'] );
134
- unset( $fields[$id]['position'] );
135
 
136
  update_option( 'um_fields', $fields );
137
  }
@@ -147,12 +147,12 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
147
  function update_field( $id, $args, $form_id ) {
148
  $fields = UM()->query()->get_attr( 'custom_fields', $form_id );
149
 
150
- if ($args['type'] == 'row') {
151
- if (isset( $fields[$id] )) {
152
- $old_args = $fields[$id];
153
- foreach ($old_args as $k => $v) {
154
- if (!in_array( $k, array( 'sub_rows', 'cols' ) )) {
155
- unset( $old_args[$k] );
156
  }
157
  }
158
  $args = array_merge( $old_args, $args );
@@ -160,15 +160,15 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
160
  }
161
 
162
  // custom fields support
163
- if (isset( UM()->builtin()->predefined_fields[$id] ) && isset( UM()->builtin()->predefined_fields[$id]['custom'] )) {
164
- $args = array_merge( UM()->builtin()->predefined_fields[$id], $args );
165
  }
166
 
167
- $fields[$id] = $args;
168
 
169
  // for group field only
170
- if ($args['type'] == 'group') {
171
- $fields[$id]['in_group'] = '';
172
  }
173
 
174
  UM()->query()->update_attr( 'custom_fields', $form_id, $fields );
@@ -229,8 +229,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
229
  */
230
  function delete_field_from_db( $id ) {
231
  $fields = UM()->builtin()->saved_fields;
232
- if (isset( $fields[$id] )) {
233
- unset( $fields[$id] );
234
  update_option( 'um_fields', $fields );
235
  }
236
  }
@@ -247,18 +247,20 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
247
  $fields = UM()->query()->get_attr( 'custom_fields', $form_id );
248
  $field_scope = UM()->builtin()->saved_fields;
249
 
250
- if (!isset( $fields[$global_id] )) {
251
 
252
  $count = 1;
253
- if (isset( $fields ) && !empty( $fields )) $count = count( $fields ) + 1;
 
 
254
 
255
- $fields[$global_id] = $field_scope[$global_id];
256
- $fields[$global_id]['position'] = $count;
257
 
258
  // set position
259
- if ($position) {
260
- foreach ($position as $key => $val) {
261
- $fields[$global_id][$key] = $val;
262
  }
263
  }
264
 
@@ -280,27 +282,25 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
280
  $fields = UM()->query()->get_attr( 'custom_fields', $form_id );
281
  $field_scope = UM()->builtin()->predefined_fields;
282
 
283
- if (!isset( $fields[$global_id] )) {
284
 
285
  $count = 1;
286
- if (isset( $fields ) && !empty( $fields )) $count = count( $fields ) + 1;
 
 
287
 
288
- $fields[$global_id] = $field_scope[$global_id];
289
- $fields[$global_id]['position'] = $count;
290
 
291
  // set position
292
- if ($position) {
293
- foreach ($position as $key => $val) {
294
- $fields[$global_id][$key] = $val;
295
  }
296
  }
297
 
298
  // add field to form
299
  UM()->query()->update_attr( 'custom_fields', $form_id, $fields );
300
-
301
- // add field to db
302
- //$this->globally_update_field( $global_id, $fields[$global_id] );
303
-
304
  }
305
  }
306
 
@@ -317,29 +317,28 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
317
 
318
  $inc = count( $fields ) + 1;
319
 
320
- $duplicate = $fields[$id];
321
 
322
  $new_metakey = $id . "_" . $inc;
323
- $new_title = $fields[$id]['title'] . " #" . $inc;
324
  $new_position = $inc;
325
 
326
  $duplicate['title'] = $new_title;
327
  $duplicate['metakey'] = $new_metakey;
328
  $duplicate['position'] = $new_position;
329
 
330
- $fields[$new_metakey] = $duplicate;
331
- $all_fields[$new_metakey] = $duplicate;
332
 
333
  // not global attributes
334
- unset( $all_fields[$new_metakey]['in_row'] );
335
- unset( $all_fields[$new_metakey]['in_sub_row'] );
336
- unset( $all_fields[$new_metakey]['in_column'] );
337
- unset( $all_fields[$new_metakey]['in_group'] );
338
- unset( $all_fields[$new_metakey]['position'] );
339
 
340
  UM()->query()->update_attr( 'custom_fields', $form_id, $fields );
341
  update_option( 'um_fields', $all_fields );
342
-
343
  }
344
 
345
 
@@ -352,18 +351,19 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
352
  * @return string
353
  */
354
  function field_error( $text, $force_show = false ) {
355
- if ($force_show) {
356
  $output = '<div class="um-field-error"><span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span>' . $text . '</div>';
357
-
358
  return $output;
359
  }
360
- if (isset( $this->set_id ) && UM()->form()->processing == $this->set_id) {
 
 
361
  $output = '<div class="um-field-error"><span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span>' . $text . '</div>';
362
  } else {
363
  $output = '';
364
  }
365
 
366
- if (!UM()->form()->processing) {
367
  $output = '<div class="um-field-error"><span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span>' . $text . '</div>';
368
  }
369
 
@@ -391,7 +391,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
391
  * @return string
392
  */
393
  function show_error( $key ) {
394
- return UM()->form()->errors[$key];
395
  }
396
 
397
 
@@ -408,8 +408,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
408
  $output = null;
409
  $output .= '<div class="um-field-label">';
410
 
411
- if (isset( $data['icon'] ) && $data['icon'] != '' && isset( $this->field_icons ) && $this->field_icons != 'off' && ( $this->field_icons == 'label' || $this->viewing == true )) {
412
- $output .= '<div class="um-field-label-icon"><i class="' . $data['icon'] . '"></i></div>';
413
  }
414
 
415
  if ( $this->viewing == true ) {
@@ -480,17 +480,17 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
480
  $label = apply_filters( 'um_edit_label_all_fields', $label, $data );
481
  }
482
 
483
- $output .= '<label for="' . $key . UM()->form()->form_suffix . '">' . __( $label, 'ultimate-member' ) . '</label>';
484
 
485
- if (isset( $data['help'] ) && !empty( $data['help'] ) && $this->viewing == false && !strstr( $key, 'confirm_user_pass' )) {
486
 
487
- if (!UM()->mobile()->isMobile()) {
488
- if (!isset( $this->disable_tooltips )) {
489
- $output .= '<span class="um-tip um-tip-w" title="' . __( $data['help'], 'ultimate-member' ) . '"><i class="um-icon-help-circled"></i></span>';
490
  }
491
  }
492
 
493
- if (UM()->mobile()->isMobile() || isset( $this->disable_tooltips )) {
494
  $output .= '<span class="um-tip-text">' . __( $data['help'], 'ultimate-member' ) . '</span>';
495
  }
496
 
@@ -516,29 +516,29 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
516
 
517
  $classes .= 'um-form-field ';
518
 
519
- if ($this->is_error( $key )) {
520
  $classes .= 'um-error ';
521
  } else {
522
  $classes .= 'valid ';
523
  }
524
 
525
- if (!isset( $data['required'] )) {
526
  $classes .= 'not-required ';
527
  }
528
 
529
- if ($data['type'] == 'date') {
530
  $classes .= 'um-datepicker ';
531
  }
532
 
533
- if ($data['type'] == 'time') {
534
  $classes .= 'um-timepicker ';
535
  }
536
 
537
- if (isset( $data['icon'] ) && $data['icon'] && isset( $this->field_icons ) && $this->field_icons == 'field') {
538
  $classes .= 'um-iconed ';
539
  }
540
 
541
- if ($add) {
542
  $classes .= $add . ' ';
543
  }
544
 
@@ -589,10 +589,10 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
589
  // preview in backend
590
  if ( isset( UM()->user()->preview ) && UM()->user()->preview ) {
591
  $submitted = um_user( 'submitted' );
592
- if ( isset( $submitted[ $key ] ) && !empty( $submitted[ $key ] ) ) {
593
  return $submitted[ $key ];
594
  } else {
595
- return 'Undefined';
596
  }
597
  }
598
 
@@ -713,7 +713,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
713
  * }
714
  * ?>
715
  */
716
- $default = apply_filters( "um_field_default_value", $default, $data, $type );
717
  /**
718
  * UM hook
719
  *
@@ -868,6 +868,10 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
868
  $field_value = 0;
869
  }
870
 
 
 
 
 
871
  if ( $key == 'role' ) {
872
 
873
  $role_keys = get_option( 'um_roles' );
@@ -984,16 +988,16 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
984
  * @return boolean
985
  */
986
  function is_radio_checked( $key, $value, $data ) {
987
- if (isset( UM()->form()->post_form[$key] )) {
988
- if (is_array( UM()->form()->post_form[$key] ) && in_array( $value, UM()->form()->post_form[$key] )) {
989
  return true;
990
- } else if ($value == UM()->form()->post_form[$key]) {
991
  return true;
992
  }
993
  } else {
994
- if (um_user( $key ) && $this->editing == true) {
995
 
996
- if (strstr( $key, 'role_' )) {
997
  $key = 'role';
998
  }
999
 
@@ -1009,32 +1013,26 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1009
  $um_user_value = 'um_' . $um_user_value;
1010
  }
1011
  }
1012
- /*elseif( $this->set_mode == 'register' ){
1013
- $data['default'] = UM()->options()->get( 'register_role' );
1014
- }
1015
- else{
1016
- $data['default'] = get_option( 'default_role' );
1017
- }*/
1018
  }
1019
 
1020
  if ( $um_user_value == $value ) {
1021
  return true;
1022
  }
1023
 
1024
- if (is_array( $um_user_value ) && in_array( $value, $um_user_value )) {
1025
  return true;
1026
  }
1027
 
1028
- if (is_array( $um_user_value )) {
1029
- foreach ($um_user_value as $u) {
1030
- if ($u == html_entity_decode( $value )) {
1031
  return true;
1032
  }
1033
  }
1034
  }
1035
 
1036
 
1037
- } else if (isset( $data['default'] ) && $data['default'] == $value) {
1038
  return true;
1039
  }
1040
  }
@@ -1052,8 +1050,9 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1052
  */
1053
  function get_field_icon( $key ) {
1054
  $fields = UM()->builtin()->all_user_fields;
1055
- if (isset( $fields[$key]['icon'] ))
1056
- return $fields[$key]['icon'];
 
1057
 
1058
  return '';
1059
  }
@@ -1070,7 +1069,6 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1070
  */
1071
  function get_option_value_from_callback( $value, $data, $type ) {
1072
 
1073
-
1074
  if ( in_array( $type, array( 'select', 'multiselect' ) ) && ! empty( $data['custom_dropdown_options_source'] ) ) {
1075
 
1076
  $has_custom_source = apply_filters( "um_has_dropdown_options_source__{$data['metakey']}", false );
@@ -1134,7 +1132,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1134
  */
1135
  function get_options_from_callback( $data, $type ) {
1136
 
1137
- if ( in_array( $type, array( 'select', 'multiselect' ) ) && isset( $data['custom_dropdown_options_source'] ) && ! empty( $data['custom_dropdown_options_source'] ) ) {
1138
 
1139
  if ( function_exists( $data['custom_dropdown_options_source'] ) ) {
1140
  $arr_options = call_user_func( $data['custom_dropdown_options_source'], $data['parent_dropdown_relationship'] );
@@ -1155,8 +1153,9 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1155
  */
1156
  function get_field_type( $key ) {
1157
  $fields = UM()->builtin()->all_user_fields;
1158
- if (isset( $fields[$key]['type'] ))
1159
- return $fields[$key]['type'];
 
1160
 
1161
  return '';
1162
  }
@@ -1218,10 +1217,12 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1218
  */
1219
  function get_field_title( $key ) {
1220
  $fields = UM()->builtin()->all_user_fields;
1221
- if (isset( $fields[$key]['title'] ))
1222
- return $fields[$key]['title'];
1223
- if (isset( $fields[$key]['label'] ))
1224
- return $fields[$key]['label'];
 
 
1225
 
1226
  return __( 'Custom Field', 'ultimate-member' );
1227
  }
@@ -1261,34 +1262,43 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1261
  /**
1262
  * Get specific field
1263
  *
1264
- * @param string $key
1265
  *
1266
- * @return array
 
1267
  */
1268
  function get_field( $key ) {
1269
  $fields = $this->get_fields();
1270
 
1271
- if (isset( $fields ) && is_array( $fields ) && isset( $fields[$key] )) {
1272
- $array = $fields[$key];
1273
  } else {
1274
- if (!isset( UM()->builtin()->predefined_fields[$key] ) && !isset( UM()->builtin()->all_user_fields[$key] )) {
1275
  return '';
1276
  }
1277
- $array = ( isset( UM()->builtin()->predefined_fields[$key] ) ) ? UM()->builtin()->predefined_fields[$key] : UM()->builtin()->all_user_fields[$key];
1278
  }
1279
 
1280
  $array['classes'] = null;
1281
 
1282
- if (!isset( $array['placeholder'] )) $array['placeholder'] = null;
1283
- if (!isset( $array['required'] )) $array['required'] = null;
1284
- if (!isset( $array['validate'] )) $array['validate'] = null;
1285
- if (!isset( $array['default'] )) $array['default'] = null;
 
 
 
 
 
 
 
 
1286
 
1287
- if (isset( $array['conditions'] ) && is_array( $array['conditions'] ) && !$this->viewing) {
1288
  $array['conditional'] = '';
1289
 
1290
- foreach ($array['conditions'] as $cond_id => $cond) {
1291
- $array['conditional'] .= ' data-cond-' . $cond_id . '-action="' . $cond[0] . '" data-cond-' . $cond_id . '-field="' . $cond[1] . '" data-cond-' . $cond_id . '-operator="' . $cond[2] . '" data-cond-' . $cond_id . '-value="' . $cond[3] . '"';
1292
  }
1293
 
1294
  $array['classes'] .= ' um-is-conditional';
@@ -1297,11 +1307,11 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1297
  $array['conditional'] = null;
1298
  }
1299
 
1300
- $array['classes'] .= ' um-field-' . $key;
1301
- $array['classes'] .= ' um-field-' . $array['type'];
1302
- $array['classes'] .= ' um-field-type_' . $array['type'];
1303
 
1304
- switch ($array['type']) {
1305
 
1306
  case 'googlemap':
1307
  case 'youtube_video':
@@ -1315,7 +1325,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1315
 
1316
  $array['disabled'] = '';
1317
 
1318
- if ($key == 'user_login' && isset( $this->set_mode ) && $this->set_mode == 'account') {
1319
  $array['disabled'] = 'disabled="disabled"';
1320
  }
1321
 
@@ -1345,9 +1355,11 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1345
 
1346
  $array['input'] = 'text';
1347
 
1348
- if (!isset( $array['format'] )) $array['format'] = 'j M Y';
 
 
1349
 
1350
- switch ($array['format']) {
1351
  case 'j M Y':
1352
  $js_format = 'd mmm yyyy';
1353
  break;
@@ -1364,24 +1376,32 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1364
 
1365
  $array['js_format'] = $js_format;
1366
 
1367
- if (!isset( $array['range'] )) $array['range'] = 'years';
1368
- if (!isset( $array['years'] )) $array['years'] = 100;
1369
- if (!isset( $array['years_x'] )) $array['years_x'] = 'past';
1370
- if (!isset( $array['disabled_weekdays'] )) $array['disabled_weekdays'] = '';
 
 
 
 
 
 
 
 
1371
 
1372
- if (!empty( $array['disabled_weekdays'] )) {
1373
  $array['disabled_weekdays'] = '[' . implode( ',', $array['disabled_weekdays'] ) . ']';
1374
  }
1375
 
1376
  // When date range is strictly defined
1377
- if ($array['range'] == 'date_range') {
1378
 
1379
  $array['date_min'] = str_replace( '/', ',', $array['range_start'] );
1380
  $array['date_max'] = str_replace( '/', ',', $array['range_end'] );
1381
 
1382
  } else {
1383
 
1384
- if ($array['years_x'] == 'past') {
1385
 
1386
  $date = new \DateTime( date( 'Y-n-d' ) );
1387
  $past = $date->modify( '-' . $array['years'] . ' years' );
@@ -1390,7 +1410,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1390
  $array['date_min'] = $past;
1391
  $array['date_max'] = date( 'Y,n,d' );
1392
 
1393
- } else if ($array['years_x'] == 'future') {
1394
 
1395
  $date = new \DateTime( date( 'Y-n-d' ) );
1396
  $future = $date->modify( '+' . $array['years'] . ' years' );
@@ -1421,9 +1441,11 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1421
 
1422
  $array['input'] = 'text';
1423
 
1424
- if (!isset( $array['format'] )) $array['format'] = 'g:i a';
 
 
1425
 
1426
- switch ($array['format']) {
1427
  case 'g:i a':
1428
  $js_format = 'h:i a';
1429
  break;
@@ -1437,25 +1459,31 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1437
 
1438
  $array['js_format'] = $js_format;
1439
 
1440
- if (!isset( $array['intervals'] )) $array['intervals'] = 60;
 
 
1441
 
1442
  break;
1443
 
1444
  case 'textarea':
1445
 
1446
- if (!isset( $array['height'] )) $array['height'] = '100px';
 
 
1447
 
1448
  break;
1449
 
1450
  case 'rating':
1451
 
1452
- if (!isset( $array['number'] )) $array['number'] = 5;
 
 
1453
 
1454
  break;
1455
 
1456
  case 'spacing':
1457
 
1458
- if (!isset( $array['spacing'] )) {
1459
  $array['spacing'] = '20px';
1460
  }
1461
 
@@ -1463,25 +1491,25 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1463
 
1464
  case 'divider':
1465
 
1466
- if (isset( $array['width'] )) {
1467
  $array['borderwidth'] = $array['width'];
1468
  } else {
1469
  $array['borderwidth'] = 4;
1470
  }
1471
 
1472
- if (isset( $array['color'] )) {
1473
  $array['bordercolor'] = $array['color'];
1474
  } else {
1475
  $array['bordercolor'] = '#eee';
1476
  }
1477
 
1478
- if (isset( $array['style'] )) {
1479
  $array['borderstyle'] = $array['style'];
1480
  } else {
1481
  $array['borderstyle'] = 'solid';
1482
  }
1483
 
1484
- if (!isset( $array['divider_text'] )) {
1485
  $array['divider_text'] = '';
1486
  }
1487
 
@@ -1489,73 +1517,131 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1489
 
1490
  case 'image':
1491
 
1492
- if (!isset( $array['crop'] )) $array['crop'] = 0;
 
 
1493
 
1494
- if ($array['crop'] == 0) {
1495
  $array['crop_data'] = 0;
1496
- } else if ($array['crop'] == 1) {
1497
  $array['crop_data'] = 'square';
1498
- } else if ($array['crop'] == 2) {
1499
  $array['crop_data'] = 'cover';
1500
  } else {
1501
  $array['crop_data'] = 'user';
1502
  }
1503
 
1504
- if (!isset( $array['modal_size'] )) $array['modal_size'] = 'normal';
 
 
1505
 
1506
- if ($array['crop'] > 0) {
1507
  $array['crop_class'] = 'crop';
1508
  } else {
1509
  $array['crop_class'] = '';
1510
  }
1511
 
1512
- if (!isset( $array['ratio'] )) $array['ratio'] = 1.0;
 
 
1513
 
1514
- if (!isset( $array['min_width'] )) $array['min_width'] = '';
1515
- if (!isset( $array['min_height'] )) $array['min_height'] = '';
 
 
 
 
1516
 
1517
- if ($array['min_width'] == '' && $array['crop'] == 1) $array['min_width'] = 600;
1518
- if ($array['min_height'] == '' && $array['crop'] == 1) $array['min_height'] = 600;
 
 
 
 
1519
 
1520
- if ($array['min_width'] == '' && $array['crop'] == 3) $array['min_width'] = 600;
1521
- if ($array['min_height'] == '' && $array['crop'] == 3) $array['min_height'] = 600;
 
 
 
 
1522
 
1523
- if (!isset( $array['invalid_image'] )) $array['invalid_image'] = __( "Please upload a valid image!", 'ultimate-member' );
1524
- if (!isset( $array['allowed_types'] )) {
1525
- $array['allowed_types'] = "gif,jpg,jpeg,png";
 
 
1526
  } else {
1527
  $array['allowed_types'] = implode( ',', $array['allowed_types'] );
1528
  }
1529
- if (!isset( $array['upload_text'] )) $array['upload_text'] = '';
1530
- if (!isset( $array['button_text'] )) $array['button_text'] = __( 'Upload', 'ultimate-member' );
1531
- if (!isset( $array['extension_error'] )) $array['extension_error'] = __( "Sorry this is not a valid image.", 'ultimate-member' );
1532
- if (!isset( $array['max_size_error'] )) $array['max_size_error'] = __( "This image is too large!", 'ultimate-member' );
1533
- if (!isset( $array['min_size_error'] )) $array['min_size_error'] = __( "This image is too small!", 'ultimate-member' );
1534
- if (!isset( $array['max_files_error'] )) $array['max_files_error'] = __( "You can only upload one image", 'ultimate-member' );
1535
- if (!isset( $array['max_size'] )) $array['max_size'] = 999999999;
1536
- if (!isset( $array['upload_help_text'] )) $array['upload_help_text'] = '';
1537
- if (!isset( $array['icon'] )) $array['icon'] = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1538
 
1539
  break;
1540
 
1541
  case 'file':
1542
 
1543
- if (!isset( $array['modal_size'] )) $array['modal_size'] = 'normal';
 
 
1544
 
1545
- if (!isset( $array['allowed_types'] )) {
1546
- $array['allowed_types'] = "pdf,txt";
1547
  } else {
1548
  $array['allowed_types'] = implode( ',', $array['allowed_types'] );
1549
  }
1550
- if (!isset( $array['upload_text'] )) $array['upload_text'] = '';
1551
- if (!isset( $array['button_text'] )) $array['button_text'] = __( 'Upload', 'ultimate-member' );
1552
- if (!isset( $array['extension_error'] )) $array['extension_error'] = "Sorry this is not a valid file.";
1553
- if (!isset( $array['max_size_error'] )) $array['max_size_error'] = "This file is too large!";
1554
- if (!isset( $array['min_size_error'] )) $array['min_size_error'] = "This file is too small!";
1555
- if (!isset( $array['max_files_error'] )) $array['max_files_error'] = "You can only upload one file";
1556
- if (!isset( $array['max_size'] )) $array['max_size'] = 999999999;
1557
- if (!isset( $array['upload_help_text'] )) $array['upload_help_text'] = '';
1558
- if (!isset( $array['icon'] )) $array['icon'] = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1559
 
1560
  break;
1561
 
@@ -1569,13 +1655,17 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1569
 
1570
  case 'group':
1571
 
1572
- if (!isset( $array['max_entries'] )) $array['max_entries'] = 0;
 
 
1573
 
1574
  break;
1575
 
1576
  }
1577
 
1578
- if (!isset( $array['visibility'] )) $array['visibility'] = 'all';
 
 
1579
 
1580
  /**
1581
  * UM hook
@@ -1636,26 +1726,27 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1636
  /**
1637
  * Gets a field in 'input mode'
1638
  *
1639
- * @param string $key
1640
- * @param array $data
1641
- * @param boolean $rule
1642
- * @param array $args
1643
  *
1644
- * @return string
 
1645
  */
1646
  function edit_field( $key, $data, $rule = false, $args = array() ) {
1647
  global $_um_profile_id;
1648
  $output = null;
1649
  $disabled = '';
1650
- if (empty( $_um_profile_id )) {
1651
  $_um_profile_id = um_user( 'ID' );
1652
  }
1653
 
1654
 
1655
  // get whole field data
1656
- if (isset( $data ) && is_array( $data )) {
1657
  $data = $this->get_field( $key );
1658
- if (is_array( $data )) {
1659
  /**
1660
  * @var string $in_row
1661
  * @var boolean $in_sub_row
@@ -1678,16 +1769,55 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1678
  * @var string $validate
1679
  * @var string $default
1680
  * @var string $conditional
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1681
  */
1682
  extract( $data );
1683
  }
1684
  }
1685
 
1686
- if (!isset( $data['type'] )) return;
 
 
1687
 
1688
- if (isset( $data['in_group'] ) && $data['in_group'] != '' && $rule != 'group') return;
 
 
1689
 
1690
- if ($visibility == 'view' && $this->set_mode != 'register') return;
 
 
1691
 
1692
  if ( ( $visibility == 'view' && $this->set_mode == 'register' ) ||
1693
  ( isset( $data['editable'] ) && $data['editable'] == 0 && $this->set_mode == 'profile' )
@@ -1707,6 +1837,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1707
  }
1708
  }
1709
 
 
 
1710
  if ( ! isset( $data['autocomplete'] ) ) {
1711
  $autocomplete = 'off';
1712
  }
@@ -1729,27 +1861,29 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1729
  }
1730
 
1731
  // forbidden in edit mode?
1732
- if (isset( $data['edit_forbidden'] )) return;
 
 
1733
 
1734
 
1735
  // required option
1736
- if (isset( $data['required_opt'] )) {
1737
  $opt = $data['required_opt'];
1738
- if ( UM()->options()->get( $opt[0] ) != $opt[1]) {
1739
  return;
1740
  }
1741
  }
1742
 
1743
  // required user permission
1744
- if (isset( $data['required_perm'] )) {
1745
- if (!um_user( $data['required_perm'] )) {
1746
  return;
1747
  }
1748
  }
1749
 
1750
  // do not show passwords
1751
- if (isset( UM()->user()->preview ) && UM()->user()->preview) {
1752
- if ($data['type'] == 'password') {
1753
  return;
1754
  }
1755
  }
@@ -1855,13 +1989,13 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1855
 
1856
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
1857
 
1858
- if (isset( $data['label'] )) {
1859
  $output .= $this->field_label( $label, $key, $data );
1860
  }
1861
 
1862
  $output .= '<div class="um-field-area">';
1863
 
1864
- if (isset( $icon ) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field') {
1865
 
1866
  $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
1867
 
@@ -1870,15 +2004,15 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1870
  $field_name = $key . UM()->form()->form_suffix;
1871
  $field_value = htmlspecialchars( $this->field_value( $key, $default, $data ) );
1872
 
1873
- $output .= '<input ' . $disabled . ' class="' . $this->get_class( $key, $data ) . '" type="' . $input . '" name="' . $field_name . '" id="' . $field_name . '" value="' . $field_value . '" placeholder="' . $placeholder . '" data-validate="' . $validate . '" data-key="' . $key . '" />
1874
 
1875
  </div>';
1876
 
1877
- if (!empty( $disabled )) {
1878
  $output .= $this->disabled_hidden_field( $field_name, $field_value );
1879
  }
1880
 
1881
- if ($this->is_error( $key )) {
1882
  $output .= $this->field_error( $this->show_error( $key ) );
1883
  }
1884
 
@@ -1888,32 +2022,32 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1888
  /* Text */
1889
  case 'text':
1890
 
1891
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
1892
 
1893
- if (isset( $data['label'] )) {
1894
  $output .= $this->field_label( $label, $key, $data );
1895
  }
1896
 
1897
  $output .= '<div class="um-field-area">';
1898
 
1899
- if (isset( $icon ) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field') {
1900
 
1901
- $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
1902
 
1903
  }
1904
 
1905
  $field_name = $key . UM()->form()->form_suffix;
1906
  $field_value = htmlspecialchars( $this->field_value( $key, $default, $data ) );
1907
 
1908
- $output .= '<input ' . $disabled . ' autocomplete="' . $autocomplete . '" class="' . $this->get_class( $key, $data ) . '" type="' . $input . '" name="' . $field_name . '" id="' . $field_name . '" value="' . $field_value . '" placeholder="' . $placeholder . '" data-validate="' . $validate . '" data-key="' . $key . '" />
1909
 
1910
  </div>';
1911
 
1912
- if (!empty( $disabled )) {
1913
  $output .= $this->disabled_hidden_field( $field_name, $field_value );
1914
  }
1915
 
1916
- if ($this->is_error( $key )) {
1917
  $output .= $this->field_error( $this->show_error( $key ) );
1918
  }
1919
 
@@ -1923,35 +2057,33 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1923
  /* Number */
1924
  case 'number':
1925
 
1926
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
1927
 
1928
- if (isset( $data['label'] )) {
1929
  $output .= $this->field_label( $label, $key, $data );
1930
  }
1931
 
1932
  $output .= '<div class="um-field-area">';
1933
 
1934
- if (isset( $icon ) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field') {
1935
 
1936
- $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
1937
 
1938
  }
1939
 
1940
  $number_limit = '';
1941
-
1942
- if (isset( $min )) {
1943
- $number_limit .= " min=\"{$min}\" ";
1944
  }
1945
-
1946
- if (isset( $max )) {
1947
- $number_limit .= " max=\"{$max}\" ";
1948
  }
1949
 
1950
- $output .= '<input ' . $disabled . ' class="' . $this->get_class( $key, $data ) . '" type="number" name="' . $key . UM()->form()->form_suffix . '" id="' . $key . UM()->form()->form_suffix . '" value="' . htmlspecialchars( $this->field_value( $key, $default, $data ) ) . '" placeholder="' . $placeholder . '" data-validate="' . $validate . '" data-key="' . $key . '" '.$number_limit.' />
1951
 
1952
  </div>';
1953
 
1954
- if ($this->is_error( $key )) {
1955
  $output .= $this->field_error( $this->show_error( $key ) );
1956
  }
1957
 
@@ -1963,29 +2095,29 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1963
 
1964
  $original_key = $key;
1965
 
1966
- if ($key == 'single_user_password') {
1967
 
1968
  $key = $original_key;
1969
 
1970
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
1971
 
1972
- if (isset( $data['label'] )) {
1973
  $output .= $this->field_label( $label, $key, $data );
1974
  }
1975
 
1976
  $output .= '<div class="um-field-area">';
1977
 
1978
- if (isset( $icon ) && $icon && $this->field_icons == 'field') {
1979
 
1980
- $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
1981
 
1982
  }
1983
 
1984
- $output .= '<input class="' . $this->get_class( $key, $data ) . '" type="' . $input . '" name="' . $key . UM()->form()->form_suffix . '" id="' . $key . UM()->form()->form_suffix . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . $placeholder . '" data-validate="' . $validate . '" data-key="' . $key . '" />
1985
 
1986
  </div>';
1987
 
1988
- if ($this->is_error( $key )) {
1989
  $output .= $this->field_error( $this->show_error( $key ) );
1990
  }
1991
 
@@ -1993,28 +2125,28 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
1993
 
1994
  } else {
1995
 
1996
- if ($this->set_mode == 'account' || um_is_core_page( 'account' )) {
1997
 
1998
  $key = 'current_' . $original_key;
1999
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2000
 
2001
- if (isset( $data['label'] )) {
2002
  $output .= $this->field_label( __( 'Current Password', 'ultimate-member' ), $key, $data );
2003
  }
2004
 
2005
  $output .= '<div class="um-field-area">';
2006
 
2007
- if (isset( $icon ) && $icon && $this->field_icons == 'field') {
2008
 
2009
- $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
2010
 
2011
  }
2012
 
2013
- $output .= '<input class="' . $this->get_class( $key, $data ) . '" type="' . $input . '" name="' . $key . UM()->form()->form_suffix . '" id="' . $key . UM()->form()->form_suffix . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . $placeholder . '" data-validate="' . $validate . '" data-key="' . $key . '" />
2014
 
2015
  </div>';
2016
 
2017
- if ($this->is_error( $key )) {
2018
  $output .= $this->field_error( $this->show_error( $key ) );
2019
  }
2020
 
@@ -2024,13 +2156,13 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2024
 
2025
  $key = $original_key;
2026
 
2027
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2028
 
2029
- if ($this->set_mode == 'account' && um_is_core_page( 'account' ) || $this->set_mode == 'password' && um_is_core_page( 'password-reset' )) {
2030
 
2031
  $output .= $this->field_label( __( 'New Password', 'ultimate-member' ), $key, $data );
2032
 
2033
- } else if (isset( $data['label'] )) {
2034
 
2035
  $output .= $this->field_label( $label, $key, $data );
2036
 
@@ -2038,44 +2170,44 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2038
 
2039
  $output .= '<div class="um-field-area">';
2040
 
2041
- if (isset( $icon ) && $icon && $this->field_icons == 'field') {
2042
 
2043
- $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
2044
 
2045
  }
2046
 
2047
- $output .= '<input class="' . $this->get_class( $key, $data ) . '" type="' . $input . '" name="' . $key . UM()->form()->form_suffix . '" id="' . $key . UM()->form()->form_suffix . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . $placeholder . '" data-validate="' . $validate . '" data-key="' . $key . '" />
2048
 
2049
  </div>';
2050
 
2051
- if ($this->is_error( $key )) {
2052
  $output .= $this->field_error( $this->show_error( $key ) );
2053
  }
2054
 
2055
  $output .= '</div>';
2056
 
2057
- if ($this->set_mode != 'login' && isset( $data['force_confirm_pass'] ) && $data['force_confirm_pass'] == 1) {
2058
 
2059
  $key = 'confirm_' . $original_key;
2060
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2061
 
2062
- if (isset( $data['label'] )) {
2063
  $output .= $this->field_label( sprintf( __( 'Confirm %s', 'ultimate-member' ), $data['label'] ), $key, $data );
2064
  }
2065
 
2066
  $output .= '<div class="um-field-area">';
2067
 
2068
- if (isset( $icon ) && $icon && $this->field_icons == 'field') {
2069
 
2070
- $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
2071
 
2072
  }
2073
 
2074
- $output .= '<input class="' . $this->get_class( $key, $data ) . '" type="' . $input . '" name="' . $key . UM()->form()->form_suffix . '" id="' . $key . UM()->form()->form_suffix . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . $placeholder . '" data-validate="' . $validate . '" data-key="' . $key . '" />
2075
 
2076
  </div>';
2077
 
2078
- if ($this->is_error( $key )) {
2079
  $output .= $this->field_error( $this->show_error( $key ) );
2080
  }
2081
 
@@ -2090,7 +2222,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2090
  /* URL */
2091
  case 'url':
2092
 
2093
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2094
 
2095
  if ( isset( $data['label'] ) ) {
2096
  $output .= $this->field_label( $label, $key, $data );
@@ -2098,17 +2230,17 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2098
 
2099
  $output .= '<div class="um-field-area">';
2100
 
2101
- if ( isset( $icon ) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field') {
2102
 
2103
- $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
2104
 
2105
  }
2106
 
2107
- $output .= '<input ' . $disabled . ' class="' . $this->get_class( $key, $data ) . '" type="' . $input . '" name="' . $key . UM()->form()->form_suffix . '" id="' . $key . UM()->form()->form_suffix . '" value="' . esc_attr( $this->field_value( $key, $default, $data ) ) . '" placeholder="' . esc_attr( $placeholder ) . '" data-validate="' . $validate . '" data-key="' . $key . '" />
2108
 
2109
  </div>';
2110
 
2111
- if ($this->is_error( $key )) {
2112
  $output .= $this->field_error( $this->show_error( $key ) );
2113
  }
2114
 
@@ -2118,7 +2250,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2118
  /* Date */
2119
  case 'date':
2120
 
2121
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2122
 
2123
  if (isset( $data['label'] )) {
2124
  $output .= $this->field_label( $label, $key, $data );
@@ -2126,17 +2258,17 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2126
 
2127
  $output .= '<div class="um-field-area">';
2128
 
2129
- if (isset( $icon ) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field') {
2130
 
2131
- $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
2132
 
2133
  }
2134
 
2135
- $output .= '<input ' . $disabled . ' class="' . $this->get_class( $key, $data ) . '" type="' . $input . '" name="' . $key . UM()->form()->form_suffix . '" id="' . $key . UM()->form()->form_suffix . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . $placeholder . '" data-validate="' . $validate . '" data-key="' . $key . '" data-range="' . $range . '" data-years="' . $years . '" data-years_x="' . $years_x . '" data-disabled_weekdays="' . $disabled_weekdays . '" data-date_min="' . $date_min . '" data-date_max="' . $date_max . '" data-format="' . $js_format . '" data-value="' . $this->field_value( $key, $default, $data ) . '" />
2136
 
2137
  </div>';
2138
 
2139
- if ($this->is_error( $key )) {
2140
  $output .= $this->field_error( $this->show_error( $key ) );
2141
  }
2142
 
@@ -2146,7 +2278,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2146
  /* Time */
2147
  case 'time':
2148
 
2149
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2150
 
2151
  if (isset( $data['label'] )) {
2152
  $output .= $this->field_label( $label, $key, $data );
@@ -2154,17 +2286,17 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2154
 
2155
  $output .= '<div class="um-field-area">';
2156
 
2157
- if (isset( $icon ) && $icon && $this->field_icons == 'field') {
2158
 
2159
- $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
2160
 
2161
  }
2162
 
2163
- $output .= '<input ' . $disabled . ' class="' . $this->get_class( $key, $data ) . '" type="' . $input . '" name="' . $key . UM()->form()->form_suffix . '" id="' . $key . UM()->form()->form_suffix . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . $placeholder . '" data-validate="' . $validate . '" data-key="' . $key . '" data-format="' . $js_format . '" data-intervals="' . $intervals . '" data-value="' . $this->field_value( $key, $default, $data ) . '" />
2164
 
2165
  </div>';
2166
 
2167
- if ($this->is_error( $key )) {
2168
  $output .= $this->field_error( $this->show_error( $key ) );
2169
  }
2170
 
@@ -2178,16 +2310,15 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2178
 
2179
  /* Textarea */
2180
  case 'textarea':
2181
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2182
 
2183
- if (isset( $data['label'] )) {
2184
  $output .= $this->field_label( $label, $key, $data );
2185
  }
2186
 
2187
  $output .= '<div class="um-field-area">';
2188
 
2189
- if (isset( $data['html'] ) && $data['html'] != 0 && $key != "description") {
2190
-
2191
 
2192
  $textarea_settings = array(
2193
  'media_buttons' => false,
@@ -2200,7 +2331,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2200
  )
2201
  );
2202
 
2203
- if (!empty( $disabled )) {
2204
  $textarea_settings['tinymce']['readonly'] = true;
2205
  }
2206
 
@@ -2236,7 +2367,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2236
  $output .= ob_get_clean();
2237
  $output .= '<br /><span class="description">' . $placeholder . '</span>';
2238
  } else {
2239
- $output .= '<textarea ' . $disabled . ' style="height: ' . $height . ';" class="' . $this->get_class( $key, $data ) . '" name="' . $field_name . '" id="' . $field_id . '" placeholder="' . $placeholder . '">' . strip_tags( $field_value ) . '</textarea>';
2240
  }
2241
 
2242
  $output .= '</div>';
@@ -2254,15 +2385,15 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2254
 
2255
  /* Rating */
2256
  case 'rating':
2257
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2258
 
2259
- if (isset( $data['label'] )) {
2260
  $output .= $this->field_label( $label, $key, $data );
2261
  }
2262
 
2263
  $output .= '<div class="um-field-area">';
2264
 
2265
- $output .= '<div class="um-rating um-raty" id="' . $key . '" data-key="' . $key . '" data-number="' . $data['number'] . '" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>';
2266
  $output .= '</div>';
2267
 
2268
  $output .= '</div>';
@@ -2271,27 +2402,27 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2271
 
2272
  /* Gap/Space */
2273
  case 'spacing':
2274
- $output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: ' . $spacing . '"></div>';
2275
  break;
2276
 
2277
  /* A line divider */
2278
  case 'divider':
2279
- $output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: ' . $borderwidth . 'px ' . $borderstyle . ' ' . $bordercolor . '">';
2280
- if ($divider_text) {
2281
- $output .= '<div class="um-field-divider-text"><span>' . $divider_text . '</span></div>';
2282
  }
2283
  $output .= '</div>';
2284
  break;
2285
 
2286
  /* Single Image Upload */
2287
  case 'image':
2288
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2289
  if ( in_array( $key, array( 'profile_photo', 'cover_photo' ) ) ) {
2290
  $field_value = '';
2291
  } else {
2292
  $field_value = $this->field_value( $key, $default, $data );
2293
  }
2294
- $output .= '<input type="hidden" name="' . $key . UM()->form()->form_suffix . '" id="' . $key . UM()->form()->form_suffix . '" value="' . $field_value . '" />';
2295
  if ( isset( $data['label'] ) ) {
2296
  $output .= $this->field_label( $label, $key, $data );
2297
  }
@@ -2357,8 +2488,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2357
 
2358
  /* Single File Upload */
2359
  case 'file':
2360
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2361
- $output .= '<input type="hidden" name="' . $key . UM()->form()->form_suffix . '" id="' . $key . UM()->form()->form_suffix . '" value="' . $this->field_value( $key, $default, $data ) . '" />';
2362
  if (isset( $data['label'] )) {
2363
  $output .= $this->field_label( $label, $key, $data );
2364
  }
@@ -2445,17 +2576,17 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2445
  $output .= '</div>';
2446
  $output .= '</div>';
2447
  /* end */
2448
- if ($this->is_error( $key )) {
2449
  $output .= $this->field_error( $this->show_error( $key ) );
2450
  }
2451
  $output .= '</div>';
2452
 
2453
- break;
2454
 
2455
  /* Select dropdown */
2456
  case 'select':
2457
 
2458
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2459
 
2460
  if ( isset( $data['allowclear'] ) && $data['allowclear'] == 0 ) {
2461
  $class = 'um-s2';
@@ -2468,8 +2599,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2468
  }
2469
 
2470
  $output .= '<div class="um-field-area ' . ( isset( $this->field_icons ) && $this->field_icons == 'field' ? 'um-field-area-has-icon' : '' ) . ' ">';
2471
- if ( isset( $icon ) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
2472
- $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
2473
  }
2474
 
2475
  $has_parent_option = false;
@@ -2543,7 +2674,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2543
  * ?>
2544
  */
2545
  $ajax_source = apply_filters( "um_custom_dropdown_options_source__{$form_key}", $data['custom_dropdown_options_source'], $data );
2546
- $atts_ajax .= " data-um-ajax-source='{$ajax_source}' ";
2547
 
2548
  /**
2549
  * UM hook
@@ -2567,7 +2698,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2567
  * ?>
2568
  */
2569
  $ajax_source_url = apply_filters( "um_custom_dropdown_options_source_url__{$form_key}", admin_url( 'admin-ajax.php' ), $data );
2570
- $atts_ajax .= " data-um-ajax-url='{$ajax_source_url}' ";
2571
 
2572
  }
2573
 
@@ -2575,7 +2706,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2575
  $placeholder = strip_tags( $placeholder );
2576
  }
2577
 
2578
- $output .= '<select data-default="' . $data['default'] . '" ' . $disabled . ' ' . $select_original_option_value . ' ' . $disabled_by_parent_option . ' name="' . $form_key . '" id="' . $field_id . '" data-validate="' . $validate . '" data-key="' . $key . '" class="' . $this->get_class( $key, $data, $class ) . '" style="width: 100%" data-placeholder="' . $placeholder . '" ' . $atts_ajax . '>';
2579
 
2580
  /**
2581
  * UM hook
@@ -2736,15 +2867,15 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2736
 
2737
  $max_selections = ( isset( $max_selections ) ) ? absint( $max_selections ) : 0;
2738
 
2739
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2740
 
2741
- if (isset( $data['allowclear'] ) && $data['allowclear'] == 0) {
2742
  $class = 'um-s2';
2743
  } else {
2744
  $class = 'um-s1';
2745
  }
2746
 
2747
- if (isset( $data['label'] )) {
2748
  $output .= $this->field_label( $label, $key, $data );
2749
  }
2750
 
@@ -2775,11 +2906,11 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2775
  $use_keyword = apply_filters( 'um_multiselect_option_value', 0, $data['type'] );
2776
 
2777
  $output .= '<div class="um-field-area ' . ( isset( $this->field_icons ) && $this->field_icons == 'field' ? 'um-field-area-has-icon' : '' ) . ' ">';
2778
- if (isset( $icon ) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field') {
2779
- $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
2780
  }
2781
 
2782
- $output .= '<select ' . $disabled . ' multiple="multiple" name="' . $field_name . '[]" id="' . $field_id . '" data-maxsize="' . $max_selections . '" data-validate="' . $validate . '" data-key="' . $key . '" class="' . $this->get_class( $key, $data, $class ) . ' um-user-keyword_' . $use_keyword . '" style="width: 100%" data-placeholder="' . $placeholder . '">';
2783
 
2784
 
2785
  if ( isset( $options ) && $options == 'builtin' ) {
@@ -2868,15 +2999,15 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2868
 
2869
  $arr_selected = array();
2870
  // add options
2871
- if (!empty( $options ) && is_array( $options )) {
2872
- foreach ($options as $k => $v) {
2873
 
2874
  $v = rtrim( $v );
2875
 
2876
  $um_field_checkbox_item_title = $v;
2877
  $opt_value = $v;
2878
 
2879
- if ($use_keyword) {
2880
  $um_field_checkbox_item_title = $v;
2881
  $opt_value = $k;
2882
  }
@@ -2884,10 +3015,10 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2884
  $opt_value = $this->filter_field_non_utf8_value( $opt_value );
2885
 
2886
  $output .= '<option value="' . $opt_value . '" ';
2887
- if ($this->is_selected( $key, $opt_value, $data )) {
2888
 
2889
  $output .= 'selected';
2890
- $arr_selected[$opt_value] = $opt_value;
2891
  }
2892
 
2893
  $output .= '>' . __( $um_field_checkbox_item_title, 'ultimate-member' ) . '</option>';
@@ -2897,8 +3028,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2897
 
2898
  $output .= '</select>';
2899
 
2900
- if (!empty( $disabled ) && !empty( $arr_selected )) {
2901
- foreach ($arr_selected as $item) {
2902
  $output .= $this->disabled_hidden_field( $key . '[]', $item );
2903
  }
2904
  }
@@ -2906,7 +3037,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2906
  $output .= '</div>';
2907
 
2908
 
2909
- if ($this->is_error( $key )) {
2910
  $output .= $this->field_error( $this->show_error( $key ) );
2911
  }
2912
 
@@ -2962,9 +3093,9 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2962
  $options = apply_filters( "um_radio_field_options_{$key}", $options );
2963
  }
2964
 
2965
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
2966
 
2967
- if (isset( $data['label'] )) {
2968
  $output .= $this->field_label( $label, $key, $data );
2969
  }
2970
 
@@ -2997,7 +3128,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
2997
  $col_class = '';
2998
  }
2999
 
3000
- if ($this->is_radio_checked( $key, $option_value, $data )) {
3001
  $active = 'active';
3002
  $class = "um-icon-android-radio-button-on";
3003
  } else {
@@ -3006,36 +3137,36 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3006
  }
3007
 
3008
 
3009
- if (isset( $data['editable'] ) && $data['editable'] == 0) {
3010
  $col_class .= " um-field-radio-state-disabled";
3011
  }
3012
 
3013
- $output .= '<label class="um-field-radio ' . $active . ' um-field-half ' . $col_class . '">';
3014
 
3015
  $option_value = $this->filter_field_non_utf8_value( $option_value );
3016
 
3017
- $output .= '<input ' . $disabled . ' type="radio" name="' . ( ( $form_key == 'role' ) ? $form_key : $form_key . '[]' ) . '" value="' . $option_value . '" ';
3018
 
3019
- if ($this->is_radio_checked( $key, $option_value, $data )) {
3020
  $output .= 'checked';
3021
- $field_value[$key] = $option_value;
3022
  }
3023
 
3024
  $output .= ' />';
3025
 
3026
- $output .= '<span class="um-field-radio-state"><i class="' . $class . '"></i></span>';
3027
- $output .= '<span class="um-field-radio-option">' . __( $um_field_checkbox_item_title, 'ultimate-member' ) . '</span>';
3028
  $output .= '</label>';
3029
 
3030
- if ($i % 2 == 0) {
3031
  $output .= '<div class="um-clear"></div>';
3032
  }
3033
 
3034
  }
3035
  }
3036
 
3037
- if (!empty( $disabled )) {
3038
- foreach ($field_value as $item) {
3039
  $output .= $this->disabled_hidden_field( $form_key, $item );
3040
  }
3041
  }
@@ -3044,7 +3175,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3044
 
3045
  $output .= '</div>';
3046
 
3047
- if ($this->is_error( $form_key )) {
3048
  $output .= $this->field_error( $this->show_error( $form_key ) );
3049
  }
3050
 
@@ -3100,9 +3231,9 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3100
  $options = apply_filters( "um_checkbox_field_options_{$key}", $options );
3101
  }
3102
 
3103
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
3104
 
3105
- if (isset( $data['label'] )) {
3106
  $output .= $this->field_label( $label, $key, $data );
3107
  }
3108
 
@@ -3111,18 +3242,18 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3111
  // add options
3112
  $i = 0;
3113
 
3114
- foreach ($options as $k => $v) {
3115
 
3116
  $v = rtrim( $v );
3117
 
3118
  $i++;
3119
- if ($i % 2 == 0) {
3120
  $col_class = 'right';
3121
  } else {
3122
  $col_class = '';
3123
  }
3124
 
3125
- if ($this->is_selected( $key, $v, $data )) {
3126
  $active = 'active';
3127
  $class = "um-icon-android-checkbox-outline";
3128
  } else {
@@ -3130,30 +3261,30 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3130
  $class = "um-icon-android-checkbox-outline-blank";
3131
  }
3132
 
3133
- if (isset( $data['editable'] ) && $data['editable'] == 0) {
3134
  $col_class .= " um-field-radio-state-disabled";
3135
  }
3136
 
3137
- $output .= '<label class="um-field-checkbox ' . $active . ' um-field-half ' . $col_class . '">';
3138
 
3139
  $um_field_checkbox_item_title = $v;
3140
 
3141
  $v = $this->filter_field_non_utf8_value( $v );
3142
 
3143
- $output .= '<input ' . $disabled . ' type="checkbox" name="' . $key . '[]" value="' . strip_tags( $v ) . '" ';
3144
 
3145
- if ($this->is_selected( $key, $v, $data )) {
3146
  $output .= 'checked';
3147
  }
3148
 
3149
  $output .= ' />';
3150
 
3151
- if (!empty( $disabled ) && $this->is_selected( $key, $v, $data )) {
3152
  $output .= $this->disabled_hidden_field( $key . '[]', strip_tags( $v ) );
3153
  }
3154
 
3155
 
3156
- $output .= '<span class="um-field-checkbox-state"><i class="' . $class . '"></i></span>';
3157
  /**
3158
  * UM hook
3159
  *
@@ -3177,11 +3308,11 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3177
  * }
3178
  * ?>
3179
  */
3180
- $um_field_checkbox_item_title = apply_filters( "um_field_checkbox_item_title", $um_field_checkbox_item_title, $key, $v, $data );
3181
- $output .= '<span class="um-field-checkbox-option">' . __( $um_field_checkbox_item_title, 'ultimate-member' ) . '</span>';
3182
  $output .= '</label>';
3183
 
3184
- if ($i % 2 == 0) {
3185
  $output .= '<div class="um-clear"></div>';
3186
  }
3187
 
@@ -3192,7 +3323,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3192
  $output .= '</div>';
3193
 
3194
 
3195
- if ($this->is_error( $key )) {
3196
  $output .= $this->field_error( $this->show_error( $key ) );
3197
  }
3198
 
@@ -3201,7 +3332,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3201
 
3202
  /* HTML */
3203
  case 'block':
3204
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">
3205
  <div class="um-field-block">' . $content . '</div>
3206
  </div>';
3207
  break;
@@ -3211,7 +3342,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3211
 
3212
  $content = str_replace( '{profile_id}', um_profile_id(), $content );
3213
 
3214
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">
3215
  <div class="um-field-shortcode">' . do_shortcode( $content ) . '</div>
3216
  </div>';
3217
  break;
@@ -3220,13 +3351,13 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3220
  case 'group':
3221
 
3222
  $fields = $this->get_fields_in_group( $key );
3223
- if (!empty( $fields )) {
3224
 
3225
  $output .= '<div class="um-field-group" data-max_entries="' . $max_entries . '">
3226
- <div class="um-field-group-head"><i class="um-icon-plus"></i>' . __( $label, 'ultimate-member' ) . '</div>';
3227
  $output .= '<div class="um-field-group-body"><a href="#" class="um-field-group-cancel"><i class="um-icon-close"></i></a>';
3228
 
3229
- foreach ($fields as $subkey => $subdata) {
3230
  $output .= $this->edit_field( $subkey, $subdata, 'group' );
3231
  }
3232
 
@@ -3341,9 +3472,9 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3341
  * @return string
3342
  */
3343
  function get_fields_by_row( $row_id ) {
3344
- foreach ($this->get_fields as $key => $array) {
3345
- if (!isset( $array['in_row'] ) || ( isset( $array['in_row'] ) && $array['in_row'] == $row_id )) {
3346
- $results[$key] = $array;
3347
  }
3348
  }
3349
 
@@ -3360,10 +3491,12 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3360
  * @return mixed
3361
  */
3362
  function get_fields_in_subrow( $row_fields, $subrow_id ) {
3363
- if (!is_array( $row_fields )) return '';
3364
- foreach ($row_fields as $key => $array) {
3365
- if (!isset( $array['in_sub_row'] ) || ( isset( $array['in_sub_row'] ) && $array['in_sub_row'] == $subrow_id )) {
3366
- $results[$key] = $array;
 
 
3367
  }
3368
  }
3369
 
@@ -3379,9 +3512,9 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3379
  * @return mixed
3380
  */
3381
  function get_fields_in_group( $group_id ) {
3382
- foreach ($this->get_fields as $key => $array) {
3383
- if (isset( $array['in_group'] ) && $array['in_group'] == $group_id) {
3384
- $results[$key] = $array;
3385
  }
3386
  }
3387
 
@@ -3398,9 +3531,9 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3398
  * @return mixed
3399
  */
3400
  function get_fields_in_column( $fields, $col_number ) {
3401
- foreach ($fields as $key => $array) {
3402
- if (isset( $array['in_column'] ) && $array['in_column'] == $col_number) {
3403
- $results[$key] = $array;
3404
  }
3405
  }
3406
 
@@ -3411,10 +3544,11 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3411
  /**
3412
  * Display fields
3413
  *
3414
- * @param string $mode
3415
- * @param array $args
3416
  *
3417
- * @return string
 
3418
  */
3419
  function display( $mode, $args ) {
3420
  $output = null;
@@ -3431,61 +3565,62 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3431
  // start output here
3432
  $this->get_fields = $this->get_fields();
3433
 
3434
- if (!empty( $this->get_fields )) {
3435
 
3436
  // find rows
3437
- foreach ($this->get_fields as $key => $array) {
3438
- if ($array['type'] == 'row') {
3439
- $this->rows[$key] = $array;
3440
- unset( $this->get_fields[$key] ); // not needed anymore
3441
  }
3442
  }
3443
 
3444
  // rows fallback
3445
- if (!isset( $this->rows )) {
3446
- $this->rows = array( '_um_row_1' => array(
3447
- 'type' => 'row',
3448
- 'id' => '_um_row_1',
3449
- 'sub_rows' => 1,
3450
- 'cols' => 1
3451
- )
 
3452
  );
3453
  }
3454
 
3455
  // master rows
3456
- foreach ($this->rows as $row_id => $row_array) {
3457
 
3458
  $row_fields = $this->get_fields_by_row( $row_id );
3459
- if ($row_fields) {
3460
 
3461
  $output .= $this->new_row_output( $row_id, $row_array );
3462
 
3463
  $sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
3464
- for ($c = 0; $c < $sub_rows; $c++) {
3465
 
3466
  // cols
3467
  $cols = ( isset( $row_array['cols'] ) ) ? $row_array['cols'] : 1;
3468
- if (strstr( $cols, ':' )) {
3469
  $col_split = explode( ':', $cols );
3470
  } else {
3471
  $col_split = array( $cols );
3472
  }
3473
- $cols_num = $col_split[$c];
3474
 
3475
  // sub row fields
3476
  $subrow_fields = null;
3477
  $subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
3478
 
3479
- if (is_array( $subrow_fields )) {
3480
 
3481
  $subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position' );
3482
 
3483
- if ($cols_num == 1) {
3484
 
3485
  $output .= '<div class="um-col-1">';
3486
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
3487
- if ($col1_fields) {
3488
- foreach ($col1_fields as $key => $data) {
3489
  $output .= $this->edit_field( $key, $data );
3490
  }
3491
  }
@@ -3495,8 +3630,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3495
 
3496
  $output .= '<div class="um-col-121">';
3497
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
3498
- if ($col1_fields) {
3499
- foreach ($col1_fields as $key => $data) {
3500
  $output .= $this->edit_field( $key, $data );
3501
  }
3502
  }
@@ -3504,8 +3639,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3504
 
3505
  $output .= '<div class="um-col-122">';
3506
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
3507
- if ($col2_fields) {
3508
- foreach ($col2_fields as $key => $data) {
3509
  $output .= $this->edit_field( $key, $data );
3510
  }
3511
  }
@@ -3515,8 +3650,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3515
 
3516
  $output .= '<div class="um-col-131">';
3517
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
3518
- if ($col1_fields) {
3519
- foreach ($col1_fields as $key => $data) {
3520
  $output .= $this->edit_field( $key, $data );
3521
  }
3522
  }
@@ -3524,8 +3659,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3524
 
3525
  $output .= '<div class="um-col-132">';
3526
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
3527
- if ($col2_fields) {
3528
- foreach ($col2_fields as $key => $data) {
3529
  $output .= $this->edit_field( $key, $data );
3530
  }
3531
  }
@@ -3533,8 +3668,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3533
 
3534
  $output .= '<div class="um-col-133">';
3535
  $col3_fields = $this->get_fields_in_column( $subrow_fields, 3 );
3536
- if ($col3_fields) {
3537
- foreach ($col3_fields as $key => $data) {
3538
  $output .= $this->edit_field( $key, $data );
3539
  }
3540
  }
@@ -3561,11 +3696,12 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3561
  /**
3562
  * Gets a field in `view mode`
3563
  *
3564
- * @param string $key
3565
- * @param array $data
3566
- * @param boolean $rule
3567
  *
3568
- * @return string
 
3569
  */
3570
  function view_field( $key, $data, $rule = false ) {
3571
  $output = null;
@@ -3575,6 +3711,20 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3575
  $data = $this->get_field( $key );
3576
 
3577
  if ( is_array( $data ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3578
  extract( $data );
3579
  }
3580
  }
@@ -3594,7 +3744,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3594
  }
3595
 
3596
  //hide if empty
3597
- if ( ! in_array( $type, array( 'block', 'shortcode', 'spacing', 'divider', 'group' ) ) ) {
 
3598
  $_field_value = $this->field_value( $key, $default, $data );
3599
 
3600
  if ( ! isset( $_field_value ) || $_field_value == '' ) {
@@ -3620,18 +3771,20 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3620
  /* Default */
3621
  default:
3622
 
3623
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
3624
 
3625
- if (isset( $data['label'] ) || isset( $data['icon'] ) && !empty( $data['icon'] )) {
3626
 
3627
- if (!isset( $data['label'] )) $data['label'] = '';
 
 
3628
 
3629
  $output .= $this->field_label( $data['label'], $key, $data );
3630
  }
3631
 
3632
  $res = $this->field_value( $key, $default, $data );
3633
 
3634
- if (!empty( $res )) {
3635
  $res = stripslashes( $res );
3636
  }
3637
 
@@ -3658,7 +3811,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3658
  * }
3659
  * ?>
3660
  */
3661
- $res = apply_filters( "um_view_field", $res, $data, $type );
3662
  /**
3663
  * UM hook
3664
  *
@@ -3692,7 +3845,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3692
 
3693
  /* HTML */
3694
  case 'block':
3695
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">
3696
  <div class="um-field-block">' . $content . '</div>
3697
  </div>';
3698
  break;
@@ -3702,19 +3855,19 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3702
 
3703
  $content = str_replace( '{profile_id}', um_profile_id(), $content );
3704
 
3705
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">
3706
  <div class="um-field-shortcode">' . do_shortcode( $content ) . '</div>
3707
  </div>';
3708
  break;
3709
 
3710
  /* Gap/Space */
3711
  case 'spacing':
3712
- $output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: ' . $spacing . '"></div>';
3713
  break;
3714
 
3715
  /* A line divider */
3716
  case 'divider':
3717
- $output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: ' . $borderwidth . 'px ' . $borderstyle . ' ' . $bordercolor . '">';
3718
  if ($divider_text) {
3719
  $output .= '<div class="um-field-divider-text"><span>' . $divider_text . '</span></div>';
3720
  }
@@ -3724,7 +3877,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3724
  /* Rating */
3725
  case 'rating':
3726
 
3727
- $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
3728
 
3729
  if (isset( $data['label'] ) || isset( $data['icon'] ) && !empty( $data['icon'] )) {
3730
  $output .= $this->field_label( $label, $key, $data );
@@ -3732,7 +3885,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3732
 
3733
  $output .= '<div class="um-field-area">';
3734
  $output .= '<div class="um-field-value">
3735
- <div class="um-rating-readonly um-raty" id="' . $key . '" data-key="' . $key . '" data-number="' . $data['number'] . '" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>
3736
  </div>';
3737
  $output .= '</div>';
3738
 
@@ -3829,10 +3982,11 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3829
  /**
3830
  * Display fields ( view mode )
3831
  *
3832
- * @param string $mode
3833
- * @param array $args
3834
  *
3835
- * @return string
 
3836
  */
3837
  function display_view( $mode, $args ) {
3838
  $output = null;
@@ -3865,57 +4019,58 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
3865
  }
3866
  }
3867
 
3868
- if (!empty( $this->get_fields )) {
3869
 
3870
  // find rows
3871
- foreach ($this->get_fields as $key => $array) {
3872
- if ($array['type'] == 'row') {
3873
- $this->rows[$key] = $array;
3874
- unset( $this->get_fields[$key] ); // not needed anymore
3875
  }
3876
  }
3877
 
3878
  // rows fallback
3879
- if (!isset( $this->rows )) {
3880
- $this->rows = array( '_um_row_1' => array(
3881
- 'type' => 'row',
3882
- 'id' => '_um_row_1',
3883
- 'sub_rows' => 1,
3884
- 'cols' => 1
3885
- )
 
3886
  );
3887
  }
3888
 
3889
  // master rows
3890
- foreach ($this->rows as $row_id => $row_array) {
3891
 
3892
  $row_fields = $this->get_fields_by_row( $row_id );
3893
 
3894
- if ($row_fields) {
3895
 
3896
  $output .= $this->new_row_output( $row_id, $row_array );
3897
 
3898
  $sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
3899
- for ($c = 0; $c < $sub_rows; $c++) {
3900
 
3901
  // cols
3902
  $cols = ( isset( $row_array['cols'] ) ) ? $row_array['cols'] : 1;
3903
- if (strstr( $cols, ':' )) {
3904
  $col_split = explode( ':', $cols );
3905
  } else {
3906
  $col_split = array( $cols );
3907
  }
3908
- $cols_num = $col_split[$c];
3909
 
3910
  // sub row fields
3911
  $subrow_fields = null;
3912
  $subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
3913
 
3914
- if (is_array( $subrow_fields )) {
3915
 
3916
  $subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position' );
3917
 
3918
- if ($cols_num == 1) {
3919
 
3920
  $output .= '<div class="um-col-1">';
3921
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
@@ -4017,7 +4172,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
4017
  * @param string $row_id
4018
  * @param array $row_array
4019
  *
4020
- * @return array
4021
  */
4022
  function new_row_output( $row_id, $row_array ) {
4023
  $output = null;
@@ -4128,13 +4283,22 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
4128
  wp_send_json_error( __( 'Please login as administrator', 'ultimate-member' ) );
4129
  }
4130
 
 
 
 
 
 
 
 
 
 
4131
  extract( $_POST );
4132
 
4133
  $output = null;
4134
 
4135
  $position = array();
4136
  if ( ! empty( $in_column ) ) {
4137
- $position['in_row'] = '_um_row_' . ( (int)$in_row + 1 );
4138
  $position['in_sub_row'] = $in_sub_row;
4139
  $position['in_column'] = $in_column;
4140
  $position['in_group'] = $in_group;
@@ -4164,7 +4328,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
4164
 
4165
  }
4166
 
4167
- if (is_array( $output )) {
4168
  print_r( $output );
4169
  } else {
4170
  echo $output;
1
  <?php
 
2
  namespace um\core;
3
 
4
+
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
+
8
  if ( ! class_exists( 'um\core\Fields' ) ) {
9
 
10
 
44
  <div class="um-field um-field-c">
45
  <div class="um-field-area">
46
  <label class="um-field-checkbox <?php echo ( $checked ) ? 'active' : '' ?>">
47
+ <input type="checkbox" name="<?php echo esc_attr( $id ); ?>" value="1" <?php checked( $checked ) ?> />
48
+ <span class="um-field-checkbox-state"><i class="<?php echo esc_attr( $class ) ?>"></i></span>
49
+ <span class="um-field-checkbox-option"> <?php echo esc_html( $title ); ?></span>
50
  </label>
51
  </div>
52
  </div>
71
  foreach ( $social as $k => $arr ) {
72
  if ( um_profile( $k ) ) { ?>
73
 
74
+ <a href="<?php echo esc_url( um_filtered_social_link( $k, $arr['match'] ) ); ?>"
75
+ style="background: <?php echo esc_attr( $arr['color'] ); ?>;" target="_blank" class="um-tip-n"
76
+ title="<?php echo esc_attr( $arr['title'] ); ?>"><i class="<?php echo esc_attr( $arr['icon'] ); ?>"></i></a>
77
 
78
  <?php
79
  }
93
 
94
  $output = null;
95
 
96
+ foreach ( $fields as $key => $data ) {
97
  $output .= UM()->fields()->edit_field( $key, $data );
98
  }
99
 
112
  * @return string
113
  */
114
  function disabled_hidden_field( $key, $value ) {
115
+ return '<input type="hidden" name="' . esc_attr( $key ) . '" value="' . esc_attr( $value ) . '"/>';
116
  }
117
 
118
 
125
  function globally_update_field( $id, $args ) {
126
  $fields = UM()->builtin()->saved_fields;
127
 
128
+ $fields[ $id ] = $args;
129
 
130
+ unset( $fields[ $id ]['in_row'] );
131
+ unset( $fields[ $id ]['in_sub_row'] );
132
+ unset( $fields[ $id ]['in_column'] );
133
+ unset( $fields[ $id ]['in_group'] );
134
+ unset( $fields[ $id ]['position'] );
135
 
136
  update_option( 'um_fields', $fields );
137
  }
147
  function update_field( $id, $args, $form_id ) {
148
  $fields = UM()->query()->get_attr( 'custom_fields', $form_id );
149
 
150
+ if ( $args['type'] == 'row' ) {
151
+ if ( isset( $fields[ $id ] ) ) {
152
+ $old_args = $fields[ $id ];
153
+ foreach ( $old_args as $k => $v ) {
154
+ if ( ! in_array( $k, array( 'sub_rows', 'cols' ) ) ) {
155
+ unset( $old_args[ $k ] );
156
  }
157
  }
158
  $args = array_merge( $old_args, $args );
160
  }
161
 
162
  // custom fields support
163
+ if ( isset( UM()->builtin()->predefined_fields[ $id ] ) && isset( UM()->builtin()->predefined_fields[ $id ]['custom'] ) ) {
164
+ $args = array_merge( UM()->builtin()->predefined_fields[ $id ], $args );
165
  }
166
 
167
+ $fields[ $id ] = $args;
168
 
169
  // for group field only
170
+ if ( $args['type'] == 'group' ) {
171
+ $fields[ $id ]['in_group'] = '';
172
  }
173
 
174
  UM()->query()->update_attr( 'custom_fields', $form_id, $fields );
229
  */
230
  function delete_field_from_db( $id ) {
231
  $fields = UM()->builtin()->saved_fields;
232
+ if ( isset( $fields[ $id ] ) ) {
233
+ unset( $fields[ $id ] );
234
  update_option( 'um_fields', $fields );
235
  }
236
  }
247
  $fields = UM()->query()->get_attr( 'custom_fields', $form_id );
248
  $field_scope = UM()->builtin()->saved_fields;
249
 
250
+ if ( ! isset( $fields[ $global_id ] ) ) {
251
 
252
  $count = 1;
253
+ if ( ! empty( $fields ) ) {
254
+ $count = count( $fields ) + 1;
255
+ }
256
 
257
+ $fields[ $global_id ] = $field_scope[ $global_id ];
258
+ $fields[ $global_id ]['position'] = $count;
259
 
260
  // set position
261
+ if ( $position ) {
262
+ foreach ( $position as $key => $val) {
263
+ $fields[ $global_id ][ $key ] = $val;
264
  }
265
  }
266
 
282
  $fields = UM()->query()->get_attr( 'custom_fields', $form_id );
283
  $field_scope = UM()->builtin()->predefined_fields;
284
 
285
+ if ( ! isset( $fields[ $global_id ] ) ) {
286
 
287
  $count = 1;
288
+ if ( ! empty( $fields ) ) {
289
+ $count = count( $fields ) + 1;
290
+ }
291
 
292
+ $fields[ $global_id ] = $field_scope[ $global_id ];
293
+ $fields[ $global_id ]['position'] = $count;
294
 
295
  // set position
296
+ if ( $position ) {
297
+ foreach ( $position as $key => $val ) {
298
+ $fields[ $global_id ][ $key ] = $val;
299
  }
300
  }
301
 
302
  // add field to form
303
  UM()->query()->update_attr( 'custom_fields', $form_id, $fields );
 
 
 
 
304
  }
305
  }
306
 
317
 
318
  $inc = count( $fields ) + 1;
319
 
320
+ $duplicate = $fields[ $id ];
321
 
322
  $new_metakey = $id . "_" . $inc;
323
+ $new_title = $fields[ $id ]['title'] . " #" . $inc;
324
  $new_position = $inc;
325
 
326
  $duplicate['title'] = $new_title;
327
  $duplicate['metakey'] = $new_metakey;
328
  $duplicate['position'] = $new_position;
329
 
330
+ $fields[ $new_metakey ] = $duplicate;
331
+ $all_fields[ $new_metakey ] = $duplicate;
332
 
333
  // not global attributes
334
+ unset( $all_fields[ $new_metakey ]['in_row'] );
335
+ unset( $all_fields[ $new_metakey ]['in_sub_row'] );
336
+ unset( $all_fields[ $new_metakey ]['in_column'] );
337
+ unset( $all_fields[ $new_metakey ]['in_group'] );
338
+ unset( $all_fields[ $new_metakey ]['position'] );
339
 
340
  UM()->query()->update_attr( 'custom_fields', $form_id, $fields );
341
  update_option( 'um_fields', $all_fields );
 
342
  }
343
 
344
 
351
  * @return string
352
  */
353
  function field_error( $text, $force_show = false ) {
354
+ if ( $force_show ) {
355
  $output = '<div class="um-field-error"><span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span>' . $text . '</div>';
 
356
  return $output;
357
  }
358
+
359
+
360
+ if ( isset( $this->set_id ) && UM()->form()->processing == $this->set_id ) {
361
  $output = '<div class="um-field-error"><span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span>' . $text . '</div>';
362
  } else {
363
  $output = '';
364
  }
365
 
366
+ if ( ! UM()->form()->processing ) {
367
  $output = '<div class="um-field-error"><span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span>' . $text . '</div>';
368
  }
369
 
391
  * @return string
392
  */
393
  function show_error( $key ) {
394
+ return UM()->form()->errors[ $key ];
395
  }
396
 
397
 
408
  $output = null;
409
  $output .= '<div class="um-field-label">';
410
 
411
+ if ( isset( $data['icon'] ) && $data['icon'] != '' && isset( $this->field_icons ) && $this->field_icons != 'off' && ( $this->field_icons == 'label' || $this->viewing == true ) ) {
412
+ $output .= '<div class="um-field-label-icon"><i class="' . esc_attr( $data['icon'] ) . '"></i></div>';
413
  }
414
 
415
  if ( $this->viewing == true ) {
480
  $label = apply_filters( 'um_edit_label_all_fields', $label, $data );
481
  }
482
 
483
+ $output .= '<label for="' . esc_attr( $key . UM()->form()->form_suffix ) . '">' . __( $label, 'ultimate-member' ) . '</label>';
484
 
485
+ if ( ! empty( $data['help'] ) && $this->viewing == false && ! strstr( $key, 'confirm_user_pass' ) ) {
486
 
487
+ if ( ! UM()->mobile()->isMobile() ) {
488
+ if ( ! isset( $this->disable_tooltips ) ) {
489
+ $output .= '<span class="um-tip um-tip-' . ( is_rtl() ? 'e' : 'w' ) . '" title="' . esc_attr__( $data['help'], 'ultimate-member' ) . '"><i class="um-icon-help-circled"></i></span>';
490
  }
491
  }
492
 
493
+ if ( UM()->mobile()->isMobile() || isset( $this->disable_tooltips ) ) {
494
  $output .= '<span class="um-tip-text">' . __( $data['help'], 'ultimate-member' ) . '</span>';
495
  }
496
 
516
 
517
  $classes .= 'um-form-field ';
518
 
519
+ if ( $this->is_error( $key ) ) {
520
  $classes .= 'um-error ';
521
  } else {
522
  $classes .= 'valid ';
523
  }
524
 
525
+ if ( ! isset( $data['required'] ) ) {
526
  $classes .= 'not-required ';
527
  }
528
 
529
+ if ( $data['type'] == 'date' ) {
530
  $classes .= 'um-datepicker ';
531
  }
532
 
533
+ if ( $data['type'] == 'time' ) {
534
  $classes .= 'um-timepicker ';
535
  }
536
 
537
+ if ( ! empty( $data['icon'] ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
538
  $classes .= 'um-iconed ';
539
  }
540
 
541
+ if ( $add ) {
542
  $classes .= $add . ' ';
543
  }
544
 
589
  // preview in backend
590
  if ( isset( UM()->user()->preview ) && UM()->user()->preview ) {
591
  $submitted = um_user( 'submitted' );
592
+ if ( ! empty( $submitted[ $key ] ) ) {
593
  return $submitted[ $key ];
594
  } else {
595
+ return __( 'Undefined', 'ultimate-member' );
596
  }
597
  }
598
 
713
  * }
714
  * ?>
715
  */
716
+ $default = apply_filters( 'um_field_default_value', $default, $data, $type );
717
  /**
718
  * UM hook
719
  *
868
  $field_value = 0;
869
  }
870
 
871
+ if( $field_value == 0 && $value == '0' ){
872
+ $value = (int)$value;
873
+ }
874
+
875
  if ( $key == 'role' ) {
876
 
877
  $role_keys = get_option( 'um_roles' );
988
  * @return boolean
989
  */
990
  function is_radio_checked( $key, $value, $data ) {
991
+ if ( isset( UM()->form()->post_form[ $key ] ) ) {
992
+ if ( is_array( UM()->form()->post_form[ $key ] ) && in_array( $value, UM()->form()->post_form[ $key ] ) ) {
993
  return true;
994
+ } elseif ( $value == UM()->form()->post_form[ $key ] ) {
995
  return true;
996
  }
997
  } else {
998
+ if ( um_user( $key ) && $this->editing == true ) {
999
 
1000
+ if ( strstr( $key, 'role_' ) ) {
1001
  $key = 'role';
1002
  }
1003
 
1013
  $um_user_value = 'um_' . $um_user_value;
1014
  }
1015
  }
 
 
 
 
 
 
1016
  }
1017
 
1018
  if ( $um_user_value == $value ) {
1019
  return true;
1020
  }
1021
 
1022
+ if ( is_array( $um_user_value ) && in_array( $value, $um_user_value ) ) {
1023
  return true;
1024
  }
1025
 
1026
+ if ( is_array( $um_user_value ) ) {
1027
+ foreach ( $um_user_value as $u ) {
1028
+ if ( $u == html_entity_decode( $value ) ) {
1029
  return true;
1030
  }
1031
  }
1032
  }
1033
 
1034
 
1035
+ } elseif ( isset( $data['default'] ) && $data['default'] == $value ) {
1036
  return true;
1037
  }
1038
  }
1050
  */
1051
  function get_field_icon( $key ) {
1052
  $fields = UM()->builtin()->all_user_fields;
1053
+ if ( isset( $fields[ $key ]['icon'] ) ) {
1054
+ return $fields[ $key ]['icon'];
1055
+ }
1056
 
1057
  return '';
1058
  }
1069
  */
1070
  function get_option_value_from_callback( $value, $data, $type ) {
1071
 
 
1072
  if ( in_array( $type, array( 'select', 'multiselect' ) ) && ! empty( $data['custom_dropdown_options_source'] ) ) {
1073
 
1074
  $has_custom_source = apply_filters( "um_has_dropdown_options_source__{$data['metakey']}", false );
1132
  */
1133
  function get_options_from_callback( $data, $type ) {
1134
 
1135
+ if ( in_array( $type, array( 'select', 'multiselect' ) ) && ! empty( $data['custom_dropdown_options_source'] ) ) {
1136
 
1137
  if ( function_exists( $data['custom_dropdown_options_source'] ) ) {
1138
  $arr_options = call_user_func( $data['custom_dropdown_options_source'], $data['parent_dropdown_relationship'] );
1153
  */
1154
  function get_field_type( $key ) {
1155
  $fields = UM()->builtin()->all_user_fields;
1156
+ if ( isset( $fields[ $key ]['type'] ) ) {
1157
+ return $fields[ $key ]['type'];
1158
+ }
1159
 
1160
  return '';
1161
  }
1217
  */
1218
  function get_field_title( $key ) {
1219
  $fields = UM()->builtin()->all_user_fields;
1220
+ if ( isset( $fields[ $key ]['title'] ) ) {
1221
+ return $fields[ $key ]['title'];
1222
+ }
1223
+ if ( isset( $fields[ $key ]['label'] ) ) {
1224
+ return $fields[ $key ]['label'];
1225
+ }
1226
 
1227
  return __( 'Custom Field', 'ultimate-member' );
1228
  }
1262
  /**
1263
  * Get specific field
1264
  *
1265
+ * @param $key
1266
  *
1267
+ * @return mixed
1268
+ * @throws \Exception
1269
  */
1270
  function get_field( $key ) {
1271
  $fields = $this->get_fields();
1272
 
1273
+ if ( isset( $fields ) && is_array( $fields ) && isset( $fields[ $key ] ) ) {
1274
+ $array = $fields[ $key ];
1275
  } else {
1276
+ if ( ! isset( UM()->builtin()->predefined_fields[ $key ] ) && ! isset( UM()->builtin()->all_user_fields[ $key ] ) ) {
1277
  return '';
1278
  }
1279
+ $array = ( isset( UM()->builtin()->predefined_fields[ $key ] ) ) ? UM()->builtin()->predefined_fields[ $key ] : UM()->builtin()->all_user_fields[ $key ];
1280
  }
1281
 
1282
  $array['classes'] = null;
1283
 
1284
+ if ( ! isset( $array['placeholder'] ) ) {
1285
+ $array['placeholder'] = null;
1286
+ }
1287
+ if ( ! isset( $array['required'] ) ) {
1288
+ $array['required'] = null;
1289
+ }
1290
+ if ( ! isset( $array['validate'] ) ) {
1291
+ $array['validate'] = null;
1292
+ }
1293
+ if ( ! isset( $array['default'] ) ) {
1294
+ $array['default'] = null;
1295
+ }
1296
 
1297
+ if ( isset( $array['conditions'] ) && is_array( $array['conditions'] ) && ! $this->viewing ) {
1298
  $array['conditional'] = '';
1299
 
1300
+ foreach ( $array['conditions'] as $cond_id => $cond ) {
1301
+ $array['conditional'] .= ' data-cond-' . $cond_id . '-action="' . esc_attr( $cond[0] ) . '" data-cond-' . $cond_id . '-field="' . esc_attr( $cond[1] ) . '" data-cond-' . $cond_id . '-operator="' . esc_attr( $cond[2] ) . '" data-cond-' . $cond_id . '-value="' . esc_attr( $cond[3] ) . '"';
1302
  }
1303
 
1304
  $array['classes'] .= ' um-is-conditional';
1307
  $array['conditional'] = null;
1308
  }
1309
 
1310
+ $array['classes'] .= ' um-field-' . esc_attr( $key );
1311
+ $array['classes'] .= ' um-field-' . esc_attr( $array['type'] );
1312
+ $array['classes'] .= ' um-field-type_' . esc_attr( $array['type'] );
1313
 
1314
+ switch ( $array['type'] ) {
1315
 
1316
  case 'googlemap':
1317
  case 'youtube_video':
1325
 
1326
  $array['disabled'] = '';
1327
 
1328
+ if ( $key == 'user_login' && isset( $this->set_mode ) && $this->set_mode == 'account' ) {
1329
  $array['disabled'] = 'disabled="disabled"';
1330
  }
1331
 
1355
 
1356
  $array['input'] = 'text';
1357
 
1358
+ if ( ! isset( $array['format'] ) ) {
1359
+ $array['format'] = 'j M Y';
1360
+ }
1361
 
1362
+ switch ( $array['format'] ) {
1363
  case 'j M Y':
1364
  $js_format = 'd mmm yyyy';
1365
  break;
1376
 
1377
  $array['js_format'] = $js_format;
1378
 
1379
+ if ( ! isset( $array['range'] ) ) {
1380
+ $array['range'] = 'years';
1381
+ }
1382
+ if ( ! isset( $array['years'] ) ) {
1383
+ $array['years'] = 100;
1384
+ }
1385
+ if ( ! isset( $array['years_x'] ) ) {
1386
+ $array['years_x'] = 'past';
1387
+ }
1388
+ if ( ! isset( $array['disabled_weekdays'] ) ) {
1389
+ $array['disabled_weekdays'] = '';
1390
+ }
1391
 
1392
+ if ( ! empty( $array['disabled_weekdays'] ) ) {
1393
  $array['disabled_weekdays'] = '[' . implode( ',', $array['disabled_weekdays'] ) . ']';
1394
  }
1395
 
1396
  // When date range is strictly defined
1397
+ if ( $array['range'] == 'date_range' ) {
1398
 
1399
  $array['date_min'] = str_replace( '/', ',', $array['range_start'] );
1400
  $array['date_max'] = str_replace( '/', ',', $array['range_end'] );
1401
 
1402
  } else {
1403
 
1404
+ if ( $array['years_x'] == 'past' ) {
1405
 
1406
  $date = new \DateTime( date( 'Y-n-d' ) );
1407
  $past = $date->modify( '-' . $array['years'] . ' years' );
1410
  $array['date_min'] = $past;
1411
  $array['date_max'] = date( 'Y,n,d' );
1412
 
1413
+ } elseif ( $array['years_x'] == 'future' ) {
1414
 
1415
  $date = new \DateTime( date( 'Y-n-d' ) );
1416
  $future = $date->modify( '+' . $array['years'] . ' years' );
1441
 
1442
  $array['input'] = 'text';
1443
 
1444
+ if ( ! isset( $array['format'] ) ) {
1445
+ $array['format'] = 'g:i a';
1446
+ }
1447
 
1448
+ switch ( $array['format'] ) {
1449
  case 'g:i a':
1450
  $js_format = 'h:i a';
1451
  break;
1459
 
1460
  $array['js_format'] = $js_format;
1461
 
1462
+ if ( ! isset( $array['intervals'] ) ) {
1463
+ $array['intervals'] = 60;
1464
+ }
1465
 
1466
  break;
1467
 
1468
  case 'textarea':
1469
 
1470
+ if ( ! isset( $array['height'] ) ) {
1471
+ $array['height'] = '100px';
1472
+ }
1473
 
1474
  break;
1475
 
1476
  case 'rating':
1477
 
1478
+ if ( ! isset( $array['number'] ) ) {
1479
+ $array['number'] = 5;
1480
+ }
1481
 
1482
  break;
1483
 
1484
  case 'spacing':
1485
 
1486
+ if ( ! isset( $array['spacing'] ) ) {
1487
  $array['spacing'] = '20px';
1488
  }
1489
 
1491
 
1492
  case 'divider':
1493
 
1494
+ if ( isset( $array['width'] ) ) {
1495
  $array['borderwidth'] = $array['width'];
1496
  } else {
1497
  $array['borderwidth'] = 4;
1498
  }
1499
 
1500
+ if ( isset( $array['color'] ) ) {
1501
  $array['bordercolor'] = $array['color'];
1502
  } else {
1503
  $array['bordercolor'] = '#eee';
1504
  }
1505
 
1506
+ if ( isset( $array['style'] ) ) {
1507
  $array['borderstyle'] = $array['style'];
1508
  } else {
1509
  $array['borderstyle'] = 'solid';
1510
  }
1511
 
1512
+ if ( ! isset( $array['divider_text'] ) ) {
1513
  $array['divider_text'] = '';
1514
  }
1515
 
1517
 
1518
  case 'image':
1519
 
1520
+ if ( ! isset( $array['crop'] ) ) {
1521
+ $array['crop'] = 0;
1522
+ }
1523
 
1524
+ if ( $array['crop'] == 0 ) {
1525
  $array['crop_data'] = 0;
1526
+ } elseif ( $array['crop'] == 1 ) {
1527
  $array['crop_data'] = 'square';
1528
+ } elseif ( $array['crop'] == 2 ) {
1529
  $array['crop_data'] = 'cover';
1530
  } else {
1531
  $array['crop_data'] = 'user';
1532
  }
1533
 
1534
+ if ( ! isset( $array['modal_size'] ) ) {
1535
+ $array['modal_size'] = 'normal';
1536
+ }
1537
 
1538
+ if ( $array['crop'] > 0 ) {
1539
  $array['crop_class'] = 'crop';
1540
  } else {
1541
  $array['crop_class'] = '';
1542
  }
1543
 
1544
+ if ( ! isset( $array['ratio'] ) ) {
1545
+ $array['ratio'] = 1.0;
1546
+ }
1547
 
1548
+ if ( ! isset( $array['min_width'] ) ) {
1549
+ $array['min_width'] = '';
1550
+ }
1551
+ if ( ! isset( $array['min_height'] ) ) {
1552
+ $array['min_height'] = '';
1553
+ }
1554
 
1555
+ if ( $array['min_width'] == '' && $array['crop'] == 1 ) {
1556
+ $array['min_width'] = 600;
1557
+ }
1558
+ if ( $array['min_height'] == '' && $array['crop'] == 1 ) {
1559
+ $array['min_height'] = 600;
1560
+ }
1561
 
1562
+ if ( $array['min_width'] == '' && $array['crop'] == 3 ) {
1563
+ $array['min_width'] = 600;
1564
+ }
1565
+ if ( $array['min_height'] == '' && $array['crop'] == 3 ) {
1566
+ $array['min_height'] = 600;
1567
+ }
1568
 
1569
+ if ( ! isset( $array['invalid_image'] ) ) {
1570
+ $array['invalid_image'] = __( 'Please upload a valid image!', 'ultimate-member' );
1571
+ }
1572
+ if ( ! isset( $array['allowed_types'] ) ) {
1573
+ $array['allowed_types'] = 'gif,jpg,jpeg,png';
1574
  } else {
1575
  $array['allowed_types'] = implode( ',', $array['allowed_types'] );
1576
  }
1577
+ if ( ! isset( $array['upload_text'] ) ) {
1578
+ $array['upload_text'] = '';
1579
+ }
1580
+ if ( ! isset( $array['button_text'] ) ) {
1581
+ $array['button_text'] = __( 'Upload', 'ultimate-member' );
1582
+ }
1583
+ if ( ! isset( $array['extension_error'] ) ) {
1584
+ $array['extension_error'] = __( 'Sorry this is not a valid image.', 'ultimate-member' );
1585
+ }
1586
+ if ( ! isset( $array['max_size_error'] ) ) {
1587
+ $array['max_size_error'] = __( 'This image is too large!', 'ultimate-member' );
1588
+ }
1589
+ if ( ! isset( $array['min_size_error'] ) ) {
1590
+ $array['min_size_error'] = __( 'This image is too small!', 'ultimate-member' );
1591
+ }
1592
+ if ( ! isset( $array['max_files_error'] ) ) {
1593
+ $array['max_files_error'] = __( 'You can only upload one image', 'ultimate-member' );
1594
+ }
1595
+ if ( ! isset( $array['max_size'] ) ) {
1596
+ $array['max_size'] = 999999999;
1597
+ }
1598
+ if ( ! isset( $array['upload_help_text'] ) ) {
1599
+ $array['upload_help_text'] = '';
1600
+ }
1601
+ if ( ! isset( $array['icon'] ) ) {
1602
+ $array['icon'] = '';
1603
+ }
1604
 
1605
  break;
1606
 
1607
  case 'file':
1608
 
1609
+ if ( ! isset( $array['modal_size'] ) ) {
1610
+ $array['modal_size'] = 'normal';
1611
+ }
1612
 
1613
+ if ( ! isset( $array['allowed_types'] ) ) {
1614
+ $array['allowed_types'] = 'pdf,txt';
1615
  } else {
1616
  $array['allowed_types'] = implode( ',', $array['allowed_types'] );
1617
  }
1618
+ if ( ! isset( $array['upload_text'] ) ) {
1619
+ $array['upload_text'] = '';
1620
+ }
1621
+ if ( ! isset( $array['button_text'] ) ) {
1622
+ $array['button_text'] = __( 'Upload', 'ultimate-member' );
1623
+ }
1624
+ if ( ! isset( $array['extension_error'] ) ) {
1625
+ $array['extension_error'] = __( 'Sorry this is not a valid file.', 'ultimate-member' );
1626
+ }
1627
+ if ( ! isset( $array['max_size_error'] ) ) {
1628
+ $array['max_size_error'] = __( 'This file is too large!', 'ultimate-member' );
1629
+ }
1630
+ if ( ! isset( $array['min_size_error'] ) ) {
1631
+ $array['min_size_error'] = __( 'This file is too small!', 'ultimate-member' );
1632
+ }
1633
+ if ( ! isset( $array['max_files_error'] ) ) {
1634
+ $array['max_files_error'] = __( 'You can only upload one file', 'ultimate-member' );
1635
+ }
1636
+ if ( ! isset( $array['max_size'] ) ) {
1637
+ $array['max_size'] = 999999999;
1638
+ }
1639
+ if ( ! isset( $array['upload_help_text'] ) ) {
1640
+ $array['upload_help_text'] = '';
1641
+ }
1642
+ if ( ! isset( $array['icon'] ) ) {
1643
+ $array['icon'] = '';
1644
+ }
1645
 
1646
  break;
1647
 
1655
 
1656
  case 'group':
1657
 
1658
+ if ( ! isset( $array['max_entries'] ) ) {
1659
+ $array['max_entries'] = 0;
1660
+ }
1661
 
1662
  break;
1663
 
1664
  }
1665
 
1666
+ if ( ! isset( $array['visibility'] ) ) {
1667
+ $array['visibility'] = 'all';
1668
+ }
1669
 
1670
  /**
1671
  * UM hook
1726
  /**
1727
  * Gets a field in 'input mode'
1728
  *
1729
+ * @param string $key
1730
+ * @param array $data
1731
+ * @param bool $rule
1732
+ * @param array $args
1733
  *
1734
+ * @return string|null
1735
+ * @throws \Exception
1736
  */
1737
  function edit_field( $key, $data, $rule = false, $args = array() ) {
1738
  global $_um_profile_id;
1739
  $output = null;
1740
  $disabled = '';
1741
+ if ( empty( $_um_profile_id ) ) {
1742
  $_um_profile_id = um_user( 'ID' );
1743
  }
1744
 
1745
 
1746
  // get whole field data
1747
+ if ( isset( $data ) && is_array( $data ) ) {
1748
  $data = $this->get_field( $key );
1749
+ if ( is_array( $data ) ) {
1750
  /**
1751
  * @var string $in_row
1752
  * @var boolean $in_sub_row
1769
  * @var string $validate
1770
  * @var string $default
1771
  * @var string $conditional
1772
+ * @var string $input
1773
+ * @var string $js_format
1774
+ * @var string $date_max
1775
+ * @var string $date_min
1776
+ * @var string $disabled_weekdays
1777
+ * @var string $years_x
1778
+ * @var string $years
1779
+ * @var string $range
1780
+ * @var string $intervals
1781
+ * @var string $height
1782
+ * @var string $spacing
1783
+ * @var string $borderwidth
1784
+ * @var string $borderstyle
1785
+ * @var string $bordercolor
1786
+ * @var string $divider_text
1787
+ * @var string $crop_class
1788
+ * @var string $crop_data
1789
+ * @var string $modal_size
1790
+ * @var string $ratio
1791
+ * @var string $min_width
1792
+ * @var string $min_height
1793
+ * @var string $button_text
1794
+ * @var string $max_size
1795
+ * @var string $max_size_error
1796
+ * @var string $extension_error
1797
+ * @var string $allowed_types
1798
+ * @var string $upload_text
1799
+ * @var string $max_files_error
1800
+ * @var string $upload_help_text
1801
+ * @var string $min_size_error
1802
+ * @var string $filter
1803
+ * @var string $content
1804
+ * @var string $max_entries
1805
  */
1806
  extract( $data );
1807
  }
1808
  }
1809
 
1810
+ if ( ! isset( $data['type'] ) ) {
1811
+ return;
1812
+ }
1813
 
1814
+ if ( isset( $data['in_group'] ) && $data['in_group'] != '' && $rule != 'group' ) {
1815
+ return;
1816
+ }
1817
 
1818
+ if ( $visibility == 'view' && $this->set_mode != 'register' ) {
1819
+ return;
1820
+ }
1821
 
1822
  if ( ( $visibility == 'view' && $this->set_mode == 'register' ) ||
1823
  ( isset( $data['editable'] ) && $data['editable'] == 0 && $this->set_mode == 'profile' )
1837
  }
1838
  }
1839
 
1840
+ $disabled = apply_filters( 'um_is_field_disabled', $disabled, $data );
1841
+
1842
  if ( ! isset( $data['autocomplete'] ) ) {
1843
  $autocomplete = 'off';
1844
  }
1861
  }
1862
 
1863
  // forbidden in edit mode?
1864
+ if ( isset( $data['edit_forbidden'] ) ) {
1865
+ return;
1866
+ }
1867
 
1868
 
1869
  // required option
1870
+ if ( isset( $data['required_opt'] ) ) {
1871
  $opt = $data['required_opt'];
1872
+ if ( UM()->options()->get( $opt[0] ) != $opt[1] ) {
1873
  return;
1874
  }
1875
  }
1876
 
1877
  // required user permission
1878
+ if ( isset( $data['required_perm'] ) ) {
1879
+ if ( ! um_user( $data['required_perm'] ) ) {
1880
  return;
1881
  }
1882
  }
1883
 
1884
  // do not show passwords
1885
+ if ( isset( UM()->user()->preview ) && UM()->user()->preview ) {
1886
+ if ( $data['type'] == 'password' ) {
1887
  return;
1888
  }
1889
  }
1989
 
1990
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . $key . '">';
1991
 
1992
+ if ( isset( $data['label'] ) ) {
1993
  $output .= $this->field_label( $label, $key, $data );
1994
  }
1995
 
1996
  $output .= '<div class="um-field-area">';
1997
 
1998
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
1999
 
2000
  $output .= '<div class="um-field-icon"><i class="' . $icon . '"></i></div>';
2001
 
2004
  $field_name = $key . UM()->form()->form_suffix;
2005
  $field_value = htmlspecialchars( $this->field_value( $key, $default, $data ) );
2006
 
2007
+ $output .= '<input ' . $disabled . ' class="' . $this->get_class( $key, $data ) . '" type="' . esc_attr( $input ) . '" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '" value="' . esc_attr( $field_value ) . '" placeholder="' . esc_attr( $placeholder ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" />
2008
 
2009
  </div>';
2010
 
2011
+ if ( ! empty( $disabled ) ) {
2012
  $output .= $this->disabled_hidden_field( $field_name, $field_value );
2013
  }
2014
 
2015
+ if ( $this->is_error( $key ) ) {
2016
  $output .= $this->field_error( $this->show_error( $key ) );
2017
  }
2018
 
2022
  /* Text */
2023
  case 'text':
2024
 
2025
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2026
 
2027
+ if ( isset( $data['label'] ) ) {
2028
  $output .= $this->field_label( $label, $key, $data );
2029
  }
2030
 
2031
  $output .= '<div class="um-field-area">';
2032
 
2033
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
2034
 
2035
+ $output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
2036
 
2037
  }
2038
 
2039
  $field_name = $key . UM()->form()->form_suffix;
2040
  $field_value = htmlspecialchars( $this->field_value( $key, $default, $data ) );
2041
 
2042
+ $output .= '<input ' . $disabled . ' autocomplete="' . esc_attr( $autocomplete ) . '" class="' . $this->get_class( $key, $data ) . '" type="' . esc_attr( $input ) . '" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '" value="' . esc_attr( $field_value ) . '" placeholder="' . esc_attr( $placeholder ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" />
2043
 
2044
  </div>';
2045
 
2046
+ if ( ! empty( $disabled ) ) {
2047
  $output .= $this->disabled_hidden_field( $field_name, $field_value );
2048
  }
2049
 
2050
+ if ( $this->is_error( $key ) ) {
2051
  $output .= $this->field_error( $this->show_error( $key ) );
2052
  }
2053
 
2057
  /* Number */
2058
  case 'number':
2059
 
2060
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2061
 
2062
+ if ( isset( $data['label'] ) ) {
2063
  $output .= $this->field_label( $label, $key, $data );
2064
  }
2065
 
2066
  $output .= '<div class="um-field-area">';
2067
 
2068
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
2069
 
2070
+ $output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
2071
 
2072
  }
2073
 
2074
  $number_limit = '';
2075
+ if ( isset( $min ) ) {
2076
+ $number_limit .= ' min="' . esc_attr( $min ) . '" ';
 
2077
  }
2078
+ if ( isset( $max ) ) {
2079
+ $number_limit .= ' max="' . esc_attr( $max ) . '" ';
 
2080
  }
2081
 
2082
+ $output .= '<input ' . $disabled . ' class="' . $this->get_class( $key, $data ) . '" type="number" name="' . esc_attr( $key . UM()->form()->form_suffix ) . '" id="' . esc_attr( $key . UM()->form()->form_suffix ) . '" value="' . esc_attr( htmlspecialchars( $this->field_value( $key, $default, $data ) ) ) . '" placeholder="' . esc_attr( $placeholder ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" ' . $number_limit . ' />
2083
 
2084
  </div>';
2085
 
2086
+ if ( $this->is_error( $key ) ) {
2087
  $output .= $this->field_error( $this->show_error( $key ) );
2088
  }
2089
 
2095
 
2096
  $original_key = $key;
2097
 
2098
+ if ( $key == 'single_user_password' ) {
2099
 
2100
  $key = $original_key;
2101
 
2102
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2103
 
2104
+ if ( isset( $data['label'] ) ) {
2105
  $output .= $this->field_label( $label, $key, $data );
2106
  }
2107
 
2108
  $output .= '<div class="um-field-area">';
2109
 
2110
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
2111
 
2112
+ $output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
2113
 
2114
  }
2115
 
2116
+ $output .= '<input class="' . $this->get_class( $key, $data ) . '" type="' . esc_attr( $input ) . '" name="' . esc_attr( $key . UM()->form()->form_suffix ) . '" id="' . esc_attr( $key . UM()->form()->form_suffix ) . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . esc_attr( $placeholder ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" />
2117
 
2118
  </div>';
2119
 
2120
+ if ( $this->is_error( $key ) ) {
2121
  $output .= $this->field_error( $this->show_error( $key ) );
2122
  }
2123
 
2125
 
2126
  } else {
2127
 
2128
+ if ( $this->set_mode == 'account' || um_is_core_page( 'account' ) ) {
2129
 
2130
  $key = 'current_' . $original_key;
2131
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2132
 
2133
+ if ( isset( $data['label'] ) ) {
2134
  $output .= $this->field_label( __( 'Current Password', 'ultimate-member' ), $key, $data );
2135
  }
2136
 
2137
  $output .= '<div class="um-field-area">';
2138
 
2139
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field') {
2140
 
2141
+ $output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
2142
 
2143
  }
2144
 
2145
+ $output .= '<input class="' . $this->get_class( $key, $data ) . '" type="' . esc_attr( $input ) . '" name="' . esc_attr( $key . UM()->form()->form_suffix ) . '" id="' . esc_attr( $key . UM()->form()->form_suffix ) . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . esc_attr( $placeholder ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" />
2146
 
2147
  </div>';
2148
 
2149
+ if ( $this->is_error( $key ) ) {
2150
  $output .= $this->field_error( $this->show_error( $key ) );
2151
  }
2152
 
2156
 
2157
  $key = $original_key;
2158
 
2159
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2160
 
2161
+ if ( $this->set_mode == 'account' && um_is_core_page( 'account' ) || $this->set_mode == 'password' && um_is_core_page( 'password-reset' ) ) {
2162
 
2163
  $output .= $this->field_label( __( 'New Password', 'ultimate-member' ), $key, $data );
2164
 
2165
+ } elseif ( isset( $data['label'] ) ) {
2166
 
2167
  $output .= $this->field_label( $label, $key, $data );
2168
 
2170
 
2171
  $output .= '<div class="um-field-area">';
2172
 
2173
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field') {
2174
 
2175
+ $output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
2176
 
2177
  }
2178
 
2179
+ $output .= '<input class="' . $this->get_class( $key, $data ) . '" type="' . esc_attr( $input ) . '" name="' . esc_attr( $key . UM()->form()->form_suffix ) . '" id="' . esc_attr( $key . UM()->form()->form_suffix ) . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . esc_attr( $placeholder ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" />
2180
 
2181
  </div>';
2182
 
2183
+ if ( $this->is_error( $key ) ) {
2184
  $output .= $this->field_error( $this->show_error( $key ) );
2185
  }
2186
 
2187
  $output .= '</div>';
2188
 
2189
+ if ( $this->set_mode != 'login' && isset( $data['force_confirm_pass'] ) && $data['force_confirm_pass'] == 1 ) {
2190
 
2191
  $key = 'confirm_' . $original_key;
2192
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2193
 
2194
+ if ( isset( $data['label'] ) ) {
2195
  $output .= $this->field_label( sprintf( __( 'Confirm %s', 'ultimate-member' ), $data['label'] ), $key, $data );
2196
  }
2197
 
2198
  $output .= '<div class="um-field-area">';
2199
 
2200
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
2201
 
2202
+ $output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
2203
 
2204
  }
2205
 
2206
+ $output .= '<input class="' . $this->get_class( $key, $data ) . '" type="' . esc_attr( $input ) . '" name="' . esc_attr( $key . UM()->form()->form_suffix ) . '" id="' . esc_attr( $key . UM()->form()->form_suffix ) . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . esc_attr( $placeholder ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" />
2207
 
2208
  </div>';
2209
 
2210
+ if ( $this->is_error( $key ) ) {
2211
  $output .= $this->field_error( $this->show_error( $key ) );
2212
  }
2213
 
2222
  /* URL */
2223
  case 'url':
2224
 
2225
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2226
 
2227
  if ( isset( $data['label'] ) ) {
2228
  $output .= $this->field_label( $label, $key, $data );
2230
 
2231
  $output .= '<div class="um-field-area">';
2232
 
2233
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
2234
 
2235
+ $output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
2236
 
2237
  }
2238
 
2239
+ $output .= '<input ' . $disabled . ' class="' . $this->get_class( $key, $data ) . '" type="' . esc_attr( $input ) . '" name="' . esc_attr( $key . UM()->form()->form_suffix ) . '" id="' . esc_attr( $key . UM()->form()->form_suffix ) . '" value="' . esc_attr( $this->field_value( $key, $default, $data ) ) . '" placeholder="' . esc_attr( $placeholder ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" />
2240
 
2241
  </div>';
2242
 
2243
+ if ( $this->is_error( $key ) ) {
2244
  $output .= $this->field_error( $this->show_error( $key ) );
2245
  }
2246
 
2250
  /* Date */
2251
  case 'date':
2252
 
2253
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ). '">';
2254
 
2255
  if (isset( $data['label'] )) {
2256
  $output .= $this->field_label( $label, $key, $data );
2258
 
2259
  $output .= '<div class="um-field-area">';
2260
 
2261
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
2262
 
2263
+ $output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
2264
 
2265
  }
2266
 
2267
+ $output .= '<input ' . $disabled . ' class="' . $this->get_class( $key, $data ) . '" type="' . esc_attr( $input ) . '" name="' . esc_attr( $key . UM()->form()->form_suffix ) . '" id="' . esc_attr( $key . UM()->form()->form_suffix ) . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . esc_attr( $placeholder ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" data-range="' . esc_attr( $range ) . '" data-years="' . esc_attr( $years ) . '" data-years_x="' . esc_attr( $years_x ) . '" data-disabled_weekdays="' . esc_attr( $disabled_weekdays ) . '" data-date_min="' . esc_attr( $date_min ) . '" data-date_max="' . esc_attr( $date_max ) . '" data-format="' . esc_attr( $js_format ) . '" data-value="' . $this->field_value( $key, $default, $data ) . '" />
2268
 
2269
  </div>';
2270
 
2271
+ if ( $this->is_error( $key ) ) {
2272
  $output .= $this->field_error( $this->show_error( $key ) );
2273
  }
2274
 
2278
  /* Time */
2279
  case 'time':
2280
 
2281
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2282
 
2283
  if (isset( $data['label'] )) {
2284
  $output .= $this->field_label( $label, $key, $data );
2286
 
2287
  $output .= '<div class="um-field-area">';
2288
 
2289
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
2290
 
2291
+ $output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
2292
 
2293
  }
2294
 
2295
+ $output .= '<input ' . $disabled . ' class="' . $this->get_class( $key, $data ) . '" type="' . esc_attr( $input ) . '" name="' . esc_attr( $key . UM()->form()->form_suffix ) . '" id="' . esc_attr( $key . UM()->form()->form_suffix ) . '" value="' . $this->field_value( $key, $default, $data ) . '" placeholder="' . esc_attr( $placeholder ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" data-format="' . esc_attr( $js_format ) . '" data-intervals="' . esc_attr( $intervals ) . '" data-value="' . $this->field_value( $key, $default, $data ) . '" />
2296
 
2297
  </div>';
2298
 
2299
+ if ( $this->is_error( $key ) ) {
2300
  $output .= $this->field_error( $this->show_error( $key ) );
2301
  }
2302
 
2310
 
2311
  /* Textarea */
2312
  case 'textarea':
2313
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2314
 
2315
+ if ( isset( $data['label'] ) ) {
2316
  $output .= $this->field_label( $label, $key, $data );
2317
  }
2318
 
2319
  $output .= '<div class="um-field-area">';
2320
 
2321
+ if ( isset( $data['html'] ) && $data['html'] != 0 && $key != "description" ) {
 
2322
 
2323
  $textarea_settings = array(
2324
  'media_buttons' => false,
2331
  )
2332
  );
2333
 
2334
+ if ( ! empty( $disabled ) ) {
2335
  $textarea_settings['tinymce']['readonly'] = true;
2336
  }
2337
 
2367
  $output .= ob_get_clean();
2368
  $output .= '<br /><span class="description">' . $placeholder . '</span>';
2369
  } else {
2370
+ $output .= '<textarea ' . $disabled . ' style="height: ' . esc_attr( $height ) . ';" class="' . $this->get_class( $key, $data ) . '" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_id ) . '" placeholder="' . esc_attr( $placeholder ) . '">' . esc_textarea( strip_tags( $field_value ) ) . '</textarea>';
2371
  }
2372
 
2373
  $output .= '</div>';
2385
 
2386
  /* Rating */
2387
  case 'rating':
2388
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2389
 
2390
+ if ( isset( $data['label'] ) ) {
2391
  $output .= $this->field_label( $label, $key, $data );
2392
  }
2393
 
2394
  $output .= '<div class="um-field-area">';
2395
 
2396
+ $output .= '<div class="um-rating um-raty" id="' . esc_attr( $key ) . '" data-key="' . esc_attr( $key ) . '" data-number="' . esc_attr( $data['number'] ) . '" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>';
2397
  $output .= '</div>';
2398
 
2399
  $output .= '</div>';
2402
 
2403
  /* Gap/Space */
2404
  case 'spacing':
2405
+ $output .= '<div class="um-field um-field-spacing' . $classes . '" ' . $conditional . ' style="height: ' . esc_attr( $spacing ) . '"></div>';
2406
  break;
2407
 
2408
  /* A line divider */
2409
  case 'divider':
2410
+ $output .= '<div class="um-field um-field-divider' . $classes . '" ' . $conditional . ' style="border-bottom: ' . esc_attr( $borderwidth ) . 'px ' . esc_attr( $borderstyle ) . ' ' . esc_attr( $bordercolor ) . '">';
2411
+ if ( $divider_text ) {
2412
+ $output .= '<div class="um-field-divider-text"><span>' . esc_html( $divider_text ) . '</span></div>';
2413
  }
2414
  $output .= '</div>';
2415
  break;
2416
 
2417
  /* Single Image Upload */
2418
  case 'image':
2419
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2420
  if ( in_array( $key, array( 'profile_photo', 'cover_photo' ) ) ) {
2421
  $field_value = '';
2422
  } else {
2423
  $field_value = $this->field_value( $key, $default, $data );
2424
  }
2425
+ $output .= '<input type="hidden" name="' . esc_attr( $key . UM()->form()->form_suffix ) . '" id="' . esc_attr( $key . UM()->form()->form_suffix ) . '" value="' . $field_value . '" />';
2426
  if ( isset( $data['label'] ) ) {
2427
  $output .= $this->field_label( $label, $key, $data );
2428
  }
2488
 
2489
  /* Single File Upload */
2490
  case 'file':
2491
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2492
+ $output .= '<input type="hidden" name="' . esc_attr( $key . UM()->form()->form_suffix ) . '" id="' . esc_attr( $key . UM()->form()->form_suffix ) . '" value="' . $this->field_value( $key, $default, $data ) . '" />';
2493
  if (isset( $data['label'] )) {
2494
  $output .= $this->field_label( $label, $key, $data );
2495
  }
2576
  $output .= '</div>';
2577
  $output .= '</div>';
2578
  /* end */
2579
+ if ( $this->is_error( $key ) ) {
2580
  $output .= $this->field_error( $this->show_error( $key ) );
2581
  }
2582
  $output .= '</div>';
2583
 
2584
+ break;
2585
 
2586
  /* Select dropdown */
2587
  case 'select':
2588
 
2589
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2590
 
2591
  if ( isset( $data['allowclear'] ) && $data['allowclear'] == 0 ) {
2592
  $class = 'um-s2';
2599
  }
2600
 
2601
  $output .= '<div class="um-field-area ' . ( isset( $this->field_icons ) && $this->field_icons == 'field' ? 'um-field-area-has-icon' : '' ) . ' ">';
2602
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
2603
+ $output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
2604
  }
2605
 
2606
  $has_parent_option = false;
2674
  * ?>
2675
  */
2676
  $ajax_source = apply_filters( "um_custom_dropdown_options_source__{$form_key}", $data['custom_dropdown_options_source'], $data );
2677
+ $atts_ajax .= ' data-um-ajax-source="' . esc_attr( $ajax_source ) . '" ';
2678
 
2679
  /**
2680
  * UM hook
2698
  * ?>
2699
  */
2700
  $ajax_source_url = apply_filters( "um_custom_dropdown_options_source_url__{$form_key}", admin_url( 'admin-ajax.php' ), $data );
2701
+ $atts_ajax .= ' data-um-ajax-url="' . esc_url( $ajax_source_url ) . '" ';
2702
 
2703
  }
2704
 
2706
  $placeholder = strip_tags( $placeholder );
2707
  }
2708
 
2709
+ $output .= '<select data-default="' . $data['default'] . '" ' . $disabled . ' ' . $select_original_option_value . ' ' . $disabled_by_parent_option . ' name="' . esc_attr( $form_key ) . '" id="' . esc_attr( $field_id ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" class="' . $this->get_class( $key, $data, $class ) . '" style="width: 100%" data-placeholder="' . esc_attr( $placeholder ) . '" ' . $atts_ajax . '>';
2710
 
2711
  /**
2712
  * UM hook
2867
 
2868
  $max_selections = ( isset( $max_selections ) ) ? absint( $max_selections ) : 0;
2869
 
2870
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
2871
 
2872
+ if ( isset( $data['allowclear'] ) && $data['allowclear'] == 0 ) {
2873
  $class = 'um-s2';
2874
  } else {
2875
  $class = 'um-s1';
2876
  }
2877
 
2878
+ if ( isset( $data['label'] ) ) {
2879
  $output .= $this->field_label( $label, $key, $data );
2880
  }
2881
 
2906
  $use_keyword = apply_filters( 'um_multiselect_option_value', 0, $data['type'] );
2907
 
2908
  $output .= '<div class="um-field-area ' . ( isset( $this->field_icons ) && $this->field_icons == 'field' ? 'um-field-area-has-icon' : '' ) . ' ">';
2909
+ if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field') {
2910
+ $output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
2911
  }
2912
 
2913
+ $output .= '<select ' . $disabled . ' multiple="multiple" name="' . esc_attr( $field_name ) . '[]" id="' . esc_attr( $field_id ) . '" data-maxsize="' . esc_attr( $max_selections ) . '" data-validate="' . esc_attr( $validate ) . '" data-key="' . esc_attr( $key ) . '" class="' . $this->get_class( $key, $data, $class ) . ' um-user-keyword_' . $use_keyword . '" style="width: 100%" data-placeholder="' . esc_attr( $placeholder ) . '">';
2914
 
2915
 
2916
  if ( isset( $options ) && $options == 'builtin' ) {
2999
 
3000
  $arr_selected = array();
3001
  // add options
3002
+ if ( ! empty( $options ) && is_array( $options ) ) {
3003
+ foreach ( $options as $k => $v ) {
3004
 
3005
  $v = rtrim( $v );
3006
 
3007
  $um_field_checkbox_item_title = $v;
3008
  $opt_value = $v;
3009
 
3010
+ if ( $use_keyword ) {
3011
  $um_field_checkbox_item_title = $v;
3012
  $opt_value = $k;
3013
  }
3015
  $opt_value = $this->filter_field_non_utf8_value( $opt_value );
3016
 
3017
  $output .= '<option value="' . $opt_value . '" ';
3018
+ if ( $this->is_selected( $key, $opt_value, $data ) ) {
3019
 
3020
  $output .= 'selected';
3021
+ $arr_selected[ $opt_value ] = $opt_value;
3022
  }
3023
 
3024
  $output .= '>' . __( $um_field_checkbox_item_title, 'ultimate-member' ) . '</option>';
3028
 
3029
  $output .= '</select>';
3030
 
3031
+ if ( ! empty( $disabled ) && ! empty( $arr_selected ) ) {
3032
+ foreach ( $arr_selected as $item ) {
3033
  $output .= $this->disabled_hidden_field( $key . '[]', $item );
3034
  }
3035
  }
3037
  $output .= '</div>';
3038
 
3039
 
3040
+ if ( $this->is_error( $key ) ) {
3041
  $output .= $this->field_error( $this->show_error( $key ) );
3042
  }
3043
 
3093
  $options = apply_filters( "um_radio_field_options_{$key}", $options );
3094
  }
3095
 
3096
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
3097
 
3098
+ if ( isset( $data['label'] ) ) {
3099
  $output .= $this->field_label( $label, $key, $data );
3100
  }
3101
 
3128
  $col_class = '';
3129
  }
3130
 
3131
+ if ( $this->is_radio_checked( $key, $option_value, $data ) ) {
3132
  $active = 'active';
3133
  $class = "um-icon-android-radio-button-on";
3134
  } else {
3137
  }
3138
 
3139
 
3140
+ if ( isset( $data['editable'] ) && $data['editable'] == 0 ) {
3141
  $col_class .= " um-field-radio-state-disabled";
3142
  }
3143
 
3144
+ $output .= '<label class="um-field-radio ' . esc_attr( $active ) . ' um-field-half ' . esc_attr( $col_class ) . '">';
3145
 
3146
  $option_value = $this->filter_field_non_utf8_value( $option_value );
3147
 
3148
+ $output .= '<input ' . $disabled . ' type="radio" name="' . ( ( $form_key == 'role' ) ? esc_attr( $form_key ) : esc_attr( $form_key ) . '[]' ) . '" value="' . $option_value . '" ';
3149
 
3150
+ if ( $this->is_radio_checked( $key, $option_value, $data ) ) {
3151
  $output .= 'checked';
3152
+ $field_value[ $key ] = $option_value;
3153
  }
3154
 
3155
  $output .= ' />';
3156
 
3157
+ $output .= '<span class="um-field-radio-state"><i class="' . esc_attr( $class ) . '"></i></span>';
3158
+ $output .= '<span class="um-field-radio-option">' . esc_html__( $um_field_checkbox_item_title, 'ultimate-member' ) . '</span>';
3159
  $output .= '</label>';
3160
 
3161
+ if ( $i % 2 == 0 ) {
3162
  $output .= '<div class="um-clear"></div>';
3163
  }
3164
 
3165
  }
3166
  }
3167
 
3168
+ if ( ! empty( $disabled ) ) {
3169
+ foreach ( $field_value as $item ) {
3170
  $output .= $this->disabled_hidden_field( $form_key, $item );
3171
  }
3172
  }
3175
 
3176
  $output .= '</div>';
3177
 
3178
+ if ( $this->is_error( $form_key ) ) {
3179
  $output .= $this->field_error( $this->show_error( $form_key ) );
3180
  }
3181
 
3231
  $options = apply_filters( "um_checkbox_field_options_{$key}", $options );
3232
  }
3233
 
3234
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
3235
 
3236
+ if ( isset( $data['label'] ) ) {
3237
  $output .= $this->field_label( $label, $key, $data );
3238
  }
3239
 
3242
  // add options
3243
  $i = 0;
3244
 
3245
+ foreach ( $options as $k => $v ) {
3246
 
3247
  $v = rtrim( $v );
3248
 
3249
  $i++;
3250
+ if ( $i % 2 == 0 ) {
3251
  $col_class = 'right';
3252
  } else {
3253
  $col_class = '';
3254
  }
3255
 
3256
+ if ( $this->is_selected( $key, $v, $data ) ) {
3257
  $active = 'active';
3258
  $class = "um-icon-android-checkbox-outline";
3259
  } else {
3261
  $class = "um-icon-android-checkbox-outline-blank";
3262
  }
3263
 
3264
+ if ( isset( $data['editable'] ) && $data['editable'] == 0 ) {
3265
  $col_class .= " um-field-radio-state-disabled";
3266
  }
3267
 
3268
+ $output .= '<label class="um-field-checkbox ' . esc_attr( $active ) . ' um-field-half ' . esc_attr( $col_class ) . '">';
3269
 
3270
  $um_field_checkbox_item_title = $v;
3271
 
3272
  $v = $this->filter_field_non_utf8_value( $v );
3273
 
3274
+ $output .= '<input ' . $disabled . ' type="checkbox" name="' . esc_attr( $key ) . '[]" value="' . strip_tags( $v ) . '" ';
3275
 
3276
+ if ( $this->is_selected( $key, $v, $data ) ) {
3277
  $output .= 'checked';
3278
  }
3279
 
3280
  $output .= ' />';
3281
 
3282
+ if ( ! empty( $disabled ) && $this->is_selected( $key, $v, $data ) ) {
3283
  $output .= $this->disabled_hidden_field( $key . '[]', strip_tags( $v ) );
3284
  }
3285
 
3286
 
3287
+ $output .= '<span class="um-field-checkbox-state"><i class="' . esc_attr( $class ) . '"></i></span>';
3288
  /**
3289
  * UM hook
3290
  *
3308
  * }
3309
  * ?>
3310
  */
3311
+ $um_field_checkbox_item_title = apply_filters( 'um_field_checkbox_item_title', $um_field_checkbox_item_title, $key, $v, $data );
3312
+ $output .= '<span class="um-field-checkbox-option">' . esc_html__( $um_field_checkbox_item_title, 'ultimate-member' ) . '</span>';
3313
  $output .= '</label>';
3314
 
3315
+ if ( $i % 2 == 0 ) {
3316
  $output .= '<div class="um-clear"></div>';
3317
  }
3318
 
3323
  $output .= '</div>';
3324
 
3325
 
3326
+ if ( $this->is_error( $key ) ) {
3327
  $output .= $this->field_error( $this->show_error( $key ) );
3328
  }
3329
 
3332
 
3333
  /* HTML */
3334
  case 'block':
3335
+ $output .= '<div class="um-field' . $classes . '" ' . $conditional . ' data-key="' . esc_attr( $key ) . '">
3336
  <div class="um-field-block">' . $content . '</div>
3337
  </div>';
3338
  break;
3342
 
3343
  $content = str_replace( '{profile_id}', um_profile_id(), $content );
3344
 
3345
+ $output .= '<div class="um-field' . $classes . '" ' . $conditional . ' data-key="' . esc_attr( $key ) . '">
3346
  <div class="um-field-shortcode">' . do_shortcode( $content ) . '</div>
3347
  </div>';
3348
  break;
3351
  case 'group':
3352
 
3353
  $fields = $this->get_fields_in_group( $key );
3354
+ if ( ! empty( $fields ) ) {
3355
 
3356
  $output .= '<div class="um-field-group" data-max_entries="' . $max_entries . '">
3357
+ <div class="um-field-group-head"><i class="um-icon-plus"></i>' . esc_html__( $label, 'ultimate-member' ) . '</div>';
3358
  $output .= '<div class="um-field-group-body"><a href="#" class="um-field-group-cancel"><i class="um-icon-close"></i></a>';
3359
 
3360
+ foreach ( $fields as $subkey => $subdata ) {
3361
  $output .= $this->edit_field( $subkey, $subdata, 'group' );
3362
  }
3363
 
3472
  * @return string
3473
  */
3474
  function get_fields_by_row( $row_id ) {
3475
+ foreach ( $this->get_fields as $key => $array ) {
3476
+ if ( ! isset( $array['in_row'] ) || ( isset( $array['in_row'] ) && $array['in_row'] == $row_id ) ) {
3477
+ $results[ $key ] = $array;
3478
  }
3479
  }
3480
 
3491
  * @return mixed
3492
  */
3493
  function get_fields_in_subrow( $row_fields, $subrow_id ) {
3494
+ if ( ! is_array( $row_fields ) ) {
3495
+ return '';
3496
+ }
3497
+ foreach ( $row_fields as $key => $array ) {
3498
+ if ( ! isset( $array['in_sub_row'] ) || ( isset( $array['in_sub_row'] ) && $array['in_sub_row'] == $subrow_id ) ) {
3499
+ $results[ $key ] = $array;
3500
  }
3501
  }
3502
 
3512
  * @return mixed
3513
  */
3514
  function get_fields_in_group( $group_id ) {
3515
+ foreach ( $this->get_fields as $key => $array ) {
3516
+ if ( isset( $array['in_group'] ) && $array['in_group'] == $group_id ) {
3517
+ $results[ $key ] = $array;
3518
  }
3519
  }
3520
 
3531
  * @return mixed
3532
  */
3533
  function get_fields_in_column( $fields, $col_number ) {
3534
+ foreach ( $fields as $key => $array ) {
3535
+ if ( isset( $array['in_column'] ) && $array['in_column'] == $col_number ) {
3536
+ $results[ $key ] = $array;
3537
  }
3538
  }
3539
 
3544
  /**
3545
  * Display fields
3546
  *
3547
+ * @param string $mode
3548
+ * @param array $args
3549
  *
3550
+ * @return string|null
3551
+ * @throws \Exception
3552
  */
3553
  function display( $mode, $args ) {
3554
  $output = null;
3565
  // start output here
3566
  $this->get_fields = $this->get_fields();
3567
 
3568
+ if ( ! empty( $this->get_fields ) ) {
3569
 
3570
  // find rows
3571
+ foreach ( $this->get_fields as $key => $array ) {
3572
+ if ( $array['type'] == 'row' ) {
3573
+ $this->rows[ $key ] = $array;
3574
+ unset( $this->get_fields[ $key ] ); // not needed anymore
3575
  }
3576
  }
3577
 
3578
  // rows fallback
3579
+ if ( ! isset( $this->rows ) ) {
3580
+ $this->rows = array(
3581
+ '_um_row_1' => array(
3582
+ 'type' => 'row',
3583
+ 'id' => '_um_row_1',
3584
+ 'sub_rows' => 1,
3585
+ 'cols' => 1,
3586
+ ),
3587
  );
3588
  }
3589
 
3590
  // master rows
3591
+ foreach ( $this->rows as $row_id => $row_array ) {
3592
 
3593
  $row_fields = $this->get_fields_by_row( $row_id );
3594
+ if ( $row_fields ) {
3595
 
3596
  $output .= $this->new_row_output( $row_id, $row_array );
3597
 
3598
  $sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
3599
+ for ( $c = 0; $c < $sub_rows; $c++ ) {
3600
 
3601
  // cols
3602
  $cols = ( isset( $row_array['cols'] ) ) ? $row_array['cols'] : 1;
3603
+ if ( strstr( $cols, ':' ) ) {
3604
  $col_split = explode( ':', $cols );
3605
  } else {
3606
  $col_split = array( $cols );
3607
  }
3608
+ $cols_num = $col_split[ $c ];
3609
 
3610
  // sub row fields
3611
  $subrow_fields = null;
3612
  $subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
3613
 
3614
+ if ( is_array( $subrow_fields ) ) {
3615
 
3616
  $subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position' );
3617
 
3618
+ if ( $cols_num == 1 ) {
3619
 
3620
  $output .= '<div class="um-col-1">';
3621
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
3622
+ if ( $col1_fields ) {
3623
+ foreach ( $col1_fields as $key => $data ) {
3624
  $output .= $this->edit_field( $key, $data );
3625
  }
3626
  }
3630
 
3631
  $output .= '<div class="um-col-121">';
3632
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
3633
+ if ( $col1_fields ) {
3634
+ foreach ( $col1_fields as $key => $data ) {
3635
  $output .= $this->edit_field( $key, $data );
3636
  }
3637
  }
3639
 
3640
  $output .= '<div class="um-col-122">';
3641
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
3642
+ if ( $col2_fields ) {
3643
+ foreach ( $col2_fields as $key => $data ) {
3644
  $output .= $this->edit_field( $key, $data );
3645
  }
3646
  }
3650
 
3651
  $output .= '<div class="um-col-131">';
3652
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
3653
+ if ( $col1_fields ) {
3654
+ foreach ( $col1_fields as $key => $data ) {
3655
  $output .= $this->edit_field( $key, $data );
3656
  }
3657
  }
3659
 
3660
  $output .= '<div class="um-col-132">';
3661
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
3662
+ if ( $col2_fields ) {
3663
+ foreach ( $col2_fields as $key => $data ) {
3664
  $output .= $this->edit_field( $key, $data );
3665
  }
3666
  }
3668
 
3669
  $output .= '<div class="um-col-133">';
3670
  $col3_fields = $this->get_fields_in_column( $subrow_fields, 3 );
3671
+ if ( $col3_fields ) {
3672
+ foreach ( $col3_fields as $key => $data ) {
3673
  $output .= $this->edit_field( $key, $data );
3674
  }
3675
  }
3696
  /**
3697
  * Gets a field in `view mode`
3698
  *
3699
+ * @param string $key
3700
+ * @param array $data
3701
+ * @param bool $rule
3702
  *
3703
+ * @return string|null
3704
+ * @throws \Exception
3705
  */
3706
  function view_field( $key, $data, $rule = false ) {
3707
  $output = null;
3711
  $data = $this->get_field( $key );
3712
 
3713
  if ( is_array( $data ) ) {
3714
+ /**
3715
+ * @var $visibility
3716
+ * @var $type
3717
+ * @var $default
3718
+ * @var $classes
3719
+ * @var $conditional
3720
+ * @var $content
3721
+ * @var $divider_text
3722
+ * @var $spacing
3723
+ * @var $borderwidth
3724
+ * @var $borderstyle
3725
+ * @var $bordercolor
3726
+ * @var $label
3727
+ */
3728
  extract( $data );
3729
  }
3730
  }
3744
  }
3745
 
3746
  //hide if empty
3747
+ $fields_without_metakey = UM()->builtin()->get_fields_without_metakey();
3748
+ if ( ! in_array( $type, $fields_without_metakey ) ) {
3749
  $_field_value = $this->field_value( $key, $default, $data );
3750
 
3751
  if ( ! isset( $_field_value ) || $_field_value == '' ) {
3771
  /* Default */
3772
  default:
3773
 
3774
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
3775
 
3776
+ if ( isset( $data['label'] ) || ! empty( $data['icon'] ) ) {
3777
 
3778
+ if ( ! isset( $data['label'] ) ) {
3779
+ $data['label'] = '';
3780
+ }
3781
 
3782
  $output .= $this->field_label( $data['label'], $key, $data );
3783
  }
3784
 
3785
  $res = $this->field_value( $key, $default, $data );
3786
 
3787
+ if ( ! empty( $res ) ) {
3788
  $res = stripslashes( $res );
3789
  }
3790
 
3811
  * }
3812
  * ?>
3813
  */
3814
+ $res = apply_filters( 'um_view_field', $res, $data, $type );
3815
  /**
3816
  * UM hook
3817
  *
3845
 
3846
  /* HTML */
3847
  case 'block':
3848
+ $output .= '<div class="um-field' . $classes . '" ' . $conditional . ' data-key="' . esc_attr( $key ) . '">
3849
  <div class="um-field-block">' . $content . '</div>
3850
  </div>';
3851
  break;
3855
 
3856
  $content = str_replace( '{profile_id}', um_profile_id(), $content );
3857
 
3858
+ $output .= '<div class="um-field' . $classes . '" ' . $conditional . ' data-key="' . esc_attr( $key ) . '">
3859
  <div class="um-field-shortcode">' . do_shortcode( $content ) . '</div>
3860
  </div>';
3861
  break;
3862
 
3863
  /* Gap/Space */
3864
  case 'spacing':
3865
+ $output .= '<div class="um-field um-field-spacing' . $classes . '" ' . $conditional . ' style="height: ' . esc_attr( $spacing ) . '"></div>';
3866
  break;
3867
 
3868
  /* A line divider */
3869
  case 'divider':
3870
+ $output .= '<div class="um-field um-field-divider' . $classes . '" ' . $conditional . ' style="border-bottom: ' . esc_attr( $borderwidth ) . 'px ' . esc_attr( $borderstyle ) . ' ' . esc_attr( $bordercolor ) . '">';
3871
  if ($divider_text) {
3872
  $output .= '<div class="um-field-divider-text"><span>' . $divider_text . '</span></div>';
3873
  }
3877
  /* Rating */
3878
  case 'rating':
3879
 
3880
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="' . esc_attr( $key ) . '">';
3881
 
3882
  if (isset( $data['label'] ) || isset( $data['icon'] ) && !empty( $data['icon'] )) {
3883
  $output .= $this->field_label( $label, $key, $data );
3885
 
3886
  $output .= '<div class="um-field-area">';
3887
  $output .= '<div class="um-field-value">
3888
+ <div class="um-rating-readonly um-raty" id="' . esc_attr( $key ) . '" data-key="' . esc_attr( $key ) . '" data-number="' . esc_attr( $data['number'] ) . '" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>
3889
  </div>';
3890
  $output .= '</div>';
3891
 
3982
  /**
3983
  * Display fields ( view mode )
3984
  *
3985
+ * @param string $mode
3986
+ * @param array $args
3987
  *
3988
+ * @return string|null
3989
+ * @throws \Exception
3990
  */
3991
  function display_view( $mode, $args ) {
3992
  $output = null;
4019
  }
4020
  }
4021
 
4022
+ if ( ! empty( $this->get_fields ) ) {
4023
 
4024
  // find rows
4025
+ foreach ( $this->get_fields as $key => $array ) {
4026
+ if ( $array['type'] == 'row' ) {
4027
+ $this->rows[ $key ] = $array;
4028
+ unset( $this->get_fields[ $key ] ); // not needed anymore
4029
  }
4030
  }
4031
 
4032
  // rows fallback
4033
+ if ( ! isset( $this->rows ) ) {
4034
+ $this->rows = array(
4035
+ '_um_row_1' => array(
4036
+ 'type' => 'row',
4037
+ 'id' => '_um_row_1',
4038
+ 'sub_rows' => 1,
4039
+ 'cols' => 1,
4040
+ ),
4041
  );
4042
  }
4043
 
4044
  // master rows
4045
+ foreach ( $this->rows as $row_id => $row_array ) {
4046
 
4047
  $row_fields = $this->get_fields_by_row( $row_id );
4048
 
4049
+ if ( $row_fields ) {
4050
 
4051
  $output .= $this->new_row_output( $row_id, $row_array );
4052
 
4053
  $sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
4054
+ for ( $c = 0; $c < $sub_rows; $c++ ) {
4055
 
4056
  // cols
4057
  $cols = ( isset( $row_array['cols'] ) ) ? $row_array['cols'] : 1;
4058
+ if ( strstr( $cols, ':' ) ) {
4059
  $col_split = explode( ':', $cols );
4060
  } else {
4061
  $col_split = array( $cols );
4062
  }
4063
+ $cols_num = $col_split[ $c ];
4064
 
4065
  // sub row fields
4066
  $subrow_fields = null;
4067
  $subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
4068
 
4069
+ if ( is_array( $subrow_fields ) ) {
4070
 
4071
  $subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position' );
4072
 
4073
+ if ( $cols_num == 1 ) {
4074
 
4075
  $output .= '<div class="um-col-1">';
4076
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
4172
  * @param string $row_id
4173
  * @param array $row_array
4174
  *
4175
+ * @return string
4176
  */
4177
  function new_row_output( $row_id, $row_array ) {
4178
  $output = null;
4283
  wp_send_json_error( __( 'Please login as administrator', 'ultimate-member' ) );
4284
  }
4285
 
4286
+ /**
4287
+ * @var $in_row
4288
+ * @var $in_sub_row
4289
+ * @var $in_column
4290
+ * @var $in_group
4291
+ * @var $act_id
4292
+ * @var $arg1
4293
+ * @var $arg2
4294
+ */
4295
  extract( $_POST );
4296
 
4297
  $output = null;
4298
 
4299
  $position = array();
4300
  if ( ! empty( $in_column ) ) {
4301
+ $position['in_row'] = '_um_row_' . ( (int) $in_row + 1 );
4302
  $position['in_sub_row'] = $in_sub_row;
4303
  $position['in_column'] = $in_column;
4304
  $position['in_group'] = $in_group;
4328
 
4329
  }
4330
 
4331
+ if ( is_array( $output ) ) {
4332
  print_r( $output );
4333
  } else {
4334
  echo $output;
includes/core/class-members.php CHANGED
@@ -4,6 +4,7 @@ namespace um\core;
4
  // Exit if accessed directly
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
 
7
  if ( ! class_exists( 'um\core\Members' ) ) {
8
 
9
 
@@ -26,8 +27,7 @@ if ( ! class_exists( 'um\core\Members' ) ) {
26
  function __construct() {
27
 
28
  add_filter( 'user_search_columns', array( &$this, 'user_search_columns' ), 99 );
29
-
30
- add_action( 'template_redirect', array( &$this, 'access_members' ), 555);
31
 
32
  $this->core_search_fields = array(
33
  'user_login',
@@ -36,7 +36,7 @@ if ( ! class_exists( 'um\core\Members' ) ) {
36
  'user_email',
37
  );
38
 
39
- add_filter( 'um_search_select_fields', array(&$this, 'um_search_select_fields'), 10, 1 );
40
 
41
  }
42
 
@@ -60,7 +60,7 @@ if ( ! class_exists( 'um\core\Members' ) ) {
60
  * Members page allowed?
61
  */
62
  function access_members() {
63
- if ( UM()->options()->get('members_page') == 0 && um_is_core_page( 'members' ) ) {
64
  um_redirect_home();
65
  }
66
  }
@@ -84,7 +84,7 @@ if ( ! class_exists( 'um\core\Members' ) ) {
84
  $array['total_users'],
85
  );
86
 
87
- $string = str_replace($search, $replace, $string);
88
  return $string;
89
  }
90
 
@@ -253,7 +253,8 @@ if ( ! class_exists( 'um\core\Members' ) ) {
253
  $label = isset( $attrs['title'] ) ? $attrs['title'] : '';
254
  } ?>
255
 
256
- <select name="<?php echo $filter; ?>" id="<?php echo $filter; ?>" class="um-s1" style="width: 100%" data-placeholder="<?php echo __( stripslashes( $label ), 'ultimate-member' ); ?>" <?php if ( ! empty( $attrs['custom_dropdown_options_source'] ) ) { ?> data-um-parent="<?php echo $attrs['parent_dropdown_relationship']; ?>" data-mebers-directory="yes" data-um-ajax-source="<?php echo $attrs['custom_dropdown_options_source'] ?>"<?php } ?>>
 
257
 
258
  <option></option>
259
 
@@ -263,33 +264,32 @@ if ( ! class_exists( 'um\core\Members' ) ) {
263
 
264
  $opt = $v;
265
 
266
- if ( strstr( $filter, 'role_' ) )
267
  $opt = $k;
 
268
 
269
- if ( isset( $attrs['custom'] ) )
270
  $opt = $k;
 
271
 
272
-
273
- ?>
274
-
275
- <option value="<?php echo $opt; ?>" <?php um_select_if_in_query_params( $filter, $opt ); ?> <?php selected( isset( $_GET[$filter] ) && $_GET[$filter] == $v ) ?>><?php echo __( $v, 'ultimate-member'); ?></option>
276
 
277
  <?php } ?>
278
 
279
- </select>
280
 
281
  <?php
282
 
283
  break;
284
 
285
  case 'text':
286
-
287
  ?>
288
 
289
- <input type="text" autocomplete="off" name="<?php echo $filter; ?>" id="<?php echo $filter; ?>" placeholder="<?php echo isset( $attrs['label'] ) ? __( $attrs['label'], 'ultimate-member') : ''; ?>" value='<?php echo esc_attr( um_queried_search_value( $filter, false ) ); ?>' />
 
 
290
 
291
  <?php
292
-
293
  break;
294
 
295
  }
@@ -306,12 +306,12 @@ if ( ! class_exists( 'um\core\Members' ) ) {
306
  */
307
  function um_search_select_fields( $attrs ) {
308
 
309
- if( !empty($attrs['metakey']) && strstr( $attrs['metakey'], 'role_' ) ){
310
 
311
  $shortcode_roles = get_post_meta( UM()->shortcodes()->form_id, '_um_roles', true );
312
  $um_roles = UM()->roles()->get_roles( false );
313
 
314
- if( ! empty( $shortcode_roles ) && is_array( $shortcode_roles ) ){
315
 
316
  $attrs['options'] = array();
317
 
@@ -371,22 +371,22 @@ if ( ! class_exists( 'um\core\Members' ) ) {
371
  $query_args = apply_filters( 'um_prepare_user_query_args', array(), $args );
372
 
373
  // Prepare for BIG SELECT query
374
- $wpdb->query('SET SQL_BIG_SELECTS=1');
375
 
376
  // number of profiles for mobile
377
- if ( UM()->mobile()->isMobile() && isset( $profiles_per_page_mobile ) ){
378
  $profiles_per_page = $profiles_per_page_mobile;
379
  }
380
 
381
  $query_args['number'] = $profiles_per_page;
382
 
383
- if( isset( $args['number'] ) ){
384
  $query_args['number'] = $args['number'];
385
  }
386
 
387
- if( isset( $args['page'] ) ){
388
  $members_page = $args['page'];
389
- }else{
390
  $members_page = isset( $_REQUEST['members_page'] ) ? $_REQUEST['members_page'] : 1;
391
  }
392
 
@@ -478,18 +478,18 @@ if ( ! class_exists( 'um\core\Members' ) ) {
478
  if ( isset( $pages_to_add ) ) {
479
 
480
  asort( $pages_to_add );
481
- $pages_to_show = array_merge( (array)$pages_to_add, $pages_to_show );
482
 
483
  if ( count( $pages_to_show ) < 5 ) {
484
- if ( max($pages_to_show) - $array['page'] >= 2 ) {
485
- $pages_to_show[] = max($pages_to_show) + 1;
486
  if ( count( $pages_to_show ) < 5 ) {
487
- $pages_to_show[] = max($pages_to_show) + 1;
488
  }
489
- } else if ( $array['page'] - min($pages_to_show) >= 2 ) {
490
- $pages_to_show[] = min($pages_to_show) - 1;
491
  if ( count( $pages_to_show ) < 5 ) {
492
- $pages_to_show[] = min($pages_to_show) - 1;
493
  }
494
  }
495
  }
@@ -528,7 +528,7 @@ if ( ! class_exists( 'um\core\Members' ) ) {
528
 
529
  if ( $array['total_pages'] < count( $array['pages_to_show'] ) ) {
530
  foreach ( $array['pages_to_show'] as $k => $v ) {
531
- if ( $v > $array['total_pages'] ) unset( $array['pages_to_show'][$k] );
532
  }
533
  }
534
 
@@ -576,13 +576,13 @@ if ( ! class_exists( 'um\core\Members' ) ) {
576
 
577
  $arr_where = explode("\n", $vars->query_where );
578
  $arr_left_join = explode("LEFT JOIN", $vars->query_from );
579
- $arr_user_photo_key = array('synced_profile_photo','profile_photo','synced_gravatar_hashed_id');
580
 
581
  foreach ( $arr_where as $where ) {
582
 
583
- foreach( $arr_user_photo_key as $key ){
584
 
585
- if( strpos( $where , "'".$key."'" ) > -1 ){
586
 
587
  // find usermeta key
588
  preg_match("#mt[0-9]+.#", $where, $meta_key );
@@ -597,9 +597,9 @@ if ( ! class_exists( 'um\core\Members' ) ) {
597
  $where_exists = 'um_exist EXISTS( SELECT '.$wpdb->usermeta.'.umeta_id FROM '.$wpdb->usermeta.' WHERE '.$wpdb->usermeta.'.user_id = '.$wpdb->users.'.ID AND '.$wpdb->usermeta.'.meta_key IN("'.implode('","', $arr_user_photo_key ).'") AND '.$wpdb->usermeta.'.meta_value != "" )';
598
 
599
  // Replace LEFT JOIN clauses with EXISTS and remove duplicates
600
- if( strpos( $vars->query_where, 'um_exist' ) === FALSE ){
601
  $vars->query_where = str_replace( $where , $where_exists, $vars->query_where );
602
- }else{
603
  $vars->query_where = str_replace( $where , '1=0', $vars->query_where );
604
  }
605
  }
@@ -608,8 +608,8 @@ if ( ! class_exists( 'um\core\Members' ) ) {
608
 
609
  }
610
 
611
- $vars->query_where = str_replace("\n", "", $vars->query_where );
612
- $vars->query_where = str_replace("um_exist", "", $vars->query_where );
613
 
614
  return $vars;
615
 
4
  // Exit if accessed directly
5
  if ( ! defined( 'ABSPATH' ) ) exit;
6
 
7
+
8
  if ( ! class_exists( 'um\core\Members' ) ) {
9
 
10
 
27
  function __construct() {
28
 
29
  add_filter( 'user_search_columns', array( &$this, 'user_search_columns' ), 99 );
30
+ add_action( 'template_redirect', array( &$this, 'access_members' ), 555 );
 
31
 
32
  $this->core_search_fields = array(
33
  'user_login',
36
  'user_email',
37
  );
38
 
39
+ add_filter( 'um_search_select_fields', array( &$this, 'um_search_select_fields' ), 10, 1 );
40
 
41
  }
42
 
60
  * Members page allowed?
61
  */
62
  function access_members() {
63
+ if ( UM()->options()->get( 'members_page' ) == 0 && um_is_core_page( 'members' ) ) {
64
  um_redirect_home();
65
  }
66
  }
84
  $array['total_users'],
85
  );
86
 
87
+ $string = str_replace( $search, $replace, $string );
88
  return $string;
89
  }
90
 
253
  $label = isset( $attrs['title'] ) ? $attrs['title'] : '';
254
  } ?>
255
 
256
+ <select name="<?php echo esc_attr( $filter ); ?>" id="<?php echo esc_attr( $filter ); ?>" class="um-s1"
257
+ style="width: 100%" data-placeholder="<?php esc_attr_e( stripslashes( $label ), 'ultimate-member' ); ?>" <?php if ( ! empty( $attrs['custom_dropdown_options_source'] ) ) { ?> data-um-parent="<?php echo esc_attr( $attrs['parent_dropdown_relationship'] ); ?>" data-mebers-directory="yes" data-um-ajax-source="<?php echo esc_attr( $attrs['custom_dropdown_options_source'] ) ?>"<?php } ?>>
258
 
259
  <option></option>
260
 
264
 
265
  $opt = $v;
266
 
267
+ if ( strstr( $filter, 'role_' ) ) {
268
  $opt = $k;
269
+ }
270
 
271
+ if ( isset( $attrs['custom'] ) ) {
272
  $opt = $k;
273
+ } ?>
274
 
275
+ <option value="<?php echo esc_attr( $opt ); ?>" <?php um_select_if_in_query_params( $filter, $opt ); ?> <?php selected( isset( $_GET[ $filter ] ) && $_GET[ $filter ] == $v ) ?>><?php esc_html_e( $v, 'ultimate-member'); ?></option>
 
 
 
276
 
277
  <?php } ?>
278
 
279
+ </select>
280
 
281
  <?php
282
 
283
  break;
284
 
285
  case 'text':
 
286
  ?>
287
 
288
+ <input type="text" autocomplete="off" name="<?php echo esc_attr( $filter ); ?>" id="<?php echo esc_attr( $filter ); ?>"
289
+ placeholder="<?php echo isset( $attrs['label'] ) ? esc_attr__( $attrs['label'], 'ultimate-member' ) : ''; ?>"
290
+ value="<?php echo esc_attr( um_queried_search_value( $filter, false ) ); ?>" />
291
 
292
  <?php
 
293
  break;
294
 
295
  }
306
  */
307
  function um_search_select_fields( $attrs ) {
308
 
309
+ if ( ! empty( $attrs['metakey'] ) && strstr( $attrs['metakey'], 'role_' ) ) {
310
 
311
  $shortcode_roles = get_post_meta( UM()->shortcodes()->form_id, '_um_roles', true );
312
  $um_roles = UM()->roles()->get_roles( false );
313
 
314
+ if ( ! empty( $shortcode_roles ) && is_array( $shortcode_roles ) ) {
315
 
316
  $attrs['options'] = array();
317
 
371
  $query_args = apply_filters( 'um_prepare_user_query_args', array(), $args );
372
 
373
  // Prepare for BIG SELECT query
374
+ $wpdb->query( 'SET SQL_BIG_SELECTS=1' );
375
 
376
  // number of profiles for mobile
377
+ if ( UM()->mobile()->isMobile() && isset( $profiles_per_page_mobile ) ) {
378
  $profiles_per_page = $profiles_per_page_mobile;
379
  }
380
 
381
  $query_args['number'] = $profiles_per_page;
382
 
383
+ if ( isset( $args['number'] ) ) {
384
  $query_args['number'] = $args['number'];
385
  }
386
 
387
+ if ( isset( $args['page'] ) ) {
388
  $members_page = $args['page'];
389
+ } else {
390
  $members_page = isset( $_REQUEST['members_page'] ) ? $_REQUEST['members_page'] : 1;
391
  }
392
 
478
  if ( isset( $pages_to_add ) ) {
479
 
480
  asort( $pages_to_add );
481
+ $pages_to_show = array_merge( (array) $pages_to_add, $pages_to_show );
482
 
483
  if ( count( $pages_to_show ) < 5 ) {
484
+ if ( max( $pages_to_show ) - $array['page'] >= 2 ) {
485
+ $pages_to_show[] = max( $pages_to_show ) + 1;
486
  if ( count( $pages_to_show ) < 5 ) {
487
+ $pages_to_show[] = max( $pages_to_show ) + 1;
488
  }
489
+ } else if ( $array['page'] - min( $pages_to_show ) >= 2 ) {
490
+ $pages_to_show[] = min( $pages_to_show ) - 1;
491
  if ( count( $pages_to_show ) < 5 ) {
492
+ $pages_to_show[] = min( $pages_to_show ) - 1;
493
  }
494
  }
495
  }
528
 
529
  if ( $array['total_pages'] < count( $array['pages_to_show'] ) ) {
530
  foreach ( $array['pages_to_show'] as $k => $v ) {
531
+ if ( $v > $array['total_pages'] ) unset( $array['pages_to_show'][ $k ] );
532
  }
533
  }
534
 
576
 
577
  $arr_where = explode("\n", $vars->query_where );
578
  $arr_left_join = explode("LEFT JOIN", $vars->query_from );
579
+ $arr_user_photo_key = array( 'synced_profile_photo', 'profile_photo', 'synced_gravatar_hashed_id' );
580
 
581
  foreach ( $arr_where as $where ) {
582
 
583
+ foreach ( $arr_user_photo_key as $key ) {
584
 
585
+ if ( strpos( $where, "'" . $key . "'" ) > -1 ) {
586
 
587
  // find usermeta key
588
  preg_match("#mt[0-9]+.#", $where, $meta_key );
597
  $where_exists = 'um_exist EXISTS( SELECT '.$wpdb->usermeta.'.umeta_id FROM '.$wpdb->usermeta.' WHERE '.$wpdb->usermeta.'.user_id = '.$wpdb->users.'.ID AND '.$wpdb->usermeta.'.meta_key IN("'.implode('","', $arr_user_photo_key ).'") AND '.$wpdb->usermeta.'.meta_value != "" )';
598
 
599
  // Replace LEFT JOIN clauses with EXISTS and remove duplicates
600
+ if ( strpos( $vars->query_where, 'um_exist' ) === FALSE ) {
601
  $vars->query_where = str_replace( $where , $where_exists, $vars->query_where );
602
+ } else {
603
  $vars->query_where = str_replace( $where , '1=0', $vars->query_where );
604
  }
605
  }
608
 
609
  }
610
 
611
+ $vars->query_where = str_replace( "\n", "", $vars->query_where );
612
+ $vars->query_where = str_replace( "um_exist", "", $vars->query_where );
613
 
614
  return $vars;
615
 
includes/core/class-profile.php CHANGED
@@ -52,8 +52,9 @@ if ( ! class_exists( 'um\core\Profile' ) ) {
52
  */
53
  extract( $_REQUEST );
54
 
55
- if ( ! UM()->roles()->um_current_user_can( 'edit', $user_id ) )
56
  die( __( 'You can not edit this user' ) );
 
57
 
58
  UM()->files()->delete_core_user_photo( $user_id, 'profile_photo' );
59
  }
@@ -70,8 +71,9 @@ if ( ! class_exists( 'um\core\Profile' ) ) {
70
  */
71
  extract( $_REQUEST );
72
 
73
- if ( ! UM()->roles()->um_current_user_can( 'edit', $user_id ) )
74
  die( __( 'You can not edit this user' ) );
 
75
 
76
  UM()->files()->delete_core_user_photo( $user_id, 'cover_photo' );
77
  }
@@ -355,8 +357,8 @@ if ( ! class_exists( 'um\core\Profile' ) ) {
355
 
356
  $this->active_subnav = null;
357
 
358
- if ( get_query_var('subnav') ) {
359
- $this->active_subnav = get_query_var('subnav');
360
  }
361
 
362
  return $this->active_subnav;
@@ -420,7 +422,7 @@ if ( ! class_exists( 'um\core\Profile' ) ) {
420
  function new_ui( $position, $element, $trigger, $items ) {
421
  ?>
422
 
423
- <div class="um-dropdown" data-element="<?php echo $element; ?>" data-position="<?php echo $position; ?>" data-trigger="<?php echo $trigger; ?>">
424
  <div class="um-dropdown-b">
425
  <div class="um-dropdown-arr"><i class=""></i></div>
426
  <ul>
52
  */
53
  extract( $_REQUEST );
54
 
55
+ if ( ! UM()->roles()->um_current_user_can( 'edit', $user_id ) ) {
56
  die( __( 'You can not edit this user' ) );
57
+ }
58
 
59
  UM()->files()->delete_core_user_photo( $user_id, 'profile_photo' );
60
  }
71
  */
72
  extract( $_REQUEST );
73
 
74
+ if ( ! UM()->roles()->um_current_user_can( 'edit', $user_id ) ) {
75
  die( __( 'You can not edit this user' ) );
76
+ }
77
 
78
  UM()->files()->delete_core_user_photo( $user_id, 'cover_photo' );
79
  }
357
 
358
  $this->active_subnav = null;
359
 
360
+ if ( get_query_var( 'subnav' ) ) {
361
+ $this->active_subnav = get_query_var( 'subnav' );
362
  }
363
 
364
  return $this->active_subnav;
422
  function new_ui( $position, $element, $trigger, $items ) {
423
  ?>
424
 
425
+ <div class="um-dropdown" data-element="<?php echo esc_attr( $element ); ?>" data-position="<?php echo esc_attr( $position ); ?>" data-trigger="<?php echo esc_attr( $trigger ); ?>">
426
  <div class="um-dropdown-b">
427
  <div class="um-dropdown-arr"><i class=""></i></div>
428
  <ul>
includes/core/class-query.php CHANGED
@@ -395,17 +395,18 @@ if ( ! class_exists( 'um\core\Query' ) ) {
395
  /**
396
  * Capture selected value
397
  *
398
- * @param $key
399
- * @param null $array_key
400
- * @param null $fallback
401
  * @return int|mixed|null|string
402
  */
403
- function get_meta_value( $key, $array_key = null, $fallback = null ) {
404
  $post_id = get_the_ID();
405
  $try = get_post_meta( $post_id, $key, true );
406
 
407
- //old version if ( ! empty( $try ) )
408
- if ( false !== $try )
 
409
  if ( is_array( $try ) && in_array( $array_key, $try ) ) {
410
  return $array_key;
411
  } else if ( is_array( $try ) ) {
@@ -413,6 +414,7 @@ if ( ! class_exists( 'um\core\Query' ) ) {
413
  } else {
414
  return $try;
415
  }
 
416
 
417
  if ( $fallback == 'na' ) {
418
  $fallback = 0;
395
  /**
396
  * Capture selected value
397
  *
398
+ * @param string $key
399
+ * @param string|null $array_key
400
+ * @param bool $fallback
401
  * @return int|mixed|null|string
402
  */
403
+ function get_meta_value( $key, $array_key = null, $fallback = false ) {
404
  $post_id = get_the_ID();
405
  $try = get_post_meta( $post_id, $key, true );
406
 
407
+ //old-old version if ( ! empty( $try ) )
408
+ //old version if ( $try !== false )
409
+ if ( $try != '' ) {
410
  if ( is_array( $try ) && in_array( $array_key, $try ) ) {
411
  return $array_key;
412
  } else if ( is_array( $try ) ) {
414
  } else {
415
  return $try;
416
  }
417
+ }
418
 
419
  if ( $fallback == 'na' ) {
420
  $fallback = 0;
includes/core/class-shortcodes.php CHANGED
@@ -376,7 +376,7 @@ if ( ! class_exists( 'um\core\Shortcodes' ) ) {
376
  }
377
 
378
  $output = ob_get_clean();
379
- return $output;
380
  }
381
 
382
 
376
  }
377
 
378
  $output = ob_get_clean();
379
+ return htmlspecialchars_decode( $output );
380
  }
381
 
382
 
includes/core/class-uploader.php CHANGED
@@ -337,7 +337,7 @@ if ( ! class_exists( 'um\core\Uploader' ) ) {
337
  $allowed_image_mimes[ $atype['ext'] ] = $atype['type'];
338
  }
339
 
340
- $image_compression = UM()->options()->get('image_compression');
341
 
342
  $upload_overrides = array(
343
  'test_form' => false,
337
  $allowed_image_mimes[ $atype['ext'] ] = $atype['type'];
338
  }
339
 
340
+ $image_compression = UM()->options()->get( 'image_compression' );
341
 
342
  $upload_overrides = array(
343
  'test_form' => false,
includes/core/class-user.php CHANGED
@@ -53,18 +53,18 @@ if ( ! class_exists( 'um\core\User' ) ) {
53
  $this->target_id = null;
54
 
55
  // When the cache should be cleared
56
- add_action('um_delete_user_hook', array(&$this, 'remove_cached_queue') );
57
- add_action('um_delete_user', array( &$this, 'remove_cache' ), 10, 1 );
58
 
59
- add_action('um_after_user_status_is_changed_hook', array(&$this, 'remove_cached_queue') );
60
 
61
  // When user cache should be cleared
62
- add_action('um_after_user_updated', array(&$this, 'remove_cache') );
63
- add_action('um_after_user_account_updated', array(&$this, 'remove_cache') );
64
- add_action('personal_options_update', array(&$this, 'remove_cache') );
65
  //add_action('edit_user_profile_update', array(&$this, 'remove_cache') );
66
- add_action('um_when_role_is_set', array(&$this, 'remove_cache') );
67
- add_action('um_when_status_is_set', array(&$this, 'remove_cache') );
68
 
69
  add_action( 'show_user_profile', array( $this, 'profile_form_additional_section' ), 10 );
70
  add_action( 'user_new_form', array( $this, 'profile_form_additional_section' ), 10 );
@@ -164,8 +164,9 @@ if ( ! class_exists( 'um\core\User' ) ) {
164
  *
165
  */
166
  function check_membership() {
167
- if ( ! is_user_logged_in() )
168
  return;
 
169
 
170
  um_fetch_user( get_current_user_id() );
171
  $status = um_user( 'account_status' );
@@ -209,8 +210,9 @@ if ( ! class_exists( 'um\core\User' ) ) {
209
  */
210
  function add_um_role_wpmu_new_user( $user_id ) {
211
  // Bail if no user ID was passed
212
- if ( empty( $user_id ) )
213
  return;
 
214
 
215
  if ( ! empty( $_POST['um-role'] ) ) {
216
  if ( ! user_can( $user_id, $_POST['um-role'] ) ) {
@@ -289,7 +291,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
289
  //get default username permalink if it's empty then return false
290
  if ( empty( $profile_slug ) ) {
291
  if ( $permalink_base != 'user_login' ) {
292
- $profile_slug = get_user_meta( $user_id, "um_user_profile_url_slug_user_login", true );
293
  }
294
 
295
  if ( empty( $profile_slug ) ) {
@@ -581,29 +583,32 @@ if ( ! class_exists( 'um\core\User' ) ) {
581
  $role_meta = get_option( "um_role_{$role_key}_meta" );
582
 
583
  if ( $role_meta ) {
584
- //$role_meta['name'] = 'UM ' . $role_meta['name'];
585
- $roles['um_' . $role_key] = $role_meta;
586
  }
587
  }
588
  }
589
 
590
- if ( empty( $roles ) )
591
  return $content;
 
592
 
593
  global $pagenow;
594
- if ( 'profile.php' == $pagenow )
595
  return $content;
 
596
 
597
  $style = '';
598
  $user_role = false;
599
  if ( $userdata !== 'add-new-user' && $userdata !== 'add-existing-user' ) {
600
  // Bail if current user cannot edit users
601
- if ( ! current_user_can( 'edit_user', $userdata->ID ) )
602
  return $content;
 
603
 
604
  $user_role = UM()->roles()->get_um_user_role( $userdata->ID );
605
- if ( $user_role && ! empty( $userdata->roles ) && count( $userdata->roles ) == 1 )
606
  $style = 'style="display:none;"';
 
607
 
608
  }
609
 
@@ -611,7 +616,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
611
 
612
  ob_start(); ?>
613
 
614
- <div id="<?php echo $class ?>" <?php echo $style ?>>
615
  <table class="form-table">
616
  <tbody>
617
  <tr>
@@ -620,7 +625,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
620
  <select name="um-role" id="um-role">
621
  <option value="" <?php selected( empty( $user_role ) ) ?>><?php esc_html_e( '&mdash; No role for Ultimate Member &mdash;', 'ultimate-member' ); ?></option>
622
  <?php foreach ( $roles as $role_id => $details ) { ?>
623
- <option <?php selected( $user_role, $role_id ); ?> value="<?php echo esc_attr( $role_id ); ?>"><?php echo $details['name']; ?></option>
624
  <?php } ?>
625
  </select>
626
  </td>
@@ -651,7 +656,9 @@ if ( ! class_exists( 'um\core\User' ) ) {
651
  * @return array
652
  */
653
  function toArray( $obj ) {
654
- if ( is_object( $obj ) ) $obj = (array)$obj;
 
 
655
  if ( is_array( $obj ) ) {
656
  $new = array();
657
  foreach ( $obj as $key => $val ) {
@@ -668,17 +675,17 @@ if ( ! class_exists( 'um\core\User' ) ) {
668
  /**
669
  * @param $user_id
670
  *
671
- * @return mixed|string|void
672
  */
673
  function get_cached_data( $user_id ) {
674
 
675
  $disallow_cache = UM()->options()->get( 'um_profile_object_cache_stop' );
676
- if( $disallow_cache ){
677
  return '';
678
  }
679
 
680
  if ( is_numeric( $user_id ) && $user_id > 0 ) {
681
- $find_user = get_option("um_cache_userdata_{$user_id}");
682
  if ( $find_user ) {
683
  /**
684
  * UM hook
@@ -916,10 +923,11 @@ if ( ! class_exists( 'um\core\User' ) ) {
916
  * Clean user profile
917
  */
918
  function clean() {
919
- foreach($this->profile as $key => $value){
920
- foreach($this->banned_keys as $ban){
921
- if (strstr($key, $ban) || is_numeric($key) )
922
- unset($this->profile[$key]);
 
923
  }
924
  }
925
  }
@@ -949,7 +957,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
949
 
950
  wp_set_auth_cookie( $user_id, $rememberme );
951
 
952
- $user = get_user_by('ID', $user_id );
953
 
954
  do_action( 'wp_login', $user->user_login, $user );
955
 
@@ -1197,21 +1205,21 @@ if ( ! class_exists( 'um\core\User' ) ) {
1197
  * Password reset email
1198
  */
1199
  function password_reset() {
1200
- $userdata = get_userdata( um_user('ID') );
1201
  get_password_reset_key( $userdata );
1202
 
1203
  add_filter( 'um_template_tags_patterns_hook', array( UM()->password(), 'add_placeholder' ), 10, 1 );
1204
  add_filter( 'um_template_tags_replaces_hook', array( UM()->password(), 'add_replace_placeholder' ), 10, 1 );
1205
 
1206
- UM()->mail()->send( um_user('user_email'), 'resetpw_email' );
1207
  }
1208
 
1209
 
1210
  /**
1211
  * Password changed email
1212
  */
1213
- function password_changed(){
1214
- UM()->mail()->send( um_user('user_email'), 'changedpw_email' );
1215
  }
1216
 
1217
 
@@ -1242,19 +1250,19 @@ if ( ! class_exists( 'um\core\User' ) ) {
1242
 
1243
  delete_option( "um_cache_userdata_{$user_id}" );
1244
 
1245
- if ( um_user('account_status') == 'awaiting_admin_review' ) {
1246
  $userdata = get_userdata( $user_id );
1247
  get_password_reset_key( $userdata );
1248
- UM()->mail()->send( um_user('user_email'), 'approved_email' );
1249
 
1250
  } else {
1251
  $userdata = get_userdata( $user_id );
1252
  get_password_reset_key( $userdata );
1253
- UM()->mail()->send( um_user('user_email'), 'welcome_email');
1254
  }
1255
 
1256
- $this->set_status('approved');
1257
- $this->delete_meta('account_secret_hash');
1258
 
1259
  /**
1260
  * UM hook
@@ -1284,8 +1292,8 @@ if ( ! class_exists( 'um\core\User' ) ) {
1284
  */
1285
  function email_pending() {
1286
  $this->assign_secretkey();
1287
- $this->set_status('awaiting_email_confirmation');
1288
- UM()->mail()->send( um_user('user_email'), 'checkmail_email' );
1289
  }
1290
 
1291
 
@@ -1327,8 +1335,8 @@ if ( ! class_exists( 'um\core\User' ) ) {
1327
  *
1328
  */
1329
  function reject() {
1330
- $this->set_status('rejected');
1331
- UM()->mail()->send( um_user('user_email'), 'rejected_email' );
1332
  }
1333
 
1334
 
@@ -1452,7 +1460,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
1452
  function update_usermeta_info( $key ) {
1453
  // delete the key first just in case
1454
  delete_user_meta( $this->id, $key );
1455
- update_user_meta( $this->id, $key, $this->profile[$key] );
1456
  }
1457
 
1458
 
@@ -1474,7 +1482,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
1474
 
1475
  *
1476
  */
1477
- function delete_meta( $key ){
1478
  delete_user_meta( $this->id, $key );
1479
  }
1480
 
@@ -1518,7 +1526,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
1518
  $url = add_query_arg( array( 'um_action' => $id, 'uid' => um_profile_id() ) );
1519
  /*$url = add_query_arg( 'um_action', $id );
1520
  $url = add_query_arg( 'uid', um_profile_id(), $url );*/
1521
- $items[] = '<a href="' . $url .'" class="real_url ' . esc_attr( $id ) . '-item">' . $arr['label'] . '</a>';
1522
  }
1523
  return $items;
1524
  }
@@ -1548,7 +1556,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
1548
  */
1549
  function is_private_profile( $user_id ) {
1550
  $privacy = get_user_meta( $user_id, 'profile_privacy', true );
1551
- if ( $privacy == __('Only me','ultimate-member') || $privacy == 'Only me' ) {
1552
  return true;
1553
  }
1554
  return false;
@@ -1730,17 +1738,24 @@ if ( ! class_exists( 'um\core\User' ) ) {
1730
 
1731
  $value = UM()->validation()->safe_name_in_url( $value );
1732
 
1733
- $ids = get_users(array( 'fields' => 'ID', 'meta_key' => $key,'meta_value' => $value,'meta_compare' => '=') );
1734
- if ( !isset( $ids ) || empty( $ids ) ) return false;
1735
- foreach( $ids as $k => $id ) {
1736
- if ( $id == um_user('ID') ){
1737
- unset( $ids[$k] );
 
 
 
 
1738
  } else {
1739
  $duplicates[] = $id;
1740
  }
 
1741
  }
1742
- if ( isset( $duplicates ) && !empty( $duplicates ) )
 
1743
  return count( $duplicates );
 
1744
  return false;
1745
  }
1746
 
@@ -1763,57 +1778,55 @@ if ( ! class_exists( 'um\core\User' ) ) {
1763
 
1764
  // Search by Profile Slug
1765
  $args = array(
1766
- "fields" => array("ID"),
1767
  'meta_query' => array(
1768
  'relation' => 'OR',
1769
  array(
1770
- 'key' => 'um_user_profile_url_slug_'.$permalink_base,
1771
- 'value' => strtolower( $raw_value ),
1772
- 'compare' => '='
1773
-
1774
- )
1775
-
1776
- )
1777
  );
1778
 
1779
 
1780
  $ids = new \WP_User_Query( $args );
1781
 
1782
- if( $ids->total_users > 0 ){
1783
  $um_user_query = current( $ids->get_results() );
1784
  return $um_user_query->ID;
1785
  }
1786
 
1787
  // Search by Display Name or ID
1788
  $args = array(
1789
- "fields" => array("ID"),
1790
- "search" => $value,
1791
- 'search_columns' => array( 'display_name','ID' )
1792
  );
1793
 
1794
  $ids = new \WP_User_Query( $args );
1795
 
1796
- if( $ids->total_users > 0 ){
1797
  $um_user_query = current( $ids->get_results() );
1798
  return $um_user_query->ID;
1799
  }
1800
 
1801
 
1802
  // Search By User Login
1803
- $value = str_replace(".", "_", $value );
1804
- $value = str_replace(" ", "", $value );
1805
 
1806
  $args = array(
1807
- "fields" => array("ID"),
1808
- "search" => $value,
1809
- 'search_columns' => array(
1810
  'user_login',
1811
  )
1812
  );
1813
 
1814
  $ids = new \WP_User_Query( $args );
1815
 
1816
- if( $ids->total_users > 0 ){
1817
  $um_user_query = current( $ids->get_results() );
1818
  return $um_user_query->ID;
1819
  }
@@ -1846,7 +1859,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
1846
  */
1847
  function user_exists_by_id( $user_id ) {
1848
  $aux = get_userdata( intval( $user_id ) );
1849
- if( $aux == false ) {
1850
  return false;
1851
  } else {
1852
  return $user_id;
@@ -1878,8 +1891,8 @@ if ( ! class_exists( 'um\core\User' ) ) {
1878
 
1879
  $user_id = false;
1880
 
1881
- $ids = get_users( array( 'fields' => 'ID', 'meta_key' => 'um_email_as_username_'.$slug ) );
1882
- if ( isset( $ids[0] ) && ! empty( $ids[0] ) ){
1883
  $user_id = $ids[0];
1884
  }
1885
 
53
  $this->target_id = null;
54
 
55
  // When the cache should be cleared
56
+ add_action( 'um_delete_user_hook', array( &$this, 'remove_cached_queue' ) );
57
+ add_action( 'um_delete_user', array( &$this, 'remove_cache' ), 10, 1 );
58
 
59
+ add_action( 'um_after_user_status_is_changed_hook', array( &$this, 'remove_cached_queue' ) );
60
 
61
  // When user cache should be cleared
62
+ add_action( 'um_after_user_updated', array( &$this, 'remove_cache' ) );
63
+ add_action( 'um_after_user_account_updated', array( &$this, 'remove_cache' ) );
64
+ add_action( 'personal_options_update', array( &$this, 'remove_cache' ) );
65
  //add_action('edit_user_profile_update', array(&$this, 'remove_cache') );
66
+ add_action( 'um_when_role_is_set', array( &$this, 'remove_cache' ) );
67
+ add_action( 'um_when_status_is_set', array( &$this, 'remove_cache' ) );
68
 
69
  add_action( 'show_user_profile', array( $this, 'profile_form_additional_section' ), 10 );
70
  add_action( 'user_new_form', array( $this, 'profile_form_additional_section' ), 10 );
164
  *
165
  */
166
  function check_membership() {
167
+ if ( ! is_user_logged_in() ) {
168
  return;
169
+ }
170
 
171
  um_fetch_user( get_current_user_id() );
172
  $status = um_user( 'account_status' );
210
  */
211
  function add_um_role_wpmu_new_user( $user_id ) {
212
  // Bail if no user ID was passed
213
+ if ( empty( $user_id ) ) {
214
  return;
215
+ }
216
 
217
  if ( ! empty( $_POST['um-role'] ) ) {
218
  if ( ! user_can( $user_id, $_POST['um-role'] ) ) {
291
  //get default username permalink if it's empty then return false
292
  if ( empty( $profile_slug ) ) {
293
  if ( $permalink_base != 'user_login' ) {
294
+ $profile_slug = get_user_meta( $user_id, 'um_user_profile_url_slug_user_login', true );
295
  }
296
 
297
  if ( empty( $profile_slug ) ) {
583
  $role_meta = get_option( "um_role_{$role_key}_meta" );
584
 
585
  if ( $role_meta ) {
586
+ $roles[ 'um_' . $role_key ] = $role_meta;
 
587
  }
588
  }
589
  }
590
 
591
+ if ( empty( $roles ) ) {
592
  return $content;
593
+ }
594
 
595
  global $pagenow;
596
+ if ( 'profile.php' == $pagenow ) {
597
  return $content;
598
+ }
599
 
600
  $style = '';
601
  $user_role = false;
602
  if ( $userdata !== 'add-new-user' && $userdata !== 'add-existing-user' ) {
603
  // Bail if current user cannot edit users
604
+ if ( ! current_user_can( 'edit_user', $userdata->ID ) ) {
605
  return $content;
606
+ }
607
 
608
  $user_role = UM()->roles()->get_um_user_role( $userdata->ID );
609
+ if ( $user_role && ! empty( $userdata->roles ) && count( $userdata->roles ) == 1 ) {
610
  $style = 'style="display:none;"';
611
+ }
612
 
613
  }
614
 
616
 
617
  ob_start(); ?>
618
 
619
+ <div id="<?php echo esc_attr( $class ) ?>" <?php echo $style ?>>
620
  <table class="form-table">
621
  <tbody>
622
  <tr>
625
  <select name="um-role" id="um-role">
626
  <option value="" <?php selected( empty( $user_role ) ) ?>><?php esc_html_e( '&mdash; No role for Ultimate Member &mdash;', 'ultimate-member' ); ?></option>
627
  <?php foreach ( $roles as $role_id => $details ) { ?>
628
+ <option <?php selected( $user_role, $role_id ); ?> value="<?php echo esc_attr( $role_id ); ?>"><?php echo esc_html( $details['name'] ); ?></option>
629
  <?php } ?>
630
  </select>
631
  </td>
656
  * @return array
657
  */
658
  function toArray( $obj ) {
659
+ if ( is_object( $obj ) ) {
660
+ $obj = (array) $obj;
661
+ }
662
  if ( is_array( $obj ) ) {
663
  $new = array();
664
  foreach ( $obj as $key => $val ) {
675
  /**
676
  * @param $user_id
677
  *
678
+ * @return mixed|string
679
  */
680
  function get_cached_data( $user_id ) {
681
 
682
  $disallow_cache = UM()->options()->get( 'um_profile_object_cache_stop' );
683
+ if ( $disallow_cache ) {
684
  return '';
685
  }
686
 
687
  if ( is_numeric( $user_id ) && $user_id > 0 ) {
688
+ $find_user = get_option( "um_cache_userdata_{$user_id}" );
689
  if ( $find_user ) {
690
  /**
691
  * UM hook
923
  * Clean user profile
924
  */
925
  function clean() {
926
+ foreach ( $this->profile as $key => $value ) {
927
+ foreach ( $this->banned_keys as $ban ) {
928
+ if ( strstr( $key, $ban ) || is_numeric( $key ) ) {
929
+ unset( $this->profile[ $key ] );
930
+ }
931
  }
932
  }
933
  }
957
 
958
  wp_set_auth_cookie( $user_id, $rememberme );
959
 
960
+ $user = get_user_by( 'ID', $user_id );
961
 
962
  do_action( 'wp_login', $user->user_login, $user );
963
 
1205
  * Password reset email
1206
  */
1207
  function password_reset() {
1208
+ $userdata = get_userdata( um_user( 'ID' ) );
1209
  get_password_reset_key( $userdata );
1210
 
1211
  add_filter( 'um_template_tags_patterns_hook', array( UM()->password(), 'add_placeholder' ), 10, 1 );
1212
  add_filter( 'um_template_tags_replaces_hook', array( UM()->password(), 'add_replace_placeholder' ), 10, 1 );
1213
 
1214
+ UM()->mail()->send( um_user( 'user_email' ), 'resetpw_email' );
1215
  }
1216
 
1217
 
1218
  /**
1219
  * Password changed email
1220
  */
1221
+ function password_changed() {
1222
+ UM()->mail()->send( um_user( 'user_email' ), 'changedpw_email' );
1223
  }
1224
 
1225
 
1250
 
1251
  delete_option( "um_cache_userdata_{$user_id}" );
1252
 
1253
+ if ( um_user( 'account_status' ) == 'awaiting_admin_review' ) {
1254
  $userdata = get_userdata( $user_id );
1255
  get_password_reset_key( $userdata );
1256
+ UM()->mail()->send( um_user( 'user_email' ), 'approved_email' );
1257
 
1258
  } else {
1259
  $userdata = get_userdata( $user_id );
1260
  get_password_reset_key( $userdata );
1261
+ UM()->mail()->send( um_user( 'user_email' ), 'welcome_email' );
1262
  }
1263
 
1264
+ $this->set_status( 'approved' );
1265
+ $this->delete_meta( 'account_secret_hash' );
1266
 
1267
  /**
1268
  * UM hook
1292
  */
1293
  function email_pending() {
1294
  $this->assign_secretkey();
1295
+ $this->set_status( 'awaiting_email_confirmation' );
1296
+ UM()->mail()->send( um_user( 'user_email' ), 'checkmail_email' );
1297
  }
1298
 
1299
 
1335
  *
1336
  */
1337
  function reject() {
1338
+ $this->set_status( 'rejected' );
1339
+ UM()->mail()->send( um_user( 'user_email' ), 'rejected_email' );
1340
  }
1341
 
1342
 
1460
  function update_usermeta_info( $key ) {
1461
  // delete the key first just in case
1462
  delete_user_meta( $this->id, $key );
1463
+ update_user_meta( $this->id, $key, $this->profile[ $key ] );
1464
  }
1465
 
1466
 
1482
 
1483
  *
1484
  */
1485
+ function delete_meta( $key ) {
1486
  delete_user_meta( $this->id, $key );
1487
  }
1488
 
1526
  $url = add_query_arg( array( 'um_action' => $id, 'uid' => um_profile_id() ) );
1527
  /*$url = add_query_arg( 'um_action', $id );
1528
  $url = add_query_arg( 'uid', um_profile_id(), $url );*/
1529
+ $items[] = '<a href="' . esc_url( $url ) .'" class="real_url ' . esc_attr( $id ) . '-item">' . esc_html( $arr['label'] ) . '</a>';
1530
  }
1531
  return $items;
1532
  }
1556
  */
1557
  function is_private_profile( $user_id ) {
1558
  $privacy = get_user_meta( $user_id, 'profile_privacy', true );
1559
+ if ( $privacy == __( 'Only me', 'ultimate-member' ) || $privacy == 'Only me' ) {
1560
  return true;
1561
  }
1562
  return false;
1738
 
1739
  $value = UM()->validation()->safe_name_in_url( $value );
1740
 
1741
+ $ids = get_users( array( 'fields' => 'ID', 'meta_key' => $key, 'meta_value' => $value, 'meta_compare' => '=' ) );
1742
+ if ( ! isset( $ids ) || empty( $ids ) ) {
1743
+ return false;
1744
+ }
1745
+
1746
+ foreach ( $ids as $k => $id ) {
1747
+
1748
+ if ( $id == um_user('ID') ) {
1749
+ unset( $ids[ $k ] );
1750
  } else {
1751
  $duplicates[] = $id;
1752
  }
1753
+
1754
  }
1755
+
1756
+ if ( ! empty( $duplicates ) ) {
1757
  return count( $duplicates );
1758
+ }
1759
  return false;
1760
  }
1761
 
1778
 
1779
  // Search by Profile Slug
1780
  $args = array(
1781
+ 'fields' => array( 'ID' ),
1782
  'meta_query' => array(
1783
  'relation' => 'OR',
1784
  array(
1785
+ 'key' => 'um_user_profile_url_slug_' . $permalink_base,
1786
+ 'value' => strtolower( $raw_value ),
1787
+ 'compare' => '=',
1788
+ ),
1789
+ ),
 
 
1790
  );
1791
 
1792
 
1793
  $ids = new \WP_User_Query( $args );
1794
 
1795
+ if ( $ids->total_users > 0 ) {
1796
  $um_user_query = current( $ids->get_results() );
1797
  return $um_user_query->ID;
1798
  }
1799
 
1800
  // Search by Display Name or ID
1801
  $args = array(
1802
+ 'fields' => array( 'ID' ),
1803
+ 'search' => $value,
1804
+ 'search_columns' => array( 'display_name', 'ID' ),
1805
  );
1806
 
1807
  $ids = new \WP_User_Query( $args );
1808
 
1809
+ if ( $ids->total_users > 0 ) {
1810
  $um_user_query = current( $ids->get_results() );
1811
  return $um_user_query->ID;
1812
  }
1813
 
1814
 
1815
  // Search By User Login
1816
+ $value = str_replace( ".", "_", $value );
1817
+ $value = str_replace( " ", "", $value );
1818
 
1819
  $args = array(
1820
+ 'fields' => array( 'ID' ),
1821
+ 'search' => $value,
1822
+ 'search_columns' => array(
1823
  'user_login',
1824
  )
1825
  );
1826
 
1827
  $ids = new \WP_User_Query( $args );
1828
 
1829
+ if ( $ids->total_users > 0 ) {
1830
  $um_user_query = current( $ids->get_results() );
1831
  return $um_user_query->ID;
1832
  }
1859
  */
1860
  function user_exists_by_id( $user_id ) {
1861
  $aux = get_userdata( intval( $user_id ) );
1862
+ if ( $aux == false ) {
1863
  return false;
1864
  } else {
1865
  return $user_id;
1891
 
1892
  $user_id = false;
1893
 
1894
+ $ids = get_users( array( 'fields' => 'ID', 'meta_key' => 'um_email_as_username_' . $slug ) );
1895
+ if ( ! empty( $ids[0] ) ) {
1896
  $user_id = $ids[0];
1897
  }
1898
 
includes/core/class-validation.php CHANGED
@@ -82,6 +82,23 @@ if ( ! class_exists( 'um\core\Validation' ) ) {
82
  $stripslashes = stripslashes( $value );
83
  }
84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  if ( in_array( $fields[ $key ]['type'], array( 'select' ) ) &&
86
  ! empty( $stripslashes ) && ! empty( $fields[ $key ]['options'] ) &&
87
  ! in_array( $stripslashes, array_map( 'trim', $fields[ $key ]['options'] ) ) ) {
@@ -194,10 +211,12 @@ if ( ! class_exists( 'um\core\Validation' ) ) {
194
  */
195
  $regex_safe_username = apply_filters('um_validation_safe_username_regex',$this->regex_safe );
196
 
197
- if ( is_email( $string ) )
198
  return true;
199
- if ( !is_email( $string) && !preg_match( $regex_safe_username, $string ) )
 
200
  return false;
 
201
  return true;
202
  }
203
 
@@ -232,9 +251,9 @@ if ( ! class_exists( 'um\core\Validation' ) ) {
232
  * }
233
  * ?>
234
  */
235
- $regex_safe_string = apply_filters('um_validation_safe_string_regex',$this->regex_safe );
236
 
237
- if ( !preg_match( $regex_safe_string, $string) ){
238
  return false;
239
  }
240
  return true;
@@ -249,10 +268,12 @@ if ( ! class_exists( 'um\core\Validation' ) ) {
249
  * @return bool
250
  */
251
  function is_phone_number( $string ) {
252
- if ( !$string )
253
  return true;
254
- if ( !preg_match( $this->regex_phone_number, $string) )
 
255
  return false;
 
256
  return true;
257
  }
258
 
@@ -266,19 +287,21 @@ if ( ! class_exists( 'um\core\Validation' ) ) {
266
  * @return bool
267
  */
268
  function is_url( $url, $social = false ){
269
- if ( !$url ) return true;
 
 
270
 
271
  if ( $social ) {
272
 
273
- if ( !filter_var($url, FILTER_VALIDATE_URL) && strstr( $url, $social ) ) { // starts with social requested
274
  return true;
275
  } else {
276
 
277
- if ( filter_var($url, FILTER_VALIDATE_URL) && strstr( $url, $social ) ) {
278
  return true;
279
- } elseif ( preg_match( $this->regex_safe, $url) ) {
280
 
281
- if ( strstr( $url, '.com' ) ){
282
  return false;
283
  } else {
284
  return true;
@@ -290,8 +313,9 @@ if ( ! class_exists( 'um\core\Validation' ) ) {
290
 
291
  } else {
292
 
293
- if ( strstr( $url, 'http://') || strstr( $url, 'https://') )
294
  return true;
 
295
 
296
  }
297
 
@@ -309,8 +333,8 @@ if ( ! class_exists( 'um\core\Validation' ) ) {
309
  function randomize( $length = 10 ) {
310
  $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
311
  $result = '';
312
- for ($i = 0; $i < $length; $i++) {
313
- $result .= $characters[rand(0, strlen($characters) - 1)];
314
  }
315
  return $result;
316
  }
@@ -337,22 +361,19 @@ if ( ! class_exists( 'um\core\Validation' ) ) {
337
  */
338
  function random_number( $len = false ) {
339
  $ints = array();
340
- $len = $len ? $len : rand(2,9);
341
- if($len > 9)
342
- {
343
- trigger_error('Maximum length should not exceed 9');
344
  return 0;
345
  }
346
- while(true)
347
- {
348
  $current = rand(0,9);
349
- if(!in_array($current,$ints))
350
- {
351
  $ints[] = $current;
352
  }
353
- if(count($ints) == $len)
354
- {
355
- return implode($ints);
356
  }
357
  }
358
  }
@@ -366,11 +387,19 @@ if ( ! class_exists( 'um\core\Validation' ) ) {
366
  *
367
  * @return bool
368
  */
369
- function validate_date( $date, $format='YYYY/MM/D' ) {
370
- if ( strlen( $date ) < strlen($format) ) return false;
371
- if ( $date[4] != '/' ) return false;
372
- if ( $date[7] != '/' ) return false;
373
- if ( false === strtotime($date) ) return false;
 
 
 
 
 
 
 
 
374
  return true;
375
  }
376
 
82
  $stripslashes = stripslashes( $value );
83
  }
84
 
85
+ // Dynamic dropdown options population
86
+ $has_custom_source = apply_filters("um_has_dropdown_options_source__{$key}", false );
87
+ if ( in_array( $fields[ $key ]['type'], array( 'select','multiselect' ) ) && $has_custom_source ){
88
+ $arr_options = apply_filters("um_get_field__{$key}", $fields[ $key ]['options'] );
89
+ $fields[ $key ]['options'] = array_keys( $arr_options['options'] );
90
+ }
91
+
92
+ // Dropdown options source from callback function
93
+ if ( in_array( $fields[ $key ]['type'], array( 'select','multiselect' ) ) &&
94
+ isset( $fields[ $key ]['custom_dropdown_options_source'] ) &&
95
+ ! empty( $fields[ $key ]['custom_dropdown_options_source'] ) &&
96
+ function_exists( $fields[ $key ]['custom_dropdown_options_source'] ) ){
97
+ $arr_options = call_user_func( $fields[ $key ]['custom_dropdown_options_source'] );
98
+ $fields[ $key ]['options'] = array_keys( $arr_options );
99
+ }
100
+
101
+ // Unset changed value that doesn't match the option list
102
  if ( in_array( $fields[ $key ]['type'], array( 'select' ) ) &&
103
  ! empty( $stripslashes ) && ! empty( $fields[ $key ]['options'] ) &&
104
  ! in_array( $stripslashes, array_map( 'trim', $fields[ $key ]['options'] ) ) ) {
211
  */
212
  $regex_safe_username = apply_filters('um_validation_safe_username_regex',$this->regex_safe );
213
 
214
+ if ( is_email( $string ) ) {
215
  return true;
216
+ }
217
+ if ( ! is_email( $string ) && ! preg_match( $regex_safe_username, $string ) ) {
218
  return false;
219
+ }
220
  return true;
221
  }
222
 
251
  * }
252
  * ?>
253
  */
254
+ $regex_safe_string = apply_filters( 'um_validation_safe_string_regex', $this->regex_safe );
255
 
256
+ if ( ! preg_match( $regex_safe_string, $string ) ) {
257
  return false;
258
  }
259
  return true;
268
  * @return bool
269
  */
270
  function is_phone_number( $string ) {
271
+ if ( ! $string ) {
272
  return true;
273
+ }
274
+ if ( ! preg_match( $this->regex_phone_number, $string ) ) {
275
  return false;
276
+ }
277
  return true;
278
  }
279
 
287
  * @return bool
288
  */
289
  function is_url( $url, $social = false ){
290
+ if ( ! $url ) {
291
+ return true;
292
+ }
293
 
294
  if ( $social ) {
295
 
296
+ if ( ! filter_var( $url, FILTER_VALIDATE_URL ) && strstr( $url, $social ) ) { // starts with social requested
297
  return true;
298
  } else {
299
 
300
+ if ( filter_var( $url, FILTER_VALIDATE_URL ) && strstr( $url, $social ) ) {
301
  return true;
302
+ } elseif ( preg_match( $this->regex_safe, $url ) ) {
303
 
304
+ if ( strstr( $url, '.com' ) ) {
305
  return false;
306
  } else {
307
  return true;
313
 
314
  } else {
315
 
316
+ if ( strstr( $url, 'http://' ) || strstr( $url, 'https://' ) ) {
317
  return true;
318
+ }
319
 
320
  }
321
 
333
  function randomize( $length = 10 ) {
334
  $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
335
  $result = '';
336
+ for ( $i = 0; $i < $length; $i++ ) {
337
+ $result .= $characters[ rand( 0, strlen( $characters ) - 1 ) ];
338
  }
339
  return $result;
340
  }
361
  */
362
  function random_number( $len = false ) {
363
  $ints = array();
364
+ $len = $len ? $len : rand( 2, 9 );
365
+ if ( $len > 9 ) {
366
+ trigger_error( 'Maximum length should not exceed 9' );
 
367
  return 0;
368
  }
369
+
370
+ while( true ) {
371
  $current = rand(0,9);
372
+ if ( ! in_array( $current, $ints ) ) {
 
373
  $ints[] = $current;
374
  }
375
+ if ( count( $ints ) == $len ) {
376
+ return implode( $ints );
 
377
  }
378
  }
379
  }
387
  *
388
  * @return bool
389
  */
390
+ function validate_date( $date, $format = 'YYYY/MM/D' ) {
391
+ if ( strlen( $date ) < strlen( $format ) ) {
392
+ return false;
393
+ }
394
+ if ( $date[4] != '/' ) {
395
+ return false;
396
+ }
397
+ if ( $date[7] != '/' ) {
398
+ return false;
399
+ }
400
+ if ( false === strtotime( $date ) ) {
401
+ return false;
402
+ }
403
  return true;
404
  }
405
 
includes/core/um-actions-account.php CHANGED
@@ -1,6 +1,5 @@
1
- <?php
2
- // Exit if accessed directly
3
- if ( ! defined( 'ABSPATH' ) ) exit;
4
 
5
  /**
6
  * Validate for errors in account form
@@ -250,7 +249,7 @@ function um_submit_account_details( $args ) {
250
  * ?>
251
  */
252
  $secure_fields = apply_filters( 'um_secure_account_fields', $account_fields, um_user( 'ID' ) );
253
-
254
  if ( is_array( $secure_fields ) ) {
255
  foreach ( $secure_fields as $tab_key => $fields ) {
256
  foreach ( $fields as $key => $value ) {
@@ -259,17 +258,17 @@ function um_submit_account_details( $args ) {
259
  }
260
  }
261
 
262
-
263
  $changes = array();
264
  foreach ( $_POST as $k => $v ) {
265
- if ( strstr( $k, 'password' ) || strstr( $k, 'um_account' ) || ! in_array( $k, $arr_fields ) )
266
  continue;
 
267
 
268
  $changes[ $k ] = $v;
269
  }
270
 
271
- if ( isset( $changes['hide_in_members'] ) && ( $changes['hide_in_members'] == __('No','ultimate-member') || $changes['hide_in_members'] == 'No' ) ) {
272
- delete_user_meta( um_user('ID'), 'hide_in_members' );
273
  unset( $changes['hide_in_members'] );
274
  }
275
 
@@ -391,7 +390,7 @@ function um_account_page_hidden_fields( $args ) {
391
  ?>
392
 
393
  <input type="hidden" name="_um_account" id="_um_account" value="1" />
394
- <input type="hidden" name="_um_account_tab" id="_um_account_tab" value="<?php echo UM()->account()->current_tab;?>" />
395
 
396
  <?php
397
  }
@@ -433,7 +432,7 @@ add_action( 'um_before_account_notifications', 'um_before_account_notifications'
433
  */
434
  function um_account_secure_registered_fields(){
435
  $secure_fields = UM()->account()->register_fields;
436
- update_user_meta( um_user('ID'), 'um_account_secure_fields', $secure_fields );
437
  }
438
  add_action( 'wp_footer', 'um_account_secure_registered_fields' );
439
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
2
+
 
3
 
4
  /**
5
  * Validate for errors in account form
249
  * ?>
250
  */
251
  $secure_fields = apply_filters( 'um_secure_account_fields', $account_fields, um_user( 'ID' ) );
252
+
253
  if ( is_array( $secure_fields ) ) {
254
  foreach ( $secure_fields as $tab_key => $fields ) {
255
  foreach ( $fields as $key => $value ) {
258
  }
259
  }
260
 
 
261
  $changes = array();
262
  foreach ( $_POST as $k => $v ) {
263
+ if ( strstr( $k, 'password' ) || strstr( $k, 'um_account' ) || ! in_array( $k, $arr_fields ) ) {
264
  continue;
265
+ }
266
 
267
  $changes[ $k ] = $v;
268
  }
269
 
270
+ if ( isset( $changes['hide_in_members'] ) && ( $changes['hide_in_members'] == __( 'No', 'ultimate-member' ) || $changes['hide_in_members'] == 'No' ) ) {
271
+ delete_user_meta( um_user( 'ID' ), 'hide_in_members' );
272
  unset( $changes['hide_in_members'] );
273
  }
274
 
390
  ?>
391
 
392
  <input type="hidden" name="_um_account" id="_um_account" value="1" />
393
+ <input type="hidden" name="_um_account_tab" id="_um_account_tab" value="<?php echo esc_attr( UM()->account()->current_tab ); ?>" />
394
 
395
  <?php
396
  }
432
  */
433
  function um_account_secure_registered_fields(){
434
  $secure_fields = UM()->account()->register_fields;
435
+ update_user_meta( um_user( 'ID' ), 'um_account_secure_fields', $secure_fields );
436
  }
437
  add_action( 'wp_footer', 'um_account_secure_registered_fields' );
438
 
includes/core/um-actions-form.php CHANGED
@@ -261,6 +261,99 @@ function um_submit_form_errors_hook( $args ) {
261
  add_action( 'um_submit_form_errors_hook', 'um_submit_form_errors_hook', 10 );
262
 
263
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
264
  /**
265
  * Error processing hook : standard
266
  *
@@ -312,80 +405,9 @@ function um_submit_form_errors_hook_( $args ) {
312
 
313
  if ( ! empty( $array['conditions'] ) ) {
314
  foreach ( $array['conditions'] as $condition ) {
315
- list( $visibility, $parent_key, $op, $parent_value ) = $condition;
316
-
317
- if ( ! isset( $args[ $parent_key ] ) ) {
318
- continue;
319
- }
320
-
321
- $cond_value = ( $fields[ $parent_key ]['type'] == 'radio' ) ? $args[ $parent_key ][0] : $args[ $parent_key ];
322
-
323
- if ( $visibility == 'hide' ) {
324
- if ( $op == 'empty' ) {
325
- if ( empty( $cond_value ) ) {
326
- continue 2;
327
- }
328
- } elseif ( $op == 'not empty' ) {
329
- if ( ! empty( $cond_value ) ) {
330
- continue;
331
- }
332
- } elseif ( $op == 'equals to' ) {
333
- if ( $cond_value == $parent_value ) {
334
- continue;
335
- }
336
- } elseif ( $op == 'not equals' ) {
337
- if ( $cond_value != $parent_value ) {
338
- continue;
339
- }
340
- } elseif ( $op == 'greater than' ) {
341
- if ( $cond_value > $parent_value ) {
342
- continue;
343
- }
344
- } elseif ( $op == 'less than' ) {
345
- if ( $cond_value < $parent_value ) {
346
- continue;
347
- }
348
- } elseif ( $op == 'contains' ) {
349
- if ( is_string( $cond_value ) && strstr( $cond_value, $parent_value ) ) {
350
- continue;
351
- }
352
- if( is_array( $cond_value ) && in_array( $parent_value, $cond_value ) ) {
353
- continue;
354
- }
355
- }
356
- } elseif ( $visibility == 'show' ) {
357
- if ( $op == 'empty' ) {
358
- if ( ! empty( $cond_value ) ) {
359
- continue;
360
- }
361
- } elseif ( $op == 'not empty' ) {
362
- if ( empty( $cond_value ) ) {
363
- continue;
364
- }
365
- } elseif ( $op == 'equals to' ) {
366
- if ( $cond_value != $parent_value ) {
367
- continue;
368
- }
369
- } elseif ( $op == 'not equals' ) {
370
- if ( $cond_value == $parent_value ) {
371
- continue;
372
- }
373
- } elseif ( $op == 'greater than' ) {
374
- if ( $cond_value <= $parent_value ) {
375
- continue;
376
- }
377
- } elseif ( $op == 'less than' ) {
378
- if ( $cond_value >= $parent_value ) {
379
- continue;
380
- }
381
- } elseif ( $op == 'contains' ) {
382
- if ( is_string( $cond_value ) && ! strstr( $cond_value, $parent_value ) ) {
383
- continue;
384
- }
385
- if( is_array( $cond_value ) && !in_array( $parent_value, $cond_value ) ) {
386
- continue;
387
- }
388
- }
389
  }
390
  }
391
  }
@@ -450,23 +472,23 @@ function um_submit_form_errors_hook_( $args ) {
450
  }
451
 
452
  if ( isset( $array['min_chars'] ) && $array['min_chars'] > 0 ) {
453
- if ( $args[$key] && strlen( utf8_decode( $args[$key] ) ) < $array['min_chars'] ) {
454
  UM()->form()->add_error($key, sprintf(__('Your %s must contain at least %s characters','ultimate-member'), $array['label'], $array['min_chars']) );
455
  }
456
  }
457
 
458
  if ( isset( $array['max_chars'] ) && $array['max_chars'] > 0 ) {
459
- if ( $args[$key] && strlen( utf8_decode( $args[$key] ) ) > $array['max_chars'] ) {
460
  UM()->form()->add_error($key, sprintf(__('Your %s must contain less than %s characters','ultimate-member'), $array['label'], $array['max_chars']) );
461
  }
462
  }
463
 
464
  $profile_show_html_bio = UM()->options()->get('profile_show_html_bio');
465
 
466
- if( $profile_show_html_bio == 1 && $key !== "description" ){
467
  if ( isset( $array['html'] ) && $array['html'] == 0 ) {
468
- if ( wp_strip_all_tags( $args[$key] ) != trim( $args[$key] ) ) {
469
- UM()->form()->add_error($key, __('You can not use HTML tags here','ultimate-member') );
470
  }
471
  }
472
  }
@@ -708,7 +730,7 @@ function um_submit_form_errors_hook_( $args ) {
708
 
709
  case 'alphabetic':
710
 
711
- if ( $args[$key] != '' ) {
712
 
713
  if( ! ctype_alpha( str_replace(' ', '', $args[$key] ) ) ){
714
  UM()->form()->add_error( $key , __('You must provide alphabetic letters','ultimate-member') );
@@ -718,9 +740,9 @@ function um_submit_form_errors_hook_( $args ) {
718
 
719
  case 'lowercase':
720
 
721
- if ( $args[$key] != '' ) {
722
 
723
- if( ! ctype_lower( str_replace(' ', '',$args[$key] ) ) ){
724
  UM()->form()->add_error( $key , __('You must provide lowercase letters.','ultimate-member') );
725
  }
726
  }
@@ -734,13 +756,12 @@ function um_submit_form_errors_hook_( $args ) {
734
  }
735
 
736
  if ( isset( $args['description'] ) ) {
737
-
738
- $max_chars = UM()->options()->get('profile_bio_maxchars');
739
- $profile_show_bio = UM()->options()->get('profile_show_bio');
740
 
741
- if( $profile_show_bio ){
742
- if ( strlen( utf8_decode( $args['description'] ) ) > $max_chars && $max_chars ) {
743
- UM()->form()->add_error('description', sprintf(__('Your user description must contain less than %s characters','ultimate-member'), $max_chars ) );
744
  }
745
  }
746
 
261
  add_action( 'um_submit_form_errors_hook', 'um_submit_form_errors_hook', 10 );
262
 
263
 
264
+ function um_check_conditions_on_submit( $condition, $fields, $args ) {
265
+ $continue = false;
266
+
267
+ list( $visibility, $parent_key, $op, $parent_value ) = $condition;
268
+
269
+ if ( ! isset( $args[ $parent_key ] ) ) {
270
+ $continue = true;
271
+ return $continue;
272
+ }
273
+
274
+ if ( ! empty( $fields[ $parent_key ]['conditions'] ) ) {
275
+ foreach ( $fields[ $parent_key ]['conditions'] as $parent_condition ) {
276
+ $continue = um_check_conditions_on_submit( $parent_condition, $fields, $args );
277
+ if ( ! empty( $continue ) ) {
278
+ return $continue;
279
+ }
280
+ }
281
+ }
282
+
283
+ $cond_value = ( $fields[ $parent_key ]['type'] == 'radio' ) ? $args[ $parent_key ][0] : $args[ $parent_key ];
284
+
285
+ if ( $visibility == 'hide' ) {
286
+ if ( $op == 'empty' ) {
287
+ if ( empty( $cond_value ) ) {
288
+ $continue = true;
289
+ }
290
+ } elseif ( $op == 'not empty' ) {
291
+ if ( ! empty( $cond_value ) ) {
292
+ $continue = true;
293
+ }
294
+ } elseif ( $op == 'equals to' ) {
295
+ if ( $cond_value == $parent_value ) {
296
+ $continue = true;
297
+ }
298
+ } elseif ( $op == 'not equals' ) {
299
+ if ( $cond_value != $parent_value ) {
300
+ $continue = true;
301
+ }
302
+ } elseif ( $op == 'greater than' ) {
303
+ if ( $cond_value > $parent_value ) {
304
+ $continue = true;
305
+ }
306
+ } elseif ( $op == 'less than' ) {
307
+ if ( $cond_value < $parent_value ) {
308
+ $continue = true;
309
+ }
310
+ } elseif ( $op == 'contains' ) {
311
+ if ( is_string( $cond_value ) && strstr( $cond_value, $parent_value ) ) {
312
+ $continue = true;
313
+ }
314
+ if( is_array( $cond_value ) && in_array( $parent_value, $cond_value ) ) {
315
+ $continue = true;
316
+ }
317
+ }
318
+ } elseif ( $visibility == 'show' ) {
319
+ if ( $op == 'empty' ) {
320
+ if ( ! empty( $cond_value ) ) {
321
+ $continue = true;
322
+ }
323
+ } elseif ( $op == 'not empty' ) {
324
+ if ( empty( $cond_value ) ) {
325
+ $continue = true;
326
+ }
327
+ } elseif ( $op == 'equals to' ) {
328
+ if ( $cond_value != $parent_value ) {
329
+ $continue = true;
330
+ }
331
+ } elseif ( $op == 'not equals' ) {
332
+ if ( $cond_value == $parent_value ) {
333
+ $continue = true;
334
+ }
335
+ } elseif ( $op == 'greater than' ) {
336
+ if ( $cond_value <= $parent_value ) {
337
+ $continue = true;
338
+ }
339
+ } elseif ( $op == 'less than' ) {
340
+ if ( $cond_value >= $parent_value ) {
341
+ $continue = true;
342
+ }
343
+ } elseif ( $op == 'contains' ) {
344
+ if ( is_string( $cond_value ) && ! strstr( $cond_value, $parent_value ) ) {
345
+ $continue = true;
346
+ }
347
+ if( is_array( $cond_value ) && !in_array( $parent_value, $cond_value ) ) {
348
+ $continue = true;
349
+ }
350
+ }
351
+ }
352
+
353
+ return $continue;
354
+ }
355
+
356
+
357
  /**
358
  * Error processing hook : standard
359
  *
405
 
406
  if ( ! empty( $array['conditions'] ) ) {
407
  foreach ( $array['conditions'] as $condition ) {
408
+ $continue = um_check_conditions_on_submit( $condition, $fields, $args );
409
+ if ( $continue === true ) {
410
+ continue 2;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411
  }
412
  }
413
  }
472
  }
473
 
474
  if ( isset( $array['min_chars'] ) && $array['min_chars'] > 0 ) {
475
+ if ( $args[$key] && strlen( utf8_decode( $args[ $key ] ) ) < $array['min_chars'] ) {
476
  UM()->form()->add_error($key, sprintf(__('Your %s must contain at least %s characters','ultimate-member'), $array['label'], $array['min_chars']) );
477
  }
478
  }
479
 
480
  if ( isset( $array['max_chars'] ) && $array['max_chars'] > 0 ) {
481
+ if ( $args[$key] && strlen( utf8_decode( $args[ $key ] ) ) > $array['max_chars'] ) {
482
  UM()->form()->add_error($key, sprintf(__('Your %s must contain less than %s characters','ultimate-member'), $array['label'], $array['max_chars']) );
483
  }
484
  }
485
 
486
  $profile_show_html_bio = UM()->options()->get('profile_show_html_bio');
487
 
488
+ if ( $profile_show_html_bio == 1 && $key !== "description" ) {
489
  if ( isset( $array['html'] ) && $array['html'] == 0 ) {
490
+ if ( wp_strip_all_tags( $args[$key] ) != trim( $args[ $key ] ) ) {
491
+ UM()->form()->add_error( $key, __( 'You can not use HTML tags here', 'ultimate-member' ) );
492
  }
493
  }
494
  }
730
 
731
  case 'alphabetic':
732
 
733
+ if ( $args[ $key ] != '' ) {
734
 
735
  if( ! ctype_alpha( str_replace(' ', '', $args[$key] ) ) ){
736
  UM()->form()->add_error( $key , __('You must provide alphabetic letters','ultimate-member') );
740
 
741
  case 'lowercase':
742
 
743
+ if ( $args[ $key ] != '' ) {
744
 
745
+ if ( ! ctype_lower( str_replace(' ', '',$args[$key] ) ) ){
746
  UM()->form()->add_error( $key , __('You must provide lowercase letters.','ultimate-member') );
747
  }
748
  }
756
  }
757
 
758
  if ( isset( $args['description'] ) ) {
759
+ $max_chars = UM()->options()->get( 'profile_bio_maxchars' );
760
+ $profile_show_bio = UM()->options()->get( 'profile_show_bio' );
 
761
 
762
+ if ( $profile_show_bio ) {
763
+ if ( strlen( utf8_decode( str_replace( array( "\r\n", "\n", "\r\t", "\t" ), ' ', $args['description'] ) ) ) > $max_chars && $max_chars ) {
764
+ UM()->form()->add_error( 'description', sprintf( __( 'Your user description must contain less than %s characters', 'ultimate-member' ), $max_chars ) );
765
  }
766
  }
767
 
includes/core/um-actions-global.php CHANGED
@@ -8,7 +8,7 @@
8
  */
9
  function um_add_form_identifier( $args ) {
10
  ?>
11
- <input type="hidden" name="form_id" id="form_id_<?php echo $args['form_id']; ?>" value="<?php echo $args['form_id']; ?>" />
12
  <?php
13
  }
14
  add_action( 'um_after_form_fields', 'um_add_form_identifier' );
@@ -24,11 +24,11 @@ function um_add_security_checks( $args ) {
24
  return;
25
  } ?>
26
 
27
- <input type="hidden" name="timestamp" class="um_timestamp" value="<?php echo current_time( 'timestamp' ) ?>" />
28
 
29
- <p class="<?php echo UM()->honeypot; ?>_name">
30
- <label for="<?php echo UM()->honeypot . '_' . $args['form_id']; ?>"><?php _e( 'Only fill in if you are not human' ); ?></label>
31
- <input type="text" name="<?php echo UM()->honeypot; ?>" id="<?php echo UM()->honeypot . '_' . $args['form_id']; ?>" class="input" value="" size="25" autocomplete="off" />
32
  </p>
33
 
34
  <?php
@@ -43,7 +43,7 @@ add_action( 'um_account_page_hidden_fields', 'um_add_security_checks' );
43
  function um_add_form_honeypot_css() {
44
  ?>
45
  <style type="text/css">
46
- .<?php echo UM()->honeypot; ?>_name {
47
  display: none !important;
48
  }
49
  </style>
@@ -57,7 +57,7 @@ add_action( 'wp_head', 'um_add_form_honeypot_css' );
57
  function um_add_form_honeypot_js() {
58
  ?>
59
  <script type="text/javascript">
60
- jQuery( '#<?php echo UM()->honeypot; ?>' ).val( '' );
61
  </script>
62
  <?php
63
  }
8
  */
9
  function um_add_form_identifier( $args ) {
10
  ?>
11
+ <input type="hidden" name="form_id" id="form_id_<?php echo esc_attr( $args['form_id'] ); ?>" value="<?php echo esc_attr( $args['form_id'] ); ?>" />
12
  <?php
13
  }
14
  add_action( 'um_after_form_fields', 'um_add_form_identifier' );
24
  return;
25
  } ?>
26
 
27
+ <input type="hidden" name="timestamp" class="um_timestamp" value="<?php echo esc_attr( current_time( 'timestamp' ) ) ?>" />
28
 
29
+ <p class="<?php echo esc_attr( UM()->honeypot ); ?>_name">
30
+ <label for="<?php echo esc_attr( UM()->honeypot ) . '_' . $args['form_id']; ?>"><?php _e( 'Only fill in if you are not human' ); ?></label>
31
+ <input type="text" name="<?php echo esc_attr( UM()->honeypot ); ?>" id="<?php echo esc_attr( UM()->honeypot ) . '_' . $args['form_id']; ?>" class="input" value="" size="25" autocomplete="off" />
32
  </p>
33
 
34
  <?php
43
  function um_add_form_honeypot_css() {
44
  ?>
45
  <style type="text/css">
46
+ .<?php echo esc_attr( UM()->honeypot ); ?>_name {
47
  display: none !important;
48
  }
49
  </style>
57
  function um_add_form_honeypot_js() {
58
  ?>
59
  <script type="text/javascript">
60
+ jQuery( '#<?php echo esc_js( UM()->honeypot ); ?>' ).val( '' );
61
  </script>
62
  <?php
63
  }
includes/core/um-actions-login.php CHANGED
@@ -15,15 +15,15 @@ function um_submit_form_errors_hook_login( $args ) {
15
 
16
 
17
  if ( isset( $args['username'] ) && $args['username'] == '' ) {
18
- UM()->form()->add_error( 'username', __('Please enter your username or email','ultimate-member') );
19
  }
20
 
21
  if ( isset( $args['user_login'] ) && $args['user_login'] == '' ) {
22
- UM()->form()->add_error( 'user_login', __('Please enter your username','ultimate-member') );
23
  }
24
 
25
  if ( isset( $args['user_email'] ) && $args['user_email'] == '' ) {
26
- UM()->form()->add_error( 'user_email', __('Please enter your email','ultimate-member') );
27
  }
28
 
29
  if ( isset( $args['username'] ) ) {
@@ -35,7 +35,7 @@ function um_submit_form_errors_hook_login( $args ) {
35
  } else {
36
  $user_name = $args['username'];
37
  }
38
- } else if ( isset( $args['user_email'] ) ) {
39
  $field = 'user_email';
40
  $is_email = true;
41
  $data = get_user_by('email', $args['user_email'] );
@@ -45,48 +45,35 @@ function um_submit_form_errors_hook_login( $args ) {
45
  $user_name = $args['user_login'];
46
  }
47
 
48
- /*if ( !username_exists( $user_name ) ) {
49
- if ( $is_email ) {
50
- UM()->form()->add_error( $field, __(' Sorry, we can\'t find an account with that email address','ultimate-member') );
51
- } else {
52
- UM()->form()->add_error( $field, __(' Sorry, we can\'t find an account with that username','ultimate-member') );
53
- }
54
- } else {
55
-
56
- }*/
57
-
58
  if ( $args['user_password'] == '' ) {
59
- UM()->form()->add_error( 'user_password', __('Please enter your password','ultimate-member') );
60
  }
61
 
62
  $user = get_user_by( 'login', $user_name );
63
- if ( $user && wp_check_password( $args['user_password'], $user->data->user_pass, $user->ID) ) {
64
  UM()->login()->auth_id = username_exists( $user_name );
65
  } else {
66
- UM()->form()->add_error( 'user_password', __('Password is incorrect. Please try again.','ultimate-member') );
67
  }
68
 
69
  $user = apply_filters( 'authenticate', null, $user_name, $args['user_password'] );
70
-
71
  $authenticate_user = apply_filters( 'wp_authenticate_user', $user_name, $args['user_password'] );
72
-
73
  // @since 4.18 replacement for 'wp_login_failed' action hook
74
  // see WP function wp_authenticate()
75
  $ignore_codes = array('empty_username', 'empty_password');
76
 
77
  if ( is_wp_error( $user ) && ! in_array( $user->get_error_code(), $ignore_codes ) ) {
78
-
79
- UM()->form()->add_error( $user->get_error_code(), __( $user->get_error_message() ,'ultimate-member') );
80
  }
81
 
82
- if( is_wp_error( $authenticate_user ) && ! in_array( $authenticate_user->get_error_code(), $ignore_codes ) ){
83
-
84
- UM()->form()->add_error( $authenticate_user->get_error_code(), __( $authenticate_user->get_error_message() ,'ultimate-member') );
85
-
86
  }
87
 
88
  // if there is an error notify wp
89
- if( UM()->form()->has_error( $field ) || UM()->form()->has_error( $user_password ) || UM()->form()->count_errors() > 0 ) {
90
  do_action( 'wp_login_failed', $user_name );
91
  }
92
  }
@@ -138,7 +125,7 @@ function um_submit_form_errors_hook_logincheck( $args ) {
138
  $user_id = ( isset( UM()->login()->auth_id ) ) ? UM()->login()->auth_id : '';
139
  um_fetch_user( $user_id );
140
 
141
- $status = um_user('account_status'); // account status
142
  switch( $status ) {
143
 
144
  // If user can't login to site...
@@ -152,7 +139,7 @@ function um_submit_form_errors_hook_logincheck( $args ) {
152
 
153
  }
154
 
155
- if ( isset( $args['form_id'] ) && $args['form_id'] == UM()->shortcodes()->core_login_form() && UM()->form()->errors && !isset( $_POST[ UM()->honeypot ] ) ) {
156
  exit( wp_redirect( um_get_core_page('login') ) );
157
  }
158
 
@@ -226,10 +213,11 @@ function um_user_login( $args ) {
226
 
227
  // Role redirect
228
  $after_login = um_user( 'after_login' );
229
- if ( empty( $after_login ) )
230
  exit( wp_redirect( um_user_profile_url() ) );
 
231
 
232
- switch( $after_login ) {
233
 
234
  case 'redirect_admin':
235
  exit( wp_redirect( admin_url() ) );
@@ -268,8 +256,8 @@ function um_user_login( $args ) {
268
 
269
  case 'redirect_profile':
270
  default:
271
- exit( wp_redirect( um_user_profile_url() ) );
272
- break;
273
 
274
  }
275
  }
@@ -365,6 +353,10 @@ function um_add_submit_button_to_login( $args ) {
365
  */
366
  $primary_btn_word = apply_filters('um_login_form_button_one', $args['primary_btn_word'], $args );
367
 
 
 
 
 
368
  /**
369
  * UM hook
370
  *
@@ -389,7 +381,11 @@ function um_add_submit_button_to_login( $args ) {
389
  */
390
  $secondary_btn_word = apply_filters( 'um_login_form_button_two', $args['secondary_btn_word'], $args );
391
 
392
- $secondary_btn_url = ( isset( $args['secondary_btn_url'] ) && $args['secondary_btn_url'] ) ? $args['secondary_btn_url'] : um_get_core_page('register');
 
 
 
 
393
  /**
394
  * UM hook
395
  *
@@ -412,7 +408,7 @@ function um_add_submit_button_to_login( $args ) {
412
  * }
413
  * ?>
414
  */
415
- $secondary_btn_url = apply_filters('um_login_form_button_two_url', $secondary_btn_url, $args ); ?>
416
 
417
  <div class="um-col-alt">
418
 
@@ -427,7 +423,7 @@ function um_add_submit_button_to_login( $args ) {
427
  <input type="submit" value="<?php esc_attr_e( wp_unslash( $primary_btn_word ), 'ultimate-member' ); ?>" class="um-button" id="um-submit-btn" />
428
  </div>
429
  <div class="um-right um-half">
430
- <a href="<?php echo esc_attr( $secondary_btn_url ); ?>" class="um-button um-alt">
431
  <?php _e( wp_unslash( $secondary_btn_word ), 'ultimate-member' ); ?>
432
  </a>
433
  </div>
@@ -460,7 +456,7 @@ function um_after_login_submit( $args ) {
460
  } ?>
461
 
462
  <div class="um-col-alt-b">
463
- <a href="<?php echo um_get_core_page('password-reset'); ?>" class="um-link-alt">
464
  <?php _e( 'Forgot your password?', 'ultimate-member' ); ?>
465
  </a>
466
  </div>
15
 
16
 
17
  if ( isset( $args['username'] ) && $args['username'] == '' ) {
18
+ UM()->form()->add_error( 'username', __( 'Please enter your username or email', 'ultimate-member' ) );
19
  }
20
 
21
  if ( isset( $args['user_login'] ) && $args['user_login'] == '' ) {
22
+ UM()->form()->add_error( 'user_login', __( 'Please enter your username', 'ultimate-member' ) );
23
  }
24
 
25
  if ( isset( $args['user_email'] ) && $args['user_email'] == '' ) {
26
+ UM()->form()->add_error( 'user_email', __( 'Please enter your email', 'ultimate-member' ) );
27
  }
28
 
29
  if ( isset( $args['username'] ) ) {
35
  } else {
36
  $user_name = $args['username'];
37
  }
38
+ } elseif ( isset( $args['user_email'] ) ) {
39
  $field = 'user_email';
40
  $is_email = true;
41
  $data = get_user_by('email', $args['user_email'] );
45
  $user_name = $args['user_login'];
46
  }
47
 
 
 
 
 
 
 
 
 
 
 
48
  if ( $args['user_password'] == '' ) {
49
+ UM()->form()->add_error( 'user_password', __( 'Please enter your password', 'ultimate-member' ) );
50
  }
51
 
52
  $user = get_user_by( 'login', $user_name );
53
+ if ( $user && wp_check_password( $args['user_password'], $user->data->user_pass, $user->ID ) ) {
54
  UM()->login()->auth_id = username_exists( $user_name );
55
  } else {
56
+ UM()->form()->add_error( 'user_password', __( 'Password is incorrect. Please try again.', 'ultimate-member' ) );
57
  }
58
 
59
  $user = apply_filters( 'authenticate', null, $user_name, $args['user_password'] );
60
+
61
  $authenticate_user = apply_filters( 'wp_authenticate_user', $user_name, $args['user_password'] );
62
+
63
  // @since 4.18 replacement for 'wp_login_failed' action hook
64
  // see WP function wp_authenticate()
65
  $ignore_codes = array('empty_username', 'empty_password');
66
 
67
  if ( is_wp_error( $user ) && ! in_array( $user->get_error_code(), $ignore_codes ) ) {
68
+ UM()->form()->add_error( $user->get_error_code(), __( $user->get_error_message(), 'ultimate-member' ) );
 
69
  }
70
 
71
+ if ( is_wp_error( $authenticate_user ) && ! in_array( $authenticate_user->get_error_code(), $ignore_codes ) ) {
72
+ UM()->form()->add_error( $authenticate_user->get_error_code(), __( $authenticate_user->get_error_message(), 'ultimate-member' ) );
 
 
73
  }
74
 
75
  // if there is an error notify wp
76
+ if ( UM()->form()->has_error( $field ) || UM()->form()->has_error( $user_password ) || UM()->form()->count_errors() > 0 ) {
77
  do_action( 'wp_login_failed', $user_name );
78
  }
79
  }
125
  $user_id = ( isset( UM()->login()->auth_id ) ) ? UM()->login()->auth_id : '';
126
  um_fetch_user( $user_id );
127
 
128
+ $status = um_user( 'account_status' ); // account status
129
  switch( $status ) {
130
 
131
  // If user can't login to site...
139
 
140
  }
141
 
142
+ if ( isset( $args['form_id'] ) && $args['form_id'] == UM()->shortcodes()->core_login_form() && UM()->form()->errors && ! isset( $_POST[ UM()->honeypot ] ) ) {
143
  exit( wp_redirect( um_get_core_page('login') ) );
144
  }
145
 
213
 
214
  // Role redirect
215
  $after_login = um_user( 'after_login' );
216
+ if ( empty( $after_login ) ) {
217
  exit( wp_redirect( um_user_profile_url() ) );
218
+ }
219
 
220
+ switch ( $after_login ) {
221
 
222
  case 'redirect_admin':
223
  exit( wp_redirect( admin_url() ) );
256
 
257
  case 'redirect_profile':
258
  default:
259
+ exit( wp_redirect( um_user_profile_url() ) );
260
+ break;
261
 
262
  }
263
  }
353
  */
354
  $primary_btn_word = apply_filters('um_login_form_button_one', $args['primary_btn_word'], $args );
355
 
356
+ if ( ! isset( $primary_btn_word ) || $primary_btn_word == '' ){
357
+ $primary_btn_word = UM()->options()->get( 'login_primary_btn_word' );
358
+ }
359
+
360
  /**
361
  * UM hook
362
  *
381
  */
382
  $secondary_btn_word = apply_filters( 'um_login_form_button_two', $args['secondary_btn_word'], $args );
383
 
384
+ if ( ! isset( $secondary_btn_word ) || $secondary_btn_word == '' ){
385
+ $secondary_btn_word = UM()->options()->get( 'login_secondary_btn_word' );
386
+ }
387
+
388
+ $secondary_btn_url = ! empty( $args['secondary_btn_url'] ) ? $args['secondary_btn_url'] : um_get_core_page( 'register' );
389
  /**
390
  * UM hook
391
  *
408
  * }
409
  * ?>
410
  */
411
+ $secondary_btn_url = apply_filters( 'um_login_form_button_two_url', $secondary_btn_url, $args ); ?>
412
 
413
  <div class="um-col-alt">
414
 
423
  <input type="submit" value="<?php esc_attr_e( wp_unslash( $primary_btn_word ), 'ultimate-member' ); ?>" class="um-button" id="um-submit-btn" />
424
  </div>
425
  <div class="um-right um-half">
426
+ <a href="<?php echo esc_url( $secondary_btn_url ); ?>" class="um-button um-alt">
427
  <?php _e( wp_unslash( $secondary_btn_word ), 'ultimate-member' ); ?>
428
  </a>
429
  </div>
456
  } ?>
457
 
458
  <div class="um-col-alt-b">
459
+ <a href="<?php echo esc_url( um_get_core_page( 'password-reset' ) ); ?>" class="um-link-alt">
460
  <?php _e( 'Forgot your password?', 'ultimate-member' ); ?>
461
  </a>
462
  </div>
includes/core/um-actions-members.php CHANGED
@@ -9,9 +9,9 @@
9
  function um_members_directory_search( $args ) {
10
  $search_filters = array();
11
 
12
- if ( isset($args['search_fields']) ) {
13
- foreach( $args['search_fields'] as $k => $testfilter ){
14
- if ($testfilter && !in_array( $testfilter, (array)$search_filters ) ) {
15
  $search_filters[] = $testfilter;
16
  }
17
  }
@@ -49,13 +49,13 @@ function um_members_directory_search( $args ) {
49
 
50
  $count = count( $search_filters ); ?>
51
 
52
- <div class="um-search um-search-<?php echo $count; ?>">
53
 
54
  <form method="get" action="">
55
 
56
- <?php if ( isset( $_REQUEST['page_id'] ) && get_option('permalink_structure') == 0 ) { ?>
57
 
58
- <input type="hidden" name="page_id" id="page_id" value="<?php echo esc_attr( $_REQUEST['page_id']); ?>" />
59
 
60
  <?php }
61
 
@@ -69,7 +69,7 @@ function um_members_directory_search( $args ) {
69
  $add_class = '';
70
  } ?>
71
 
72
- <div class="um-search-filter <?php echo $add_class ?>">
73
  <?php UM()->members()->show_filter( $filter ); ?>
74
  </div>
75
  <?php } ?>
@@ -80,15 +80,15 @@ function um_members_directory_search( $args ) {
80
 
81
  <input type="hidden" name="um_search" id="um_search" value="1" />
82
 
83
- <a href="#" class="um-button um-do-search"><?php _e('Search','ultimate-member'); ?></a>
84
- <a href="<?php echo UM()->permalinks()->get_current_url( true ); ?>" class="um-button um-alt"><?php _e('Reset','ultimate-member'); ?></a>
85
 
86
  </div>
87
  <div class="um-clear"></div>
88
 
89
- </form>
90
 
91
- </div>
92
 
93
  <?php
94
 
@@ -117,19 +117,19 @@ add_action( 'um_pre_directory_shortcode', 'um_pre_directory_shortcode' );
117
  function um_members_directory_head( $args ) {
118
  extract( $args );
119
 
120
- if ( isset($_REQUEST['um_search']) ) {
121
  $is_filtering = 1;
122
- } else if ( UM()->is_filtering == 1 ) {
123
  $is_filtering = 1;
124
  } else {
125
  $is_filtering = 0;
126
  }
127
 
128
- if ( um_members('header') && $is_filtering && um_members('users_per_page') ) { ?>
129
 
130
  <div class="um-members-intro">
131
 
132
- <div class="um-members-total"><?php echo ( um_members('total_users') > 1 ) ? um_members('header') : um_members('header_single'); ?></div>
133
 
134
  </div>
135
 
@@ -147,68 +147,70 @@ function um_members_directory_pagination( $args ) {
147
  extract( $args );
148
 
149
 
150
- if ( isset( $args['search'] ) && $args['search'] == 1 && isset( $args['must_search'] ) && $args['must_search'] == 1 && !isset( $_REQUEST['um_search'] ) )
151
  return;
 
152
 
153
  if ( um_members('total_pages') > 1 ) { // needs pagination
154
 
155
  ?>
156
 
157
- <div class="um-members-pagidrop uimob340-show uimob500-show">
158
 
159
- <?php _e('Jump to page:','ultimate-member'); ?>
160
 
161
- <?php if ( um_members('pages_to_show') && is_array( um_members('pages_to_show') ) ) { ?>
162
- <select onChange="window.location.href=this.value" class="um-s2" style="width: 100px">
163
- <?php foreach( um_members('pages_to_show') as $i ) { ?>
164
- <option value="<?php echo UM()->permalinks()->add_query( 'members_page', $i ); ?>" <?php selected($i, um_members('page')); ?>><?php printf(__('%s of %d','ultimate-member'), $i, um_members('total_pages') ); ?></option>
165
  <?php } ?>
166
- </select>
167
  <?php } ?>
168
 
169
- </div>
170
 
171
- <div class="um-members-pagi uimob340-hide uimob500-hide">
172
 
173
- <?php if ( um_members('page') != 1 ) { ?>
174
- <a href="<?php echo UM()->permalinks()->add_query( 'members_page', 1 ); ?>" class="pagi pagi-arrow um-tip-n" title="<?php _e('First Page','ultimate-member'); ?>"><i class="um-faicon-angle-double-left"></i></a>
175
  <?php } else { ?>
176
- <span class="pagi pagi-arrow disabled"><i class="um-faicon-angle-double-left"></i></span>
177
- <?php } ?>
178
 
179
- <?php if ( um_members('page') > 1 ) { ?>
180
- <a href="<?php echo UM()->permalinks()->add_query( 'members_page', um_members('page') - 1 ); ?>" class="pagi pagi-arrow um-tip-n" title="<?php _e('Previous','ultimate-member'); ?>"><i class="um-faicon-angle-left"></i></a>
181
  <?php } else { ?>
182
- <span class="pagi pagi-arrow disabled"><i class="um-faicon-angle-left"></i></span>
183
- <?php } ?>
184
 
185
- <?php if ( um_members('pages_to_show') && is_array( um_members('pages_to_show') ) ) { ?>
186
- <?php foreach( um_members('pages_to_show') as $i ) { ?>
187
 
188
- <?php if ( um_members('page') == $i ) { ?>
189
- <span class="pagi current"><?php echo $i; ?></span>
190
- <?php } else { ?>
191
 
192
- <a href="<?php echo UM()->permalinks()->add_query( 'members_page', $i ); ?>" class="pagi"><?php echo $i; ?></a>
193
 
194
- <?php } ?>
195
 
196
- <?php } ?>
197
- <?php } ?>
 
 
 
198
 
199
- <?php if ( um_members('page') != um_members('total_pages') ) { ?>
200
- <a href="<?php echo UM()->permalinks()->add_query( 'members_page', um_members('page') + 1 ); ?>" class="pagi pagi-arrow um-tip-n" title="<?php _e('Next','ultimate-member'); ?>"><i class="um-faicon-angle-right"></i></a>
201
  <?php } else { ?>
202
- <span class="pagi pagi-arrow disabled"><i class="um-faicon-angle-right"></i></span>
203
- <?php } ?>
204
 
205
- <?php if ( um_members('page') != um_members('total_pages') ) { ?>
206
- <a href="<?php echo UM()->permalinks()->add_query( 'members_page', um_members('total_pages') ); ?>" class="pagi pagi-arrow um-tip-n" title="<?php _e('Last Page','ultimate-member'); ?>"><i class="um-faicon-angle-double-right"></i></a>
207
  <?php } else { ?>
208
- <span class="pagi pagi-arrow disabled"><i class="um-faicon-angle-double-right"></i></span>
209
  <?php } ?>
210
 
211
- </div>
212
 
213
  <?php
214
 
@@ -226,16 +228,15 @@ add_action( 'um_members_directory_footer', 'um_members_directory_pagination' );
226
  function um_members_directory_display( $args ) {
227
  extract( $args );
228
 
229
- if ( isset( $args['search'] ) && $args['search'] == 1 && isset( $args['must_search'] ) && $args['must_search'] == 1 && !isset( $_REQUEST['um_search'] ) )
230
  return;
 
231
 
232
- if ( um_members('no_users') ) {
233
-
234
- ?>
235
 
236
- <div class="um-members-none">
237
- <p><?php echo $args['no_users']; ?></p>
238
- </div>
239
 
240
  <?php
241
 
@@ -244,7 +245,7 @@ function um_members_directory_display( $args ) {
244
  $file = um_path . 'templates/members-grid.php';
245
  $theme_file = get_stylesheet_directory() . '/ultimate-member/templates/members-grid.php';
246
 
247
- if ( file_exists( $theme_file ) ){
248
  $file = $theme_file;
249
  }
250
 
9
  function um_members_directory_search( $args ) {
10
  $search_filters = array();
11
 
12
+ if ( isset( $args['search_fields'] ) ) {
13
+ foreach ( $args['search_fields'] as $k => $testfilter ) {
14
+ if ( $testfilter && ! in_array( $testfilter, (array) $search_filters ) ) {
15
  $search_filters[] = $testfilter;
16
  }
17
  }
49
 
50
  $count = count( $search_filters ); ?>
51
 
52
+ <div class="um-search um-search-<?php echo esc_attr( $count ); ?>">
53
 
54
  <form method="get" action="">
55
 
56
+ <?php if ( isset( $_REQUEST['page_id'] ) && get_option( 'permalink_structure' ) == 0 ) { ?>
57
 
58
+ <input type="hidden" name="page_id" id="page_id" value="<?php echo esc_attr( $_REQUEST['page_id'] ); ?>" />
59
 
60
  <?php }
61
 
69
  $add_class = '';
70
  } ?>
71
 
72
+ <div class="um-search-filter <?php echo esc_attr( $add_class ) ?>">
73
  <?php UM()->members()->show_filter( $filter ); ?>
74
  </div>
75
  <?php } ?>
80
 
81
  <input type="hidden" name="um_search" id="um_search" value="1" />
82
 
83
+ <a href="javascript:void(0);" class="um-button um-do-search"><?php _e('Search','ultimate-member' ); ?></a>
84
+ <a href="<?php echo esc_url( UM()->permalinks()->get_current_url( true ) ); ?>" class="um-button um-alt"><?php _e( 'Reset', 'ultimate-member' ); ?></a>
85
 
86
  </div>
87
  <div class="um-clear"></div>
88
 
89
+ </form>
90
 
91
+ </div>
92
 
93
  <?php
94
 
117
  function um_members_directory_head( $args ) {
118
  extract( $args );
119
 
120
+ if ( isset( $_REQUEST['um_search'] ) ) {
121
  $is_filtering = 1;
122
+ } elseif ( UM()->is_filtering == 1 ) {
123
  $is_filtering = 1;
124
  } else {
125
  $is_filtering = 0;
126
  }
127
 
128
+ if ( um_members( 'header' ) && $is_filtering && um_members( 'users_per_page' ) ) { ?>
129
 
130
  <div class="um-members-intro">
131
 
132
+ <div class="um-members-total"><?php echo ( um_members( 'total_users' ) > 1 ) ? um_members( 'header' ) : um_members( 'header_single' ); ?></div>
133
 
134
  </div>
135
 
147
  extract( $args );
148
 
149
 
150
+ if ( isset( $args['search'] ) && $args['search'] == 1 && isset( $args['must_search'] ) && $args['must_search'] == 1 && ! isset( $_REQUEST['um_search'] ) ) {
151
  return;
152
+ }
153
 
154
  if ( um_members('total_pages') > 1 ) { // needs pagination
155
 
156
  ?>
157
 
158
+ <div class="um-members-pagidrop uimob340-show uimob500-show">
159
 
160
+ <?php _e( 'Jump to page:', 'ultimate-member' ); ?>
161
 
162
+ <?php if ( um_members( 'pages_to_show' ) && is_array( um_members( 'pages_to_show' ) ) ) { ?>
163
+ <select onChange="window.location.href=this.value" class="um-s2" style="width: 100px">
164
+ <?php foreach( um_members( 'pages_to_show' ) as $i ) { ?>
165
+ <option value="<?php echo esc_url( UM()->permalinks()->add_query( 'members_page', $i ) ); ?>" <?php selected( $i, um_members( 'page' ) ); ?>><?php printf( __( '%s of %d', 'ultimate-member' ), $i, um_members( 'total_pages' ) ); ?></option>
166
  <?php } ?>
167
+ </select>
168
  <?php } ?>
169
 
170
+ </div>
171
 
172
+ <div class="um-members-pagi uimob340-hide uimob500-hide">
173
 
174
+ <?php if ( um_members( 'page' ) != 1 ) { ?>
175
+ <a href="<?php echo esc_url( UM()->permalinks()->add_query( 'members_page', 1 ) ); ?>" class="pagi pagi-arrow um-tip-n" title="<?php esc_attr_e( 'First Page', 'ultimate-member' ); ?>"><i class="um-faicon-angle-double-left"></i></a>
176
  <?php } else { ?>
177
+ <span class="pagi pagi-arrow disabled"><i class="um-faicon-angle-double-left"></i></span>
178
+ <?php }
179
 
180
+ if ( um_members( 'page' ) > 1 ) { ?>
181
+ <a href="<?php echo UM()->permalinks()->add_query( 'members_page', um_members( 'page' ) - 1 ); ?>" class="pagi pagi-arrow um-tip-n" title="<?php esc_attr_e( 'Previous', 'ultimate-member'); ?>"><i class="um-faicon-angle-left"></i></a>
182
  <?php } else { ?>
183
+ <span class="pagi pagi-arrow disabled"><i class="um-faicon-angle-left"></i></span>
184
+ <?php }
185
 
186
+ if ( um_members('pages_to_show') && is_array( um_members( 'pages_to_show' ) ) ) {
187
+ foreach ( um_members( 'pages_to_show' ) as $i ) {
188
 
189
+ if ( um_members('page') == $i ) { ?>
 
 
190
 
191
+ <span class="pagi current"><?php echo $i; ?></span>
192
 
193
+ <?php } else { ?>
194
 
195
+ <a href="<?php echo esc_url( UM()->permalinks()->add_query( 'members_page', $i ) ); ?>" class="pagi"><?php echo $i; ?></a>
196
+
197
+ <?php }
198
+ }
199
+ }
200
 
201
+ if ( um_members('page') != um_members( 'total_pages' ) ) { ?>
202
+ <a href="<?php echo esc_url( UM()->permalinks()->add_query( 'members_page', um_members( 'page' ) + 1 ) ); ?>" class="pagi pagi-arrow um-tip-n" title="<?php esc_attr_e('Next','ultimate-member'); ?>"><i class="um-faicon-angle-right"></i></a>
203
  <?php } else { ?>
204
+ <span class="pagi pagi-arrow disabled"><i class="um-faicon-angle-right"></i></span>
205
+ <?php }
206
 
207
+ if ( um_members( 'page' ) != um_members( 'total_pages' ) ) { ?>
208
+ <a href="<?php echo esc_url( UM()->permalinks()->add_query( 'members_page', um_members( 'total_pages' ) ) ); ?>" class="pagi pagi-arrow um-tip-n" title="<?php esc_attr_e('Last Page','ultimate-member'); ?>"><i class="um-faicon-angle-double-right"></i></a>
209
  <?php } else { ?>
210
+ <span class="pagi pagi-arrow disabled"><i class="um-faicon-angle-double-right"></i></span>
211
  <?php } ?>
212
 
213
+ </div>
214
 
215
  <?php
216
 
228
  function um_members_directory_display( $args ) {
229
  extract( $args );
230
 
231
+ if ( isset( $args['search'] ) && $args['search'] == 1 && isset( $args['must_search'] ) && $args['must_search'] == 1 && ! isset( $_REQUEST['um_search'] ) ) {
232
  return;
233
+ }
234
 
235
+ if ( um_members( 'no_users' ) ) { ?>
 
 
236
 
237
+ <div class="um-members-none">
238
+ <p><?php echo esc_html( $args['no_users'] ); ?></p>
239
+ </div>
240
 
241
  <?php
242
 
245
  $file = um_path . 'templates/members-grid.php';
246
  $theme_file = get_stylesheet_directory() . '/ultimate-member/templates/members-grid.php';
247
 
248
+ if ( file_exists( $theme_file ) ) {
249
  $file = $theme_file;
250
  }
251
 
includes/core/um-actions-profile.php CHANGED
@@ -7,10 +7,15 @@
7
  * @param $args
8
  */
9
  function um_profile_content_main( $args ) {
 
 
 
 
10
  extract( $args );
11
 
12
- if ( ! UM()->options()->get( 'profile_tab_main' ) && ! isset( $_REQUEST['um_action'] ) )
13
  return;
 
14
 
15
  /**
16
  * UM hook
@@ -56,7 +61,7 @@ function um_profile_content_main( $args ) {
56
  * }
57
  * ?>
58
  */
59
- do_action( "um_before_form", $args );
60
 
61
  /**
62
  * UM hook
@@ -161,10 +166,17 @@ function um_profile_content_main( $args ) {
161
  * }
162
  * ?>
163
  */
164
- do_action( "um_after_form", $args );
165
 
166
  } else { ?>
167
- <div class="um-profile-note"><span><i class="um-faicon-lock"></i><?php echo $can_view; ?></span></div>
 
 
 
 
 
 
 
168
  <?php }
169
  }
170
  add_action( 'um_profile_content_main', 'um_profile_content_main' );
@@ -268,9 +280,9 @@ function um_user_edit_profile( $args ) {
268
 
269
 
270
  //validation of correct values from options in wp-admin
271
- $stripslashes = $args['submitted'][ $key ];
272
- if ( is_string( $stripslashes ) ) {
273
- $stripslashes = stripslashes( $stripslashes );
274
  }
275
  if ( in_array( $array['type'], array( 'select' ) ) &&
276
  ! empty( $array['options'] ) && ! empty( $stripslashes ) &&
@@ -534,7 +546,7 @@ add_action( 'um_after_user_updated', 'um_restore_default_roles', 10, 3 );
534
  function um_editing_user_id_input( $args ) {
535
  if ( UM()->fields()->editing == 1 && UM()->fields()->set_mode == 'profile' && UM()->user()->target_id ) { ?>
536
 
537
- <input type="hidden" name="user_id" id="user_id" value="<?php echo UM()->user()->target_id; ?>"/>
538
 
539
  <?php }
540
  }
@@ -545,7 +557,7 @@ add_action( 'um_after_form_fields', 'um_editing_user_id_input' );
545
  * Meta description
546
  */
547
  function um_profile_dynamic_meta_desc() {
548
- if (um_is_core_page( 'user' ) && um_get_requested_user()) {
549
 
550
  um_fetch_user( um_get_requested_user() );
551
 
@@ -557,13 +569,13 @@ function um_profile_dynamic_meta_desc() {
557
 
558
  um_reset_user(); ?>
559
 
560
- <meta name="description" content="<?php echo $content; ?>">
561
 
562
- <meta property="og:title" content="<?php echo um_get_display_name( $user_id ); ?>"/>
563
  <meta property="og:type" content="article"/>
564
- <meta property="og:image" content="<?php echo $avatar; ?>"/>
565
- <meta property="og:url" content="<?php echo $url; ?>"/>
566
- <meta property="og:description" content="<?php echo $content; ?>"/>
567
 
568
  <?php
569
  }
@@ -593,7 +605,7 @@ function um_profile_header_cover_area( $args ) {
593
  ?>
594
 
595
  <div class="um-cover <?php if ( um_user( 'cover_photo' ) || ( $default_cover && $default_cover['url'] ) ) echo 'has-cover'; ?>"
596
- data-user_id="<?php echo um_profile_id(); ?>" data-ratio="<?php echo $args['cover_ratio']; ?>">
597
 
598
  <?php
599
  /**
@@ -650,7 +662,7 @@ function um_profile_header_cover_area( $args ) {
650
 
651
  UM()->fields()->add_hidden_field( 'cover_photo' ); ?>
652
 
653
- <div class="um-cover-e" data-ratio="<?php echo $args['cover_ratio']; ?>">
654
 
655
  <?php if ( um_user( 'cover_photo' ) ) {
656
 
@@ -668,7 +680,7 @@ function um_profile_header_cover_area( $args ) {
668
 
669
  $default_cover = $default_cover['url'];
670
 
671
- echo '<img src="' . $default_cover . '" alt="" />';
672
 
673
  } else {
674
 
@@ -676,7 +688,7 @@ function um_profile_header_cover_area( $args ) {
676
 
677
  <a href="javascript:void(0);" class="um-cover-add"><span class="um-cover-add-i"><i
678
  class="um-icon-plus um-tip-n"
679
- title="<?php _e( 'Upload a cover photo', 'ultimate-member' ); ?>"></i></span></a>
680
 
681
  <?php }
682
 
@@ -743,7 +755,7 @@ function um_profile_header( $args ) {
743
  </span>';
744
  } ?>
745
 
746
- <div class="um-header<?php echo $classes; ?>">
747
 
748
  <?php
749
  /**
@@ -767,10 +779,10 @@ function um_profile_header( $args ) {
767
  */
768
  do_action( 'um_pre_header_editprofile', $args ); ?>
769
 
770
- <div class="um-profile-photo" data-user_id="<?php echo um_profile_id(); ?>">
771
 
772
- <a href="<?php echo um_user_profile_url(); ?>" class="um-profile-photo-img"
773
- title="<?php echo um_user( 'display_name' ); ?>"><?php echo $overlay . get_avatar( um_user( 'ID' ), $default_size ); ?></a>
774
 
775
  <?php if ( empty( $disable_photo_uploader ) && empty( UM()->user()->cannot_edit ) ) {
776
 
@@ -806,13 +818,13 @@ function um_profile_header( $args ) {
806
  */
807
  $items = apply_filters( 'um_user_photo_menu_view', $items );
808
 
809
- echo UM()->profile()->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
810
 
811
  } elseif ( UM()->fields()->editing == true ) {
812
 
813
  $items = array(
814
  '<a href="javascript:void(0);" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">' . __( 'Change photo', 'ultimate-member' ) . '</a>',
815
- '<a href="javascript:void(0);" class="um-reset-profile-photo" data-user_id="' . um_profile_id() . '" data-default_src="' . um_get_default_avatar_uri() . '">' . __( 'Remove photo', 'ultimate-member' ) . '</a>',
816
  '<a href="javascript:void(0);" class="um-dropdown-hide">' . __( 'Cancel', 'ultimate-member' ) . '</a>',
817
  );
818
 
@@ -839,7 +851,7 @@ function um_profile_header( $args ) {
839
  */
840
  $items = apply_filters( 'um_user_photo_menu_edit', $items );
841
 
842
- echo UM()->profile()->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
843
 
844
  }
845
 
@@ -876,8 +888,8 @@ function um_profile_header( $args ) {
876
  <?php if ( $args['show_name'] ) { ?>
877
  <div class="um-name">
878
 
879
- <a href="<?php echo um_user_profile_url(); ?>"
880
- title="<?php echo um_user( 'display_name' ); ?>"><?php echo um_user( 'display_name', 'html' ); ?></a>
881
 
882
  <?php
883
  /**
@@ -954,42 +966,40 @@ function um_profile_header( $args ) {
954
  <?php echo UM()->profile()->show_meta( $args['metafields'] ); ?>
955
 
956
  </div>
957
- <?php } ?>
958
 
959
- <?php if (UM()->fields()->viewing == true && um_user( 'description' ) && $args['show_bio']) { ?>
960
 
961
  <div class="um-meta-text">
962
- <?php
963
-
964
- $description = get_user_meta( um_user( 'ID' ), 'description', true );
965
- if ( UM()->options()->get( 'profile_show_html_bio' ) ) : ?>
966
- <?php echo make_clickable( wpautop( wp_kses_post( $description ) ) ); ?>
967
- <?php else : ?>
968
- <?php echo esc_html( $description ); ?>
969
- <?php endif; ?>
970
  </div>
971
 
972
- <?php } else if (UM()->fields()->editing == true && $args['show_bio']) { ?>
973
 
974
  <div class="um-meta-text">
975
  <textarea id="um-meta-bio"
976
- data-character-limit="<?php echo UM()->options()->get( 'profile_bio_maxchars' ); ?>"
977
- placeholder="<?php _e( 'Tell us a bit about yourself...', 'ultimate-member' ); ?>"
978
- name="<?php echo 'description-' . $args['form_id']; ?>"
979
- id="<?php echo 'description-' . $args['form_id']; ?>"><?php echo UM()->fields()->field_value( 'description' ) ?></textarea>
980
  <span class="um-meta-bio-character um-right"><span
981
  class="um-bio-limit"><?php echo UM()->options()->get( 'profile_bio_maxchars' ); ?></span></span>
982
- <?php
983
- if (UM()->fields()->is_error( 'description' )) {
984
  echo UM()->fields()->field_error( UM()->fields()->show_error( 'description' ), true );
985
- }
986
- ?>
987
 
988
  </div>
989
 
990
  <?php } ?>
991
 
992
- <div class="um-profile-status <?php echo um_user( 'account_status' ); ?>">
993
  <span><?php printf( __( 'This user account status is %s', 'ultimate-member' ), um_user( 'account_status_name' ) ); ?></span>
994
  </div>
995
 
@@ -1067,19 +1077,23 @@ function um_pre_profile_shortcode( $args ) {
1067
  UM()->fields()->viewing = 1;
1068
 
1069
  if ( um_get_requested_user() ) {
1070
- if ( ! um_can_view_profile( um_get_requested_user() ) && ! um_is_myprofile() )
1071
- um_redirect_home();
 
1072
 
1073
- if ( ! UM()->roles()->um_current_user_can( 'edit', um_get_requested_user() ) )
1074
  UM()->user()->cannot_edit = 1;
 
1075
 
1076
  um_fetch_user( um_get_requested_user() );
1077
  } else {
1078
- if ( ! is_user_logged_in() )
1079
- um_redirect_home();
 
1080
 
1081
- if ( ! um_user( 'can_edit_profile' ) )
1082
  UM()->user()->cannot_edit = 1;
 
1083
  }
1084
  }
1085
 
@@ -1088,7 +1102,7 @@ function um_pre_profile_shortcode( $args ) {
1088
 
1089
  if ( um_get_requested_user() ) {
1090
  if ( ! UM()->roles()->um_current_user_can( 'edit', um_get_requested_user() ) ) {
1091
- um_redirect_home();
1092
  }
1093
  um_fetch_user( um_get_requested_user() );
1094
  }
@@ -1115,7 +1129,7 @@ function um_add_edit_icon( $args ) {
1115
  if ( UM()->fields()->editing == true ) { ?>
1116
 
1117
  <div class="um-profile-edit um-profile-headericon">
1118
- <a href="#" class="um-profile-edit-a um-profile-save"><i class="um-faicon-check"></i></a>
1119
  </div>
1120
 
1121
  <?php return;
@@ -1129,7 +1143,7 @@ function um_add_edit_icon( $args ) {
1129
 
1130
  $items = UM()->user()->get_admin_actions();
1131
  if ( UM()->roles()->um_current_user_can( 'edit', um_profile_id() ) ) {
1132
- $items['editprofile'] = '<a href="' . um_edit_profile_url() . '" class="real_url">' . __( 'Edit Profile', 'ultimate-member' ) . '</a>';
1133
  }
1134
 
1135
  /**
@@ -1156,13 +1170,13 @@ function um_add_edit_icon( $args ) {
1156
  */
1157
  $items = apply_filters( 'um_profile_edit_menu_items', $items, um_profile_id() );
1158
 
1159
- $items['cancel'] = '<a href="#" class="um-dropdown-hide">' . __( 'Cancel', 'ultimate-member' ) . '</a>';
1160
 
1161
  } else {
1162
  $items = array(
1163
- 'editprofile' => '<a href="' . um_edit_profile_url() . '" class="real_url">' . __( 'Edit Profile', 'ultimate-member' ) . '</a>',
1164
- 'myaccount' => '<a href="' . um_get_core_page( 'account' ) . '" class="real_url">' . __( 'My Account', 'ultimate-member' ) . '</a>',
1165
- 'logout' => '<a href="' . um_get_core_page( 'logout' ) . '" class="real_url">' . __( 'Logout', 'ultimate-member' ) . '</a>',
1166
  'cancel' => '<a href="javascript:void(0);" class="um-dropdown-hide">' . __( 'Cancel', 'ultimate-member' ) . '</a>',
1167
  );
1168
 
@@ -1196,7 +1210,7 @@ function um_add_edit_icon( $args ) {
1196
 
1197
  <div class="um-profile-edit um-profile-headericon">
1198
 
1199
- <a href="#" class="um-profile-edit-a"><i class="um-faicon-cog"></i></a>
1200
 
1201
  <?php UM()->profile()->new_ui( $args['header_menu'], 'div.um-profile-edit', 'click', $items ); ?>
1202
 
@@ -1270,12 +1284,21 @@ add_action( 'um_submit_form_profile', 'um_submit_form_profile', 10 );
1270
  */
1271
  function um_add_submit_button_to_profile( $args ) {
1272
  // DO NOT add when reviewing user's details
1273
- if (UM()->user()->preview == true && is_admin()) return;
 
 
1274
 
1275
  // only when editing
1276
- if (UM()->fields()->editing == false) return;
 
 
1277
 
1278
- ?>
 
 
 
 
 
1279
 
1280
  <div class="um-col-alt">
1281
 
@@ -1285,7 +1308,7 @@ function um_add_submit_button_to_profile( $args ) {
1285
  <input type="submit" value="<?php esc_attr_e( wp_unslash( $args['primary_btn_word'] ), 'ultimate-member' ); ?>" class="um-button" />
1286
  </div>
1287
  <div class="um-right um-half">
1288
- <a href="<?php echo esc_attr( um_edit_my_profile_cancel_uri() ); ?>" class="um-button um-alt">
1289
  <?php _e( wp_unslash( $args['secondary_btn_word'] ), 'ultimate-member' ); ?>
1290
  </a>
1291
  </div>
@@ -1331,7 +1354,7 @@ function um_profile_menu( $args ) {
1331
 
1332
  $active_tab = UM()->profile()->active_tab();
1333
  //check here tabs with hidden also, to make correct check of active tab
1334
- if ( ! isset( $all_tabs[ $active_tab ] ) ) {
1335
  $active_tab = 'main';
1336
  UM()->profile()->active_tab = $active_tab;
1337
  UM()->profile()->active_subnav = null;
@@ -1404,48 +1427,48 @@ function um_profile_menu( $args ) {
1404
  $profile_nav_class .= ' active';
1405
  } ?>
1406
 
1407
- <div class="um-profile-nav-item um-profile-nav-<?php echo $id . ' ' . $profile_nav_class; ?>">
1408
  <?php if ( UM()->options()->get( 'profile_menu_icons' ) ) { ?>
1409
- <a href="<?php echo $nav_link; ?>" class="uimob800-show uimob500-show uimob340-show um-tip-n"
1410
  title="<?php echo esc_attr( $tab['name'] ); ?>" original-title="<?php echo esc_attr( $tab['name'] ); ?>">
1411
 
1412
- <i class="<?php echo $tab['icon']; ?>"></i>
1413
 
1414
  <?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0 ) { ?>
1415
  <span class="um-tab-notifier uimob800-show uimob500-show uimob340-show"><?php echo $tab['notifier']; ?></span>
1416
  <?php } ?>
1417
 
1418
- <span class="uimob800-hide uimob500-hide uimob340-hide title"><?php echo $tab['name']; ?></span>
1419
  </a>
1420
- <a href="<?php echo $nav_link; ?>" class="uimob800-hide uimob500-hide uimob340-hide"
1421
  title="<?php echo esc_attr( $tab['name'] ); ?>">
1422
 
1423
- <i class="<?php echo $tab['icon']; ?>"></i>
1424
 
1425
  <?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0 ) { ?>
1426
  <span class="um-tab-notifier"><?php echo $tab['notifier']; ?></span>
1427
  <?php } ?>
1428
 
1429
- <span class="title"><?php echo $tab['name']; ?></span>
1430
  </a>
1431
  <?php } else { ?>
1432
- <a href="<?php echo $nav_link; ?>" class="uimob800-show uimob500-show uimob340-show um-tip-n"
1433
  title="<?php echo esc_attr( $tab['name'] ); ?>" original-title="<?php echo esc_attr( $tab['name'] ); ?>">
1434
 
1435
- <i class="<?php echo $tab['icon']; ?>"></i>
1436
 
1437
  <?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0 ) { ?>
1438
  <span class="um-tab-notifier uimob800-show uimob500-show uimob340-show"><?php echo $tab['notifier']; ?></span>
1439
  <?php } ?>
1440
  </a>
1441
- <a href="<?php echo $nav_link; ?>" class="uimob800-hide uimob500-hide uimob340-hide"
1442
  title="<?php echo esc_attr( $tab['name'] ); ?>">
1443
 
1444
- <?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0) { ?>
1445
  <span class="um-tab-notifier"><?php echo $tab['notifier']; ?></span>
1446
  <?php } ?>
1447
 
1448
- <span class="title"><?php echo $tab['name']; ?></span>
1449
  </a>
1450
  <?php } ?>
1451
  </div>
@@ -1471,7 +1494,7 @@ function um_profile_menu( $args ) {
1471
  $subnav_link = add_query_arg( 'subnav', $id_s );
1472
  $subnav_link = apply_filters( 'um_user_profile_subnav_link', $subnav_link, $id_s, $subtab ); ?>
1473
 
1474
- <a href="<?php echo $subnav_link; ?>" class="<?php if ( $active_subnav == $id_s ) echo 'active'; ?>">
1475
  <?php echo $subtab; ?>
1476
  </a>
1477
 
7
  * @param $args
8
  */
9
  function um_profile_content_main( $args ) {
10
+
11
+ /**
12
+ * @var $mode
13
+ */
14
  extract( $args );
15
 
16
+ if ( ! UM()->options()->get( 'profile_tab_main' ) && ! isset( $_REQUEST['um_action'] ) ) {
17
  return;
18
+ }
19
 
20
  /**
21
  * UM hook
61
  * }
62
  * ?>
63
  */
64
+ do_action( 'um_before_form', $args );
65
 
66
  /**
67
  * UM hook
166
  * }
167
  * ?>
168
  */
169
+ do_action( 'um_after_form', $args );
170
 
171
  } else { ?>
172
+
173
+ <div class="um-profile-note">
174
+ <span>
175
+ <i class="um-faicon-lock"></i>
176
+ <?php echo $can_view; ?>
177
+ </span>
178
+ </div>
179
+
180
  <?php }
181
  }
182
  add_action( 'um_profile_content_main', 'um_profile_content_main' );
280
 
281
 
282
  //validation of correct values from options in wp-admin
283
+ $stripslashes = '';
284
+ if ( isset( $args['submitted'][ $key ] ) && is_string( $args['submitted'][ $key ] ) ) {
285
+ $stripslashes = stripslashes( $args['submitted'][ $key ] );
286
  }
287
  if ( in_array( $array['type'], array( 'select' ) ) &&
288
  ! empty( $array['options'] ) && ! empty( $stripslashes ) &&
546
  function um_editing_user_id_input( $args ) {
547
  if ( UM()->fields()->editing == 1 && UM()->fields()->set_mode == 'profile' && UM()->user()->target_id ) { ?>
548
 
549
+ <input type="hidden" name="user_id" id="user_id" value="<?php echo esc_attr( UM()->user()->target_id ); ?>" />
550
 
551
  <?php }
552
  }
557
  * Meta description
558
  */
559
  function um_profile_dynamic_meta_desc() {
560
+ if ( um_is_core_page( 'user' ) && um_get_requested_user() ) {
561
 
562
  um_fetch_user( um_get_requested_user() );
563
 
569
 
570
  um_reset_user(); ?>
571
 
572
+ <meta name="description" content="<?php echo esc_attr( $content ); ?>">
573
 
574
+ <meta property="og:title" content="<?php echo esc_attr( um_get_display_name( $user_id ) ); ?>"/>
575
  <meta property="og:type" content="article"/>
576
+ <meta property="og:image" content="<?php echo esc_url( $avatar ); ?>"/>
577
+ <meta property="og:url" content="<?php echo esc_url( $url ); ?>"/>
578
+ <meta property="og:description" content="<?php echo esc_attr( $content ); ?>"/>
579
 
580
  <?php
581
  }
605
  ?>
606
 
607
  <div class="um-cover <?php if ( um_user( 'cover_photo' ) || ( $default_cover && $default_cover['url'] ) ) echo 'has-cover'; ?>"
608
+ data-user_id="<?php echo esc_attr( um_profile_id() ); ?>" data-ratio="<?php echo esc_attr( $args['cover_ratio'] ); ?>">
609
 
610
  <?php
611
  /**
662
 
663
  UM()->fields()->add_hidden_field( 'cover_photo' ); ?>
664
 
665
+ <div class="um-cover-e" data-ratio="<?php echo esc_attr( $args['cover_ratio'] ); ?>">
666
 
667
  <?php if ( um_user( 'cover_photo' ) ) {
668
 
680
 
681
  $default_cover = $default_cover['url'];
682
 
683
+ echo '<img src="' . esc_url( $default_cover ) . '" alt="" />';
684
 
685
  } else {
686
 
688
 
689
  <a href="javascript:void(0);" class="um-cover-add"><span class="um-cover-add-i"><i
690
  class="um-icon-plus um-tip-n"
691
+ title="<?php esc_attr_e( 'Upload a cover photo', 'ultimate-member' ); ?>"></i></span></a>
692
 
693
  <?php }
694
 
755
  </span>';
756
  } ?>
757
 
758
+ <div class="um-header<?php echo esc_attr( $classes ); ?>">
759
 
760
  <?php
761
  /**
779
  */
780
  do_action( 'um_pre_header_editprofile', $args ); ?>
781
 
782
+ <div class="um-profile-photo" data-user_id="<?php echo esc_attr( um_profile_id() ); ?>">
783
 
784
+ <a href="<?php echo esc_url( um_user_profile_url() ); ?>" class="um-profile-photo-img"
785
+ title="<?php echo esc_attr( um_user( 'display_name' ) ); ?>"><?php echo $overlay . get_avatar( um_user( 'ID' ), $default_size ); ?></a>
786
 
787
  <?php if ( empty( $disable_photo_uploader ) && empty( UM()->user()->cannot_edit ) ) {
788
 
818
  */
819
  $items = apply_filters( 'um_user_photo_menu_view', $items );
820
 
821
+ UM()->profile()->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
822
 
823
  } elseif ( UM()->fields()->editing == true ) {
824
 
825
  $items = array(
826
  '<a href="javascript:void(0);" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">' . __( 'Change photo', 'ultimate-member' ) . '</a>',
827
+ '<a href="javascript:void(0);" class="um-reset-profile-photo" data-user_id="' . esc_attr( um_profile_id() ) . '" data-default_src="' . esc_url( um_get_default_avatar_uri() ) . '">' . __( 'Remove photo', 'ultimate-member' ) . '</a>',
828
  '<a href="javascript:void(0);" class="um-dropdown-hide">' . __( 'Cancel', 'ultimate-member' ) . '</a>',
829
  );
830
 
851
  */
852
  $items = apply_filters( 'um_user_photo_menu_edit', $items );
853
 
854
+ UM()->profile()->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
855
 
856
  }
857
 
888
  <?php if ( $args['show_name'] ) { ?>
889
  <div class="um-name">
890
 
891
+ <a href="<?php echo esc_url( um_user_profile_url() ); ?>"
892
+ title="<?php echo esc_attr( um_user( 'display_name' ) ); ?>"><?php echo um_user( 'display_name', 'html' ); ?></a>
893
 
894
  <?php
895
  /**
966
  <?php echo UM()->profile()->show_meta( $args['metafields'] ); ?>
967
 
968
  </div>
969
+ <?php }
970
 
971
+ if ( UM()->fields()->viewing == true && um_user( 'description' ) && $args['show_bio'] ) { ?>
972
 
973
  <div class="um-meta-text">
974
+ <?php $description = get_user_meta( um_user( 'ID' ), 'description', true );
975
+
976
+ if ( UM()->options()->get( 'profile_show_html_bio' ) ) {
977
+ echo make_clickable( wpautop( wp_kses_post( $description ) ) );
978
+ } else {
979
+ echo esc_html( $description );
980
+ } ?>
 
981
  </div>
982
 
983
+ <?php } elseif ( UM()->fields()->editing == true && $args['show_bio'] ) { ?>
984
 
985
  <div class="um-meta-text">
986
  <textarea id="um-meta-bio"
987
+ data-character-limit="<?php echo esc_attr( UM()->options()->get( 'profile_bio_maxchars' ) ); ?>"
988
+ placeholder="<?php esc_attr_e( 'Tell us a bit about yourself...', 'ultimate-member' ); ?>"
989
+ name="<?php echo esc_attr( 'description-' . $args['form_id'] ); ?>"
990
+ id="<?php echo esc_attr( 'description-' . $args['form_id'] ); ?>"><?php echo UM()->fields()->field_value( 'description' ) ?></textarea>
991
  <span class="um-meta-bio-character um-right"><span
992
  class="um-bio-limit"><?php echo UM()->options()->get( 'profile_bio_maxchars' ); ?></span></span>
993
+
994
+ <?php if ( UM()->fields()->is_error( 'description' ) ) {
995
  echo UM()->fields()->field_error( UM()->fields()->show_error( 'description' ), true );
996
+ } ?>
 
997
 
998
  </div>
999
 
1000
  <?php } ?>
1001
 
1002
+ <div class="um-profile-status <?php echo esc_attr( um_user( 'account_status' ) ); ?>">
1003
  <span><?php printf( __( 'This user account status is %s', 'ultimate-member' ), um_user( 'account_status_name' ) ); ?></span>
1004
  </div>
1005
 
1077
  UM()->fields()->viewing = 1;
1078
 
1079
  if ( um_get_requested_user() ) {
1080
+ if ( ! um_can_view_profile( um_get_requested_user() ) && ! um_is_myprofile() ) {
1081
+ um_redirect_home( um_get_requested_user(), um_is_myprofile() );
1082
+ }
1083
 
1084
+ if ( ! UM()->roles()->um_current_user_can( 'edit', um_get_requested_user() ) ) {
1085
  UM()->user()->cannot_edit = 1;
1086
+ }
1087
 
1088
  um_fetch_user( um_get_requested_user() );
1089
  } else {
1090
+ if ( ! is_user_logged_in() ) {
1091
+ um_redirect_home( um_get_requested_user(), um_is_myprofile() );
1092
+ }
1093
 
1094
+ if ( ! um_user( 'can_edit_profile' ) ) {
1095
  UM()->user()->cannot_edit = 1;
1096
+ }
1097
  }
1098
  }
1099
 
1102
 
1103
  if ( um_get_requested_user() ) {
1104
  if ( ! UM()->roles()->um_current_user_can( 'edit', um_get_requested_user() ) ) {
1105
+ um_redirect_home( um_get_requested_user(), um_is_myprofile() );
1106
  }
1107
  um_fetch_user( um_get_requested_user() );
1108
  }
1129
  if ( UM()->fields()->editing == true ) { ?>
1130
 
1131
  <div class="um-profile-edit um-profile-headericon">
1132
+ <a href="javascript:void(0);" class="um-profile-edit-a um-profile-save"><i class="um-faicon-check"></i></a>
1133
  </div>
1134
 
1135
  <?php return;
1143
 
1144
  $items = UM()->user()->get_admin_actions();
1145
  if ( UM()->roles()->um_current_user_can( 'edit', um_profile_id() ) ) {
1146
+ $items['editprofile'] = '<a href="' . esc_url( um_edit_profile_url() ) . '" class="real_url">' . __( 'Edit Profile', 'ultimate-member' ) . '</a>';
1147
  }
1148
 
1149
  /**
1170
  */
1171
  $items = apply_filters( 'um_profile_edit_menu_items', $items, um_profile_id() );
1172
 
1173
+ $items['cancel'] = '<a href="javascript:void(0);" class="um-dropdown-hide">' . __( 'Cancel', 'ultimate-member' ) . '</a>';
1174
 
1175
  } else {
1176
  $items = array(
1177
+ 'editprofile' => '<a href="' . esc_url( um_edit_profile_url() ) . '" class="real_url">' . __( 'Edit Profile', 'ultimate-member' ) . '</a>',
1178
+ 'myaccount' => '<a href="' . esc_url( um_get_core_page( 'account' ) ) . '" class="real_url">' . __( 'My Account', 'ultimate-member' ) . '</a>',
1179
+ 'logout' => '<a href="' . esc_url( um_get_core_page( 'logout' ) ) . '" class="real_url">' . __( 'Logout', 'ultimate-member' ) . '</a>',
1180
  'cancel' => '<a href="javascript:void(0);" class="um-dropdown-hide">' . __( 'Cancel', 'ultimate-member' ) . '</a>',
1181
  );
1182
 
1210
 
1211
  <div class="um-profile-edit um-profile-headericon">
1212
 
1213
+ <a href="javascript:void(0);" class="um-profile-edit-a"><i class="um-faicon-cog"></i></a>
1214
 
1215
  <?php UM()->profile()->new_ui( $args['header_menu'], 'div.um-profile-edit', 'click', $items ); ?>
1216
 
1284
  */
1285
  function um_add_submit_button_to_profile( $args ) {
1286
  // DO NOT add when reviewing user's details
1287
+ if ( UM()->user()->preview == true && is_admin() ) {
1288
+ return;
1289
+ }
1290
 
1291
  // only when editing
1292
+ if ( UM()->fields()->editing == false ) {
1293
+ return;
1294
+ }
1295
 
1296
+ if ( ! isset( $args['primary_btn_word'] ) || $args['primary_btn_word'] == '' ){
1297
+ $args['primary_btn_word'] = UM()->options()->get( 'profile_primary_btn_word' );
1298
+ }
1299
+ if ( ! isset( $args['secondary_btn_word'] ) || $args['secondary_btn_word'] == '' ){
1300
+ $args['secondary_btn_word'] = UM()->options()->get( 'profile_secondary_btn_word' );
1301
+ } ?>
1302
 
1303
  <div class="um-col-alt">
1304
 
1308
  <input type="submit" value="<?php esc_attr_e( wp_unslash( $args['primary_btn_word'] ), 'ultimate-member' ); ?>" class="um-button" />
1309
  </div>
1310
  <div class="um-right um-half">
1311
+ <a href="<?php echo esc_url( um_edit_my_profile_cancel_uri() ); ?>" class="um-button um-alt">
1312
  <?php _e( wp_unslash( $args['secondary_btn_word'] ), 'ultimate-member' ); ?>
1313
  </a>
1314
  </div>
1354
 
1355
  $active_tab = UM()->profile()->active_tab();
1356
  //check here tabs with hidden also, to make correct check of active tab
1357
+ if ( ! isset( $all_tabs[ $active_tab ] ) || um_is_on_edit_profile() ) {
1358
  $active_tab = 'main';
1359
  UM()->profile()->active_tab = $active_tab;
1360
  UM()->profile()->active_subnav = null;
1427
  $profile_nav_class .= ' active';
1428
  } ?>
1429
 
1430
+ <div class="um-profile-nav-item um-profile-nav-<?php echo esc_attr( $id . ' ' . $profile_nav_class ); ?>">
1431
  <?php if ( UM()->options()->get( 'profile_menu_icons' ) ) { ?>
1432
+ <a href="<?php echo esc_url( $nav_link ); ?>" class="uimob800-show uimob500-show uimob340-show um-tip-n"
1433
  title="<?php echo esc_attr( $tab['name'] ); ?>" original-title="<?php echo esc_attr( $tab['name'] ); ?>">
1434
 
1435
+ <i class="<?php echo esc_attr( $tab['icon'] ); ?>"></i>
1436
 
1437
  <?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0 ) { ?>
1438
  <span class="um-tab-notifier uimob800-show uimob500-show uimob340-show"><?php echo $tab['notifier']; ?></span>
1439
  <?php } ?>
1440
 
1441
+ <span class="uimob800-hide uimob500-hide uimob340-hide title"><?php echo esc_html( $tab['name'] ); ?></span>
1442
  </a>
1443
+ <a href="<?php echo esc_url( $nav_link ); ?>" class="uimob800-hide uimob500-hide uimob340-hide"
1444
  title="<?php echo esc_attr( $tab['name'] ); ?>">
1445
 
1446
+ <i class="<?php echo esc_attr( $tab['icon'] ); ?>"></i>
1447
 
1448
  <?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0 ) { ?>
1449
  <span class="um-tab-notifier"><?php echo $tab['notifier']; ?></span>
1450
  <?php } ?>
1451
 
1452
+ <span class="title"><?php echo esc_html( $tab['name'] ); ?></span>
1453
  </a>
1454
  <?php } else { ?>
1455
+ <a href="<?php echo esc_url( $nav_link ); ?>" class="uimob800-show uimob500-show uimob340-show um-tip-n"
1456
  title="<?php echo esc_attr( $tab['name'] ); ?>" original-title="<?php echo esc_attr( $tab['name'] ); ?>">
1457
 
1458
+ <i class="<?php echo esc_attr( $tab['icon'] ); ?>"></i>
1459
 
1460
  <?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0 ) { ?>
1461
  <span class="um-tab-notifier uimob800-show uimob500-show uimob340-show"><?php echo $tab['notifier']; ?></span>
1462
  <?php } ?>
1463
  </a>
1464
+ <a href="<?php echo esc_url( $nav_link ); ?>" class="uimob800-hide uimob500-hide uimob340-hide"
1465
  title="<?php echo esc_attr( $tab['name'] ); ?>">
1466
 
1467
+ <?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0 ) { ?>
1468
  <span class="um-tab-notifier"><?php echo $tab['notifier']; ?></span>
1469
  <?php } ?>
1470
 
1471
+ <span class="title"><?php echo esc_html( $tab['name'] ); ?></span>
1472
  </a>
1473
  <?php } ?>
1474
  </div>
1494
  $subnav_link = add_query_arg( 'subnav', $id_s );
1495
  $subnav_link = apply_filters( 'um_user_profile_subnav_link', $subnav_link, $id_s, $subtab ); ?>
1496
 
1497
+ <a href="<?php echo esc_url( $subnav_link ); ?>" class="<?php echo $active_subnav == $id_s ? 'active' : ''; ?>">
1498
  <?php echo $subtab; ?>
1499
  </a>
1500
 
includes/core/um-actions-register.php CHANGED
@@ -490,6 +490,10 @@ function um_add_submit_button_to_register( $args ) {
490
  */
491
  $primary_btn_word = apply_filters('um_register_form_button_one', $primary_btn_word, $args );
492
 
 
 
 
 
493
  $secondary_btn_word = $args['secondary_btn_word'];
494
  /**
495
  * UM hook
@@ -515,6 +519,10 @@ function um_add_submit_button_to_register( $args ) {
515
  */
516
  $secondary_btn_word = apply_filters( 'um_register_form_button_two', $secondary_btn_word, $args );
517
 
 
 
 
 
518
  $secondary_btn_url = ( isset( $args['secondary_btn_url'] ) && $args['secondary_btn_url'] ) ? $args['secondary_btn_url'] : um_get_core_page('login');
519
  /**
520
  * UM hook
@@ -548,7 +556,7 @@ function um_add_submit_button_to_register( $args ) {
548
  <input type="submit" value="<?php esc_attr_e( wp_unslash( $primary_btn_word ), 'ultimate-member' ) ?>" class="um-button" id="um-submit-btn" />
549
  </div>
550
  <div class="um-right um-half">
551
- <a href="<?php echo esc_attr( $secondary_btn_url ); ?>" class="um-button um-alt">
552
  <?php _e( wp_unslash( $secondary_btn_word ),'ultimate-member' ); ?>
553
  </a>
554
  </div>
490
  */
491
  $primary_btn_word = apply_filters('um_register_form_button_one', $primary_btn_word, $args );
492
 
493
+ if ( ! isset( $primary_btn_word ) || $primary_btn_word == '' ){
494
+ $primary_btn_word = UM()->options()->get( 'register_primary_btn_word' );
495
+ }
496
+
497
  $secondary_btn_word = $args['secondary_btn_word'];
498
  /**
499
  * UM hook
519
  */
520
  $secondary_btn_word = apply_filters( 'um_register_form_button_two', $secondary_btn_word, $args );
521
 
522
+ if ( ! isset( $secondary_btn_word ) || $secondary_btn_word == '' ){
523
+ $secondary_btn_word = UM()->options()->get( 'register_secondary_btn_word' );
524
+ }
525
+
526
  $secondary_btn_url = ( isset( $args['secondary_btn_url'] ) && $args['secondary_btn_url'] ) ? $args['secondary_btn_url'] : um_get_core_page('login');
527
  /**
528
  * UM hook
556
  <input type="submit" value="<?php esc_attr_e( wp_unslash( $primary_btn_word ), 'ultimate-member' ) ?>" class="um-button" id="um-submit-btn" />
557
  </div>
558
  <div class="um-right um-half">
559
+ <a href="<?php echo esc_url( $secondary_btn_url ); ?>" class="um-button um-alt">
560
  <?php _e( wp_unslash( $secondary_btn_word ),'ultimate-member' ); ?>
561
  </a>
562
  </div>
includes/core/um-actions-user.php CHANGED
@@ -1,6 +1,4 @@
1
- <?php
2
- // Exit if accessed directly
3
- if ( ! defined( 'ABSPATH' ) ) exit;
4
 
5
 
6
  /**
@@ -11,8 +9,16 @@ if ( ! defined( 'ABSPATH' ) ) exit;
11
  function um_logout_user_links( $args ) {
12
  ?>
13
 
14
- <li><a href="<?php echo um_get_core_page( 'account' ); ?>"><?php _e( 'Your account', 'ultimate-member' ); ?></a></li>
15
- <li><a href="<?php echo esc_url( add_query_arg( 'redirect_to', UM()->permalinks()->get_current_url( true ), um_get_core_page( 'logout' ) ) ); ?>"><?php _e('Logout','ultimate-member'); ?></a></li>
 
 
 
 
 
 
 
 
16
 
17
  <?php
18
  }
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit;
 
 
2
 
3
 
4
  /**
9
  function um_logout_user_links( $args ) {
10
  ?>
11
 
12
+ <li>
13
+ <a href="<?php echo esc_url( um_get_core_page( 'account' ) ); ?>">
14
+ <?php _e( 'Your account', 'ultimate-member' ); ?>
15
+ </a>
16
+ </li>
17
+ <li>
18
+ <a href="<?php echo esc_url( add_query_arg( 'redirect_to', UM()->permalinks()->get_current_url( true ), um_get_core_page( 'logout' ) ) ); ?>">
19
+ <?php _e( 'Logout', 'ultimate-member' ); ?>
20
+ </a>
21
+ </li>
22
 
23
  <?php
24
  }
includes/core/um-filters-fields.php CHANGED
@@ -11,8 +11,9 @@
11
  */
12
  function um_edit_label_all_fields( $label, $data ) {
13
  $asterisk = UM()->options()->get( 'form_asterisk' );
14
- if ( $asterisk && isset( $data['required'] ) && $data['required'] == 1 )
15
- $label = $label . '<span class="um-req" title="'.__('Required','ultimate-member').'">*</span>';
 
16
 
17
  return $label;
18
  }
11
  */
12
  function um_edit_label_all_fields( $label, $data ) {
13
  $asterisk = UM()->options()->get( 'form_asterisk' );
14
+ if ( $asterisk && isset( $data['required'] ) && $data['required'] == 1 ) {
15
+ $label = $label . '<span class="um-req" title="' . esc_attr__( 'Required', 'ultimate-member' ) . '">*</span>';
16
+ }
17
 
18
  return $label;
19
  }
includes/um-short-functions.php CHANGED
@@ -310,294 +310,299 @@ function um_field_conditions_are_met( $data ) {
310
 
311
  if (!isset( $data['conditions'] )) return true;
312
 
313
- $state = ( $data['conditional_action'] == 'show' ) ? 1 : 0;
314
 
315
 
316
- $first_group = 0;
317
- $state_array = array();
318
- $count = count($state_array);
319
- foreach ($data['conditions'] as $k => $arr){
320
 
321
- $val = $arr[3];
322
- $op = $arr[2];
323
 
324
- if (strstr($arr[1], 'role_'))
325
- $arr[1] = 'role';
326
 
327
- $field = um_profile($arr[1]);
328
 
329
 
330
- if( ! isset( $arr[5] ) || $arr[5] != $first_group ){
331
 
332
 
333
- if ($arr[0] == 'show') {
334
 
335
- switch ($op) {
336
- case 'equals to':
337
 
338
- $field = maybe_unserialize( $field );
339
 
340
- if (is_array( $field ))
341
- $state = in_array( $val, $field ) ? 'show' : 'hide';
342
- else
343
- $state = ( $field == $val ) ? 'show' : 'hide';
344
-
345
- break;
346
- case 'not equals':
347
-
348
- $field = maybe_unserialize( $field );
349
-
350
- if (is_array( $field ))
351
- $state = !in_array( $val, $field ) ? 'show' : 'hide';
352
- else
353
- $state = ( $field != $val ) ? 'show' : 'hide';
354
 
355
- break;
356
- case 'empty':
357
-
358
- $state = ( !$field ) ? 'show' : 'hide';
359
 
360
- break;
361
- case 'not empty':
362
 
363
- $state = ( $field ) ? 'show' : 'hide';
 
 
 
364
 
365
- break;
366
- case 'greater than':
367
- if ($field > $val) {
368
- $state = 'show';
369
- } else {
370
- $state = 'hide';
371
- }
372
- break;
373
- case 'less than':
374
- if ($field < $val) {
375
- $state = 'show';
376
- } else {
377
- $state = 'hide';
378
- }
379
- break;
380
- case 'contains':
381
- if (strstr( $field, $val )) {
382
- $state = 'show';
383
- } else {
384
- $state = 'hide';
385
- }
386
- break;
387
- }
388
- } else if ($arr[0] == 'hide') {
389
-
390
- switch ($op) {
391
- case 'equals to':
392
-
393
- $field = maybe_unserialize( $field );
394
-
395
- if (is_array( $field ))
396
- $state = in_array( $val, $field ) ? 'hide' : 'show';
397
- else
398
- $state = ( $field == $val ) ? 'hide' : 'show';
399
-
400
- break;
401
- case 'not equals':
402
-
403
- $field = maybe_unserialize( $field );
404
-
405
- if (is_array( $field ))
406
- $state = !in_array( $val, $field ) ? 'hide' : 'show';
407
- else
408
- $state = ( $field != $val ) ? 'hide' : 'show';
409
-
410
- break;
411
- case 'empty':
412
-
413
- $state = ( !$field ) ? 'hide' : 'show';
414
-
415
- break;
416
- case 'not empty':
417
-
418
- $state = ( $field ) ? 'hide' : 'show';
419
-
420
- break;
421
- case 'greater than':
422
- if ($field <= $val) {
423
- $state = 'hide';
424
- } else {
425
- $state = 'show';
426
- }
427
- break;
428
- case 'less than':
429
- if ($field >= $val) {
430
- $state = 'hide';
431
- } else {
432
- $state = 'show';
433
- }
434
- break;
435
- case 'contains':
436
- if (strstr( $field, $val )) {
437
- $state = 'hide';
438
- } else {
439
- $state = 'show';
440
- }
441
- break;
442
- }
443
- }
444
- $first_group++;
445
- array_push($state_array, $state);
446
- } else {
447
-
448
- if ($arr[0] == 'show') {
449
-
450
- switch ($op) {
451
- case 'equals to':
452
-
453
- $field = maybe_unserialize( $field );
454
-
455
- if (is_array( $field ))
456
- $state = in_array( $val, $field ) ? 'show' : 'not_show';
457
- else
458
- $state = ( $field == $val ) ? 'show' : 'not_show';
459
-
460
- break;
461
- case 'not equals':
462
-
463
- $field = maybe_unserialize( $field );
464
-
465
- if (is_array( $field ))
466
- $state = !in_array( $val, $field ) ? 'show' : 'not_show';
467
- else
468
- $state = ( $field != $val ) ? 'show' : 'not_show';
469
-
470
- break;
471
- case 'empty':
472
-
473
- $state = ( !$field ) ? 'show' : 'not_show';
474
-
475
- break;
476
- case 'not empty':
477
-
478
- $state = ( $field ) ? 'show': 'not_show';
479
-
480
- break;
481
- case 'greater than':
482
- if ($field > $val) {
483
- $state = 'show';
484
- } else {
485
- $state = 'not_show';
486
- }
487
- break;
488
- case 'less than':
489
- if ($field < $val) {
490
- $state = 'show';
491
- } else {
492
- $state = 'not_show';
493
- }
494
- break;
495
- case 'contains':
496
- if (strstr( $field, $val )) {
497
- $state = 'show';
498
- } else {
499
- $state = 'not_show';
500
- }
501
- break;
502
- }
503
- } else if ($arr[0] == 'hide') {
504
-
505
- switch ($op) {
506
- case 'equals to':
507
-
508
- $field = maybe_unserialize( $field );
509
-
510
- if (is_array( $field ))
511
- $state = in_array( $val, $field ) ? 'hide' : 'not_hide';
512
- else
513
- $state = ( $field == $val ) ? 'hide' : 'not_hide';
514
-
515
- break;
516
- case 'not equals':
517
-
518
- $field = maybe_unserialize( $field );
519
-
520
- if (is_array( $field ))
521
- $state = !in_array( $val, $field ) ? 'hide' : 'not_hide';
522
- else
523
- $state = ( $field != $val ) ? 'hide' : 'not_hide';
524
-
525
- break;
526
- case 'empty':
527
-
528
- $state = ( !$field ) ? 'hide' : 'not_hide';
529
-
530
- break;
531
- case 'not empty':
532
-
533
- $state = ( $field ) ? 'hide' : 'not_hide';
534
-
535
- break;
536
- case 'greater than':
537
- if ($field <= $val) {
538
- $state = 'hide';
539
- } else {
540
- $state = 'not_hide';
541
- }
542
- break;
543
- case 'less than':
544
- if ($field >= $val) {
545
- $state = 'hide';
546
- } else {
547
- $state = 'not_hide';
548
- }
549
- break;
550
- case 'contains':
551
- if (strstr( $field, $val )) {
552
- $state = 'hide';
553
- } else {
554
- $state = 'not_hide';
555
- }
556
- break;
557
- }
558
- }
559
- if( isset($state_array[$count]) ){
560
- if( $state_array[$count] == 'show' || $state_array[$count] == 'not_hide' ){
561
- if ( $state == 'show' || $state == 'not_hide' ){
562
- $state_array[$count] = 'show';
563
- } else {
564
- $state_array[$count] = 'hide';
565
- }
566
- } else {
567
- if ( $state == 'hide' || $state == 'not_show' ){
568
- $state_array[$count] = 'hide';
569
- } else {
570
- $state_array[$count] = 'hide';
571
- }
572
- }
573
- } else {
574
- if ( $state == 'show' || $state == 'not_hide' ){
575
- $state_array[$count] = 'show';
576
- } else {
577
- $state_array[$count] = 'hide';
578
- }
579
- }
580
- }
581
-
582
-
583
- }
584
- $result = array_unique($state_array);
585
- if( !in_array("show", $result) ){
586
- return $state = false;
587
- } else {
588
- return $state = true;
589
- }
 
 
 
 
 
 
 
 
 
 
590
  }
591
 
592
 
593
  /**
594
  * Exit and redirect to home
 
 
 
595
  */
596
- function um_redirect_home() {
597
- exit( wp_redirect( home_url() ) );
 
598
  }
599
 
600
 
 
601
  /**
602
  * @param $url
603
  */
@@ -609,7 +614,7 @@ function um_js_redirect( $url ) {
609
  }
610
 
611
  register_shutdown_function( function( $url ) {
612
- echo '<script data-cfasync="false" type="text/javascript">window.location = "' . $url . '"</script>';
613
  }, $url );
614
 
615
  if ( 1 < ob_get_level() ) {
@@ -618,7 +623,7 @@ function um_js_redirect( $url ) {
618
  }
619
  } ?>
620
  <script data-cfasync='false' type="text/javascript">
621
- window.location = '<?php echo $url; ?>';
622
  </script>
623
  <?php exit;
624
  } else {
@@ -895,30 +900,34 @@ function um_profile_id() {
895
  /**
896
  * Check that temp upload is valid
897
  *
898
- * @param $url
899
  *
900
  * @return bool|string
901
  */
902
  function um_is_temp_upload( $url ) {
903
- if( is_string( $url ) ) {
904
- $url = trim($url);
905
- }
906
 
907
- if (filter_var( $url, FILTER_VALIDATE_URL ) === false)
908
  $url = realpath( $url );
 
909
 
910
- if (!$url)
911
  return false;
 
912
 
913
  $url = explode( '/ultimatemember/temp/', $url );
914
- if (isset( $url[1] )) {
915
 
916
- if (strstr( $url[1], '../' ) || strstr( $url[1], '%' ))
917
  return false;
 
918
 
919
  $src = UM()->files()->upload_temp . $url[1];
920
- if (!file_exists( $src ))
921
  return false;
 
922
 
923
  return $src;
924
  }
@@ -1410,10 +1419,8 @@ function um_edit_my_profile_cancel_uri( $url = '' ) {
1410
  * @return bool
1411
  */
1412
  function um_is_on_edit_profile() {
1413
- if (isset( $_REQUEST['profiletab'] ) && isset( $_REQUEST['um_action'] )) {
1414
- if ($_REQUEST['profiletab'] == 'main' && $_REQUEST['um_action'] == 'edit') {
1415
- return true;
1416
- }
1417
  }
1418
 
1419
  return false;
@@ -1497,8 +1504,10 @@ function um_can_view_profile( $user_id ) {
1497
  if ( um_user( 'can_view_roles' ) && $user_id != get_current_user_id() ) {
1498
 
1499
  $can_view_roles = um_user( 'can_view_roles' );
1500
-
1501
- if( ! is_array( $can_view_roles ) ) $can_view_roles = array();
 
 
1502
 
1503
  if ( count( array_intersect( UM()->roles()->get_all_user_roles( $user_id ), $can_view_roles ) ) <= 0 ) {
1504
  um_fetch_user( $temp_id );
@@ -1572,10 +1581,10 @@ function um_is_myprofile() {
1572
  /**
1573
  * Returns the edit profile link
1574
  *
1575
- * @return mixed|string|void
1576
  */
1577
  function um_edit_profile_url() {
1578
- if (um_is_core_page( 'user' )) {
1579
  $url = UM()->permalinks()->get_current_url();
1580
  } else {
1581
  $url = um_user_profile_url();
@@ -1583,7 +1592,6 @@ function um_edit_profile_url() {
1583
 
1584
  $url = remove_query_arg( 'profiletab', $url );
1585
  $url = remove_query_arg( 'subnav', $url );
1586
- $url = add_query_arg( 'profiletab', 'main', $url );
1587
  $url = add_query_arg( 'um_action', 'edit', $url );
1588
 
1589
  return $url;
@@ -1591,13 +1599,14 @@ function um_edit_profile_url() {
1591
 
1592
 
1593
  /**
1594
- * checks if user can edit his profile
1595
  *
1596
  * @return bool
1597
  */
1598
  function um_can_edit_my_profile() {
1599
- if (!is_user_logged_in()) return false;
1600
- if (!um_user( 'can_edit_profile' )) return false;
 
1601
 
1602
  return true;
1603
  }
@@ -1838,8 +1847,8 @@ function um_get_cover_uri( $image, $attrs ) {
1838
  if ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}{$ext}" ) ) {
1839
  $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo-{$attrs}{$ext}?" . current_time( 'timestamp' );
1840
  }elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}x{$height}{$ext}" ) ) {
1841
- $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo-{$attrs}x{$height}{$ext}?". current_time( 'timestamp' );
1842
- }
1843
  }
1844
 
1845
  if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo{$ext}" ) ) {
@@ -1849,8 +1858,8 @@ function um_get_cover_uri( $image, $attrs ) {
1849
  if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}{$ext}" ) ) {
1850
  $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo-{$attrs}{$ext}?" . current_time( 'timestamp' );
1851
  }elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}x{$height}{$ext}" ) ) {
1852
- $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo-{$attrs}x{$height}{$ext}?". current_time( 'timestamp' );
1853
- }
1854
 
1855
  if ( ! empty( $uri_common ) && empty( $uri ) ) {
1856
  $uri = $uri_common;
@@ -2109,8 +2118,8 @@ function um_get_user_avatar_data( $user_id = '', $size = '96' ) {
2109
  * @return bool|string
2110
  */
2111
  function um_get_user_avatar_url( $user_id = '', $size = '96' ) {
2112
- $data = um_get_user_avatar_data( $user_id, $size );
2113
- return $data['url'];
2114
  }
2115
 
2116
 
310
 
311
  if (!isset( $data['conditions'] )) return true;
312
 
313
+ $state = ( $data['conditional_action'] == 'show' ) ? 1 : 0;
314
 
315
 
316
+ $first_group = 0;
317
+ $state_array = array();
318
+ $count = count($state_array);
319
+ foreach ($data['conditions'] as $k => $arr){
320
 
321
+ $val = $arr[3];
322
+ $op = $arr[2];
323
 
324
+ if (strstr($arr[1], 'role_'))
325
+ $arr[1] = 'role';
326
 
327
+ $field = um_profile($arr[1]);
328
 
329
 
330
+ if( ! isset( $arr[5] ) || $arr[5] != $first_group ){
331
 
332
 
333
+ if ($arr[0] == 'show') {
334
 
335
+ switch ($op) {
336
+ case 'equals to':
337
 
338
+ $field = maybe_unserialize( $field );
339
 
340
+ if (is_array( $field ))
341
+ $state = in_array( $val, $field ) ? 'show' : 'hide';
342
+ else
343
+ $state = ( $field == $val ) ? 'show' : 'hide';
 
 
 
 
 
 
 
 
 
 
344
 
345
+ break;
346
+ case 'not equals':
 
 
347
 
348
+ $field = maybe_unserialize( $field );
 
349
 
350
+ if (is_array( $field ))
351
+ $state = !in_array( $val, $field ) ? 'show' : 'hide';
352
+ else
353
+ $state = ( $field != $val ) ? 'show' : 'hide';
354
 
355
+ break;
356
+ case 'empty':
357
+
358
+ $state = ( !$field ) ? 'show' : 'hide';
359
+
360
+ break;
361
+ case 'not empty':
362
+
363
+ $state = ( $field ) ? 'show' : 'hide';
364
+
365
+ break;
366
+ case 'greater than':
367
+ if ($field > $val) {
368
+ $state = 'show';
369
+ } else {
370
+ $state = 'hide';
371
+ }
372
+ break;
373
+ case 'less than':
374
+ if ($field < $val) {
375
+ $state = 'show';
376
+ } else {
377
+ $state = 'hide';
378
+ }
379
+ break;
380
+ case 'contains':
381
+ if (strstr( $field, $val )) {
382
+ $state = 'show';
383
+ } else {
384
+ $state = 'hide';
385
+ }
386
+ break;
387
+ }
388
+ } else if ($arr[0] == 'hide') {
389
+
390
+ switch ($op) {
391
+ case 'equals to':
392
+
393
+ $field = maybe_unserialize( $field );
394
+
395
+ if (is_array( $field ))
396
+ $state = in_array( $val, $field ) ? 'hide' : 'show';
397
+ else
398
+ $state = ( $field == $val ) ? 'hide' : 'show';
399
+
400
+ break;
401
+ case 'not equals':
402
+
403
+ $field = maybe_unserialize( $field );
404
+
405
+ if (is_array( $field ))
406
+ $state = !in_array( $val, $field ) ? 'hide' : 'show';
407
+ else
408
+ $state = ( $field != $val ) ? 'hide' : 'show';
409
+
410
+ break;
411
+ case 'empty':
412
+
413
+ $state = ( !$field ) ? 'hide' : 'show';
414
+
415
+ break;
416
+ case 'not empty':
417
+
418
+ $state = ( $field ) ? 'hide' : 'show';
419
+
420
+ break;
421
+ case 'greater than':
422
+ if ($field <= $val) {
423
+ $state = 'hide';
424
+ } else {
425
+ $state = 'show';
426
+ }
427
+ break;
428
+ case 'less than':
429
+ if ($field >= $val) {
430
+ $state = 'hide';
431
+ } else {
432
+ $state = 'show';
433
+ }
434
+ break;
435
+ case 'contains':
436
+ if (strstr( $field, $val )) {
437
+ $state = 'hide';
438
+ } else {
439
+ $state = 'show';
440
+ }
441
+ break;
442
+ }
443
+ }
444
+ $first_group++;
445
+ array_push($state_array, $state);
446
+ } else {
447
+
448
+ if ($arr[0] == 'show') {
449
+
450
+ switch ($op) {
451
+ case 'equals to':
452
+
453
+ $field = maybe_unserialize( $field );
454
+
455
+ if (is_array( $field ))
456
+ $state = in_array( $val, $field ) ? 'show' : 'not_show';
457
+ else
458
+ $state = ( $field == $val ) ? 'show' : 'not_show';
459
+
460
+ break;
461
+ case 'not equals':
462
+
463
+ $field = maybe_unserialize( $field );
464
+
465
+ if (is_array( $field ))
466
+ $state = !in_array( $val, $field ) ? 'show' : 'not_show';
467
+ else
468
+ $state = ( $field != $val ) ? 'show' : 'not_show';
469
+
470
+ break;
471
+ case 'empty':
472
+
473
+ $state = ( !$field ) ? 'show' : 'not_show';
474
+
475
+ break;
476
+ case 'not empty':
477
+
478
+ $state = ( $field ) ? 'show': 'not_show';
479
+
480
+ break;
481
+ case 'greater than':
482
+ if ($field > $val) {
483
+ $state = 'show';
484
+ } else {
485
+ $state = 'not_show';
486
+ }
487
+ break;
488
+ case 'less than':
489
+ if ($field < $val) {
490
+ $state = 'show';
491
+ } else {
492
+ $state = 'not_show';
493
+ }
494
+ break;
495
+ case 'contains':
496
+ if (strstr( $field, $val )) {
497
+ $state = 'show';
498
+ } else {
499
+ $state = 'not_show';
500
+ }
501
+ break;
502
+ }
503
+ } else if ($arr[0] == 'hide') {
504
+
505
+ switch ($op) {
506
+ case 'equals to':
507
+
508
+ $field = maybe_unserialize( $field );
509
+
510
+ if (is_array( $field ))
511
+ $state = in_array( $val, $field ) ? 'hide' : 'not_hide';
512
+ else
513
+ $state = ( $field == $val ) ? 'hide' : 'not_hide';
514
+
515
+ break;
516
+ case 'not equals':
517
+
518
+ $field = maybe_unserialize( $field );
519
+
520
+ if (is_array( $field ))
521
+ $state = !in_array( $val, $field ) ? 'hide' : 'not_hide';
522
+ else
523
+ $state = ( $field != $val ) ? 'hide' : 'not_hide';
524
+
525
+ break;
526
+ case 'empty':
527
+
528
+ $state = ( !$field ) ? 'hide' : 'not_hide';
529
+
530
+ break;
531
+ case 'not empty':
532
+
533
+ $state = ( $field ) ? 'hide' : 'not_hide';
534
+
535
+ break;
536
+ case 'greater than':
537
+ if ($field <= $val) {
538
+ $state = 'hide';
539
+ } else {
540
+ $state = 'not_hide';
541
+ }
542
+ break;
543
+ case 'less than':
544
+ if ($field >= $val) {
545
+ $state = 'hide';
546
+ } else {
547
+ $state = 'not_hide';
548
+ }
549
+ break;
550
+ case 'contains':
551
+ if (strstr( $field, $val )) {
552
+ $state = 'hide';
553
+ } else {
554
+ $state = 'not_hide';
555
+ }
556
+ break;
557
+ }
558
+ }
559
+ if( isset($state_array[$count]) ){
560
+ if( $state_array[$count] == 'show' || $state_array[$count] == 'not_hide' ){
561
+ if ( $state == 'show' || $state == 'not_hide' ){
562
+ $state_array[$count] = 'show';
563
+ } else {
564
+ $state_array[$count] = 'hide';
565
+ }
566
+ } else {
567
+ if ( $state == 'hide' || $state == 'not_show' ){
568
+ $state_array[$count] = 'hide';
569
+ } else {
570
+ $state_array[$count] = 'hide';
571
+ }
572
+ }
573
+ } else {
574
+ if ( $state == 'show' || $state == 'not_hide' ){
575
+ $state_array[$count] = 'show';
576
+ } else {
577
+ $state_array[$count] = 'hide';
578
+ }
579
+ }
580
+ }
581
+
582
+
583
+ }
584
+ $result = array_unique( $state_array );
585
+ if ( ! in_array( 'show', $result ) ) {
586
+ return $state = false;
587
+ } else {
588
+ return $state = true;
589
+ }
590
  }
591
 
592
 
593
  /**
594
  * Exit and redirect to home
595
+ *
596
+ * @param string $requested_user_id
597
+ * @param string $is_my_profile
598
  */
599
+ function um_redirect_home( $requested_user_id = '', $is_my_profile = '' ) {
600
+ $url = apply_filters( 'um_redirect_home_custom_url', home_url(), $requested_user_id, $is_my_profile );
601
+ exit( wp_redirect( $url ) );
602
  }
603
 
604
 
605
+
606
  /**
607
  * @param $url
608
  */
614
  }
615
 
616
  register_shutdown_function( function( $url ) {
617
+ echo '<script data-cfasync="false" type="text/javascript">window.location = "' . esc_js( $url ) . '"</script>';
618
  }, $url );
619
 
620
  if ( 1 < ob_get_level() ) {
623
  }
624
  } ?>
625
  <script data-cfasync='false' type="text/javascript">
626
+ window.location = '<?php echo esc_js( $url ); ?>';
627
  </script>
628
  <?php exit;
629
  } else {
900
  /**
901
  * Check that temp upload is valid
902
  *
903
+ * @param string $url
904
  *
905
  * @return bool|string
906
  */
907
  function um_is_temp_upload( $url ) {
908
+ if ( is_string( $url ) ) {
909
+ $url = trim( $url );
910
+ }
911
 
912
+ if ( filter_var( $url, FILTER_VALIDATE_URL ) === false ) {
913
  $url = realpath( $url );
914
+ }
915
 
916
+ if ( ! $url ) {
917
  return false;
918
+ }
919
 
920
  $url = explode( '/ultimatemember/temp/', $url );
921
+ if ( isset( $url[1] ) ) {
922
 
923
+ if ( strstr( $url[1], '../' ) || strstr( $url[1], '%' ) ) {
924
  return false;
925
+ }
926
 
927
  $src = UM()->files()->upload_temp . $url[1];
928
+ if ( ! file_exists( $src ) ) {
929
  return false;
930
+ }
931
 
932
  return $src;
933
  }
1419
  * @return bool
1420
  */
1421
  function um_is_on_edit_profile() {
1422
+ if ( isset( $_REQUEST['um_action'] ) && $_REQUEST['um_action'] == 'edit' ) {
1423
+ return true;
 
 
1424
  }
1425
 
1426
  return false;
1504
  if ( um_user( 'can_view_roles' ) && $user_id != get_current_user_id() ) {
1505
 
1506
  $can_view_roles = um_user( 'can_view_roles' );
1507
+
1508
+ if ( ! is_array( $can_view_roles ) ) {
1509
+ $can_view_roles = array();
1510
+ }
1511
 
1512
  if ( count( array_intersect( UM()->roles()->get_all_user_roles( $user_id ), $can_view_roles ) ) <= 0 ) {
1513
  um_fetch_user( $temp_id );
1581
  /**
1582
  * Returns the edit profile link
1583
  *
1584
+ * @return string
1585
  */
1586
  function um_edit_profile_url() {
1587
+ if ( um_is_core_page( 'user' ) ) {
1588
  $url = UM()->permalinks()->get_current_url();
1589
  } else {
1590
  $url = um_user_profile_url();
1592
 
1593
  $url = remove_query_arg( 'profiletab', $url );
1594
  $url = remove_query_arg( 'subnav', $url );
 
1595
  $url = add_query_arg( 'um_action', 'edit', $url );
1596
 
1597
  return $url;
1599
 
1600
 
1601
  /**
1602
+ * Checks if user can edit his profile
1603
  *
1604
  * @return bool
1605
  */
1606
  function um_can_edit_my_profile() {
1607
+ if ( ! is_user_logged_in() || ! um_user( 'can_edit_profile' ) ) {
1608
+ return false;
1609
+ }
1610
 
1611
  return true;
1612
  }
1847
  if ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}{$ext}" ) ) {
1848
  $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo-{$attrs}{$ext}?" . current_time( 'timestamp' );
1849
  }elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}x{$height}{$ext}" ) ) {
1850
+ $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/cover_photo-{$attrs}x{$height}{$ext}?". current_time( 'timestamp' );
1851
+ }
1852
  }
1853
 
1854
  if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo{$ext}" ) ) {
1858
  if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}{$ext}" ) ) {
1859
  $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo-{$attrs}{$ext}?" . current_time( 'timestamp' );
1860
  }elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "cover_photo-{$attrs}x{$height}{$ext}" ) ) {
1861
+ $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/cover_photo-{$attrs}x{$height}{$ext}?". current_time( 'timestamp' );
1862
+ }
1863
 
1864
  if ( ! empty( $uri_common ) && empty( $uri ) ) {
1865
  $uri = $uri_common;
2118
  * @return bool|string
2119
  */
2120
  function um_get_user_avatar_url( $user_id = '', $size = '96' ) {
2121
+ $data = um_get_user_avatar_data( $user_id, $size );
2122
+ return $data['url'];
2123
  }
2124
 
2125
 
includes/widgets/class-um-search-widget.php CHANGED
@@ -24,7 +24,7 @@ class UM_Search_Widget extends \WP_Widget {
24
  'um_search_widget',
25
 
26
  // Widget name will appear in UI
27
- __('Ultimate Member - Search', 'ultimate-member'),
28
 
29
  // Widget description
30
  array( 'description' => __( 'Shows the search member form.', 'ultimate-member' ), )
@@ -78,8 +78,10 @@ class UM_Search_Widget extends \WP_Widget {
78
  ?>
79
 
80
  <p>
81
- <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
82
- <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
 
 
83
  </p>
84
 
85
  <?php
24
  'um_search_widget',
25
 
26
  // Widget name will appear in UI
27
+ __( 'Ultimate Member - Search', 'ultimate-member' ),
28
 
29
  // Widget description
30
  array( 'description' => __( 'Shows the search member form.', 'ultimate-member' ), )
78
  ?>
79
 
80
  <p>
81
+ <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'ultimate-member' ); ?>:</label>
82
+ <input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"
83
+ name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text"
84
+ value="<?php echo esc_attr( $title ); ?>" />
85
  </p>
86
 
87
  <?php
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-08-16 20:21+0300\n"
5
- "PO-Revision-Date: 2019-08-16 20:22+0300\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:1229
39
  msgid "Settings"
40
  msgstr ""
41
 
@@ -75,259 +75,266 @@ msgstr ""
75
  msgid "Form draft updated."
76
  msgstr ""
77
 
78
- #: includes/admin/core/class-admin-builder.php:227
79
  msgid "Manage conditional fields support"
80
  msgstr ""
81
 
82
- #: includes/admin/core/class-admin-builder.php:227
83
- #: includes/admin/core/class-admin-builder.php:229
84
  msgid ""
85
  "Here you can setup conditional logic to show/hide this field based on "
86
  "specific fields value or conditions"
87
  msgstr ""
88
 
89
- #: includes/admin/core/class-admin-builder.php:229
90
  msgid "Add conditional fields support"
91
  msgstr ""
92
 
93
- #: includes/admin/core/class-admin-builder.php:244
94
  msgid "Add new rule"
95
  msgstr ""
96
 
97
- #: includes/admin/core/class-admin-builder.php:245
98
  msgid "Reset all rules"
99
  msgstr ""
100
 
101
- #: includes/admin/core/class-admin-builder.php:298
102
- #: includes/admin/core/class-admin-builder.php:612
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:4128
107
  msgid "Please login as administrator"
108
  msgstr ""
109
 
110
- #: includes/admin/core/class-admin-builder.php:402
111
- #: includes/admin/core/class-admin-builder.php:472
112
- #: includes/admin/core/class-admin-dragdrop.php:163
113
  msgid "Add Row"
114
  msgstr ""
115
 
116
- #: includes/admin/core/class-admin-builder.php:403
117
- #: includes/admin/core/class-admin-builder.php:473
118
- #: includes/admin/core/class-admin-dragdrop.php:164
119
  msgid "Edit Row"
120
  msgstr ""
121
 
122
- #: includes/admin/core/class-admin-builder.php:476
123
- #: includes/admin/core/class-admin-dragdrop.php:166
124
- #: includes/admin/core/class-admin-dragdrop.php:180
125
- #: includes/admin/core/class-admin-dragdrop.php:205
126
  msgid "Delete Row"
127
  msgstr ""
128
 
129
- #: includes/admin/core/class-admin-builder.php:833
130
  msgid "Search Icons..."
131
  msgstr ""
132
 
133
- #: includes/admin/core/class-admin-builder.php:853
134
  msgid "Setup New Field"
135
  msgstr ""
136
 
137
- #: includes/admin/core/class-admin-builder.php:869
138
  msgid "Predefined Fields"
139
  msgstr ""
140
 
141
- #: includes/admin/core/class-admin-builder.php:880
142
- #: includes/core/class-builtin.php:1319
143
  msgid "None"
144
  msgstr ""
145
 
146
- #: includes/admin/core/class-admin-builder.php:884
147
  msgid "Custom Fields"
148
  msgstr ""
149
 
150
- #: includes/admin/core/class-admin-builder.php:895
151
  msgid "You did not create any custom fields"
152
  msgstr ""
153
 
154
- #: includes/admin/core/class-admin-builder.php:926
155
- #: includes/admin/core/class-admin-builder.php:998
156
  msgid "This field type is not setup correcty."
157
  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:533
162
  msgid "This is not possible for security reasons."
163
  msgstr ""
164
 
165
- #: includes/admin/core/class-admin-columns.php:49
166
  msgid "Status"
167
  msgstr ""
168
 
169
- #: includes/admin/core/class-admin-columns.php:101
170
  msgid "Duplicate"
171
  msgstr ""
172
 
173
- #: includes/admin/core/class-admin-columns.php:130
174
- #: includes/admin/core/class-admin-columns.php:150
175
- #: includes/admin/templates/role/role-edit.php:192
176
- msgid "Title"
177
- msgstr ""
178
-
179
  #: includes/admin/core/class-admin-columns.php:131
180
  #: includes/admin/core/class-admin-columns.php:151
181
- msgid "ID"
 
 
 
182
  msgstr ""
183
 
184
  #: includes/admin/core/class-admin-columns.php:132
185
- msgid "Type"
 
186
  msgstr ""
187
 
188
  #: includes/admin/core/class-admin-columns.php:133
189
- #: includes/admin/core/class-admin-columns.php:152
190
- #: includes/admin/core/class-admin-settings.php:453
191
- #: includes/admin/templates/form/login_settings.php:13
192
- #: includes/admin/templates/form/register_customize.php:3
193
- #: includes/admin/templates/form/register_customize.php:29
194
- msgid "Default"
195
  msgstr ""
196
 
197
  #: includes/admin/core/class-admin-columns.php:134
198
  #: includes/admin/core/class-admin-columns.php:153
199
- #: includes/admin/core/class-admin-metabox.php:821
200
- #: includes/admin/core/class-admin-metabox.php:982
201
- msgid "Shortcode"
 
 
202
  msgstr ""
203
 
204
  #: includes/admin/core/class-admin-columns.php:135
205
  #: includes/admin/core/class-admin-columns.php:154
 
 
 
 
 
 
 
206
  msgid "Date"
207
  msgstr ""
208
 
209
- #: includes/admin/core/class-admin-columns.php:185
210
- #: includes/admin/core/class-admin-columns.php:218
211
- #: includes/admin/core/list-tables/roles-list-table.php:367
212
- #: includes/admin/core/list-tables/roles-list-table.php:375
213
- #: includes/admin/templates/form/login_customize.php:13
214
- #: includes/admin/templates/form/login_customize.php:61
215
- #: includes/admin/templates/form/login_customize.php:80
216
- #: includes/admin/templates/form/login_customize.php:91
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:133
221
- #: includes/admin/templates/form/profile_customize.php:153
222
- #: includes/admin/templates/form/profile_customize.php:164
223
- #: includes/admin/templates/form/profile_customize.php:175
224
- #: includes/admin/templates/form/profile_customize.php:186
225
- #: includes/admin/templates/form/register_customize.php:20
226
- #: includes/admin/templates/form/register_customize.php:76
227
- #: includes/admin/templates/form/register_gdpr.php:23
228
  #: includes/core/class-builtin.php:1135 includes/core/class-builtin.php:1149
229
  #: includes/core/class-builtin.php:1150
230
- #: includes/core/um-actions-account.php:271
231
  msgid "No"
232
  msgstr ""
233
 
234
- #: includes/admin/core/class-admin-columns.php:185
235
- #: includes/admin/core/class-admin-columns.php:218
236
- #: includes/admin/core/list-tables/roles-list-table.php:367
237
- #: includes/admin/core/list-tables/roles-list-table.php:375
238
- #: includes/admin/templates/form/login_customize.php:14
239
- #: includes/admin/templates/form/login_customize.php:62
240
- #: includes/admin/templates/form/login_customize.php:81
241
- #: includes/admin/templates/form/login_customize.php:92
242
- #: includes/admin/templates/form/profile_customize.php:23
243
- #: includes/admin/templates/form/profile_customize.php:89
244
- #: includes/admin/templates/form/profile_customize.php:108
245
- #: includes/admin/templates/form/profile_customize.php:134
246
- #: includes/admin/templates/form/profile_customize.php:154
247
- #: includes/admin/templates/form/profile_customize.php:165
248
- #: includes/admin/templates/form/profile_customize.php:176
249
- #: includes/admin/templates/form/profile_customize.php:187
250
- #: includes/admin/templates/form/register_customize.php:21
251
- #: includes/admin/templates/form/register_customize.php:77
252
- #: includes/admin/templates/form/register_gdpr.php:24
253
  #: includes/core/class-builtin.php:1135 includes/core/class-builtin.php:1150
254
  #: includes/core/um-filters-members.php:69
255
  msgid "Yes"
256
  msgstr ""
257
 
258
- #: includes/admin/core/class-admin-enqueue.php:184
259
  msgid "e.g. Member Directory"
260
  msgstr ""
261
 
262
- #: includes/admin/core/class-admin-enqueue.php:186
263
  msgid "e.g. New Registration Form"
264
  msgstr ""
265
 
266
- #: includes/admin/core/class-admin-enqueue.php:231
267
- #: includes/admin/core/class-admin-enqueue.php:262
268
- #: includes/admin/core/class-admin-forms.php:832
269
- #: includes/admin/core/class-admin-forms.php:846
270
- #: includes/admin/core/class-admin-forms.php:951
271
- #: includes/admin/core/class-admin-forms.php:960
272
- #: includes/admin/core/class-admin-notices.php:390
273
- #: includes/core/um-actions-profile.php:627
274
  msgid "Remove"
275
  msgstr ""
276
 
277
- #: includes/admin/core/class-admin-enqueue.php:232
278
- #: includes/admin/core/class-admin-enqueue.php:263
279
- #: includes/admin/core/class-admin-forms.php:1028
280
  msgid "Select"
281
  msgstr ""
282
 
283
- #: includes/admin/core/class-admin-enqueue.php:260
284
  msgid "Are sure, maybe some settings not saved"
285
  msgstr ""
286
 
287
- #: includes/admin/core/class-admin-enqueue.php:486
288
  #: includes/core/class-builtin.php:698 includes/core/class-builtin.php:701
289
  #: includes/core/class-builtin.php:1155 includes/core/class-builtin.php:1158
290
  msgid "Password"
291
  msgstr ""
292
 
293
- #: includes/admin/core/class-admin-enqueue.php:490
294
- #: includes/core/class-account.php:104
 
295
  msgid "Privacy"
296
  msgstr ""
297
 
298
- #: includes/admin/core/class-admin-enqueue.php:494
299
- #: includes/core/class-account.php:110
300
  msgid "Notifications"
301
  msgstr ""
302
 
303
- #: includes/admin/core/class-admin-enqueue.php:498
304
- #: includes/admin/core/list-tables/roles-list-table.php:338
305
- #: includes/admin/core/list-tables/roles-list-table.php:406
306
  msgid "Delete"
307
  msgstr ""
308
 
309
- #: includes/admin/core/class-admin-enqueue.php:548
310
  msgid "Ultimate Member Blocks"
311
  msgstr ""
312
 
313
- #: includes/admin/core/class-admin-forms.php:314
314
  #: includes/core/um-filters-fields.php:15
315
  msgid "Required"
316
  msgstr ""
317
 
318
- #: includes/admin/core/class-admin-forms.php:470
 
 
319
  msgid "Choose Icon"
320
  msgstr ""
321
 
322
- #: includes/admin/core/class-admin-forms.php:476
 
 
323
  msgid "No Icon"
324
  msgstr ""
325
 
326
- #: includes/admin/core/class-admin-forms.php:1005
327
  msgid "Select media"
328
  msgstr ""
329
 
330
- #: includes/admin/core/class-admin-forms.php:1029
331
  msgid "Clear"
332
  msgstr ""
333
 
@@ -412,730 +419,1179 @@ msgstr ""
412
  msgid "Your %s was unable to be removed at this time."
413
  msgstr ""
414
 
415
- #: includes/admin/core/class-admin-menu.php:63
416
  msgid "Thanks :)"
417
  msgstr ""
418
 
419
- #: includes/admin/core/class-admin-menu.php:70
420
  #, php-format
421
  msgid ""
422
  "If you like Ultimate Member please consider leaving a %s review. It will "
423
  "help us to grow the plugin and make it more popular. Thank you."
424
  msgstr ""
425
 
426
- #: includes/admin/core/class-admin-menu.php:125
427
  msgctxt "Admin menu name"
428
  msgid "Users"
429
  msgstr ""
430
 
431
- #: includes/admin/core/class-admin-menu.php:133
432
  msgctxt "Admin menu name"
433
  msgid "All Users"
434
  msgstr ""
435
 
436
  #. Plugin Name of the plugin/theme
437
  #. Author of the plugin/theme
438
- #: includes/admin/core/class-admin-menu.php:145
439
- #: includes/core/class-user.php:560
440
  msgid "Ultimate Member"
441
  msgstr ""
442
 
443
- #: includes/admin/core/class-admin-menu.php:149
444
  msgid "Dashboard"
445
  msgstr ""
446
 
447
- #: includes/admin/core/class-admin-menu.php:157
448
  #: includes/admin/templates/gdpr.php:7 includes/core/class-common.php:54
449
  msgid "Forms"
450
  msgstr ""
451
 
452
- #: includes/admin/core/class-admin-menu.php:159
453
- #: includes/admin/core/list-tables/roles-list-table.php:479
454
  #: includes/admin/core/packages/2.0-beta1/user_roles.php:12
455
  msgid "User Roles"
456
  msgstr ""
457
 
458
- #: includes/admin/core/class-admin-menu.php:162
459
  #: includes/core/class-common.php:84
460
  msgid "Member Directories"
461
  msgstr ""
462
 
463
- #: includes/admin/core/class-admin-menu.php:204
464
- #: includes/admin/core/class-admin-settings.php:1086
465
  msgid "Extensions"
466
  msgstr ""
467
 
468
- #: includes/admin/core/class-admin-menu.php:217
469
  msgid "Users Overview"
470
  msgstr ""
471
 
472
- #: includes/admin/core/class-admin-menu.php:219
473
  msgid "Latest from our blog"
474
  msgstr ""
475
 
476
- #: includes/admin/core/class-admin-menu.php:221
477
  msgid "Purge Temp Files"
478
  msgstr ""
479
 
480
- #: includes/admin/core/class-admin-menu.php:223
481
  msgid "User Cache"
482
  msgstr ""
483
 
484
- #: includes/admin/core/class-admin-menu.php:228
485
  msgid "Upgrade's Manual Request"
486
  msgstr ""
487
 
488
- #: includes/admin/core/class-admin-metabox.php:262
489
  msgid "UM Content Restriction"
490
  msgstr ""
491
 
492
- #: includes/admin/core/class-admin-metabox.php:418
493
- #: includes/admin/core/class-admin-metabox.php:568
494
  #: includes/admin/templates/access/restrict_content.php:53
495
  msgid "Restrict access to this content?"
496
  msgstr ""
497
 
498
- #: includes/admin/core/class-admin-metabox.php:419
499
- #: includes/admin/core/class-admin-metabox.php:426
500
- #: includes/admin/core/class-admin-metabox.php:439
501
- #: includes/admin/core/class-admin-metabox.php:569
502
- #: includes/admin/core/class-admin-metabox.php:577
503
- #: includes/admin/core/class-admin-metabox.php:591
504
  #: includes/admin/templates/access/restrict_content.php:54
505
  #: includes/admin/templates/access/restrict_content.php:61
506
  #: includes/admin/templates/access/restrict_content.php:74
507
  msgid "Activate content restriction for this post"
508
  msgstr ""
509
 
510
- #: includes/admin/core/class-admin-metabox.php:425
511
- #: includes/admin/core/class-admin-metabox.php:576
512
  #: includes/admin/templates/access/restrict_content.php:60
513
  msgid "Who can access this content?"
514
  msgstr ""
515
 
516
- #: includes/admin/core/class-admin-metabox.php:429
517
- #: includes/admin/core/class-admin-metabox.php:580
 
518
  #: includes/admin/core/class-admin-navmenu.php:141
519
  #: includes/admin/templates/access/restrict_content.php:64
520
  #: includes/core/class-builtin.php:662
521
  msgid "Everyone"
522
  msgstr ""
523
 
524
- #: includes/admin/core/class-admin-metabox.php:430
525
- #: includes/admin/core/class-admin-metabox.php:581
526
  #: includes/admin/templates/access/restrict_content.php:65
527
  msgid "Logged out users"
528
  msgstr ""
529
 
530
- #: includes/admin/core/class-admin-metabox.php:431
531
- #: includes/admin/core/class-admin-metabox.php:582
532
  #: includes/admin/templates/access/restrict_content.php:66
533
  msgid "Logged in users"
534
  msgstr ""
535
 
536
- #: includes/admin/core/class-admin-metabox.php:438
537
- #: includes/admin/core/class-admin-metabox.php:590
538
  #: includes/admin/templates/access/restrict_content.php:73
539
  msgid "Select which roles can access this content"
540
  msgstr ""
541
 
542
- #: includes/admin/core/class-admin-metabox.php:447
543
- #: includes/admin/core/class-admin-metabox.php:601
544
  #: includes/admin/templates/access/restrict_content.php:83
545
  msgid "What happens when users without access tries to view the content?"
546
  msgstr ""
547
 
548
- #: includes/admin/core/class-admin-metabox.php:448
549
- #: includes/admin/core/class-admin-metabox.php:460
550
- #: includes/admin/core/class-admin-metabox.php:602
551
- #: includes/admin/core/class-admin-metabox.php:615
552
  #: includes/admin/templates/access/restrict_content.php:84
553
  #: includes/admin/templates/access/restrict_content.php:96
554
  msgid "Action when users without access tries to view the content"
555
  msgstr ""
556
 
557
- #: includes/admin/core/class-admin-metabox.php:451
558
- #: includes/admin/core/class-admin-metabox.php:605
559
  #: includes/admin/templates/access/restrict_content.php:87
560
  msgid "Show access restricted message"
561
  msgstr ""
562
 
563
- #: includes/admin/core/class-admin-metabox.php:452
564
- #: includes/admin/core/class-admin-metabox.php:606
565
  #: includes/admin/templates/access/restrict_content.php:88
566
  msgid "Redirect user"
567
  msgstr ""
568
 
569
- #: includes/admin/core/class-admin-metabox.php:459
570
- #: includes/admin/core/class-admin-metabox.php:614
571
  #: includes/admin/templates/access/restrict_content.php:95
572
  msgid ""
573
  "Would you like to use the global default message or apply a custom message "
574
  "to this content?"
575
  msgstr ""
576
 
577
- #: includes/admin/core/class-admin-metabox.php:463
578
- #: includes/admin/core/class-admin-metabox.php:618
579
  #: includes/admin/templates/access/restrict_content.php:99
580
  msgid "Global default message (default)"
581
  msgstr ""
582
 
583
- #: includes/admin/core/class-admin-metabox.php:464
584
- #: includes/admin/core/class-admin-metabox.php:619
585
  #: includes/admin/templates/access/restrict_content.php:100
586
  msgid "Custom message"
587
  msgstr ""
588
 
589
- #: includes/admin/core/class-admin-metabox.php:471
590
- #: includes/admin/core/class-admin-metabox.php:627
591
  #: includes/admin/templates/access/restrict_content.php:107
592
  msgid "Custom Restrict Content message"
593
  msgstr ""
594
 
595
- #: includes/admin/core/class-admin-metabox.php:472
596
- #: includes/admin/core/class-admin-metabox.php:492
597
- #: includes/admin/core/class-admin-metabox.php:628
598
- #: includes/admin/core/class-admin-metabox.php:650
599
  #: includes/admin/templates/access/restrict_content.php:108
600
  #: includes/admin/templates/access/restrict_content.php:128
601
  msgid "Changed global restrict message"
602
  msgstr ""
603
 
604
- #: includes/admin/core/class-admin-metabox.php:479
605
- #: includes/admin/core/class-admin-metabox.php:636
606
  #: includes/admin/templates/access/restrict_content.php:115
607
  msgid "Where should users be redirected to?"
608
  msgstr ""
609
 
610
- #: includes/admin/core/class-admin-metabox.php:480
611
- #: includes/admin/core/class-admin-metabox.php:637
612
  #: includes/admin/templates/access/restrict_content.php:116
613
  msgid "Select redirect to page when user hasn't access to content"
614
  msgstr ""
615
 
616
- #: includes/admin/core/class-admin-metabox.php:484
617
- #: includes/admin/core/class-admin-metabox.php:641
618
  #: includes/admin/templates/access/restrict_content.php:120
619
  msgid "Login page"
620
  msgstr ""
621
 
622
- #: includes/admin/core/class-admin-metabox.php:485
623
- #: includes/admin/core/class-admin-metabox.php:642
624
  #: includes/admin/templates/access/restrict_content.php:121
625
  msgid "Custom URL"
626
  msgstr ""
627
 
628
- #: includes/admin/core/class-admin-metabox.php:491
629
- #: includes/admin/core/class-admin-metabox.php:649
630
  #: includes/admin/templates/access/restrict_content.php:127
631
  msgid "Redirect URL"
632
  msgstr ""
633
 
634
- #: includes/admin/core/class-admin-metabox.php:499
635
- #: includes/admin/core/class-admin-metabox.php:658
636
  #: includes/admin/templates/access/restrict_content.php:135
637
  msgid "Hide from queries"
638
  msgstr ""
639
 
640
- #: includes/admin/core/class-admin-metabox.php:500
641
- #: includes/admin/core/class-admin-metabox.php:659
642
  #: includes/admin/templates/access/restrict_content.php:136
643
  msgid ""
644
  "Hide this content from archives, RSS feeds etc for users who do not have "
645
  "permission to view this content"
646
  msgstr ""
647
 
648
- #: includes/admin/core/class-admin-metabox.php:817
649
  msgid "General Options"
650
  msgstr ""
651
 
652
- #: includes/admin/core/class-admin-metabox.php:818
653
  msgid "Profile Card"
654
  msgstr ""
655
 
656
- #: includes/admin/core/class-admin-metabox.php:819
657
  msgid "Search Options"
658
  msgstr ""
659
 
660
- #: includes/admin/core/class-admin-metabox.php:820
661
  msgid "Results &amp; Pagination"
662
  msgstr ""
663
 
664
- #: includes/admin/core/class-admin-metabox.php:822
665
  msgid "Styling: General"
666
  msgstr ""
667
 
668
- #: includes/admin/core/class-admin-metabox.php:835
669
  msgid "Administrative Permissions"
670
  msgstr ""
671
 
672
- #: includes/admin/core/class-admin-metabox.php:843
673
  msgid "General Permissions"
674
  msgstr ""
675
 
676
- #: includes/admin/core/class-admin-metabox.php:851
677
  msgid "Profile Access"
678
  msgstr ""
679
 
680
- #: includes/admin/core/class-admin-metabox.php:862
681
  msgid "Homepage Options"
682
  msgstr ""
683
 
684
- #: includes/admin/core/class-admin-metabox.php:873
685
  msgid "Registration Options"
686
  msgstr ""
687
 
688
- #: includes/admin/core/class-admin-metabox.php:881
689
  msgid "Login Options"
690
  msgstr ""
691
 
692
- #: includes/admin/core/class-admin-metabox.php:889
693
  msgid "Logout Options"
694
  msgstr ""
695
 
696
- #: includes/admin/core/class-admin-metabox.php:897
697
  msgid "Delete Options"
698
  msgstr ""
699
 
700
- #: includes/admin/core/class-admin-metabox.php:905
701
  msgid "Publish"
702
  msgstr ""
703
 
704
- #: includes/admin/core/class-admin-metabox.php:953
705
  msgid "WP Capabilities"
706
  msgstr ""
707
 
708
- #: includes/admin/core/class-admin-metabox.php:980
709
  msgid "Select Form Type"
710
  msgstr ""
711
 
712
- #: includes/admin/core/class-admin-metabox.php:981
713
  msgid "Form Builder"
714
  msgstr ""
715
 
716
- #: includes/admin/core/class-admin-metabox.php:984
717
- #: includes/admin/core/class-admin-metabox.php:1005
718
- #: includes/admin/core/class-admin-metabox.php:1027
719
  msgid "Customize this form"
720
  msgstr ""
721
 
722
- #: includes/admin/core/class-admin-metabox.php:1006
723
  msgid "User Meta"
724
  msgstr ""
725
 
726
- #: includes/admin/core/class-admin-metabox.php:1028
727
  msgid "Options"
728
  msgstr ""
729
 
730
- #: includes/admin/core/class-admin-metabox.php:1239
 
 
 
 
731
  msgid ""
732
  "Select where this field should appear. This option should only be changed on "
733
  "the profile form and allows you to show a field in one mode only (edit or "
734
  "view) or in both modes."
735
  msgstr ""
736
 
737
- #: includes/admin/core/class-admin-metabox.php:1273
 
 
 
 
 
 
 
 
 
 
 
 
738
  msgid "If"
739
  msgstr ""
740
 
741
- #: includes/admin/core/class-admin-metabox.php:1350
742
  msgid "Value"
743
  msgstr ""
744
 
745
- #: includes/admin/core/class-admin-metabox.php:1359
 
 
 
 
746
  msgid "Does this field require a special validation"
747
  msgstr ""
748
 
749
- #: includes/admin/core/class-admin-metabox.php:1404
 
 
 
 
 
 
 
 
750
  msgid ""
751
  "If you want to apply your custom validation, you can use action hooks to add "
752
  "custom validation. Please refer to documentation for further details."
753
  msgstr ""
754
 
755
- #: includes/admin/core/class-admin-metabox.php:1418
756
- #: includes/admin/core/class-admin-metabox.php:1446
 
 
 
 
 
757
  msgid ""
758
  "Select an icon to appear in the field. Leave blank if you do not want an "
759
  "icon to show in the field."
760
  msgstr ""
761
 
762
- #: includes/admin/core/class-admin-metabox.php:1473
 
 
 
 
763
  msgid "Specify a custom CSS class to be applied to this element"
764
  msgstr ""
765
 
766
- #: includes/admin/core/class-admin-metabox.php:1483
 
 
 
 
767
  msgid "This is the width in pixels, e.g. 4 or 2, etc"
768
  msgstr ""
769
 
770
- #: includes/admin/core/class-admin-metabox.php:1493
 
 
 
 
771
  msgid "Optional text to include with the divider"
772
  msgstr ""
773
 
774
- #: includes/admin/core/class-admin-metabox.php:1503
 
 
 
 
775
  msgid "Set padding for this section"
776
  msgstr ""
777
 
778
- #: includes/admin/core/class-admin-metabox.php:1513
 
 
 
 
779
  msgid "Set margin for this section"
780
  msgstr ""
781
 
782
- #: includes/admin/core/class-admin-metabox.php:1523
 
 
 
 
783
  msgid "Set border for this section"
784
  msgstr ""
785
 
786
- #: includes/admin/core/class-admin-metabox.php:1533
 
 
 
 
 
787
  msgid "Choose the border style"
788
  msgstr ""
789
 
790
- #: includes/admin/core/class-admin-metabox.php:1548
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
791
  msgid "Rounded corners can be applied by setting a pixels value here. e.g. 5px"
792
  msgstr ""
793
 
794
- #: includes/admin/core/class-admin-metabox.php:1558
 
 
 
 
795
  msgid "Give a color to this border"
796
  msgstr ""
797
 
798
- #: includes/admin/core/class-admin-metabox.php:1568
799
  msgid "Enable Row Heading"
800
  msgstr ""
801
 
802
- #: includes/admin/core/class-admin-metabox.php:1568
803
  msgid "Whether to enable a heading for this row"
804
  msgstr ""
805
 
806
- #: includes/admin/core/class-admin-metabox.php:1578
 
 
 
 
807
  msgid "Enter the row heading text here"
808
  msgstr ""
809
 
810
- #: includes/admin/core/class-admin-metabox.php:1588
 
 
 
 
811
  msgid "This will be the background of entire section"
812
  msgstr ""
813
 
814
- #: includes/admin/core/class-admin-metabox.php:1598
 
 
 
 
815
  msgid "This will be the background of the heading section"
816
  msgstr ""
817
 
818
- #: includes/admin/core/class-admin-metabox.php:1608
 
 
 
 
819
  msgid "This will be the text color of heading part only"
820
  msgstr ""
821
 
822
- #: includes/admin/core/class-admin-metabox.php:1618
 
 
 
 
823
  msgid "This will be the text color of entire section"
824
  msgstr ""
825
 
826
- #: includes/admin/core/class-admin-metabox.php:1628
 
 
 
 
827
  msgid ""
828
  "This will be the color of selected icon. By default It will be the same "
829
  "color as heading text color"
830
  msgstr ""
831
 
832
- #: includes/admin/core/class-admin-metabox.php:1638
 
 
 
 
833
  msgid "Select a color for this divider"
834
  msgstr ""
835
 
836
- #: includes/admin/core/class-admin-metabox.php:1648
 
 
 
 
837
  msgid "Entering custom text here will replace the url with a text link"
838
  msgstr ""
839
 
840
- #: includes/admin/core/class-admin-metabox.php:1658
 
 
 
 
841
  msgid "Choose whether to open this link in same window or in a new window"
842
  msgstr ""
843
 
844
- #: includes/admin/core/class-admin-metabox.php:1671
 
 
 
 
 
 
 
 
 
 
 
 
845
  msgid "Whether to follow or nofollow this link by search engines"
846
  msgstr ""
847
 
848
- #: includes/admin/core/class-admin-metabox.php:1684
 
 
 
 
 
 
 
 
 
 
 
 
849
  msgid ""
850
  "Turn on to force users to create a strong password (A combination of one "
851
  "lowercase letter, one uppercase letter, and one number). If turned on this "
852
  "option is only applied to register forms and not to login forms."
853
  msgstr ""
854
 
855
- #: includes/admin/core/class-admin-metabox.php:1694
 
 
 
 
856
  msgid ""
857
  "Turn on to add a confirm password field. If turned on the confirm password "
858
  "field will only show on register forms and not on login forms."
859
  msgstr ""
860
 
861
- #: includes/admin/core/class-admin-metabox.php:1704
862
  msgid "This is the line-style of divider"
863
  msgstr ""
864
 
865
- #: includes/admin/core/class-admin-metabox.php:1720
 
 
 
 
866
  msgid "Choose the minutes interval between each time in the time picker."
867
  msgstr ""
868
 
869
- #: includes/admin/core/class-admin-metabox.php:1733
 
 
 
 
 
 
 
 
870
  msgid "The display format of the date which is visible to user."
871
  msgstr ""
872
 
873
- #: includes/admin/core/class-admin-metabox.php:1744
 
 
 
 
874
  msgid "Choose the displayed time-format for this field"
875
  msgstr ""
876
 
877
- #: includes/admin/core/class-admin-metabox.php:1759
 
 
 
 
 
 
 
 
 
 
 
 
 
878
  msgid ""
879
  "Whether you wish to show the date in full or only show the years e.g. 25 "
880
  "Years"
881
  msgstr ""
882
 
883
- #: includes/admin/core/class-admin-metabox.php:1778
 
 
 
 
 
 
 
 
 
 
 
 
884
  msgid ""
885
  "Disable specific week days from being available for selection in this date "
886
  "picker"
887
  msgstr ""
888
 
889
- #: includes/admin/core/class-admin-metabox.php:1796
890
- msgid ""
891
- "Number of years available for the date selection. Default to last 50 years"
892
  msgstr ""
893
 
894
- #: includes/admin/core/class-admin-metabox.php:1806
895
- msgid "This decides which years should be shown relative to today date"
896
  msgstr ""
897
 
898
- #: includes/admin/core/class-admin-metabox.php:1820
899
- msgid "Set the minimum date/day in range in the format YYYY/MM/DD"
900
  msgstr ""
901
 
902
- #: includes/admin/core/class-admin-metabox.php:1830
903
- msgid "Set the maximum date/day in range in the format YYYY/MM/DD"
904
  msgstr ""
905
 
906
- #: includes/admin/core/class-admin-metabox.php:1840
907
- msgid ""
908
- "Whether to show a specific number of years or specify a date range to be "
909
- "available for the date picker."
910
  msgstr ""
911
 
912
- #: includes/admin/core/class-admin-metabox.php:1856
913
- msgid ""
914
- "Enter the shortcode in the following textarea and it will be displayed on "
915
- "the fields"
916
  msgstr ""
917
 
918
- #: includes/admin/core/class-admin-metabox.php:1866
919
- msgid "Edit the content of this field here"
920
  msgstr ""
921
 
922
- #: includes/admin/core/class-admin-metabox.php:1879
923
- msgid "Enable/disable crop feature for this image upload and define ratio"
924
  msgstr ""
925
 
926
- #: includes/admin/core/class-admin-metabox.php:1901
927
- #: includes/admin/core/class-admin-metabox.php:1921
928
  msgid ""
929
- "Select the image types that you want to allow to be uploaded via this field."
930
  msgstr ""
931
 
932
- #: includes/admin/core/class-admin-metabox.php:1942
933
- msgid "This is the headline that appears in the upload box for this field"
934
  msgstr ""
935
 
936
- #: includes/admin/core/class-admin-metabox.php:1952
937
- msgid ""
938
- "If you need to add information or secondary line below the headline of "
939
- "upload box, enter it here"
940
  msgstr ""
941
 
942
- #: includes/admin/core/class-admin-metabox.php:1962
943
- msgid "The text that appears on the button. e.g. Upload"
944
  msgstr ""
945
 
946
- #: includes/admin/core/class-admin-metabox.php:1972
947
- msgid ""
948
- "The maximum size for image that can be uploaded through this field. Leave "
949
- "empty for unlimited size."
950
  msgstr ""
951
 
952
- #: includes/admin/core/class-admin-metabox.php:1982
953
- msgid "The height of textarea in pixels. Default is 100 pixels"
954
  msgstr ""
955
 
956
- #: includes/admin/core/class-admin-metabox.php:1992
957
- msgid "This is the required spacing in pixels. e.g. 20px"
958
  msgstr ""
959
 
960
- #: includes/admin/core/class-admin-metabox.php:2002
961
- msgid "Enable/disable multiple selections for this field"
962
  msgstr ""
963
 
964
- #: includes/admin/core/class-admin-metabox.php:2012
965
- msgid ""
966
- "Enter a number here to force a maximum number of selections by user for this "
967
- "field"
968
  msgstr ""
969
 
970
- #: includes/admin/core/class-admin-metabox.php:2022
971
- msgid ""
972
- "Enter a number here to force a minimum number of selections by user for this "
973
- "field"
974
  msgstr ""
975
 
976
- #: includes/admin/core/class-admin-metabox.php:2032
977
- msgid "This is the max number of entries the user can add via field group."
978
  msgstr ""
979
 
980
- #: includes/admin/core/class-admin-metabox.php:2042
 
 
 
 
981
  msgid ""
982
- "If you want to enable a maximum number of words to be input in this "
983
- "textarea. Leave empty to disable this setting"
984
  msgstr ""
985
 
986
- #: includes/admin/core/class-admin-metabox.php:2052
987
- msgid "Minimum number that can be entered in this field"
988
  msgstr ""
989
 
990
- #: includes/admin/core/class-admin-metabox.php:2062
991
- msgid "Maximum number that can be entered in this field"
992
  msgstr ""
993
 
994
- #: includes/admin/core/class-admin-metabox.php:2072
995
- msgid ""
996
- "If you want to enable a minimum number of characters to be input in this "
997
- "field. Leave empty to disable this setting"
998
  msgstr ""
999
 
1000
- #: includes/admin/core/class-admin-metabox.php:2082
1001
  msgid ""
1002
- "If you want to enable a maximum number of characters to be input in this "
1003
- "field. Leave empty to disable this setting"
1004
  msgstr ""
1005
 
1006
- #: includes/admin/core/class-admin-metabox.php:2092
1007
- msgid "Turn on/off HTML tags for this textarea"
1008
  msgstr ""
1009
 
1010
- #: includes/admin/core/class-admin-metabox.php:2111
1011
- msgid ""
1012
- "Enter one choice per line. This will represent the available choices or "
1013
- "selections available for user."
1014
  msgstr ""
1015
 
1016
- #: includes/admin/core/class-admin-metabox.php:2121
1017
- msgid ""
1018
- "This is the title of the field for your reference in the backend. The title "
1019
- "will not appear on the front-end of your website."
1020
  msgstr ""
1021
 
1022
- #: includes/admin/core/class-admin-metabox.php:2146
1023
- msgid ""
1024
- "The meta key cannot be changed for duplicated fields or when editing an "
1025
- "existing field. If you require a different meta key please create a new "
1026
- "field."
1027
  msgstr ""
1028
 
1029
- #: includes/admin/core/class-admin-metabox.php:2152
1030
- msgid ""
1031
- "A meta key is required to store the entered info in this field in the "
1032
- "database. The meta key should be unique to this field and be written in "
1033
- "lowercase with an underscore ( _ ) separating words e.g country_list or "
1034
- "job_title"
1035
  msgstr ""
1036
 
1037
- #: includes/admin/core/class-admin-metabox.php:2165
1038
- msgid ""
1039
- "This is the text that appears in a tooltip when a user hovers over the info "
1040
- "icon. Help text is useful for providing users with more information about "
1041
- "what they should enter in the field. Leave blank if no help text is needed "
1042
- "for field."
1043
  msgstr ""
1044
 
1045
- #: includes/admin/core/class-admin-metabox.php:2177
1046
- msgid "Default Text"
1047
  msgstr ""
1048
 
1049
- #: includes/admin/core/class-admin-metabox.php:2177
1050
- msgid "Text to display by default in this field"
1051
  msgstr ""
1052
 
1053
- #: includes/admin/core/class-admin-metabox.php:2183
1054
- msgid "Default Date"
1055
  msgstr ""
1056
 
1057
- #: includes/admin/core/class-admin-metabox.php:2183
1058
- #: includes/admin/core/class-admin-metabox.php:2189
1059
  msgid ""
1060
- "You may use all PHP compatible date formats such as: 2020-02-02, 02/02/2020, "
1061
- "yesterday, today, tomorrow, next monday, first day of next month, +3 day"
1062
  msgstr ""
1063
 
1064
- #: includes/admin/core/class-admin-metabox.php:2189
1065
- msgid "Default Time"
1066
  msgstr ""
1067
 
1068
- #: includes/admin/core/class-admin-metabox.php:2195
1069
- msgid "Default Rating"
1070
  msgstr ""
1071
 
1072
- #: includes/admin/core/class-admin-metabox.php:2195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1073
  msgid ""
1074
  "If you wish the rating field to be prefilled with a number of stars, enter "
1075
  "it here."
1076
  msgstr ""
1077
 
1078
- #: includes/admin/core/class-admin-metabox.php:2201
1079
  msgid "Default Value"
1080
  msgstr ""
1081
 
1082
- #: includes/admin/core/class-admin-metabox.php:2201
1083
  msgid ""
1084
  "This option allows you to pre-fill the field with a default value prior to "
1085
  "the user entering a value in the field. Leave blank to have no default value"
1086
  msgstr ""
1087
 
1088
- #: includes/admin/core/class-admin-metabox.php:2213
 
 
 
 
1089
  msgid ""
1090
  "The field label is the text that appears above the field on your front-end "
1091
  "form. Leave blank to not show a label above field."
1092
  msgstr ""
1093
 
1094
- #: includes/admin/core/class-admin-metabox.php:2223
 
 
 
 
1095
  msgid ""
1096
  "This is the text that appears within the field e.g please enter your email "
1097
  "address. Leave blank to not show any placeholder text."
1098
  msgstr ""
1099
 
1100
- #: includes/admin/core/class-admin-metabox.php:2233
1101
  msgid ""
1102
  "Field privacy allows you to select who can view this field on the front-end. "
1103
  "The site admin can view all fields regardless of the option set here."
1104
  msgstr ""
1105
 
1106
- #: includes/admin/core/class-admin-metabox.php:2256
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1107
  msgid "Select the member roles that can view this field on the front-end."
1108
  msgstr ""
1109
 
1110
- #: includes/admin/core/class-admin-metabox.php:2282
 
 
 
 
1111
  msgid ""
1112
  "This option allows you to set whether the field must be filled in before the "
1113
  "form can be processed."
1114
  msgstr ""
1115
 
1116
- #: includes/admin/core/class-admin-metabox.php:2296
 
 
 
 
1117
  msgid ""
1118
  "This option allows you to set whether or not the user can edit the "
1119
  "information in this field."
1120
  msgstr ""
1121
 
1122
- #: includes/admin/core/class-admin-metabox.php:2309
 
 
 
 
1123
  msgid "Choose whether you want a 5-stars or 10-stars ratings based here."
1124
  msgstr ""
1125
 
1126
- #: includes/admin/core/class-admin-metabox.php:2322
 
 
 
 
 
 
 
 
 
 
 
 
1127
  msgid "Add a callback source to retrieve choices."
1128
  msgstr ""
1129
 
1130
- #: includes/admin/core/class-admin-metabox.php:2333
1131
  msgid "Parent Option"
1132
  msgstr ""
1133
 
1134
- #: includes/admin/core/class-admin-metabox.php:2333
1135
  msgid "Dynamically populates the option based from selected parent option."
1136
  msgstr ""
1137
 
1138
- #: includes/admin/core/class-admin-metabox.php:2335
1139
  msgid "No Selected"
1140
  msgstr ""
1141
 
@@ -1167,7 +1623,7 @@ msgstr ""
1167
  msgid "Select the member roles that can see this link"
1168
  msgstr ""
1169
 
1170
- #: includes/admin/core/class-admin-notices.php:279
1171
  #, php-format
1172
  msgid ""
1173
  "<strong>%s %s</strong> requires 2.0 extensions. You have pre 2.0 extensions "
@@ -1175,31 +1631,31 @@ msgid ""
1175
  "versions. For more info see this <a href=\"%s\" target=\"_blank\">doc</a>."
1176
  msgstr ""
1177
 
1178
- #: includes/admin/core/class-admin-notices.php:300
1179
  #, php-format
1180
  msgid ""
1181
  "%s needs to create several pages (User Profiles, Account, Registration, "
1182
  "Login, Password Reset, Logout, Member Directory) to function correctly."
1183
  msgstr ""
1184
 
1185
- #: includes/admin/core/class-admin-notices.php:304
1186
  msgid "Create Pages"
1187
  msgstr ""
1188
 
1189
- #: includes/admin/core/class-admin-notices.php:306
1190
- #: includes/admin/core/class-admin-notices.php:500
1191
  msgid "No thanks"
1192
  msgstr ""
1193
 
1194
- #: includes/admin/core/class-admin-notices.php:326
1195
  msgid "Ultimate Member Setup Error: User page can not be a child page."
1196
  msgstr ""
1197
 
1198
- #: includes/admin/core/class-admin-notices.php:336
1199
  msgid "Ultimate Member Setup Error: Account page can not be a child page."
1200
  msgstr ""
1201
 
1202
- #: includes/admin/core/class-admin-notices.php:354
1203
  #, php-format
1204
  msgid ""
1205
  "Exif is not enabled on your server. Mobile photo uploads will not be rotated "
@@ -1207,69 +1663,69 @@ msgid ""
1207
  "notice</a>"
1208
  msgstr ""
1209
 
1210
- #: includes/admin/core/class-admin-notices.php:389
1211
  #, php-format
1212
  msgid ""
1213
  "Are you sure you want to delete the selected user(s)? The following users "
1214
  "will be deleted: <p>%s</p> <strong>This cannot be undone!</strong>"
1215
  msgstr ""
1216
 
1217
- #: includes/admin/core/class-admin-notices.php:390
1218
  msgid "Undo"
1219
  msgstr ""
1220
 
1221
- #: includes/admin/core/class-admin-notices.php:395
1222
  msgid "Your translation files have been updated successfully."
1223
  msgstr ""
1224
 
1225
- #: includes/admin/core/class-admin-notices.php:399
1226
  msgid "Your temp uploads directory is now clean."
1227
  msgstr ""
1228
 
1229
- #: includes/admin/core/class-admin-notices.php:403
1230
  msgid "Your user cache is now removed."
1231
  msgstr ""
1232
 
1233
- #: includes/admin/core/class-admin-notices.php:407
1234
  msgid "You have the latest updates."
1235
  msgstr ""
1236
 
1237
- #: includes/admin/core/class-admin-notices.php:411
1238
  msgid "Try again later. You can run this action once daily."
1239
  msgstr ""
1240
 
1241
- #: includes/admin/core/class-admin-notices.php:415
1242
  msgid "The form has been duplicated successfully."
1243
  msgstr ""
1244
 
1245
- #: includes/admin/core/class-admin-notices.php:419
1246
  msgid "User has been updated."
1247
  msgstr ""
1248
 
1249
- #: includes/admin/core/class-admin-notices.php:423
1250
  msgid "Users have been updated."
1251
  msgstr ""
1252
 
1253
- #: includes/admin/core/class-admin-notices.php:427
1254
  msgid "Changed roles."
1255
  msgstr ""
1256
 
1257
- #: includes/admin/core/class-admin-notices.php:431
1258
  msgid "Super administrators cannot be modified."
1259
  msgstr ""
1260
 
1261
- #: includes/admin/core/class-admin-notices.php:432
1262
  msgid "Other users have been updated."
1263
  msgstr ""
1264
 
1265
- #: includes/admin/core/class-admin-notices.php:469
1266
  #, php-format
1267
  msgid ""
1268
  "You have installed <strong>%s</strong> with wrong folder name. Correct "
1269
  "folder name is <strong>\"ultimate-member\"</strong>."
1270
  msgstr ""
1271
 
1272
- #: includes/admin/core/class-admin-notices.php:494
1273
  #, php-format
1274
  msgid ""
1275
  "Thanks for installing <strong>%s</strong>! We hope you like the plugin. To "
@@ -1279,12 +1735,12 @@ msgid ""
1279
  "a>."
1280
  msgstr ""
1281
 
1282
- #: includes/admin/core/class-admin-notices.php:498
1283
  #, php-format
1284
  msgid "Claim 20% discount code"
1285
  msgstr ""
1286
 
1287
- #: includes/admin/core/class-admin-notices.php:537
1288
  #, php-format
1289
  msgid ""
1290
  "There are %d inactive %s license keys for this site. This site is not "
@@ -1292,14 +1748,14 @@ msgid ""
1292
  "\">www.ultimatemember.com</a>."
1293
  msgstr ""
1294
 
1295
- #: includes/admin/core/class-admin-notices.php:544
1296
  #, php-format
1297
  msgid ""
1298
  "You have %d invalid or expired license keys for %s. Please go to the <a href="
1299
  "\"%s\">Licenses page</a> to correct this issue."
1300
  msgstr ""
1301
 
1302
- #: includes/admin/core/class-admin-notices.php:558
1303
  #, php-format
1304
  msgid ""
1305
  "<strong>%s version %s</strong> needs to be updated to work correctly.<br /"
@@ -1308,35 +1764,35 @@ msgid ""
1308
  "\"Upgrade\"</a> page and run the upgrade process."
1309
  msgstr ""
1310
 
1311
- #: includes/admin/core/class-admin-notices.php:562
1312
  msgid "Upgrade Now"
1313
  msgstr ""
1314
 
1315
- #: includes/admin/core/class-admin-notices.php:576
1316
  #, php-format
1317
  msgid "<strong>%s %s</strong> Successfully Upgraded"
1318
  msgstr ""
1319
 
1320
- #: includes/admin/core/class-admin-notices.php:602
1321
  #, php-format
1322
  msgid ""
1323
  "Hey there! It's been one month since you installed %s. How have you found "
1324
  "the plugin so far?"
1325
  msgstr ""
1326
 
1327
- #: includes/admin/core/class-admin-notices.php:605
1328
  msgid "I love it!"
1329
  msgstr ""
1330
 
1331
- #: includes/admin/core/class-admin-notices.php:606
1332
  msgid "It's good but could be better"
1333
  msgstr ""
1334
 
1335
- #: includes/admin/core/class-admin-notices.php:607
1336
  msgid "I don't like the plugin"
1337
  msgstr ""
1338
 
1339
- #: includes/admin/core/class-admin-notices.php:612
1340
  #, php-format
1341
  msgid ""
1342
  "Great! We're happy to hear that you love the plugin. It would be amazing if "
@@ -1345,22 +1801,22 @@ msgid ""
1345
  "appreciated by us!"
1346
  msgstr ""
1347
 
1348
- #: includes/admin/core/class-admin-notices.php:616
1349
  msgid "Leave Review"
1350
  msgstr ""
1351
 
1352
- #: includes/admin/core/class-admin-notices.php:621
1353
  msgid ""
1354
  "We're glad to hear that you like the plugin but we would love to get your "
1355
  "feedback so we can make the plugin better."
1356
  msgstr ""
1357
 
1358
- #: includes/admin/core/class-admin-notices.php:625
1359
- #: includes/admin/core/class-admin-notices.php:634
1360
  msgid "Provide Feedback"
1361
  msgstr ""
1362
 
1363
- #: includes/admin/core/class-admin-notices.php:630
1364
  #, php-format
1365
  msgid ""
1366
  "We're sorry to hear that. If you're having the issue with the plugin you can "
@@ -1370,1368 +1826,1384 @@ msgid ""
1370
  "like about the plugin you can tell us know by giving us feedback."
1371
  msgstr ""
1372
 
1373
- #: includes/admin/core/class-admin-notices.php:656
1374
  #, php-format
1375
  msgid ""
1376
  "<strong>%s</strong> future plans! Detailed future list is <a href=\"%s\" "
1377
  "target=\"_blank\">here</a>"
1378
  msgstr ""
1379
 
1380
- #: includes/admin/core/class-admin-notices.php:672
1381
  msgid "Wrong Data"
1382
  msgstr ""
1383
 
1384
- #: includes/admin/core/class-admin-settings.php:109
1385
- #: includes/admin/core/class-admin-settings.php:118
1386
  #, php-format
1387
  msgid "%s page"
1388
  msgstr ""
1389
 
1390
- #: includes/admin/core/class-admin-settings.php:110
1391
  msgid "Add page ID"
1392
  msgstr ""
1393
 
1394
- #: includes/admin/core/class-admin-settings.php:120
1395
  msgid "Choose a page..."
1396
  msgstr ""
1397
 
1398
- #: includes/admin/core/class-admin-settings.php:132
1399
  msgid "Enable profile menu"
1400
  msgstr ""
1401
 
1402
- #: includes/admin/core/class-admin-settings.php:149
1403
- #: includes/admin/core/class-admin-settings.php:159
1404
  #, php-format
1405
  msgid "%s Tab"
1406
  msgstr ""
1407
 
1408
- #: includes/admin/core/class-admin-settings.php:165
1409
  #, php-format
1410
  msgid "Who can see %s Tab?"
1411
  msgstr ""
1412
 
1413
- #: includes/admin/core/class-admin-settings.php:166
1414
  msgid "Select which users can view this tab."
1415
  msgstr ""
1416
 
1417
- #: includes/admin/core/class-admin-settings.php:175
1418
  msgid "Allowed roles"
1419
  msgstr ""
1420
 
1421
- #: includes/admin/core/class-admin-settings.php:176
1422
  msgid "Select the the user roles allowed to view this tab."
1423
  msgstr ""
1424
 
1425
- #: includes/admin/core/class-admin-settings.php:178
1426
  msgid "Choose user roles..."
1427
  msgstr ""
1428
 
1429
- #: includes/admin/core/class-admin-settings.php:202
1430
  msgid "Profile menu default tab"
1431
  msgstr ""
1432
 
1433
- #: includes/admin/core/class-admin-settings.php:203
1434
  msgid "This will be the default tab on user profile page"
1435
  msgstr ""
1436
 
1437
- #: includes/admin/core/class-admin-settings.php:214
1438
  msgid "Enable menu icons in desktop view"
1439
  msgstr ""
1440
 
1441
- #: includes/admin/core/class-admin-settings.php:267
1442
  msgid "Global Site Access"
1443
  msgstr ""
1444
 
1445
- #: includes/admin/core/class-admin-settings.php:268
1446
  msgid ""
1447
  "Globally control the access of your site, you can have seperate restrict "
1448
  "options per post/page by editing the desired item."
1449
  msgstr ""
1450
 
1451
- #: includes/admin/core/class-admin-settings.php:278
 
 
 
 
 
 
 
 
1452
  msgid "Custom Redirect URL"
1453
  msgstr ""
1454
 
1455
- #: includes/admin/core/class-admin-settings.php:279
1456
  msgid ""
1457
  "A logged out user will be redirected to this url If he is not permitted to "
1458
  "access the site"
1459
  msgstr ""
1460
 
1461
- #: includes/admin/core/class-admin-settings.php:285
1462
  msgid "Exclude the following URLs"
1463
  msgstr ""
1464
 
1465
- #: includes/admin/core/class-admin-settings.php:286
1466
  msgid ""
1467
  "Here you can exclude URLs beside the redirect URI to be accessible to "
1468
  "everyone"
1469
  msgstr ""
1470
 
1471
- #: includes/admin/core/class-admin-settings.php:287
1472
  msgid "Add New URL"
1473
  msgstr ""
1474
 
1475
- #: includes/admin/core/class-admin-settings.php:294
1476
  msgid "Allow Homepage to be accessible"
1477
  msgstr ""
1478
 
1479
- #: includes/admin/core/class-admin-settings.php:300
1480
  msgid "Allow Category pages to be accessible"
1481
  msgstr ""
1482
 
1483
- #: includes/admin/core/class-admin-settings.php:306
1484
  msgid "Restricted Access Message"
1485
  msgstr ""
1486
 
1487
- #: includes/admin/core/class-admin-settings.php:307
1488
  msgid ""
1489
  "This is the message shown to users that do not have permission to view the "
1490
  "content"
1491
  msgstr ""
1492
 
1493
- #: includes/admin/core/class-admin-settings.php:315
1494
  msgid "Allow Gutenberg Blocks restriction options"
1495
  msgstr ""
1496
 
1497
- #: includes/admin/core/class-admin-settings.php:320
1498
  msgid "Restricted Block Message"
1499
  msgstr ""
1500
 
1501
- #: includes/admin/core/class-admin-settings.php:321
1502
  msgid ""
1503
  "This is the message shown to users that do not have permission to view the "
1504
  "block's content"
1505
  msgstr ""
1506
 
1507
- #: includes/admin/core/class-admin-settings.php:338
1508
  msgid "Restricted Access to Posts"
1509
  msgstr ""
1510
 
1511
- #: includes/admin/core/class-admin-settings.php:339
1512
  msgid "Restriction content of the current Posts"
1513
  msgstr ""
1514
 
1515
- #: includes/admin/core/class-admin-settings.php:348
1516
  msgid "Restricted Access to Taxonomies"
1517
  msgstr ""
1518
 
1519
- #: includes/admin/core/class-admin-settings.php:349
1520
  msgid "Restriction content of the current Taxonomies"
1521
  msgstr ""
1522
 
1523
- #: includes/admin/core/class-admin-settings.php:379
1524
  msgid "General"
1525
  msgstr ""
1526
 
1527
- #: includes/admin/core/class-admin-settings.php:382
1528
  msgid "Pages"
1529
  msgstr ""
1530
 
1531
- #: includes/admin/core/class-admin-settings.php:386
1532
- #: includes/admin/templates/dashboard/users.php:6
1533
  msgid "Users"
1534
  msgstr ""
1535
 
1536
- #: includes/admin/core/class-admin-settings.php:392
1537
  msgid "Profile Permalink Base"
1538
  msgstr ""
1539
 
1540
- #: includes/admin/core/class-admin-settings.php:393
1541
  msgid ""
1542
  "Here you can control the permalink structure of the user profile URL "
1543
  "globally e.g. "
1544
  msgstr ""
1545
 
1546
- #: includes/admin/core/class-admin-settings.php:395
1547
- #: includes/admin/core/class-admin-settings.php:412
1548
  #: includes/core/class-builtin.php:674 includes/core/class-builtin.php:677
1549
  msgid "Username"
1550
  msgstr ""
1551
 
1552
- #: includes/admin/core/class-admin-settings.php:396
1553
  msgid "First and Last Name with '.'"
1554
  msgstr ""
1555
 
1556
- #: includes/admin/core/class-admin-settings.php:397
1557
  msgid "First and Last Name with '-'"
1558
  msgstr ""
1559
 
1560
- #: includes/admin/core/class-admin-settings.php:398
1561
  msgid "First and Last Name with '+'"
1562
  msgstr ""
1563
 
1564
- #: includes/admin/core/class-admin-settings.php:399
1565
  msgid "User ID"
1566
  msgstr ""
1567
 
1568
- #: includes/admin/core/class-admin-settings.php:401
1569
- #: includes/admin/core/class-admin-settings.php:420
1570
  msgid "Select..."
1571
  msgstr ""
1572
 
1573
- #: includes/admin/core/class-admin-settings.php:407
1574
  msgid "User Display Name"
1575
  msgstr ""
1576
 
1577
- #: includes/admin/core/class-admin-settings.php:408
1578
  msgid ""
1579
  "This is the name that will be displayed for users on the front end of your "
1580
  "site. Default setting uses first/last name as display name if it exists"
1581
  msgstr ""
1582
 
1583
- #: includes/admin/core/class-admin-settings.php:410
1584
  msgid "Default WP Display Name"
1585
  msgstr ""
1586
 
1587
- #: includes/admin/core/class-admin-settings.php:411
1588
  #: includes/core/class-builtin.php:732 includes/core/class-builtin.php:735
1589
  msgid "Nickname"
1590
  msgstr ""
1591
 
1592
- #: includes/admin/core/class-admin-settings.php:413
1593
  msgid "First name & last name"
1594
  msgstr ""
1595
 
1596
- #: includes/admin/core/class-admin-settings.php:414
1597
  msgid "Last name & first name"
1598
  msgstr ""
1599
 
1600
- #: includes/admin/core/class-admin-settings.php:415
1601
  msgid "First name & first initial of last name"
1602
  msgstr ""
1603
 
1604
- #: includes/admin/core/class-admin-settings.php:416
1605
  msgid "First initial of first name & last name"
1606
  msgstr ""
1607
 
1608
- #: includes/admin/core/class-admin-settings.php:417
1609
  msgid "First name only"
1610
  msgstr ""
1611
 
1612
- #: includes/admin/core/class-admin-settings.php:418
1613
  msgid "Custom field(s)"
1614
  msgstr ""
1615
 
1616
- #: includes/admin/core/class-admin-settings.php:425
1617
  msgid "Display Name Custom Field(s)"
1618
  msgstr ""
1619
 
1620
- #: includes/admin/core/class-admin-settings.php:426
1621
  msgid ""
1622
  "Specify the custom field meta key or custom fields seperated by comma that "
1623
  "you want to use to display users name on the frontend of your site"
1624
  msgstr ""
1625
 
1626
- #: includes/admin/core/class-admin-settings.php:432
1627
  msgid "Automatically redirect author page to their profile?"
1628
  msgstr ""
1629
 
1630
- #: includes/admin/core/class-admin-settings.php:433
1631
  msgid ""
1632
  "If enabled, author pages will automatically redirect to the user's profile "
1633
  "page"
1634
  msgstr ""
1635
 
1636
- #: includes/admin/core/class-admin-settings.php:438
1637
  msgid "Enable Members Directory"
1638
  msgstr ""
1639
 
1640
- #: includes/admin/core/class-admin-settings.php:439
1641
  msgid "Control whether to enable or disable member directories on this site"
1642
  msgstr ""
1643
 
1644
- #: includes/admin/core/class-admin-settings.php:444
1645
  msgid "Use Gravatars?"
1646
  msgstr ""
1647
 
1648
- #: includes/admin/core/class-admin-settings.php:445
1649
  msgid ""
1650
  "Do you want to use gravatars instead of the default plugin profile photo (If "
1651
  "the user did not upload a custom profile photo / avatar)"
1652
  msgstr ""
1653
 
1654
- #: includes/admin/core/class-admin-settings.php:450
1655
  msgid "Use Gravatar builtin image"
1656
  msgstr ""
1657
 
1658
- #: includes/admin/core/class-admin-settings.php:451
1659
  msgid ""
1660
  "Gravatar has a number of built in options which you can also use as defaults"
1661
  msgstr ""
1662
 
1663
- #: includes/admin/core/class-admin-settings.php:454
1664
  msgid "404 ( File Not Found response )"
1665
  msgstr ""
1666
 
1667
- #: includes/admin/core/class-admin-settings.php:455
1668
  msgid "Mystery Man"
1669
  msgstr ""
1670
 
1671
- #: includes/admin/core/class-admin-settings.php:456
1672
  msgid "Identicon"
1673
  msgstr ""
1674
 
1675
- #: includes/admin/core/class-admin-settings.php:457
1676
  msgid "Monsterid"
1677
  msgstr ""
1678
 
1679
- #: includes/admin/core/class-admin-settings.php:458
1680
  msgid "Wavatar"
1681
  msgstr ""
1682
 
1683
- #: includes/admin/core/class-admin-settings.php:459
1684
  msgid "Retro"
1685
  msgstr ""
1686
 
1687
- #: includes/admin/core/class-admin-settings.php:460
1688
  msgid "Blank ( a transparent PNG image )"
1689
  msgstr ""
1690
 
1691
- #: includes/admin/core/class-admin-settings.php:468
1692
  msgid "Use Default plugin avatar as Gravatar's Default avatar"
1693
  msgstr ""
1694
 
1695
- #: includes/admin/core/class-admin-settings.php:469
1696
  msgid ""
1697
  "Do you want to use the plugin default avatar instead of the gravatar default "
1698
  "photo (If the user did not upload a custom profile photo / avatar)"
1699
  msgstr ""
1700
 
1701
- #: includes/admin/core/class-admin-settings.php:475
1702
  msgid "Require a strong password? (when user resets password only)"
1703
  msgstr ""
1704
 
1705
- #: includes/admin/core/class-admin-settings.php:476
1706
  msgid ""
1707
  "Enable or disable a strong password rules on password reset and change "
1708
  "procedure"
1709
  msgstr ""
1710
 
1711
- #: includes/admin/core/class-admin-settings.php:481
1712
  #: includes/class-config.php:136 includes/class-config.php:761
1713
- #: includes/core/class-account.php:92
1714
  msgid "Account"
1715
  msgstr ""
1716
 
1717
- #: includes/admin/core/class-admin-settings.php:486
1718
  msgid "Password Account Tab"
1719
  msgstr ""
1720
 
1721
- #: includes/admin/core/class-admin-settings.php:492
1722
  msgid "Privacy Account Tab"
1723
  msgstr ""
1724
 
1725
- #: includes/admin/core/class-admin-settings.php:493
1726
  msgid "Enable/disable the Privacy account tab in account page"
1727
  msgstr ""
1728
 
1729
- #: includes/admin/core/class-admin-settings.php:498
1730
  msgid "Notifications Account Tab"
1731
  msgstr ""
1732
 
1733
- #: includes/admin/core/class-admin-settings.php:499
1734
  msgid "Enable/disable the Notifications account tab in account page"
1735
  msgstr ""
1736
 
1737
- #: includes/admin/core/class-admin-settings.php:504
1738
  msgid "Delete Account Tab"
1739
  msgstr ""
1740
 
1741
- #: includes/admin/core/class-admin-settings.php:505
1742
  msgid "Enable/disable the Delete account tab in account page"
1743
  msgstr ""
1744
 
1745
- #: includes/admin/core/class-admin-settings.php:510
1746
  msgid "Account Deletion Custom Text"
1747
  msgstr ""
1748
 
1749
- #: includes/admin/core/class-admin-settings.php:511
1750
  msgid ""
1751
  "This is custom text that will be displayed to users before they delete their "
1752
  "accounts from your site"
1753
  msgstr ""
1754
 
1755
- #: includes/admin/core/class-admin-settings.php:519
1756
  msgid "Add a First & Last Name fields"
1757
  msgstr ""
1758
 
1759
- #: includes/admin/core/class-admin-settings.php:520
1760
  msgid ""
1761
  "Whether to enable these fields on the user account page by default or hide "
1762
  "them."
1763
  msgstr ""
1764
 
1765
- #: includes/admin/core/class-admin-settings.php:525
1766
  msgid "Disable First & Last Name fields"
1767
  msgstr ""
1768
 
1769
- #: includes/admin/core/class-admin-settings.php:526
1770
  msgid ""
1771
  "Whether to allow users changing their first and last name in account page."
1772
  msgstr ""
1773
 
1774
- #: includes/admin/core/class-admin-settings.php:532
1775
  msgid "Require First & Last Name"
1776
  msgstr ""
1777
 
1778
- #: includes/admin/core/class-admin-settings.php:533
1779
  msgid "Require first and last name?"
1780
  msgstr ""
1781
 
1782
- #: includes/admin/core/class-admin-settings.php:539
1783
  msgid "Allow users to change e-mail"
1784
  msgstr ""
1785
 
1786
- #: includes/admin/core/class-admin-settings.php:540
1787
  msgid "Whether to allow users changing their email in account page."
1788
  msgstr ""
1789
 
1790
- #: includes/admin/core/class-admin-settings.php:545
1791
  msgid "Password is required?"
1792
  msgstr ""
1793
 
1794
- #: includes/admin/core/class-admin-settings.php:546
1795
  msgid "Password is required to save account data."
1796
  msgstr ""
1797
 
1798
- #: includes/admin/core/class-admin-settings.php:551
1799
  msgid "Allow users to hide their profiles from directory"
1800
  msgstr ""
1801
 
1802
- #: includes/admin/core/class-admin-settings.php:552
1803
  msgid ""
1804
  "Whether to allow users changing their profile visibility from member "
1805
  "directory in account page."
1806
  msgstr ""
1807
 
1808
- #: includes/admin/core/class-admin-settings.php:557
1809
  msgid "Require a strong password?"
1810
  msgstr ""
1811
 
1812
- #: includes/admin/core/class-admin-settings.php:558
1813
  msgid ""
1814
  "Enable or disable a strong password rules on account page / change password "
1815
  "tab"
1816
  msgstr ""
1817
 
1818
- #: includes/admin/core/class-admin-settings.php:563
1819
  msgid "Uploads"
1820
  msgstr ""
1821
 
1822
- #: includes/admin/core/class-admin-settings.php:569
1823
  msgid "Profile Photo Maximum File Size (bytes)"
1824
  msgstr ""
1825
 
1826
- #: includes/admin/core/class-admin-settings.php:570
1827
  msgid "Sets a maximum size for the uploaded photo"
1828
  msgstr ""
1829
 
1830
- #: includes/admin/core/class-admin-settings.php:577
1831
  msgid "Cover Photo Maximum File Size (bytes)"
1832
  msgstr ""
1833
 
1834
- #: includes/admin/core/class-admin-settings.php:578
1835
  msgid "Sets a maximum size for the uploaded cover"
1836
  msgstr ""
1837
 
1838
- #: includes/admin/core/class-admin-settings.php:584
1839
  msgid "Profile Photo Thumbnail Sizes (px)"
1840
  msgstr ""
1841
 
1842
- #: includes/admin/core/class-admin-settings.php:585
1843
  msgid ""
1844
  "Here you can define which thumbnail sizes will be created for each profile "
1845
  "photo upload."
1846
  msgstr ""
1847
 
1848
- #: includes/admin/core/class-admin-settings.php:587
1849
- #: includes/admin/core/class-admin-settings.php:597
1850
  msgid "Add New Size"
1851
  msgstr ""
1852
 
1853
- #: includes/admin/core/class-admin-settings.php:594
1854
  msgid "Cover Photo Thumbnail Sizes (px)"
1855
  msgstr ""
1856
 
1857
- #: includes/admin/core/class-admin-settings.php:595
1858
  msgid ""
1859
  "Here you can define which thumbnail sizes will be created for each cover "
1860
  "photo upload."
1861
  msgstr ""
1862
 
1863
- #: includes/admin/core/class-admin-settings.php:605
1864
  msgid "Image Quality"
1865
  msgstr ""
1866
 
1867
- #: includes/admin/core/class-admin-settings.php:606
1868
  msgid ""
1869
  "Quality is used to determine quality of image uploads, and ranges from 0 "
1870
  "(worst quality, smaller file) to 100 (best quality, biggest file). The "
1871
  "default range is 60."
1872
  msgstr ""
1873
 
1874
- #: includes/admin/core/class-admin-settings.php:613
1875
  msgid "Image Upload Maximum Width (px)"
1876
  msgstr ""
1877
 
1878
- #: includes/admin/core/class-admin-settings.php:614
1879
  msgid ""
1880
  "Any image upload above this width will be resized to this limit "
1881
  "automatically."
1882
  msgstr ""
1883
 
1884
- #: includes/admin/core/class-admin-settings.php:621
1885
  msgid "Cover Photo Minimum Width (px)"
1886
  msgstr ""
1887
 
1888
- #: includes/admin/core/class-admin-settings.php:622
1889
  msgid "This will be the minimum width for cover photo uploads"
1890
  msgstr ""
1891
 
1892
- #: includes/admin/core/class-admin-settings.php:629
1893
  msgid "Access"
1894
  msgstr ""
1895
 
1896
- #: includes/admin/core/class-admin-settings.php:632
1897
  msgid "Restriction Content"
1898
  msgstr ""
1899
 
1900
- #: includes/admin/core/class-admin-settings.php:636
1901
  msgid "Other"
1902
  msgstr ""
1903
 
1904
- #: includes/admin/core/class-admin-settings.php:641
1905
  msgid "Enable the Reset Password Limit?"
1906
  msgstr ""
1907
 
1908
- #: includes/admin/core/class-admin-settings.php:646
1909
  msgid "Reset Password Limit"
1910
  msgstr ""
1911
 
1912
- #: includes/admin/core/class-admin-settings.php:647
1913
  msgid ""
1914
  "Set the maximum reset password limit. If reached the maximum limit, user "
1915
  "will be locked from using this."
1916
  msgstr ""
1917
 
1918
- #: includes/admin/core/class-admin-settings.php:655
1919
  msgid "Blocked Email Addresses"
1920
  msgstr ""
1921
 
1922
- #: includes/admin/core/class-admin-settings.php:656
1923
  msgid ""
1924
  "This will block the specified e-mail addresses from being able to sign up or "
1925
  "sign in to your site. To block an entire domain, use something like *@domain."
1926
  "com"
1927
  msgstr ""
1928
 
1929
- #: includes/admin/core/class-admin-settings.php:661
1930
  msgid "Blacklist Words"
1931
  msgstr ""
1932
 
1933
- #: includes/admin/core/class-admin-settings.php:662
1934
  msgid ""
1935
  "This option lets you specify blacklist of words to prevent anyone from "
1936
  "signing up with such a word as their username"
1937
  msgstr ""
1938
 
1939
- #: includes/admin/core/class-admin-settings.php:669
1940
  #: includes/admin/core/list-tables/emails-list-table.php:300
1941
  msgid "Email"
1942
  msgstr ""
1943
 
1944
- #: includes/admin/core/class-admin-settings.php:674
1945
  msgid "Admin E-mail Address"
1946
  msgstr ""
1947
 
1948
- #: includes/admin/core/class-admin-settings.php:675
1949
- #: includes/admin/core/class-admin-settings.php:687
1950
  msgid "e.g. admin@companyname.com"
1951
  msgstr ""
1952
 
1953
- #: includes/admin/core/class-admin-settings.php:680
1954
  msgid "Mail appears from"
1955
  msgstr ""
1956
 
1957
- #: includes/admin/core/class-admin-settings.php:681
1958
  msgid "e.g. Site Name"
1959
  msgstr ""
1960
 
1961
- #: includes/admin/core/class-admin-settings.php:686
1962
  msgid "Mail appears from address"
1963
  msgstr ""
1964
 
1965
- #: includes/admin/core/class-admin-settings.php:692
1966
  msgid "Use HTML for E-mails?"
1967
  msgstr ""
1968
 
1969
- #: includes/admin/core/class-admin-settings.php:693
1970
  msgid ""
1971
  "If you plan use e-mails with HTML, please make sure that this option is "
1972
  "enabled. Otherwise, HTML will be displayed as plain text."
1973
  msgstr ""
1974
 
1975
- #: includes/admin/core/class-admin-settings.php:698
1976
  msgid "Appearance"
1977
  msgstr ""
1978
 
1979
- #: includes/admin/core/class-admin-settings.php:701
1980
  msgid "Profile"
1981
  msgstr ""
1982
 
1983
- #: includes/admin/core/class-admin-settings.php:706
1984
  msgid "Profile Default Template"
1985
  msgstr ""
1986
 
1987
- #: includes/admin/core/class-admin-settings.php:707
1988
  msgid "This will be the default template to output profile"
1989
  msgstr ""
1990
 
1991
- #: includes/admin/core/class-admin-settings.php:715
1992
  msgid "Profile Maximum Width"
1993
  msgstr ""
1994
 
1995
- #: includes/admin/core/class-admin-settings.php:724
1996
  msgid "Profile Area Maximum Width"
1997
  msgstr ""
1998
 
1999
- #: includes/admin/core/class-admin-settings.php:726
2000
- #: includes/admin/templates/form/profile_customize.php:56
2001
  msgid ""
2002
  "The maximum width of the profile area inside profile (below profile header)"
2003
  msgstr ""
2004
 
2005
- #: includes/admin/core/class-admin-settings.php:732
2006
  msgid "Profile Field Icons"
2007
  msgstr ""
2008
 
2009
- #: includes/admin/core/class-admin-settings.php:733
2010
  msgid "This is applicable for edit mode only"
2011
  msgstr ""
2012
 
2013
- #: includes/admin/core/class-admin-settings.php:736
2014
- #: includes/admin/core/class-admin-settings.php:938
2015
- #: includes/admin/core/class-admin-settings.php:1028
2016
- #: includes/admin/templates/form/login_customize.php:40
2017
- #: includes/admin/templates/form/profile_customize.php:67
2018
- #: includes/admin/templates/form/register_customize.php:55
2019
  msgid "Show inside text field"
2020
  msgstr ""
2021
 
2022
- #: includes/admin/core/class-admin-settings.php:737
2023
- #: includes/admin/core/class-admin-settings.php:939
2024
- #: includes/admin/core/class-admin-settings.php:1029
2025
- #: includes/admin/templates/form/login_customize.php:41
2026
- #: includes/admin/templates/form/profile_customize.php:68
2027
- #: includes/admin/templates/form/register_customize.php:56
2028
  msgid "Show with label"
2029
  msgstr ""
2030
 
2031
- #: includes/admin/core/class-admin-settings.php:738
2032
- #: includes/admin/core/class-admin-settings.php:940
2033
- #: includes/admin/core/class-admin-settings.php:1030
2034
- #: includes/admin/templates/form/login_customize.php:42
2035
- #: includes/admin/templates/form/profile_customize.php:69
2036
- #: includes/admin/templates/form/register_customize.php:57
2037
  msgid "Turn off"
2038
  msgstr ""
2039
 
2040
- #: includes/admin/core/class-admin-settings.php:745
2041
  msgid "Profile Primary Button Text"
2042
  msgstr ""
2043
 
2044
- #: includes/admin/core/class-admin-settings.php:747
2045
  msgid "The text that is used for updating profile button"
2046
  msgstr ""
2047
 
2048
- #: includes/admin/core/class-admin-settings.php:753
2049
  msgid "Profile Secondary Button"
2050
  msgstr ""
2051
 
2052
- #: includes/admin/core/class-admin-settings.php:755
2053
- #: includes/admin/core/class-admin-settings.php:957
2054
- #: includes/admin/core/class-admin-settings.php:1047
2055
  msgid "Switch on/off the secondary button display in the form"
2056
  msgstr ""
2057
 
2058
- #: includes/admin/core/class-admin-settings.php:760
2059
  msgid "Profile Secondary Button Text"
2060
  msgstr ""
2061
 
2062
- #: includes/admin/core/class-admin-settings.php:762
2063
  msgid "The text that is used for cancelling update profile button"
2064
  msgstr ""
2065
 
2066
- #: includes/admin/core/class-admin-settings.php:769
2067
  msgid "Default Profile Photo"
2068
  msgstr ""
2069
 
2070
- #: includes/admin/core/class-admin-settings.php:770
2071
  msgid ""
2072
  "You can change the default profile picture globally here. Please make sure "
2073
  "that the photo is 300x300px."
2074
  msgstr ""
2075
 
2076
- #: includes/admin/core/class-admin-settings.php:771
2077
  msgid "Select Default Profile Photo"
2078
  msgstr ""
2079
 
2080
- #: includes/admin/core/class-admin-settings.php:781
2081
  msgid "Default Cover Photo"
2082
  msgstr ""
2083
 
2084
- #: includes/admin/core/class-admin-settings.php:782
2085
  msgid ""
2086
  "You can change the default cover photo globally here. Please make sure that "
2087
  "the default cover is large enough and respects the ratio you are using for "
2088
  "cover photos."
2089
  msgstr ""
2090
 
2091
- #: includes/admin/core/class-admin-settings.php:783
2092
  msgid "Select Default Cover Photo"
2093
  msgstr ""
2094
 
2095
- #: includes/admin/core/class-admin-settings.php:788
2096
- #: includes/admin/templates/form/profile_customize.php:128
2097
  msgid "Disable Profile Photo Upload"
2098
  msgstr ""
2099
 
2100
- #: includes/admin/core/class-admin-settings.php:789
2101
- #: includes/admin/templates/form/profile_customize.php:129
2102
  msgid "Switch on/off the profile photo uploader"
2103
  msgstr ""
2104
 
2105
- #: includes/admin/core/class-admin-settings.php:794
2106
- #: includes/admin/templates/form/profile_customize.php:140
2107
  msgid "Profile Photo Size"
2108
  msgstr ""
2109
 
2110
- #: includes/admin/core/class-admin-settings.php:796
2111
  msgid ""
2112
  "The global default of profile photo size. This can be overridden by "
2113
  "individual form settings"
2114
  msgstr ""
2115
 
2116
- #: includes/admin/core/class-admin-settings.php:802
2117
  msgid "Profile Cover Photos"
2118
  msgstr ""
2119
 
2120
- #: includes/admin/core/class-admin-settings.php:804
2121
  msgid "Switch on/off the profile cover photos"
2122
  msgstr ""
2123
 
2124
- #: includes/admin/core/class-admin-settings.php:809
2125
  msgid "Profile Cover Ratio"
2126
  msgstr ""
2127
 
2128
- #: includes/admin/core/class-admin-settings.php:810
2129
  msgid "Choose global ratio for cover photos of profiles"
2130
  msgstr ""
2131
 
2132
- #: includes/admin/core/class-admin-settings.php:824
2133
  msgid "Profile Header Meta Text Icon"
2134
  msgstr ""
2135
 
2136
- #: includes/admin/core/class-admin-settings.php:826
2137
  msgid "Display field icons for related user meta fields in header or not"
2138
  msgstr ""
2139
 
2140
- #: includes/admin/core/class-admin-settings.php:831
2141
  msgid "Show display name in profile header"
2142
  msgstr ""
2143
 
2144
- #: includes/admin/core/class-admin-settings.php:833
2145
  msgid "Switch on/off the user name on profile header"
2146
  msgstr ""
2147
 
2148
- #: includes/admin/core/class-admin-settings.php:838
2149
  msgid "Show social links in profile header"
2150
  msgstr ""
2151
 
2152
- #: includes/admin/core/class-admin-settings.php:840
2153
  msgid "Switch on/off the social links on profile header"
2154
  msgstr ""
2155
 
2156
- #: includes/admin/core/class-admin-settings.php:845
2157
  msgid "Show user description in header"
2158
  msgstr ""
2159
 
2160
- #: includes/admin/core/class-admin-settings.php:847
2161
  msgid "Switch on/off the user description on profile header"
2162
  msgstr ""
2163
 
2164
- #: includes/admin/core/class-admin-settings.php:852
2165
  msgid "Enable html support for user description"
2166
  msgstr ""
2167
 
2168
- #: includes/admin/core/class-admin-settings.php:854
2169
  msgid ""
2170
  "Switch on/off to enable/disable support for html tags on user description."
2171
  msgstr ""
2172
 
2173
- #: includes/admin/core/class-admin-settings.php:859
2174
  msgid "User description maximum chars"
2175
  msgstr ""
2176
 
2177
- #: includes/admin/core/class-admin-settings.php:861
2178
  msgid ""
2179
  "Maximum number of characters to allow in user description field in header."
2180
  msgstr ""
2181
 
2182
- #: includes/admin/core/class-admin-settings.php:868
2183
  msgid "Profile Header Menu Position"
2184
  msgstr ""
2185
 
2186
- #: includes/admin/core/class-admin-settings.php:870
2187
  msgid ""
2188
  "For incompatible themes, please make the menu open from left instead of "
2189
  "bottom by default."
2190
  msgstr ""
2191
 
2192
- #: includes/admin/core/class-admin-settings.php:880
 
 
 
 
 
 
 
 
2193
  msgid "Show a custom message if profile is empty"
2194
  msgstr ""
2195
 
2196
- #: includes/admin/core/class-admin-settings.php:882
2197
  msgid "Switch on/off the custom message that appears when the profile is empty"
2198
  msgstr ""
2199
 
2200
- #: includes/admin/core/class-admin-settings.php:887
2201
  msgid "Show the emoticon"
2202
  msgstr ""
2203
 
2204
- #: includes/admin/core/class-admin-settings.php:889
2205
  msgid "Switch on/off the emoticon (sad face) that appears above the message"
2206
  msgstr ""
2207
 
2208
- #: includes/admin/core/class-admin-settings.php:895
2209
  msgid "Profile Menu"
2210
  msgstr ""
2211
 
2212
- #: includes/admin/core/class-admin-settings.php:899
2213
- #: includes/admin/templates/form/mode.php:9
2214
  msgid "Registration Form"
2215
  msgstr ""
2216
 
2217
- #: includes/admin/core/class-admin-settings.php:904
2218
  msgid "Registration Default Template"
2219
  msgstr ""
2220
 
2221
- #: includes/admin/core/class-admin-settings.php:905
2222
  msgid "This will be the default template to output registration"
2223
  msgstr ""
2224
 
2225
- #: includes/admin/core/class-admin-settings.php:913
2226
  msgid "Registration Maximum Width"
2227
  msgstr ""
2228
 
2229
- #: includes/admin/core/class-admin-settings.php:915
2230
- #: includes/admin/core/class-admin-settings.php:1005
2231
  msgid "The maximum width this shortcode can take from the page width"
2232
  msgstr ""
2233
 
2234
- #: includes/admin/core/class-admin-settings.php:921
2235
  msgid "Registration Shortcode Alignment"
2236
  msgstr ""
2237
 
2238
- #: includes/admin/core/class-admin-settings.php:922
2239
- #: includes/admin/core/class-admin-settings.php:1012
2240
- #: includes/admin/templates/form/profile_customize.php:115
2241
  msgid "The shortcode is centered by default unless you specify otherwise here"
2242
  msgstr ""
2243
 
2244
- #: includes/admin/core/class-admin-settings.php:925
2245
- #: includes/admin/core/class-admin-settings.php:1015
2246
  msgid "Centered"
2247
  msgstr ""
2248
 
2249
- #: includes/admin/core/class-admin-settings.php:926
2250
- #: includes/admin/core/class-admin-settings.php:1016
2251
  msgid "Left aligned"
2252
  msgstr ""
2253
 
2254
- #: includes/admin/core/class-admin-settings.php:927
2255
- #: includes/admin/core/class-admin-settings.php:1017
2256
  msgid "Right aligned"
2257
  msgstr ""
2258
 
2259
- #: includes/admin/core/class-admin-settings.php:934
2260
  msgid "Registration Field Icons"
2261
  msgstr ""
2262
 
2263
- #: includes/admin/core/class-admin-settings.php:935
2264
  msgid "This controls the display of field icons in the registration form"
2265
  msgstr ""
2266
 
2267
- #: includes/admin/core/class-admin-settings.php:947
2268
  msgid "Registration Primary Button Text"
2269
  msgstr ""
2270
 
2271
- #: includes/admin/core/class-admin-settings.php:949
2272
- #: includes/admin/core/class-admin-settings.php:1039
2273
  msgid "The text that is used for primary button text"
2274
  msgstr ""
2275
 
2276
- #: includes/admin/core/class-admin-settings.php:955
2277
  msgid "Registration Secondary Button"
2278
  msgstr ""
2279
 
2280
- #: includes/admin/core/class-admin-settings.php:962
2281
  msgid "Registration Secondary Button Text"
2282
  msgstr ""
2283
 
2284
- #: includes/admin/core/class-admin-settings.php:964
2285
- #: includes/admin/core/class-admin-settings.php:1054
2286
  msgid "The text that is used for the secondary button text"
2287
  msgstr ""
2288
 
2289
- #: includes/admin/core/class-admin-settings.php:971
2290
  msgid "Registration Secondary Button URL"
2291
  msgstr ""
2292
 
2293
- #: includes/admin/core/class-admin-settings.php:973
2294
- #: includes/admin/core/class-admin-settings.php:1063
2295
  msgid "You can replace default link for this button by entering custom URL"
2296
  msgstr ""
2297
 
2298
- #: includes/admin/core/class-admin-settings.php:980
2299
  msgid "Registration Default Role"
2300
  msgstr ""
2301
 
2302
- #: includes/admin/core/class-admin-settings.php:981
2303
  msgid ""
2304
  "This will be the default role assigned to users registering thru "
2305
  "registration form"
2306
  msgstr ""
2307
 
2308
- #: includes/admin/core/class-admin-settings.php:989
2309
- #: includes/admin/templates/form/mode.php:13
2310
  msgid "Login Form"
2311
  msgstr ""
2312
 
2313
- #: includes/admin/core/class-admin-settings.php:994
2314
  msgid "Login Default Template"
2315
  msgstr ""
2316
 
2317
- #: includes/admin/core/class-admin-settings.php:995
2318
  msgid "This will be the default template to output login"
2319
  msgstr ""
2320
 
2321
- #: includes/admin/core/class-admin-settings.php:1003
2322
  msgid "Login Maximum Width"
2323
  msgstr ""
2324
 
2325
- #: includes/admin/core/class-admin-settings.php:1011
2326
  msgid "Login Shortcode Alignment"
2327
  msgstr ""
2328
 
2329
- #: includes/admin/core/class-admin-settings.php:1024
2330
  msgid "Login Field Icons"
2331
  msgstr ""
2332
 
2333
- #: includes/admin/core/class-admin-settings.php:1025
2334
  msgid "This controls the display of field icons in the login form"
2335
  msgstr ""
2336
 
2337
- #: includes/admin/core/class-admin-settings.php:1037
2338
  msgid "Login Primary Button Text"
2339
  msgstr ""
2340
 
2341
- #: includes/admin/core/class-admin-settings.php:1045
2342
  msgid "Login Secondary Button"
2343
  msgstr ""
2344
 
2345
- #: includes/admin/core/class-admin-settings.php:1052
2346
  msgid "Login Secondary Button Text"
2347
  msgstr ""
2348
 
2349
- #: includes/admin/core/class-admin-settings.php:1061
2350
  msgid "Login Secondary Button URL"
2351
  msgstr ""
2352
 
2353
- #: includes/admin/core/class-admin-settings.php:1070
2354
  msgid "Login Forgot Password Link"
2355
  msgstr ""
2356
 
2357
- #: includes/admin/core/class-admin-settings.php:1072
2358
  msgid "Switch on/off the forgot password link in login form"
2359
  msgstr ""
2360
 
2361
- #: includes/admin/core/class-admin-settings.php:1077
2362
  msgid "Show \"Remember Me\""
2363
  msgstr ""
2364
 
2365
- #: includes/admin/core/class-admin-settings.php:1079
2366
  msgid ""
2367
  "Allow users to choose If they want to stay signed in even after closing the "
2368
  "browser. If you do not show this option, the default will be to not remember "
2369
  "login session."
2370
  msgstr ""
2371
 
2372
- #: includes/admin/core/class-admin-settings.php:1089
2373
  msgid "Licenses"
2374
  msgstr ""
2375
 
2376
- #: includes/admin/core/class-admin-settings.php:1092
2377
  msgid "Misc"
2378
  msgstr ""
2379
 
2380
- #: includes/admin/core/class-admin-settings.php:1097
2381
  msgid "Show an asterisk for required fields"
2382
  msgstr ""
2383
 
2384
- #: includes/admin/core/class-admin-settings.php:1102
2385
  msgid "User Profile Title"
2386
  msgstr ""
2387
 
2388
- #: includes/admin/core/class-admin-settings.php:1103
2389
  msgid "This is the title that is displayed on a specific user profile"
2390
  msgstr ""
2391
 
2392
- #: includes/admin/core/class-admin-settings.php:1109
2393
  msgid "User Profile Dynamic Meta Description"
2394
  msgstr ""
2395
 
2396
- #: includes/admin/core/class-admin-settings.php:1110
2397
  msgid ""
2398
  "This will be used in the meta description that is available for search-"
2399
  "engines."
2400
  msgstr ""
2401
 
2402
- #: includes/admin/core/class-admin-settings.php:1118
2403
  msgid "Disable Cache User Profile"
2404
  msgstr ""
2405
 
2406
- #: includes/admin/core/class-admin-settings.php:1119
2407
  msgid ""
2408
  "Check this box if you would like to disable Ultimate Member user's cache."
2409
  msgstr ""
2410
 
2411
- #: includes/admin/core/class-admin-settings.php:1124
2412
  msgid "Enable Gutenberg Blocks"
2413
  msgstr ""
2414
 
2415
- #: includes/admin/core/class-admin-settings.php:1125
2416
  msgid ""
2417
  "Check this box if you would like to use Ultimate Member blocks in Gutenberg "
2418
  "editor. Important some themes have the conflicts with Gutenberg editor."
2419
  msgstr ""
2420
 
2421
- #: includes/admin/core/class-admin-settings.php:1130
2422
  msgid "REST API version"
2423
  msgstr ""
2424
 
2425
- #: includes/admin/core/class-admin-settings.php:1131
2426
  msgid ""
2427
  "This controls the REST API version, we recommend to use the last version"
2428
  msgstr ""
2429
 
2430
- #: includes/admin/core/class-admin-settings.php:1133
2431
  msgid "1.0 version"
2432
  msgstr ""
2433
 
2434
- #: includes/admin/core/class-admin-settings.php:1134
2435
  msgid "2.0 version"
2436
  msgstr ""
2437
 
2438
- #: includes/admin/core/class-admin-settings.php:1140
2439
  msgid "Remove Data on Uninstall?"
2440
  msgstr ""
2441
 
2442
- #: includes/admin/core/class-admin-settings.php:1141
2443
  msgid ""
2444
  "Check this box if you would like Ultimate Member to completely remove all of "
2445
  "its data when the plugin/extensions are deleted."
2446
  msgstr ""
2447
 
2448
- #: includes/admin/core/class-admin-settings.php:1146
2449
  msgid "Install Info"
2450
  msgstr ""
2451
 
2452
- #: includes/admin/core/class-admin-settings.php:1260
2453
  msgid "Ultimate Member - Settings"
2454
  msgstr ""
2455
 
2456
- #: includes/admin/core/class-admin-settings.php:1399
2457
  msgid "Save Changes"
2458
  msgstr ""
2459
 
2460
- #: includes/admin/core/class-admin-settings.php:1847
2461
  msgid "Subject Line"
2462
  msgstr ""
2463
 
2464
- #: includes/admin/core/class-admin-settings.php:1849
2465
  msgid "This is the subject line of the e-mail"
2466
  msgstr ""
2467
 
2468
- #: includes/admin/core/class-admin-settings.php:1854
2469
  msgid "Message Body"
2470
  msgstr ""
2471
 
2472
- #: includes/admin/core/class-admin-settings.php:1856
2473
  msgid "This is the content of the e-mail"
2474
  msgstr ""
2475
 
2476
- #: includes/admin/core/class-admin-settings.php:1906
2477
- #: includes/admin/core/class-admin-settings.php:2016
2478
  #, php-format
2479
  msgid ""
2480
  "Your license key expired on %s. Please <a href=\"%s\" target=\"_blank"
2481
  "\">renew your license key</a>."
2482
  msgstr ""
2483
 
2484
- #: includes/admin/core/class-admin-settings.php:1919
2485
- #: includes/admin/core/class-admin-settings.php:2029
2486
  #, php-format
2487
  msgid ""
2488
  "Your license key has been disabled. Please <a href=\"%s\" target=\"_blank"
2489
  "\">contact support</a> for more information."
2490
  msgstr ""
2491
 
2492
- #: includes/admin/core/class-admin-settings.php:1931
2493
- #: includes/admin/core/class-admin-settings.php:2041
2494
  #, php-format
2495
  msgid ""
2496
  "Invalid license. Please <a href=\"%s\" target=\"_blank\">visit your account "
2497
  "page</a> and verify it."
2498
  msgstr ""
2499
 
2500
- #: includes/admin/core/class-admin-settings.php:1944
2501
- #: includes/admin/core/class-admin-settings.php:2054
2502
  #, php-format
2503
  msgid ""
2504
  "Your %s is not active for this URL. Please <a href=\"%s\" target=\"_blank"
2505
  "\">visit your account page</a> to manage your license key URLs."
2506
  msgstr ""
2507
 
2508
- #: includes/admin/core/class-admin-settings.php:1956
2509
- #: includes/admin/core/class-admin-settings.php:2066
2510
  #, php-format
2511
  msgid "This appears to be an invalid license key for %s."
2512
  msgstr ""
2513
 
2514
- #: includes/admin/core/class-admin-settings.php:1965
2515
- #: includes/admin/core/class-admin-settings.php:2075
2516
  #, php-format
2517
  msgid ""
2518
  "Your license key has reached its activation limit. <a href=\"%s\">View "
2519
  "possible upgrades</a> now."
2520
  msgstr ""
2521
 
2522
- #: includes/admin/core/class-admin-settings.php:1974
2523
- #: includes/admin/core/class-admin-settings.php:2084
2524
  msgid ""
2525
  "The key you entered belongs to a bundle, please use the product specific "
2526
  "license key."
2527
  msgstr ""
2528
 
2529
- #: includes/admin/core/class-admin-settings.php:1982
2530
- #: includes/admin/core/class-admin-settings.php:1990
2531
- #: includes/admin/core/class-admin-settings.php:2002
2532
  msgid "unknown_error"
2533
  msgstr ""
2534
 
2535
- #: includes/admin/core/class-admin-settings.php:1983
2536
- #: includes/admin/core/class-admin-settings.php:1991
2537
  #, php-format
2538
  msgid ""
2539
  "There was an error with this license key: %s. Please <a href=\"%s\">contact "
2540
  "our support team</a>."
2541
  msgstr ""
2542
 
2543
- #: includes/admin/core/class-admin-settings.php:2004
2544
  #, php-format
2545
  msgid ""
2546
  "There was an error with this license key: %s%s. Please <a href=\"%s"
2547
  "\">contact our support team</a>."
2548
  msgstr ""
2549
 
2550
- #: includes/admin/core/class-admin-settings.php:2099
2551
  msgid "License key never expires."
2552
  msgstr ""
2553
 
2554
- #: includes/admin/core/class-admin-settings.php:2106
2555
  #, php-format
2556
  msgid ""
2557
  "Your license key expires soon! It expires on %s. <a href=\"%s\" target="
2558
  "\"_blank\">Renew your license key</a>."
2559
  msgstr ""
2560
 
2561
- #: includes/admin/core/class-admin-settings.php:2116
2562
  #, php-format
2563
  msgid "Your license key expires on %s."
2564
  msgstr ""
2565
 
2566
- #: includes/admin/core/class-admin-settings.php:2134
2567
  #, php-format
2568
  msgid "To receive updates, please enter your valid %s license key."
2569
  msgstr ""
2570
 
2571
- #: includes/admin/core/class-admin-settings.php:2156
2572
  msgid "Clear License"
2573
  msgstr ""
2574
 
2575
- #: includes/admin/core/class-admin-settings.php:2158
2576
  msgid "Activate"
2577
  msgstr ""
2578
 
2579
- #: includes/admin/core/class-admin-settings.php:2160
2580
  msgid "Re-Activate"
2581
  msgstr ""
2582
 
2583
- #: includes/admin/core/class-admin-settings.php:2212
2584
  msgid ""
2585
  "To copy the Install info, click below then press Ctrl + C (PC) or Cmd + C "
2586
  "(Mac)."
2587
  msgstr ""
2588
 
2589
- #: includes/admin/core/class-admin-upgrade.php:130
2590
  #, php-format
2591
  msgid ""
2592
  "%s is a major update, and we highly recommend creating a full backup of your "
2593
  "site before updating."
2594
  msgstr ""
2595
 
2596
- #: includes/admin/core/class-admin-upgrade.php:236
2597
  msgid "Upgrade"
2598
  msgstr ""
2599
 
2600
- #: includes/admin/core/class-admin-upgrade.php:244
2601
  msgid "empty"
2602
  msgstr ""
2603
 
2604
- #: includes/admin/core/class-admin-upgrade.php:247
2605
  #, php-format
2606
  msgid "%s - Upgrade Process"
2607
  msgstr ""
2608
 
2609
- #: includes/admin/core/class-admin-upgrade.php:248
2610
  #, php-format
2611
  msgid ""
2612
  "You have installed %s version. Your latest DB version is %s. Before the "
2613
  "click to \"Run\" button make sure that did the following:"
2614
  msgstr ""
2615
 
2616
- #: includes/admin/core/class-admin-upgrade.php:250
2617
  msgid "Create full site's backup."
2618
  msgstr ""
2619
 
2620
- #: includes/admin/core/class-admin-upgrade.php:251
2621
  msgid "Set maintenance mode (if you need)"
2622
  msgstr ""
2623
 
2624
- #: includes/admin/core/class-admin-upgrade.php:252
2625
  msgid "You have nice Internet connection"
2626
  msgstr ""
2627
 
2628
- #: includes/admin/core/class-admin-upgrade.php:254
2629
  msgid ""
2630
  "After the click to \"Run\" button, the update process will be started. All "
2631
  "information will be displayed in \"Upgrade Log\" field."
2632
  msgstr ""
2633
 
2634
- #: includes/admin/core/class-admin-upgrade.php:255
2635
  msgid ""
2636
  "If the update was successful, you will see a corresponding message. "
2637
  "Otherwise, contact technical support if the update failed."
2638
  msgstr ""
2639
 
2640
- #: includes/admin/core/class-admin-upgrade.php:256
2641
  msgid "Upgrade Log"
2642
  msgstr ""
2643
 
2644
- #: includes/admin/core/class-admin-upgrade.php:259
2645
  msgid "Run"
2646
  msgstr ""
2647
 
2648
- #: includes/admin/core/class-admin-users.php:116
2649
- #: includes/admin/core/class-admin-users.php:119
2650
  msgid "UM Action"
2651
  msgstr ""
2652
 
2653
- #: includes/admin/core/class-admin-users.php:123
2654
- #: includes/core/class-fields.php:2343
2655
  msgid "Apply"
2656
  msgstr ""
2657
 
2658
- #: includes/admin/core/class-admin-users.php:165
2659
  #: includes/core/um-filters-user.php:20 includes/core/um-filters-user.php:25
2660
  msgid "Approve Membership"
2661
  msgstr ""
2662
 
2663
- #: includes/admin/core/class-admin-users.php:168
2664
  #: includes/core/um-filters-user.php:21
2665
  msgid "Reject Membership"
2666
  msgstr ""
2667
 
2668
- #: includes/admin/core/class-admin-users.php:171
2669
  #: includes/core/um-filters-user.php:29
2670
  msgid "Put as Pending Review"
2671
  msgstr ""
2672
 
2673
- #: includes/admin/core/class-admin-users.php:174
2674
  #: includes/core/um-filters-user.php:33
2675
  msgid "Resend Activation E-mail"
2676
  msgstr ""
2677
 
2678
- #: includes/admin/core/class-admin-users.php:177
2679
  msgid "Deactivate"
2680
  msgstr ""
2681
 
2682
- #: includes/admin/core/class-admin-users.php:180
2683
  msgid "Reactivate"
2684
  msgstr ""
2685
 
2686
- #: includes/admin/core/class-admin-users.php:203 templates/account.php:43
2687
  #: templates/account.php:84
2688
  msgid "View profile"
2689
  msgstr ""
2690
 
2691
- #: includes/admin/core/class-admin-users.php:207
2692
  msgid "Info"
2693
  msgstr ""
2694
 
2695
- #: includes/admin/core/class-admin-users.php:312
2696
- #: includes/admin/templates/dashboard/users.php:11
2697
- #: includes/core/class-user.php:824
2698
  msgid "Approved"
2699
  msgstr ""
2700
 
2701
- #: includes/admin/core/class-admin-users.php:313
2702
  msgid "Pending review"
2703
  msgstr ""
2704
 
2705
- #: includes/admin/core/class-admin-users.php:314
2706
  msgid "Waiting e-mail confirmation"
2707
  msgstr ""
2708
 
2709
- #: includes/admin/core/class-admin-users.php:315
2710
- #: includes/admin/templates/dashboard/users.php:37
2711
  msgid "Inactive"
2712
  msgstr ""
2713
 
2714
- #: includes/admin/core/class-admin-users.php:316
2715
- #: includes/admin/templates/dashboard/users.php:16
2716
  msgid "Rejected"
2717
  msgstr ""
2718
 
2719
- #: includes/admin/core/class-admin-users.php:376
2720
  msgid "You do not have enough permissions to do that."
2721
  msgstr ""
2722
 
2723
  #: includes/admin/core/list-tables/emails-list-table.php:70
2724
- #: includes/admin/core/list-tables/roles-list-table.php:172
2725
  msgid "item"
2726
  msgstr ""
2727
 
2728
  #: includes/admin/core/list-tables/emails-list-table.php:71
2729
- #: includes/admin/core/list-tables/roles-list-table.php:173
2730
  msgid "items"
2731
  msgstr ""
2732
 
2733
  #: includes/admin/core/list-tables/emails-list-table.php:75
2734
- #: includes/admin/core/list-tables/roles-list-table.php:177
2735
  msgid "not found."
2736
  msgstr ""
2737
 
@@ -2758,64 +3230,64 @@ msgid ""
2758
  "\">here</a>"
2759
  msgstr ""
2760
 
2761
- #: includes/admin/core/list-tables/roles-list-table.php:23
2762
- #: includes/admin/core/list-tables/roles-list-table.php:88
2763
- #: includes/admin/core/list-tables/roles-list-table.php:398
2764
  msgid "Roles"
2765
  msgstr ""
2766
 
2767
- #: includes/admin/core/list-tables/roles-list-table.php:335
2768
  msgid "Edit"
2769
  msgstr ""
2770
 
2771
- #: includes/admin/core/list-tables/roles-list-table.php:338
2772
  msgid "Are you sure you want to delete this role?"
2773
  msgstr ""
2774
 
2775
- #: includes/admin/core/list-tables/roles-list-table.php:343
2776
  msgid "Are you sure you want to reset UM role meta?"
2777
  msgstr ""
2778
 
2779
- #: includes/admin/core/list-tables/roles-list-table.php:343
2780
  msgid "Reset UM Role meta"
2781
  msgstr ""
2782
 
2783
- #: includes/admin/core/list-tables/roles-list-table.php:397
2784
  msgid "Role"
2785
  msgstr ""
2786
 
2787
- #: includes/admin/core/list-tables/roles-list-table.php:410
2788
  msgid "Role Title"
2789
  msgstr ""
2790
 
2791
- #: includes/admin/core/list-tables/roles-list-table.php:411
2792
  msgid "Role ID"
2793
  msgstr ""
2794
 
2795
- #: includes/admin/core/list-tables/roles-list-table.php:412
2796
  msgid "No.of Members"
2797
  msgstr ""
2798
 
2799
- #: includes/admin/core/list-tables/roles-list-table.php:413
2800
  msgid "UM Custom Role"
2801
  msgstr ""
2802
 
2803
- #: includes/admin/core/list-tables/roles-list-table.php:414
2804
  msgid "WP-Admin Access"
2805
  msgstr ""
2806
 
2807
- #: includes/admin/core/list-tables/roles-list-table.php:415
2808
  msgid "Priority"
2809
  msgstr ""
2810
 
2811
- #: includes/admin/core/list-tables/roles-list-table.php:481
2812
  #: includes/admin/core/packages/2.0-beta1/user_roles.php:14
2813
- #: includes/admin/templates/role/role-edit.php:155
2814
  #: includes/core/class-common.php:56 includes/core/class-common.php:86
2815
  msgid "Add New"
2816
  msgstr ""
2817
 
2818
- #: includes/admin/core/list-tables/roles-list-table.php:488
2819
  msgid "User Role <strong>Deleted</strong> Successfully."
2820
  msgstr ""
2821
 
@@ -3006,564 +3478,564 @@ msgstr ""
3006
  msgid "Upgrade user roles..."
3007
  msgstr ""
3008
 
3009
- #: includes/admin/templates/dashboard/cache.php:9
3010
  msgid "Run this task from time to time to keep your DB clean."
3011
  msgstr ""
3012
 
3013
- #: includes/admin/templates/dashboard/cache.php:12
3014
  #, php-format
3015
  msgid "Clear cache of %s users"
3016
  msgstr ""
3017
 
3018
- #: includes/admin/templates/dashboard/feed.php:4
3019
  msgid "Latest From Ultimate Member"
3020
  msgstr ""
3021
 
3022
- #: includes/admin/templates/dashboard/purge.php:4
3023
  #, php-format
3024
  msgid ""
3025
  "You can free up <span class=\"red\">%s MB</span> by purging your temp upload "
3026
  "directory."
3027
  msgstr ""
3028
 
3029
- #: includes/admin/templates/dashboard/purge.php:9
3030
  msgid "Purge Temp"
3031
  msgstr ""
3032
 
3033
- #: includes/admin/templates/dashboard/purge.php:16
3034
  msgid ""
3035
  "Your temp uploads directory is <span class=\"ok\">clean</span>. There is "
3036
  "nothing to purge."
3037
  msgstr ""
3038
 
3039
- #: includes/admin/templates/dashboard/upgrade-request.php:1
3040
  msgid ""
3041
  "Run this task from time to time if you have issues with WP Cron and need to "
3042
  "get UM extension updates."
3043
  msgstr ""
3044
 
3045
- #: includes/admin/templates/dashboard/upgrade-request.php:4
3046
  msgid "Get latest versions"
3047
  msgstr ""
3048
 
3049
- #: includes/admin/templates/dashboard/users.php:27
3050
- #: includes/core/class-user.php:832
3051
  msgid "Pending Review"
3052
  msgstr ""
3053
 
3054
- #: includes/admin/templates/dashboard/users.php:32
3055
- #: includes/core/class-user.php:828
3056
  msgid "Awaiting E-mail Confirmation"
3057
  msgstr ""
3058
 
3059
- #: includes/admin/templates/directory/appearance.php:9
3060
- #: includes/admin/templates/form/login_customize.php:20
3061
- #: includes/admin/templates/form/profile_customize.php:39
3062
- #: includes/admin/templates/form/register_customize.php:35
3063
  msgid "Template"
3064
  msgstr ""
3065
 
3066
- #: includes/admin/templates/directory/general.php:46
3067
  msgid "New users first"
3068
  msgstr ""
3069
 
3070
- #: includes/admin/templates/directory/general.php:47
3071
  msgid "Old users first"
3072
  msgstr ""
3073
 
3074
- #: includes/admin/templates/directory/general.php:48
3075
  msgid "Last login"
3076
  msgstr ""
3077
 
3078
- #: includes/admin/templates/directory/general.php:49
3079
  msgid "Display Name"
3080
  msgstr ""
3081
 
3082
- #: includes/admin/templates/directory/general.php:50
3083
  #: includes/core/class-builtin.php:712 includes/core/class-builtin.php:715
3084
  msgid "First Name"
3085
  msgstr ""
3086
 
3087
- #: includes/admin/templates/directory/general.php:51
3088
  #: includes/core/class-builtin.php:722 includes/core/class-builtin.php:725
3089
  msgid "Last Name"
3090
  msgstr ""
3091
 
3092
- #: includes/admin/templates/directory/general.php:52
3093
  msgid "Random"
3094
  msgstr ""
3095
 
3096
- #: includes/admin/templates/directory/general.php:53
3097
  msgid "Other (custom field)"
3098
  msgstr ""
3099
 
3100
- #: includes/admin/templates/directory/general.php:65
3101
  msgid "User Roles to Display"
3102
  msgstr ""
3103
 
3104
- #: includes/admin/templates/directory/general.php:66
3105
  msgid ""
3106
  "If you do not want to show all members, select only user roles to appear in "
3107
  "this directory"
3108
  msgstr ""
3109
 
3110
- #: includes/admin/templates/directory/general.php:74
3111
  msgid "Only show members who have uploaded a profile photo"
3112
  msgstr ""
3113
 
3114
- #: includes/admin/templates/directory/general.php:75
3115
  msgid "If 'Use Gravatars' as profile photo is enabled, this option is ignored"
3116
  msgstr ""
3117
 
3118
- #: includes/admin/templates/directory/general.php:81
3119
  msgid "Only show members who have uploaded a cover photo"
3120
  msgstr ""
3121
 
3122
- #: includes/admin/templates/directory/general.php:87
3123
  msgid "Sort users by"
3124
  msgstr ""
3125
 
3126
- #: includes/admin/templates/directory/general.php:88
3127
  msgid "Sort users by a specific parameter in the directory"
3128
  msgstr ""
3129
 
3130
- #: includes/admin/templates/directory/general.php:95
3131
  msgid "Meta key"
3132
  msgstr ""
3133
 
3134
- #: includes/admin/templates/directory/general.php:96
3135
  msgid "To sort by a custom field, enter the meta key of field here"
3136
  msgstr ""
3137
 
3138
- #: includes/admin/templates/directory/general.php:103
3139
  msgid "Only show specific users (Enter one username per line)"
3140
  msgstr ""
3141
 
3142
- #: includes/admin/templates/directory/pagination.php:9
3143
  msgid "Number of profiles per page"
3144
  msgstr ""
3145
 
3146
- #: includes/admin/templates/directory/pagination.php:10
3147
  msgid "Number of profiles to appear on page for standard users"
3148
  msgstr ""
3149
 
3150
- #: includes/admin/templates/directory/pagination.php:17
3151
  msgid "Number of profiles per page (for Mobiles & Tablets)"
3152
  msgstr ""
3153
 
3154
- #: includes/admin/templates/directory/pagination.php:18
3155
  msgid "Number of profiles to appear on page for mobile users"
3156
  msgstr ""
3157
 
3158
- #: includes/admin/templates/directory/pagination.php:25
3159
  msgid "Maximum number of profiles"
3160
  msgstr ""
3161
 
3162
- #: includes/admin/templates/directory/pagination.php:26
3163
  msgid ""
3164
  "Use this setting to control the maximum number of profiles to appear in this "
3165
  "directory. Leave blank to disable this limit"
3166
  msgstr ""
3167
 
3168
- #: includes/admin/templates/directory/profile.php:19
3169
  msgid "Enable Profile Photo"
3170
  msgstr ""
3171
 
3172
- #: includes/admin/templates/directory/profile.php:25
3173
  msgid "Enable Cover Photo"
3174
  msgstr ""
3175
 
3176
- #: includes/admin/templates/directory/profile.php:26
3177
  msgid "If turned on, the users cover photo will appear in the directory"
3178
  msgstr ""
3179
 
3180
- #: includes/admin/templates/directory/profile.php:32
3181
  msgid "Show display name"
3182
  msgstr ""
3183
 
3184
- #: includes/admin/templates/directory/profile.php:38
3185
  msgid "Show tagline below profile name"
3186
  msgstr ""
3187
 
3188
- #: includes/admin/templates/directory/profile.php:44
3189
  msgid "Choose field(s) to display in tagline"
3190
  msgstr ""
3191
 
3192
- #: includes/admin/templates/directory/profile.php:47
3193
- #: includes/admin/templates/directory/profile.php:69
3194
- #: includes/admin/templates/directory/search.php:78
3195
  msgid "Add New Custom Field"
3196
  msgstr ""
3197
 
3198
- #: includes/admin/templates/directory/profile.php:54
3199
  msgid "Show extra user information below tagline?"
3200
  msgstr ""
3201
 
3202
- #: includes/admin/templates/directory/profile.php:60
3203
  msgid "Enable reveal section transition by default"
3204
  msgstr ""
3205
 
3206
- #: includes/admin/templates/directory/profile.php:67
3207
  msgid "Choose field(s) to display in reveal section"
3208
  msgstr ""
3209
 
3210
- #: includes/admin/templates/directory/profile.php:77
3211
  msgid "Show social connect icons"
3212
  msgstr ""
3213
 
3214
- #: includes/admin/templates/directory/search.php:49
3215
  msgid "Enable Search feature"
3216
  msgstr ""
3217
 
3218
- #: includes/admin/templates/directory/search.php:50
3219
  msgid "If turned on, users will be able to search members in this directory"
3220
  msgstr ""
3221
 
3222
- #: includes/admin/templates/directory/search.php:56
3223
  msgid "Show results only after search"
3224
  msgstr ""
3225
 
3226
- #: includes/admin/templates/directory/search.php:57
3227
  msgid "If turned on, member results will only appear after search is performed"
3228
  msgstr ""
3229
 
3230
- #: includes/admin/templates/directory/search.php:65
3231
  msgid "User Roles that can use search"
3232
  msgstr ""
3233
 
3234
- #: includes/admin/templates/directory/search.php:66
3235
  msgid "If you want to allow specific user roles to be able to search only"
3236
  msgstr ""
3237
 
3238
- #: includes/admin/templates/directory/search.php:74
3239
  msgid "Choose field(s) to enable in search"
3240
  msgstr ""
3241
 
3242
- #: includes/admin/templates/directory/search.php:84
3243
  msgid "Additional search filters"
3244
  msgstr ""
3245
 
3246
- #: includes/admin/templates/directory/search.php:85
3247
  msgid "Additional search filters like URL parameters"
3248
  msgstr ""
3249
 
3250
- #: includes/admin/templates/directory/search.php:93
3251
  msgid "Results Text"
3252
  msgstr ""
3253
 
3254
- #: includes/admin/templates/directory/search.php:94
3255
  msgid ""
3256
  "Customize the search result text . e.g. Found 3,000 Members. Leave this "
3257
  "blank to not show result text"
3258
  msgstr ""
3259
 
3260
- #: includes/admin/templates/directory/search.php:95
3261
  #: includes/class-config.php:155 includes/class-config.php:251
3262
  msgid "{total_users} Members"
3263
  msgstr ""
3264
 
3265
- #: includes/admin/templates/directory/search.php:101
3266
  msgid "Single Result Text"
3267
  msgstr ""
3268
 
3269
- #: includes/admin/templates/directory/search.php:102
3270
  msgid "Same as above but in case of 1 user found only"
3271
  msgstr ""
3272
 
3273
- #: includes/admin/templates/directory/search.php:103
3274
  #: includes/class-config.php:156 includes/class-config.php:252
3275
  msgid "{total_users} Member"
3276
  msgstr ""
3277
 
3278
- #: includes/admin/templates/directory/search.php:109
3279
  msgid "Custom text if no users were found"
3280
  msgstr ""
3281
 
3282
- #: includes/admin/templates/directory/search.php:110
3283
  msgid ""
3284
  "This is the text that is displayed if no users are found during a search"
3285
  msgstr ""
3286
 
3287
- #: includes/admin/templates/directory/search.php:111
3288
  #: includes/class-config.php:157
3289
  msgid "We are sorry. We cannot find any users who match your search criteria."
3290
  msgstr ""
3291
 
3292
- #: includes/admin/templates/extensions.php:155
3293
  msgid ""
3294
  "<strong>All Access Pass</strong> – Get access to all Ultimate Member "
3295
  "extensions at a significant discount with our All Access Pass."
3296
  msgstr ""
3297
 
3298
- #: includes/admin/templates/extensions.php:159
3299
  msgid "View Pricing"
3300
  msgstr ""
3301
 
3302
- #: includes/admin/templates/extensions.php:168
3303
  msgid "Premium"
3304
  msgstr ""
3305
 
3306
- #: includes/admin/templates/extensions.php:173
3307
  msgid "Free"
3308
  msgstr ""
3309
 
3310
- #: includes/admin/templates/extensions.php:199
3311
- #: includes/admin/templates/extensions.php:233
3312
  msgid "Get this Add on"
3313
  msgstr ""
3314
 
3315
- #: includes/admin/templates/extensions.php:204
3316
- #: includes/admin/templates/extensions.php:238
3317
  msgid "More Details"
3318
  msgstr ""
3319
 
3320
- #: includes/admin/templates/form/builder.php:9
3321
  msgid "Live Preview"
3322
  msgstr ""
3323
 
3324
- #: includes/admin/templates/form/builder.php:23
3325
  msgid "Add Master Row"
3326
  msgstr ""
3327
 
3328
- #: includes/admin/templates/form/login_customize.php:9
3329
- #: includes/admin/templates/form/profile_customize.php:18
3330
- #: includes/admin/templates/form/register_customize.php:16
3331
  msgid "Apply custom settings to this form"
3332
  msgstr ""
3333
 
3334
- #: includes/admin/templates/form/login_customize.php:10
3335
- #: includes/admin/templates/form/profile_customize.php:19
3336
- #: includes/admin/templates/form/register_customize.php:17
3337
  msgid ""
3338
  "Switch to yes if you want to customize this form settings, styling &amp; "
3339
  "appearance"
3340
  msgstr ""
3341
 
3342
- #: includes/admin/templates/form/login_customize.php:28
3343
- #: includes/admin/templates/form/profile_customize.php:47
3344
- #: includes/admin/templates/form/register_customize.php:43
3345
  msgid "Max. Width (px)"
3346
  msgstr ""
3347
 
3348
- #: includes/admin/templates/form/login_customize.php:29
3349
- #: includes/admin/templates/form/profile_customize.php:48
3350
- #: includes/admin/templates/form/register_customize.php:44
3351
  msgid "The maximum width of shortcode in pixels e.g. 600px"
3352
  msgstr ""
3353
 
3354
- #: includes/admin/templates/form/login_customize.php:36
3355
- #: includes/admin/templates/form/profile_customize.php:63
3356
- #: includes/admin/templates/form/register_customize.php:51
3357
  msgid "Field Icons"
3358
  msgstr ""
3359
 
3360
- #: includes/admin/templates/form/login_customize.php:37
3361
- #: includes/admin/templates/form/profile_customize.php:64
3362
- #: includes/admin/templates/form/register_customize.php:52
3363
  msgid ""
3364
  "Whether to show field icons and where to show them relative to the field"
3365
  msgstr ""
3366
 
3367
- #: includes/admin/templates/form/login_customize.php:49
3368
- #: includes/admin/templates/form/profile_customize.php:76
3369
- #: includes/admin/templates/form/register_customize.php:64
3370
  msgid "Primary Button Text"
3371
  msgstr ""
3372
 
3373
- #: includes/admin/templates/form/login_customize.php:50
3374
- #: includes/admin/templates/form/login_customize.php:69
3375
- #: includes/admin/templates/form/profile_customize.php:77
3376
- #: includes/admin/templates/form/profile_customize.php:96
3377
- #: includes/admin/templates/form/register_customize.php:65
3378
- #: includes/admin/templates/form/register_customize.php:84
3379
  msgid "Customize the button text"
3380
  msgstr ""
3381
 
3382
- #: includes/admin/templates/form/login_customize.php:57
3383
- #: includes/admin/templates/form/profile_customize.php:84
3384
- #: includes/admin/templates/form/register_customize.php:72
3385
  msgid "Show Secondary Button"
3386
  msgstr ""
3387
 
3388
- #: includes/admin/templates/form/login_customize.php:68
3389
- #: includes/admin/templates/form/profile_customize.php:95
3390
- #: includes/admin/templates/form/register_customize.php:83
3391
  msgid "Secondary Button Text"
3392
  msgstr ""
3393
 
3394
- #: includes/admin/templates/form/login_customize.php:76
3395
  msgid "Show Forgot Password Link?"
3396
  msgstr ""
3397
 
3398
- #: includes/admin/templates/form/login_customize.php:87
3399
  msgid "Show \"Remember Me\"?"
3400
  msgstr ""
3401
 
3402
- #: includes/admin/templates/form/login_settings.php:9
3403
  msgid "Redirection after Login"
3404
  msgstr ""
3405
 
3406
- #: includes/admin/templates/form/login_settings.php:10
3407
  msgid ""
3408
  "Change this If you want to override role redirection settings after login "
3409
  "only."
3410
  msgstr ""
3411
 
3412
- #: includes/admin/templates/form/login_settings.php:14
3413
- #: includes/admin/templates/role/login.php:16
3414
- #: includes/admin/templates/role/register.php:27
3415
  msgid "Redirect to profile"
3416
  msgstr ""
3417
 
3418
- #: includes/admin/templates/form/login_settings.php:15
3419
- #: includes/admin/templates/role/login.php:17
3420
- #: includes/admin/templates/role/register.php:28
3421
- #: includes/admin/templates/role/register.php:55
3422
- #: includes/admin/templates/role/register.php:89
3423
  msgid "Redirect to URL"
3424
  msgstr ""
3425
 
3426
- #: includes/admin/templates/form/login_settings.php:16
3427
- #: includes/admin/templates/role/login.php:18
3428
  msgid "Refresh active page"
3429
  msgstr ""
3430
 
3431
- #: includes/admin/templates/form/login_settings.php:17
3432
- #: includes/admin/templates/role/login.php:19
3433
  msgid "Redirect to WordPress Admin"
3434
  msgstr ""
3435
 
3436
- #: includes/admin/templates/form/login_settings.php:23
3437
- #: includes/admin/templates/role/delete.php:23
3438
- #: includes/admin/templates/role/login.php:25
3439
- #: includes/admin/templates/role/logout.php:23
3440
- #: includes/admin/templates/role/register.php:35
3441
- #: includes/admin/templates/role/register.php:69
3442
- #: includes/admin/templates/role/register.php:103
3443
  msgid "Set Custom Redirect URL"
3444
  msgstr ""
3445
 
3446
- #: includes/admin/templates/form/mode.php:6
3447
  msgid ""
3448
  "<strong>Note:</strong> Form type cannot be changed for the default forms."
3449
  msgstr ""
3450
 
3451
- #: includes/admin/templates/form/mode.php:11
3452
  msgid "Profile Form"
3453
  msgstr ""
3454
 
3455
- #: includes/admin/templates/form/profile_customize.php:30
3456
  msgid "Make this profile form role-specific"
3457
  msgstr ""
3458
 
3459
- #: includes/admin/templates/form/profile_customize.php:31
3460
  msgid ""
3461
  "Please note if you make a profile form specific to a role then you must make "
3462
  "sure that every other role is assigned a profile form"
3463
  msgstr ""
3464
 
3465
- #: includes/admin/templates/form/profile_customize.php:55
3466
  msgid "Profile Area Max. Width (px)"
3467
  msgstr ""
3468
 
3469
- #: includes/admin/templates/form/profile_customize.php:103
3470
  msgid "Enable Cover Photos"
3471
  msgstr ""
3472
 
3473
- #: includes/admin/templates/form/profile_customize.php:114
3474
  msgid "Cover photo ratio"
3475
  msgstr ""
3476
 
3477
- #: includes/admin/templates/form/profile_customize.php:141
3478
  msgid "Set the profile photo size in pixels here"
3479
  msgstr ""
3480
 
3481
- #: includes/admin/templates/form/profile_customize.php:148
3482
  msgid "Make Profile Photo Required"
3483
  msgstr ""
3484
 
3485
- #: includes/admin/templates/form/profile_customize.php:149
3486
  msgid "Require user to update a profile photo when updating their profile"
3487
  msgstr ""
3488
 
3489
- #: includes/admin/templates/form/profile_customize.php:160
3490
  msgid "Show display name in profile header?"
3491
  msgstr ""
3492
 
3493
- #: includes/admin/templates/form/profile_customize.php:171
3494
  msgid "Show social links in profile header?"
3495
  msgstr ""
3496
 
3497
- #: includes/admin/templates/form/profile_customize.php:182
3498
  msgid "Show user description in profile header?"
3499
  msgstr ""
3500
 
3501
- #: includes/admin/templates/form/profile_settings.php:20
3502
  msgid "Field(s) to show in user meta"
3503
  msgstr ""
3504
 
3505
- #: includes/admin/templates/form/profile_settings.php:21
3506
  msgid ""
3507
  "Fields selected here will appear in the profile header area below the user's "
3508
  "display name"
3509
  msgstr ""
3510
 
3511
- #: includes/admin/templates/form/profile_settings.php:24
3512
  msgid "Add New Field"
3513
  msgstr ""
3514
 
3515
- #: includes/admin/templates/form/register_customize.php:27
3516
  msgid "Assign role to form"
3517
  msgstr ""
3518
 
3519
- #: includes/admin/templates/form/register_gdpr.php:5
3520
  msgid "Select page"
3521
  msgstr ""
3522
 
3523
- #: includes/admin/templates/form/register_gdpr.php:20
3524
  msgid "Enable on this form"
3525
  msgstr ""
3526
 
3527
- #: includes/admin/templates/form/register_gdpr.php:30
3528
  msgid "Content"
3529
  msgstr ""
3530
 
3531
- #: includes/admin/templates/form/register_gdpr.php:38
3532
  msgid "Toggle Show text"
3533
  msgstr ""
3534
 
3535
- #: includes/admin/templates/form/register_gdpr.php:39
3536
- #: includes/admin/templates/form/register_gdpr.php:40
3537
  #: templates/gdpr-register.php:15 templates/gdpr-register.php:17
3538
  msgid "Show privacy policy"
3539
  msgstr ""
3540
 
3541
- #: includes/admin/templates/form/register_gdpr.php:46
3542
  msgid "Toggle Hide text"
3543
  msgstr ""
3544
 
3545
- #: includes/admin/templates/form/register_gdpr.php:47
3546
- #: includes/admin/templates/form/register_gdpr.php:48
3547
  #: templates/gdpr-register.php:16
3548
  msgid "Hide privacy policy"
3549
  msgstr ""
3550
 
3551
- #: includes/admin/templates/form/register_gdpr.php:54
3552
  msgid "Checkbox agreement description"
3553
  msgstr ""
3554
 
3555
- #: includes/admin/templates/form/register_gdpr.php:55
3556
- #: includes/admin/templates/form/register_gdpr.php:56
3557
  #: templates/gdpr-register.php:27
3558
  msgid "Please confirm that you agree to our privacy policy"
3559
  msgstr ""
3560
 
3561
- #: includes/admin/templates/form/register_gdpr.php:62
3562
  msgid "Error Text"
3563
  msgstr ""
3564
 
3565
- #: includes/admin/templates/form/register_gdpr.php:63
3566
- #: includes/admin/templates/form/register_gdpr.php:64
3567
  #: templates/gdpr-register.php:40
3568
  msgid "Please confirm your acceptance of our privacy policy"
3569
  msgstr ""
@@ -3627,246 +4099,246 @@ msgid ""
3627
  "outwith the EU."
3628
  msgstr ""
3629
 
3630
- #: includes/admin/templates/modal/dynamic_edit_field.php:6
3631
  msgid "Edit Field"
3632
  msgstr ""
3633
 
3634
- #: includes/admin/templates/modal/dynamic_edit_field.php:12
3635
- #: includes/admin/templates/modal/dynamic_edit_row.php:12
3636
  msgid "Update"
3637
  msgstr ""
3638
 
3639
- #: includes/admin/templates/modal/dynamic_edit_field.php:15
3640
- #: includes/admin/templates/modal/dynamic_edit_row.php:15
3641
- #: includes/admin/templates/modal/dynamic_new_divider.php:15
3642
- #: includes/admin/templates/modal/dynamic_new_field.php:15
3643
- #: includes/admin/templates/modal/dynamic_new_group.php:15
3644
- #: includes/admin/templates/modal/fonticons.php:11
3645
  #: includes/admin/templates/role/publish.php:24
3646
- #: includes/core/class-fields.php:2344 includes/core/class-fields.php:2441
3647
- #: includes/core/um-actions-profile.php:628
3648
  #: includes/core/um-actions-profile.php:640
3649
- #: includes/core/um-actions-profile.php:783
3650
- #: includes/core/um-actions-profile.php:816
3651
- #: includes/core/um-actions-profile.php:1159
3652
- #: includes/core/um-actions-profile.php:1166
 
3653
  msgid "Cancel"
3654
  msgstr ""
3655
 
3656
- #: includes/admin/templates/modal/dynamic_edit_row.php:6
3657
  msgid "Edit Row Settings"
3658
  msgstr ""
3659
 
3660
- #: includes/admin/templates/modal/dynamic_form_preview.php:4
3661
  msgid "Live Form Preview"
3662
  msgstr ""
3663
 
3664
- #: includes/admin/templates/modal/dynamic_form_preview.php:10
3665
  msgid "Continue editing"
3666
  msgstr ""
3667
 
3668
- #: includes/admin/templates/modal/dynamic_new_divider.php:6
3669
  msgid "Add a New Divider"
3670
  msgstr ""
3671
 
3672
- #: includes/admin/templates/modal/dynamic_new_divider.php:12
3673
- #: includes/admin/templates/modal/dynamic_new_field.php:12
3674
- #: includes/admin/templates/modal/dynamic_new_group.php:12
3675
  msgid "Add"
3676
  msgstr ""
3677
 
3678
- #: includes/admin/templates/modal/dynamic_new_field.php:6
3679
  msgid "Add a New Field"
3680
  msgstr ""
3681
 
3682
- #: includes/admin/templates/modal/dynamic_new_group.php:6
3683
  msgid "Add a New Field Group"
3684
  msgstr ""
3685
 
3686
- #: includes/admin/templates/modal/dynamic_registration_preview.php:4
3687
  msgid "Review Registration Details"
3688
  msgstr ""
3689
 
3690
- #: includes/admin/templates/modal/fields.php:4
3691
  msgid "Fields Manager"
3692
  msgstr ""
3693
 
3694
- #: includes/admin/templates/modal/fonticons.php:4
3695
  #, php-format
3696
  msgid "Choose from %s available icons"
3697
  msgstr ""
3698
 
3699
- #: includes/admin/templates/modal/fonticons.php:10
3700
  msgid "Finish"
3701
  msgstr ""
3702
 
3703
- #: includes/admin/templates/role/admin-permissions.php:11
3704
  msgid "Can access wp-admin?"
3705
  msgstr ""
3706
 
3707
- #: includes/admin/templates/role/admin-permissions.php:12
3708
  msgid ""
3709
  "The core admin role must always have access to wp-admin / WordPress backend"
3710
  msgstr ""
3711
 
3712
- #: includes/admin/templates/role/admin-permissions.php:18
3713
  msgid "Force hiding adminbar in frontend?"
3714
  msgstr ""
3715
 
3716
- #: includes/admin/templates/role/admin-permissions.php:19
3717
  msgid "Show/hide the adminbar on frontend"
3718
  msgstr ""
3719
 
3720
- #: includes/admin/templates/role/admin-permissions.php:25
3721
  msgid "Can edit other member accounts?"
3722
  msgstr ""
3723
 
3724
- #: includes/admin/templates/role/admin-permissions.php:26
3725
- #: includes/admin/templates/role/admin-permissions.php:43
3726
  msgid "Allow this role to edit accounts of other members"
3727
  msgstr ""
3728
 
3729
- #: includes/admin/templates/role/admin-permissions.php:32
3730
  msgid "Can edit these user roles only"
3731
  msgstr ""
3732
 
3733
- #: includes/admin/templates/role/admin-permissions.php:33
3734
- #: includes/admin/templates/role/admin-permissions.php:50
3735
  msgid ""
3736
  "Which roles that role can edit, choose none to allow role to edit all member "
3737
  "roles"
3738
  msgstr ""
3739
 
3740
- #: includes/admin/templates/role/admin-permissions.php:42
3741
  msgid "Can delete other member accounts?"
3742
  msgstr ""
3743
 
3744
- #: includes/admin/templates/role/admin-permissions.php:49
3745
  msgid "Can delete these user roles only"
3746
  msgstr ""
3747
 
3748
- #: includes/admin/templates/role/delete.php:12
3749
  msgid "Action to be taken after account is deleted"
3750
  msgstr ""
3751
 
3752
- #: includes/admin/templates/role/delete.php:13
3753
  msgid ""
3754
  "Select what happens when a user with this role deletes their own account"
3755
  msgstr ""
3756
 
3757
- #: includes/admin/templates/role/delete.php:16
3758
- #: includes/admin/templates/role/logout.php:16
3759
  msgid "Go to Homepage"
3760
  msgstr ""
3761
 
3762
- #: includes/admin/templates/role/delete.php:17
3763
- #: includes/admin/templates/role/logout.php:17
3764
  msgid "Go to Custom URL"
3765
  msgstr ""
3766
 
3767
- #: includes/admin/templates/role/delete.php:24
3768
  msgid "Set a url to redirect this user role to after they delete account"
3769
  msgstr ""
3770
 
3771
- #: includes/admin/templates/role/general.php:11
3772
  msgid "Can edit their profile?"
3773
  msgstr ""
3774
 
3775
- #: includes/admin/templates/role/general.php:12
3776
  msgid "Can this role edit his own profile?"
3777
  msgstr ""
3778
 
3779
- #: includes/admin/templates/role/general.php:18
3780
  msgid "Can delete their account?"
3781
  msgstr ""
3782
 
3783
- #: includes/admin/templates/role/general.php:19
3784
  msgid ""
3785
  "Allow this role to delete their account and end their membership on your site"
3786
  msgstr ""
3787
 
3788
- #: includes/admin/templates/role/home.php:12
3789
  msgid "Can view default homepage?"
3790
  msgstr ""
3791
 
3792
- #: includes/admin/templates/role/home.php:13
3793
  msgid "Allow this user role to view your site's homepage"
3794
  msgstr ""
3795
 
3796
- #: includes/admin/templates/role/home.php:19
3797
  msgid "Custom Homepage Redirect"
3798
  msgstr ""
3799
 
3800
- #: includes/admin/templates/role/home.php:20
3801
  msgid ""
3802
  "Set a url to redirect this user role to if they try to view your site's "
3803
  "homepage"
3804
  msgstr ""
3805
 
3806
- #: includes/admin/templates/role/login.php:12
3807
  msgid "Action to be taken after login"
3808
  msgstr ""
3809
 
3810
- #: includes/admin/templates/role/login.php:13
3811
  msgid "Select what happens when a user with this role logins to your site"
3812
  msgstr ""
3813
 
3814
- #: includes/admin/templates/role/login.php:26
3815
  msgid ""
3816
  "Set a url to redirect this user role to after they login with their account"
3817
  msgstr ""
3818
 
3819
- #: includes/admin/templates/role/logout.php:12
3820
  msgid "Action to be taken after logout"
3821
  msgstr ""
3822
 
3823
- #: includes/admin/templates/role/logout.php:13
3824
  msgid "Select what happens when a user with this role logouts of your site"
3825
  msgstr ""
3826
 
3827
- #: includes/admin/templates/role/logout.php:24
3828
  msgid "Set a url to redirect this user role to after they logout from site"
3829
  msgstr ""
3830
 
3831
- #: includes/admin/templates/role/profile.php:11
3832
  msgid "Can view other member profiles?"
3833
  msgstr ""
3834
 
3835
- #: includes/admin/templates/role/profile.php:12
3836
  msgid "Can this role view all member profiles?"
3837
  msgstr ""
3838
 
3839
- #: includes/admin/templates/role/profile.php:18
3840
  msgid "Can view these user roles only"
3841
  msgstr ""
3842
 
3843
- #: includes/admin/templates/role/profile.php:19
3844
  msgid ""
3845
  "Which roles that role can view, choose none to allow role to view all member "
3846
  "roles"
3847
  msgstr ""
3848
 
3849
- #: includes/admin/templates/role/profile.php:29
3850
  msgid "Can make their profile private?"
3851
  msgstr ""
3852
 
3853
- #: includes/admin/templates/role/profile.php:30
3854
  msgid "Can this role make their profile private?"
3855
  msgstr ""
3856
 
3857
- #: includes/admin/templates/role/profile.php:37
3858
  msgid "Can view/access private profiles?"
3859
  msgstr ""
3860
 
3861
- #: includes/admin/templates/role/profile.php:38
3862
  msgid "Can this role view private profiles?"
3863
  msgstr ""
3864
 
3865
- #: includes/admin/templates/role/publish.php:14
3866
  msgid "Role Priority"
3867
  msgstr ""
3868
 
3869
- #: includes/admin/templates/role/publish.php:15
3870
  msgid "The higher the number, the higher the priority"
3871
  msgstr ""
3872
 
@@ -3878,123 +4350,123 @@ msgstr ""
3878
  msgid "Create Role"
3879
  msgstr ""
3880
 
3881
- #: includes/admin/templates/role/register.php:11
3882
  msgid "Registration Status"
3883
  msgstr ""
3884
 
3885
- #: includes/admin/templates/role/register.php:12
3886
  msgid ""
3887
  "Select the status you would like this user role to have after they register "
3888
  "on your site"
3889
  msgstr ""
3890
 
3891
- #: includes/admin/templates/role/register.php:15
3892
  msgid "Auto Approve"
3893
  msgstr ""
3894
 
3895
- #: includes/admin/templates/role/register.php:16
3896
  msgid "Require Email Activation"
3897
  msgstr ""
3898
 
3899
- #: includes/admin/templates/role/register.php:17
3900
  msgid "Require Admin Review"
3901
  msgstr ""
3902
 
3903
- #: includes/admin/templates/role/register.php:23
3904
- #: includes/admin/templates/role/register.php:50
3905
- #: includes/admin/templates/role/register.php:84
3906
  msgid "Action to be taken after registration"
3907
  msgstr ""
3908
 
3909
- #: includes/admin/templates/role/register.php:24
3910
- #: includes/admin/templates/role/register.php:51
3911
- #: includes/admin/templates/role/register.php:85
3912
  msgid ""
3913
  "Select what action is taken after a person registers on your site. Depending "
3914
  "on the status you can redirect them to their profile, a custom url or show a "
3915
  "custom message"
3916
  msgstr ""
3917
 
3918
- #: includes/admin/templates/role/register.php:42
3919
  msgid "Login user after validating the activation link?"
3920
  msgstr ""
3921
 
3922
- #: includes/admin/templates/role/register.php:43
3923
  msgid "Login the user after validating the activation link"
3924
  msgstr ""
3925
 
3926
- #: includes/admin/templates/role/register.php:54
3927
- #: includes/admin/templates/role/register.php:88
3928
  msgid "Show custom message"
3929
  msgstr ""
3930
 
3931
- #: includes/admin/templates/role/register.php:62
3932
- #: includes/admin/templates/role/register.php:96
3933
  msgid "Personalize the custom message"
3934
  msgstr ""
3935
 
3936
- #: includes/admin/templates/role/register.php:63
3937
  msgid ""
3938
  "Thank you for registering. Before you can login we need you to activate your "
3939
  "account by clicking the activation link in the email we just sent you."
3940
  msgstr ""
3941
 
3942
- #: includes/admin/templates/role/register.php:76
3943
  msgid "URL redirect after e-mail activation"
3944
  msgstr ""
3945
 
3946
- #: includes/admin/templates/role/register.php:77
3947
  msgid ""
3948
  "If you want users to go to a specific page other than login page after e-"
3949
  "mail activation, enter the URL here."
3950
  msgstr ""
3951
 
3952
- #: includes/admin/templates/role/register.php:97
3953
  msgid ""
3954
  "Thank you for applying for membership to our site. We will review your "
3955
  "details and send you an email letting you know whether your application has "
3956
  "been successful or not."
3957
  msgstr ""
3958
 
3959
- #: includes/admin/templates/role/role-edit.php:68
3960
- #: includes/admin/templates/role/role-edit.php:72
3961
  msgid "Security Issue"
3962
  msgstr ""
3963
 
3964
- #: includes/admin/templates/role/role-edit.php:85
3965
  msgid "Title is empty!"
3966
  msgstr ""
3967
 
3968
- #: includes/admin/templates/role/role-edit.php:112
3969
  msgid "Role already exists!"
3970
  msgstr ""
3971
 
3972
- #: includes/admin/templates/role/role-edit.php:153
3973
  msgid "Add New Role"
3974
  msgstr ""
3975
 
3976
- #: includes/admin/templates/role/role-edit.php:153
3977
  msgid "Edit Role"
3978
  msgstr ""
3979
 
3980
- #: includes/admin/templates/role/role-edit.php:162
3981
  msgid "User Role <strong>Added</strong> Successfully."
3982
  msgstr ""
3983
 
3984
- #: includes/admin/templates/role/role-edit.php:165
3985
  msgid "User Role <strong>Updated</strong> Successfully."
3986
  msgstr ""
3987
 
3988
- #: includes/admin/templates/role/role-edit.php:193
3989
  msgid "Enter Title Here"
3990
  msgstr ""
3991
 
3992
- #: includes/admin/templates/role/wp-capabilities.php:36
3993
  msgid "Uncheck All"
3994
  msgstr ""
3995
 
3996
- #: includes/admin/templates/role/wp-capabilities.php:38
3997
- #: includes/admin/templates/role/wp-capabilities.php:46
3998
  msgid "Check All"
3999
  msgstr ""
4000
 
@@ -4012,13 +4484,9 @@ msgstr ""
4012
  msgid "Register"
4013
  msgstr ""
4014
 
4015
- #: includes/class-config.php:134 includes/class-config.php:759
4016
- msgid "Members"
4017
- msgstr ""
4018
-
4019
  #: includes/class-config.php:135 includes/class-config.php:760
4020
- #: includes/core/um-actions-profile.php:1165
4021
- #: includes/core/um-actions-user.php:15
4022
  msgid "Logout"
4023
  msgstr ""
4024
 
@@ -4185,27 +4653,27 @@ msgstr ""
4185
  msgid "Cheatin&#8217; huh?"
4186
  msgstr ""
4187
 
4188
- #: includes/core/class-account.php:93
4189
  msgid "Update Account"
4190
  msgstr ""
4191
 
4192
- #: includes/core/class-account.php:98
4193
  msgid "Change Password"
4194
  msgstr ""
4195
 
4196
- #: includes/core/class-account.php:99
4197
  msgid "Update Password"
4198
  msgstr ""
4199
 
4200
- #: includes/core/class-account.php:105
4201
  msgid "Update Privacy"
4202
  msgstr ""
4203
 
4204
- #: includes/core/class-account.php:111
4205
  msgid "Update Notifications"
4206
  msgstr ""
4207
 
4208
- #: includes/core/class-account.php:119 includes/core/class-account.php:120
4209
  #: includes/core/class-builtin.php:1141 includes/core/class-builtin.php:1144
4210
  msgid "Delete Account"
4211
  msgstr ""
@@ -4285,7 +4753,7 @@ msgstr ""
4285
  msgid "You must add a shortcode to the content area"
4286
  msgstr ""
4287
 
4288
- #: includes/core/class-builtin.php:663 includes/core/class-user.php:1551
4289
  msgid "Only me"
4290
  msgstr ""
4291
 
@@ -4295,7 +4763,7 @@ msgid "Username or E-mail"
4295
  msgstr ""
4296
 
4297
  #: includes/core/class-builtin.php:742 includes/core/class-builtin.php:745
4298
- #: includes/core/class-builtin.php:1338
4299
  msgid "Website URL"
4300
  msgstr ""
4301
 
@@ -4368,7 +4836,7 @@ msgid "Instagram"
4368
  msgstr ""
4369
 
4370
  #: includes/core/class-builtin.php:938 includes/core/class-builtin.php:941
4371
- #: includes/core/class-builtin.php:1331
4372
  msgid "Skype ID"
4373
  msgstr ""
4374
 
@@ -4409,7 +4877,7 @@ msgid "Select languages"
4409
  msgstr ""
4410
 
4411
  #: includes/core/class-builtin.php:1042 includes/core/class-builtin.php:1045
4412
- #: includes/core/class-builtin.php:1330
4413
  msgid "Phone Number"
4414
  msgstr ""
4415
 
@@ -4434,7 +4902,7 @@ msgid "Cover Photo"
4434
  msgstr ""
4435
 
4436
  #: includes/core/class-builtin.php:1085
4437
- #: includes/core/um-actions-profile.php:588
4438
  msgid "Change your cover photo"
4439
  msgstr ""
4440
 
@@ -4468,1791 +4936,1791 @@ msgid ""
4468
  "permanently from the site"
4469
  msgstr ""
4470
 
4471
- #: includes/core/class-builtin.php:1320
4472
  msgid "Alphabetic value only"
4473
  msgstr ""
4474
 
4475
- #: includes/core/class-builtin.php:1321
4476
  msgid "Alpha-numeric value"
4477
  msgstr ""
4478
 
4479
- #: includes/core/class-builtin.php:1322
4480
  msgid "English letters only"
4481
  msgstr ""
4482
 
4483
- #: includes/core/class-builtin.php:1323
4484
  msgid "Facebook URL"
4485
  msgstr ""
4486
 
4487
- #: includes/core/class-builtin.php:1324
4488
  msgid "Google+ URL"
4489
  msgstr ""
4490
 
4491
- #: includes/core/class-builtin.php:1325
4492
  msgid "Instagram URL"
4493
  msgstr ""
4494
 
4495
- #: includes/core/class-builtin.php:1326
4496
  msgid "LinkedIn URL"
4497
  msgstr ""
4498
 
4499
- #: includes/core/class-builtin.php:1327
4500
  msgid "VKontakte URL"
4501
  msgstr ""
4502
 
4503
- #: includes/core/class-builtin.php:1328
4504
  msgid "Lowercase only"
4505
  msgstr ""
4506
 
4507
- #: includes/core/class-builtin.php:1329
4508
  msgid "Numeric value only"
4509
  msgstr ""
4510
 
4511
- #: includes/core/class-builtin.php:1332
4512
  msgid "SoundCloud Profile"
4513
  msgstr ""
4514
 
4515
- #: includes/core/class-builtin.php:1333
4516
  msgid "Twitter URL"
4517
  msgstr ""
4518
 
4519
- #: includes/core/class-builtin.php:1334
4520
  msgid "Unique E-mail"
4521
  msgstr ""
4522
 
4523
- #: includes/core/class-builtin.php:1335
4524
  msgid "Unique Metakey value"
4525
  msgstr ""
4526
 
4527
- #: includes/core/class-builtin.php:1336
4528
  msgid "Unique Username"
4529
  msgstr ""
4530
 
4531
- #: includes/core/class-builtin.php:1337
4532
  msgid "Unique Username/E-mail"
4533
  msgstr ""
4534
 
4535
- #: includes/core/class-builtin.php:1339
4536
  msgid "YouTube Profile"
4537
  msgstr ""
4538
 
4539
- #: includes/core/class-builtin.php:1340
4540
  msgid "Custom Validation"
4541
  msgstr ""
4542
 
4543
- #: includes/core/class-builtin.php:1379
4544
  msgid "Afar"
4545
  msgstr ""
4546
 
4547
- #: includes/core/class-builtin.php:1380
4548
  msgid "Abkhazian"
4549
  msgstr ""
4550
 
4551
- #: includes/core/class-builtin.php:1381
4552
  msgid "Avestan"
4553
  msgstr ""
4554
 
4555
- #: includes/core/class-builtin.php:1382
4556
  msgid "Afrikaans"
4557
  msgstr ""
4558
 
4559
- #: includes/core/class-builtin.php:1383
4560
  msgid "Akan"
4561
  msgstr ""
4562
 
4563
- #: includes/core/class-builtin.php:1384
4564
  msgid "Amharic"
4565
  msgstr ""
4566
 
4567
- #: includes/core/class-builtin.php:1385
4568
  msgid "Aragonese"
4569
  msgstr ""
4570
 
4571
- #: includes/core/class-builtin.php:1386
4572
  msgid "Arabic"
4573
  msgstr ""
4574
 
4575
- #: includes/core/class-builtin.php:1387
4576
  msgid "Assamese"
4577
  msgstr ""
4578
 
4579
- #: includes/core/class-builtin.php:1388
4580
  msgid "Avaric"
4581
  msgstr ""
4582
 
4583
- #: includes/core/class-builtin.php:1389
4584
  msgid "Aymara"
4585
  msgstr ""
4586
 
4587
- #: includes/core/class-builtin.php:1390
4588
  msgid "Azerbaijani"
4589
  msgstr ""
4590
 
4591
- #: includes/core/class-builtin.php:1391
4592
  msgid "Bashkir"
4593
  msgstr ""
4594
 
4595
- #: includes/core/class-builtin.php:1392
4596
  msgid "Belarusian"
4597
  msgstr ""
4598
 
4599
- #: includes/core/class-builtin.php:1393
4600
  msgid "Bulgarian"
4601
  msgstr ""
4602
 
4603
- #: includes/core/class-builtin.php:1394
4604
  msgid "Bihari"
4605
  msgstr ""
4606
 
4607
- #: includes/core/class-builtin.php:1395
4608
  msgid "Bislama"
4609
  msgstr ""
4610
 
4611
- #: includes/core/class-builtin.php:1396
4612
  msgid "Bambara"
4613
  msgstr ""
4614
 
4615
- #: includes/core/class-builtin.php:1397
4616
  msgid "Bengali"
4617
  msgstr ""
4618
 
4619
- #: includes/core/class-builtin.php:1398
4620
  msgid "Tibetan"
4621
  msgstr ""
4622
 
4623
- #: includes/core/class-builtin.php:1399
4624
  msgid "Breton"
4625
  msgstr ""
4626
 
4627
- #: includes/core/class-builtin.php:1400
4628
  msgid "Bosnian"
4629
  msgstr ""
4630
 
4631
- #: includes/core/class-builtin.php:1401
4632
  msgid "Catalan"
4633
  msgstr ""
4634
 
4635
- #: includes/core/class-builtin.php:1402
4636
  msgid "Chechen"
4637
  msgstr ""
4638
 
4639
- #: includes/core/class-builtin.php:1403
4640
  msgid "Chamorro"
4641
  msgstr ""
4642
 
4643
- #: includes/core/class-builtin.php:1404
4644
  msgid "Corsican"
4645
  msgstr ""
4646
 
4647
- #: includes/core/class-builtin.php:1405
4648
  msgid "Cree"
4649
  msgstr ""
4650
 
4651
- #: includes/core/class-builtin.php:1406
4652
  msgid "Czech"
4653
  msgstr ""
4654
 
4655
- #: includes/core/class-builtin.php:1407
4656
  msgid "Church Slavic"
4657
  msgstr ""
4658
 
4659
- #: includes/core/class-builtin.php:1408
4660
  msgid "Chuvash"
4661
  msgstr ""
4662
 
4663
- #: includes/core/class-builtin.php:1409
4664
  msgid "Welsh"
4665
  msgstr ""
4666
 
4667
- #: includes/core/class-builtin.php:1410
4668
  msgid "Danish"
4669
  msgstr ""
4670
 
4671
- #: includes/core/class-builtin.php:1411
4672
  msgid "German"
4673
  msgstr ""
4674
 
4675
- #: includes/core/class-builtin.php:1412
4676
  msgid "Divehi"
4677
  msgstr ""
4678
 
4679
- #: includes/core/class-builtin.php:1413
4680
  msgid "Dzongkha"
4681
  msgstr ""
4682
 
4683
- #: includes/core/class-builtin.php:1414
4684
  msgid "Ewe"
4685
  msgstr ""
4686
 
4687
- #: includes/core/class-builtin.php:1415
4688
  msgid "Greek"
4689
  msgstr ""
4690
 
4691
- #: includes/core/class-builtin.php:1416
4692
  msgid "English"
4693
  msgstr ""
4694
 
4695
- #: includes/core/class-builtin.php:1417
4696
  msgid "Esperanto"
4697
  msgstr ""
4698
 
4699
- #: includes/core/class-builtin.php:1418
4700
  msgid "Spanish"
4701
  msgstr ""
4702
 
4703
- #: includes/core/class-builtin.php:1419
4704
  msgid "Estonian"
4705
  msgstr ""
4706
 
4707
- #: includes/core/class-builtin.php:1420
4708
  msgid "Basque"
4709
  msgstr ""
4710
 
4711
- #: includes/core/class-builtin.php:1421
4712
  msgid "Persian"
4713
  msgstr ""
4714
 
4715
- #: includes/core/class-builtin.php:1422
4716
  msgid "Fulah"
4717
  msgstr ""
4718
 
4719
- #: includes/core/class-builtin.php:1423
4720
  msgid "Finnish"
4721
  msgstr ""
4722
 
4723
- #: includes/core/class-builtin.php:1424
4724
  msgid "Fijian"
4725
  msgstr ""
4726
 
4727
- #: includes/core/class-builtin.php:1425
4728
  msgid "Faroese"
4729
  msgstr ""
4730
 
4731
- #: includes/core/class-builtin.php:1426
4732
  msgid "French"
4733
  msgstr ""
4734
 
4735
- #: includes/core/class-builtin.php:1427
4736
  msgid "Western Frisian"
4737
  msgstr ""
4738
 
4739
- #: includes/core/class-builtin.php:1428
4740
  msgid "Irish"
4741
  msgstr ""
4742
 
4743
- #: includes/core/class-builtin.php:1429
4744
  msgid "Scottish Gaelic"
4745
  msgstr ""
4746
 
4747
- #: includes/core/class-builtin.php:1430
4748
  msgid "Galician"
4749
  msgstr ""
4750
 
4751
- #: includes/core/class-builtin.php:1431
4752
  msgid "Guarani"
4753
  msgstr ""
4754
 
4755
- #: includes/core/class-builtin.php:1432
4756
  msgid "Gujarati"
4757
  msgstr ""
4758
 
4759
- #: includes/core/class-builtin.php:1433
4760
  msgid "Manx"
4761
  msgstr ""
4762
 
4763
- #: includes/core/class-builtin.php:1434
4764
  msgid "Hausa"
4765
  msgstr ""
4766
 
4767
- #: includes/core/class-builtin.php:1435
4768
  msgid "Hebrew"
4769
  msgstr ""
4770
 
4771
- #: includes/core/class-builtin.php:1436
4772
  msgid "Hindi"
4773
  msgstr ""
4774
 
4775
- #: includes/core/class-builtin.php:1437
4776
  msgid "Hiri Motu"
4777
  msgstr ""
4778
 
4779
- #: includes/core/class-builtin.php:1438
4780
  msgid "Croatian"
4781
  msgstr ""
4782
 
4783
- #: includes/core/class-builtin.php:1439
4784
  msgid "Haitian"
4785
  msgstr ""
4786
 
4787
- #: includes/core/class-builtin.php:1440
4788
  msgid "Hungarian"
4789
  msgstr ""
4790
 
4791
- #: includes/core/class-builtin.php:1441
4792
  msgid "Armenian"
4793
  msgstr ""
4794
 
4795
- #: includes/core/class-builtin.php:1442
4796
  msgid "Herero"
4797
  msgstr ""
4798
 
4799
- #: includes/core/class-builtin.php:1443
4800
  msgid "Interlingua (International Auxiliary Language Association)"
4801
  msgstr ""
4802
 
4803
- #: includes/core/class-builtin.php:1444
4804
  msgid "Indonesian"
4805
  msgstr ""
4806
 
4807
- #: includes/core/class-builtin.php:1445
4808
  msgid "Interlingue"
4809
  msgstr ""
4810
 
4811
- #: includes/core/class-builtin.php:1446
4812
  msgid "Igbo"
4813
  msgstr ""
4814
 
4815
- #: includes/core/class-builtin.php:1447
4816
  msgid "Sichuan Yi"
4817
  msgstr ""
4818
 
4819
- #: includes/core/class-builtin.php:1448
4820
  msgid "Inupiaq"
4821
  msgstr ""
4822
 
4823
- #: includes/core/class-builtin.php:1449
4824
  msgid "Ido"
4825
  msgstr ""
4826
 
4827
- #: includes/core/class-builtin.php:1450
4828
  msgid "Icelandic"
4829
  msgstr ""
4830
 
4831
- #: includes/core/class-builtin.php:1451
4832
  msgid "Italian"
4833
  msgstr ""
4834
 
4835
- #: includes/core/class-builtin.php:1452
4836
  msgid "Inuktitut"
4837
  msgstr ""
4838
 
4839
- #: includes/core/class-builtin.php:1453
4840
  msgid "Japanese"
4841
  msgstr ""
4842
 
4843
- #: includes/core/class-builtin.php:1454
4844
  msgid "Javanese"
4845
  msgstr ""
4846
 
4847
- #: includes/core/class-builtin.php:1455
4848
  msgid "Georgian"
4849
  msgstr ""
4850
 
4851
- #: includes/core/class-builtin.php:1456
4852
  msgid "Kongo"
4853
  msgstr ""
4854
 
4855
- #: includes/core/class-builtin.php:1457
4856
  msgid "Kikuyu"
4857
  msgstr ""
4858
 
4859
- #: includes/core/class-builtin.php:1458
4860
  msgid "Kwanyama"
4861
  msgstr ""
4862
 
4863
- #: includes/core/class-builtin.php:1459
4864
  msgid "Kazakh"
4865
  msgstr ""
4866
 
4867
- #: includes/core/class-builtin.php:1460
4868
  msgid "Kalaallisut"
4869
  msgstr ""
4870
 
4871
- #: includes/core/class-builtin.php:1461
4872
  msgid "Khmer"
4873
  msgstr ""
4874
 
4875
- #: includes/core/class-builtin.php:1462
4876
  msgid "Kannada"
4877
  msgstr ""
4878
 
4879
- #: includes/core/class-builtin.php:1463
4880
  msgid "Korean"
4881
  msgstr ""
4882
 
4883
- #: includes/core/class-builtin.php:1464
4884
  msgid "Kanuri"
4885
  msgstr ""
4886
 
4887
- #: includes/core/class-builtin.php:1465
4888
  msgid "Kashmiri"
4889
  msgstr ""
4890
 
4891
- #: includes/core/class-builtin.php:1466
4892
  msgid "Kurdish"
4893
  msgstr ""
4894
 
4895
- #: includes/core/class-builtin.php:1467
4896
  msgid "Komi"
4897
  msgstr ""
4898
 
4899
- #: includes/core/class-builtin.php:1468
4900
  msgid "Cornish"
4901
  msgstr ""
4902
 
4903
- #: includes/core/class-builtin.php:1469
4904
  msgid "Kirghiz"
4905
  msgstr ""
4906
 
4907
- #: includes/core/class-builtin.php:1470
4908
  msgid "Latin"
4909
  msgstr ""
4910
 
4911
- #: includes/core/class-builtin.php:1471
4912
  msgid "Luxembourgish"
4913
  msgstr ""
4914
 
4915
- #: includes/core/class-builtin.php:1472
4916
  msgid "Ganda"
4917
  msgstr ""
4918
 
4919
- #: includes/core/class-builtin.php:1473
4920
  msgid "Limburgish"
4921
  msgstr ""
4922
 
4923
- #: includes/core/class-builtin.php:1474
4924
  msgid "Lingala"
4925
  msgstr ""
4926
 
4927
- #: includes/core/class-builtin.php:1475
4928
  msgid "Lao"
4929
  msgstr ""
4930
 
4931
- #: includes/core/class-builtin.php:1476
4932
  msgid "Lithuanian"
4933
  msgstr ""
4934
 
4935
- #: includes/core/class-builtin.php:1477
4936
  msgid "Luba-Katanga"
4937
  msgstr ""
4938
 
4939
- #: includes/core/class-builtin.php:1478
4940
  msgid "Latvian"
4941
  msgstr ""
4942
 
4943
- #: includes/core/class-builtin.php:1479
4944
  msgid "Malagasy"
4945
  msgstr ""
4946
 
4947
- #: includes/core/class-builtin.php:1480
4948
  msgid "Marshallese"
4949
  msgstr ""
4950
 
4951
- #: includes/core/class-builtin.php:1481
4952
  msgid "Maori"
4953
  msgstr ""
4954
 
4955
- #: includes/core/class-builtin.php:1482
4956
  msgid "Macedonian"
4957
  msgstr ""
4958
 
4959
- #: includes/core/class-builtin.php:1483
4960
  msgid "Malayalam"
4961
  msgstr ""
4962
 
4963
- #: includes/core/class-builtin.php:1484
4964
  msgid "Mongolian"
4965
  msgstr ""
4966
 
4967
- #: includes/core/class-builtin.php:1485
4968
  msgid "Marathi"
4969
  msgstr ""
4970
 
4971
- #: includes/core/class-builtin.php:1486
4972
  msgid "Malay"
4973
  msgstr ""
4974
 
4975
- #: includes/core/class-builtin.php:1487
4976
  msgid "Maltese"
4977
  msgstr ""
4978
 
4979
- #: includes/core/class-builtin.php:1488
4980
  msgid "Burmese"
4981
  msgstr ""
4982
 
4983
- #: includes/core/class-builtin.php:1489 includes/core/class-builtin.php:1720
4984
  msgid "Nauru"
4985
  msgstr ""
4986
 
4987
- #: includes/core/class-builtin.php:1490
4988
  msgid "Norwegian Bokmal"
4989
  msgstr ""
4990
 
4991
- #: includes/core/class-builtin.php:1491
4992
  msgid "North Ndebele"
4993
  msgstr ""
4994
 
4995
- #: includes/core/class-builtin.php:1492
4996
  msgid "Nepali"
4997
  msgstr ""
4998
 
4999
- #: includes/core/class-builtin.php:1493
5000
  msgid "Ndonga"
5001
  msgstr ""
5002
 
5003
- #: includes/core/class-builtin.php:1494
5004
  msgid "Dutch"
5005
  msgstr ""
5006
 
5007
- #: includes/core/class-builtin.php:1495
5008
  msgid "Norwegian Nynorsk"
5009
  msgstr ""
5010
 
5011
- #: includes/core/class-builtin.php:1496
5012
  msgid "Norwegian"
5013
  msgstr ""
5014
 
5015
- #: includes/core/class-builtin.php:1497
5016
  msgid "South Ndebele"
5017
  msgstr ""
5018
 
5019
- #: includes/core/class-builtin.php:1498
5020
  msgid "Navajo"
5021
  msgstr ""
5022
 
5023
- #: includes/core/class-builtin.php:1499
5024
  msgid "Chichewa"
5025
  msgstr ""
5026
 
5027
- #: includes/core/class-builtin.php:1500
5028
  msgid "Occitan"
5029
  msgstr ""
5030
 
5031
- #: includes/core/class-builtin.php:1501
5032
  msgid "Ojibwa"
5033
  msgstr ""
5034
 
5035
- #: includes/core/class-builtin.php:1502
5036
  msgid "Oromo"
5037
  msgstr ""
5038
 
5039
- #: includes/core/class-builtin.php:1503
5040
  msgid "Oriya"
5041
  msgstr ""
5042
 
5043
- #: includes/core/class-builtin.php:1504
5044
  msgid "Ossetian"
5045
  msgstr ""
5046
 
5047
- #: includes/core/class-builtin.php:1505
5048
  msgid "Panjabi"
5049
  msgstr ""
5050
 
5051
- #: includes/core/class-builtin.php:1506
5052
  msgid "Pali"
5053
  msgstr ""
5054
 
5055
- #: includes/core/class-builtin.php:1507
5056
  msgid "Polish"
5057
  msgstr ""
5058
 
5059
- #: includes/core/class-builtin.php:1508
5060
  msgid "Pashto"
5061
  msgstr ""
5062
 
5063
- #: includes/core/class-builtin.php:1509
5064
  msgid "Portuguese"
5065
  msgstr ""
5066
 
5067
- #: includes/core/class-builtin.php:1510
5068
  msgid "Quechua"
5069
  msgstr ""
5070
 
5071
- #: includes/core/class-builtin.php:1511
5072
  msgid "Raeto-Romance"
5073
  msgstr ""
5074
 
5075
- #: includes/core/class-builtin.php:1512
5076
  msgid "Kirundi"
5077
  msgstr ""
5078
 
5079
- #: includes/core/class-builtin.php:1513
5080
  msgid "Romanian"
5081
  msgstr ""
5082
 
5083
- #: includes/core/class-builtin.php:1514
5084
  msgid "Russian"
5085
  msgstr ""
5086
 
5087
- #: includes/core/class-builtin.php:1515
5088
  msgid "Kinyarwanda"
5089
  msgstr ""
5090
 
5091
- #: includes/core/class-builtin.php:1516
5092
  msgid "Sanskrit"
5093
  msgstr ""
5094
 
5095
- #: includes/core/class-builtin.php:1517
5096
  msgid "Sardinian"
5097
  msgstr ""
5098
 
5099
- #: includes/core/class-builtin.php:1518
5100
  msgid "Sindhi"
5101
  msgstr ""
5102
 
5103
- #: includes/core/class-builtin.php:1519
5104
  msgid "Northern Sami"
5105
  msgstr ""
5106
 
5107
- #: includes/core/class-builtin.php:1520
5108
  msgid "Sango"
5109
  msgstr ""
5110
 
5111
- #: includes/core/class-builtin.php:1521
5112
  msgid "Sinhala"
5113
  msgstr ""
5114
 
5115
- #: includes/core/class-builtin.php:1522
5116
  msgid "Slovak"
5117
  msgstr ""
5118
 
5119
- #: includes/core/class-builtin.php:1523
5120
  msgid "Slovenian"
5121
  msgstr ""
5122
 
5123
- #: includes/core/class-builtin.php:1524
5124
  msgid "Samoan"
5125
  msgstr ""
5126
 
5127
- #: includes/core/class-builtin.php:1525
5128
  msgid "Shona"
5129
  msgstr ""
5130
 
5131
- #: includes/core/class-builtin.php:1526
5132
  msgid "Somali"
5133
  msgstr ""
5134
 
5135
- #: includes/core/class-builtin.php:1527
5136
  msgid "Albanian"
5137
  msgstr ""
5138
 
5139
- #: includes/core/class-builtin.php:1528
5140
  msgid "Serbian"
5141
  msgstr ""
5142
 
5143
- #: includes/core/class-builtin.php:1529
5144
  msgid "Swati"
5145
  msgstr ""
5146
 
5147
- #: includes/core/class-builtin.php:1530
5148
  msgid "Southern Sotho"
5149
  msgstr ""
5150
 
5151
- #: includes/core/class-builtin.php:1531
5152
  msgid "Sundanese"
5153
  msgstr ""
5154
 
5155
- #: includes/core/class-builtin.php:1532
5156
  msgid "Swedish"
5157
  msgstr ""
5158
 
5159
- #: includes/core/class-builtin.php:1533
5160
  msgid "Swahili"
5161
  msgstr ""
5162
 
5163
- #: includes/core/class-builtin.php:1534
5164
  msgid "Tamil"
5165
  msgstr ""
5166
 
5167
- #: includes/core/class-builtin.php:1535
5168
  msgid "Telugu"
5169
  msgstr ""
5170
 
5171
- #: includes/core/class-builtin.php:1536
5172
  msgid "Tajik"
5173
  msgstr ""
5174
 
5175
- #: includes/core/class-builtin.php:1537
5176
  msgid "Thai"
5177
  msgstr ""
5178
 
5179
- #: includes/core/class-builtin.php:1538
5180
  msgid "Tigrinya"
5181
  msgstr ""
5182
 
5183
- #: includes/core/class-builtin.php:1539
5184
  msgid "Turkmen"
5185
  msgstr ""
5186
 
5187
- #: includes/core/class-builtin.php:1540
5188
  msgid "Tagalog"
5189
  msgstr ""
5190
 
5191
- #: includes/core/class-builtin.php:1541
5192
  msgid "Tswana"
5193
  msgstr ""
5194
 
5195
- #: includes/core/class-builtin.php:1542 includes/core/class-builtin.php:1790
5196
  msgid "Tonga"
5197
  msgstr ""
5198
 
5199
- #: includes/core/class-builtin.php:1543
5200
  msgid "Turkish"
5201
  msgstr ""
5202
 
5203
- #: includes/core/class-builtin.php:1544
5204
  msgid "Tsonga"
5205
  msgstr ""
5206
 
5207
- #: includes/core/class-builtin.php:1545
5208
  msgid "Tatar"
5209
  msgstr ""
5210
 
5211
- #: includes/core/class-builtin.php:1546
5212
  msgid "Twi"
5213
  msgstr ""
5214
 
5215
- #: includes/core/class-builtin.php:1547
5216
  msgid "Tahitian"
5217
  msgstr ""
5218
 
5219
- #: includes/core/class-builtin.php:1548
5220
  msgid "Uighur"
5221
  msgstr ""
5222
 
5223
- #: includes/core/class-builtin.php:1549
5224
  msgid "Ukrainian"
5225
  msgstr ""
5226
 
5227
- #: includes/core/class-builtin.php:1550
5228
  msgid "Urdu"
5229
  msgstr ""
5230
 
5231
- #: includes/core/class-builtin.php:1551
5232
  msgid "Uzbek"
5233
  msgstr ""
5234
 
5235
- #: includes/core/class-builtin.php:1552
5236
  msgid "Venda"
5237
  msgstr ""
5238
 
5239
- #: includes/core/class-builtin.php:1553
5240
  msgid "Vietnamese"
5241
  msgstr ""
5242
 
5243
- #: includes/core/class-builtin.php:1554
5244
  msgid "Volapuk"
5245
  msgstr ""
5246
 
5247
- #: includes/core/class-builtin.php:1555
5248
  msgid "Walloon"
5249
  msgstr ""
5250
 
5251
- #: includes/core/class-builtin.php:1556
5252
  msgid "Wolof"
5253
  msgstr ""
5254
 
5255
- #: includes/core/class-builtin.php:1557
5256
  msgid "Xhosa"
5257
  msgstr ""
5258
 
5259
- #: includes/core/class-builtin.php:1558
5260
  msgid "Yiddish"
5261
  msgstr ""
5262
 
5263
- #: includes/core/class-builtin.php:1559
5264
  msgid "Yoruba"
5265
  msgstr ""
5266
 
5267
- #: includes/core/class-builtin.php:1560
5268
  msgid "Zhuang"
5269
  msgstr ""
5270
 
5271
- #: includes/core/class-builtin.php:1561
5272
  msgid "Chinese"
5273
  msgstr ""
5274
 
5275
- #: includes/core/class-builtin.php:1562
5276
  msgid "Zulu"
5277
  msgstr ""
5278
 
5279
- #: includes/core/class-builtin.php:1568
5280
  msgid "Afghanistan"
5281
  msgstr ""
5282
 
5283
- #: includes/core/class-builtin.php:1569
5284
  msgid "Åland Islands"
5285
  msgstr ""
5286
 
5287
- #: includes/core/class-builtin.php:1570
5288
  msgid "Albania"
5289
  msgstr ""
5290
 
5291
- #: includes/core/class-builtin.php:1571
5292
  msgid "Algeria"
5293
  msgstr ""
5294
 
5295
- #: includes/core/class-builtin.php:1572
5296
  msgid "American Samoa"
5297
  msgstr ""
5298
 
5299
- #: includes/core/class-builtin.php:1573
5300
  msgid "Andorra"
5301
  msgstr ""
5302
 
5303
- #: includes/core/class-builtin.php:1574
5304
  msgid "Angola"
5305
  msgstr ""
5306
 
5307
- #: includes/core/class-builtin.php:1575
5308
  msgid "Anguilla"
5309
  msgstr ""
5310
 
5311
- #: includes/core/class-builtin.php:1576
5312
  msgid "Antarctica"
5313
  msgstr ""
5314
 
5315
- #: includes/core/class-builtin.php:1577
5316
  msgid "Antigua and Barbuda"
5317
  msgstr ""
5318
 
5319
- #: includes/core/class-builtin.php:1578
5320
  msgid "Argentina"
5321
  msgstr ""
5322
 
5323
- #: includes/core/class-builtin.php:1579
5324
  msgid "Armenia"
5325
  msgstr ""
5326
 
5327
- #: includes/core/class-builtin.php:1580
5328
  msgid "Aruba"
5329
  msgstr ""
5330
 
5331
- #: includes/core/class-builtin.php:1581
5332
  msgid "Australia"
5333
  msgstr ""
5334
 
5335
- #: includes/core/class-builtin.php:1582
5336
  msgid "Austria"
5337
  msgstr ""
5338
 
5339
- #: includes/core/class-builtin.php:1583
5340
  msgid "Azerbaijan"
5341
  msgstr ""
5342
 
5343
- #: includes/core/class-builtin.php:1584
5344
  msgid "Bahamas"
5345
  msgstr ""
5346
 
5347
- #: includes/core/class-builtin.php:1585
5348
  msgid "Bahrain"
5349
  msgstr ""
5350
 
5351
- #: includes/core/class-builtin.php:1586
5352
  msgid "Bangladesh"
5353
  msgstr ""
5354
 
5355
- #: includes/core/class-builtin.php:1587
5356
  msgid "Barbados"
5357
  msgstr ""
5358
 
5359
- #: includes/core/class-builtin.php:1588
5360
  msgid "Belarus"
5361
  msgstr ""
5362
 
5363
- #: includes/core/class-builtin.php:1589
5364
  msgid "Belgium"
5365
  msgstr ""
5366
 
5367
- #: includes/core/class-builtin.php:1590
5368
  msgid "Belize"
5369
  msgstr ""
5370
 
5371
- #: includes/core/class-builtin.php:1591
5372
  msgid "Benin"
5373
  msgstr ""
5374
 
5375
- #: includes/core/class-builtin.php:1592
5376
  msgid "Bermuda"
5377
  msgstr ""
5378
 
5379
- #: includes/core/class-builtin.php:1593
5380
  msgid "Bhutan"
5381
  msgstr ""
5382
 
5383
- #: includes/core/class-builtin.php:1594
5384
  msgid "Bolivia, Plurinational State of"
5385
  msgstr ""
5386
 
5387
- #: includes/core/class-builtin.php:1595
5388
  msgid "Bosnia and Herzegovina"
5389
  msgstr ""
5390
 
5391
- #: includes/core/class-builtin.php:1596
5392
  msgid "Botswana"
5393
  msgstr ""
5394
 
5395
- #: includes/core/class-builtin.php:1597
5396
  msgid "Bouvet Island"
5397
  msgstr ""
5398
 
5399
- #: includes/core/class-builtin.php:1598
5400
  msgid "Brazil"
5401
  msgstr ""
5402
 
5403
- #: includes/core/class-builtin.php:1599
5404
  msgid "British Indian Ocean Territory"
5405
  msgstr ""
5406
 
5407
- #: includes/core/class-builtin.php:1600
5408
  msgid "Brunei Darussalam"
5409
  msgstr ""
5410
 
5411
- #: includes/core/class-builtin.php:1601
5412
  msgid "Bulgaria"
5413
  msgstr ""
5414
 
5415
- #: includes/core/class-builtin.php:1602
5416
  msgid "Burkina Faso"
5417
  msgstr ""
5418
 
5419
- #: includes/core/class-builtin.php:1603
5420
  msgid "Burundi"
5421
  msgstr ""
5422
 
5423
- #: includes/core/class-builtin.php:1604
5424
  msgid "Cambodia"
5425
  msgstr ""
5426
 
5427
- #: includes/core/class-builtin.php:1605
5428
  msgid "Cameroon"
5429
  msgstr ""
5430
 
5431
- #: includes/core/class-builtin.php:1606
5432
  msgid "Canada"
5433
  msgstr ""
5434
 
5435
- #: includes/core/class-builtin.php:1607
5436
  msgid "Cape Verde"
5437
  msgstr ""
5438
 
5439
- #: includes/core/class-builtin.php:1608
5440
  msgid "Cayman Islands"
5441
  msgstr ""
5442
 
5443
- #: includes/core/class-builtin.php:1609
5444
  msgid "Central African Republic"
5445
  msgstr ""
5446
 
5447
- #: includes/core/class-builtin.php:1610
5448
  msgid "Chad"
5449
  msgstr ""
5450
 
5451
- #: includes/core/class-builtin.php:1611
5452
  msgid "Chile"
5453
  msgstr ""
5454
 
5455
- #: includes/core/class-builtin.php:1612
5456
  msgid "China"
5457
  msgstr ""
5458
 
5459
- #: includes/core/class-builtin.php:1613
5460
  msgid "Christmas Island"
5461
  msgstr ""
5462
 
5463
- #: includes/core/class-builtin.php:1614
5464
  msgid "Cocos (Keeling) Islands"
5465
  msgstr ""
5466
 
5467
- #: includes/core/class-builtin.php:1615
5468
  msgid "Colombia"
5469
  msgstr ""
5470
 
5471
- #: includes/core/class-builtin.php:1616
5472
  msgid "Comoros"
5473
  msgstr ""
5474
 
5475
- #: includes/core/class-builtin.php:1617
5476
  msgid "Congo"
5477
  msgstr ""
5478
 
5479
- #: includes/core/class-builtin.php:1618
5480
  msgid "Congo, the Democratic Republic of the"
5481
  msgstr ""
5482
 
5483
- #: includes/core/class-builtin.php:1619
5484
  msgid "Cook Islands"
5485
  msgstr ""
5486
 
5487
- #: includes/core/class-builtin.php:1620
5488
  msgid "Costa Rica"
5489
  msgstr ""
5490
 
5491
- #: includes/core/class-builtin.php:1621
5492
  msgid "Côte d'Ivoire"
5493
  msgstr ""
5494
 
5495
- #: includes/core/class-builtin.php:1622
5496
  msgid "Croatia"
5497
  msgstr ""
5498
 
5499
- #: includes/core/class-builtin.php:1623
5500
  msgid "Cuba"
5501
  msgstr ""
5502
 
5503
- #: includes/core/class-builtin.php:1624
5504
  msgid "Cyprus"
5505
  msgstr ""
5506
 
5507
- #: includes/core/class-builtin.php:1625
5508
  msgid "Czech Republic"
5509
  msgstr ""
5510
 
5511
- #: includes/core/class-builtin.php:1626
5512
  msgid "Denmark"
5513
  msgstr ""
5514
 
5515
- #: includes/core/class-builtin.php:1627
5516
  msgid "Djibouti"
5517
  msgstr ""
5518
 
5519
- #: includes/core/class-builtin.php:1628
5520
  msgid "Dominica"
5521
  msgstr ""
5522
 
5523
- #: includes/core/class-builtin.php:1629
5524
  msgid "Dominican Republic"
5525
  msgstr ""
5526
 
5527
- #: includes/core/class-builtin.php:1630
5528
  msgid "Ecuador"
5529
  msgstr ""
5530
 
5531
- #: includes/core/class-builtin.php:1631
5532
  msgid "Egypt"
5533
  msgstr ""
5534
 
5535
- #: includes/core/class-builtin.php:1632
5536
  msgid "El Salvador"
5537
  msgstr ""
5538
 
5539
- #: includes/core/class-builtin.php:1633
5540
  msgid "Equatorial Guinea"
5541
  msgstr ""
5542
 
5543
- #: includes/core/class-builtin.php:1634
5544
  msgid "Eritrea"
5545
  msgstr ""
5546
 
5547
- #: includes/core/class-builtin.php:1635
5548
  msgid "Estonia"
5549
  msgstr ""
5550
 
5551
- #: includes/core/class-builtin.php:1636
5552
  msgid "Ethiopia"
5553
  msgstr ""
5554
 
5555
- #: includes/core/class-builtin.php:1637
5556
  msgid "Falkland Islands (Malvinas)"
5557
  msgstr ""
5558
 
5559
- #: includes/core/class-builtin.php:1638
5560
  msgid "Faroe Islands"
5561
  msgstr ""
5562
 
5563
- #: includes/core/class-builtin.php:1639
5564
  msgid "Fiji"
5565
  msgstr ""
5566
 
5567
- #: includes/core/class-builtin.php:1640
5568
  msgid "Finland"
5569
  msgstr ""
5570
 
5571
- #: includes/core/class-builtin.php:1641
5572
  msgid "France"
5573
  msgstr ""
5574
 
5575
- #: includes/core/class-builtin.php:1642
5576
  msgid "French Guiana"
5577
  msgstr ""
5578
 
5579
- #: includes/core/class-builtin.php:1643
5580
  msgid "French Polynesia"
5581
  msgstr ""
5582
 
5583
- #: includes/core/class-builtin.php:1644
5584
  msgid "French Southern Territories"
5585
  msgstr ""
5586
 
5587
- #: includes/core/class-builtin.php:1645
5588
  msgid "Gabon"
5589
  msgstr ""
5590
 
5591
- #: includes/core/class-builtin.php:1646
5592
  msgid "Gambia"
5593
  msgstr ""
5594
 
5595
- #: includes/core/class-builtin.php:1647
5596
  msgid "Georgia"
5597
  msgstr ""
5598
 
5599
- #: includes/core/class-builtin.php:1648
5600
  msgid "Germany"
5601
  msgstr ""
5602
 
5603
- #: includes/core/class-builtin.php:1649
5604
  msgid "Ghana"
5605
  msgstr ""
5606
 
5607
- #: includes/core/class-builtin.php:1650
5608
  msgid "Gibraltar"
5609
  msgstr ""
5610
 
5611
- #: includes/core/class-builtin.php:1651
5612
  msgid "Greece"
5613
  msgstr ""
5614
 
5615
- #: includes/core/class-builtin.php:1652
5616
  msgid "Greenland"
5617
  msgstr ""
5618
 
5619
- #: includes/core/class-builtin.php:1653
5620
  msgid "Grenada"
5621
  msgstr ""
5622
 
5623
- #: includes/core/class-builtin.php:1654
5624
  msgid "Guadeloupe"
5625
  msgstr ""
5626
 
5627
- #: includes/core/class-builtin.php:1655
5628
  msgid "Guam"
5629
  msgstr ""
5630
 
5631
- #: includes/core/class-builtin.php:1656
5632
  msgid "Guatemala"
5633
  msgstr ""
5634
 
5635
- #: includes/core/class-builtin.php:1657
5636
  msgid "Guernsey"
5637
  msgstr ""
5638
 
5639
- #: includes/core/class-builtin.php:1658
5640
  msgid "Guinea"
5641
  msgstr ""
5642
 
5643
- #: includes/core/class-builtin.php:1659
5644
  msgid "Guinea-Bissau"
5645
  msgstr ""
5646
 
5647
- #: includes/core/class-builtin.php:1660
5648
  msgid "Guyana"
5649
  msgstr ""
5650
 
5651
- #: includes/core/class-builtin.php:1661
5652
  msgid "Haiti"
5653
  msgstr ""
5654
 
5655
- #: includes/core/class-builtin.php:1662
5656
  msgid "Heard Island and McDonald Islands"
5657
  msgstr ""
5658
 
5659
- #: includes/core/class-builtin.php:1663
5660
  msgid "Holy See (Vatican City State)"
5661
  msgstr ""
5662
 
5663
- #: includes/core/class-builtin.php:1664
5664
  msgid "Honduras"
5665
  msgstr ""
5666
 
5667
- #: includes/core/class-builtin.php:1665
5668
  msgid "Hong Kong"
5669
  msgstr ""
5670
 
5671
- #: includes/core/class-builtin.php:1666
5672
  msgid "Hungary"
5673
  msgstr ""
5674
 
5675
- #: includes/core/class-builtin.php:1667
5676
  msgid "Iceland"
5677
  msgstr ""
5678
 
5679
- #: includes/core/class-builtin.php:1668
5680
  msgid "India"
5681
  msgstr ""
5682
 
5683
- #: includes/core/class-builtin.php:1669
5684
  msgid "Indonesia"
5685
  msgstr ""
5686
 
5687
- #: includes/core/class-builtin.php:1670
5688
  msgid "Iran, Islamic Republic of"
5689
  msgstr ""
5690
 
5691
- #: includes/core/class-builtin.php:1671
5692
  msgid "Iraq"
5693
  msgstr ""
5694
 
5695
- #: includes/core/class-builtin.php:1672
5696
  msgid "Ireland"
5697
  msgstr ""
5698
 
5699
- #: includes/core/class-builtin.php:1673
5700
  msgid "Isle of Man"
5701
  msgstr ""
5702
 
5703
- #: includes/core/class-builtin.php:1674
5704
  msgid "Israel"
5705
  msgstr ""
5706
 
5707
- #: includes/core/class-builtin.php:1675
5708
  msgid "Italy"
5709
  msgstr ""
5710
 
5711
- #: includes/core/class-builtin.php:1676
5712
  msgid "Jamaica"
5713
  msgstr ""
5714
 
5715
- #: includes/core/class-builtin.php:1677
5716
  msgid "Japan"
5717
  msgstr ""
5718
 
5719
- #: includes/core/class-builtin.php:1678
5720
  msgid "Jersey"
5721
  msgstr ""
5722
 
5723
- #: includes/core/class-builtin.php:1679
5724
  msgid "Jordan"
5725
  msgstr ""
5726
 
5727
- #: includes/core/class-builtin.php:1680
5728
  msgid "Kazakhstan"
5729
  msgstr ""
5730
 
5731
- #: includes/core/class-builtin.php:1681
5732
  msgid "Kenya"
5733
  msgstr ""
5734
 
5735
- #: includes/core/class-builtin.php:1682
5736
  msgid "Kiribati"
5737
  msgstr ""
5738
 
5739
- #: includes/core/class-builtin.php:1683
5740
  msgid "Korea, Democratic People's Republic of"
5741
  msgstr ""
5742
 
5743
- #: includes/core/class-builtin.php:1684
5744
  msgid "Korea, Republic of"
5745
  msgstr ""
5746
 
5747
- #: includes/core/class-builtin.php:1685
5748
  msgid "Kuwait"
5749
  msgstr ""
5750
 
5751
- #: includes/core/class-builtin.php:1686
5752
  msgid "Kyrgyzstan"
5753
  msgstr ""
5754
 
5755
- #: includes/core/class-builtin.php:1687
5756
  msgid "Lao People's Democratic Republic"
5757
  msgstr ""
5758
 
5759
- #: includes/core/class-builtin.php:1688
5760
  msgid "Latvia"
5761
  msgstr ""
5762
 
5763
- #: includes/core/class-builtin.php:1689
5764
  msgid "Lebanon"
5765
  msgstr ""
5766
 
5767
- #: includes/core/class-builtin.php:1690
5768
  msgid "Lesotho"
5769
  msgstr ""
5770
 
5771
- #: includes/core/class-builtin.php:1691
5772
  msgid "Liberia"
5773
  msgstr ""
5774
 
5775
- #: includes/core/class-builtin.php:1692
5776
  msgid "Libyan Arab Jamahiriya"
5777
  msgstr ""
5778
 
5779
- #: includes/core/class-builtin.php:1693
5780
  msgid "Liechtenstein"
5781
  msgstr ""
5782
 
5783
- #: includes/core/class-builtin.php:1694
5784
  msgid "Lithuania"
5785
  msgstr ""
5786
 
5787
- #: includes/core/class-builtin.php:1695
5788
  msgid "Luxembourg"
5789
  msgstr ""
5790
 
5791
- #: includes/core/class-builtin.php:1696
5792
  msgid "Macao"
5793
  msgstr ""
5794
 
5795
- #: includes/core/class-builtin.php:1697
5796
  msgid "Macedonia, the former Yugoslav Republic of"
5797
  msgstr ""
5798
 
5799
- #: includes/core/class-builtin.php:1698
5800
  msgid "Madagascar"
5801
  msgstr ""
5802
 
5803
- #: includes/core/class-builtin.php:1699
5804
  msgid "Malawi"
5805
  msgstr ""
5806
 
5807
- #: includes/core/class-builtin.php:1700
5808
  msgid "Malaysia"
5809
  msgstr ""
5810
 
5811
- #: includes/core/class-builtin.php:1701
5812
  msgid "Maldives"
5813
  msgstr ""
5814
 
5815
- #: includes/core/class-builtin.php:1702
5816
  msgid "Mali"
5817
  msgstr ""
5818
 
5819
- #: includes/core/class-builtin.php:1703
5820
  msgid "Malta"
5821
  msgstr ""
5822
 
5823
- #: includes/core/class-builtin.php:1704
5824
  msgid "Marshall Islands"
5825
  msgstr ""
5826
 
5827
- #: includes/core/class-builtin.php:1705
5828
  msgid "Martinique"
5829
  msgstr ""
5830
 
5831
- #: includes/core/class-builtin.php:1706
5832
  msgid "Mauritania"
5833
  msgstr ""
5834
 
5835
- #: includes/core/class-builtin.php:1707
5836
  msgid "Mauritius"
5837
  msgstr ""
5838
 
5839
- #: includes/core/class-builtin.php:1708
5840
  msgid "Mayotte"
5841
  msgstr ""
5842
 
5843
- #: includes/core/class-builtin.php:1709
5844
  msgid "Mexico"
5845
  msgstr ""
5846
 
5847
- #: includes/core/class-builtin.php:1710
5848
  msgid "Micronesia, Federated States of"
5849
  msgstr ""
5850
 
5851
- #: includes/core/class-builtin.php:1711
5852
  msgid "Moldova, Republic of"
5853
  msgstr ""
5854
 
5855
- #: includes/core/class-builtin.php:1712
5856
  msgid "Monaco"
5857
  msgstr ""
5858
 
5859
- #: includes/core/class-builtin.php:1713
5860
  msgid "Mongolia"
5861
  msgstr ""
5862
 
5863
- #: includes/core/class-builtin.php:1714
5864
  msgid "Montenegro"
5865
  msgstr ""
5866
 
5867
- #: includes/core/class-builtin.php:1715
5868
  msgid "Montserrat"
5869
  msgstr ""
5870
 
5871
- #: includes/core/class-builtin.php:1716
5872
  msgid "Morocco"
5873
  msgstr ""
5874
 
5875
- #: includes/core/class-builtin.php:1717
5876
  msgid "Mozambique"
5877
  msgstr ""
5878
 
5879
- #: includes/core/class-builtin.php:1718
5880
  msgid "Myanmar"
5881
  msgstr ""
5882
 
5883
- #: includes/core/class-builtin.php:1719
5884
  msgid "Namibia"
5885
  msgstr ""
5886
 
5887
- #: includes/core/class-builtin.php:1721
5888
  msgid "Nepal"
5889
  msgstr ""
5890
 
5891
- #: includes/core/class-builtin.php:1722
5892
  msgid "Netherlands"
5893
  msgstr ""
5894
 
5895
- #: includes/core/class-builtin.php:1723
5896
  msgid "Netherlands Antilles"
5897
  msgstr ""
5898
 
5899
- #: includes/core/class-builtin.php:1724
5900
  msgid "New Caledonia"
5901
  msgstr ""
5902
 
5903
- #: includes/core/class-builtin.php:1725
5904
  msgid "New Zealand"
5905
  msgstr ""
5906
 
5907
- #: includes/core/class-builtin.php:1726
5908
  msgid "Nicaragua"
5909
  msgstr ""
5910
 
5911
- #: includes/core/class-builtin.php:1727
5912
  msgid "Niger"
5913
  msgstr ""
5914
 
5915
- #: includes/core/class-builtin.php:1728
5916
  msgid "Nigeria"
5917
  msgstr ""
5918
 
5919
- #: includes/core/class-builtin.php:1729
5920
  msgid "Niue"
5921
  msgstr ""
5922
 
5923
- #: includes/core/class-builtin.php:1730
5924
  msgid "Norfolk Island"
5925
  msgstr ""
5926
 
5927
- #: includes/core/class-builtin.php:1731
5928
  msgid "Northern Mariana Islands"
5929
  msgstr ""
5930
 
5931
- #: includes/core/class-builtin.php:1732
5932
  msgid "Norway"
5933
  msgstr ""
5934
 
5935
- #: includes/core/class-builtin.php:1733
5936
  msgid "Oman"
5937
  msgstr ""
5938
 
5939
- #: includes/core/class-builtin.php:1734
5940
  msgid "Pakistan"
5941
  msgstr ""
5942
 
5943
- #: includes/core/class-builtin.php:1735
5944
  msgid "Palau"
5945
  msgstr ""
5946
 
5947
- #: includes/core/class-builtin.php:1736
5948
  msgid "Palestine"
5949
  msgstr ""
5950
 
5951
- #: includes/core/class-builtin.php:1737
5952
  msgid "Panama"
5953
  msgstr ""
5954
 
5955
- #: includes/core/class-builtin.php:1738
5956
  msgid "Papua New Guinea"
5957
  msgstr ""
5958
 
5959
- #: includes/core/class-builtin.php:1739
5960
  msgid "Paraguay"
5961
  msgstr ""
5962
 
5963
- #: includes/core/class-builtin.php:1740
5964
  msgid "Peru"
5965
  msgstr ""
5966
 
5967
- #: includes/core/class-builtin.php:1741
5968
  msgid "Philippines"
5969
  msgstr ""
5970
 
5971
- #: includes/core/class-builtin.php:1742
5972
  msgid "Pitcairn"
5973
  msgstr ""
5974
 
5975
- #: includes/core/class-builtin.php:1743
5976
  msgid "Poland"
5977
  msgstr ""
5978
 
5979
- #: includes/core/class-builtin.php:1744
5980
  msgid "Portugal"
5981
  msgstr ""
5982
 
5983
- #: includes/core/class-builtin.php:1745
5984
  msgid "Puerto Rico"
5985
  msgstr ""
5986
 
5987
- #: includes/core/class-builtin.php:1746
5988
  msgid "Qatar"
5989
  msgstr ""
5990
 
5991
- #: includes/core/class-builtin.php:1747
5992
  msgid "Réunion"
5993
  msgstr ""
5994
 
5995
- #: includes/core/class-builtin.php:1748
5996
  msgid "Romania"
5997
  msgstr ""
5998
 
5999
- #: includes/core/class-builtin.php:1749
6000
  msgid "Russian Federation"
6001
  msgstr ""
6002
 
6003
- #: includes/core/class-builtin.php:1750
6004
  msgid "Rwanda"
6005
  msgstr ""
6006
 
6007
- #: includes/core/class-builtin.php:1751
6008
  msgid "Saint Barthélemy"
6009
  msgstr ""
6010
 
6011
- #: includes/core/class-builtin.php:1752
6012
  msgid "Saint Helena"
6013
  msgstr ""
6014
 
6015
- #: includes/core/class-builtin.php:1753
6016
  msgid "Saint Kitts and Nevis"
6017
  msgstr ""
6018
 
6019
- #: includes/core/class-builtin.php:1754
6020
  msgid "Saint Lucia"
6021
  msgstr ""
6022
 
6023
- #: includes/core/class-builtin.php:1755
6024
  msgid "Saint Martin (French part)"
6025
  msgstr ""
6026
 
6027
- #: includes/core/class-builtin.php:1756
6028
  msgid "Saint Pierre and Miquelon"
6029
  msgstr ""
6030
 
6031
- #: includes/core/class-builtin.php:1757
6032
  msgid "Saint Vincent and the Grenadines"
6033
  msgstr ""
6034
 
6035
- #: includes/core/class-builtin.php:1758
6036
  msgid "Samoa"
6037
  msgstr ""
6038
 
6039
- #: includes/core/class-builtin.php:1759
6040
  msgid "San Marino"
6041
  msgstr ""
6042
 
6043
- #: includes/core/class-builtin.php:1760
6044
  msgid "Sao Tome and Principe"
6045
  msgstr ""
6046
 
6047
- #: includes/core/class-builtin.php:1761
6048
  msgid "Saudi Arabia"
6049
  msgstr ""
6050
 
6051
- #: includes/core/class-builtin.php:1762
6052
  msgid "Senegal"
6053
  msgstr ""
6054
 
6055
- #: includes/core/class-builtin.php:1763
6056
  msgid "Serbia"
6057
  msgstr ""
6058
 
6059
- #: includes/core/class-builtin.php:1764
6060
  msgid "Seychelles"
6061
  msgstr ""
6062
 
6063
- #: includes/core/class-builtin.php:1765
6064
  msgid "Sierra Leone"
6065
  msgstr ""
6066
 
6067
- #: includes/core/class-builtin.php:1766
6068
  msgid "Singapore"
6069
  msgstr ""
6070
 
6071
- #: includes/core/class-builtin.php:1767
6072
  msgid "Slovakia"
6073
  msgstr ""
6074
 
6075
- #: includes/core/class-builtin.php:1768
6076
  msgid "Slovenia"
6077
  msgstr ""
6078
 
6079
- #: includes/core/class-builtin.php:1769
6080
  msgid "Solomon Islands"
6081
  msgstr ""
6082
 
6083
- #: includes/core/class-builtin.php:1770
6084
  msgid "Somalia"
6085
  msgstr ""
6086
 
6087
- #: includes/core/class-builtin.php:1771
6088
  msgid "South Africa"
6089
  msgstr ""
6090
 
6091
- #: includes/core/class-builtin.php:1772
6092
  msgid "South Georgia and the South Sandwich Islands"
6093
  msgstr ""
6094
 
6095
- #: includes/core/class-builtin.php:1773
6096
  msgid "South Sudan"
6097
  msgstr ""
6098
 
6099
- #: includes/core/class-builtin.php:1774
6100
  msgid "Spain"
6101
  msgstr ""
6102
 
6103
- #: includes/core/class-builtin.php:1775
6104
  msgid "Sri Lanka"
6105
  msgstr ""
6106
 
6107
- #: includes/core/class-builtin.php:1776
6108
  msgid "Sudan"
6109
  msgstr ""
6110
 
6111
- #: includes/core/class-builtin.php:1777
6112
  msgid "Suriname"
6113
  msgstr ""
6114
 
6115
- #: includes/core/class-builtin.php:1778
6116
  msgid "Svalbard and Jan Mayen"
6117
  msgstr ""
6118
 
6119
- #: includes/core/class-builtin.php:1779
6120
  msgid "Swaziland"
6121
  msgstr ""
6122
 
6123
- #: includes/core/class-builtin.php:1780
6124
  msgid "Sweden"
6125
  msgstr ""
6126
 
6127
- #: includes/core/class-builtin.php:1781
6128
  msgid "Switzerland"
6129
  msgstr ""
6130
 
6131
- #: includes/core/class-builtin.php:1782
6132
  msgid "Syrian Arab Republic"
6133
  msgstr ""
6134
 
6135
- #: includes/core/class-builtin.php:1783
6136
  msgid "Taiwan, Province of China"
6137
  msgstr ""
6138
 
6139
- #: includes/core/class-builtin.php:1784
6140
  msgid "Tajikistan"
6141
  msgstr ""
6142
 
6143
- #: includes/core/class-builtin.php:1785
6144
  msgid "Tanzania, United Republic of"
6145
  msgstr ""
6146
 
6147
- #: includes/core/class-builtin.php:1786
6148
  msgid "Thailand"
6149
  msgstr ""
6150
 
6151
- #: includes/core/class-builtin.php:1787
6152
  msgid "Timor-Leste"
6153
  msgstr ""
6154
 
6155
- #: includes/core/class-builtin.php:1788
6156
  msgid "Togo"
6157
  msgstr ""
6158
 
6159
- #: includes/core/class-builtin.php:1789
6160
  msgid "Tokelau"
6161
  msgstr ""
6162
 
6163
- #: includes/core/class-builtin.php:1791
6164
  msgid "Trinidad and Tobago"
6165
  msgstr ""
6166
 
6167
- #: includes/core/class-builtin.php:1792
6168
  msgid "Tunisia"
6169
  msgstr ""
6170
 
6171
- #: includes/core/class-builtin.php:1793
6172
  msgid "Turkey"
6173
  msgstr ""
6174
 
6175
- #: includes/core/class-builtin.php:1794
6176
  msgid "Turkmenistan"
6177
  msgstr ""
6178
 
6179
- #: includes/core/class-builtin.php:1795
6180
  msgid "Turks and Caicos Islands"
6181
  msgstr ""
6182
 
6183
- #: includes/core/class-builtin.php:1796
6184
  msgid "Tuvalu"
6185
  msgstr ""
6186
 
6187
- #: includes/core/class-builtin.php:1797
6188
  msgid "Uganda"
6189
  msgstr ""
6190
 
6191
- #: includes/core/class-builtin.php:1798
6192
  msgid "Ukraine"
6193
  msgstr ""
6194
 
6195
- #: includes/core/class-builtin.php:1799
6196
  msgid "United Arab Emirates"
6197
  msgstr ""
6198
 
6199
- #: includes/core/class-builtin.php:1800
6200
  msgid "United Kingdom"
6201
  msgstr ""
6202
 
6203
- #: includes/core/class-builtin.php:1801
6204
  msgid "United States"
6205
  msgstr ""
6206
 
6207
- #: includes/core/class-builtin.php:1802
6208
  msgid "United States Minor Outlying Islands"
6209
  msgstr ""
6210
 
6211
- #: includes/core/class-builtin.php:1803
6212
  msgid "Uruguay"
6213
  msgstr ""
6214
 
6215
- #: includes/core/class-builtin.php:1804
6216
  msgid "Uzbekistan"
6217
  msgstr ""
6218
 
6219
- #: includes/core/class-builtin.php:1805
6220
  msgid "Vanuatu"
6221
  msgstr ""
6222
 
6223
- #: includes/core/class-builtin.php:1806
6224
  msgid "Venezuela, Bolivarian Republic of"
6225
  msgstr ""
6226
 
6227
- #: includes/core/class-builtin.php:1807
6228
  msgid "Viet Nam"
6229
  msgstr ""
6230
 
6231
- #: includes/core/class-builtin.php:1808
6232
  msgid "Virgin Islands, British"
6233
  msgstr ""
6234
 
6235
- #: includes/core/class-builtin.php:1809
6236
  msgid "Virgin Islands, U.S."
6237
  msgstr ""
6238
 
6239
- #: includes/core/class-builtin.php:1810
6240
  msgid "Wallis and Futuna"
6241
  msgstr ""
6242
 
6243
- #: includes/core/class-builtin.php:1811
6244
  msgid "Western Sahara"
6245
  msgstr ""
6246
 
6247
- #: includes/core/class-builtin.php:1812
6248
  msgid "Yemen"
6249
  msgstr ""
6250
 
6251
- #: includes/core/class-builtin.php:1813
6252
  msgid "Zambia"
6253
  msgstr ""
6254
 
6255
- #: includes/core/class-builtin.php:1814
6256
  msgid "Zimbabwe"
6257
  msgstr ""
6258
 
@@ -6353,89 +6821,105 @@ msgstr ""
6353
  msgid "Add translation to %s"
6354
  msgstr ""
6355
 
6356
- #: includes/core/class-fields.php:1207 templates/message.php:7
 
 
 
 
6357
  #, php-format
6358
  msgid "%s"
6359
  msgstr ""
6360
 
6361
- #: includes/core/class-fields.php:1226
6362
  msgid "Custom Field"
6363
  msgstr ""
6364
 
6365
- #: includes/core/class-fields.php:1523
6366
  msgid "Please upload a valid image!"
6367
  msgstr ""
6368
 
6369
- #: includes/core/class-fields.php:1530 includes/core/class-fields.php:1551
6370
- msgid "Upload"
6371
- msgstr ""
6372
-
6373
- #: includes/core/class-fields.php:1531
6374
  msgid "Sorry this is not a valid image."
6375
  msgstr ""
6376
 
6377
- #: includes/core/class-fields.php:1532
6378
  msgid "This image is too large!"
6379
  msgstr ""
6380
 
6381
- #: includes/core/class-fields.php:1533
6382
  msgid "This image is too small!"
6383
  msgstr ""
6384
 
6385
- #: includes/core/class-fields.php:1534
6386
  msgid "You can only upload one image"
6387
  msgstr ""
6388
 
6389
- #: includes/core/class-fields.php:2002
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6390
  msgid "Current Password"
6391
  msgstr ""
6392
 
6393
- #: includes/core/class-fields.php:2031
6394
  msgid "New Password"
6395
  msgstr ""
6396
 
6397
- #: includes/core/class-fields.php:2063
6398
  #, php-format
6399
  msgid "Confirm %s"
6400
  msgstr ""
6401
 
6402
- #: includes/core/class-fields.php:2298
6403
  msgid "Upload Photo"
6404
  msgstr ""
6405
 
6406
- #: includes/core/class-fields.php:2319 includes/core/class-fields.php:2343
6407
- #: includes/core/um-actions-profile.php:814
6408
  msgid "Change photo"
6409
  msgstr ""
6410
 
6411
- #: includes/core/class-fields.php:2343 includes/core/class-fields.php:2440
6412
  msgid "Processing..."
6413
  msgstr ""
6414
 
6415
- #: includes/core/class-fields.php:2365
6416
  msgid "Upload File"
6417
  msgstr ""
6418
 
6419
- #: includes/core/class-fields.php:2407 includes/core/um-filters-fields.php:243
6420
  msgid "This file has been removed."
6421
  msgstr ""
6422
 
6423
- #: includes/core/class-fields.php:2410 includes/core/class-fields.php:2440
6424
  msgid "Change file"
6425
  msgstr ""
6426
 
6427
- #: includes/core/class-fields.php:2440
6428
  msgid "Save"
6429
  msgstr ""
6430
 
6431
- #: includes/core/class-fields.php:3862
6432
  #, php-format
6433
  msgid ""
6434
  "Your profile is looking a little empty. Why not <a href=\"%s\">add</a> some "
6435
  "information!"
6436
  msgstr ""
6437
 
6438
- #: includes/core/class-fields.php:3864
6439
  msgid "This user has not added any information to their profile yet."
6440
  msgstr ""
6441
 
@@ -6472,12 +6956,12 @@ msgid "Unauthorized to do this attempt."
6472
  msgstr ""
6473
 
6474
  #: includes/core/class-form.php:58 includes/core/class-profile.php:56
6475
- #: includes/core/class-profile.php:74
6476
  msgid "You can not edit this user"
6477
  msgstr ""
6478
 
6479
  #: includes/core/class-mail.php:612 includes/core/class-password.php:701
6480
- #: includes/core/class-profile.php:463
6481
  msgid "Your set password"
6482
  msgstr ""
6483
 
@@ -6499,16 +6983,16 @@ msgstr ""
6499
  msgid "You must enter a new password"
6500
  msgstr ""
6501
 
6502
- #: includes/core/class-password.php:543 includes/core/um-actions-account.php:59
6503
  msgid "Your password must contain at least 8 characters"
6504
  msgstr ""
6505
 
6506
- #: includes/core/class-password.php:547 includes/core/um-actions-account.php:63
6507
  msgid "Your password must contain less than 30 characters"
6508
  msgstr ""
6509
 
6510
- #: includes/core/class-password.php:551 includes/core/um-actions-account.php:67
6511
- #: includes/core/um-actions-form.php:476
6512
  msgid ""
6513
  "Your password must contain at least one lowercase letter, one capital letter "
6514
  "and one number"
@@ -6518,7 +7002,7 @@ msgstr ""
6518
  msgid "You must confirm your new password"
6519
  msgstr ""
6520
 
6521
- #: includes/core/class-password.php:561 includes/core/um-actions-form.php:485
6522
  msgid "Your passwords do not match"
6523
  msgstr ""
6524
 
@@ -6539,35 +7023,35 @@ msgstr ""
6539
  msgid "https://wordpress.org/support/"
6540
  msgstr ""
6541
 
6542
- #: includes/core/class-profile.php:87
6543
  msgid "Anyone"
6544
  msgstr ""
6545
 
6546
- #: includes/core/class-profile.php:88
6547
  msgid "Guests only"
6548
  msgstr ""
6549
 
6550
- #: includes/core/class-profile.php:89
6551
  msgid "Members only"
6552
  msgstr ""
6553
 
6554
- #: includes/core/class-profile.php:90
6555
  msgid "Only the owner"
6556
  msgstr ""
6557
 
6558
- #: includes/core/class-profile.php:91
6559
  msgid "Specific roles"
6560
  msgstr ""
6561
 
6562
- #: includes/core/class-profile.php:128
6563
  msgid "About"
6564
  msgstr ""
6565
 
6566
- #: includes/core/class-profile.php:132
6567
  msgid "Posts"
6568
  msgstr ""
6569
 
6570
- #: includes/core/class-profile.php:136
6571
  msgid "Comments"
6572
  msgstr ""
6573
 
@@ -6611,19 +7095,19 @@ msgstr ""
6611
  msgid "Maximum file size allowed: %s"
6612
  msgstr ""
6613
 
6614
- #: includes/core/class-user.php:618
6615
  msgid "Ultimate Member Role"
6616
  msgstr ""
6617
 
6618
- #: includes/core/class-user.php:621
6619
  msgid "&mdash; No role for Ultimate Member &mdash;"
6620
  msgstr ""
6621
 
6622
- #: includes/core/class-user.php:836
6623
  msgid "Membership Rejected"
6624
  msgstr ""
6625
 
6626
- #: includes/core/class-user.php:840
6627
  msgid "Membership Inactive"
6628
  msgstr ""
6629
 
@@ -6684,50 +7168,50 @@ msgstr ""
6684
  msgid "Invalid query!"
6685
  msgstr ""
6686
 
6687
- #: includes/core/um-actions-account.php:17
6688
  msgid "Are you hacking? Please try again!"
6689
  msgstr ""
6690
 
6691
- #: includes/core/um-actions-account.php:27
6692
- #: includes/core/um-actions-account.php:115
6693
  msgid "You must enter your password"
6694
  msgstr ""
6695
 
6696
- #: includes/core/um-actions-account.php:30
6697
- #: includes/core/um-actions-account.php:47
6698
- #: includes/core/um-actions-account.php:118
6699
  msgid "This is not your password"
6700
  msgstr ""
6701
 
6702
- #: includes/core/um-actions-account.php:52
6703
  msgid "Your new password does not match"
6704
  msgstr ""
6705
 
6706
- #: includes/core/um-actions-account.php:85
6707
  msgid "Your username is invalid"
6708
  msgstr ""
6709
 
6710
- #: includes/core/um-actions-account.php:90
6711
  msgid "You must provide your first name"
6712
  msgstr ""
6713
 
6714
- #: includes/core/um-actions-account.php:94
6715
  msgid "You must provide your last name"
6716
  msgstr ""
6717
 
6718
- #: includes/core/um-actions-account.php:100
6719
  msgid "You must provide your e-mail"
6720
  msgstr ""
6721
 
6722
- #: includes/core/um-actions-account.php:104
6723
  msgid "Please provide a valid e-mail"
6724
  msgstr ""
6725
 
6726
- #: includes/core/um-actions-account.php:108
6727
  msgid "Email already linked to another account"
6728
  msgstr ""
6729
 
6730
- #: includes/core/um-actions-account.php:421
6731
  msgid "Email me when"
6732
  msgstr ""
6733
 
@@ -6749,136 +7233,136 @@ msgstr ""
6749
  msgid "You are not allowed to use this word as your username."
6750
  msgstr ""
6751
 
6752
- #: includes/core/um-actions-form.php:276 includes/core/um-actions-form.php:394
6753
- #: includes/core/um-actions-form.php:398 includes/core/um-actions-form.php:402
6754
  #, php-format
6755
  msgid "%s is required."
6756
  msgstr ""
6757
 
6758
- #: includes/core/um-actions-form.php:407
6759
  msgid "Please specify account type."
6760
  msgstr ""
6761
 
6762
- #: includes/core/um-actions-form.php:439
6763
  msgid "This field is required"
6764
  msgstr ""
6765
 
6766
- #: includes/core/um-actions-form.php:441
6767
  #, php-format
6768
  msgid "%s is required"
6769
  msgstr ""
6770
 
6771
- #: includes/core/um-actions-form.php:448
6772
  #, php-format
6773
  msgid "You are only allowed to enter a maximum of %s words"
6774
  msgstr ""
6775
 
6776
- #: includes/core/um-actions-form.php:454
6777
  #, php-format
6778
  msgid "Your %s must contain at least %s characters"
6779
  msgstr ""
6780
 
6781
- #: includes/core/um-actions-form.php:460
6782
  #, php-format
6783
  msgid "Your %s must contain less than %s characters"
6784
  msgstr ""
6785
 
6786
- #: includes/core/um-actions-form.php:469
6787
  msgid "You can not use HTML tags here"
6788
  msgstr ""
6789
 
6790
- #: includes/core/um-actions-form.php:482
6791
  msgid "Please confirm your password"
6792
  msgstr ""
6793
 
6794
- #: includes/core/um-actions-form.php:491
6795
  #, php-format
6796
  msgid "Please select at least %s choices"
6797
  msgstr ""
6798
 
6799
- #: includes/core/um-actions-form.php:497
6800
  #, php-format
6801
  msgid "You can only select up to %s choices"
6802
  msgstr ""
6803
 
6804
- #: includes/core/um-actions-form.php:503
6805
  #, php-format
6806
  msgid "Minimum number limit is %s"
6807
  msgstr ""
6808
 
6809
- #: includes/core/um-actions-form.php:509
6810
  #, php-format
6811
  msgid "Maximum number limit is %s"
6812
  msgstr ""
6813
 
6814
- #: includes/core/um-actions-form.php:545
6815
  msgid "Please enter numbers only in this field"
6816
  msgstr ""
6817
 
6818
- #: includes/core/um-actions-form.php:551
6819
  msgid "Please enter a valid phone number"
6820
  msgstr ""
6821
 
6822
- #: includes/core/um-actions-form.php:557 includes/core/um-actions-form.php:563
6823
- #: includes/core/um-actions-form.php:569 includes/core/um-actions-form.php:575
6824
- #: includes/core/um-actions-form.php:581 includes/core/um-actions-form.php:587
6825
- #: includes/core/um-actions-form.php:593 includes/core/um-actions-form.php:599
6826
- #: includes/core/um-actions-form.php:611
6827
  #, php-format
6828
  msgid "Please enter a valid %s username or profile URL"
6829
  msgstr ""
6830
 
6831
- #: includes/core/um-actions-form.php:605
6832
  msgid "Please enter a valid URL"
6833
  msgstr ""
6834
 
6835
- #: includes/core/um-actions-form.php:618 includes/core/um-actions-form.php:632
6836
  msgid "You must provide a username"
6837
  msgstr ""
6838
 
6839
- #: includes/core/um-actions-form.php:620 includes/core/um-actions-form.php:634
6840
  msgid "Your username is already taken"
6841
  msgstr ""
6842
 
6843
- #: includes/core/um-actions-form.php:622
6844
  msgid "Username cannot be an email"
6845
  msgstr ""
6846
 
6847
- #: includes/core/um-actions-form.php:624 includes/core/um-actions-form.php:638
6848
  msgid "Your username contains invalid characters"
6849
  msgstr ""
6850
 
6851
- #: includes/core/um-actions-form.php:636 includes/core/um-actions-form.php:658
6852
- #: includes/core/um-actions-form.php:660 includes/core/um-actions-form.php:672
6853
- #: includes/core/um-actions-form.php:679
6854
  msgid "This email is already linked to an existing account"
6855
  msgstr ""
6856
 
6857
- #: includes/core/um-actions-form.php:656
6858
  msgid "You must provide your email"
6859
  msgstr ""
6860
 
6861
- #: includes/core/um-actions-form.php:662 includes/core/um-actions-form.php:670
6862
  msgid "This is not a valid email"
6863
  msgstr ""
6864
 
6865
- #: includes/core/um-actions-form.php:664
6866
  msgid "Your email contains invalid characters"
6867
  msgstr ""
6868
 
6869
- #: includes/core/um-actions-form.php:704
6870
  msgid "You must provide a unique value"
6871
  msgstr ""
6872
 
6873
- #: includes/core/um-actions-form.php:714
6874
  msgid "You must provide alphabetic letters"
6875
  msgstr ""
6876
 
6877
- #: includes/core/um-actions-form.php:724
6878
  msgid "You must provide lowercase letters."
6879
  msgstr ""
6880
 
6881
- #: includes/core/um-actions-form.php:743
6882
  #, php-format
6883
  msgid "Your user description must contain less than %s characters"
6884
  msgstr ""
@@ -6899,23 +7383,23 @@ msgstr ""
6899
  msgid "Please enter your email"
6900
  msgstr ""
6901
 
6902
- #: includes/core/um-actions-login.php:59
6903
  msgid "Please enter your password"
6904
  msgstr ""
6905
 
6906
- #: includes/core/um-actions-login.php:66
6907
  msgid "Password is incorrect. Please try again."
6908
  msgstr ""
6909
 
6910
- #: includes/core/um-actions-login.php:196
6911
  msgid "This action has been prevented for security measures."
6912
  msgstr ""
6913
 
6914
- #: includes/core/um-actions-login.php:420
6915
  msgid "Keep me signed in"
6916
  msgstr ""
6917
 
6918
- #: includes/core/um-actions-login.php:464
6919
  msgid "Forgot your password?"
6920
  msgstr ""
6921
 
@@ -6927,28 +7411,28 @@ msgstr ""
6927
  msgid "Reset"
6928
  msgstr ""
6929
 
6930
- #: includes/core/um-actions-members.php:159
6931
  msgid "Jump to page:"
6932
  msgstr ""
6933
 
6934
- #: includes/core/um-actions-members.php:164
6935
  #, php-format
6936
  msgid "%s of %d"
6937
  msgstr ""
6938
 
6939
- #: includes/core/um-actions-members.php:174
6940
  msgid "First Page"
6941
  msgstr ""
6942
 
6943
- #: includes/core/um-actions-members.php:180
6944
  msgid "Previous"
6945
  msgstr ""
6946
 
6947
- #: includes/core/um-actions-members.php:200
6948
  msgid "Next"
6949
  msgstr ""
6950
 
6951
- #: includes/core/um-actions-members.php:206
6952
  msgid "Last Page"
6953
  msgstr ""
6954
 
@@ -7000,48 +7484,48 @@ msgstr ""
7000
  msgid "Your membership request has been rejected."
7001
  msgstr ""
7002
 
7003
- #: includes/core/um-actions-profile.php:192
7004
  msgid "You are not allowed to edit this user."
7005
  msgstr ""
7006
 
7007
- #: includes/core/um-actions-profile.php:308
7008
  #, php-format
7009
  msgid "Your choosed %s"
7010
  msgstr ""
7011
 
7012
- #: includes/core/um-actions-profile.php:623
7013
- #: includes/core/um-actions-profile.php:639
7014
- #: includes/core/um-actions-profile.php:679
7015
  msgid "Upload a cover photo"
7016
  msgstr ""
7017
 
7018
- #: includes/core/um-actions-profile.php:623
7019
  msgid "Change cover photo"
7020
  msgstr ""
7021
 
7022
- #: includes/core/um-actions-profile.php:782
7023
  msgid "Upload photo"
7024
  msgstr ""
7025
 
7026
- #: includes/core/um-actions-profile.php:815
7027
  msgid "Remove photo"
7028
  msgstr ""
7029
 
7030
- #: includes/core/um-actions-profile.php:977
7031
  msgid "Tell us a bit about yourself..."
7032
  msgstr ""
7033
 
7034
- #: includes/core/um-actions-profile.php:993
7035
  #, php-format
7036
  msgid "This user account status is %s"
7037
  msgstr ""
7038
 
7039
- #: includes/core/um-actions-profile.php:1132
7040
- #: includes/core/um-actions-profile.php:1163
7041
  msgid "Edit Profile"
7042
  msgstr ""
7043
 
7044
- #: includes/core/um-actions-profile.php:1164
7045
  msgid "My Account"
7046
  msgstr ""
7047
 
@@ -7049,16 +7533,16 @@ msgstr ""
7049
  msgid "Your account"
7050
  msgstr ""
7051
 
7052
- #: includes/core/um-filters-fields.php:33
7053
  msgid "Invalid soundcloud track ID"
7054
  msgstr ""
7055
 
7056
- #: includes/core/um-filters-fields.php:117
7057
  #, php-format
7058
  msgid "Joined %s"
7059
  msgstr ""
7060
 
7061
- #: includes/core/um-filters-fields.php:274
7062
  msgid "Untitled photo"
7063
  msgstr ""
7064
 
@@ -7083,11 +7567,11 @@ msgstr ""
7083
  msgid "Login as this user"
7084
  msgstr ""
7085
 
7086
- #: includes/um-short-functions.php:741
7087
  msgid "date submitted"
7088
  msgstr ""
7089
 
7090
- #: includes/um-short-functions.php:747
7091
  msgid "(empty)"
7092
  msgstr ""
7093
 
@@ -7103,10 +7587,6 @@ msgstr ""
7103
  msgid "Search Users"
7104
  msgstr ""
7105
 
7106
- #: includes/widgets/class-um-search-widget.php:81
7107
- msgid "Title:"
7108
- msgstr ""
7109
-
7110
  #: templates/members-grid.php:83
7111
  msgid "Edit profile"
7112
  msgstr ""
@@ -7145,15 +7625,15 @@ msgstr ""
7145
  msgid "On <a href=\"%1$s\">%2$s</a>"
7146
  msgstr ""
7147
 
7148
- #: templates/profile/comments-single.php:34 templates/profile/comments.php:17
7149
  msgid "load more comments"
7150
  msgstr ""
7151
 
7152
- #: templates/profile/comments.php:28
7153
  msgid "You have not made any comments."
7154
  msgstr ""
7155
 
7156
- #: templates/profile/comments.php:28
7157
  msgid "This user has not made any comments."
7158
  msgstr ""
7159
 
@@ -7179,15 +7659,15 @@ msgstr ""
7179
  msgid "1 comment"
7180
  msgstr ""
7181
 
7182
- #: templates/profile/posts.php:23
7183
  msgid "load more posts"
7184
  msgstr ""
7185
 
7186
- #: templates/profile/posts.php:34
7187
  msgid "You have not created any posts."
7188
  msgstr ""
7189
 
7190
- #: templates/profile/posts.php:34
7191
  msgid "This user has not created any posts."
7192
  msgstr ""
7193
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Ultimate Member\n"
4
+ "POT-Creation-Date: 2019-08-21 16:04+0300\n"
5
+ "PO-Revision-Date: 2019-08-21 16:04+0300\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:1227
39
  msgid "Settings"
40
  msgstr ""
41
 
75
  msgid "Form draft updated."
76
  msgstr ""
77
 
78
+ #: includes/admin/core/class-admin-builder.php:207
79
  msgid "Manage conditional fields support"
80
  msgstr ""
81
 
82
+ #: includes/admin/core/class-admin-builder.php:207
83
+ #: includes/admin/core/class-admin-builder.php:209
84
  msgid ""
85
  "Here you can setup conditional logic to show/hide this field based on "
86
  "specific fields value or conditions"
87
  msgstr ""
88
 
89
+ #: includes/admin/core/class-admin-builder.php:209
90
  msgid "Add conditional fields support"
91
  msgstr ""
92
 
93
+ #: includes/admin/core/class-admin-builder.php:224
94
  msgid "Add new rule"
95
  msgstr ""
96
 
97
+ #: includes/admin/core/class-admin-builder.php:225
98
  msgid "Reset all rules"
99
  msgstr ""
100
 
101
+ #: includes/admin/core/class-admin-builder.php:278
102
+ #: includes/admin/core/class-admin-builder.php:600
103
+ #: includes/admin/core/class-admin-builder.php:759
104
+ #: includes/admin/core/class-admin-dragdrop.php:33
105
+ #: includes/admin/core/class-admin-menu.php:106
106
+ #: includes/core/class-fields.php:4283
107
  msgid "Please login as administrator"
108
  msgstr ""
109
 
110
+ #: includes/admin/core/class-admin-builder.php:387
111
+ #: includes/admin/core/class-admin-builder.php:457
112
+ #: includes/admin/core/class-admin-dragdrop.php:165
113
  msgid "Add Row"
114
  msgstr ""
115
 
116
+ #: includes/admin/core/class-admin-builder.php:388
117
+ #: includes/admin/core/class-admin-builder.php:458
118
+ #: includes/admin/core/class-admin-dragdrop.php:166
119
  msgid "Edit Row"
120
  msgstr ""
121
 
122
+ #: includes/admin/core/class-admin-builder.php:461
123
+ #: includes/admin/core/class-admin-dragdrop.php:168
124
+ #: includes/admin/core/class-admin-dragdrop.php:183
125
+ #: includes/admin/core/class-admin-dragdrop.php:208
126
  msgid "Delete Row"
127
  msgstr ""
128
 
129
+ #: includes/admin/core/class-admin-builder.php:825
130
  msgid "Search Icons..."
131
  msgstr ""
132
 
133
+ #: includes/admin/core/class-admin-builder.php:845
134
  msgid "Setup New Field"
135
  msgstr ""
136
 
137
+ #: includes/admin/core/class-admin-builder.php:862
138
  msgid "Predefined Fields"
139
  msgstr ""
140
 
141
+ #: includes/admin/core/class-admin-builder.php:875
142
+ #: includes/core/class-builtin.php:1328
143
  msgid "None"
144
  msgstr ""
145
 
146
+ #: includes/admin/core/class-admin-builder.php:880
147
  msgid "Custom Fields"
148
  msgstr ""
149
 
150
+ #: includes/admin/core/class-admin-builder.php:891
151
  msgid "You did not create any custom fields"
152
  msgstr ""
153
 
154
+ #: includes/admin/core/class-admin-builder.php:923
155
+ #: includes/admin/core/class-admin-builder.php:995
156
  msgid "This field type is not setup correcty."
157
  msgstr ""
158
 
159
+ #: includes/admin/core/class-admin-builder.php:1140
160
  #: includes/core/class-form.php:155 includes/core/class-form.php:328
161
  #: includes/core/class-password.php:533
162
  msgid "This is not possible for security reasons."
163
  msgstr ""
164
 
165
+ #: includes/admin/core/class-admin-columns.php:50
166
  msgid "Status"
167
  msgstr ""
168
 
169
+ #: includes/admin/core/class-admin-columns.php:102
170
  msgid "Duplicate"
171
  msgstr ""
172
 
 
 
 
 
 
 
173
  #: includes/admin/core/class-admin-columns.php:131
174
  #: includes/admin/core/class-admin-columns.php:151
175
+ #: includes/admin/core/class-admin-metabox.php:2079
176
+ #: includes/admin/templates/role/role-edit.php:190
177
+ #: includes/widgets/class-um-search-widget.php:81
178
+ msgid "Title"
179
  msgstr ""
180
 
181
  #: includes/admin/core/class-admin-columns.php:132
182
+ #: includes/admin/core/class-admin-columns.php:152
183
+ msgid "ID"
184
  msgstr ""
185
 
186
  #: includes/admin/core/class-admin-columns.php:133
187
+ msgid "Type"
 
 
 
 
 
188
  msgstr ""
189
 
190
  #: includes/admin/core/class-admin-columns.php:134
191
  #: includes/admin/core/class-admin-columns.php:153
192
+ #: includes/admin/core/class-admin-settings.php:451
193
+ #: includes/admin/templates/form/login_settings.php:16
194
+ #: includes/admin/templates/form/register_customize.php:6
195
+ #: includes/admin/templates/form/register_customize.php:32
196
+ msgid "Default"
197
  msgstr ""
198
 
199
  #: includes/admin/core/class-admin-columns.php:135
200
  #: includes/admin/core/class-admin-columns.php:154
201
+ #: includes/admin/core/class-admin-metabox.php:782
202
+ #: includes/admin/core/class-admin-metabox.php:943
203
+ msgid "Shortcode"
204
+ msgstr ""
205
+
206
+ #: includes/admin/core/class-admin-columns.php:136
207
+ #: includes/admin/core/class-admin-columns.php:155
208
  msgid "Date"
209
  msgstr ""
210
 
211
+ #: includes/admin/core/class-admin-columns.php:186
212
+ #: includes/admin/core/class-admin-columns.php:219
213
+ #: includes/admin/core/list-tables/roles-list-table.php:371
214
+ #: includes/admin/core/list-tables/roles-list-table.php:379
215
+ #: includes/admin/templates/form/login_customize.php:16
216
+ #: includes/admin/templates/form/login_customize.php:64
217
+ #: includes/admin/templates/form/login_customize.php:83
218
+ #: includes/admin/templates/form/login_customize.php:94
219
+ #: includes/admin/templates/form/profile_customize.php:25
220
+ #: includes/admin/templates/form/profile_customize.php:91
221
+ #: includes/admin/templates/form/profile_customize.php:110
222
+ #: includes/admin/templates/form/profile_customize.php:136
223
+ #: includes/admin/templates/form/profile_customize.php:156
224
+ #: includes/admin/templates/form/profile_customize.php:167
225
+ #: includes/admin/templates/form/profile_customize.php:178
226
+ #: includes/admin/templates/form/profile_customize.php:189
227
+ #: includes/admin/templates/form/register_customize.php:23
228
+ #: includes/admin/templates/form/register_customize.php:79
229
+ #: includes/admin/templates/form/register_gdpr.php:26
230
  #: includes/core/class-builtin.php:1135 includes/core/class-builtin.php:1149
231
  #: includes/core/class-builtin.php:1150
232
+ #: includes/core/um-actions-account.php:270
233
  msgid "No"
234
  msgstr ""
235
 
236
+ #: includes/admin/core/class-admin-columns.php:186
237
+ #: includes/admin/core/class-admin-columns.php:219
238
+ #: includes/admin/core/list-tables/roles-list-table.php:371
239
+ #: includes/admin/core/list-tables/roles-list-table.php:379
240
+ #: includes/admin/templates/form/login_customize.php:17
241
+ #: includes/admin/templates/form/login_customize.php:65
242
+ #: includes/admin/templates/form/login_customize.php:84
243
+ #: includes/admin/templates/form/login_customize.php:95
244
+ #: includes/admin/templates/form/profile_customize.php:26
245
+ #: includes/admin/templates/form/profile_customize.php:92
246
+ #: includes/admin/templates/form/profile_customize.php:111
247
+ #: includes/admin/templates/form/profile_customize.php:137
248
+ #: includes/admin/templates/form/profile_customize.php:157
249
+ #: includes/admin/templates/form/profile_customize.php:168
250
+ #: includes/admin/templates/form/profile_customize.php:179
251
+ #: includes/admin/templates/form/profile_customize.php:190
252
+ #: includes/admin/templates/form/register_customize.php:24
253
+ #: includes/admin/templates/form/register_customize.php:80
254
+ #: includes/admin/templates/form/register_gdpr.php:27
255
  #: includes/core/class-builtin.php:1135 includes/core/class-builtin.php:1150
256
  #: includes/core/um-filters-members.php:69
257
  msgid "Yes"
258
  msgstr ""
259
 
260
+ #: includes/admin/core/class-admin-enqueue.php:183
261
  msgid "e.g. Member Directory"
262
  msgstr ""
263
 
264
+ #: includes/admin/core/class-admin-enqueue.php:185
265
  msgid "e.g. New Registration Form"
266
  msgstr ""
267
 
268
+ #: includes/admin/core/class-admin-enqueue.php:230
269
+ #: includes/admin/core/class-admin-enqueue.php:261
270
+ #: includes/admin/core/class-admin-forms.php:849
271
+ #: includes/admin/core/class-admin-forms.php:863
272
+ #: includes/admin/core/class-admin-forms.php:970
273
+ #: includes/admin/core/class-admin-forms.php:979
274
+ #: includes/admin/core/class-admin-notices.php:394
275
+ #: includes/core/um-actions-profile.php:639
276
  msgid "Remove"
277
  msgstr ""
278
 
279
+ #: includes/admin/core/class-admin-enqueue.php:231
280
+ #: includes/admin/core/class-admin-enqueue.php:262
281
+ #: includes/admin/core/class-admin-forms.php:1049
282
  msgid "Select"
283
  msgstr ""
284
 
285
+ #: includes/admin/core/class-admin-enqueue.php:259
286
  msgid "Are sure, maybe some settings not saved"
287
  msgstr ""
288
 
289
+ #: includes/admin/core/class-admin-enqueue.php:485
290
  #: includes/core/class-builtin.php:698 includes/core/class-builtin.php:701
291
  #: includes/core/class-builtin.php:1155 includes/core/class-builtin.php:1158
292
  msgid "Password"
293
  msgstr ""
294
 
295
+ #: includes/admin/core/class-admin-enqueue.php:489
296
+ #: includes/admin/core/class-admin-metabox.php:2191
297
+ #: includes/core/class-account.php:105
298
  msgid "Privacy"
299
  msgstr ""
300
 
301
+ #: includes/admin/core/class-admin-enqueue.php:493
302
+ #: includes/core/class-account.php:111
303
  msgid "Notifications"
304
  msgstr ""
305
 
306
+ #: includes/admin/core/class-admin-enqueue.php:497
307
+ #: includes/admin/core/list-tables/roles-list-table.php:342
308
+ #: includes/admin/core/list-tables/roles-list-table.php:410
309
  msgid "Delete"
310
  msgstr ""
311
 
312
+ #: includes/admin/core/class-admin-enqueue.php:547
313
  msgid "Ultimate Member Blocks"
314
  msgstr ""
315
 
316
+ #: includes/admin/core/class-admin-forms.php:318
317
  #: includes/core/um-filters-fields.php:15
318
  msgid "Required"
319
  msgstr ""
320
 
321
+ #: includes/admin/core/class-admin-forms.php:478
322
+ #: includes/admin/core/class-admin-metabox.php:1379
323
+ #: includes/admin/core/class-admin-metabox.php:1407
324
  msgid "Choose Icon"
325
  msgstr ""
326
 
327
+ #: includes/admin/core/class-admin-forms.php:484
328
+ #: includes/admin/core/class-admin-metabox.php:1381
329
+ #: includes/admin/core/class-admin-metabox.php:1409
330
  msgid "No Icon"
331
  msgstr ""
332
 
333
+ #: includes/admin/core/class-admin-forms.php:1026
334
  msgid "Select media"
335
  msgstr ""
336
 
337
+ #: includes/admin/core/class-admin-forms.php:1050
338
  msgid "Clear"
339
  msgstr ""
340
 
419
  msgid "Your %s was unable to be removed at this time."
420
  msgstr ""
421
 
422
+ #: includes/admin/core/class-admin-menu.php:65
423
  msgid "Thanks :)"
424
  msgstr ""
425
 
426
+ #: includes/admin/core/class-admin-menu.php:72
427
  #, php-format
428
  msgid ""
429
  "If you like Ultimate Member please consider leaving a %s review. It will "
430
  "help us to grow the plugin and make it more popular. Thank you."
431
  msgstr ""
432
 
433
+ #: includes/admin/core/class-admin-menu.php:127
434
  msgctxt "Admin menu name"
435
  msgid "Users"
436
  msgstr ""
437
 
438
+ #: includes/admin/core/class-admin-menu.php:135
439
  msgctxt "Admin menu name"
440
  msgid "All Users"
441
  msgstr ""
442
 
443
  #. Plugin Name of the plugin/theme
444
  #. Author of the plugin/theme
445
+ #: includes/admin/core/class-admin-menu.php:147
446
+ #: includes/core/class-user.php:562
447
  msgid "Ultimate Member"
448
  msgstr ""
449
 
450
+ #: includes/admin/core/class-admin-menu.php:151
451
  msgid "Dashboard"
452
  msgstr ""
453
 
454
+ #: includes/admin/core/class-admin-menu.php:159
455
  #: includes/admin/templates/gdpr.php:7 includes/core/class-common.php:54
456
  msgid "Forms"
457
  msgstr ""
458
 
459
+ #: includes/admin/core/class-admin-menu.php:161
460
+ #: includes/admin/core/list-tables/roles-list-table.php:483
461
  #: includes/admin/core/packages/2.0-beta1/user_roles.php:12
462
  msgid "User Roles"
463
  msgstr ""
464
 
465
+ #: includes/admin/core/class-admin-menu.php:164
466
  #: includes/core/class-common.php:84
467
  msgid "Member Directories"
468
  msgstr ""
469
 
470
+ #: includes/admin/core/class-admin-menu.php:206
471
+ #: includes/admin/core/class-admin-settings.php:1084
472
  msgid "Extensions"
473
  msgstr ""
474
 
475
+ #: includes/admin/core/class-admin-menu.php:219
476
  msgid "Users Overview"
477
  msgstr ""
478
 
479
+ #: includes/admin/core/class-admin-menu.php:221
480
  msgid "Latest from our blog"
481
  msgstr ""
482
 
483
+ #: includes/admin/core/class-admin-menu.php:223
484
  msgid "Purge Temp Files"
485
  msgstr ""
486
 
487
+ #: includes/admin/core/class-admin-menu.php:225
488
  msgid "User Cache"
489
  msgstr ""
490
 
491
+ #: includes/admin/core/class-admin-menu.php:230
492
  msgid "Upgrade's Manual Request"
493
  msgstr ""
494
 
495
+ #: includes/admin/core/class-admin-metabox.php:220
496
  msgid "UM Content Restriction"
497
  msgstr ""
498
 
499
+ #: includes/admin/core/class-admin-metabox.php:376
500
+ #: includes/admin/core/class-admin-metabox.php:527
501
  #: includes/admin/templates/access/restrict_content.php:53
502
  msgid "Restrict access to this content?"
503
  msgstr ""
504
 
505
+ #: includes/admin/core/class-admin-metabox.php:377
506
+ #: includes/admin/core/class-admin-metabox.php:384
507
+ #: includes/admin/core/class-admin-metabox.php:397
508
+ #: includes/admin/core/class-admin-metabox.php:528
509
+ #: includes/admin/core/class-admin-metabox.php:536
510
+ #: includes/admin/core/class-admin-metabox.php:550
511
  #: includes/admin/templates/access/restrict_content.php:54
512
  #: includes/admin/templates/access/restrict_content.php:61
513
  #: includes/admin/templates/access/restrict_content.php:74
514
  msgid "Activate content restriction for this post"
515
  msgstr ""
516
 
517
+ #: includes/admin/core/class-admin-metabox.php:383
518
+ #: includes/admin/core/class-admin-metabox.php:535
519
  #: includes/admin/templates/access/restrict_content.php:60
520
  msgid "Who can access this content?"
521
  msgstr ""
522
 
523
+ #: includes/admin/core/class-admin-metabox.php:387
524
+ #: includes/admin/core/class-admin-metabox.php:539
525
+ #: includes/admin/core/class-admin-metabox.php:2193
526
  #: includes/admin/core/class-admin-navmenu.php:141
527
  #: includes/admin/templates/access/restrict_content.php:64
528
  #: includes/core/class-builtin.php:662
529
  msgid "Everyone"
530
  msgstr ""
531
 
532
+ #: includes/admin/core/class-admin-metabox.php:388
533
+ #: includes/admin/core/class-admin-metabox.php:540
534
  #: includes/admin/templates/access/restrict_content.php:65
535
  msgid "Logged out users"
536
  msgstr ""
537
 
538
+ #: includes/admin/core/class-admin-metabox.php:389
539
+ #: includes/admin/core/class-admin-metabox.php:541
540
  #: includes/admin/templates/access/restrict_content.php:66
541
  msgid "Logged in users"
542
  msgstr ""
543
 
544
+ #: includes/admin/core/class-admin-metabox.php:396
545
+ #: includes/admin/core/class-admin-metabox.php:549
546
  #: includes/admin/templates/access/restrict_content.php:73
547
  msgid "Select which roles can access this content"
548
  msgstr ""
549
 
550
+ #: includes/admin/core/class-admin-metabox.php:405
551
+ #: includes/admin/core/class-admin-metabox.php:560
552
  #: includes/admin/templates/access/restrict_content.php:83
553
  msgid "What happens when users without access tries to view the content?"
554
  msgstr ""
555
 
556
+ #: includes/admin/core/class-admin-metabox.php:406
557
+ #: includes/admin/core/class-admin-metabox.php:418
558
+ #: includes/admin/core/class-admin-metabox.php:561
559
+ #: includes/admin/core/class-admin-metabox.php:574
560
  #: includes/admin/templates/access/restrict_content.php:84
561
  #: includes/admin/templates/access/restrict_content.php:96
562
  msgid "Action when users without access tries to view the content"
563
  msgstr ""
564
 
565
+ #: includes/admin/core/class-admin-metabox.php:409
566
+ #: includes/admin/core/class-admin-metabox.php:564
567
  #: includes/admin/templates/access/restrict_content.php:87
568
  msgid "Show access restricted message"
569
  msgstr ""
570
 
571
+ #: includes/admin/core/class-admin-metabox.php:410
572
+ #: includes/admin/core/class-admin-metabox.php:565
573
  #: includes/admin/templates/access/restrict_content.php:88
574
  msgid "Redirect user"
575
  msgstr ""
576
 
577
+ #: includes/admin/core/class-admin-metabox.php:417
578
+ #: includes/admin/core/class-admin-metabox.php:573
579
  #: includes/admin/templates/access/restrict_content.php:95
580
  msgid ""
581
  "Would you like to use the global default message or apply a custom message "
582
  "to this content?"
583
  msgstr ""
584
 
585
+ #: includes/admin/core/class-admin-metabox.php:421
586
+ #: includes/admin/core/class-admin-metabox.php:577
587
  #: includes/admin/templates/access/restrict_content.php:99
588
  msgid "Global default message (default)"
589
  msgstr ""
590
 
591
+ #: includes/admin/core/class-admin-metabox.php:422
592
+ #: includes/admin/core/class-admin-metabox.php:578
593
  #: includes/admin/templates/access/restrict_content.php:100
594
  msgid "Custom message"
595
  msgstr ""
596
 
597
+ #: includes/admin/core/class-admin-metabox.php:429
598
+ #: includes/admin/core/class-admin-metabox.php:586
599
  #: includes/admin/templates/access/restrict_content.php:107
600
  msgid "Custom Restrict Content message"
601
  msgstr ""
602
 
603
+ #: includes/admin/core/class-admin-metabox.php:430
604
+ #: includes/admin/core/class-admin-metabox.php:450
605
+ #: includes/admin/core/class-admin-metabox.php:587
606
+ #: includes/admin/core/class-admin-metabox.php:609
607
  #: includes/admin/templates/access/restrict_content.php:108
608
  #: includes/admin/templates/access/restrict_content.php:128
609
  msgid "Changed global restrict message"
610
  msgstr ""
611
 
612
+ #: includes/admin/core/class-admin-metabox.php:437
613
+ #: includes/admin/core/class-admin-metabox.php:595
614
  #: includes/admin/templates/access/restrict_content.php:115
615
  msgid "Where should users be redirected to?"
616
  msgstr ""
617
 
618
+ #: includes/admin/core/class-admin-metabox.php:438
619
+ #: includes/admin/core/class-admin-metabox.php:596
620
  #: includes/admin/templates/access/restrict_content.php:116
621
  msgid "Select redirect to page when user hasn't access to content"
622
  msgstr ""
623
 
624
+ #: includes/admin/core/class-admin-metabox.php:442
625
+ #: includes/admin/core/class-admin-metabox.php:600
626
  #: includes/admin/templates/access/restrict_content.php:120
627
  msgid "Login page"
628
  msgstr ""
629
 
630
+ #: includes/admin/core/class-admin-metabox.php:443
631
+ #: includes/admin/core/class-admin-metabox.php:601
632
  #: includes/admin/templates/access/restrict_content.php:121
633
  msgid "Custom URL"
634
  msgstr ""
635
 
636
+ #: includes/admin/core/class-admin-metabox.php:449
637
+ #: includes/admin/core/class-admin-metabox.php:608
638
  #: includes/admin/templates/access/restrict_content.php:127
639
  msgid "Redirect URL"
640
  msgstr ""
641
 
642
+ #: includes/admin/core/class-admin-metabox.php:457
643
+ #: includes/admin/core/class-admin-metabox.php:617
644
  #: includes/admin/templates/access/restrict_content.php:135
645
  msgid "Hide from queries"
646
  msgstr ""
647
 
648
+ #: includes/admin/core/class-admin-metabox.php:458
649
+ #: includes/admin/core/class-admin-metabox.php:618
650
  #: includes/admin/templates/access/restrict_content.php:136
651
  msgid ""
652
  "Hide this content from archives, RSS feeds etc for users who do not have "
653
  "permission to view this content"
654
  msgstr ""
655
 
656
+ #: includes/admin/core/class-admin-metabox.php:778
657
  msgid "General Options"
658
  msgstr ""
659
 
660
+ #: includes/admin/core/class-admin-metabox.php:779
661
  msgid "Profile Card"
662
  msgstr ""
663
 
664
+ #: includes/admin/core/class-admin-metabox.php:780
665
  msgid "Search Options"
666
  msgstr ""
667
 
668
+ #: includes/admin/core/class-admin-metabox.php:781
669
  msgid "Results &amp; Pagination"
670
  msgstr ""
671
 
672
+ #: includes/admin/core/class-admin-metabox.php:783
673
  msgid "Styling: General"
674
  msgstr ""
675
 
676
+ #: includes/admin/core/class-admin-metabox.php:796
677
  msgid "Administrative Permissions"
678
  msgstr ""
679
 
680
+ #: includes/admin/core/class-admin-metabox.php:804
681
  msgid "General Permissions"
682
  msgstr ""
683
 
684
+ #: includes/admin/core/class-admin-metabox.php:812
685
  msgid "Profile Access"
686
  msgstr ""
687
 
688
+ #: includes/admin/core/class-admin-metabox.php:823
689
  msgid "Homepage Options"
690
  msgstr ""
691
 
692
+ #: includes/admin/core/class-admin-metabox.php:834
693
  msgid "Registration Options"
694
  msgstr ""
695
 
696
+ #: includes/admin/core/class-admin-metabox.php:842
697
  msgid "Login Options"
698
  msgstr ""
699
 
700
+ #: includes/admin/core/class-admin-metabox.php:850
701
  msgid "Logout Options"
702
  msgstr ""
703
 
704
+ #: includes/admin/core/class-admin-metabox.php:858
705
  msgid "Delete Options"
706
  msgstr ""
707
 
708
+ #: includes/admin/core/class-admin-metabox.php:866
709
  msgid "Publish"
710
  msgstr ""
711
 
712
+ #: includes/admin/core/class-admin-metabox.php:914
713
  msgid "WP Capabilities"
714
  msgstr ""
715
 
716
+ #: includes/admin/core/class-admin-metabox.php:941
717
  msgid "Select Form Type"
718
  msgstr ""
719
 
720
+ #: includes/admin/core/class-admin-metabox.php:942
721
  msgid "Form Builder"
722
  msgstr ""
723
 
724
+ #: includes/admin/core/class-admin-metabox.php:945
725
+ #: includes/admin/core/class-admin-metabox.php:966
726
+ #: includes/admin/core/class-admin-metabox.php:988
727
  msgid "Customize this form"
728
  msgstr ""
729
 
730
+ #: includes/admin/core/class-admin-metabox.php:967
731
  msgid "User Meta"
732
  msgstr ""
733
 
734
+ #: includes/admin/core/class-admin-metabox.php:989
735
  msgid "Options"
736
  msgstr ""
737
 
738
+ #: includes/admin/core/class-admin-metabox.php:1200
739
+ msgid "Visibility"
740
+ msgstr ""
741
+
742
+ #: includes/admin/core/class-admin-metabox.php:1200
743
  msgid ""
744
  "Select where this field should appear. This option should only be changed on "
745
  "the profile form and allows you to show a field in one mode only (edit or "
746
  "view) or in both modes."
747
  msgstr ""
748
 
749
+ #: includes/admin/core/class-admin-metabox.php:1202
750
+ msgid "View everywhere"
751
+ msgstr ""
752
+
753
+ #: includes/admin/core/class-admin-metabox.php:1203
754
+ msgid "Edit mode only"
755
+ msgstr ""
756
+
757
+ #: includes/admin/core/class-admin-metabox.php:1204
758
+ msgid "View mode only"
759
+ msgstr ""
760
+
761
+ #: includes/admin/core/class-admin-metabox.php:1232
762
  msgid "If"
763
  msgstr ""
764
 
765
+ #: includes/admin/core/class-admin-metabox.php:1309
766
  msgid "Value"
767
  msgstr ""
768
 
769
+ #: includes/admin/core/class-admin-metabox.php:1318
770
+ msgid "Validate"
771
+ msgstr ""
772
+
773
+ #: includes/admin/core/class-admin-metabox.php:1318
774
  msgid "Does this field require a special validation"
775
  msgstr ""
776
 
777
+ #: includes/admin/core/class-admin-metabox.php:1319
778
+ msgid "Select a validation type..."
779
+ msgstr ""
780
+
781
+ #: includes/admin/core/class-admin-metabox.php:1363
782
+ msgid "Custom Action"
783
+ msgstr ""
784
+
785
+ #: includes/admin/core/class-admin-metabox.php:1363
786
  msgid ""
787
  "If you want to apply your custom validation, you can use action hooks to add "
788
  "custom validation. Please refer to documentation for further details."
789
  msgstr ""
790
 
791
+ #: includes/admin/core/class-admin-metabox.php:1377
792
+ #: includes/admin/core/class-admin-metabox.php:1405
793
+ msgid "Icon"
794
+ msgstr ""
795
+
796
+ #: includes/admin/core/class-admin-metabox.php:1377
797
+ #: includes/admin/core/class-admin-metabox.php:1405
798
  msgid ""
799
  "Select an icon to appear in the field. Leave blank if you do not want an "
800
  "icon to show in the field."
801
  msgstr ""
802
 
803
+ #: includes/admin/core/class-admin-metabox.php:1432
804
+ msgid "CSS Class"
805
+ msgstr ""
806
+
807
+ #: includes/admin/core/class-admin-metabox.php:1432
808
  msgid "Specify a custom CSS class to be applied to this element"
809
  msgstr ""
810
 
811
+ #: includes/admin/core/class-admin-metabox.php:1442
812
+ msgid "Thickness (in pixels)"
813
+ msgstr ""
814
+
815
+ #: includes/admin/core/class-admin-metabox.php:1442
816
  msgid "This is the width in pixels, e.g. 4 or 2, etc"
817
  msgstr ""
818
 
819
+ #: includes/admin/core/class-admin-metabox.php:1452
820
+ msgid "Optional Text"
821
+ msgstr ""
822
+
823
+ #: includes/admin/core/class-admin-metabox.php:1452
824
  msgid "Optional text to include with the divider"
825
  msgstr ""
826
 
827
+ #: includes/admin/core/class-admin-metabox.php:1462
828
+ msgid "Padding"
829
+ msgstr ""
830
+
831
+ #: includes/admin/core/class-admin-metabox.php:1462
832
  msgid "Set padding for this section"
833
  msgstr ""
834
 
835
+ #: includes/admin/core/class-admin-metabox.php:1472
836
+ msgid "Margin"
837
+ msgstr ""
838
+
839
+ #: includes/admin/core/class-admin-metabox.php:1472
840
  msgid "Set margin for this section"
841
  msgstr ""
842
 
843
+ #: includes/admin/core/class-admin-metabox.php:1482
844
+ msgid "Border"
845
+ msgstr ""
846
+
847
+ #: includes/admin/core/class-admin-metabox.php:1482
848
  msgid "Set border for this section"
849
  msgstr ""
850
 
851
+ #: includes/admin/core/class-admin-metabox.php:1492
852
+ #: includes/admin/core/class-admin-metabox.php:1663
853
+ msgid "Style"
854
+ msgstr ""
855
+
856
+ #: includes/admin/core/class-admin-metabox.php:1492
857
  msgid "Choose the border style"
858
  msgstr ""
859
 
860
+ #: includes/admin/core/class-admin-metabox.php:1494
861
+ #: includes/admin/core/class-admin-metabox.php:1665
862
+ msgid "Solid"
863
+ msgstr ""
864
+
865
+ #: includes/admin/core/class-admin-metabox.php:1495
866
+ #: includes/admin/core/class-admin-metabox.php:1666
867
+ msgid "Dotted"
868
+ msgstr ""
869
+
870
+ #: includes/admin/core/class-admin-metabox.php:1496
871
+ #: includes/admin/core/class-admin-metabox.php:1667
872
+ msgid "Dashed"
873
+ msgstr ""
874
+
875
+ #: includes/admin/core/class-admin-metabox.php:1497
876
+ #: includes/admin/core/class-admin-metabox.php:1668
877
+ msgid "Double"
878
+ msgstr ""
879
+
880
+ #: includes/admin/core/class-admin-metabox.php:1507
881
+ msgid "Border Radius"
882
+ msgstr ""
883
+
884
+ #: includes/admin/core/class-admin-metabox.php:1507
885
  msgid "Rounded corners can be applied by setting a pixels value here. e.g. 5px"
886
  msgstr ""
887
 
888
+ #: includes/admin/core/class-admin-metabox.php:1517
889
+ msgid "Border Color"
890
+ msgstr ""
891
+
892
+ #: includes/admin/core/class-admin-metabox.php:1517
893
  msgid "Give a color to this border"
894
  msgstr ""
895
 
896
+ #: includes/admin/core/class-admin-metabox.php:1527
897
  msgid "Enable Row Heading"
898
  msgstr ""
899
 
900
+ #: includes/admin/core/class-admin-metabox.php:1527
901
  msgid "Whether to enable a heading for this row"
902
  msgstr ""
903
 
904
+ #: includes/admin/core/class-admin-metabox.php:1537
905
+ msgid "Heading Text"
906
+ msgstr ""
907
+
908
+ #: includes/admin/core/class-admin-metabox.php:1537
909
  msgid "Enter the row heading text here"
910
  msgstr ""
911
 
912
+ #: includes/admin/core/class-admin-metabox.php:1547
913
+ msgid "Background Color"
914
+ msgstr ""
915
+
916
+ #: includes/admin/core/class-admin-metabox.php:1547
917
  msgid "This will be the background of entire section"
918
  msgstr ""
919
 
920
+ #: includes/admin/core/class-admin-metabox.php:1557
921
+ msgid "Heading Background Color"
922
+ msgstr ""
923
+
924
+ #: includes/admin/core/class-admin-metabox.php:1557
925
  msgid "This will be the background of the heading section"
926
  msgstr ""
927
 
928
+ #: includes/admin/core/class-admin-metabox.php:1567
929
+ msgid "Heading Text Color"
930
+ msgstr ""
931
+
932
+ #: includes/admin/core/class-admin-metabox.php:1567
933
  msgid "This will be the text color of heading part only"
934
  msgstr ""
935
 
936
+ #: includes/admin/core/class-admin-metabox.php:1577
937
+ msgid "Text Color"
938
+ msgstr ""
939
+
940
+ #: includes/admin/core/class-admin-metabox.php:1577
941
  msgid "This will be the text color of entire section"
942
  msgstr ""
943
 
944
+ #: includes/admin/core/class-admin-metabox.php:1587
945
+ msgid "Icon Color"
946
+ msgstr ""
947
+
948
+ #: includes/admin/core/class-admin-metabox.php:1587
949
  msgid ""
950
  "This will be the color of selected icon. By default It will be the same "
951
  "color as heading text color"
952
  msgstr ""
953
 
954
+ #: includes/admin/core/class-admin-metabox.php:1597
955
+ msgid "Color"
956
+ msgstr ""
957
+
958
+ #: includes/admin/core/class-admin-metabox.php:1597
959
  msgid "Select a color for this divider"
960
  msgstr ""
961
 
962
+ #: includes/admin/core/class-admin-metabox.php:1607
963
+ msgid "URL Alt Text"
964
+ msgstr ""
965
+
966
+ #: includes/admin/core/class-admin-metabox.php:1607
967
  msgid "Entering custom text here will replace the url with a text link"
968
  msgstr ""
969
 
970
+ #: includes/admin/core/class-admin-metabox.php:1617
971
+ msgid "Link Target"
972
+ msgstr ""
973
+
974
+ #: includes/admin/core/class-admin-metabox.php:1617
975
  msgid "Choose whether to open this link in same window or in a new window"
976
  msgstr ""
977
 
978
+ #: includes/admin/core/class-admin-metabox.php:1619
979
+ msgid "Open in new window"
980
+ msgstr ""
981
+
982
+ #: includes/admin/core/class-admin-metabox.php:1620
983
+ msgid "Same window"
984
+ msgstr ""
985
+
986
+ #: includes/admin/core/class-admin-metabox.php:1630
987
+ msgid "SEO Follow"
988
+ msgstr ""
989
+
990
+ #: includes/admin/core/class-admin-metabox.php:1630
991
  msgid "Whether to follow or nofollow this link by search engines"
992
  msgstr ""
993
 
994
+ #: includes/admin/core/class-admin-metabox.php:1632
995
+ msgid "Follow"
996
+ msgstr ""
997
+
998
+ #: includes/admin/core/class-admin-metabox.php:1633
999
+ msgid "No-Follow"
1000
+ msgstr ""
1001
+
1002
+ #: includes/admin/core/class-admin-metabox.php:1643
1003
+ msgid "Force strong password?"
1004
+ msgstr ""
1005
+
1006
+ #: includes/admin/core/class-admin-metabox.php:1643
1007
  msgid ""
1008
  "Turn on to force users to create a strong password (A combination of one "
1009
  "lowercase letter, one uppercase letter, and one number). If turned on this "
1010
  "option is only applied to register forms and not to login forms."
1011
  msgstr ""
1012
 
1013
+ #: includes/admin/core/class-admin-metabox.php:1653
1014
+ msgid "Automatically add a confirm password field?"
1015
+ msgstr ""
1016
+
1017
+ #: includes/admin/core/class-admin-metabox.php:1653
1018
  msgid ""
1019
  "Turn on to add a confirm password field. If turned on the confirm password "
1020
  "field will only show on register forms and not on login forms."
1021
  msgstr ""
1022
 
1023
+ #: includes/admin/core/class-admin-metabox.php:1663
1024
  msgid "This is the line-style of divider"
1025
  msgstr ""
1026
 
1027
+ #: includes/admin/core/class-admin-metabox.php:1679
1028
+ msgid "Time Intervals (in minutes)"
1029
+ msgstr ""
1030
+
1031
+ #: includes/admin/core/class-admin-metabox.php:1679
1032
  msgid "Choose the minutes interval between each time in the time picker."
1033
  msgstr ""
1034
 
1035
+ #: includes/admin/core/class-admin-metabox.php:1680
1036
+ msgid "e.g. 30, 60, 120"
1037
+ msgstr ""
1038
+
1039
+ #: includes/admin/core/class-admin-metabox.php:1692
1040
+ msgid "Date User-Friendly Format"
1041
+ msgstr ""
1042
+
1043
+ #: includes/admin/core/class-admin-metabox.php:1692
1044
  msgid "The display format of the date which is visible to user."
1045
  msgstr ""
1046
 
1047
+ #: includes/admin/core/class-admin-metabox.php:1703
1048
+ msgid "Time Format"
1049
+ msgstr ""
1050
+
1051
+ #: includes/admin/core/class-admin-metabox.php:1703
1052
  msgid "Choose the displayed time-format for this field"
1053
  msgstr ""
1054
 
1055
+ #: includes/admin/core/class-admin-metabox.php:1705
1056
+ #: includes/admin/core/class-admin-metabox.php:1706
1057
+ msgid "( 12-hr format )"
1058
+ msgstr ""
1059
+
1060
+ #: includes/admin/core/class-admin-metabox.php:1707
1061
+ msgid "( 24-hr format )"
1062
+ msgstr ""
1063
+
1064
+ #: includes/admin/core/class-admin-metabox.php:1718
1065
+ msgid "Displayed Date Format"
1066
+ msgstr ""
1067
+
1068
+ #: includes/admin/core/class-admin-metabox.php:1718
1069
  msgid ""
1070
  "Whether you wish to show the date in full or only show the years e.g. 25 "
1071
  "Years"
1072
  msgstr ""
1073
 
1074
+ #: includes/admin/core/class-admin-metabox.php:1720
1075
+ msgid "Show full date"
1076
+ msgstr ""
1077
+
1078
+ #: includes/admin/core/class-admin-metabox.php:1721
1079
+ msgid "Show years only"
1080
+ msgstr ""
1081
+
1082
+ #: includes/admin/core/class-admin-metabox.php:1737
1083
+ msgid "Disable specific weekdays"
1084
+ msgstr ""
1085
+
1086
+ #: includes/admin/core/class-admin-metabox.php:1737
1087
  msgid ""
1088
  "Disable specific week days from being available for selection in this date "
1089
  "picker"
1090
  msgstr ""
1091
 
1092
+ #: includes/admin/core/class-admin-metabox.php:1739
1093
+ msgid "Sunday"
 
1094
  msgstr ""
1095
 
1096
+ #: includes/admin/core/class-admin-metabox.php:1740
1097
+ msgid "Monday"
1098
  msgstr ""
1099
 
1100
+ #: includes/admin/core/class-admin-metabox.php:1741
1101
+ msgid "Tuesday"
1102
  msgstr ""
1103
 
1104
+ #: includes/admin/core/class-admin-metabox.php:1742
1105
+ msgid "Wednesday"
1106
  msgstr ""
1107
 
1108
+ #: includes/admin/core/class-admin-metabox.php:1743
1109
+ msgid "Thursday"
 
 
1110
  msgstr ""
1111
 
1112
+ #: includes/admin/core/class-admin-metabox.php:1744
1113
+ msgid "Friday"
 
 
1114
  msgstr ""
1115
 
1116
+ #: includes/admin/core/class-admin-metabox.php:1745
1117
+ msgid "Saturday"
1118
  msgstr ""
1119
 
1120
+ #: includes/admin/core/class-admin-metabox.php:1755
1121
+ msgid "Number of Years to pick from"
1122
  msgstr ""
1123
 
1124
+ #: includes/admin/core/class-admin-metabox.php:1755
 
1125
  msgid ""
1126
+ "Number of years available for the date selection. Default to last 50 years"
1127
  msgstr ""
1128
 
1129
+ #: includes/admin/core/class-admin-metabox.php:1765
1130
+ msgid "Years Selection"
1131
  msgstr ""
1132
 
1133
+ #: includes/admin/core/class-admin-metabox.php:1765
1134
+ msgid "This decides which years should be shown relative to today date"
 
 
1135
  msgstr ""
1136
 
1137
+ #: includes/admin/core/class-admin-metabox.php:1767
1138
+ msgid "Equal years before / after today"
1139
  msgstr ""
1140
 
1141
+ #: includes/admin/core/class-admin-metabox.php:1768
1142
+ msgid "Past years only"
 
 
1143
  msgstr ""
1144
 
1145
+ #: includes/admin/core/class-admin-metabox.php:1769
1146
+ msgid "Future years only"
1147
  msgstr ""
1148
 
1149
+ #: includes/admin/core/class-admin-metabox.php:1779
1150
+ msgid "Date Range Start"
1151
  msgstr ""
1152
 
1153
+ #: includes/admin/core/class-admin-metabox.php:1779
1154
+ msgid "Set the minimum date/day in range in the format YYYY/MM/DD"
1155
  msgstr ""
1156
 
1157
+ #: includes/admin/core/class-admin-metabox.php:1780
1158
+ #: includes/admin/core/class-admin-metabox.php:1790
1159
+ msgid "YYYY/MM/DD"
 
1160
  msgstr ""
1161
 
1162
+ #: includes/admin/core/class-admin-metabox.php:1789
1163
+ msgid "Date Range End"
 
 
1164
  msgstr ""
1165
 
1166
+ #: includes/admin/core/class-admin-metabox.php:1789
1167
+ msgid "Set the maximum date/day in range in the format YYYY/MM/DD"
1168
  msgstr ""
1169
 
1170
+ #: includes/admin/core/class-admin-metabox.php:1799
1171
+ msgid "Set Date Range"
1172
+ msgstr ""
1173
+
1174
+ #: includes/admin/core/class-admin-metabox.php:1799
1175
  msgid ""
1176
+ "Whether to show a specific number of years or specify a date range to be "
1177
+ "available for the date picker."
1178
  msgstr ""
1179
 
1180
+ #: includes/admin/core/class-admin-metabox.php:1801
1181
+ msgid "Fixed Number of Years"
1182
  msgstr ""
1183
 
1184
+ #: includes/admin/core/class-admin-metabox.php:1802
1185
+ msgid "Specific Date Range"
1186
  msgstr ""
1187
 
1188
+ #: includes/admin/core/class-admin-metabox.php:1815
1189
+ msgid "Enter Shortcode"
 
 
1190
  msgstr ""
1191
 
1192
+ #: includes/admin/core/class-admin-metabox.php:1815
1193
  msgid ""
1194
+ "Enter the shortcode in the following textarea and it will be displayed on "
1195
+ "the fields"
1196
  msgstr ""
1197
 
1198
+ #: includes/admin/core/class-admin-metabox.php:1816
1199
+ msgid "e.g. [my_custom_shortcode]"
1200
  msgstr ""
1201
 
1202
+ #: includes/admin/core/class-admin-metabox.php:1825
1203
+ msgid "Content Editor"
 
 
1204
  msgstr ""
1205
 
1206
+ #: includes/admin/core/class-admin-metabox.php:1825
1207
+ msgid "Edit the content of this field here"
 
 
1208
  msgstr ""
1209
 
1210
+ #: includes/admin/core/class-admin-metabox.php:1838
1211
+ msgid "Crop Feature"
 
 
 
1212
  msgstr ""
1213
 
1214
+ #: includes/admin/core/class-admin-metabox.php:1838
1215
+ msgid "Enable/disable crop feature for this image upload and define ratio"
 
 
 
 
1216
  msgstr ""
1217
 
1218
+ #: includes/admin/core/class-admin-metabox.php:1840
1219
+ msgid "Turn Off (Default)"
 
 
 
 
1220
  msgstr ""
1221
 
1222
+ #: includes/admin/core/class-admin-metabox.php:1841
1223
+ msgid "Crop and force 1:1 ratio"
1224
  msgstr ""
1225
 
1226
+ #: includes/admin/core/class-admin-metabox.php:1842
1227
+ msgid "Crop and force user-defined ratio"
1228
  msgstr ""
1229
 
1230
+ #: includes/admin/core/class-admin-metabox.php:1859
1231
+ msgid "Allowed Image Types"
1232
  msgstr ""
1233
 
1234
+ #: includes/admin/core/class-admin-metabox.php:1859
1235
+ #: includes/admin/core/class-admin-metabox.php:1877
1236
  msgid ""
1237
+ "Select the image types that you want to allow to be uploaded via this field."
 
1238
  msgstr ""
1239
 
1240
+ #: includes/admin/core/class-admin-metabox.php:1877
1241
+ msgid "Allowed File Types"
1242
  msgstr ""
1243
 
1244
+ #: includes/admin/core/class-admin-metabox.php:1894
1245
+ msgid "Drag &amp; Drop Photo"
1246
  msgstr ""
1247
 
1248
+ #: includes/admin/core/class-admin-metabox.php:1897
1249
+ msgid "Drag &amp; Drop File"
1250
+ msgstr ""
1251
+
1252
+ #: includes/admin/core/class-admin-metabox.php:1902
1253
+ #: includes/admin/core/class-admin-metabox.php:1922
1254
+ msgid "Upload Box Text"
1255
+ msgstr ""
1256
+
1257
+ #: includes/admin/core/class-admin-metabox.php:1902
1258
+ msgid "This is the headline that appears in the upload box for this field"
1259
+ msgstr ""
1260
+
1261
+ #: includes/admin/core/class-admin-metabox.php:1912
1262
+ msgid "Additional Instructions Text"
1263
+ msgstr ""
1264
+
1265
+ #: includes/admin/core/class-admin-metabox.php:1912
1266
+ msgid ""
1267
+ "If you need to add information or secondary line below the headline of "
1268
+ "upload box, enter it here"
1269
+ msgstr ""
1270
+
1271
+ #: includes/admin/core/class-admin-metabox.php:1922
1272
+ msgid "The text that appears on the button. e.g. Upload"
1273
+ msgstr ""
1274
+
1275
+ #: includes/admin/core/class-admin-metabox.php:1923
1276
+ #: includes/core/class-fields.php:1581 includes/core/class-fields.php:1622
1277
+ msgid "Upload"
1278
+ msgstr ""
1279
+
1280
+ #: includes/admin/core/class-admin-metabox.php:1932
1281
+ msgid "Maximum Size in bytes"
1282
+ msgstr ""
1283
+
1284
+ #: includes/admin/core/class-admin-metabox.php:1932
1285
+ msgid ""
1286
+ "The maximum size for image that can be uploaded through this field. Leave "
1287
+ "empty for unlimited size."
1288
+ msgstr ""
1289
+
1290
+ #: includes/admin/core/class-admin-metabox.php:1942
1291
+ msgid "Textarea Height"
1292
+ msgstr ""
1293
+
1294
+ #: includes/admin/core/class-admin-metabox.php:1942
1295
+ msgid "The height of textarea in pixels. Default is 100 pixels"
1296
+ msgstr ""
1297
+
1298
+ #: includes/admin/core/class-admin-metabox.php:1952
1299
+ msgid "Spacing"
1300
+ msgstr ""
1301
+
1302
+ #: includes/admin/core/class-admin-metabox.php:1952
1303
+ msgid "This is the required spacing in pixels. e.g. 20px"
1304
+ msgstr ""
1305
+
1306
+ #: includes/admin/core/class-admin-metabox.php:1962
1307
+ msgid "Allow multiple selections"
1308
+ msgstr ""
1309
+
1310
+ #: includes/admin/core/class-admin-metabox.php:1962
1311
+ msgid "Enable/disable multiple selections for this field"
1312
+ msgstr ""
1313
+
1314
+ #: includes/admin/core/class-admin-metabox.php:1972
1315
+ msgid "Maximum number of selections"
1316
+ msgstr ""
1317
+
1318
+ #: includes/admin/core/class-admin-metabox.php:1972
1319
+ msgid ""
1320
+ "Enter a number here to force a maximum number of selections by user for this "
1321
+ "field"
1322
+ msgstr ""
1323
+
1324
+ #: includes/admin/core/class-admin-metabox.php:1982
1325
+ msgid "Minimum number of selections"
1326
+ msgstr ""
1327
+
1328
+ #: includes/admin/core/class-admin-metabox.php:1982
1329
+ msgid ""
1330
+ "Enter a number here to force a minimum number of selections by user for this "
1331
+ "field"
1332
+ msgstr ""
1333
+
1334
+ #: includes/admin/core/class-admin-metabox.php:1992
1335
+ msgid "Maximum number of entries"
1336
+ msgstr ""
1337
+
1338
+ #: includes/admin/core/class-admin-metabox.php:1992
1339
+ msgid "This is the max number of entries the user can add via field group."
1340
+ msgstr ""
1341
+
1342
+ #: includes/admin/core/class-admin-metabox.php:2002
1343
+ msgid "Maximum allowed words"
1344
+ msgstr ""
1345
+
1346
+ #: includes/admin/core/class-admin-metabox.php:2002
1347
+ msgid ""
1348
+ "If you want to enable a maximum number of words to be input in this "
1349
+ "textarea. Leave empty to disable this setting"
1350
+ msgstr ""
1351
+
1352
+ #: includes/admin/core/class-admin-metabox.php:2012
1353
+ msgid "Minimum Number"
1354
+ msgstr ""
1355
+
1356
+ #: includes/admin/core/class-admin-metabox.php:2012
1357
+ msgid "Minimum number that can be entered in this field"
1358
+ msgstr ""
1359
+
1360
+ #: includes/admin/core/class-admin-metabox.php:2022
1361
+ msgid "Maximum Number"
1362
+ msgstr ""
1363
+
1364
+ #: includes/admin/core/class-admin-metabox.php:2022
1365
+ msgid "Maximum number that can be entered in this field"
1366
+ msgstr ""
1367
+
1368
+ #: includes/admin/core/class-admin-metabox.php:2032
1369
+ msgid "Minimum length"
1370
+ msgstr ""
1371
+
1372
+ #: includes/admin/core/class-admin-metabox.php:2032
1373
+ msgid ""
1374
+ "If you want to enable a minimum number of characters to be input in this "
1375
+ "field. Leave empty to disable this setting"
1376
+ msgstr ""
1377
+
1378
+ #: includes/admin/core/class-admin-metabox.php:2042
1379
+ msgid "Maximum length"
1380
+ msgstr ""
1381
+
1382
+ #: includes/admin/core/class-admin-metabox.php:2042
1383
+ msgid ""
1384
+ "If you want to enable a maximum number of characters to be input in this "
1385
+ "field. Leave empty to disable this setting"
1386
+ msgstr ""
1387
+
1388
+ #: includes/admin/core/class-admin-metabox.php:2052
1389
+ msgid "Does this textarea accept HTML?"
1390
+ msgstr ""
1391
+
1392
+ #: includes/admin/core/class-admin-metabox.php:2052
1393
+ msgid "Turn on/off HTML tags for this textarea"
1394
+ msgstr ""
1395
+
1396
+ #: includes/admin/core/class-admin-metabox.php:2069
1397
+ msgid "Edit Choices"
1398
+ msgstr ""
1399
+
1400
+ #: includes/admin/core/class-admin-metabox.php:2069
1401
+ msgid ""
1402
+ "Enter one choice per line. This will represent the available choices or "
1403
+ "selections available for user."
1404
+ msgstr ""
1405
+
1406
+ #: includes/admin/core/class-admin-metabox.php:2079
1407
+ msgid ""
1408
+ "This is the title of the field for your reference in the backend. The title "
1409
+ "will not appear on the front-end of your website."
1410
+ msgstr ""
1411
+
1412
+ #: includes/admin/core/class-admin-metabox.php:2090
1413
+ msgid "Unique ID"
1414
+ msgstr ""
1415
+
1416
+ #: includes/admin/core/class-admin-metabox.php:2104
1417
+ #: includes/admin/core/class-admin-metabox.php:2110
1418
+ msgid "Meta Key"
1419
+ msgstr ""
1420
+
1421
+ #: includes/admin/core/class-admin-metabox.php:2104
1422
+ msgid ""
1423
+ "The meta key cannot be changed for duplicated fields or when editing an "
1424
+ "existing field. If you require a different meta key please create a new "
1425
+ "field."
1426
+ msgstr ""
1427
+
1428
+ #: includes/admin/core/class-admin-metabox.php:2110
1429
+ msgid ""
1430
+ "A meta key is required to store the entered info in this field in the "
1431
+ "database. The meta key should be unique to this field and be written in "
1432
+ "lowercase with an underscore ( _ ) separating words e.g country_list or "
1433
+ "job_title"
1434
+ msgstr ""
1435
+
1436
+ #: includes/admin/core/class-admin-metabox.php:2123
1437
+ msgid "Help Text"
1438
+ msgstr ""
1439
+
1440
+ #: includes/admin/core/class-admin-metabox.php:2123
1441
+ msgid ""
1442
+ "This is the text that appears in a tooltip when a user hovers over the info "
1443
+ "icon. Help text is useful for providing users with more information about "
1444
+ "what they should enter in the field. Leave blank if no help text is needed "
1445
+ "for field."
1446
+ msgstr ""
1447
+
1448
+ #: includes/admin/core/class-admin-metabox.php:2135
1449
+ msgid "Default Text"
1450
+ msgstr ""
1451
+
1452
+ #: includes/admin/core/class-admin-metabox.php:2135
1453
+ msgid "Text to display by default in this field"
1454
+ msgstr ""
1455
+
1456
+ #: includes/admin/core/class-admin-metabox.php:2141
1457
+ msgid "Default Date"
1458
+ msgstr ""
1459
+
1460
+ #: includes/admin/core/class-admin-metabox.php:2141
1461
+ #: includes/admin/core/class-admin-metabox.php:2147
1462
+ msgid ""
1463
+ "You may use all PHP compatible date formats such as: 2020-02-02, 02/02/2020, "
1464
+ "yesterday, today, tomorrow, next monday, first day of next month, +3 day"
1465
+ msgstr ""
1466
+
1467
+ #: includes/admin/core/class-admin-metabox.php:2147
1468
+ msgid "Default Time"
1469
+ msgstr ""
1470
+
1471
+ #: includes/admin/core/class-admin-metabox.php:2153
1472
+ msgid "Default Rating"
1473
+ msgstr ""
1474
+
1475
+ #: includes/admin/core/class-admin-metabox.php:2153
1476
  msgid ""
1477
  "If you wish the rating field to be prefilled with a number of stars, enter "
1478
  "it here."
1479
  msgstr ""
1480
 
1481
+ #: includes/admin/core/class-admin-metabox.php:2159
1482
  msgid "Default Value"
1483
  msgstr ""
1484
 
1485
+ #: includes/admin/core/class-admin-metabox.php:2159
1486
  msgid ""
1487
  "This option allows you to pre-fill the field with a default value prior to "
1488
  "the user entering a value in the field. Leave blank to have no default value"
1489
  msgstr ""
1490
 
1491
+ #: includes/admin/core/class-admin-metabox.php:2171
1492
+ msgid "Label"
1493
+ msgstr ""
1494
+
1495
+ #: includes/admin/core/class-admin-metabox.php:2171
1496
  msgid ""
1497
  "The field label is the text that appears above the field on your front-end "
1498
  "form. Leave blank to not show a label above field."
1499
  msgstr ""
1500
 
1501
+ #: includes/admin/core/class-admin-metabox.php:2181
1502
+ msgid "Placeholder"
1503
+ msgstr ""
1504
+
1505
+ #: includes/admin/core/class-admin-metabox.php:2181
1506
  msgid ""
1507
  "This is the text that appears within the field e.g please enter your email "
1508
  "address. Leave blank to not show any placeholder text."
1509
  msgstr ""
1510
 
1511
+ #: includes/admin/core/class-admin-metabox.php:2191
1512
  msgid ""
1513
  "Field privacy allows you to select who can view this field on the front-end. "
1514
  "The site admin can view all fields regardless of the option set here."
1515
  msgstr ""
1516
 
1517
+ #: includes/admin/core/class-admin-metabox.php:2194
1518
+ #: includes/class-config.php:134 includes/class-config.php:759
1519
+ msgid "Members"
1520
+ msgstr ""
1521
+
1522
+ #: includes/admin/core/class-admin-metabox.php:2195
1523
+ msgid "Only visible to profile owner and admins"
1524
+ msgstr ""
1525
+
1526
+ #: includes/admin/core/class-admin-metabox.php:2196
1527
+ msgid "Only visible to profile owner and specific roles"
1528
+ msgstr ""
1529
+
1530
+ #: includes/admin/core/class-admin-metabox.php:2197
1531
+ msgid "Only specific member roles"
1532
+ msgstr ""
1533
+
1534
+ #: includes/admin/core/class-admin-metabox.php:2214
1535
+ msgid "Select member roles"
1536
+ msgstr ""
1537
+
1538
+ #: includes/admin/core/class-admin-metabox.php:2214
1539
  msgid "Select the member roles that can view this field on the front-end."
1540
  msgstr ""
1541
 
1542
+ #: includes/admin/core/class-admin-metabox.php:2240
1543
+ msgid "Is this field required?"
1544
+ msgstr ""
1545
+
1546
+ #: includes/admin/core/class-admin-metabox.php:2240
1547
  msgid ""
1548
  "This option allows you to set whether the field must be filled in before the "
1549
  "form can be processed."
1550
  msgstr ""
1551
 
1552
+ #: includes/admin/core/class-admin-metabox.php:2254
1553
+ msgid "Can user edit this field?"
1554
+ msgstr ""
1555
+
1556
+ #: includes/admin/core/class-admin-metabox.php:2254
1557
  msgid ""
1558
  "This option allows you to set whether or not the user can edit the "
1559
  "information in this field."
1560
  msgstr ""
1561
 
1562
+ #: includes/admin/core/class-admin-metabox.php:2267
1563
+ msgid "Rating System"
1564
+ msgstr ""
1565
+
1566
+ #: includes/admin/core/class-admin-metabox.php:2267
1567
  msgid "Choose whether you want a 5-stars or 10-stars ratings based here."
1568
  msgstr ""
1569
 
1570
+ #: includes/admin/core/class-admin-metabox.php:2269
1571
+ msgid "5 stars rating system"
1572
+ msgstr ""
1573
+
1574
+ #: includes/admin/core/class-admin-metabox.php:2270
1575
+ msgid "10 stars rating system"
1576
+ msgstr ""
1577
+
1578
+ #: includes/admin/core/class-admin-metabox.php:2280
1579
+ msgid "Choices Callback"
1580
+ msgstr ""
1581
+
1582
+ #: includes/admin/core/class-admin-metabox.php:2280
1583
  msgid "Add a callback source to retrieve choices."
1584
  msgstr ""
1585
 
1586
+ #: includes/admin/core/class-admin-metabox.php:2291
1587
  msgid "Parent Option"
1588
  msgstr ""
1589
 
1590
+ #: includes/admin/core/class-admin-metabox.php:2291
1591
  msgid "Dynamically populates the option based from selected parent option."
1592
  msgstr ""
1593
 
1594
+ #: includes/admin/core/class-admin-metabox.php:2293
1595
  msgid "No Selected"
1596
  msgstr ""
1597
 
1623
  msgid "Select the member roles that can see this link"
1624
  msgstr ""
1625
 
1626
+ #: includes/admin/core/class-admin-notices.php:283
1627
  #, php-format
1628
  msgid ""
1629
  "<strong>%s %s</strong> requires 2.0 extensions. You have pre 2.0 extensions "
1631
  "versions. For more info see this <a href=\"%s\" target=\"_blank\">doc</a>."
1632
  msgstr ""
1633
 
1634
+ #: includes/admin/core/class-admin-notices.php:304
1635
  #, php-format
1636
  msgid ""
1637
  "%s needs to create several pages (User Profiles, Account, Registration, "
1638
  "Login, Password Reset, Logout, Member Directory) to function correctly."
1639
  msgstr ""
1640
 
1641
+ #: includes/admin/core/class-admin-notices.php:308
1642
  msgid "Create Pages"
1643
  msgstr ""
1644
 
1645
+ #: includes/admin/core/class-admin-notices.php:310
1646
+ #: includes/admin/core/class-admin-notices.php:504
1647
  msgid "No thanks"
1648
  msgstr ""
1649
 
1650
+ #: includes/admin/core/class-admin-notices.php:330
1651
  msgid "Ultimate Member Setup Error: User page can not be a child page."
1652
  msgstr ""
1653
 
1654
+ #: includes/admin/core/class-admin-notices.php:340
1655
  msgid "Ultimate Member Setup Error: Account page can not be a child page."
1656
  msgstr ""
1657
 
1658
+ #: includes/admin/core/class-admin-notices.php:358
1659
  #, php-format
1660
  msgid ""
1661
  "Exif is not enabled on your server. Mobile photo uploads will not be rotated "
1663
  "notice</a>"
1664
  msgstr ""
1665
 
1666
+ #: includes/admin/core/class-admin-notices.php:393
1667
  #, php-format
1668
  msgid ""
1669
  "Are you sure you want to delete the selected user(s)? The following users "
1670
  "will be deleted: <p>%s</p> <strong>This cannot be undone!</strong>"
1671
  msgstr ""
1672
 
1673
+ #: includes/admin/core/class-admin-notices.php:394
1674
  msgid "Undo"
1675
  msgstr ""
1676
 
1677
+ #: includes/admin/core/class-admin-notices.php:399
1678
  msgid "Your translation files have been updated successfully."
1679
  msgstr ""
1680
 
1681
+ #: includes/admin/core/class-admin-notices.php:403
1682
  msgid "Your temp uploads directory is now clean."
1683
  msgstr ""
1684
 
1685
+ #: includes/admin/core/class-admin-notices.php:407
1686
  msgid "Your user cache is now removed."
1687
  msgstr ""
1688
 
1689
+ #: includes/admin/core/class-admin-notices.php:411
1690
  msgid "You have the latest updates."
1691
  msgstr ""
1692
 
1693
+ #: includes/admin/core/class-admin-notices.php:415
1694
  msgid "Try again later. You can run this action once daily."
1695
  msgstr ""
1696
 
1697
+ #: includes/admin/core/class-admin-notices.php:419
1698
  msgid "The form has been duplicated successfully."
1699
  msgstr ""
1700
 
1701
+ #: includes/admin/core/class-admin-notices.php:423
1702
  msgid "User has been updated."
1703
  msgstr ""
1704
 
1705
+ #: includes/admin/core/class-admin-notices.php:427
1706
  msgid "Users have been updated."
1707
  msgstr ""
1708
 
1709
+ #: includes/admin/core/class-admin-notices.php:431
1710
  msgid "Changed roles."
1711
  msgstr ""
1712
 
1713
+ #: includes/admin/core/class-admin-notices.php:435
1714
  msgid "Super administrators cannot be modified."
1715
  msgstr ""
1716
 
1717
+ #: includes/admin/core/class-admin-notices.php:436
1718
  msgid "Other users have been updated."
1719
  msgstr ""
1720
 
1721
+ #: includes/admin/core/class-admin-notices.php:473
1722
  #, php-format
1723
  msgid ""
1724
  "You have installed <strong>%s</strong> with wrong folder name. Correct "
1725
  "folder name is <strong>\"ultimate-member\"</strong>."
1726
  msgstr ""
1727
 
1728
+ #: includes/admin/core/class-admin-notices.php:498
1729
  #, php-format
1730
  msgid ""
1731
  "Thanks for installing <strong>%s</strong>! We hope you like the plugin. To "
1735
  "a>."
1736
  msgstr ""
1737
 
1738
+ #: includes/admin/core/class-admin-notices.php:502
1739
  #, php-format
1740
  msgid "Claim 20% discount code"
1741
  msgstr ""
1742
 
1743
+ #: includes/admin/core/class-admin-notices.php:541
1744
  #, php-format
1745
  msgid ""
1746
  "There are %d inactive %s license keys for this site. This site is not "
1748
  "\">www.ultimatemember.com</a>."
1749
  msgstr ""
1750
 
1751
+ #: includes/admin/core/class-admin-notices.php:548
1752
  #, php-format
1753
  msgid ""
1754
  "You have %d invalid or expired license keys for %s. Please go to the <a href="
1755
  "\"%s\">Licenses page</a> to correct this issue."
1756
  msgstr ""
1757
 
1758
+ #: includes/admin/core/class-admin-notices.php:562
1759
  #, php-format
1760
  msgid ""
1761
  "<strong>%s version %s</strong> needs to be updated to work correctly.<br /"
1764
  "\"Upgrade\"</a> page and run the upgrade process."
1765
  msgstr ""
1766
 
1767
+ #: includes/admin/core/class-admin-notices.php:566
1768
  msgid "Upgrade Now"
1769
  msgstr ""
1770
 
1771
+ #: includes/admin/core/class-admin-notices.php:580
1772
  #, php-format
1773
  msgid "<strong>%s %s</strong> Successfully Upgraded"
1774
  msgstr ""
1775
 
1776
+ #: includes/admin/core/class-admin-notices.php:606
1777
  #, php-format
1778
  msgid ""
1779
  "Hey there! It's been one month since you installed %s. How have you found "
1780
  "the plugin so far?"
1781
  msgstr ""
1782
 
1783
+ #: includes/admin/core/class-admin-notices.php:609
1784
  msgid "I love it!"
1785
  msgstr ""
1786
 
1787
+ #: includes/admin/core/class-admin-notices.php:610
1788
  msgid "It's good but could be better"
1789
  msgstr ""
1790
 
1791
+ #: includes/admin/core/class-admin-notices.php:611
1792
  msgid "I don't like the plugin"
1793
  msgstr ""
1794
 
1795
+ #: includes/admin/core/class-admin-notices.php:616
1796
  #, php-format
1797
  msgid ""
1798
  "Great! We're happy to hear that you love the plugin. It would be amazing if "
1801
  "appreciated by us!"
1802
  msgstr ""
1803
 
1804
+ #: includes/admin/core/class-admin-notices.php:620
1805
  msgid "Leave Review"
1806
  msgstr ""
1807
 
1808
+ #: includes/admin/core/class-admin-notices.php:625
1809
  msgid ""
1810
  "We're glad to hear that you like the plugin but we would love to get your "
1811
  "feedback so we can make the plugin better."
1812
  msgstr ""
1813
 
1814
+ #: includes/admin/core/class-admin-notices.php:629
1815
+ #: includes/admin/core/class-admin-notices.php:638
1816
  msgid "Provide Feedback"
1817
  msgstr ""
1818
 
1819
+ #: includes/admin/core/class-admin-notices.php:634
1820
  #, php-format
1821
  msgid ""
1822
  "We're sorry to hear that. If you're having the issue with the plugin you can "
1826
  "like about the plugin you can tell us know by giving us feedback."
1827
  msgstr ""
1828
 
1829
+ #: includes/admin/core/class-admin-notices.php:660
1830
  #, php-format
1831
  msgid ""
1832
  "<strong>%s</strong> future plans! Detailed future list is <a href=\"%s\" "
1833
  "target=\"_blank\">here</a>"
1834
  msgstr ""
1835
 
1836
+ #: includes/admin/core/class-admin-notices.php:676
1837
  msgid "Wrong Data"
1838
  msgstr ""
1839
 
1840
+ #: includes/admin/core/class-admin-settings.php:108
1841
+ #: includes/admin/core/class-admin-settings.php:117
1842
  #, php-format
1843
  msgid "%s page"
1844
  msgstr ""
1845
 
1846
+ #: includes/admin/core/class-admin-settings.php:109
1847
  msgid "Add page ID"
1848
  msgstr ""
1849
 
1850
+ #: includes/admin/core/class-admin-settings.php:119
1851
  msgid "Choose a page..."
1852
  msgstr ""
1853
 
1854
+ #: includes/admin/core/class-admin-settings.php:131
1855
  msgid "Enable profile menu"
1856
  msgstr ""
1857
 
1858
+ #: includes/admin/core/class-admin-settings.php:155
1859
+ #: includes/admin/core/class-admin-settings.php:166
1860
  #, php-format
1861
  msgid "%s Tab"
1862
  msgstr ""
1863
 
1864
+ #: includes/admin/core/class-admin-settings.php:173
1865
  #, php-format
1866
  msgid "Who can see %s Tab?"
1867
  msgstr ""
1868
 
1869
+ #: includes/admin/core/class-admin-settings.php:174
1870
  msgid "Select which users can view this tab."
1871
  msgstr ""
1872
 
1873
+ #: includes/admin/core/class-admin-settings.php:183
1874
  msgid "Allowed roles"
1875
  msgstr ""
1876
 
1877
+ #: includes/admin/core/class-admin-settings.php:184
1878
  msgid "Select the the user roles allowed to view this tab."
1879
  msgstr ""
1880
 
1881
+ #: includes/admin/core/class-admin-settings.php:186
1882
  msgid "Choose user roles..."
1883
  msgstr ""
1884
 
1885
+ #: includes/admin/core/class-admin-settings.php:199
1886
  msgid "Profile menu default tab"
1887
  msgstr ""
1888
 
1889
+ #: includes/admin/core/class-admin-settings.php:200
1890
  msgid "This will be the default tab on user profile page"
1891
  msgstr ""
1892
 
1893
+ #: includes/admin/core/class-admin-settings.php:210
1894
  msgid "Enable menu icons in desktop view"
1895
  msgstr ""
1896
 
1897
+ #: includes/admin/core/class-admin-settings.php:263
1898
  msgid "Global Site Access"
1899
  msgstr ""
1900
 
1901
+ #: includes/admin/core/class-admin-settings.php:264
1902
  msgid ""
1903
  "Globally control the access of your site, you can have seperate restrict "
1904
  "options per post/page by editing the desired item."
1905
  msgstr ""
1906
 
1907
+ #: includes/admin/core/class-admin-settings.php:266
1908
+ msgid "Site accessible to Everyone"
1909
+ msgstr ""
1910
+
1911
+ #: includes/admin/core/class-admin-settings.php:267
1912
+ msgid "Site accessible to Logged In Users"
1913
+ msgstr ""
1914
+
1915
+ #: includes/admin/core/class-admin-settings.php:274
1916
  msgid "Custom Redirect URL"
1917
  msgstr ""
1918
 
1919
+ #: includes/admin/core/class-admin-settings.php:275
1920
  msgid ""
1921
  "A logged out user will be redirected to this url If he is not permitted to "
1922
  "access the site"
1923
  msgstr ""
1924
 
1925
+ #: includes/admin/core/class-admin-settings.php:281
1926
  msgid "Exclude the following URLs"
1927
  msgstr ""
1928
 
1929
+ #: includes/admin/core/class-admin-settings.php:282
1930
  msgid ""
1931
  "Here you can exclude URLs beside the redirect URI to be accessible to "
1932
  "everyone"
1933
  msgstr ""
1934
 
1935
+ #: includes/admin/core/class-admin-settings.php:283
1936
  msgid "Add New URL"
1937
  msgstr ""
1938
 
1939
+ #: includes/admin/core/class-admin-settings.php:290
1940
  msgid "Allow Homepage to be accessible"
1941
  msgstr ""
1942
 
1943
+ #: includes/admin/core/class-admin-settings.php:296
1944
  msgid "Allow Category pages to be accessible"
1945
  msgstr ""
1946
 
1947
+ #: includes/admin/core/class-admin-settings.php:302
1948
  msgid "Restricted Access Message"
1949
  msgstr ""
1950
 
1951
+ #: includes/admin/core/class-admin-settings.php:303
1952
  msgid ""
1953
  "This is the message shown to users that do not have permission to view the "
1954
  "content"
1955
  msgstr ""
1956
 
1957
+ #: includes/admin/core/class-admin-settings.php:312
1958
  msgid "Allow Gutenberg Blocks restriction options"
1959
  msgstr ""
1960
 
1961
+ #: includes/admin/core/class-admin-settings.php:317
1962
  msgid "Restricted Block Message"
1963
  msgstr ""
1964
 
1965
+ #: includes/admin/core/class-admin-settings.php:318
1966
  msgid ""
1967
  "This is the message shown to users that do not have permission to view the "
1968
  "block's content"
1969
  msgstr ""
1970
 
1971
+ #: includes/admin/core/class-admin-settings.php:336
1972
  msgid "Restricted Access to Posts"
1973
  msgstr ""
1974
 
1975
+ #: includes/admin/core/class-admin-settings.php:337
1976
  msgid "Restriction content of the current Posts"
1977
  msgstr ""
1978
 
1979
+ #: includes/admin/core/class-admin-settings.php:346
1980
  msgid "Restricted Access to Taxonomies"
1981
  msgstr ""
1982
 
1983
+ #: includes/admin/core/class-admin-settings.php:347
1984
  msgid "Restriction content of the current Taxonomies"
1985
  msgstr ""
1986
 
1987
+ #: includes/admin/core/class-admin-settings.php:377
1988
  msgid "General"
1989
  msgstr ""
1990
 
1991
+ #: includes/admin/core/class-admin-settings.php:380
1992
  msgid "Pages"
1993
  msgstr ""
1994
 
1995
+ #: includes/admin/core/class-admin-settings.php:384
1996
+ #: includes/admin/templates/dashboard/users.php:15
1997
  msgid "Users"
1998
  msgstr ""
1999
 
2000
+ #: includes/admin/core/class-admin-settings.php:390
2001
  msgid "Profile Permalink Base"
2002
  msgstr ""
2003
 
2004
+ #: includes/admin/core/class-admin-settings.php:391
2005
  msgid ""
2006
  "Here you can control the permalink structure of the user profile URL "
2007
  "globally e.g. "
2008
  msgstr ""
2009
 
2010
+ #: includes/admin/core/class-admin-settings.php:393
2011
+ #: includes/admin/core/class-admin-settings.php:410
2012
  #: includes/core/class-builtin.php:674 includes/core/class-builtin.php:677
2013
  msgid "Username"
2014
  msgstr ""
2015
 
2016
+ #: includes/admin/core/class-admin-settings.php:394
2017
  msgid "First and Last Name with '.'"
2018
  msgstr ""
2019
 
2020
+ #: includes/admin/core/class-admin-settings.php:395
2021
  msgid "First and Last Name with '-'"
2022
  msgstr ""
2023
 
2024
+ #: includes/admin/core/class-admin-settings.php:396
2025
  msgid "First and Last Name with '+'"
2026
  msgstr ""
2027
 
2028
+ #: includes/admin/core/class-admin-settings.php:397
2029
  msgid "User ID"
2030
  msgstr ""
2031
 
2032
+ #: includes/admin/core/class-admin-settings.php:399
2033
+ #: includes/admin/core/class-admin-settings.php:418
2034
  msgid "Select..."
2035
  msgstr ""
2036
 
2037
+ #: includes/admin/core/class-admin-settings.php:405
2038
  msgid "User Display Name"
2039
  msgstr ""
2040
 
2041
+ #: includes/admin/core/class-admin-settings.php:406
2042
  msgid ""
2043
  "This is the name that will be displayed for users on the front end of your "
2044
  "site. Default setting uses first/last name as display name if it exists"
2045
  msgstr ""
2046
 
2047
+ #: includes/admin/core/class-admin-settings.php:408
2048
  msgid "Default WP Display Name"
2049
  msgstr ""
2050
 
2051
+ #: includes/admin/core/class-admin-settings.php:409
2052
  #: includes/core/class-builtin.php:732 includes/core/class-builtin.php:735
2053
  msgid "Nickname"
2054
  msgstr ""
2055
 
2056
+ #: includes/admin/core/class-admin-settings.php:411
2057
  msgid "First name & last name"
2058
  msgstr ""
2059
 
2060
+ #: includes/admin/core/class-admin-settings.php:412
2061
  msgid "Last name & first name"
2062
  msgstr ""
2063
 
2064
+ #: includes/admin/core/class-admin-settings.php:413
2065
  msgid "First name & first initial of last name"
2066
  msgstr ""
2067
 
2068
+ #: includes/admin/core/class-admin-settings.php:414
2069
  msgid "First initial of first name & last name"
2070
  msgstr ""
2071
 
2072
+ #: includes/admin/core/class-admin-settings.php:415
2073
  msgid "First name only"
2074
  msgstr ""
2075
 
2076
+ #: includes/admin/core/class-admin-settings.php:416
2077
  msgid "Custom field(s)"
2078
  msgstr ""
2079
 
2080
+ #: includes/admin/core/class-admin-settings.php:423
2081
  msgid "Display Name Custom Field(s)"
2082
  msgstr ""
2083
 
2084
+ #: includes/admin/core/class-admin-settings.php:424
2085
  msgid ""
2086
  "Specify the custom field meta key or custom fields seperated by comma that "
2087
  "you want to use to display users name on the frontend of your site"
2088
  msgstr ""
2089
 
2090
+ #: includes/admin/core/class-admin-settings.php:430
2091
  msgid "Automatically redirect author page to their profile?"
2092
  msgstr ""
2093
 
2094
+ #: includes/admin/core/class-admin-settings.php:431
2095
  msgid ""
2096
  "If enabled, author pages will automatically redirect to the user's profile "
2097
  "page"
2098
  msgstr ""
2099
 
2100
+ #: includes/admin/core/class-admin-settings.php:436
2101
  msgid "Enable Members Directory"
2102
  msgstr ""
2103
 
2104
+ #: includes/admin/core/class-admin-settings.php:437
2105
  msgid "Control whether to enable or disable member directories on this site"
2106
  msgstr ""
2107
 
2108
+ #: includes/admin/core/class-admin-settings.php:442
2109
  msgid "Use Gravatars?"
2110
  msgstr ""
2111
 
2112
+ #: includes/admin/core/class-admin-settings.php:443
2113
  msgid ""
2114
  "Do you want to use gravatars instead of the default plugin profile photo (If "
2115
  "the user did not upload a custom profile photo / avatar)"
2116
  msgstr ""
2117
 
2118
+ #: includes/admin/core/class-admin-settings.php:448
2119
  msgid "Use Gravatar builtin image"
2120
  msgstr ""
2121
 
2122
+ #: includes/admin/core/class-admin-settings.php:449
2123
  msgid ""
2124
  "Gravatar has a number of built in options which you can also use as defaults"
2125
  msgstr ""
2126
 
2127
+ #: includes/admin/core/class-admin-settings.php:452
2128
  msgid "404 ( File Not Found response )"
2129
  msgstr ""
2130
 
2131
+ #: includes/admin/core/class-admin-settings.php:453
2132
  msgid "Mystery Man"
2133
  msgstr ""
2134
 
2135
+ #: includes/admin/core/class-admin-settings.php:454
2136
  msgid "Identicon"
2137
  msgstr ""
2138
 
2139
+ #: includes/admin/core/class-admin-settings.php:455
2140
  msgid "Monsterid"
2141
  msgstr ""
2142
 
2143
+ #: includes/admin/core/class-admin-settings.php:456
2144
  msgid "Wavatar"
2145
  msgstr ""
2146
 
2147
+ #: includes/admin/core/class-admin-settings.php:457
2148
  msgid "Retro"
2149
  msgstr ""
2150
 
2151
+ #: includes/admin/core/class-admin-settings.php:458
2152
  msgid "Blank ( a transparent PNG image )"
2153
  msgstr ""
2154
 
2155
+ #: includes/admin/core/class-admin-settings.php:466
2156
  msgid "Use Default plugin avatar as Gravatar's Default avatar"
2157
  msgstr ""
2158
 
2159
+ #: includes/admin/core/class-admin-settings.php:467
2160
  msgid ""
2161
  "Do you want to use the plugin default avatar instead of the gravatar default "
2162
  "photo (If the user did not upload a custom profile photo / avatar)"
2163
  msgstr ""
2164
 
2165
+ #: includes/admin/core/class-admin-settings.php:473
2166
  msgid "Require a strong password? (when user resets password only)"
2167
  msgstr ""
2168
 
2169
+ #: includes/admin/core/class-admin-settings.php:474
2170
  msgid ""
2171
  "Enable or disable a strong password rules on password reset and change "
2172
  "procedure"
2173
  msgstr ""
2174
 
2175
+ #: includes/admin/core/class-admin-settings.php:479
2176
  #: includes/class-config.php:136 includes/class-config.php:761
2177
+ #: includes/core/class-account.php:93
2178
  msgid "Account"
2179
  msgstr ""
2180
 
2181
+ #: includes/admin/core/class-admin-settings.php:484
2182
  msgid "Password Account Tab"
2183
  msgstr ""
2184
 
2185
+ #: includes/admin/core/class-admin-settings.php:490
2186
  msgid "Privacy Account Tab"
2187
  msgstr ""
2188
 
2189
+ #: includes/admin/core/class-admin-settings.php:491
2190
  msgid "Enable/disable the Privacy account tab in account page"
2191
  msgstr ""
2192
 
2193
+ #: includes/admin/core/class-admin-settings.php:496
2194
  msgid "Notifications Account Tab"
2195
  msgstr ""
2196
 
2197
+ #: includes/admin/core/class-admin-settings.php:497
2198
  msgid "Enable/disable the Notifications account tab in account page"
2199
  msgstr ""
2200
 
2201
+ #: includes/admin/core/class-admin-settings.php:502
2202
  msgid "Delete Account Tab"
2203
  msgstr ""
2204
 
2205
+ #: includes/admin/core/class-admin-settings.php:503
2206
  msgid "Enable/disable the Delete account tab in account page"
2207
  msgstr ""
2208
 
2209
+ #: includes/admin/core/class-admin-settings.php:508
2210
  msgid "Account Deletion Custom Text"
2211
  msgstr ""
2212
 
2213
+ #: includes/admin/core/class-admin-settings.php:509
2214
  msgid ""
2215
  "This is custom text that will be displayed to users before they delete their "
2216
  "accounts from your site"
2217
  msgstr ""
2218
 
2219
+ #: includes/admin/core/class-admin-settings.php:517
2220
  msgid "Add a First & Last Name fields"
2221
  msgstr ""
2222
 
2223
+ #: includes/admin/core/class-admin-settings.php:518
2224
  msgid ""
2225
  "Whether to enable these fields on the user account page by default or hide "
2226
  "them."
2227
  msgstr ""
2228
 
2229
+ #: includes/admin/core/class-admin-settings.php:523
2230
  msgid "Disable First & Last Name fields"
2231
  msgstr ""
2232
 
2233
+ #: includes/admin/core/class-admin-settings.php:524
2234
  msgid ""
2235
  "Whether to allow users changing their first and last name in account page."
2236
  msgstr ""
2237
 
2238
+ #: includes/admin/core/class-admin-settings.php:530
2239
  msgid "Require First & Last Name"
2240
  msgstr ""
2241
 
2242
+ #: includes/admin/core/class-admin-settings.php:531
2243
  msgid "Require first and last name?"
2244
  msgstr ""
2245
 
2246
+ #: includes/admin/core/class-admin-settings.php:537
2247
  msgid "Allow users to change e-mail"
2248
  msgstr ""
2249
 
2250
+ #: includes/admin/core/class-admin-settings.php:538
2251
  msgid "Whether to allow users changing their email in account page."
2252
  msgstr ""
2253
 
2254
+ #: includes/admin/core/class-admin-settings.php:543
2255
  msgid "Password is required?"
2256
  msgstr ""
2257
 
2258
+ #: includes/admin/core/class-admin-settings.php:544
2259
  msgid "Password is required to save account data."
2260
  msgstr ""
2261
 
2262
+ #: includes/admin/core/class-admin-settings.php:549
2263
  msgid "Allow users to hide their profiles from directory"
2264
  msgstr ""
2265
 
2266
+ #: includes/admin/core/class-admin-settings.php:550
2267
  msgid ""
2268
  "Whether to allow users changing their profile visibility from member "
2269
  "directory in account page."
2270
  msgstr ""
2271
 
2272
+ #: includes/admin/core/class-admin-settings.php:555
2273
  msgid "Require a strong password?"
2274
  msgstr ""
2275
 
2276
+ #: includes/admin/core/class-admin-settings.php:556
2277
  msgid ""
2278
  "Enable or disable a strong password rules on account page / change password "
2279
  "tab"
2280
  msgstr ""
2281
 
2282
+ #: includes/admin/core/class-admin-settings.php:561
2283
  msgid "Uploads"
2284
  msgstr ""
2285
 
2286
+ #: includes/admin/core/class-admin-settings.php:567
2287
  msgid "Profile Photo Maximum File Size (bytes)"
2288
  msgstr ""
2289
 
2290
+ #: includes/admin/core/class-admin-settings.php:568
2291
  msgid "Sets a maximum size for the uploaded photo"
2292
  msgstr ""
2293
 
2294
+ #: includes/admin/core/class-admin-settings.php:575
2295
  msgid "Cover Photo Maximum File Size (bytes)"
2296
  msgstr ""
2297
 
2298
+ #: includes/admin/core/class-admin-settings.php:576
2299
  msgid "Sets a maximum size for the uploaded cover"
2300
  msgstr ""
2301
 
2302
+ #: includes/admin/core/class-admin-settings.php:582
2303
  msgid "Profile Photo Thumbnail Sizes (px)"
2304
  msgstr ""
2305
 
2306
+ #: includes/admin/core/class-admin-settings.php:583
2307
  msgid ""
2308
  "Here you can define which thumbnail sizes will be created for each profile "
2309
  "photo upload."
2310
  msgstr ""
2311
 
2312
+ #: includes/admin/core/class-admin-settings.php:585
2313
+ #: includes/admin/core/class-admin-settings.php:595
2314
  msgid "Add New Size"
2315
  msgstr ""
2316
 
2317
+ #: includes/admin/core/class-admin-settings.php:592
2318
  msgid "Cover Photo Thumbnail Sizes (px)"
2319
  msgstr ""
2320
 
2321
+ #: includes/admin/core/class-admin-settings.php:593
2322
  msgid ""
2323
  "Here you can define which thumbnail sizes will be created for each cover "
2324
  "photo upload."
2325
  msgstr ""
2326
 
2327
+ #: includes/admin/core/class-admin-settings.php:603
2328
  msgid "Image Quality"
2329
  msgstr ""
2330
 
2331
+ #: includes/admin/core/class-admin-settings.php:604
2332
  msgid ""
2333
  "Quality is used to determine quality of image uploads, and ranges from 0 "
2334
  "(worst quality, smaller file) to 100 (best quality, biggest file). The "
2335
  "default range is 60."
2336
  msgstr ""
2337
 
2338
+ #: includes/admin/core/class-admin-settings.php:611
2339
  msgid "Image Upload Maximum Width (px)"
2340
  msgstr ""
2341
 
2342
+ #: includes/admin/core/class-admin-settings.php:612
2343
  msgid ""
2344
  "Any image upload above this width will be resized to this limit "
2345
  "automatically."
2346
  msgstr ""
2347
 
2348
+ #: includes/admin/core/class-admin-settings.php:619
2349
  msgid "Cover Photo Minimum Width (px)"
2350
  msgstr ""
2351
 
2352
+ #: includes/admin/core/class-admin-settings.php:620
2353
  msgid "This will be the minimum width for cover photo uploads"
2354
  msgstr ""
2355
 
2356
+ #: includes/admin/core/class-admin-settings.php:627
2357
  msgid "Access"
2358
  msgstr ""
2359
 
2360
+ #: includes/admin/core/class-admin-settings.php:630
2361
  msgid "Restriction Content"
2362
  msgstr ""
2363
 
2364
+ #: includes/admin/core/class-admin-settings.php:634
2365
  msgid "Other"
2366
  msgstr ""
2367
 
2368
+ #: includes/admin/core/class-admin-settings.php:639
2369
  msgid "Enable the Reset Password Limit?"
2370
  msgstr ""
2371
 
2372
+ #: includes/admin/core/class-admin-settings.php:644
2373
  msgid "Reset Password Limit"
2374
  msgstr ""
2375
 
2376
+ #: includes/admin/core/class-admin-settings.php:645
2377
  msgid ""
2378
  "Set the maximum reset password limit. If reached the maximum limit, user "
2379
  "will be locked from using this."
2380
  msgstr ""
2381
 
2382
+ #: includes/admin/core/class-admin-settings.php:653
2383
  msgid "Blocked Email Addresses"
2384
  msgstr ""
2385
 
2386
+ #: includes/admin/core/class-admin-settings.php:654
2387
  msgid ""
2388
  "This will block the specified e-mail addresses from being able to sign up or "
2389
  "sign in to your site. To block an entire domain, use something like *@domain."
2390
  "com"
2391
  msgstr ""
2392
 
2393
+ #: includes/admin/core/class-admin-settings.php:659
2394
  msgid "Blacklist Words"
2395
  msgstr ""
2396
 
2397
+ #: includes/admin/core/class-admin-settings.php:660
2398
  msgid ""
2399
  "This option lets you specify blacklist of words to prevent anyone from "
2400
  "signing up with such a word as their username"
2401
  msgstr ""
2402
 
2403
+ #: includes/admin/core/class-admin-settings.php:667
2404
  #: includes/admin/core/list-tables/emails-list-table.php:300
2405
  msgid "Email"
2406
  msgstr ""
2407
 
2408
+ #: includes/admin/core/class-admin-settings.php:672
2409
  msgid "Admin E-mail Address"
2410
  msgstr ""
2411
 
2412
+ #: includes/admin/core/class-admin-settings.php:673
2413
+ #: includes/admin/core/class-admin-settings.php:685
2414
  msgid "e.g. admin@companyname.com"
2415
  msgstr ""
2416
 
2417
+ #: includes/admin/core/class-admin-settings.php:678
2418
  msgid "Mail appears from"
2419
  msgstr ""
2420
 
2421
+ #: includes/admin/core/class-admin-settings.php:679
2422
  msgid "e.g. Site Name"
2423
  msgstr ""
2424
 
2425
+ #: includes/admin/core/class-admin-settings.php:684
2426
  msgid "Mail appears from address"
2427
  msgstr ""
2428
 
2429
+ #: includes/admin/core/class-admin-settings.php:690
2430
  msgid "Use HTML for E-mails?"
2431
  msgstr ""
2432
 
2433
+ #: includes/admin/core/class-admin-settings.php:691
2434
  msgid ""
2435
  "If you plan use e-mails with HTML, please make sure that this option is "
2436
  "enabled. Otherwise, HTML will be displayed as plain text."
2437
  msgstr ""
2438
 
2439
+ #: includes/admin/core/class-admin-settings.php:696
2440
  msgid "Appearance"
2441
  msgstr ""
2442
 
2443
+ #: includes/admin/core/class-admin-settings.php:699
2444
  msgid "Profile"
2445
  msgstr ""
2446
 
2447
+ #: includes/admin/core/class-admin-settings.php:704
2448
  msgid "Profile Default Template"
2449
  msgstr ""
2450
 
2451
+ #: includes/admin/core/class-admin-settings.php:705
2452
  msgid "This will be the default template to output profile"
2453
  msgstr ""
2454
 
2455
+ #: includes/admin/core/class-admin-settings.php:713
2456
  msgid "Profile Maximum Width"
2457
  msgstr ""
2458
 
2459
+ #: includes/admin/core/class-admin-settings.php:722
2460
  msgid "Profile Area Maximum Width"
2461
  msgstr ""
2462
 
2463
+ #: includes/admin/core/class-admin-settings.php:724
2464
+ #: includes/admin/templates/form/profile_customize.php:59
2465
  msgid ""
2466
  "The maximum width of the profile area inside profile (below profile header)"
2467
  msgstr ""
2468
 
2469
+ #: includes/admin/core/class-admin-settings.php:730
2470
  msgid "Profile Field Icons"
2471
  msgstr ""
2472
 
2473
+ #: includes/admin/core/class-admin-settings.php:731
2474
  msgid "This is applicable for edit mode only"
2475
  msgstr ""
2476
 
2477
+ #: includes/admin/core/class-admin-settings.php:734
2478
+ #: includes/admin/core/class-admin-settings.php:936
2479
+ #: includes/admin/core/class-admin-settings.php:1026
2480
+ #: includes/admin/templates/form/login_customize.php:43
2481
+ #: includes/admin/templates/form/profile_customize.php:70
2482
+ #: includes/admin/templates/form/register_customize.php:58
2483
  msgid "Show inside text field"
2484
  msgstr ""
2485
 
2486
+ #: includes/admin/core/class-admin-settings.php:735
2487
+ #: includes/admin/core/class-admin-settings.php:937
2488
+ #: includes/admin/core/class-admin-settings.php:1027
2489
+ #: includes/admin/templates/form/login_customize.php:44
2490
+ #: includes/admin/templates/form/profile_customize.php:71
2491
+ #: includes/admin/templates/form/register_customize.php:59
2492
  msgid "Show with label"
2493
  msgstr ""
2494
 
2495
+ #: includes/admin/core/class-admin-settings.php:736
2496
+ #: includes/admin/core/class-admin-settings.php:938
2497
+ #: includes/admin/core/class-admin-settings.php:1028
2498
+ #: includes/admin/templates/form/login_customize.php:45
2499
+ #: includes/admin/templates/form/profile_customize.php:72
2500
+ #: includes/admin/templates/form/register_customize.php:60
2501
  msgid "Turn off"
2502
  msgstr ""
2503
 
2504
+ #: includes/admin/core/class-admin-settings.php:743
2505
  msgid "Profile Primary Button Text"
2506
  msgstr ""
2507
 
2508
+ #: includes/admin/core/class-admin-settings.php:745
2509
  msgid "The text that is used for updating profile button"
2510
  msgstr ""
2511
 
2512
+ #: includes/admin/core/class-admin-settings.php:751
2513
  msgid "Profile Secondary Button"
2514
  msgstr ""
2515
 
2516
+ #: includes/admin/core/class-admin-settings.php:753
2517
+ #: includes/admin/core/class-admin-settings.php:955
2518
+ #: includes/admin/core/class-admin-settings.php:1045
2519
  msgid "Switch on/off the secondary button display in the form"
2520
  msgstr ""
2521
 
2522
+ #: includes/admin/core/class-admin-settings.php:758
2523
  msgid "Profile Secondary Button Text"
2524
  msgstr ""
2525
 
2526
+ #: includes/admin/core/class-admin-settings.php:760
2527
  msgid "The text that is used for cancelling update profile button"
2528
  msgstr ""
2529
 
2530
+ #: includes/admin/core/class-admin-settings.php:767
2531
  msgid "Default Profile Photo"
2532
  msgstr ""
2533
 
2534
+ #: includes/admin/core/class-admin-settings.php:768
2535
  msgid ""
2536
  "You can change the default profile picture globally here. Please make sure "
2537
  "that the photo is 300x300px."
2538
  msgstr ""
2539
 
2540
+ #: includes/admin/core/class-admin-settings.php:769
2541
  msgid "Select Default Profile Photo"
2542
  msgstr ""
2543
 
2544
+ #: includes/admin/core/class-admin-settings.php:779
2545
  msgid "Default Cover Photo"
2546
  msgstr ""
2547
 
2548
+ #: includes/admin/core/class-admin-settings.php:780
2549
  msgid ""
2550
  "You can change the default cover photo globally here. Please make sure that "
2551
  "the default cover is large enough and respects the ratio you are using for "
2552
  "cover photos."
2553
  msgstr ""
2554
 
2555
+ #: includes/admin/core/class-admin-settings.php:781
2556
  msgid "Select Default Cover Photo"
2557
  msgstr ""
2558
 
2559
+ #: includes/admin/core/class-admin-settings.php:786
2560
+ #: includes/admin/templates/form/profile_customize.php:131
2561
  msgid "Disable Profile Photo Upload"
2562
  msgstr ""
2563
 
2564
+ #: includes/admin/core/class-admin-settings.php:787
2565
+ #: includes/admin/templates/form/profile_customize.php:132
2566
  msgid "Switch on/off the profile photo uploader"
2567
  msgstr ""
2568
 
2569
+ #: includes/admin/core/class-admin-settings.php:792
2570
+ #: includes/admin/templates/form/profile_customize.php:143
2571
  msgid "Profile Photo Size"
2572
  msgstr ""
2573
 
2574
+ #: includes/admin/core/class-admin-settings.php:794
2575
  msgid ""
2576
  "The global default of profile photo size. This can be overridden by "
2577
  "individual form settings"
2578
  msgstr ""
2579
 
2580
+ #: includes/admin/core/class-admin-settings.php:800
2581
  msgid "Profile Cover Photos"
2582
  msgstr ""
2583
 
2584
+ #: includes/admin/core/class-admin-settings.php:802
2585
  msgid "Switch on/off the profile cover photos"
2586
  msgstr ""
2587
 
2588
+ #: includes/admin/core/class-admin-settings.php:807
2589
  msgid "Profile Cover Ratio"
2590
  msgstr ""
2591
 
2592
+ #: includes/admin/core/class-admin-settings.php:808
2593
  msgid "Choose global ratio for cover photos of profiles"
2594
  msgstr ""
2595
 
2596
+ #: includes/admin/core/class-admin-settings.php:822
2597
  msgid "Profile Header Meta Text Icon"
2598
  msgstr ""
2599
 
2600
+ #: includes/admin/core/class-admin-settings.php:824
2601
  msgid "Display field icons for related user meta fields in header or not"
2602
  msgstr ""
2603
 
2604
+ #: includes/admin/core/class-admin-settings.php:829
2605
  msgid "Show display name in profile header"
2606
  msgstr ""
2607
 
2608
+ #: includes/admin/core/class-admin-settings.php:831
2609
  msgid "Switch on/off the user name on profile header"
2610
  msgstr ""
2611
 
2612
+ #: includes/admin/core/class-admin-settings.php:836
2613
  msgid "Show social links in profile header"
2614
  msgstr ""
2615
 
2616
+ #: includes/admin/core/class-admin-settings.php:838
2617
  msgid "Switch on/off the social links on profile header"
2618
  msgstr ""
2619
 
2620
+ #: includes/admin/core/class-admin-settings.php:843
2621
  msgid "Show user description in header"
2622
  msgstr ""
2623
 
2624
+ #: includes/admin/core/class-admin-settings.php:845
2625
  msgid "Switch on/off the user description on profile header"
2626
  msgstr ""
2627
 
2628
+ #: includes/admin/core/class-admin-settings.php:850
2629
  msgid "Enable html support for user description"
2630
  msgstr ""
2631
 
2632
+ #: includes/admin/core/class-admin-settings.php:852
2633
  msgid ""
2634
  "Switch on/off to enable/disable support for html tags on user description."
2635
  msgstr ""
2636
 
2637
+ #: includes/admin/core/class-admin-settings.php:857
2638
  msgid "User description maximum chars"
2639
  msgstr ""
2640
 
2641
+ #: includes/admin/core/class-admin-settings.php:859
2642
  msgid ""
2643
  "Maximum number of characters to allow in user description field in header."
2644
  msgstr ""
2645
 
2646
+ #: includes/admin/core/class-admin-settings.php:866
2647
  msgid "Profile Header Menu Position"
2648
  msgstr ""
2649
 
2650
+ #: includes/admin/core/class-admin-settings.php:868
2651
  msgid ""
2652
  "For incompatible themes, please make the menu open from left instead of "
2653
  "bottom by default."
2654
  msgstr ""
2655
 
2656
+ #: includes/admin/core/class-admin-settings.php:870
2657
+ msgid "Bottom of Icon"
2658
+ msgstr ""
2659
+
2660
+ #: includes/admin/core/class-admin-settings.php:871
2661
+ msgid "Left of Icon (right for RTL)"
2662
+ msgstr ""
2663
+
2664
+ #: includes/admin/core/class-admin-settings.php:878
2665
  msgid "Show a custom message if profile is empty"
2666
  msgstr ""
2667
 
2668
+ #: includes/admin/core/class-admin-settings.php:880
2669
  msgid "Switch on/off the custom message that appears when the profile is empty"
2670
  msgstr ""
2671
 
2672
+ #: includes/admin/core/class-admin-settings.php:885
2673
  msgid "Show the emoticon"
2674
  msgstr ""
2675
 
2676
+ #: includes/admin/core/class-admin-settings.php:887
2677
  msgid "Switch on/off the emoticon (sad face) that appears above the message"
2678
  msgstr ""
2679
 
2680
+ #: includes/admin/core/class-admin-settings.php:893
2681
  msgid "Profile Menu"
2682
  msgstr ""
2683
 
2684
+ #: includes/admin/core/class-admin-settings.php:897
2685
+ #: includes/admin/templates/form/mode.php:12
2686
  msgid "Registration Form"
2687
  msgstr ""
2688
 
2689
+ #: includes/admin/core/class-admin-settings.php:902
2690
  msgid "Registration Default Template"
2691
  msgstr ""
2692
 
2693
+ #: includes/admin/core/class-admin-settings.php:903
2694
  msgid "This will be the default template to output registration"
2695
  msgstr ""
2696
 
2697
+ #: includes/admin/core/class-admin-settings.php:911
2698
  msgid "Registration Maximum Width"
2699
  msgstr ""
2700
 
2701
+ #: includes/admin/core/class-admin-settings.php:913
2702
+ #: includes/admin/core/class-admin-settings.php:1003
2703
  msgid "The maximum width this shortcode can take from the page width"
2704
  msgstr ""
2705
 
2706
+ #: includes/admin/core/class-admin-settings.php:919
2707
  msgid "Registration Shortcode Alignment"
2708
  msgstr ""
2709
 
2710
+ #: includes/admin/core/class-admin-settings.php:920
2711
+ #: includes/admin/core/class-admin-settings.php:1010
2712
+ #: includes/admin/templates/form/profile_customize.php:118
2713
  msgid "The shortcode is centered by default unless you specify otherwise here"
2714
  msgstr ""
2715
 
2716
+ #: includes/admin/core/class-admin-settings.php:923
2717
+ #: includes/admin/core/class-admin-settings.php:1013
2718
  msgid "Centered"
2719
  msgstr ""
2720
 
2721
+ #: includes/admin/core/class-admin-settings.php:924
2722
+ #: includes/admin/core/class-admin-settings.php:1014
2723
  msgid "Left aligned"
2724
  msgstr ""
2725
 
2726
+ #: includes/admin/core/class-admin-settings.php:925
2727
+ #: includes/admin/core/class-admin-settings.php:1015
2728
  msgid "Right aligned"
2729
  msgstr ""
2730
 
2731
+ #: includes/admin/core/class-admin-settings.php:932
2732
  msgid "Registration Field Icons"
2733
  msgstr ""
2734
 
2735
+ #: includes/admin/core/class-admin-settings.php:933
2736
  msgid "This controls the display of field icons in the registration form"
2737
  msgstr ""
2738
 
2739
+ #: includes/admin/core/class-admin-settings.php:945
2740
  msgid "Registration Primary Button Text"
2741
  msgstr ""
2742
 
2743
+ #: includes/admin/core/class-admin-settings.php:947
2744
+ #: includes/admin/core/class-admin-settings.php:1037
2745
  msgid "The text that is used for primary button text"
2746
  msgstr ""
2747
 
2748
+ #: includes/admin/core/class-admin-settings.php:953
2749
  msgid "Registration Secondary Button"
2750
  msgstr ""
2751
 
2752
+ #: includes/admin/core/class-admin-settings.php:960
2753
  msgid "Registration Secondary Button Text"
2754
  msgstr ""
2755
 
2756
+ #: includes/admin/core/class-admin-settings.php:962
2757
+ #: includes/admin/core/class-admin-settings.php:1052
2758
  msgid "The text that is used for the secondary button text"
2759
  msgstr ""
2760
 
2761
+ #: includes/admin/core/class-admin-settings.php:969
2762
  msgid "Registration Secondary Button URL"
2763
  msgstr ""
2764
 
2765
+ #: includes/admin/core/class-admin-settings.php:971
2766
+ #: includes/admin/core/class-admin-settings.php:1061
2767
  msgid "You can replace default link for this button by entering custom URL"
2768
  msgstr ""
2769
 
2770
+ #: includes/admin/core/class-admin-settings.php:978
2771
  msgid "Registration Default Role"
2772
  msgstr ""
2773
 
2774
+ #: includes/admin/core/class-admin-settings.php:979
2775
  msgid ""
2776
  "This will be the default role assigned to users registering thru "
2777
  "registration form"
2778
  msgstr ""
2779
 
2780
+ #: includes/admin/core/class-admin-settings.php:987
2781
+ #: includes/admin/templates/form/mode.php:16
2782
  msgid "Login Form"
2783
  msgstr ""
2784
 
2785
+ #: includes/admin/core/class-admin-settings.php:992
2786
  msgid "Login Default Template"
2787
  msgstr ""
2788
 
2789
+ #: includes/admin/core/class-admin-settings.php:993
2790
  msgid "This will be the default template to output login"
2791
  msgstr ""
2792
 
2793
+ #: includes/admin/core/class-admin-settings.php:1001
2794
  msgid "Login Maximum Width"
2795
  msgstr ""
2796
 
2797
+ #: includes/admin/core/class-admin-settings.php:1009
2798
  msgid "Login Shortcode Alignment"
2799
  msgstr ""
2800
 
2801
+ #: includes/admin/core/class-admin-settings.php:1022
2802
  msgid "Login Field Icons"
2803
  msgstr ""
2804
 
2805
+ #: includes/admin/core/class-admin-settings.php:1023
2806
  msgid "This controls the display of field icons in the login form"
2807
  msgstr ""
2808
 
2809
+ #: includes/admin/core/class-admin-settings.php:1035
2810
  msgid "Login Primary Button Text"
2811
  msgstr ""
2812
 
2813
+ #: includes/admin/core/class-admin-settings.php:1043
2814
  msgid "Login Secondary Button"
2815
  msgstr ""
2816
 
2817
+ #: includes/admin/core/class-admin-settings.php:1050
2818
  msgid "Login Secondary Button Text"
2819
  msgstr ""
2820
 
2821
+ #: includes/admin/core/class-admin-settings.php:1059
2822
  msgid "Login Secondary Button URL"
2823
  msgstr ""
2824
 
2825
+ #: includes/admin/core/class-admin-settings.php:1068
2826
  msgid "Login Forgot Password Link"
2827
  msgstr ""
2828
 
2829
+ #: includes/admin/core/class-admin-settings.php:1070
2830
  msgid "Switch on/off the forgot password link in login form"
2831
  msgstr ""
2832
 
2833
+ #: includes/admin/core/class-admin-settings.php:1075
2834
  msgid "Show \"Remember Me\""
2835
  msgstr ""
2836
 
2837
+ #: includes/admin/core/class-admin-settings.php:1077
2838
  msgid ""
2839
  "Allow users to choose If they want to stay signed in even after closing the "
2840
  "browser. If you do not show this option, the default will be to not remember "
2841
  "login session."
2842
  msgstr ""
2843
 
2844
+ #: includes/admin/core/class-admin-settings.php:1087
2845
  msgid "Licenses"
2846
  msgstr ""
2847
 
2848
+ #: includes/admin/core/class-admin-settings.php:1090
2849
  msgid "Misc"
2850
  msgstr ""
2851
 
2852
+ #: includes/admin/core/class-admin-settings.php:1095
2853
  msgid "Show an asterisk for required fields"
2854
  msgstr ""
2855
 
2856
+ #: includes/admin/core/class-admin-settings.php:1100
2857
  msgid "User Profile Title"
2858
  msgstr ""
2859
 
2860
+ #: includes/admin/core/class-admin-settings.php:1101
2861
  msgid "This is the title that is displayed on a specific user profile"
2862
  msgstr ""
2863
 
2864
+ #: includes/admin/core/class-admin-settings.php:1107
2865
  msgid "User Profile Dynamic Meta Description"
2866
  msgstr ""
2867
 
2868
+ #: includes/admin/core/class-admin-settings.php:1108
2869
  msgid ""
2870
  "This will be used in the meta description that is available for search-"
2871
  "engines."
2872
  msgstr ""
2873
 
2874
+ #: includes/admin/core/class-admin-settings.php:1116
2875
  msgid "Disable Cache User Profile"
2876
  msgstr ""
2877
 
2878
+ #: includes/admin/core/class-admin-settings.php:1117
2879
  msgid ""
2880
  "Check this box if you would like to disable Ultimate Member user's cache."
2881
  msgstr ""
2882
 
2883
+ #: includes/admin/core/class-admin-settings.php:1122
2884
  msgid "Enable Gutenberg Blocks"
2885
  msgstr ""
2886
 
2887
+ #: includes/admin/core/class-admin-settings.php:1123
2888
  msgid ""
2889
  "Check this box if you would like to use Ultimate Member blocks in Gutenberg "
2890
  "editor. Important some themes have the conflicts with Gutenberg editor."
2891
  msgstr ""
2892
 
2893
+ #: includes/admin/core/class-admin-settings.php:1128
2894
  msgid "REST API version"
2895
  msgstr ""
2896
 
2897
+ #: includes/admin/core/class-admin-settings.php:1129
2898
  msgid ""
2899
  "This controls the REST API version, we recommend to use the last version"
2900
  msgstr ""
2901
 
2902
+ #: includes/admin/core/class-admin-settings.php:1131
2903
  msgid "1.0 version"
2904
  msgstr ""
2905
 
2906
+ #: includes/admin/core/class-admin-settings.php:1132
2907
  msgid "2.0 version"
2908
  msgstr ""
2909
 
2910
+ #: includes/admin/core/class-admin-settings.php:1138
2911
  msgid "Remove Data on Uninstall?"
2912
  msgstr ""
2913
 
2914
+ #: includes/admin/core/class-admin-settings.php:1139
2915
  msgid ""
2916
  "Check this box if you would like Ultimate Member to completely remove all of "
2917
  "its data when the plugin/extensions are deleted."
2918
  msgstr ""
2919
 
2920
+ #: includes/admin/core/class-admin-settings.php:1144
2921
  msgid "Install Info"
2922
  msgstr ""
2923
 
2924
+ #: includes/admin/core/class-admin-settings.php:1261
2925
  msgid "Ultimate Member - Settings"
2926
  msgstr ""
2927
 
2928
+ #: includes/admin/core/class-admin-settings.php:1391
2929
  msgid "Save Changes"
2930
  msgstr ""
2931
 
2932
+ #: includes/admin/core/class-admin-settings.php:1845
2933
  msgid "Subject Line"
2934
  msgstr ""
2935
 
2936
+ #: includes/admin/core/class-admin-settings.php:1847
2937
  msgid "This is the subject line of the e-mail"
2938
  msgstr ""
2939
 
2940
+ #: includes/admin/core/class-admin-settings.php:1852
2941
  msgid "Message Body"
2942
  msgstr ""
2943
 
2944
+ #: includes/admin/core/class-admin-settings.php:1854
2945
  msgid "This is the content of the e-mail"
2946
  msgstr ""
2947
 
2948
+ #: includes/admin/core/class-admin-settings.php:1904
2949
+ #: includes/admin/core/class-admin-settings.php:2014
2950
  #, php-format
2951
  msgid ""
2952
  "Your license key expired on %s. Please <a href=\"%s\" target=\"_blank"
2953
  "\">renew your license key</a>."
2954
  msgstr ""
2955
 
2956
+ #: includes/admin/core/class-admin-settings.php:1917
2957
+ #: includes/admin/core/class-admin-settings.php:2027
2958
  #, php-format
2959
  msgid ""
2960
  "Your license key has been disabled. Please <a href=\"%s\" target=\"_blank"
2961
  "\">contact support</a> for more information."
2962
  msgstr ""
2963
 
2964
+ #: includes/admin/core/class-admin-settings.php:1929
2965
+ #: includes/admin/core/class-admin-settings.php:2039
2966
  #, php-format
2967
  msgid ""
2968
  "Invalid license. Please <a href=\"%s\" target=\"_blank\">visit your account "
2969
  "page</a> and verify it."
2970
  msgstr ""
2971
 
2972
+ #: includes/admin/core/class-admin-settings.php:1942
2973
+ #: includes/admin/core/class-admin-settings.php:2052
2974
  #, php-format
2975
  msgid ""
2976
  "Your %s is not active for this URL. Please <a href=\"%s\" target=\"_blank"
2977
  "\">visit your account page</a> to manage your license key URLs."
2978
  msgstr ""
2979
 
2980
+ #: includes/admin/core/class-admin-settings.php:1954
2981
+ #: includes/admin/core/class-admin-settings.php:2064
2982
  #, php-format
2983
  msgid "This appears to be an invalid license key for %s."
2984
  msgstr ""
2985
 
2986
+ #: includes/admin/core/class-admin-settings.php:1963
2987
+ #: includes/admin/core/class-admin-settings.php:2073
2988
  #, php-format
2989
  msgid ""
2990
  "Your license key has reached its activation limit. <a href=\"%s\">View "
2991
  "possible upgrades</a> now."
2992
  msgstr ""
2993
 
2994
+ #: includes/admin/core/class-admin-settings.php:1972
2995
+ #: includes/admin/core/class-admin-settings.php:2082
2996
  msgid ""
2997
  "The key you entered belongs to a bundle, please use the product specific "
2998
  "license key."
2999
  msgstr ""
3000
 
3001
+ #: includes/admin/core/class-admin-settings.php:1980
3002
+ #: includes/admin/core/class-admin-settings.php:1988
3003
+ #: includes/admin/core/class-admin-settings.php:2000
3004
  msgid "unknown_error"
3005
  msgstr ""
3006
 
3007
+ #: includes/admin/core/class-admin-settings.php:1981
3008
+ #: includes/admin/core/class-admin-settings.php:1989
3009
  #, php-format
3010
  msgid ""
3011
  "There was an error with this license key: %s. Please <a href=\"%s\">contact "
3012
  "our support team</a>."
3013
  msgstr ""
3014
 
3015
+ #: includes/admin/core/class-admin-settings.php:2002
3016
  #, php-format
3017
  msgid ""
3018
  "There was an error with this license key: %s%s. Please <a href=\"%s"
3019
  "\">contact our support team</a>."
3020
  msgstr ""
3021
 
3022
+ #: includes/admin/core/class-admin-settings.php:2097
3023
  msgid "License key never expires."
3024
  msgstr ""
3025
 
3026
+ #: includes/admin/core/class-admin-settings.php:2104
3027
  #, php-format
3028
  msgid ""
3029
  "Your license key expires soon! It expires on %s. <a href=\"%s\" target="
3030
  "\"_blank\">Renew your license key</a>."
3031
  msgstr ""
3032
 
3033
+ #: includes/admin/core/class-admin-settings.php:2114
3034
  #, php-format
3035
  msgid "Your license key expires on %s."
3036
  msgstr ""
3037
 
3038
+ #: includes/admin/core/class-admin-settings.php:2132
3039
  #, php-format
3040
  msgid "To receive updates, please enter your valid %s license key."
3041
  msgstr ""
3042
 
3043
+ #: includes/admin/core/class-admin-settings.php:2154
3044
  msgid "Clear License"
3045
  msgstr ""
3046
 
3047
+ #: includes/admin/core/class-admin-settings.php:2156
3048
  msgid "Activate"
3049
  msgstr ""
3050
 
3051
+ #: includes/admin/core/class-admin-settings.php:2158
3052
  msgid "Re-Activate"
3053
  msgstr ""
3054
 
3055
+ #: includes/admin/core/class-admin-settings.php:2210
3056
  msgid ""
3057
  "To copy the Install info, click below then press Ctrl + C (PC) or Cmd + C "
3058
  "(Mac)."
3059
  msgstr ""
3060
 
3061
+ #: includes/admin/core/class-admin-upgrade.php:131
3062
  #, php-format
3063
  msgid ""
3064
  "%s is a major update, and we highly recommend creating a full backup of your "
3065
  "site before updating."
3066
  msgstr ""
3067
 
3068
+ #: includes/admin/core/class-admin-upgrade.php:237
3069
  msgid "Upgrade"
3070
  msgstr ""
3071
 
3072
+ #: includes/admin/core/class-admin-upgrade.php:245
3073
  msgid "empty"
3074
  msgstr ""
3075
 
3076
+ #: includes/admin/core/class-admin-upgrade.php:248
3077
  #, php-format
3078
  msgid "%s - Upgrade Process"
3079
  msgstr ""
3080
 
3081
+ #: includes/admin/core/class-admin-upgrade.php:249
3082
  #, php-format
3083
  msgid ""
3084
  "You have installed %s version. Your latest DB version is %s. Before the "
3085
  "click to \"Run\" button make sure that did the following:"
3086
  msgstr ""
3087
 
3088
+ #: includes/admin/core/class-admin-upgrade.php:251
3089
  msgid "Create full site's backup."
3090
  msgstr ""
3091
 
3092
+ #: includes/admin/core/class-admin-upgrade.php:252
3093
  msgid "Set maintenance mode (if you need)"
3094
  msgstr ""
3095
 
3096
+ #: includes/admin/core/class-admin-upgrade.php:253
3097
  msgid "You have nice Internet connection"
3098
  msgstr ""
3099
 
3100
+ #: includes/admin/core/class-admin-upgrade.php:255
3101
  msgid ""
3102
  "After the click to \"Run\" button, the update process will be started. All "
3103
  "information will be displayed in \"Upgrade Log\" field."
3104
  msgstr ""
3105
 
3106
+ #: includes/admin/core/class-admin-upgrade.php:256
3107
  msgid ""
3108
  "If the update was successful, you will see a corresponding message. "
3109
  "Otherwise, contact technical support if the update failed."
3110
  msgstr ""
3111
 
3112
+ #: includes/admin/core/class-admin-upgrade.php:257
3113
  msgid "Upgrade Log"
3114
  msgstr ""
3115
 
3116
+ #: includes/admin/core/class-admin-upgrade.php:260
3117
  msgid "Run"
3118
  msgstr ""
3119
 
3120
+ #: includes/admin/core/class-admin-users.php:117
3121
+ #: includes/admin/core/class-admin-users.php:120
3122
  msgid "UM Action"
3123
  msgstr ""
3124
 
3125
+ #: includes/admin/core/class-admin-users.php:124
3126
+ #: includes/core/class-fields.php:2474
3127
  msgid "Apply"
3128
  msgstr ""
3129
 
3130
+ #: includes/admin/core/class-admin-users.php:166
3131
  #: includes/core/um-filters-user.php:20 includes/core/um-filters-user.php:25
3132
  msgid "Approve Membership"
3133
  msgstr ""
3134
 
3135
+ #: includes/admin/core/class-admin-users.php:169
3136
  #: includes/core/um-filters-user.php:21
3137
  msgid "Reject Membership"
3138
  msgstr ""
3139
 
3140
+ #: includes/admin/core/class-admin-users.php:172
3141
  #: includes/core/um-filters-user.php:29
3142
  msgid "Put as Pending Review"
3143
  msgstr ""
3144
 
3145
+ #: includes/admin/core/class-admin-users.php:175
3146
  #: includes/core/um-filters-user.php:33
3147
  msgid "Resend Activation E-mail"
3148
  msgstr ""
3149
 
3150
+ #: includes/admin/core/class-admin-users.php:178
3151
  msgid "Deactivate"
3152
  msgstr ""
3153
 
3154
+ #: includes/admin/core/class-admin-users.php:181
3155
  msgid "Reactivate"
3156
  msgstr ""
3157
 
3158
+ #: includes/admin/core/class-admin-users.php:204 templates/account.php:43
3159
  #: templates/account.php:84
3160
  msgid "View profile"
3161
  msgstr ""
3162
 
3163
+ #: includes/admin/core/class-admin-users.php:209
3164
  msgid "Info"
3165
  msgstr ""
3166
 
3167
+ #: includes/admin/core/class-admin-users.php:314
3168
+ #: includes/admin/templates/dashboard/users.php:28
3169
+ #: includes/core/class-user.php:831
3170
  msgid "Approved"
3171
  msgstr ""
3172
 
3173
+ #: includes/admin/core/class-admin-users.php:315
3174
  msgid "Pending review"
3175
  msgstr ""
3176
 
3177
+ #: includes/admin/core/class-admin-users.php:316
3178
  msgid "Waiting e-mail confirmation"
3179
  msgstr ""
3180
 
3181
+ #: includes/admin/core/class-admin-users.php:317
3182
+ #: includes/admin/templates/dashboard/users.php:86
3183
  msgid "Inactive"
3184
  msgstr ""
3185
 
3186
+ #: includes/admin/core/class-admin-users.php:318
3187
+ #: includes/admin/templates/dashboard/users.php:41
3188
  msgid "Rejected"
3189
  msgstr ""
3190
 
3191
+ #: includes/admin/core/class-admin-users.php:381
3192
  msgid "You do not have enough permissions to do that."
3193
  msgstr ""
3194
 
3195
  #: includes/admin/core/list-tables/emails-list-table.php:70
3196
+ #: includes/admin/core/list-tables/roles-list-table.php:176
3197
  msgid "item"
3198
  msgstr ""
3199
 
3200
  #: includes/admin/core/list-tables/emails-list-table.php:71
3201
+ #: includes/admin/core/list-tables/roles-list-table.php:177
3202
  msgid "items"
3203
  msgstr ""
3204
 
3205
  #: includes/admin/core/list-tables/emails-list-table.php:75
3206
+ #: includes/admin/core/list-tables/roles-list-table.php:181
3207
  msgid "not found."
3208
  msgstr ""
3209
 
3230
  "\">here</a>"
3231
  msgstr ""
3232
 
3233
+ #: includes/admin/core/list-tables/roles-list-table.php:22
3234
+ #: includes/admin/core/list-tables/roles-list-table.php:89
3235
+ #: includes/admin/core/list-tables/roles-list-table.php:402
3236
  msgid "Roles"
3237
  msgstr ""
3238
 
3239
+ #: includes/admin/core/list-tables/roles-list-table.php:339
3240
  msgid "Edit"
3241
  msgstr ""
3242
 
3243
+ #: includes/admin/core/list-tables/roles-list-table.php:342
3244
  msgid "Are you sure you want to delete this role?"
3245
  msgstr ""
3246
 
3247
+ #: includes/admin/core/list-tables/roles-list-table.php:347
3248
  msgid "Are you sure you want to reset UM role meta?"
3249
  msgstr ""
3250
 
3251
+ #: includes/admin/core/list-tables/roles-list-table.php:347
3252
  msgid "Reset UM Role meta"
3253
  msgstr ""
3254
 
3255
+ #: includes/admin/core/list-tables/roles-list-table.php:401
3256
  msgid "Role"
3257
  msgstr ""
3258
 
3259
+ #: includes/admin/core/list-tables/roles-list-table.php:414
3260
  msgid "Role Title"
3261
  msgstr ""
3262
 
3263
+ #: includes/admin/core/list-tables/roles-list-table.php:415
3264
  msgid "Role ID"
3265
  msgstr ""
3266
 
3267
+ #: includes/admin/core/list-tables/roles-list-table.php:416
3268
  msgid "No.of Members"
3269
  msgstr ""
3270
 
3271
+ #: includes/admin/core/list-tables/roles-list-table.php:417
3272
  msgid "UM Custom Role"
3273
  msgstr ""
3274
 
3275
+ #: includes/admin/core/list-tables/roles-list-table.php:418
3276
  msgid "WP-Admin Access"
3277
  msgstr ""
3278
 
3279
+ #: includes/admin/core/list-tables/roles-list-table.php:419
3280
  msgid "Priority"
3281
  msgstr ""
3282
 
3283
+ #: includes/admin/core/list-tables/roles-list-table.php:485
3284
  #: includes/admin/core/packages/2.0-beta1/user_roles.php:14
3285
+ #: includes/admin/templates/role/role-edit.php:153
3286
  #: includes/core/class-common.php:56 includes/core/class-common.php:86
3287
  msgid "Add New"
3288
  msgstr ""
3289
 
3290
+ #: includes/admin/core/list-tables/roles-list-table.php:492
3291
  msgid "User Role <strong>Deleted</strong> Successfully."
3292
  msgstr ""
3293
 
3478
  msgid "Upgrade user roles..."
3479
  msgstr ""
3480
 
3481
+ #: includes/admin/templates/dashboard/cache.php:12
3482
  msgid "Run this task from time to time to keep your DB clean."
3483
  msgstr ""
3484
 
3485
+ #: includes/admin/templates/dashboard/cache.php:15
3486
  #, php-format
3487
  msgid "Clear cache of %s users"
3488
  msgstr ""
3489
 
3490
+ #: includes/admin/templates/dashboard/feed.php:7
3491
  msgid "Latest From Ultimate Member"
3492
  msgstr ""
3493
 
3494
+ #: includes/admin/templates/dashboard/purge.php:7
3495
  #, php-format
3496
  msgid ""
3497
  "You can free up <span class=\"red\">%s MB</span> by purging your temp upload "
3498
  "directory."
3499
  msgstr ""
3500
 
3501
+ #: includes/admin/templates/dashboard/purge.php:12
3502
  msgid "Purge Temp"
3503
  msgstr ""
3504
 
3505
+ #: includes/admin/templates/dashboard/purge.php:19
3506
  msgid ""
3507
  "Your temp uploads directory is <span class=\"ok\">clean</span>. There is "
3508
  "nothing to purge."
3509
  msgstr ""
3510
 
3511
+ #: includes/admin/templates/dashboard/upgrade-request.php:4
3512
  msgid ""
3513
  "Run this task from time to time if you have issues with WP Cron and need to "
3514
  "get UM extension updates."
3515
  msgstr ""
3516
 
3517
+ #: includes/admin/templates/dashboard/upgrade-request.php:7
3518
  msgid "Get latest versions"
3519
  msgstr ""
3520
 
3521
+ #: includes/admin/templates/dashboard/users.php:60
3522
+ #: includes/core/class-user.php:839
3523
  msgid "Pending Review"
3524
  msgstr ""
3525
 
3526
+ #: includes/admin/templates/dashboard/users.php:73
3527
+ #: includes/core/class-user.php:835
3528
  msgid "Awaiting E-mail Confirmation"
3529
  msgstr ""
3530
 
3531
+ #: includes/admin/templates/directory/appearance.php:12
3532
+ #: includes/admin/templates/form/login_customize.php:23
3533
+ #: includes/admin/templates/form/profile_customize.php:42
3534
+ #: includes/admin/templates/form/register_customize.php:38
3535
  msgid "Template"
3536
  msgstr ""
3537
 
3538
+ #: includes/admin/templates/directory/general.php:48
3539
  msgid "New users first"
3540
  msgstr ""
3541
 
3542
+ #: includes/admin/templates/directory/general.php:49
3543
  msgid "Old users first"
3544
  msgstr ""
3545
 
3546
+ #: includes/admin/templates/directory/general.php:50
3547
  msgid "Last login"
3548
  msgstr ""
3549
 
3550
+ #: includes/admin/templates/directory/general.php:51
3551
  msgid "Display Name"
3552
  msgstr ""
3553
 
3554
+ #: includes/admin/templates/directory/general.php:52
3555
  #: includes/core/class-builtin.php:712 includes/core/class-builtin.php:715
3556
  msgid "First Name"
3557
  msgstr ""
3558
 
3559
+ #: includes/admin/templates/directory/general.php:53
3560
  #: includes/core/class-builtin.php:722 includes/core/class-builtin.php:725
3561
  msgid "Last Name"
3562
  msgstr ""
3563
 
3564
+ #: includes/admin/templates/directory/general.php:54
3565
  msgid "Random"
3566
  msgstr ""
3567
 
3568
+ #: includes/admin/templates/directory/general.php:55
3569
  msgid "Other (custom field)"
3570
  msgstr ""
3571
 
3572
+ #: includes/admin/templates/directory/general.php:67
3573
  msgid "User Roles to Display"
3574
  msgstr ""
3575
 
3576
+ #: includes/admin/templates/directory/general.php:68
3577
  msgid ""
3578
  "If you do not want to show all members, select only user roles to appear in "
3579
  "this directory"
3580
  msgstr ""
3581
 
3582
+ #: includes/admin/templates/directory/general.php:76
3583
  msgid "Only show members who have uploaded a profile photo"
3584
  msgstr ""
3585
 
3586
+ #: includes/admin/templates/directory/general.php:77
3587
  msgid "If 'Use Gravatars' as profile photo is enabled, this option is ignored"
3588
  msgstr ""
3589
 
3590
+ #: includes/admin/templates/directory/general.php:83
3591
  msgid "Only show members who have uploaded a cover photo"
3592
  msgstr ""
3593
 
3594
+ #: includes/admin/templates/directory/general.php:89
3595
  msgid "Sort users by"
3596
  msgstr ""
3597
 
3598
+ #: includes/admin/templates/directory/general.php:90
3599
  msgid "Sort users by a specific parameter in the directory"
3600
  msgstr ""
3601
 
3602
+ #: includes/admin/templates/directory/general.php:97
3603
  msgid "Meta key"
3604
  msgstr ""
3605
 
3606
+ #: includes/admin/templates/directory/general.php:98
3607
  msgid "To sort by a custom field, enter the meta key of field here"
3608
  msgstr ""
3609
 
3610
+ #: includes/admin/templates/directory/general.php:105
3611
  msgid "Only show specific users (Enter one username per line)"
3612
  msgstr ""
3613
 
3614
+ #: includes/admin/templates/directory/pagination.php:12
3615
  msgid "Number of profiles per page"
3616
  msgstr ""
3617
 
3618
+ #: includes/admin/templates/directory/pagination.php:13
3619
  msgid "Number of profiles to appear on page for standard users"
3620
  msgstr ""
3621
 
3622
+ #: includes/admin/templates/directory/pagination.php:20
3623
  msgid "Number of profiles per page (for Mobiles & Tablets)"
3624
  msgstr ""
3625
 
3626
+ #: includes/admin/templates/directory/pagination.php:21
3627
  msgid "Number of profiles to appear on page for mobile users"
3628
  msgstr ""
3629
 
3630
+ #: includes/admin/templates/directory/pagination.php:28
3631
  msgid "Maximum number of profiles"
3632
  msgstr ""
3633
 
3634
+ #: includes/admin/templates/directory/pagination.php:29
3635
  msgid ""
3636
  "Use this setting to control the maximum number of profiles to appear in this "
3637
  "directory. Leave blank to disable this limit"
3638
  msgstr ""
3639
 
3640
+ #: includes/admin/templates/directory/profile.php:22
3641
  msgid "Enable Profile Photo"
3642
  msgstr ""
3643
 
3644
+ #: includes/admin/templates/directory/profile.php:28
3645
  msgid "Enable Cover Photo"
3646
  msgstr ""
3647
 
3648
+ #: includes/admin/templates/directory/profile.php:29
3649
  msgid "If turned on, the users cover photo will appear in the directory"
3650
  msgstr ""
3651
 
3652
+ #: includes/admin/templates/directory/profile.php:35
3653
  msgid "Show display name"
3654
  msgstr ""
3655
 
3656
+ #: includes/admin/templates/directory/profile.php:41
3657
  msgid "Show tagline below profile name"
3658
  msgstr ""
3659
 
3660
+ #: includes/admin/templates/directory/profile.php:47
3661
  msgid "Choose field(s) to display in tagline"
3662
  msgstr ""
3663
 
3664
+ #: includes/admin/templates/directory/profile.php:50
3665
+ #: includes/admin/templates/directory/profile.php:72
3666
+ #: includes/admin/templates/directory/search.php:81
3667
  msgid "Add New Custom Field"
3668
  msgstr ""
3669
 
3670
+ #: includes/admin/templates/directory/profile.php:57
3671
  msgid "Show extra user information below tagline?"
3672
  msgstr ""
3673
 
3674
+ #: includes/admin/templates/directory/profile.php:63
3675
  msgid "Enable reveal section transition by default"
3676
  msgstr ""
3677
 
3678
+ #: includes/admin/templates/directory/profile.php:70
3679
  msgid "Choose field(s) to display in reveal section"
3680
  msgstr ""
3681
 
3682
+ #: includes/admin/templates/directory/profile.php:80
3683
  msgid "Show social connect icons"
3684
  msgstr ""
3685
 
3686
+ #: includes/admin/templates/directory/search.php:52
3687
  msgid "Enable Search feature"
3688
  msgstr ""
3689
 
3690
+ #: includes/admin/templates/directory/search.php:53
3691
  msgid "If turned on, users will be able to search members in this directory"
3692
  msgstr ""
3693
 
3694
+ #: includes/admin/templates/directory/search.php:59
3695
  msgid "Show results only after search"
3696
  msgstr ""
3697
 
3698
+ #: includes/admin/templates/directory/search.php:60
3699
  msgid "If turned on, member results will only appear after search is performed"
3700
  msgstr ""
3701
 
3702
+ #: includes/admin/templates/directory/search.php:68
3703
  msgid "User Roles that can use search"
3704
  msgstr ""
3705
 
3706
+ #: includes/admin/templates/directory/search.php:69
3707
  msgid "If you want to allow specific user roles to be able to search only"
3708
  msgstr ""
3709
 
3710
+ #: includes/admin/templates/directory/search.php:77
3711
  msgid "Choose field(s) to enable in search"
3712
  msgstr ""
3713
 
3714
+ #: includes/admin/templates/directory/search.php:87
3715
  msgid "Additional search filters"
3716
  msgstr ""
3717
 
3718
+ #: includes/admin/templates/directory/search.php:88
3719
  msgid "Additional search filters like URL parameters"
3720
  msgstr ""
3721
 
3722
+ #: includes/admin/templates/directory/search.php:96
3723
  msgid "Results Text"
3724
  msgstr ""
3725
 
3726
+ #: includes/admin/templates/directory/search.php:97
3727
  msgid ""
3728
  "Customize the search result text . e.g. Found 3,000 Members. Leave this "
3729
  "blank to not show result text"
3730
  msgstr ""
3731
 
3732
+ #: includes/admin/templates/directory/search.php:98
3733
  #: includes/class-config.php:155 includes/class-config.php:251
3734
  msgid "{total_users} Members"
3735
  msgstr ""
3736
 
3737
+ #: includes/admin/templates/directory/search.php:104
3738
  msgid "Single Result Text"
3739
  msgstr ""
3740
 
3741
+ #: includes/admin/templates/directory/search.php:105
3742
  msgid "Same as above but in case of 1 user found only"
3743
  msgstr ""
3744
 
3745
+ #: includes/admin/templates/directory/search.php:106
3746
  #: includes/class-config.php:156 includes/class-config.php:252
3747
  msgid "{total_users} Member"
3748
  msgstr ""
3749
 
3750
+ #: includes/admin/templates/directory/search.php:112
3751
  msgid "Custom text if no users were found"
3752
  msgstr ""
3753
 
3754
+ #: includes/admin/templates/directory/search.php:113
3755
  msgid ""
3756
  "This is the text that is displayed if no users are found during a search"
3757
  msgstr ""
3758
 
3759
+ #: includes/admin/templates/directory/search.php:114
3760
  #: includes/class-config.php:157
3761
  msgid "We are sorry. We cannot find any users who match your search criteria."
3762
  msgstr ""
3763
 
3764
+ #: includes/admin/templates/extensions.php:161
3765
  msgid ""
3766
  "<strong>All Access Pass</strong> – Get access to all Ultimate Member "
3767
  "extensions at a significant discount with our All Access Pass."
3768
  msgstr ""
3769
 
3770
+ #: includes/admin/templates/extensions.php:165
3771
  msgid "View Pricing"
3772
  msgstr ""
3773
 
3774
+ #: includes/admin/templates/extensions.php:174
3775
  msgid "Premium"
3776
  msgstr ""
3777
 
3778
+ #: includes/admin/templates/extensions.php:179
3779
  msgid "Free"
3780
  msgstr ""
3781
 
3782
+ #: includes/admin/templates/extensions.php:205
3783
+ #: includes/admin/templates/extensions.php:239
3784
  msgid "Get this Add on"
3785
  msgstr ""
3786
 
3787
+ #: includes/admin/templates/extensions.php:210
3788
+ #: includes/admin/templates/extensions.php:244
3789
  msgid "More Details"
3790
  msgstr ""
3791
 
3792
+ #: includes/admin/templates/form/builder.php:13
3793
  msgid "Live Preview"
3794
  msgstr ""
3795
 
3796
+ #: includes/admin/templates/form/builder.php:27
3797
  msgid "Add Master Row"
3798
  msgstr ""
3799
 
3800
+ #: includes/admin/templates/form/login_customize.php:12
3801
+ #: includes/admin/templates/form/profile_customize.php:21
3802
+ #: includes/admin/templates/form/register_customize.php:19
3803
  msgid "Apply custom settings to this form"
3804
  msgstr ""
3805
 
3806
+ #: includes/admin/templates/form/login_customize.php:13
3807
+ #: includes/admin/templates/form/profile_customize.php:22
3808
+ #: includes/admin/templates/form/register_customize.php:20
3809
  msgid ""
3810
  "Switch to yes if you want to customize this form settings, styling &amp; "
3811
  "appearance"
3812
  msgstr ""
3813
 
3814
+ #: includes/admin/templates/form/login_customize.php:31
3815
+ #: includes/admin/templates/form/profile_customize.php:50
3816
+ #: includes/admin/templates/form/register_customize.php:46
3817
  msgid "Max. Width (px)"
3818
  msgstr ""
3819
 
3820
+ #: includes/admin/templates/form/login_customize.php:32
3821
+ #: includes/admin/templates/form/profile_customize.php:51
3822
+ #: includes/admin/templates/form/register_customize.php:47
3823
  msgid "The maximum width of shortcode in pixels e.g. 600px"
3824
  msgstr ""
3825
 
3826
+ #: includes/admin/templates/form/login_customize.php:39
3827
+ #: includes/admin/templates/form/profile_customize.php:66
3828
+ #: includes/admin/templates/form/register_customize.php:54
3829
  msgid "Field Icons"
3830
  msgstr ""
3831
 
3832
+ #: includes/admin/templates/form/login_customize.php:40
3833
+ #: includes/admin/templates/form/profile_customize.php:67
3834
+ #: includes/admin/templates/form/register_customize.php:55
3835
  msgid ""
3836
  "Whether to show field icons and where to show them relative to the field"
3837
  msgstr ""
3838
 
3839
+ #: includes/admin/templates/form/login_customize.php:52
3840
+ #: includes/admin/templates/form/profile_customize.php:79
3841
+ #: includes/admin/templates/form/register_customize.php:67
3842
  msgid "Primary Button Text"
3843
  msgstr ""
3844
 
3845
+ #: includes/admin/templates/form/login_customize.php:53
3846
+ #: includes/admin/templates/form/login_customize.php:72
3847
+ #: includes/admin/templates/form/profile_customize.php:80
3848
+ #: includes/admin/templates/form/profile_customize.php:99
3849
+ #: includes/admin/templates/form/register_customize.php:68
3850
+ #: includes/admin/templates/form/register_customize.php:87
3851
  msgid "Customize the button text"
3852
  msgstr ""
3853
 
3854
+ #: includes/admin/templates/form/login_customize.php:60
3855
+ #: includes/admin/templates/form/profile_customize.php:87
3856
+ #: includes/admin/templates/form/register_customize.php:75
3857
  msgid "Show Secondary Button"
3858
  msgstr ""
3859
 
3860
+ #: includes/admin/templates/form/login_customize.php:71
3861
+ #: includes/admin/templates/form/profile_customize.php:98
3862
+ #: includes/admin/templates/form/register_customize.php:86
3863
  msgid "Secondary Button Text"
3864
  msgstr ""
3865
 
3866
+ #: includes/admin/templates/form/login_customize.php:79
3867
  msgid "Show Forgot Password Link?"
3868
  msgstr ""
3869
 
3870
+ #: includes/admin/templates/form/login_customize.php:90
3871
  msgid "Show \"Remember Me\"?"
3872
  msgstr ""
3873
 
3874
+ #: includes/admin/templates/form/login_settings.php:12
3875
  msgid "Redirection after Login"
3876
  msgstr ""
3877
 
3878
+ #: includes/admin/templates/form/login_settings.php:13
3879
  msgid ""
3880
  "Change this If you want to override role redirection settings after login "
3881
  "only."
3882
  msgstr ""
3883
 
3884
+ #: includes/admin/templates/form/login_settings.php:17
3885
+ #: includes/admin/templates/role/login.php:19
3886
+ #: includes/admin/templates/role/register.php:30
3887
  msgid "Redirect to profile"
3888
  msgstr ""
3889
 
3890
+ #: includes/admin/templates/form/login_settings.php:18
3891
+ #: includes/admin/templates/role/login.php:20
3892
+ #: includes/admin/templates/role/register.php:31
3893
+ #: includes/admin/templates/role/register.php:58
3894
+ #: includes/admin/templates/role/register.php:92
3895
  msgid "Redirect to URL"
3896
  msgstr ""
3897
 
3898
+ #: includes/admin/templates/form/login_settings.php:19
3899
+ #: includes/admin/templates/role/login.php:21
3900
  msgid "Refresh active page"
3901
  msgstr ""
3902
 
3903
+ #: includes/admin/templates/form/login_settings.php:20
3904
+ #: includes/admin/templates/role/login.php:22
3905
  msgid "Redirect to WordPress Admin"
3906
  msgstr ""
3907
 
3908
+ #: includes/admin/templates/form/login_settings.php:26
3909
+ #: includes/admin/templates/role/delete.php:26
3910
+ #: includes/admin/templates/role/login.php:28
3911
+ #: includes/admin/templates/role/logout.php:26
3912
+ #: includes/admin/templates/role/register.php:38
3913
+ #: includes/admin/templates/role/register.php:72
3914
+ #: includes/admin/templates/role/register.php:106
3915
  msgid "Set Custom Redirect URL"
3916
  msgstr ""
3917
 
3918
+ #: includes/admin/templates/form/mode.php:9
3919
  msgid ""
3920
  "<strong>Note:</strong> Form type cannot be changed for the default forms."
3921
  msgstr ""
3922
 
3923
+ #: includes/admin/templates/form/mode.php:14
3924
  msgid "Profile Form"
3925
  msgstr ""
3926
 
3927
+ #: includes/admin/templates/form/profile_customize.php:33
3928
  msgid "Make this profile form role-specific"
3929
  msgstr ""
3930
 
3931
+ #: includes/admin/templates/form/profile_customize.php:34
3932
  msgid ""
3933
  "Please note if you make a profile form specific to a role then you must make "
3934
  "sure that every other role is assigned a profile form"
3935
  msgstr ""
3936
 
3937
+ #: includes/admin/templates/form/profile_customize.php:58
3938
  msgid "Profile Area Max. Width (px)"
3939
  msgstr ""
3940
 
3941
+ #: includes/admin/templates/form/profile_customize.php:106
3942
  msgid "Enable Cover Photos"
3943
  msgstr ""
3944
 
3945
+ #: includes/admin/templates/form/profile_customize.php:117
3946
  msgid "Cover photo ratio"
3947
  msgstr ""
3948
 
3949
+ #: includes/admin/templates/form/profile_customize.php:144
3950
  msgid "Set the profile photo size in pixels here"
3951
  msgstr ""
3952
 
3953
+ #: includes/admin/templates/form/profile_customize.php:151
3954
  msgid "Make Profile Photo Required"
3955
  msgstr ""
3956
 
3957
+ #: includes/admin/templates/form/profile_customize.php:152
3958
  msgid "Require user to update a profile photo when updating their profile"
3959
  msgstr ""
3960
 
3961
+ #: includes/admin/templates/form/profile_customize.php:163
3962
  msgid "Show display name in profile header?"
3963
  msgstr ""
3964
 
3965
+ #: includes/admin/templates/form/profile_customize.php:174
3966
  msgid "Show social links in profile header?"
3967
  msgstr ""
3968
 
3969
+ #: includes/admin/templates/form/profile_customize.php:185
3970
  msgid "Show user description in profile header?"
3971
  msgstr ""
3972
 
3973
+ #: includes/admin/templates/form/profile_settings.php:21
3974
  msgid "Field(s) to show in user meta"
3975
  msgstr ""
3976
 
3977
+ #: includes/admin/templates/form/profile_settings.php:22
3978
  msgid ""
3979
  "Fields selected here will appear in the profile header area below the user's "
3980
  "display name"
3981
  msgstr ""
3982
 
3983
+ #: includes/admin/templates/form/profile_settings.php:25
3984
  msgid "Add New Field"
3985
  msgstr ""
3986
 
3987
+ #: includes/admin/templates/form/register_customize.php:30
3988
  msgid "Assign role to form"
3989
  msgstr ""
3990
 
3991
+ #: includes/admin/templates/form/register_gdpr.php:8
3992
  msgid "Select page"
3993
  msgstr ""
3994
 
3995
+ #: includes/admin/templates/form/register_gdpr.php:23
3996
  msgid "Enable on this form"
3997
  msgstr ""
3998
 
3999
+ #: includes/admin/templates/form/register_gdpr.php:33
4000
  msgid "Content"
4001
  msgstr ""
4002
 
4003
+ #: includes/admin/templates/form/register_gdpr.php:41
4004
  msgid "Toggle Show text"
4005
  msgstr ""
4006
 
4007
+ #: includes/admin/templates/form/register_gdpr.php:42
4008
+ #: includes/admin/templates/form/register_gdpr.php:43
4009
  #: templates/gdpr-register.php:15 templates/gdpr-register.php:17
4010
  msgid "Show privacy policy"
4011
  msgstr ""
4012
 
4013
+ #: includes/admin/templates/form/register_gdpr.php:49
4014
  msgid "Toggle Hide text"
4015
  msgstr ""
4016
 
4017
+ #: includes/admin/templates/form/register_gdpr.php:50
4018
+ #: includes/admin/templates/form/register_gdpr.php:51
4019
  #: templates/gdpr-register.php:16
4020
  msgid "Hide privacy policy"
4021
  msgstr ""
4022
 
4023
+ #: includes/admin/templates/form/register_gdpr.php:57
4024
  msgid "Checkbox agreement description"
4025
  msgstr ""
4026
 
4027
+ #: includes/admin/templates/form/register_gdpr.php:58
4028
+ #: includes/admin/templates/form/register_gdpr.php:59
4029
  #: templates/gdpr-register.php:27
4030
  msgid "Please confirm that you agree to our privacy policy"
4031
  msgstr ""
4032
 
4033
+ #: includes/admin/templates/form/register_gdpr.php:65
4034
  msgid "Error Text"
4035
  msgstr ""
4036
 
4037
+ #: includes/admin/templates/form/register_gdpr.php:66
4038
+ #: includes/admin/templates/form/register_gdpr.php:67
4039
  #: templates/gdpr-register.php:40
4040
  msgid "Please confirm your acceptance of our privacy policy"
4041
  msgstr ""
4099
  "outwith the EU."
4100
  msgstr ""
4101
 
4102
+ #: includes/admin/templates/modal/dynamic_edit_field.php:9
4103
  msgid "Edit Field"
4104
  msgstr ""
4105
 
4106
+ #: includes/admin/templates/modal/dynamic_edit_field.php:15
4107
+ #: includes/admin/templates/modal/dynamic_edit_row.php:15
4108
  msgid "Update"
4109
  msgstr ""
4110
 
4111
+ #: includes/admin/templates/modal/dynamic_edit_field.php:18
4112
+ #: includes/admin/templates/modal/dynamic_edit_row.php:18
4113
+ #: includes/admin/templates/modal/dynamic_new_divider.php:18
4114
+ #: includes/admin/templates/modal/dynamic_new_field.php:18
4115
+ #: includes/admin/templates/modal/dynamic_new_group.php:18
4116
+ #: includes/admin/templates/modal/fonticons.php:14
4117
  #: includes/admin/templates/role/publish.php:24
4118
+ #: includes/core/class-fields.php:2475 includes/core/class-fields.php:2572
 
4119
  #: includes/core/um-actions-profile.php:640
4120
+ #: includes/core/um-actions-profile.php:652
4121
+ #: includes/core/um-actions-profile.php:795
4122
+ #: includes/core/um-actions-profile.php:828
4123
+ #: includes/core/um-actions-profile.php:1173
4124
+ #: includes/core/um-actions-profile.php:1180
4125
  msgid "Cancel"
4126
  msgstr ""
4127
 
4128
+ #: includes/admin/templates/modal/dynamic_edit_row.php:9
4129
  msgid "Edit Row Settings"
4130
  msgstr ""
4131
 
4132
+ #: includes/admin/templates/modal/dynamic_form_preview.php:7
4133
  msgid "Live Form Preview"
4134
  msgstr ""
4135
 
4136
+ #: includes/admin/templates/modal/dynamic_form_preview.php:13
4137
  msgid "Continue editing"
4138
  msgstr ""
4139
 
4140
+ #: includes/admin/templates/modal/dynamic_new_divider.php:9
4141
  msgid "Add a New Divider"
4142
  msgstr ""
4143
 
4144
+ #: includes/admin/templates/modal/dynamic_new_divider.php:15
4145
+ #: includes/admin/templates/modal/dynamic_new_field.php:15
4146
+ #: includes/admin/templates/modal/dynamic_new_group.php:15
4147
  msgid "Add"
4148
  msgstr ""
4149
 
4150
+ #: includes/admin/templates/modal/dynamic_new_field.php:9
4151
  msgid "Add a New Field"
4152
  msgstr ""
4153
 
4154
+ #: includes/admin/templates/modal/dynamic_new_group.php:9
4155
  msgid "Add a New Field Group"
4156
  msgstr ""
4157
 
4158
+ #: includes/admin/templates/modal/dynamic_registration_preview.php:7
4159
  msgid "Review Registration Details"
4160
  msgstr ""
4161
 
4162
+ #: includes/admin/templates/modal/fields.php:7
4163
  msgid "Fields Manager"
4164
  msgstr ""
4165
 
4166
+ #: includes/admin/templates/modal/fonticons.php:7
4167
  #, php-format
4168
  msgid "Choose from %s available icons"
4169
  msgstr ""
4170
 
4171
+ #: includes/admin/templates/modal/fonticons.php:13
4172
  msgid "Finish"
4173
  msgstr ""
4174
 
4175
+ #: includes/admin/templates/role/admin-permissions.php:14
4176
  msgid "Can access wp-admin?"
4177
  msgstr ""
4178
 
4179
+ #: includes/admin/templates/role/admin-permissions.php:15
4180
  msgid ""
4181
  "The core admin role must always have access to wp-admin / WordPress backend"
4182
  msgstr ""
4183
 
4184
+ #: includes/admin/templates/role/admin-permissions.php:21
4185
  msgid "Force hiding adminbar in frontend?"
4186
  msgstr ""
4187
 
4188
+ #: includes/admin/templates/role/admin-permissions.php:22
4189
  msgid "Show/hide the adminbar on frontend"
4190
  msgstr ""
4191
 
4192
+ #: includes/admin/templates/role/admin-permissions.php:28
4193
  msgid "Can edit other member accounts?"
4194
  msgstr ""
4195
 
4196
+ #: includes/admin/templates/role/admin-permissions.php:29
4197
+ #: includes/admin/templates/role/admin-permissions.php:46
4198
  msgid "Allow this role to edit accounts of other members"
4199
  msgstr ""
4200
 
4201
+ #: includes/admin/templates/role/admin-permissions.php:35
4202
  msgid "Can edit these user roles only"
4203
  msgstr ""
4204
 
4205
+ #: includes/admin/templates/role/admin-permissions.php:36
4206
+ #: includes/admin/templates/role/admin-permissions.php:53
4207
  msgid ""
4208
  "Which roles that role can edit, choose none to allow role to edit all member "
4209
  "roles"
4210
  msgstr ""
4211
 
4212
+ #: includes/admin/templates/role/admin-permissions.php:45
4213
  msgid "Can delete other member accounts?"
4214
  msgstr ""
4215
 
4216
+ #: includes/admin/templates/role/admin-permissions.php:52
4217
  msgid "Can delete these user roles only"
4218
  msgstr ""
4219
 
4220
+ #: includes/admin/templates/role/delete.php:15
4221
  msgid "Action to be taken after account is deleted"
4222
  msgstr ""
4223
 
4224
+ #: includes/admin/templates/role/delete.php:16
4225
  msgid ""
4226
  "Select what happens when a user with this role deletes their own account"
4227
  msgstr ""
4228
 
4229
+ #: includes/admin/templates/role/delete.php:19
4230
+ #: includes/admin/templates/role/logout.php:19
4231
  msgid "Go to Homepage"
4232
  msgstr ""
4233
 
4234
+ #: includes/admin/templates/role/delete.php:20
4235
+ #: includes/admin/templates/role/logout.php:20
4236
  msgid "Go to Custom URL"
4237
  msgstr ""
4238
 
4239
+ #: includes/admin/templates/role/delete.php:27
4240
  msgid "Set a url to redirect this user role to after they delete account"
4241
  msgstr ""
4242
 
4243
+ #: includes/admin/templates/role/general.php:14
4244
  msgid "Can edit their profile?"
4245
  msgstr ""
4246
 
4247
+ #: includes/admin/templates/role/general.php:15
4248
  msgid "Can this role edit his own profile?"
4249
  msgstr ""
4250
 
4251
+ #: includes/admin/templates/role/general.php:21
4252
  msgid "Can delete their account?"
4253
  msgstr ""
4254
 
4255
+ #: includes/admin/templates/role/general.php:22
4256
  msgid ""
4257
  "Allow this role to delete their account and end their membership on your site"
4258
  msgstr ""
4259
 
4260
+ #: includes/admin/templates/role/home.php:15
4261
  msgid "Can view default homepage?"
4262
  msgstr ""
4263
 
4264
+ #: includes/admin/templates/role/home.php:16
4265
  msgid "Allow this user role to view your site's homepage"
4266
  msgstr ""
4267
 
4268
+ #: includes/admin/templates/role/home.php:22
4269
  msgid "Custom Homepage Redirect"
4270
  msgstr ""
4271
 
4272
+ #: includes/admin/templates/role/home.php:23
4273
  msgid ""
4274
  "Set a url to redirect this user role to if they try to view your site's "
4275
  "homepage"
4276
  msgstr ""
4277
 
4278
+ #: includes/admin/templates/role/login.php:15
4279
  msgid "Action to be taken after login"
4280
  msgstr ""
4281
 
4282
+ #: includes/admin/templates/role/login.php:16
4283
  msgid "Select what happens when a user with this role logins to your site"
4284
  msgstr ""
4285
 
4286
+ #: includes/admin/templates/role/login.php:29
4287
  msgid ""
4288
  "Set a url to redirect this user role to after they login with their account"
4289
  msgstr ""
4290
 
4291
+ #: includes/admin/templates/role/logout.php:15
4292
  msgid "Action to be taken after logout"
4293
  msgstr ""
4294
 
4295
+ #: includes/admin/templates/role/logout.php:16
4296
  msgid "Select what happens when a user with this role logouts of your site"
4297
  msgstr ""
4298
 
4299
+ #: includes/admin/templates/role/logout.php:27
4300
  msgid "Set a url to redirect this user role to after they logout from site"
4301
  msgstr ""
4302
 
4303
+ #: includes/admin/templates/role/profile.php:14
4304
  msgid "Can view other member profiles?"
4305
  msgstr ""
4306
 
4307
+ #: includes/admin/templates/role/profile.php:15
4308
  msgid "Can this role view all member profiles?"
4309
  msgstr ""
4310
 
4311
+ #: includes/admin/templates/role/profile.php:21
4312
  msgid "Can view these user roles only"
4313
  msgstr ""
4314
 
4315
+ #: includes/admin/templates/role/profile.php:22
4316
  msgid ""
4317
  "Which roles that role can view, choose none to allow role to view all member "
4318
  "roles"
4319
  msgstr ""
4320
 
4321
+ #: includes/admin/templates/role/profile.php:32
4322
  msgid "Can make their profile private?"
4323
  msgstr ""
4324
 
4325
+ #: includes/admin/templates/role/profile.php:33
4326
  msgid "Can this role make their profile private?"
4327
  msgstr ""
4328
 
4329
+ #: includes/admin/templates/role/profile.php:40
4330
  msgid "Can view/access private profiles?"
4331
  msgstr ""
4332
 
4333
+ #: includes/admin/templates/role/profile.php:41
4334
  msgid "Can this role view private profiles?"
4335
  msgstr ""
4336
 
4337
+ #: includes/admin/templates/role/publish.php:13
4338
  msgid "Role Priority"
4339
  msgstr ""
4340
 
4341
+ #: includes/admin/templates/role/publish.php:14
4342
  msgid "The higher the number, the higher the priority"
4343
  msgstr ""
4344
 
4350
  msgid "Create Role"
4351
  msgstr ""
4352
 
4353
+ #: includes/admin/templates/role/register.php:14
4354
  msgid "Registration Status"
4355
  msgstr ""
4356
 
4357
+ #: includes/admin/templates/role/register.php:15
4358
  msgid ""
4359
  "Select the status you would like this user role to have after they register "
4360
  "on your site"
4361
  msgstr ""
4362
 
4363
+ #: includes/admin/templates/role/register.php:18
4364
  msgid "Auto Approve"
4365
  msgstr ""
4366
 
4367
+ #: includes/admin/templates/role/register.php:19
4368
  msgid "Require Email Activation"
4369
  msgstr ""
4370
 
4371
+ #: includes/admin/templates/role/register.php:20
4372
  msgid "Require Admin Review"
4373
  msgstr ""
4374
 
4375
+ #: includes/admin/templates/role/register.php:26
4376
+ #: includes/admin/templates/role/register.php:53
4377
+ #: includes/admin/templates/role/register.php:87
4378
  msgid "Action to be taken after registration"
4379
  msgstr ""
4380
 
4381
+ #: includes/admin/templates/role/register.php:27
4382
+ #: includes/admin/templates/role/register.php:54
4383
+ #: includes/admin/templates/role/register.php:88
4384
  msgid ""
4385
  "Select what action is taken after a person registers on your site. Depending "
4386
  "on the status you can redirect them to their profile, a custom url or show a "
4387
  "custom message"
4388
  msgstr ""
4389
 
4390
+ #: includes/admin/templates/role/register.php:45
4391
  msgid "Login user after validating the activation link?"
4392
  msgstr ""
4393
 
4394
+ #: includes/admin/templates/role/register.php:46
4395
  msgid "Login the user after validating the activation link"
4396
  msgstr ""
4397
 
4398
+ #: includes/admin/templates/role/register.php:57
4399
+ #: includes/admin/templates/role/register.php:91
4400
  msgid "Show custom message"
4401
  msgstr ""
4402
 
4403
+ #: includes/admin/templates/role/register.php:65
4404
+ #: includes/admin/templates/role/register.php:99
4405
  msgid "Personalize the custom message"
4406
  msgstr ""
4407
 
4408
+ #: includes/admin/templates/role/register.php:66
4409
  msgid ""
4410
  "Thank you for registering. Before you can login we need you to activate your "
4411
  "account by clicking the activation link in the email we just sent you."
4412
  msgstr ""
4413
 
4414
+ #: includes/admin/templates/role/register.php:79
4415
  msgid "URL redirect after e-mail activation"
4416
  msgstr ""
4417
 
4418
+ #: includes/admin/templates/role/register.php:80
4419
  msgid ""
4420
  "If you want users to go to a specific page other than login page after e-"
4421
  "mail activation, enter the URL here."
4422
  msgstr ""
4423
 
4424
+ #: includes/admin/templates/role/register.php:100
4425
  msgid ""
4426
  "Thank you for applying for membership to our site. We will review your "
4427
  "details and send you an email letting you know whether your application has "
4428
  "been successful or not."
4429
  msgstr ""
4430
 
4431
+ #: includes/admin/templates/role/role-edit.php:66
4432
+ #: includes/admin/templates/role/role-edit.php:70
4433
  msgid "Security Issue"
4434
  msgstr ""
4435
 
4436
+ #: includes/admin/templates/role/role-edit.php:83
4437
  msgid "Title is empty!"
4438
  msgstr ""
4439
 
4440
+ #: includes/admin/templates/role/role-edit.php:110
4441
  msgid "Role already exists!"
4442
  msgstr ""
4443
 
4444
+ #: includes/admin/templates/role/role-edit.php:151
4445
  msgid "Add New Role"
4446
  msgstr ""
4447
 
4448
+ #: includes/admin/templates/role/role-edit.php:151
4449
  msgid "Edit Role"
4450
  msgstr ""
4451
 
4452
+ #: includes/admin/templates/role/role-edit.php:160
4453
  msgid "User Role <strong>Added</strong> Successfully."
4454
  msgstr ""
4455
 
4456
+ #: includes/admin/templates/role/role-edit.php:163
4457
  msgid "User Role <strong>Updated</strong> Successfully."
4458
  msgstr ""
4459
 
4460
+ #: includes/admin/templates/role/role-edit.php:191
4461
  msgid "Enter Title Here"
4462
  msgstr ""
4463
 
4464
+ #: includes/admin/templates/role/wp-capabilities.php:39
4465
  msgid "Uncheck All"
4466
  msgstr ""
4467
 
4468
+ #: includes/admin/templates/role/wp-capabilities.php:41
4469
+ #: includes/admin/templates/role/wp-capabilities.php:49
4470
  msgid "Check All"
4471
  msgstr ""
4472
 
4484
  msgid "Register"
4485
  msgstr ""
4486
 
 
 
 
 
4487
  #: includes/class-config.php:135 includes/class-config.php:760
4488
+ #: includes/core/um-actions-profile.php:1179
4489
+ #: includes/core/um-actions-user.php:19
4490
  msgid "Logout"
4491
  msgstr ""
4492
 
4653
  msgid "Cheatin&#8217; huh?"
4654
  msgstr ""
4655
 
4656
+ #: includes/core/class-account.php:94
4657
  msgid "Update Account"
4658
  msgstr ""
4659
 
4660
+ #: includes/core/class-account.php:99
4661
  msgid "Change Password"
4662
  msgstr ""
4663
 
4664
+ #: includes/core/class-account.php:100
4665
  msgid "Update Password"
4666
  msgstr ""
4667
 
4668
+ #: includes/core/class-account.php:106
4669
  msgid "Update Privacy"
4670
  msgstr ""
4671
 
4672
+ #: includes/core/class-account.php:112
4673
  msgid "Update Notifications"
4674
  msgstr ""
4675
 
4676
+ #: includes/core/class-account.php:120 includes/core/class-account.php:121
4677
  #: includes/core/class-builtin.php:1141 includes/core/class-builtin.php:1144
4678
  msgid "Delete Account"
4679
  msgstr ""
4753
  msgid "You must add a shortcode to the content area"
4754
  msgstr ""
4755
 
4756
+ #: includes/core/class-builtin.php:663 includes/core/class-user.php:1559
4757
  msgid "Only me"
4758
  msgstr ""
4759
 
4763
  msgstr ""
4764
 
4765
  #: includes/core/class-builtin.php:742 includes/core/class-builtin.php:745
4766
+ #: includes/core/class-builtin.php:1347
4767
  msgid "Website URL"
4768
  msgstr ""
4769
 
4836
  msgstr ""
4837
 
4838
  #: includes/core/class-builtin.php:938 includes/core/class-builtin.php:941
4839
+ #: includes/core/class-builtin.php:1340
4840
  msgid "Skype ID"
4841
  msgstr ""
4842
 
4877
  msgstr ""
4878
 
4879
  #: includes/core/class-builtin.php:1042 includes/core/class-builtin.php:1045
4880
+ #: includes/core/class-builtin.php:1339
4881
  msgid "Phone Number"
4882
  msgstr ""
4883
 
4902
  msgstr ""
4903
 
4904
  #: includes/core/class-builtin.php:1085
4905
+ #: includes/core/um-actions-profile.php:600
4906
  msgid "Change your cover photo"
4907
  msgstr ""
4908
 
4936
  "permanently from the site"
4937
  msgstr ""
4938
 
4939
+ #: includes/core/class-builtin.php:1329
4940
  msgid "Alphabetic value only"
4941
  msgstr ""
4942
 
4943
+ #: includes/core/class-builtin.php:1330
4944
  msgid "Alpha-numeric value"
4945
  msgstr ""
4946
 
4947
+ #: includes/core/class-builtin.php:1331
4948
  msgid "English letters only"
4949
  msgstr ""
4950
 
4951
+ #: includes/core/class-builtin.php:1332
4952
  msgid "Facebook URL"
4953
  msgstr ""
4954
 
4955
+ #: includes/core/class-builtin.php:1333
4956
  msgid "Google+ URL"
4957
  msgstr ""
4958
 
4959
+ #: includes/core/class-builtin.php:1334
4960
  msgid "Instagram URL"
4961
  msgstr ""
4962
 
4963
+ #: includes/core/class-builtin.php:1335
4964
  msgid "LinkedIn URL"
4965
  msgstr ""
4966
 
4967
+ #: includes/core/class-builtin.php:1336
4968
  msgid "VKontakte URL"
4969
  msgstr ""
4970
 
4971
+ #: includes/core/class-builtin.php:1337
4972
  msgid "Lowercase only"
4973
  msgstr ""
4974
 
4975
+ #: includes/core/class-builtin.php:1338
4976
  msgid "Numeric value only"
4977
  msgstr ""
4978
 
4979
+ #: includes/core/class-builtin.php:1341
4980
  msgid "SoundCloud Profile"
4981
  msgstr ""
4982
 
4983
+ #: includes/core/class-builtin.php:1342
4984
  msgid "Twitter URL"
4985
  msgstr ""
4986
 
4987
+ #: includes/core/class-builtin.php:1343
4988
  msgid "Unique E-mail"
4989
  msgstr ""
4990
 
4991
+ #: includes/core/class-builtin.php:1344
4992
  msgid "Unique Metakey value"
4993
  msgstr ""
4994
 
4995
+ #: includes/core/class-builtin.php:1345
4996
  msgid "Unique Username"
4997
  msgstr ""
4998
 
4999
+ #: includes/core/class-builtin.php:1346
5000
  msgid "Unique Username/E-mail"
5001
  msgstr ""
5002
 
5003
+ #: includes/core/class-builtin.php:1348
5004
  msgid "YouTube Profile"
5005
  msgstr ""
5006
 
5007
+ #: includes/core/class-builtin.php:1349
5008
  msgid "Custom Validation"
5009
  msgstr ""
5010
 
5011
+ #: includes/core/class-builtin.php:1388
5012
  msgid "Afar"
5013
  msgstr ""
5014
 
5015
+ #: includes/core/class-builtin.php:1389
5016
  msgid "Abkhazian"
5017
  msgstr ""
5018
 
5019
+ #: includes/core/class-builtin.php:1390
5020
  msgid "Avestan"
5021
  msgstr ""
5022
 
5023
+ #: includes/core/class-builtin.php:1391
5024
  msgid "Afrikaans"
5025
  msgstr ""
5026
 
5027
+ #: includes/core/class-builtin.php:1392
5028
  msgid "Akan"
5029
  msgstr ""
5030
 
5031
+ #: includes/core/class-builtin.php:1393
5032
  msgid "Amharic"
5033
  msgstr ""
5034
 
5035
+ #: includes/core/class-builtin.php:1394
5036
  msgid "Aragonese"
5037
  msgstr ""
5038
 
5039
+ #: includes/core/class-builtin.php:1395
5040
  msgid "Arabic"
5041
  msgstr ""
5042
 
5043
+ #: includes/core/class-builtin.php:1396
5044
  msgid "Assamese"
5045
  msgstr ""
5046
 
5047
+ #: includes/core/class-builtin.php:1397
5048
  msgid "Avaric"
5049
  msgstr ""
5050
 
5051
+ #: includes/core/class-builtin.php:1398
5052
  msgid "Aymara"
5053
  msgstr ""
5054
 
5055
+ #: includes/core/class-builtin.php:1399
5056
  msgid "Azerbaijani"
5057
  msgstr ""
5058
 
5059
+ #: includes/core/class-builtin.php:1400
5060
  msgid "Bashkir"
5061
  msgstr ""
5062
 
5063
+ #: includes/core/class-builtin.php:1401
5064
  msgid "Belarusian"
5065
  msgstr ""
5066
 
5067
+ #: includes/core/class-builtin.php:1402
5068
  msgid "Bulgarian"
5069
  msgstr ""
5070
 
5071
+ #: includes/core/class-builtin.php:1403
5072
  msgid "Bihari"
5073
  msgstr ""
5074
 
5075
+ #: includes/core/class-builtin.php:1404
5076
  msgid "Bislama"
5077
  msgstr ""
5078
 
5079
+ #: includes/core/class-builtin.php:1405
5080
  msgid "Bambara"
5081
  msgstr ""
5082
 
5083
+ #: includes/core/class-builtin.php:1406
5084
  msgid "Bengali"
5085
  msgstr ""
5086
 
5087
+ #: includes/core/class-builtin.php:1407
5088
  msgid "Tibetan"
5089
  msgstr ""
5090
 
5091
+ #: includes/core/class-builtin.php:1408
5092
  msgid "Breton"
5093
  msgstr ""
5094
 
5095
+ #: includes/core/class-builtin.php:1409
5096
  msgid "Bosnian"
5097
  msgstr ""
5098
 
5099
+ #: includes/core/class-builtin.php:1410
5100
  msgid "Catalan"
5101
  msgstr ""
5102
 
5103
+ #: includes/core/class-builtin.php:1411
5104
  msgid "Chechen"
5105
  msgstr ""
5106
 
5107
+ #: includes/core/class-builtin.php:1412
5108
  msgid "Chamorro"
5109
  msgstr ""
5110
 
5111
+ #: includes/core/class-builtin.php:1413
5112
  msgid "Corsican"
5113
  msgstr ""
5114
 
5115
+ #: includes/core/class-builtin.php:1414
5116
  msgid "Cree"
5117
  msgstr ""
5118
 
5119
+ #: includes/core/class-builtin.php:1415
5120
  msgid "Czech"
5121
  msgstr ""
5122
 
5123
+ #: includes/core/class-builtin.php:1416
5124
  msgid "Church Slavic"
5125
  msgstr ""
5126
 
5127
+ #: includes/core/class-builtin.php:1417
5128
  msgid "Chuvash"
5129
  msgstr ""
5130
 
5131
+ #: includes/core/class-builtin.php:1418
5132
  msgid "Welsh"
5133
  msgstr ""
5134
 
5135
+ #: includes/core/class-builtin.php:1419
5136
  msgid "Danish"
5137
  msgstr ""
5138
 
5139
+ #: includes/core/class-builtin.php:1420
5140
  msgid "German"
5141
  msgstr ""
5142
 
5143
+ #: includes/core/class-builtin.php:1421
5144
  msgid "Divehi"
5145
  msgstr ""
5146
 
5147
+ #: includes/core/class-builtin.php:1422
5148
  msgid "Dzongkha"
5149
  msgstr ""
5150
 
5151
+ #: includes/core/class-builtin.php:1423
5152
  msgid "Ewe"
5153
  msgstr ""
5154
 
5155
+ #: includes/core/class-builtin.php:1424
5156
  msgid "Greek"
5157
  msgstr ""
5158
 
5159
+ #: includes/core/class-builtin.php:1425
5160
  msgid "English"
5161
  msgstr ""
5162
 
5163
+ #: includes/core/class-builtin.php:1426
5164
  msgid "Esperanto"
5165
  msgstr ""
5166
 
5167
+ #: includes/core/class-builtin.php:1427
5168
  msgid "Spanish"
5169
  msgstr ""
5170
 
5171
+ #: includes/core/class-builtin.php:1428
5172
  msgid "Estonian"
5173
  msgstr ""
5174
 
5175
+ #: includes/core/class-builtin.php:1429
5176
  msgid "Basque"
5177
  msgstr ""
5178
 
5179
+ #: includes/core/class-builtin.php:1430
5180
  msgid "Persian"
5181
  msgstr ""
5182
 
5183
+ #: includes/core/class-builtin.php:1431
5184
  msgid "Fulah"
5185
  msgstr ""
5186
 
5187
+ #: includes/core/class-builtin.php:1432
5188
  msgid "Finnish"
5189
  msgstr ""
5190
 
5191
+ #: includes/core/class-builtin.php:1433
5192
  msgid "Fijian"
5193
  msgstr ""
5194
 
5195
+ #: includes/core/class-builtin.php:1434
5196
  msgid "Faroese"
5197
  msgstr ""
5198
 
5199
+ #: includes/core/class-builtin.php:1435
5200
  msgid "French"
5201
  msgstr ""
5202
 
5203
+ #: includes/core/class-builtin.php:1436
5204
  msgid "Western Frisian"
5205
  msgstr ""
5206
 
5207
+ #: includes/core/class-builtin.php:1437
5208
  msgid "Irish"
5209
  msgstr ""
5210
 
5211
+ #: includes/core/class-builtin.php:1438
5212
  msgid "Scottish Gaelic"
5213
  msgstr ""
5214
 
5215
+ #: includes/core/class-builtin.php:1439
5216
  msgid "Galician"
5217
  msgstr ""
5218
 
5219
+ #: includes/core/class-builtin.php:1440
5220
  msgid "Guarani"
5221
  msgstr ""
5222
 
5223
+ #: includes/core/class-builtin.php:1441
5224
  msgid "Gujarati"
5225
  msgstr ""
5226
 
5227
+ #: includes/core/class-builtin.php:1442
5228
  msgid "Manx"
5229
  msgstr ""
5230
 
5231
+ #: includes/core/class-builtin.php:1443
5232
  msgid "Hausa"
5233
  msgstr ""
5234
 
5235
+ #: includes/core/class-builtin.php:1444
5236
  msgid "Hebrew"
5237
  msgstr ""
5238
 
5239
+ #: includes/core/class-builtin.php:1445
5240
  msgid "Hindi"
5241
  msgstr ""
5242
 
5243
+ #: includes/core/class-builtin.php:1446
5244
  msgid "Hiri Motu"
5245
  msgstr ""
5246
 
5247
+ #: includes/core/class-builtin.php:1447
5248
  msgid "Croatian"
5249
  msgstr ""
5250
 
5251
+ #: includes/core/class-builtin.php:1448
5252
  msgid "Haitian"
5253
  msgstr ""
5254
 
5255
+ #: includes/core/class-builtin.php:1449
5256
  msgid "Hungarian"
5257
  msgstr ""
5258
 
5259
+ #: includes/core/class-builtin.php:1450
5260
  msgid "Armenian"
5261
  msgstr ""
5262
 
5263
+ #: includes/core/class-builtin.php:1451
5264
  msgid "Herero"
5265
  msgstr ""
5266
 
5267
+ #: includes/core/class-builtin.php:1452
5268
  msgid "Interlingua (International Auxiliary Language Association)"
5269
  msgstr ""
5270
 
5271
+ #: includes/core/class-builtin.php:1453
5272
  msgid "Indonesian"
5273
  msgstr ""
5274
 
5275
+ #: includes/core/class-builtin.php:1454
5276
  msgid "Interlingue"
5277
  msgstr ""
5278
 
5279
+ #: includes/core/class-builtin.php:1455
5280
  msgid "Igbo"
5281
  msgstr ""
5282
 
5283
+ #: includes/core/class-builtin.php:1456
5284
  msgid "Sichuan Yi"
5285
  msgstr ""
5286
 
5287
+ #: includes/core/class-builtin.php:1457
5288
  msgid "Inupiaq"
5289
  msgstr ""
5290
 
5291
+ #: includes/core/class-builtin.php:1458
5292
  msgid "Ido"
5293
  msgstr ""
5294
 
5295
+ #: includes/core/class-builtin.php:1459
5296
  msgid "Icelandic"
5297
  msgstr ""
5298
 
5299
+ #: includes/core/class-builtin.php:1460
5300
  msgid "Italian"
5301
  msgstr ""
5302
 
5303
+ #: includes/core/class-builtin.php:1461
5304
  msgid "Inuktitut"
5305
  msgstr ""
5306
 
5307
+ #: includes/core/class-builtin.php:1462
5308
  msgid "Japanese"
5309
  msgstr ""
5310
 
5311
+ #: includes/core/class-builtin.php:1463
5312
  msgid "Javanese"
5313
  msgstr ""
5314
 
5315
+ #: includes/core/class-builtin.php:1464
5316
  msgid "Georgian"
5317
  msgstr ""
5318
 
5319
+ #: includes/core/class-builtin.php:1465
5320
  msgid "Kongo"
5321
  msgstr ""
5322
 
5323
+ #: includes/core/class-builtin.php:1466
5324
  msgid "Kikuyu"
5325
  msgstr ""
5326
 
5327
+ #: includes/core/class-builtin.php:1467
5328
  msgid "Kwanyama"
5329
  msgstr ""
5330
 
5331
+ #: includes/core/class-builtin.php:1468
5332
  msgid "Kazakh"
5333
  msgstr ""
5334
 
5335
+ #: includes/core/class-builtin.php:1469
5336
  msgid "Kalaallisut"
5337
  msgstr ""
5338
 
5339
+ #: includes/core/class-builtin.php:1470
5340
  msgid "Khmer"
5341
  msgstr ""
5342
 
5343
+ #: includes/core/class-builtin.php:1471
5344
  msgid "Kannada"
5345
  msgstr ""
5346
 
5347
+ #: includes/core/class-builtin.php:1472
5348
  msgid "Korean"
5349
  msgstr ""
5350
 
5351
+ #: includes/core/class-builtin.php:1473
5352
  msgid "Kanuri"
5353
  msgstr ""
5354
 
5355
+ #: includes/core/class-builtin.php:1474
5356
  msgid "Kashmiri"
5357
  msgstr ""
5358
 
5359
+ #: includes/core/class-builtin.php:1475
5360
  msgid "Kurdish"
5361
  msgstr ""
5362
 
5363
+ #: includes/core/class-builtin.php:1476
5364
  msgid "Komi"
5365
  msgstr ""
5366
 
5367
+ #: includes/core/class-builtin.php:1477
5368
  msgid "Cornish"
5369
  msgstr ""
5370
 
5371
+ #: includes/core/class-builtin.php:1478
5372
  msgid "Kirghiz"
5373
  msgstr ""
5374
 
5375
+ #: includes/core/class-builtin.php:1479
5376
  msgid "Latin"
5377
  msgstr ""
5378
 
5379
+ #: includes/core/class-builtin.php:1480
5380
  msgid "Luxembourgish"
5381
  msgstr ""
5382
 
5383
+ #: includes/core/class-builtin.php:1481
5384
  msgid "Ganda"
5385
  msgstr ""
5386
 
5387
+ #: includes/core/class-builtin.php:1482
5388
  msgid "Limburgish"
5389
  msgstr ""
5390
 
5391
+ #: includes/core/class-builtin.php:1483
5392
  msgid "Lingala"
5393
  msgstr ""
5394
 
5395
+ #: includes/core/class-builtin.php:1484
5396
  msgid "Lao"
5397
  msgstr ""
5398
 
5399
+ #: includes/core/class-builtin.php:1485
5400
  msgid "Lithuanian"
5401
  msgstr ""
5402
 
5403
+ #: includes/core/class-builtin.php:1486
5404
  msgid "Luba-Katanga"
5405
  msgstr ""
5406
 
5407
+ #: includes/core/class-builtin.php:1487
5408
  msgid "Latvian"
5409
  msgstr ""
5410
 
5411
+ #: includes/core/class-builtin.php:1488
5412
  msgid "Malagasy"
5413
  msgstr ""
5414
 
5415
+ #: includes/core/class-builtin.php:1489
5416
  msgid "Marshallese"
5417
  msgstr ""
5418
 
5419
+ #: includes/core/class-builtin.php:1490
5420
  msgid "Maori"
5421
  msgstr ""
5422
 
5423
+ #: includes/core/class-builtin.php:1491
5424
  msgid "Macedonian"
5425
  msgstr ""
5426
 
5427
+ #: includes/core/class-builtin.php:1492
5428
  msgid "Malayalam"
5429
  msgstr ""
5430
 
5431
+ #: includes/core/class-builtin.php:1493
5432
  msgid "Mongolian"
5433
  msgstr ""
5434
 
5435
+ #: includes/core/class-builtin.php:1494
5436
  msgid "Marathi"
5437
  msgstr ""
5438
 
5439
+ #: includes/core/class-builtin.php:1495
5440
  msgid "Malay"
5441
  msgstr ""
5442
 
5443
+ #: includes/core/class-builtin.php:1496
5444
  msgid "Maltese"
5445
  msgstr ""
5446
 
5447
+ #: includes/core/class-builtin.php:1497
5448
  msgid "Burmese"
5449
  msgstr ""
5450
 
5451
+ #: includes/core/class-builtin.php:1498 includes/core/class-builtin.php:1729
5452
  msgid "Nauru"
5453
  msgstr ""
5454
 
5455
+ #: includes/core/class-builtin.php:1499
5456
  msgid "Norwegian Bokmal"
5457
  msgstr ""
5458
 
5459
+ #: includes/core/class-builtin.php:1500
5460
  msgid "North Ndebele"
5461
  msgstr ""
5462
 
5463
+ #: includes/core/class-builtin.php:1501
5464
  msgid "Nepali"
5465
  msgstr ""
5466
 
5467
+ #: includes/core/class-builtin.php:1502
5468
  msgid "Ndonga"
5469
  msgstr ""
5470
 
5471
+ #: includes/core/class-builtin.php:1503
5472
  msgid "Dutch"
5473
  msgstr ""
5474
 
5475
+ #: includes/core/class-builtin.php:1504
5476
  msgid "Norwegian Nynorsk"
5477
  msgstr ""
5478
 
5479
+ #: includes/core/class-builtin.php:1505
5480
  msgid "Norwegian"
5481
  msgstr ""
5482
 
5483
+ #: includes/core/class-builtin.php:1506
5484
  msgid "South Ndebele"
5485
  msgstr ""
5486
 
5487
+ #: includes/core/class-builtin.php:1507
5488
  msgid "Navajo"
5489
  msgstr ""
5490
 
5491
+ #: includes/core/class-builtin.php:1508
5492
  msgid "Chichewa"
5493
  msgstr ""
5494
 
5495
+ #: includes/core/class-builtin.php:1509
5496
  msgid "Occitan"
5497
  msgstr ""
5498
 
5499
+ #: includes/core/class-builtin.php:1510
5500
  msgid "Ojibwa"
5501
  msgstr ""
5502
 
5503
+ #: includes/core/class-builtin.php:1511
5504
  msgid "Oromo"
5505
  msgstr ""
5506
 
5507
+ #: includes/core/class-builtin.php:1512
5508
  msgid "Oriya"
5509
  msgstr ""
5510
 
5511
+ #: includes/core/class-builtin.php:1513
5512
  msgid "Ossetian"
5513
  msgstr ""
5514
 
5515
+ #: includes/core/class-builtin.php:1514
5516
  msgid "Panjabi"
5517
  msgstr ""
5518
 
5519
+ #: includes/core/class-builtin.php:1515
5520
  msgid "Pali"
5521
  msgstr ""
5522
 
5523
+ #: includes/core/class-builtin.php:1516
5524
  msgid "Polish"
5525
  msgstr ""
5526
 
5527
+ #: includes/core/class-builtin.php:1517
5528
  msgid "Pashto"
5529
  msgstr ""
5530
 
5531
+ #: includes/core/class-builtin.php:1518
5532
  msgid "Portuguese"
5533
  msgstr ""
5534
 
5535
+ #: includes/core/class-builtin.php:1519
5536
  msgid "Quechua"
5537
  msgstr ""
5538
 
5539
+ #: includes/core/class-builtin.php:1520
5540
  msgid "Raeto-Romance"
5541
  msgstr ""
5542
 
5543
+ #: includes/core/class-builtin.php:1521
5544
  msgid "Kirundi"
5545
  msgstr ""
5546
 
5547
+ #: includes/core/class-builtin.php:1522
5548
  msgid "Romanian"
5549
  msgstr ""
5550
 
5551
+ #: includes/core/class-builtin.php:1523
5552
  msgid "Russian"
5553
  msgstr ""
5554
 
5555
+ #: includes/core/class-builtin.php:1524
5556
  msgid "Kinyarwanda"
5557
  msgstr ""
5558
 
5559
+ #: includes/core/class-builtin.php:1525
5560
  msgid "Sanskrit"
5561
  msgstr ""
5562
 
5563
+ #: includes/core/class-builtin.php:1526
5564
  msgid "Sardinian"
5565
  msgstr ""
5566
 
5567
+ #: includes/core/class-builtin.php:1527
5568
  msgid "Sindhi"
5569
  msgstr ""
5570
 
5571
+ #: includes/core/class-builtin.php:1528
5572
  msgid "Northern Sami"
5573
  msgstr ""
5574
 
5575
+ #: includes/core/class-builtin.php:1529
5576
  msgid "Sango"
5577
  msgstr ""
5578
 
5579
+ #: includes/core/class-builtin.php:1530
5580
  msgid "Sinhala"
5581
  msgstr ""
5582
 
5583
+ #: includes/core/class-builtin.php:1531
5584
  msgid "Slovak"
5585
  msgstr ""
5586
 
5587
+ #: includes/core/class-builtin.php:1532
5588
  msgid "Slovenian"
5589
  msgstr ""
5590
 
5591
+ #: includes/core/class-builtin.php:1533
5592
  msgid "Samoan"
5593
  msgstr ""
5594
 
5595
+ #: includes/core/class-builtin.php:1534
5596
  msgid "Shona"
5597
  msgstr ""
5598
 
5599
+ #: includes/core/class-builtin.php:1535
5600
  msgid "Somali"
5601
  msgstr ""
5602
 
5603
+ #: includes/core/class-builtin.php:1536
5604
  msgid "Albanian"
5605
  msgstr ""
5606
 
5607
+ #: includes/core/class-builtin.php:1537
5608
  msgid "Serbian"
5609
  msgstr ""
5610
 
5611
+ #: includes/core/class-builtin.php:1538
5612
  msgid "Swati"
5613
  msgstr ""
5614
 
5615
+ #: includes/core/class-builtin.php:1539
5616
  msgid "Southern Sotho"
5617
  msgstr ""
5618
 
5619
+ #: includes/core/class-builtin.php:1540
5620
  msgid "Sundanese"
5621
  msgstr ""
5622
 
5623
+ #: includes/core/class-builtin.php:1541
5624
  msgid "Swedish"
5625
  msgstr ""
5626
 
5627
+ #: includes/core/class-builtin.php:1542
5628
  msgid "Swahili"
5629
  msgstr ""
5630
 
5631
+ #: includes/core/class-builtin.php:1543
5632
  msgid "Tamil"
5633
  msgstr ""
5634
 
5635
+ #: includes/core/class-builtin.php:1544
5636
  msgid "Telugu"
5637
  msgstr ""
5638
 
5639
+ #: includes/core/class-builtin.php:1545
5640
  msgid "Tajik"
5641
  msgstr ""
5642
 
5643
+ #: includes/core/class-builtin.php:1546
5644
  msgid "Thai"
5645
  msgstr ""
5646
 
5647
+ #: includes/core/class-builtin.php:1547
5648
  msgid "Tigrinya"
5649
  msgstr ""
5650
 
5651
+ #: includes/core/class-builtin.php:1548
5652
  msgid "Turkmen"
5653
  msgstr ""
5654
 
5655
+ #: includes/core/class-builtin.php:1549
5656
  msgid "Tagalog"
5657
  msgstr ""
5658
 
5659
+ #: includes/core/class-builtin.php:1550
5660
  msgid "Tswana"
5661
  msgstr ""
5662
 
5663
+ #: includes/core/class-builtin.php:1551 includes/core/class-builtin.php:1799
5664
  msgid "Tonga"
5665
  msgstr ""
5666
 
5667
+ #: includes/core/class-builtin.php:1552
5668
  msgid "Turkish"
5669
  msgstr ""
5670
 
5671
+ #: includes/core/class-builtin.php:1553
5672
  msgid "Tsonga"
5673
  msgstr ""
5674
 
5675
+ #: includes/core/class-builtin.php:1554
5676
  msgid "Tatar"
5677
  msgstr ""
5678
 
5679
+ #: includes/core/class-builtin.php:1555
5680
  msgid "Twi"
5681
  msgstr ""
5682
 
5683
+ #: includes/core/class-builtin.php:1556
5684
  msgid "Tahitian"
5685
  msgstr ""
5686
 
5687
+ #: includes/core/class-builtin.php:1557
5688
  msgid "Uighur"
5689
  msgstr ""
5690
 
5691
+ #: includes/core/class-builtin.php:1558
5692
  msgid "Ukrainian"
5693
  msgstr ""
5694
 
5695
+ #: includes/core/class-builtin.php:1559
5696
  msgid "Urdu"
5697
  msgstr ""
5698
 
5699
+ #: includes/core/class-builtin.php:1560
5700
  msgid "Uzbek"
5701
  msgstr ""
5702
 
5703
+ #: includes/core/class-builtin.php:1561
5704
  msgid "Venda"
5705
  msgstr ""
5706
 
5707
+ #: includes/core/class-builtin.php:1562
5708
  msgid "Vietnamese"
5709
  msgstr ""
5710
 
5711
+ #: includes/core/class-builtin.php:1563
5712
  msgid "Volapuk"
5713
  msgstr ""
5714
 
5715
+ #: includes/core/class-builtin.php:1564
5716
  msgid "Walloon"
5717
  msgstr ""
5718
 
5719
+ #: includes/core/class-builtin.php:1565
5720
  msgid "Wolof"
5721
  msgstr ""
5722
 
5723
+ #: includes/core/class-builtin.php:1566
5724
  msgid "Xhosa"
5725
  msgstr ""
5726
 
5727
+ #: includes/core/class-builtin.php:1567
5728
  msgid "Yiddish"
5729
  msgstr ""
5730
 
5731
+ #: includes/core/class-builtin.php:1568
5732
  msgid "Yoruba"
5733
  msgstr ""
5734
 
5735
+ #: includes/core/class-builtin.php:1569
5736
  msgid "Zhuang"
5737
  msgstr ""
5738
 
5739
+ #: includes/core/class-builtin.php:1570
5740
  msgid "Chinese"
5741
  msgstr ""
5742
 
5743
+ #: includes/core/class-builtin.php:1571
5744
  msgid "Zulu"
5745
  msgstr ""
5746
 
5747
+ #: includes/core/class-builtin.php:1577
5748
  msgid "Afghanistan"
5749
  msgstr ""
5750
 
5751
+ #: includes/core/class-builtin.php:1578
5752
  msgid "Åland Islands"
5753
  msgstr ""
5754
 
5755
+ #: includes/core/class-builtin.php:1579
5756
  msgid "Albania"
5757
  msgstr ""
5758
 
5759
+ #: includes/core/class-builtin.php:1580
5760
  msgid "Algeria"
5761
  msgstr ""
5762
 
5763
+ #: includes/core/class-builtin.php:1581
5764
  msgid "American Samoa"
5765
  msgstr ""
5766
 
5767
+ #: includes/core/class-builtin.php:1582
5768
  msgid "Andorra"
5769
  msgstr ""
5770
 
5771
+ #: includes/core/class-builtin.php:1583
5772
  msgid "Angola"
5773
  msgstr ""
5774
 
5775
+ #: includes/core/class-builtin.php:1584
5776
  msgid "Anguilla"
5777
  msgstr ""
5778
 
5779
+ #: includes/core/class-builtin.php:1585
5780
  msgid "Antarctica"
5781
  msgstr ""
5782
 
5783
+ #: includes/core/class-builtin.php:1586
5784
  msgid "Antigua and Barbuda"
5785
  msgstr ""
5786
 
5787
+ #: includes/core/class-builtin.php:1587
5788
  msgid "Argentina"
5789
  msgstr ""
5790
 
5791
+ #: includes/core/class-builtin.php:1588
5792
  msgid "Armenia"
5793
  msgstr ""
5794
 
5795
+ #: includes/core/class-builtin.php:1589
5796
  msgid "Aruba"
5797
  msgstr ""
5798
 
5799
+ #: includes/core/class-builtin.php:1590
5800
  msgid "Australia"
5801
  msgstr ""
5802
 
5803
+ #: includes/core/class-builtin.php:1591
5804
  msgid "Austria"
5805
  msgstr ""
5806
 
5807
+ #: includes/core/class-builtin.php:1592
5808
  msgid "Azerbaijan"
5809
  msgstr ""
5810
 
5811
+ #: includes/core/class-builtin.php:1593
5812
  msgid "Bahamas"
5813
  msgstr ""
5814
 
5815
+ #: includes/core/class-builtin.php:1594
5816
  msgid "Bahrain"
5817
  msgstr ""
5818
 
5819
+ #: includes/core/class-builtin.php:1595
5820
  msgid "Bangladesh"
5821
  msgstr ""
5822
 
5823
+ #: includes/core/class-builtin.php:1596
5824
  msgid "Barbados"
5825
  msgstr ""
5826
 
5827
+ #: includes/core/class-builtin.php:1597
5828
  msgid "Belarus"
5829
  msgstr ""
5830
 
5831
+ #: includes/core/class-builtin.php:1598
5832
  msgid "Belgium"
5833
  msgstr ""
5834
 
5835
+ #: includes/core/class-builtin.php:1599
5836
  msgid "Belize"
5837
  msgstr ""
5838
 
5839
+ #: includes/core/class-builtin.php:1600
5840
  msgid "Benin"
5841
  msgstr ""
5842
 
5843
+ #: includes/core/class-builtin.php:1601
5844
  msgid "Bermuda"
5845
  msgstr ""
5846
 
5847
+ #: includes/core/class-builtin.php:1602
5848
  msgid "Bhutan"
5849
  msgstr ""
5850
 
5851
+ #: includes/core/class-builtin.php:1603
5852
  msgid "Bolivia, Plurinational State of"
5853
  msgstr ""
5854
 
5855
+ #: includes/core/class-builtin.php:1604
5856
  msgid "Bosnia and Herzegovina"
5857
  msgstr ""
5858
 
5859
+ #: includes/core/class-builtin.php:1605
5860
  msgid "Botswana"
5861
  msgstr ""
5862
 
5863
+ #: includes/core/class-builtin.php:1606
5864
  msgid "Bouvet Island"
5865
  msgstr ""
5866
 
5867
+ #: includes/core/class-builtin.php:1607
5868
  msgid "Brazil"
5869
  msgstr ""
5870
 
5871
+ #: includes/core/class-builtin.php:1608
5872
  msgid "British Indian Ocean Territory"
5873
  msgstr ""
5874
 
5875
+ #: includes/core/class-builtin.php:1609
5876
  msgid "Brunei Darussalam"
5877
  msgstr ""
5878
 
5879
+ #: includes/core/class-builtin.php:1610
5880
  msgid "Bulgaria"
5881
  msgstr ""
5882
 
5883
+ #: includes/core/class-builtin.php:1611
5884
  msgid "Burkina Faso"
5885
  msgstr ""
5886
 
5887
+ #: includes/core/class-builtin.php:1612
5888
  msgid "Burundi"
5889
  msgstr ""
5890
 
5891
+ #: includes/core/class-builtin.php:1613
5892
  msgid "Cambodia"
5893
  msgstr ""
5894
 
5895
+ #: includes/core/class-builtin.php:1614
5896
  msgid "Cameroon"
5897
  msgstr ""
5898
 
5899
+ #: includes/core/class-builtin.php:1615
5900
  msgid "Canada"
5901
  msgstr ""
5902
 
5903
+ #: includes/core/class-builtin.php:1616
5904
  msgid "Cape Verde"
5905
  msgstr ""
5906
 
5907
+ #: includes/core/class-builtin.php:1617
5908
  msgid "Cayman Islands"
5909
  msgstr ""
5910
 
5911
+ #: includes/core/class-builtin.php:1618
5912
  msgid "Central African Republic"
5913
  msgstr ""
5914
 
5915
+ #: includes/core/class-builtin.php:1619
5916
  msgid "Chad"
5917
  msgstr ""
5918
 
5919
+ #: includes/core/class-builtin.php:1620
5920
  msgid "Chile"
5921
  msgstr ""
5922
 
5923
+ #: includes/core/class-builtin.php:1621
5924
  msgid "China"
5925
  msgstr ""
5926
 
5927
+ #: includes/core/class-builtin.php:1622
5928
  msgid "Christmas Island"
5929
  msgstr ""
5930
 
5931
+ #: includes/core/class-builtin.php:1623
5932
  msgid "Cocos (Keeling) Islands"
5933
  msgstr ""
5934
 
5935
+ #: includes/core/class-builtin.php:1624
5936
  msgid "Colombia"
5937
  msgstr ""
5938
 
5939
+ #: includes/core/class-builtin.php:1625
5940
  msgid "Comoros"
5941
  msgstr ""
5942
 
5943
+ #: includes/core/class-builtin.php:1626
5944
  msgid "Congo"
5945
  msgstr ""
5946
 
5947
+ #: includes/core/class-builtin.php:1627
5948
  msgid "Congo, the Democratic Republic of the"
5949
  msgstr ""
5950
 
5951
+ #: includes/core/class-builtin.php:1628
5952
  msgid "Cook Islands"
5953
  msgstr ""
5954
 
5955
+ #: includes/core/class-builtin.php:1629
5956
  msgid "Costa Rica"
5957
  msgstr ""
5958
 
5959
+ #: includes/core/class-builtin.php:1630
5960
  msgid "Côte d'Ivoire"
5961
  msgstr ""
5962
 
5963
+ #: includes/core/class-builtin.php:1631
5964
  msgid "Croatia"
5965
  msgstr ""
5966
 
5967
+ #: includes/core/class-builtin.php:1632
5968
  msgid "Cuba"
5969
  msgstr ""
5970
 
5971
+ #: includes/core/class-builtin.php:1633
5972
  msgid "Cyprus"
5973
  msgstr ""
5974
 
5975
+ #: includes/core/class-builtin.php:1634
5976
  msgid "Czech Republic"
5977
  msgstr ""
5978
 
5979
+ #: includes/core/class-builtin.php:1635
5980
  msgid "Denmark"
5981
  msgstr ""
5982
 
5983
+ #: includes/core/class-builtin.php:1636
5984
  msgid "Djibouti"
5985
  msgstr ""
5986
 
5987
+ #: includes/core/class-builtin.php:1637
5988
  msgid "Dominica"
5989
  msgstr ""
5990
 
5991
+ #: includes/core/class-builtin.php:1638
5992
  msgid "Dominican Republic"
5993
  msgstr ""
5994
 
5995
+ #: includes/core/class-builtin.php:1639
5996
  msgid "Ecuador"
5997
  msgstr ""
5998
 
5999
+ #: includes/core/class-builtin.php:1640
6000
  msgid "Egypt"
6001
  msgstr ""
6002
 
6003
+ #: includes/core/class-builtin.php:1641
6004
  msgid "El Salvador"
6005
  msgstr ""
6006
 
6007
+ #: includes/core/class-builtin.php:1642
6008
  msgid "Equatorial Guinea"
6009
  msgstr ""
6010
 
6011
+ #: includes/core/class-builtin.php:1643
6012
  msgid "Eritrea"
6013
  msgstr ""
6014
 
6015
+ #: includes/core/class-builtin.php:1644
6016
  msgid "Estonia"
6017
  msgstr ""
6018
 
6019
+ #: includes/core/class-builtin.php:1645
6020
  msgid "Ethiopia"
6021
  msgstr ""
6022
 
6023
+ #: includes/core/class-builtin.php:1646
6024
  msgid "Falkland Islands (Malvinas)"
6025
  msgstr ""
6026
 
6027
+ #: includes/core/class-builtin.php:1647
6028
  msgid "Faroe Islands"
6029
  msgstr ""
6030
 
6031
+ #: includes/core/class-builtin.php:1648
6032
  msgid "Fiji"
6033
  msgstr ""
6034
 
6035
+ #: includes/core/class-builtin.php:1649
6036
  msgid "Finland"
6037
  msgstr ""
6038
 
6039
+ #: includes/core/class-builtin.php:1650
6040
  msgid "France"
6041
  msgstr ""
6042
 
6043
+ #: includes/core/class-builtin.php:1651
6044
  msgid "French Guiana"
6045
  msgstr ""
6046
 
6047
+ #: includes/core/class-builtin.php:1652
6048
  msgid "French Polynesia"
6049
  msgstr ""
6050
 
6051
+ #: includes/core/class-builtin.php:1653
6052
  msgid "French Southern Territories"
6053
  msgstr ""
6054
 
6055
+ #: includes/core/class-builtin.php:1654
6056
  msgid "Gabon"
6057
  msgstr ""
6058
 
6059
+ #: includes/core/class-builtin.php:1655
6060
  msgid "Gambia"
6061
  msgstr ""
6062
 
6063
+ #: includes/core/class-builtin.php:1656
6064
  msgid "Georgia"
6065
  msgstr ""
6066
 
6067
+ #: includes/core/class-builtin.php:1657
6068
  msgid "Germany"
6069
  msgstr ""
6070
 
6071
+ #: includes/core/class-builtin.php:1658
6072
  msgid "Ghana"
6073
  msgstr ""
6074
 
6075
+ #: includes/core/class-builtin.php:1659
6076
  msgid "Gibraltar"
6077
  msgstr ""
6078
 
6079
+ #: includes/core/class-builtin.php:1660
6080
  msgid "Greece"
6081
  msgstr ""
6082
 
6083
+ #: includes/core/class-builtin.php:1661
6084
  msgid "Greenland"
6085
  msgstr ""
6086
 
6087
+ #: includes/core/class-builtin.php:1662
6088
  msgid "Grenada"
6089
  msgstr ""
6090
 
6091
+ #: includes/core/class-builtin.php:1663
6092
  msgid "Guadeloupe"
6093
  msgstr ""
6094
 
6095
+ #: includes/core/class-builtin.php:1664
6096
  msgid "Guam"
6097
  msgstr ""
6098
 
6099
+ #: includes/core/class-builtin.php:1665
6100
  msgid "Guatemala"
6101
  msgstr ""
6102
 
6103
+ #: includes/core/class-builtin.php:1666
6104
  msgid "Guernsey"
6105
  msgstr ""
6106
 
6107
+ #: includes/core/class-builtin.php:1667
6108
  msgid "Guinea"
6109
  msgstr ""
6110
 
6111
+ #: includes/core/class-builtin.php:1668
6112
  msgid "Guinea-Bissau"
6113
  msgstr ""
6114
 
6115
+ #: includes/core/class-builtin.php:1669
6116
  msgid "Guyana"
6117
  msgstr ""
6118
 
6119
+ #: includes/core/class-builtin.php:1670
6120
  msgid "Haiti"
6121
  msgstr ""
6122
 
6123
+ #: includes/core/class-builtin.php:1671
6124
  msgid "Heard Island and McDonald Islands"
6125
  msgstr ""
6126
 
6127
+ #: includes/core/class-builtin.php:1672
6128
  msgid "Holy See (Vatican City State)"
6129
  msgstr ""
6130
 
6131
+ #: includes/core/class-builtin.php:1673
6132
  msgid "Honduras"
6133
  msgstr ""
6134
 
6135
+ #: includes/core/class-builtin.php:1674
6136
  msgid "Hong Kong"
6137
  msgstr ""
6138
 
6139
+ #: includes/core/class-builtin.php:1675
6140
  msgid "Hungary"
6141
  msgstr ""
6142
 
6143
+ #: includes/core/class-builtin.php:1676
6144
  msgid "Iceland"
6145
  msgstr ""
6146
 
6147
+ #: includes/core/class-builtin.php:1677
6148
  msgid "India"
6149
  msgstr ""
6150
 
6151
+ #: includes/core/class-builtin.php:1678
6152
  msgid "Indonesia"
6153
  msgstr ""
6154
 
6155
+ #: includes/core/class-builtin.php:1679
6156
  msgid "Iran, Islamic Republic of"
6157
  msgstr ""
6158
 
6159
+ #: includes/core/class-builtin.php:1680
6160
  msgid "Iraq"
6161
  msgstr ""
6162
 
6163
+ #: includes/core/class-builtin.php:1681
6164
  msgid "Ireland"
6165
  msgstr ""
6166
 
6167
+ #: includes/core/class-builtin.php:1682
6168
  msgid "Isle of Man"
6169
  msgstr ""
6170
 
6171
+ #: includes/core/class-builtin.php:1683
6172
  msgid "Israel"
6173
  msgstr ""
6174
 
6175
+ #: includes/core/class-builtin.php:1684
6176
  msgid "Italy"
6177
  msgstr ""
6178
 
6179
+ #: includes/core/class-builtin.php:1685
6180
  msgid "Jamaica"
6181
  msgstr ""
6182
 
6183
+ #: includes/core/class-builtin.php:1686
6184
  msgid "Japan"
6185
  msgstr ""
6186
 
6187
+ #: includes/core/class-builtin.php:1687
6188
  msgid "Jersey"
6189
  msgstr ""
6190
 
6191
+ #: includes/core/class-builtin.php:1688
6192
  msgid "Jordan"
6193
  msgstr ""
6194
 
6195
+ #: includes/core/class-builtin.php:1689
6196
  msgid "Kazakhstan"
6197
  msgstr ""
6198
 
6199
+ #: includes/core/class-builtin.php:1690
6200
  msgid "Kenya"
6201
  msgstr ""
6202
 
6203
+ #: includes/core/class-builtin.php:1691
6204
  msgid "Kiribati"
6205
  msgstr ""
6206
 
6207
+ #: includes/core/class-builtin.php:1692
6208
  msgid "Korea, Democratic People's Republic of"
6209
  msgstr ""
6210
 
6211
+ #: includes/core/class-builtin.php:1693
6212
  msgid "Korea, Republic of"
6213
  msgstr ""
6214
 
6215
+ #: includes/core/class-builtin.php:1694
6216
  msgid "Kuwait"
6217
  msgstr ""
6218
 
6219
+ #: includes/core/class-builtin.php:1695
6220
  msgid "Kyrgyzstan"
6221
  msgstr ""
6222
 
6223
+ #: includes/core/class-builtin.php:1696
6224
  msgid "Lao People's Democratic Republic"
6225
  msgstr ""
6226
 
6227
+ #: includes/core/class-builtin.php:1697
6228
  msgid "Latvia"
6229
  msgstr ""
6230
 
6231
+ #: includes/core/class-builtin.php:1698
6232
  msgid "Lebanon"
6233
  msgstr ""
6234
 
6235
+ #: includes/core/class-builtin.php:1699
6236
  msgid "Lesotho"
6237
  msgstr ""
6238
 
6239
+ #: includes/core/class-builtin.php:1700
6240
  msgid "Liberia"
6241
  msgstr ""
6242
 
6243
+ #: includes/core/class-builtin.php:1701
6244
  msgid "Libyan Arab Jamahiriya"
6245
  msgstr ""
6246
 
6247
+ #: includes/core/class-builtin.php:1702
6248
  msgid "Liechtenstein"
6249
  msgstr ""
6250
 
6251
+ #: includes/core/class-builtin.php:1703
6252
  msgid "Lithuania"
6253
  msgstr ""
6254
 
6255
+ #: includes/core/class-builtin.php:1704
6256
  msgid "Luxembourg"
6257
  msgstr ""
6258
 
6259
+ #: includes/core/class-builtin.php:1705
6260
  msgid "Macao"
6261
  msgstr ""
6262
 
6263
+ #: includes/core/class-builtin.php:1706
6264
  msgid "Macedonia, the former Yugoslav Republic of"
6265
  msgstr ""
6266
 
6267
+ #: includes/core/class-builtin.php:1707
6268
  msgid "Madagascar"
6269
  msgstr ""
6270
 
6271
+ #: includes/core/class-builtin.php:1708
6272
  msgid "Malawi"
6273
  msgstr ""
6274
 
6275
+ #: includes/core/class-builtin.php:1709
6276
  msgid "Malaysia"
6277
  msgstr ""
6278
 
6279
+ #: includes/core/class-builtin.php:1710
6280
  msgid "Maldives"
6281
  msgstr ""
6282
 
6283
+ #: includes/core/class-builtin.php:1711
6284
  msgid "Mali"
6285
  msgstr ""
6286
 
6287
+ #: includes/core/class-builtin.php:1712
6288
  msgid "Malta"
6289
  msgstr ""
6290
 
6291
+ #: includes/core/class-builtin.php:1713
6292
  msgid "Marshall Islands"
6293
  msgstr ""
6294
 
6295
+ #: includes/core/class-builtin.php:1714
6296
  msgid "Martinique"
6297
  msgstr ""
6298
 
6299
+ #: includes/core/class-builtin.php:1715
6300
  msgid "Mauritania"
6301
  msgstr ""
6302
 
6303
+ #: includes/core/class-builtin.php:1716
6304
  msgid "Mauritius"
6305
  msgstr ""
6306
 
6307
+ #: includes/core/class-builtin.php:1717
6308
  msgid "Mayotte"
6309
  msgstr ""
6310
 
6311
+ #: includes/core/class-builtin.php:1718
6312
  msgid "Mexico"
6313
  msgstr ""
6314
 
6315
+ #: includes/core/class-builtin.php:1719
6316
  msgid "Micronesia, Federated States of"
6317
  msgstr ""
6318
 
6319
+ #: includes/core/class-builtin.php:1720
6320
  msgid "Moldova, Republic of"
6321
  msgstr ""
6322
 
6323
+ #: includes/core/class-builtin.php:1721
6324
  msgid "Monaco"
6325
  msgstr ""
6326
 
6327
+ #: includes/core/class-builtin.php:1722
6328
  msgid "Mongolia"
6329
  msgstr ""
6330
 
6331
+ #: includes/core/class-builtin.php:1723
6332
  msgid "Montenegro"
6333
  msgstr ""
6334
 
6335
+ #: includes/core/class-builtin.php:1724
6336
  msgid "Montserrat"
6337
  msgstr ""
6338
 
6339
+ #: includes/core/class-builtin.php:1725
6340
  msgid "Morocco"
6341
  msgstr ""
6342
 
6343
+ #: includes/core/class-builtin.php:1726
6344
  msgid "Mozambique"
6345
  msgstr ""
6346
 
6347
+ #: includes/core/class-builtin.php:1727
6348
  msgid "Myanmar"
6349
  msgstr ""
6350
 
6351
+ #: includes/core/class-builtin.php:1728
6352
  msgid "Namibia"
6353
  msgstr ""
6354
 
6355
+ #: includes/core/class-builtin.php:1730
6356
  msgid "Nepal"
6357
  msgstr ""
6358
 
6359
+ #: includes/core/class-builtin.php:1731
6360
  msgid "Netherlands"
6361
  msgstr ""
6362
 
6363
+ #: includes/core/class-builtin.php:1732
6364
  msgid "Netherlands Antilles"
6365
  msgstr ""
6366
 
6367
+ #: includes/core/class-builtin.php:1733
6368
  msgid "New Caledonia"
6369
  msgstr ""
6370
 
6371
+ #: includes/core/class-builtin.php:1734
6372
  msgid "New Zealand"
6373
  msgstr ""
6374
 
6375
+ #: includes/core/class-builtin.php:1735
6376
  msgid "Nicaragua"
6377
  msgstr ""
6378
 
6379
+ #: includes/core/class-builtin.php:1736
6380
  msgid "Niger"
6381
  msgstr ""
6382
 
6383
+ #: includes/core/class-builtin.php:1737
6384
  msgid "Nigeria"
6385
  msgstr ""
6386
 
6387
+ #: includes/core/class-builtin.php:1738
6388
  msgid "Niue"
6389
  msgstr ""
6390
 
6391
+ #: includes/core/class-builtin.php:1739
6392
  msgid "Norfolk Island"
6393
  msgstr ""
6394
 
6395
+ #: includes/core/class-builtin.php:1740
6396
  msgid "Northern Mariana Islands"
6397
  msgstr ""
6398
 
6399
+ #: includes/core/class-builtin.php:1741
6400
  msgid "Norway"
6401
  msgstr ""
6402
 
6403
+ #: includes/core/class-builtin.php:1742
6404
  msgid "Oman"
6405
  msgstr ""
6406
 
6407
+ #: includes/core/class-builtin.php:1743
6408
  msgid "Pakistan"
6409
  msgstr ""
6410
 
6411
+ #: includes/core/class-builtin.php:1744
6412
  msgid "Palau"
6413
  msgstr ""
6414
 
6415
+ #: includes/core/class-builtin.php:1745
6416
  msgid "Palestine"
6417
  msgstr ""
6418
 
6419
+ #: includes/core/class-builtin.php:1746
6420
  msgid "Panama"
6421
  msgstr ""
6422
 
6423
+ #: includes/core/class-builtin.php:1747
6424
  msgid "Papua New Guinea"
6425
  msgstr ""
6426
 
6427
+ #: includes/core/class-builtin.php:1748
6428
  msgid "Paraguay"
6429
  msgstr ""
6430
 
6431
+ #: includes/core/class-builtin.php:1749
6432
  msgid "Peru"
6433
  msgstr ""
6434
 
6435
+ #: includes/core/class-builtin.php:1750
6436
  msgid "Philippines"
6437
  msgstr ""
6438
 
6439
+ #: includes/core/class-builtin.php:1751
6440
  msgid "Pitcairn"
6441
  msgstr ""
6442
 
6443
+ #: includes/core/class-builtin.php:1752
6444
  msgid "Poland"
6445
  msgstr ""
6446
 
6447
+ #: includes/core/class-builtin.php:1753
6448
  msgid "Portugal"
6449
  msgstr ""
6450
 
6451
+ #: includes/core/class-builtin.php:1754
6452
  msgid "Puerto Rico"
6453
  msgstr ""
6454
 
6455
+ #: includes/core/class-builtin.php:1755
6456
  msgid "Qatar"
6457
  msgstr ""
6458
 
6459
+ #: includes/core/class-builtin.php:1756
6460
  msgid "Réunion"
6461
  msgstr ""
6462
 
6463
+ #: includes/core/class-builtin.php:1757
6464
  msgid "Romania"
6465
  msgstr ""
6466
 
6467
+ #: includes/core/class-builtin.php:1758
6468
  msgid "Russian Federation"
6469
  msgstr ""
6470
 
6471
+ #: includes/core/class-builtin.php:1759
6472
  msgid "Rwanda"
6473
  msgstr ""
6474
 
6475
+ #: includes/core/class-builtin.php:1760
6476
  msgid "Saint Barthélemy"
6477
  msgstr ""
6478
 
6479
+ #: includes/core/class-builtin.php:1761
6480
  msgid "Saint Helena"
6481
  msgstr ""
6482
 
6483
+ #: includes/core/class-builtin.php:1762
6484
  msgid "Saint Kitts and Nevis"
6485
  msgstr ""
6486
 
6487
+ #: includes/core/class-builtin.php:1763
6488
  msgid "Saint Lucia"
6489
  msgstr ""
6490
 
6491
+ #: includes/core/class-builtin.php:1764
6492
  msgid "Saint Martin (French part)"
6493
  msgstr ""
6494
 
6495
+ #: includes/core/class-builtin.php:1765
6496
  msgid "Saint Pierre and Miquelon"
6497
  msgstr ""
6498
 
6499
+ #: includes/core/class-builtin.php:1766
6500
  msgid "Saint Vincent and the Grenadines"
6501
  msgstr ""
6502
 
6503
+ #: includes/core/class-builtin.php:1767
6504
  msgid "Samoa"
6505
  msgstr ""
6506
 
6507
+ #: includes/core/class-builtin.php:1768
6508
  msgid "San Marino"
6509
  msgstr ""
6510
 
6511
+ #: includes/core/class-builtin.php:1769
6512
  msgid "Sao Tome and Principe"
6513
  msgstr ""
6514
 
6515
+ #: includes/core/class-builtin.php:1770
6516
  msgid "Saudi Arabia"
6517
  msgstr ""
6518
 
6519
+ #: includes/core/class-builtin.php:1771
6520
  msgid "Senegal"
6521
  msgstr ""
6522
 
6523
+ #: includes/core/class-builtin.php:1772
6524
  msgid "Serbia"
6525
  msgstr ""
6526
 
6527
+ #: includes/core/class-builtin.php:1773
6528
  msgid "Seychelles"
6529
  msgstr ""
6530
 
6531
+ #: includes/core/class-builtin.php:1774
6532
  msgid "Sierra Leone"
6533
  msgstr ""
6534
 
6535
+ #: includes/core/class-builtin.php:1775
6536
  msgid "Singapore"
6537
  msgstr ""
6538
 
6539
+ #: includes/core/class-builtin.php:1776
6540
  msgid "Slovakia"
6541
  msgstr ""
6542
 
6543
+ #: includes/core/class-builtin.php:1777
6544
  msgid "Slovenia"
6545
  msgstr ""
6546
 
6547
+ #: includes/core/class-builtin.php:1778
6548
  msgid "Solomon Islands"
6549
  msgstr ""
6550
 
6551
+ #: includes/core/class-builtin.php:1779
6552
  msgid "Somalia"
6553
  msgstr ""
6554
 
6555
+ #: includes/core/class-builtin.php:1780
6556
  msgid "South Africa"
6557
  msgstr ""
6558
 
6559
+ #: includes/core/class-builtin.php:1781
6560
  msgid "South Georgia and the South Sandwich Islands"
6561
  msgstr ""
6562
 
6563
+ #: includes/core/class-builtin.php:1782
6564
  msgid "South Sudan"
6565
  msgstr ""
6566
 
6567
+ #: includes/core/class-builtin.php:1783
6568
  msgid "Spain"
6569
  msgstr ""
6570
 
6571
+ #: includes/core/class-builtin.php:1784
6572
  msgid "Sri Lanka"
6573
  msgstr ""
6574
 
6575
+ #: includes/core/class-builtin.php:1785
6576
  msgid "Sudan"
6577
  msgstr ""
6578
 
6579
+ #: includes/core/class-builtin.php:1786
6580
  msgid "Suriname"
6581
  msgstr ""
6582
 
6583
+ #: includes/core/class-builtin.php:1787
6584
  msgid "Svalbard and Jan Mayen"
6585
  msgstr ""
6586
 
6587
+ #: includes/core/class-builtin.php:1788
6588
  msgid "Swaziland"
6589
  msgstr ""
6590
 
6591
+ #: includes/core/class-builtin.php:1789
6592
  msgid "Sweden"
6593
  msgstr ""
6594
 
6595
+ #: includes/core/class-builtin.php:1790
6596
  msgid "Switzerland"
6597
  msgstr ""
6598
 
6599
+ #: includes/core/class-builtin.php:1791
6600
  msgid "Syrian Arab Republic"
6601
  msgstr ""
6602
 
6603
+ #: includes/core/class-builtin.php:1792
6604
  msgid "Taiwan, Province of China"
6605
  msgstr ""
6606
 
6607
+ #: includes/core/class-builtin.php:1793
6608
  msgid "Tajikistan"
6609
  msgstr ""
6610
 
6611
+ #: includes/core/class-builtin.php:1794
6612
  msgid "Tanzania, United Republic of"
6613
  msgstr ""
6614
 
6615
+ #: includes/core/class-builtin.php:1795
6616
  msgid "Thailand"
6617
  msgstr ""
6618
 
6619
+ #: includes/core/class-builtin.php:1796
6620
  msgid "Timor-Leste"
6621
  msgstr ""
6622
 
6623
+ #: includes/core/class-builtin.php:1797
6624
  msgid "Togo"
6625
  msgstr ""
6626
 
6627
+ #: includes/core/class-builtin.php:1798
6628
  msgid "Tokelau"
6629
  msgstr ""
6630
 
6631
+ #: includes/core/class-builtin.php:1800
6632
  msgid "Trinidad and Tobago"
6633
  msgstr ""
6634
 
6635
+ #: includes/core/class-builtin.php:1801
6636
  msgid "Tunisia"
6637
  msgstr ""
6638
 
6639
+ #: includes/core/class-builtin.php:1802
6640
  msgid "Turkey"
6641
  msgstr ""
6642
 
6643
+ #: includes/core/class-builtin.php:1803
6644
  msgid "Turkmenistan"
6645
  msgstr ""
6646
 
6647
+ #: includes/core/class-builtin.php:1804
6648
  msgid "Turks and Caicos Islands"
6649
  msgstr ""
6650
 
6651
+ #: includes/core/class-builtin.php:1805
6652
  msgid "Tuvalu"
6653
  msgstr ""
6654
 
6655
+ #: includes/core/class-builtin.php:1806
6656
  msgid "Uganda"
6657
  msgstr ""
6658
 
6659
+ #: includes/core/class-builtin.php:1807
6660
  msgid "Ukraine"
6661
  msgstr ""
6662
 
6663
+ #: includes/core/class-builtin.php:1808
6664
  msgid "United Arab Emirates"
6665
  msgstr ""
6666
 
6667
+ #: includes/core/class-builtin.php:1809
6668
  msgid "United Kingdom"
6669
  msgstr ""
6670
 
6671
+ #: includes/core/class-builtin.php:1810
6672
  msgid "United States"
6673
  msgstr ""
6674
 
6675
+ #: includes/core/class-builtin.php:1811
6676
  msgid "United States Minor Outlying Islands"
6677
  msgstr ""
6678
 
6679
+ #: includes/core/class-builtin.php:1812
6680
  msgid "Uruguay"
6681
  msgstr ""
6682
 
6683
+ #: includes/core/class-builtin.php:1813
6684
  msgid "Uzbekistan"
6685
  msgstr ""
6686
 
6687
+ #: includes/core/class-builtin.php:1814
6688
  msgid "Vanuatu"
6689
  msgstr ""
6690
 
6691
+ #: includes/core/class-builtin.php:1815
6692
  msgid "Venezuela, Bolivarian Republic of"
6693
  msgstr ""
6694
 
6695
+ #: includes/core/class-builtin.php:1816
6696
  msgid "Viet Nam"
6697
  msgstr ""
6698
 
6699
+ #: includes/core/class-builtin.php:1817
6700
  msgid "Virgin Islands, British"
6701
  msgstr ""
6702
 
6703
+ #: includes/core/class-builtin.php:1818
6704
  msgid "Virgin Islands, U.S."
6705
  msgstr ""
6706
 
6707
+ #: includes/core/class-builtin.php:1819
6708
  msgid "Wallis and Futuna"
6709
  msgstr ""
6710
 
6711
+ #: includes/core/class-builtin.php:1820
6712
  msgid "Western Sahara"
6713
  msgstr ""
6714
 
6715
+ #: includes/core/class-builtin.php:1821
6716
  msgid "Yemen"
6717
  msgstr ""
6718
 
6719
+ #: includes/core/class-builtin.php:1822
6720
  msgid "Zambia"
6721
  msgstr ""
6722
 
6723
+ #: includes/core/class-builtin.php:1823
6724
  msgid "Zimbabwe"
6725
  msgstr ""
6726
 
6821
  msgid "Add translation to %s"
6822
  msgstr ""
6823
 
6824
+ #: includes/core/class-fields.php:595
6825
+ msgid "Undefined"
6826
+ msgstr ""
6827
+
6828
+ #: includes/core/class-fields.php:1206 templates/message.php:6
6829
  #, php-format
6830
  msgid "%s"
6831
  msgstr ""
6832
 
6833
+ #: includes/core/class-fields.php:1227
6834
  msgid "Custom Field"
6835
  msgstr ""
6836
 
6837
+ #: includes/core/class-fields.php:1570
6838
  msgid "Please upload a valid image!"
6839
  msgstr ""
6840
 
6841
+ #: includes/core/class-fields.php:1584
 
 
 
 
6842
  msgid "Sorry this is not a valid image."
6843
  msgstr ""
6844
 
6845
+ #: includes/core/class-fields.php:1587
6846
  msgid "This image is too large!"
6847
  msgstr ""
6848
 
6849
+ #: includes/core/class-fields.php:1590
6850
  msgid "This image is too small!"
6851
  msgstr ""
6852
 
6853
+ #: includes/core/class-fields.php:1593
6854
  msgid "You can only upload one image"
6855
  msgstr ""
6856
 
6857
+ #: includes/core/class-fields.php:1625
6858
+ msgid "Sorry this is not a valid file."
6859
+ msgstr ""
6860
+
6861
+ #: includes/core/class-fields.php:1628
6862
+ msgid "This file is too large!"
6863
+ msgstr ""
6864
+
6865
+ #: includes/core/class-fields.php:1631
6866
+ msgid "This file is too small!"
6867
+ msgstr ""
6868
+
6869
+ #: includes/core/class-fields.php:1634
6870
+ msgid "You can only upload one file"
6871
+ msgstr ""
6872
+
6873
+ #: includes/core/class-fields.php:2134
6874
  msgid "Current Password"
6875
  msgstr ""
6876
 
6877
+ #: includes/core/class-fields.php:2163
6878
  msgid "New Password"
6879
  msgstr ""
6880
 
6881
+ #: includes/core/class-fields.php:2195
6882
  #, php-format
6883
  msgid "Confirm %s"
6884
  msgstr ""
6885
 
6886
+ #: includes/core/class-fields.php:2429
6887
  msgid "Upload Photo"
6888
  msgstr ""
6889
 
6890
+ #: includes/core/class-fields.php:2450 includes/core/class-fields.php:2474
6891
+ #: includes/core/um-actions-profile.php:826
6892
  msgid "Change photo"
6893
  msgstr ""
6894
 
6895
+ #: includes/core/class-fields.php:2474 includes/core/class-fields.php:2571
6896
  msgid "Processing..."
6897
  msgstr ""
6898
 
6899
+ #: includes/core/class-fields.php:2496
6900
  msgid "Upload File"
6901
  msgstr ""
6902
 
6903
+ #: includes/core/class-fields.php:2538 includes/core/um-filters-fields.php:244
6904
  msgid "This file has been removed."
6905
  msgstr ""
6906
 
6907
+ #: includes/core/class-fields.php:2541 includes/core/class-fields.php:2571
6908
  msgid "Change file"
6909
  msgstr ""
6910
 
6911
+ #: includes/core/class-fields.php:2571
6912
  msgid "Save"
6913
  msgstr ""
6914
 
6915
+ #: includes/core/class-fields.php:4016
6916
  #, php-format
6917
  msgid ""
6918
  "Your profile is looking a little empty. Why not <a href=\"%s\">add</a> some "
6919
  "information!"
6920
  msgstr ""
6921
 
6922
+ #: includes/core/class-fields.php:4018
6923
  msgid "This user has not added any information to their profile yet."
6924
  msgstr ""
6925
 
6956
  msgstr ""
6957
 
6958
  #: includes/core/class-form.php:58 includes/core/class-profile.php:56
6959
+ #: includes/core/class-profile.php:75
6960
  msgid "You can not edit this user"
6961
  msgstr ""
6962
 
6963
  #: includes/core/class-mail.php:612 includes/core/class-password.php:701
6964
+ #: includes/core/class-profile.php:465
6965
  msgid "Your set password"
6966
  msgstr ""
6967
 
6983
  msgid "You must enter a new password"
6984
  msgstr ""
6985
 
6986
+ #: includes/core/class-password.php:543 includes/core/um-actions-account.php:58
6987
  msgid "Your password must contain at least 8 characters"
6988
  msgstr ""
6989
 
6990
+ #: includes/core/class-password.php:547 includes/core/um-actions-account.php:62
6991
  msgid "Your password must contain less than 30 characters"
6992
  msgstr ""
6993
 
6994
+ #: includes/core/class-password.php:551 includes/core/um-actions-account.php:66
6995
+ #: includes/core/um-actions-form.php:498
6996
  msgid ""
6997
  "Your password must contain at least one lowercase letter, one capital letter "
6998
  "and one number"
7002
  msgid "You must confirm your new password"
7003
  msgstr ""
7004
 
7005
+ #: includes/core/class-password.php:561 includes/core/um-actions-form.php:507
7006
  msgid "Your passwords do not match"
7007
  msgstr ""
7008
 
7023
  msgid "https://wordpress.org/support/"
7024
  msgstr ""
7025
 
7026
+ #: includes/core/class-profile.php:89
7027
  msgid "Anyone"
7028
  msgstr ""
7029
 
7030
+ #: includes/core/class-profile.php:90
7031
  msgid "Guests only"
7032
  msgstr ""
7033
 
7034
+ #: includes/core/class-profile.php:91
7035
  msgid "Members only"
7036
  msgstr ""
7037
 
7038
+ #: includes/core/class-profile.php:92
7039
  msgid "Only the owner"
7040
  msgstr ""
7041
 
7042
+ #: includes/core/class-profile.php:93
7043
  msgid "Specific roles"
7044
  msgstr ""
7045
 
7046
+ #: includes/core/class-profile.php:130
7047
  msgid "About"
7048
  msgstr ""
7049
 
7050
+ #: includes/core/class-profile.php:134
7051
  msgid "Posts"
7052
  msgstr ""
7053
 
7054
+ #: includes/core/class-profile.php:138
7055
  msgid "Comments"
7056
  msgstr ""
7057
 
7095
  msgid "Maximum file size allowed: %s"
7096
  msgstr ""
7097
 
7098
+ #: includes/core/class-user.php:623
7099
  msgid "Ultimate Member Role"
7100
  msgstr ""
7101
 
7102
+ #: includes/core/class-user.php:626
7103
  msgid "&mdash; No role for Ultimate Member &mdash;"
7104
  msgstr ""
7105
 
7106
+ #: includes/core/class-user.php:843
7107
  msgid "Membership Rejected"
7108
  msgstr ""
7109
 
7110
+ #: includes/core/class-user.php:847
7111
  msgid "Membership Inactive"
7112
  msgstr ""
7113
 
7168
  msgid "Invalid query!"
7169
  msgstr ""
7170
 
7171
+ #: includes/core/um-actions-account.php:16
7172
  msgid "Are you hacking? Please try again!"
7173
  msgstr ""
7174
 
7175
+ #: includes/core/um-actions-account.php:26
7176
+ #: includes/core/um-actions-account.php:114
7177
  msgid "You must enter your password"
7178
  msgstr ""
7179
 
7180
+ #: includes/core/um-actions-account.php:29
7181
+ #: includes/core/um-actions-account.php:46
7182
+ #: includes/core/um-actions-account.php:117
7183
  msgid "This is not your password"
7184
  msgstr ""
7185
 
7186
+ #: includes/core/um-actions-account.php:51
7187
  msgid "Your new password does not match"
7188
  msgstr ""
7189
 
7190
+ #: includes/core/um-actions-account.php:84
7191
  msgid "Your username is invalid"
7192
  msgstr ""
7193
 
7194
+ #: includes/core/um-actions-account.php:89
7195
  msgid "You must provide your first name"
7196
  msgstr ""
7197
 
7198
+ #: includes/core/um-actions-account.php:93
7199
  msgid "You must provide your last name"
7200
  msgstr ""
7201
 
7202
+ #: includes/core/um-actions-account.php:99
7203
  msgid "You must provide your e-mail"
7204
  msgstr ""
7205
 
7206
+ #: includes/core/um-actions-account.php:103
7207
  msgid "Please provide a valid e-mail"
7208
  msgstr ""
7209
 
7210
+ #: includes/core/um-actions-account.php:107
7211
  msgid "Email already linked to another account"
7212
  msgstr ""
7213
 
7214
+ #: includes/core/um-actions-account.php:420
7215
  msgid "Email me when"
7216
  msgstr ""
7217
 
7233
  msgid "You are not allowed to use this word as your username."
7234
  msgstr ""
7235
 
7236
+ #: includes/core/um-actions-form.php:369 includes/core/um-actions-form.php:416
7237
+ #: includes/core/um-actions-form.php:420 includes/core/um-actions-form.php:424
7238
  #, php-format
7239
  msgid "%s is required."
7240
  msgstr ""
7241
 
7242
+ #: includes/core/um-actions-form.php:429
7243
  msgid "Please specify account type."
7244
  msgstr ""
7245
 
7246
+ #: includes/core/um-actions-form.php:461
7247
  msgid "This field is required"
7248
  msgstr ""
7249
 
7250
+ #: includes/core/um-actions-form.php:463
7251
  #, php-format
7252
  msgid "%s is required"
7253
  msgstr ""
7254
 
7255
+ #: includes/core/um-actions-form.php:470
7256
  #, php-format
7257
  msgid "You are only allowed to enter a maximum of %s words"
7258
  msgstr ""
7259
 
7260
+ #: includes/core/um-actions-form.php:476
7261
  #, php-format
7262
  msgid "Your %s must contain at least %s characters"
7263
  msgstr ""
7264
 
7265
+ #: includes/core/um-actions-form.php:482
7266
  #, php-format
7267
  msgid "Your %s must contain less than %s characters"
7268
  msgstr ""
7269
 
7270
+ #: includes/core/um-actions-form.php:491
7271
  msgid "You can not use HTML tags here"
7272
  msgstr ""
7273
 
7274
+ #: includes/core/um-actions-form.php:504
7275
  msgid "Please confirm your password"
7276
  msgstr ""
7277
 
7278
+ #: includes/core/um-actions-form.php:513
7279
  #, php-format
7280
  msgid "Please select at least %s choices"
7281
  msgstr ""
7282
 
7283
+ #: includes/core/um-actions-form.php:519
7284
  #, php-format
7285
  msgid "You can only select up to %s choices"
7286
  msgstr ""
7287
 
7288
+ #: includes/core/um-actions-form.php:525
7289
  #, php-format
7290
  msgid "Minimum number limit is %s"
7291
  msgstr ""
7292
 
7293
+ #: includes/core/um-actions-form.php:531
7294
  #, php-format
7295
  msgid "Maximum number limit is %s"
7296
  msgstr ""
7297
 
7298
+ #: includes/core/um-actions-form.php:567
7299
  msgid "Please enter numbers only in this field"
7300
  msgstr ""
7301
 
7302
+ #: includes/core/um-actions-form.php:573
7303
  msgid "Please enter a valid phone number"
7304
  msgstr ""
7305
 
7306
+ #: includes/core/um-actions-form.php:579 includes/core/um-actions-form.php:585
7307
+ #: includes/core/um-actions-form.php:591 includes/core/um-actions-form.php:597
7308
+ #: includes/core/um-actions-form.php:603 includes/core/um-actions-form.php:609
7309
+ #: includes/core/um-actions-form.php:615 includes/core/um-actions-form.php:621
7310
+ #: includes/core/um-actions-form.php:633
7311
  #, php-format
7312
  msgid "Please enter a valid %s username or profile URL"
7313
  msgstr ""
7314
 
7315
+ #: includes/core/um-actions-form.php:627
7316
  msgid "Please enter a valid URL"
7317
  msgstr ""
7318
 
7319
+ #: includes/core/um-actions-form.php:640 includes/core/um-actions-form.php:654
7320
  msgid "You must provide a username"
7321
  msgstr ""
7322
 
7323
+ #: includes/core/um-actions-form.php:642 includes/core/um-actions-form.php:656
7324
  msgid "Your username is already taken"
7325
  msgstr ""
7326
 
7327
+ #: includes/core/um-actions-form.php:644
7328
  msgid "Username cannot be an email"
7329
  msgstr ""
7330
 
7331
+ #: includes/core/um-actions-form.php:646 includes/core/um-actions-form.php:660
7332
  msgid "Your username contains invalid characters"
7333
  msgstr ""
7334
 
7335
+ #: includes/core/um-actions-form.php:658 includes/core/um-actions-form.php:680
7336
+ #: includes/core/um-actions-form.php:682 includes/core/um-actions-form.php:694
7337
+ #: includes/core/um-actions-form.php:701
7338
  msgid "This email is already linked to an existing account"
7339
  msgstr ""
7340
 
7341
+ #: includes/core/um-actions-form.php:678
7342
  msgid "You must provide your email"
7343
  msgstr ""
7344
 
7345
+ #: includes/core/um-actions-form.php:684 includes/core/um-actions-form.php:692
7346
  msgid "This is not a valid email"
7347
  msgstr ""
7348
 
7349
+ #: includes/core/um-actions-form.php:686
7350
  msgid "Your email contains invalid characters"
7351
  msgstr ""
7352
 
7353
+ #: includes/core/um-actions-form.php:726
7354
  msgid "You must provide a unique value"
7355
  msgstr ""
7356
 
7357
+ #: includes/core/um-actions-form.php:736
7358
  msgid "You must provide alphabetic letters"
7359
  msgstr ""
7360
 
7361
+ #: includes/core/um-actions-form.php:746
7362
  msgid "You must provide lowercase letters."
7363
  msgstr ""
7364
 
7365
+ #: includes/core/um-actions-form.php:764
7366
  #, php-format
7367
  msgid "Your user description must contain less than %s characters"
7368
  msgstr ""
7383
  msgid "Please enter your email"
7384
  msgstr ""
7385
 
7386
+ #: includes/core/um-actions-login.php:49
7387
  msgid "Please enter your password"
7388
  msgstr ""
7389
 
7390
+ #: includes/core/um-actions-login.php:56
7391
  msgid "Password is incorrect. Please try again."
7392
  msgstr ""
7393
 
7394
+ #: includes/core/um-actions-login.php:183
7395
  msgid "This action has been prevented for security measures."
7396
  msgstr ""
7397
 
7398
+ #: includes/core/um-actions-login.php:416
7399
  msgid "Keep me signed in"
7400
  msgstr ""
7401
 
7402
+ #: includes/core/um-actions-login.php:460
7403
  msgid "Forgot your password?"
7404
  msgstr ""
7405
 
7411
  msgid "Reset"
7412
  msgstr ""
7413
 
7414
+ #: includes/core/um-actions-members.php:160
7415
  msgid "Jump to page:"
7416
  msgstr ""
7417
 
7418
+ #: includes/core/um-actions-members.php:165
7419
  #, php-format
7420
  msgid "%s of %d"
7421
  msgstr ""
7422
 
7423
+ #: includes/core/um-actions-members.php:175
7424
  msgid "First Page"
7425
  msgstr ""
7426
 
7427
+ #: includes/core/um-actions-members.php:181
7428
  msgid "Previous"
7429
  msgstr ""
7430
 
7431
+ #: includes/core/um-actions-members.php:202
7432
  msgid "Next"
7433
  msgstr ""
7434
 
7435
+ #: includes/core/um-actions-members.php:208
7436
  msgid "Last Page"
7437
  msgstr ""
7438
 
7484
  msgid "Your membership request has been rejected."
7485
  msgstr ""
7486
 
7487
+ #: includes/core/um-actions-profile.php:204
7488
  msgid "You are not allowed to edit this user."
7489
  msgstr ""
7490
 
7491
+ #: includes/core/um-actions-profile.php:320
7492
  #, php-format
7493
  msgid "Your choosed %s"
7494
  msgstr ""
7495
 
7496
+ #: includes/core/um-actions-profile.php:635
7497
+ #: includes/core/um-actions-profile.php:651
7498
+ #: includes/core/um-actions-profile.php:691
7499
  msgid "Upload a cover photo"
7500
  msgstr ""
7501
 
7502
+ #: includes/core/um-actions-profile.php:635
7503
  msgid "Change cover photo"
7504
  msgstr ""
7505
 
7506
+ #: includes/core/um-actions-profile.php:794
7507
  msgid "Upload photo"
7508
  msgstr ""
7509
 
7510
+ #: includes/core/um-actions-profile.php:827
7511
  msgid "Remove photo"
7512
  msgstr ""
7513
 
7514
+ #: includes/core/um-actions-profile.php:988
7515
  msgid "Tell us a bit about yourself..."
7516
  msgstr ""
7517
 
7518
+ #: includes/core/um-actions-profile.php:1003
7519
  #, php-format
7520
  msgid "This user account status is %s"
7521
  msgstr ""
7522
 
7523
+ #: includes/core/um-actions-profile.php:1146
7524
+ #: includes/core/um-actions-profile.php:1177
7525
  msgid "Edit Profile"
7526
  msgstr ""
7527
 
7528
+ #: includes/core/um-actions-profile.php:1178
7529
  msgid "My Account"
7530
  msgstr ""
7531
 
7533
  msgid "Your account"
7534
  msgstr ""
7535
 
7536
+ #: includes/core/um-filters-fields.php:34
7537
  msgid "Invalid soundcloud track ID"
7538
  msgstr ""
7539
 
7540
+ #: includes/core/um-filters-fields.php:118
7541
  #, php-format
7542
  msgid "Joined %s"
7543
  msgstr ""
7544
 
7545
+ #: includes/core/um-filters-fields.php:275
7546
  msgid "Untitled photo"
7547
  msgstr ""
7548
 
7567
  msgid "Login as this user"
7568
  msgstr ""
7569
 
7570
+ #: includes/um-short-functions.php:746
7571
  msgid "date submitted"
7572
  msgstr ""
7573
 
7574
+ #: includes/um-short-functions.php:752
7575
  msgid "(empty)"
7576
  msgstr ""
7577
 
7587
  msgid "Search Users"
7588
  msgstr ""
7589
 
 
 
 
 
7590
  #: templates/members-grid.php:83
7591
  msgid "Edit profile"
7592
  msgstr ""
7625
  msgid "On <a href=\"%1$s\">%2$s</a>"
7626
  msgstr ""
7627
 
7628
+ #: templates/profile/comments-single.php:35 templates/profile/comments.php:18
7629
  msgid "load more comments"
7630
  msgstr ""
7631
 
7632
+ #: templates/profile/comments.php:31
7633
  msgid "You have not made any comments."
7634
  msgstr ""
7635
 
7636
+ #: templates/profile/comments.php:33
7637
  msgid "This user has not made any comments."
7638
  msgstr ""
7639
 
7659
  msgid "1 comment"
7660
  msgstr ""
7661
 
7662
+ #: templates/profile/posts.php:25
7663
  msgid "load more posts"
7664
  msgstr ""
7665
 
7666
+ #: templates/profile/posts.php:37
7667
  msgid "You have not created any posts."
7668
  msgstr ""
7669
 
7670
+ #: templates/profile/posts.php:39
7671
  msgid "This user has not created any posts."
7672
  msgstr ""
7673
 
readme.txt CHANGED
@@ -6,7 +6,7 @@ Donate link:
6
  Tags: community, member, membership, user-profile, user-registration
7
  Requires at least: 4.9
8
  Tested up to: 5.2
9
- Stable tag: 2.0.55
10
  License: GNU Version 2 or Any Later Version
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.txt
12
 
@@ -41,7 +41,10 @@ Read about all of the plugin's features at [Ultimate Member](https://ultimatemem
41
 
42
  Ultimate Member has a range of extensions that allow you to extend the power of the plugin. You can purchase all of these extensions at a significant discount with our [All Access Pass](https://ultimatemember.com/pricing/) or you can purchase extensions individually.
43
 
 
44
  * [User Bookmarks](https://ultimatemember.com/extensions/user-bookmarks/) - Allow users to bookmark content from your website
 
 
45
  * [Private Content](https://ultimatemember.com/extensions/private-content/) - Display private content to logged in users that only they can access
46
  * [Instagram](https://ultimatemember.com/extensions/instagram/) - Allow users to show their Instagram photos on their profile
47
  * [User Tags](https://ultimatemember.com/extensions/user-tags/) - Lets you add a user tag system to your website
@@ -59,8 +62,6 @@ Ultimate Member has a range of extensions that allow you to extend the power of
59
  * [Notices](https://ultimatemember.com/extensions/notices/) - Alert users to important information using conditional notices
60
  * [Profile Completeness](https://ultimatemember.com/extensions/profile-completeness/) - Encourage or force users to complete their profiles with the profile completeness extension
61
  * [Friends](https://ultimatemember.com/extensions/friends/) - Allows users to become friends by sending & accepting/rejecting friend requests
62
- * [User Photos](https://ultimatemember.com/extensions/user-photos/) - Allow users to upload photos to their profile
63
- * [Groups](https://ultimatemember.com/extensions/groups/) - Allow users to create and join groups around shared topics, interests etc.
64
 
65
  = Free Extensions =
66
 
@@ -139,6 +140,29 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
139
 
140
  = 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 =
141
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  = 2.0.55: August 16, 2019 =
143
 
144
  * Bugfixes:
6
  Tags: community, member, membership, user-profile, user-registration
7
  Requires at least: 4.9
8
  Tested up to: 5.2
9
+ Stable tag: 2.0.56
10
  License: GNU Version 2 or Any Later Version
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.txt
12
 
41
 
42
  Ultimate Member has a range of extensions that allow you to extend the power of the plugin. You can purchase all of these extensions at a significant discount with our [All Access Pass](https://ultimatemember.com/pricing/) or you can purchase extensions individually.
43
 
44
+ * [Unsplash](https://ultimatemember.com/extensions/unsplash/) - Allow users to select a profile cover photo from [Unsplash](https://unsplash.com/) from their profile
45
  * [User Bookmarks](https://ultimatemember.com/extensions/user-bookmarks/) - Allow users to bookmark content from your website
46
+ * [User Photos](https://ultimatemember.com/extensions/user-photos/) - Allow users to upload photos to their profile
47
+ * [Groups](https://ultimatemember.com/extensions/groups/) - Allow users to create and join groups around shared topics, interests etc.
48
  * [Private Content](https://ultimatemember.com/extensions/private-content/) - Display private content to logged in users that only they can access
49
  * [Instagram](https://ultimatemember.com/extensions/instagram/) - Allow users to show their Instagram photos on their profile
50
  * [User Tags](https://ultimatemember.com/extensions/user-tags/) - Lets you add a user tag system to your website
62
  * [Notices](https://ultimatemember.com/extensions/notices/) - Alert users to important information using conditional notices
63
  * [Profile Completeness](https://ultimatemember.com/extensions/profile-completeness/) - Encourage or force users to complete their profiles with the profile completeness extension
64
  * [Friends](https://ultimatemember.com/extensions/friends/) - Allows users to become friends by sending & accepting/rejecting friend requests
 
 
65
 
66
  = Free Extensions =
67
 
140
 
141
  = 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 =
142
 
143
+ = 2.0.56: August 21, 2019 =
144
+
145
+ * Enhancements:
146
+ - Added security fixes (XSS)
147
+ - Added hooks for 3rd party integrations
148
+ - Updated Datepicker & Timepicker library from 5.6 to 6.2 version
149
+
150
+ * Bugfixes:
151
+ - Fixed validation of forms conditional fields at the backend (for the nesting fields)
152
+ - Fixed edit profile mode when profile menu is disabled
153
+ - Fixed RTL styles and layouts
154
+ - Fixed user profile description validation
155
+ - Fixed JS errors on some installs
156
+ - Fixed ability approve users by Administrator with special capabilities
157
+ - Fixed multiselects' retrieval of options from callback function
158
+ - Fixed save process and conditional logic for Appearances -> Profile Menu settings section
159
+ - Fixed uninstall process
160
+ - Fixed is_selected method for some cases
161
+ - Fixed form settings fields for default button labels in wp-admin metaboxes
162
+ - Fixed generate metakeys for the form's custom fields
163
+ - Fixed issue when UM Roles localized as object on Add/Edit User screen
164
+ - Fixed PHP notices
165
+
166
  = 2.0.55: August 16, 2019 =
167
 
168
  * Bugfixes:
templates/account.php CHANGED
@@ -31,7 +31,7 @@
31
  <div class="um-account-meta radius-<?php echo esc_attr( UM()->options()->get( 'profile_photocorner' ) ); ?> uimob340-show uimob500-show">
32
 
33
  <div class="um-account-meta-img">
34
- <a href="<?php echo esc_url( um_user_profile_url() ); ?>"><?php echo get_avatar( um_user('ID'), 120 ); ?></a>
35
  </div>
36
 
37
  <div class="um-account-name">
@@ -49,11 +49,11 @@
49
 
50
  <div class="um-account-side uimob340-hide uimob500-hide">
51
 
52
- <div class="um-account-meta radius-<?php echo esc_attr( UM()->options()->get('profile_photocorner') ); ?>">
53
 
54
  <div class="um-account-meta-img uimob800-hide">
55
  <a href="<?php echo esc_url( um_user_profile_url() ); ?>">
56
- <?php echo get_avatar( um_user('ID'), 120 ); ?>
57
  </a>
58
  </div>
59
 
@@ -61,15 +61,15 @@
61
 
62
  <div class="um-account-meta-img-b uimob800-show" title="<?php echo esc_attr( um_user( 'display_name' ) ); ?>">
63
  <a href="<?php echo esc_url( um_user_profile_url() ); ?>">
64
- <?php echo get_avatar( um_user('ID'), 120 ); ?>
65
  </a>
66
  </div>
67
 
68
  <?php } else { ?>
69
 
70
- <div class="um-account-meta-img-b uimob800-show um-tip-w" title="<?php echo esc_attr( um_user( 'display_name' ) ); ?>">
71
  <a href="<?php echo esc_url( um_user_profile_url() ); ?>">
72
- <?php echo get_avatar( um_user('ID'), 120 ); ?>
73
  </a>
74
  </div>
75
 
@@ -99,7 +99,7 @@
99
  <i class="<?php echo esc_attr( $info['icon'] ); ?>"></i>
100
  </span>
101
  <?php } else { ?>
102
- <span class="um-account-icontip uimob800-show um-tip-w" title="<?php echo esc_attr( $info['title'] ); ?>">
103
  <i class="<?php echo esc_attr( $info['icon'] ); ?>"></i>
104
  </span>
105
  <?php } ?>
@@ -150,7 +150,7 @@
150
  if ( isset( $info['custom'] ) || UM()->options()->get( 'account_tab_' . $id ) == 1 || $id == 'general' ) { ?>
151
 
152
  <div class="um-account-nav uimob340-show uimob500-show">
153
- <a href="#" data-tab="<?php echo esc_attr( $id ); ?>" class="<?php if ( $id == $current_tab ) echo 'current'; ?>">
154
  <?php echo esc_html( $info['title'] ); ?>
155
  <span class="ico"><i class="<?php echo esc_attr( $info['icon'] ); ?>"></i></span>
156
  <span class="arr"><i class="um-faicon-angle-down"></i></span>
31
  <div class="um-account-meta radius-<?php echo esc_attr( UM()->options()->get( 'profile_photocorner' ) ); ?> uimob340-show uimob500-show">
32
 
33
  <div class="um-account-meta-img">
34
+ <a href="<?php echo esc_url( um_user_profile_url() ); ?>"><?php echo get_avatar( um_user( 'ID' ), 120 ); ?></a>
35
  </div>
36
 
37
  <div class="um-account-name">
49
 
50
  <div class="um-account-side uimob340-hide uimob500-hide">
51
 
52
+ <div class="um-account-meta radius-<?php echo esc_attr( UM()->options()->get( 'profile_photocorner' ) ); ?>">
53
 
54
  <div class="um-account-meta-img uimob800-hide">
55
  <a href="<?php echo esc_url( um_user_profile_url() ); ?>">
56
+ <?php echo get_avatar( um_user( 'ID' ), 120 ); ?>
57
  </a>
58
  </div>
59
 
61
 
62
  <div class="um-account-meta-img-b uimob800-show" title="<?php echo esc_attr( um_user( 'display_name' ) ); ?>">
63
  <a href="<?php echo esc_url( um_user_profile_url() ); ?>">
64
+ <?php echo get_avatar( um_user( 'ID' ), 120 ); ?>
65
  </a>
66
  </div>
67
 
68
  <?php } else { ?>
69
 
70
+ <div class="um-account-meta-img-b uimob800-show um-tip-<?php echo is_rtl() ? 'e' : 'w'; ?>" title="<?php echo esc_attr( um_user( 'display_name' ) ); ?>">
71
  <a href="<?php echo esc_url( um_user_profile_url() ); ?>">
72
+ <?php echo get_avatar( um_user( 'ID' ), 120 ); ?>
73
  </a>
74
  </div>
75
 
99
  <i class="<?php echo esc_attr( $info['icon'] ); ?>"></i>
100
  </span>
101
  <?php } else { ?>
102
+ <span class="um-account-icontip uimob800-show um-tip-<?php echo is_rtl() ? 'e' : 'w'; ?>" title="<?php echo esc_attr( $info['title'] ); ?>">
103
  <i class="<?php echo esc_attr( $info['icon'] ); ?>"></i>
104
  </span>
105
  <?php } ?>
150
  if ( isset( $info['custom'] ) || UM()->options()->get( 'account_tab_' . $id ) == 1 || $id == 'general' ) { ?>
151
 
152
  <div class="um-account-nav uimob340-show uimob500-show">
153
+ <a href="javascript:void(0);" data-tab="<?php echo esc_attr( $id ); ?>" class="<?php if ( $id == $current_tab ) echo 'current'; ?>">
154
  <?php echo esc_html( $info['title'] ); ?>
155
  <span class="ico"><i class="<?php echo esc_attr( $info['icon'] ); ?>"></i></span>
156
  <span class="arr"><i class="um-faicon-angle-down"></i></span>
templates/email/approved_email.php CHANGED
@@ -1,6 +1,6 @@
1
- <?php
 
2
 
3
- ?>
4
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
5
 
6
  <div style="color: #444444;font-weight: normal;">
@@ -21,7 +21,7 @@
21
 
22
  <div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Your account e-mail:</span> <span style="font-weight:bold">{email}</span></div>
23
  <div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Your account username:</span> <span style="font-weight:bold">{username}</span></div>
24
- <div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Set your password:</span> <span style="font-weight:bold">{password_reset_link}</span></div>
25
 
26
  </div>
27
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
 
 
4
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
5
 
6
  <div style="color: #444444;font-weight: normal;">
21
 
22
  <div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Your account e-mail:</span> <span style="font-weight:bold">{email}</span></div>
23
  <div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Your account username:</span> <span style="font-weight:bold">{username}</span></div>
24
+ <div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Set your password:</span> <span style="font-weight:bold"><a href="{password_reset_link}" style="color: #3ba1da;text-decoration: none;">{password_reset_link}</a></span></div>
25
 
26
  </div>
27
 
templates/email/changedaccount_email.php CHANGED
@@ -1,6 +1,4 @@
1
- <?php
2
-
3
- ?>
4
 
5
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
6
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
 
 
2
 
3
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
4
 
templates/email/changedpw_email.php CHANGED
@@ -1,6 +1,4 @@
1
- <?php
2
-
3
- ?>
4
 
5
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
6
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
 
 
2
 
3
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
4
 
templates/email/checkmail_email.php CHANGED
@@ -1,6 +1,4 @@
1
- <?php
2
-
3
- ?>
4
 
5
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
6
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
 
 
2
 
3
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
4
 
templates/email/deletion_email.php CHANGED
@@ -1,6 +1,4 @@
1
- <?php
2
-
3
- ?>
4
 
5
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
6
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
 
 
2
 
3
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
4
 
templates/email/inactive_email.php CHANGED
@@ -1,6 +1,5 @@
1
- <?php
2
 
3
- ?>
4
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
5
 
6
  <div style="color: #444444;font-weight: normal;">
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
 
 
3
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
4
 
5
  <div style="color: #444444;font-weight: normal;">
templates/email/notification_deletion.php CHANGED
@@ -1,6 +1,6 @@
1
- <?php
 
2
 
3
- ?>
4
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
5
 
6
  <div style="color: #444444;font-weight: normal;">
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
 
 
4
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
5
 
6
  <div style="color: #444444;font-weight: normal;">
templates/email/notification_new_user.php CHANGED
@@ -1,6 +1,6 @@
1
- <?php
 
2
 
3
- ?>
4
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
5
 
6
  <div style="color: #444444;font-weight: normal;">
@@ -13,7 +13,7 @@
13
 
14
  <div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">{display_name} has just created an account on {site_name}.</span></div>
15
 
16
- <div style="padding: 10px 0 50px 0;text-align: center;">To view their profile click here: {user_profile_link}</div>
17
 
18
  <div style="padding: 0 0 15px 0;">
19
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
 
 
4
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
5
 
6
  <div style="color: #444444;font-weight: normal;">
13
 
14
  <div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">{display_name} has just created an account on {site_name}.</span></div>
15
 
16
+ <div style="padding: 10px 0 50px 0;text-align: center;">To view their profile click here: <a href="{user_profile_link}" style="color: #3ba1da;text-decoration: none;">{user_profile_link}</a></div>
17
 
18
  <div style="padding: 0 0 15px 0;">
19
 
templates/email/notification_review.php CHANGED
@@ -1,6 +1,6 @@
1
- <?php
 
2
 
3
- ?>
4
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
5
 
6
  <div style="color: #444444;font-weight: normal;">
@@ -13,7 +13,7 @@
13
 
14
  <div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">{display_name} has just applied for membership to {site_name} and is waiting to be reviewed.</span></div>
15
 
16
- <div style="padding: 10px 0 50px 0;text-align: center;">To review this member please click the following link: {user_profile_link}</div>
17
 
18
  <div style="padding: 0 0 15px 0;">
19
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
 
 
4
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
5
 
6
  <div style="color: #444444;font-weight: normal;">
13
 
14
  <div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">{display_name} has just applied for membership to {site_name} and is waiting to be reviewed.</span></div>
15
 
16
+ <div style="padding: 10px 0 50px 0;text-align: center;">To review this member please click the following link: <a href="{user_profile_link}" style="color: #3ba1da;text-decoration: none;">{user_profile_link}</a></div>
17
 
18
  <div style="padding: 0 0 15px 0;">
19
 
templates/email/pending_email.php CHANGED
@@ -1,6 +1,6 @@
1
- <?php
 
2
 
3
- ?>
4
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
5
 
6
  <div style="color: #444444;font-weight: normal;">
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
 
 
4
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
5
 
6
  <div style="color: #444444;font-weight: normal;">
templates/email/rejected_email.php CHANGED
@@ -1,6 +1,4 @@
1
- <?php
2
-
3
- ?>
4
 
5
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
6
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
 
 
2
 
3
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
4
 
templates/email/resetpw_email.php CHANGED
@@ -1,6 +1,4 @@
1
- <?php
2
-
3
- ?>
4
 
5
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
6
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
 
 
2
 
3
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
4
 
templates/email/welcome_email.php CHANGED
@@ -1,6 +1,4 @@
1
- <?php
2
-
3
- ?>
4
 
5
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
6
 
@@ -16,7 +14,7 @@
16
 
17
  <div style="padding: 10px 0 50px 0;text-align: center;"><a href="{login_url}" style="background: #555555;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 0.3px;">Login to our site</a></div>
18
 
19
- <div style="padding:20px;">If you have any problems, please contact us at {admin_email}</div>
20
 
21
 
22
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
 
 
2
 
3
  <div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
4
 
14
 
15
  <div style="padding: 10px 0 50px 0;text-align: center;"><a href="{login_url}" style="background: #555555;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 0.3px;">Login to our site</a></div>
16
 
17
+ <div style="padding:20px;">If you have any problems, please contact us at <a href="mailto:{admin_email}" style="color: #3ba1da;text-decoration: none">{admin_email}</a></div>
18
 
19
 
20
  </div>
templates/login-to-view.php CHANGED
@@ -2,6 +2,6 @@
2
 
3
  <div class="um-locked-content">
4
 
5
- <div class="um-locked-content-msg"><?php echo esc_html( $lock_text ); ?></div>
6
 
7
  </div>
2
 
3
  <div class="um-locked-content">
4
 
5
+ <div class="um-locked-content-msg"><?php echo htmlspecialchars_decode( $lock_text ); ?></div>
6
 
7
  </div>
templates/login.php CHANGED
@@ -26,7 +26,7 @@
26
  * }
27
  * ?>
28
  */
29
- do_action( "um_before_form", $args );
30
 
31
  /**
32
  * UM hook
@@ -131,7 +131,7 @@
131
  * }
132
  * ?>
133
  */
134
- do_action( "um_after_form", $args ); ?>
135
 
136
  </form>
137
 
26
  * }
27
  * ?>
28
  */
29
+ do_action( 'um_before_form', $args );
30
 
31
  /**
32
  * UM hook
131
  * }
132
  * ?>
133
  */
134
+ do_action( 'um_after_form', $args ); ?>
135
 
136
  </form>
137
 
templates/members-grid.php CHANGED
@@ -11,7 +11,7 @@
11
 
12
  <div class="um-member um-role-<?php echo esc_attr( um_user( 'role' ) ) . ' ' . esc_attr( um_user('account_status') ); ?> <?php if ( $cover_photos ) { echo 'with-cover'; } ?>">
13
 
14
- <span class="um-member-status <?php echo esc_attr( um_user('account_status') ); ?>"><?php echo esc_html( um_user( 'account_status_name' ) ); ?></span>
15
 
16
  <?php if ( $cover_photos ) {
17
  $sizes = UM()->options()->get( 'cover_thumb_sizes' );
@@ -23,7 +23,7 @@
23
 
24
  <div class="um-member-cover" data-ratio="<?php echo esc_attr( UM()->options()->get( 'profile_cover_ratio' ) ); ?>">
25
  <div class="um-member-cover-e">
26
- <a href="<?php echo esc_url( um_user_profile_url() ); ?>" title="<?php echo esc_attr( um_user('display_name') ); ?>">
27
  <?php echo um_user( 'cover_photo', $cover_size ); ?>
28
  </a>
29
  </div>
@@ -38,7 +38,7 @@
38
  $default_size = str_replace( 'px', '', $default_size ); ?>
39
 
40
  <div class="um-member-photo radius-<?php echo esc_attr( $corner ); ?>">
41
- <a href="<?php echo esc_url( um_user_profile_url() ); ?>" title="<?php echo esc_attr( um_user('display_name') ); ?>">
42
  <?php echo get_avatar( um_user( 'ID' ), $default_size ); ?>
43
  </a>
44
  </div>
@@ -50,7 +50,7 @@
50
  <?php if ( $show_name ) { ?>
51
  <div class="um-member-name">
52
  <a href="<?php echo esc_url( um_user_profile_url() ); ?>" title="<?php echo esc_attr( um_user( 'display_name' ) ); ?>">
53
- <?php echo um_user('display_name', 'html' ); ?>
54
  </a>
55
  </div>
56
  <?php }
@@ -75,9 +75,9 @@
75
  * }
76
  * ?>
77
  */
78
- do_action( 'um_members_just_after_name', um_user('ID'), $args );
79
 
80
- if ( UM()->roles()->um_current_user_can( 'edit', um_user('ID') ) ) { ?>
81
  <div class="um-members-edit-btn">
82
  <a href="<?php echo esc_url( um_edit_profile_url() ); ?>" class="um-edit-profile-btn um-button um-alt">
83
  <?php _e( 'Edit profile','ultimate-member' ) ?>
@@ -105,7 +105,7 @@
105
  * }
106
  * ?>
107
  */
108
- do_action( 'um_members_after_user_name', um_user('ID'), $args );
109
 
110
  if ( $show_tagline && ! empty( $tagline_fields ) && is_array( $tagline_fields ) ) {
111
 
@@ -119,7 +119,7 @@
119
  } ?>
120
 
121
  <div class="um-member-tagline um-member-tagline-<?php echo esc_attr( $key ); ?>">
122
- <?php _e( $value, 'ultimate-member'); ?>
123
  </div>
124
 
125
  <?php } // end if
@@ -131,7 +131,7 @@
131
  <div class="um-member-meta-main">
132
 
133
  <?php if ( $userinfo_animate ) { ?>
134
- <div class="um-member-more"><a href="#"><i class="um-faicon-angle-down"></i></a></div>
135
  <?php } ?>
136
 
137
  <div class="um-member-meta <?php if ( ! $userinfo_animate ) { echo 'no-animate'; } ?>">
@@ -161,7 +161,7 @@
161
 
162
  </div>
163
 
164
- <div class="um-member-less"><a href="#"><i class="um-faicon-angle-up"></i></a></div>
165
 
166
  </div>
167
 
11
 
12
  <div class="um-member um-role-<?php echo esc_attr( um_user( 'role' ) ) . ' ' . esc_attr( um_user('account_status') ); ?> <?php if ( $cover_photos ) { echo 'with-cover'; } ?>">
13
 
14
+ <span class="um-member-status <?php echo esc_attr( um_user( 'account_status' ) ); ?>"><?php echo esc_html( um_user( 'account_status_name' ) ); ?></span>
15
 
16
  <?php if ( $cover_photos ) {
17
  $sizes = UM()->options()->get( 'cover_thumb_sizes' );
23
 
24
  <div class="um-member-cover" data-ratio="<?php echo esc_attr( UM()->options()->get( 'profile_cover_ratio' ) ); ?>">
25
  <div class="um-member-cover-e">
26
+ <a href="<?php echo esc_url( um_user_profile_url() ); ?>" title="<?php echo esc_attr( um_user( 'display_name' ) ); ?>">
27
  <?php echo um_user( 'cover_photo', $cover_size ); ?>
28
  </a>
29
  </div>
38
  $default_size = str_replace( 'px', '', $default_size ); ?>
39
 
40
  <div class="um-member-photo radius-<?php echo esc_attr( $corner ); ?>">
41
+ <a href="<?php echo esc_url( um_user_profile_url() ); ?>" title="<?php echo esc_attr( um_user( 'display_name' ) ); ?>">
42
  <?php echo get_avatar( um_user( 'ID' ), $default_size ); ?>
43
  </a>
44
  </div>
50
  <?php if ( $show_name ) { ?>
51
  <div class="um-member-name">
52
  <a href="<?php echo esc_url( um_user_profile_url() ); ?>" title="<?php echo esc_attr( um_user( 'display_name' ) ); ?>">
53
+ <?php echo um_user( 'display_name', 'html' ); ?>
54
  </a>
55
  </div>
56
  <?php }
75
  * }
76
  * ?>
77
  */
78
+ do_action( 'um_members_just_after_name', um_user( 'ID' ), $args );
79
 
80
+ if ( UM()->roles()->um_current_user_can( 'edit', um_user( 'ID' ) ) ) { ?>
81
  <div class="um-members-edit-btn">
82
  <a href="<?php echo esc_url( um_edit_profile_url() ); ?>" class="um-edit-profile-btn um-button um-alt">
83
  <?php _e( 'Edit profile','ultimate-member' ) ?>
105
  * }
106
  * ?>
107
  */
108
+ do_action( 'um_members_after_user_name', um_user( 'ID' ), $args );
109
 
110
  if ( $show_tagline && ! empty( $tagline_fields ) && is_array( $tagline_fields ) ) {
111
 
119
  } ?>
120
 
121
  <div class="um-member-tagline um-member-tagline-<?php echo esc_attr( $key ); ?>">
122
+ <?php _e( $value, 'ultimate-member' ); ?>
123
  </div>
124
 
125
  <?php } // end if
131
  <div class="um-member-meta-main">
132
 
133
  <?php if ( $userinfo_animate ) { ?>
134
+ <div class="um-member-more"><a href="javascript:void(0);"><i class="um-faicon-angle-down"></i></a></div>
135
  <?php } ?>
136
 
137
  <div class="um-member-meta <?php if ( ! $userinfo_animate ) { echo 'no-animate'; } ?>">
161
 
162
  </div>
163
 
164
+ <div class="um-member-less"><a href="javascript:void(0);"><i class="um-faicon-angle-up"></i></a></div>
165
 
166
  </div>
167
 
templates/message.php CHANGED
@@ -3,9 +3,7 @@
3
  <div class="um <?php echo esc_attr( $this->get_class( $mode ) ); ?> um-<?php echo esc_attr( $form_id ); ?>">
4
 
5
  <div class="um-postmessage">
6
-
7
  <?php printf( __( '%s', 'ultimate-member' ), $this->custom_message ); ?>
8
-
9
  </div>
10
-
11
  </div>
3
  <div class="um <?php echo esc_attr( $this->get_class( $mode ) ); ?> um-<?php echo esc_attr( $form_id ); ?>">
4
 
5
  <div class="um-postmessage">
 
6
  <?php printf( __( '%s', 'ultimate-member' ), $this->custom_message ); ?>
 
7
  </div>
8
+
9
  </div>
templates/modal/um_upload_single.php CHANGED
@@ -1,3 +1,3 @@
1
- <div id="um_upload_single" style="display:none">
2
-
3
- </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+
3
+ <div id="um_upload_single" style="display:none"></div>
templates/modal/um_view_photo.php CHANGED
@@ -1,13 +1,11 @@
1
- <div id="um_view_photo" style="display:none">
2
 
3
- <a href="#" data-action="um_remove_modal" class="um-modal-close"><i class="um-faicon-times"></i></a>
4
-
5
- <div class="um-modal-body photo">
6
-
7
- <div class="um-modal-photo">
8
 
9
- </div>
10
 
 
 
11
  </div>
12
-
13
  </div>
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
 
3
+ <div id="um_view_photo" style="display:none">
 
 
 
 
4
 
5
+ <a href="javascript:void(0);" data-action="um_remove_modal" class="um-modal-close"><i class="um-faicon-times"></i></a>
6
 
7
+ <div class="um-modal-body photo">
8
+ <div class="um-modal-photo"></div>
9
  </div>
10
+
11
  </div>
templates/password-reset.php CHANGED
@@ -53,7 +53,7 @@
53
  <div class="um-field um-field-block um-field-type_block">
54
  <div class="um-field-block">
55
  <div style="text-align:center;">
56
- <?php _e('To reset your password, please enter your email address or username below','ultimate-member'); ?>
57
  </div>
58
  </div>
59
  </div>
@@ -91,7 +91,7 @@
91
  <div class="um-col-alt um-col-alt-b">
92
 
93
  <div class="um-center">
94
- <input type="submit" value="<?php esc_attr_e('Reset my password','ultimate-member' ); ?>" class="um-button" id="um-submit-btn" />
95
  </div>
96
 
97
  <div class="um-clear"></div>
53
  <div class="um-field um-field-block um-field-type_block">
54
  <div class="um-field-block">
55
  <div style="text-align:center;">
56
+ <?php _e( 'To reset your password, please enter your email address or username below', 'ultimate-member' ); ?>
57
  </div>
58
  </div>
59
  </div>
91
  <div class="um-col-alt um-col-alt-b">
92
 
93
  <div class="um-center">
94
+ <input type="submit" value="<?php esc_attr_e( 'Reset my password', 'ultimate-member' ); ?>" class="um-button" id="um-submit-btn" />
95
  </div>
96
 
97
  <div class="um-clear"></div>
templates/profile.php CHANGED
@@ -3,7 +3,7 @@
3
  <div class="um <?php echo esc_attr( $this->get_class( $mode ) ); ?> um-<?php echo esc_attr( $form_id ); ?> um-role-<?php echo esc_attr( um_user( 'role' ) ); ?> ">
4
 
5
  <div class="um-form">
6
-
7
  <?php
8
  /**
9
  * UM hook
@@ -142,19 +142,15 @@
142
  */
143
  do_action( 'um_profile_menu', $args );
144
 
145
- $menu_enabled = UM()->options()->get( 'profile_menu' );
146
- $tabs = UM()->profile()->tabs_active();
147
-
148
- $nav = UM()->profile()->active_tab();
149
- $subnav = UM()->profile()->active_subnav();
150
- $subnav = ! empty( $subnav ) ? $subnav : 'default';
151
 
152
- if ( $menu_enabled || ! empty( $tabs[ $nav ]['hidden'] ) ) { ?>
 
 
153
 
154
  <div class="um-profile-body <?php echo esc_attr( $nav . ' ' . $nav . '-' . $subnav ); ?>">
155
 
156
  <?php
157
- // Custom hook to display tabbed content
158
  /**
159
  * UM hook
160
  *
@@ -200,12 +196,69 @@
200
  <div class="clear"></div>
201
  </div>
202
 
203
- <?php }
204
 
205
- if ( um_is_on_edit_profile() ) { ?>
206
- </form>
207
- <?php }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
 
 
 
209
 
210
  do_action( 'um_profile_footer', $args ); ?>
211
  </div>
3
  <div class="um <?php echo esc_attr( $this->get_class( $mode ) ); ?> um-<?php echo esc_attr( $form_id ); ?> um-role-<?php echo esc_attr( um_user( 'role' ) ); ?> ">
4
 
5
  <div class="um-form">
6
+
7
  <?php
8
  /**
9
  * UM hook
142
  */
143
  do_action( 'um_profile_menu', $args );
144
 
145
+ if ( um_is_on_edit_profile() ) {
 
 
 
 
 
146
 
147
+ $nav = 'main';
148
+ $subnav = UM()->profile()->active_subnav();
149
+ $subnav = ! empty( $subnav ) ? $subnav : 'default'; ?>
150
 
151
  <div class="um-profile-body <?php echo esc_attr( $nav . ' ' . $nav . '-' . $subnav ); ?>">
152
 
153
  <?php
 
154
  /**
155
  * UM hook
156
  *
196
  <div class="clear"></div>
197
  </div>
198
 
199
+ </form>
200
 
201
+ <?php } else {
202
+ $menu_enabled = UM()->options()->get( 'profile_menu' );
203
+ $tabs = UM()->profile()->tabs_active();
204
+
205
+ $nav = UM()->profile()->active_tab();
206
+ $subnav = UM()->profile()->active_subnav();
207
+ $subnav = ! empty( $subnav ) ? $subnav : 'default';
208
+
209
+ if ( $menu_enabled || ! empty( $tabs[ $nav ]['hidden'] ) ) { ?>
210
+
211
+ <div class="um-profile-body <?php echo esc_attr( $nav . ' ' . $nav . '-' . $subnav ); ?>">
212
+
213
+ <?php
214
+ // Custom hook to display tabbed content
215
+ /**
216
+ * UM hook
217
+ *
218
+ * @type action
219
+ * @title um_profile_content_{$nav}
220
+ * @description Custom hook to display tabbed content
221
+ * @input_vars
222
+ * [{"var":"$args","type":"array","desc":"Profile form shortcode arguments"}]
223
+ * @change_log
224
+ * ["Since: 2.0"]
225
+ * @usage add_action( 'um_profile_content_{$nav}', 'function_name', 10, 1 );
226
+ * @example
227
+ * <?php
228
+ * add_action( 'um_profile_content_{$nav}', 'my_profile_content', 10, 1 );
229
+ * function my_profile_content( $args ) {
230
+ * // your code here
231
+ * }
232
+ * ?>
233
+ */
234
+ do_action("um_profile_content_{$nav}", $args);
235
+
236
+ /**
237
+ * UM hook
238
+ *
239
+ * @type action
240
+ * @title um_profile_content_{$nav}_{$subnav}
241
+ * @description Custom hook to display tabbed content
242
+ * @input_vars
243
+ * [{"var":"$args","type":"array","desc":"Profile form shortcode arguments"}]
244
+ * @change_log
245
+ * ["Since: 2.0"]
246
+ * @usage add_action( 'um_profile_content_{$nav}_{$subnav}', 'function_name', 10, 1 );
247
+ * @example
248
+ * <?php
249
+ * add_action( 'um_profile_content_{$nav}_{$subnav}', 'my_profile_content', 10, 1 );
250
+ * function my_profile_content( $args ) {
251
+ * // your code here
252
+ * }
253
+ * ?>
254
+ */
255
+ do_action( "um_profile_content_{$nav}_{$subnav}", $args ); ?>
256
+
257
+ <div class="clear"></div>
258
+ </div>
259
 
260
+ <?php }
261
+ }
262
 
263
  do_action( 'um_profile_footer', $args ); ?>
264
  </div>
templates/profile/comments-single.php CHANGED
@@ -27,11 +27,12 @@ foreach ( UM()->shortcodes()->loop as $comment ) {
27
 
28
  <?php }
29
 
30
- if ( isset( UM()->shortcodes()->modified_args ) && count(UM()->shortcodes()->loop ) >= 10 ) { ?>
31
 
32
  <div class="um-load-items">
33
- <a href="#" class="um-ajax-paginate um-button" data-hook="um_load_comments" data-args="<?php echo esc_attr( UM()->shortcodes()->modified_args ); ?>">
34
- <?php _e('load more comments','ultimate-member'); ?>
 
35
  </a>
36
  </div>
37
 
27
 
28
  <?php }
29
 
30
+ if ( isset( UM()->shortcodes()->modified_args ) && count( UM()->shortcodes()->loop ) >= 10 ) { ?>
31
 
32
  <div class="um-load-items">
33
+ <a href="javascript:void(0);" class="um-ajax-paginate um-button" data-hook="um_load_comments"
34
+ data-args="<?php echo esc_attr( UM()->shortcodes()->modified_args ); ?>">
35
+ <?php _e( 'load more comments', 'ultimate-member' ); ?>
36
  </a>
37
  </div>
38
 
templates/profile/comments.php CHANGED
@@ -10,10 +10,11 @@ if ( UM()->shortcodes()->loop ) {
10
 
11
  <!--Ajax output-->
12
 
13
- <?php if ( count( UM()->shortcodes()->loop) >= 10 ) { ?>
14
 
15
  <div class="um-load-items">
16
- <a href="#" class="um-ajax-paginate um-button" data-hook="um_load_comments" data-args="comment,10,10,<?php echo esc_attr( um_user('ID') ); ?>">
 
17
  <?php _e( 'load more comments', 'ultimate-member' ); ?>
18
  </a>
19
  </div>
@@ -25,7 +26,13 @@ if ( UM()->shortcodes()->loop ) {
25
  <?php } else { ?>
26
 
27
  <div class="um-profile-note">
28
- <span><?php echo ( um_profile_id() == get_current_user_id() ) ? __( 'You have not made any comments.', 'ultimate-member' ) : __( 'This user has not made any comments.', 'ultimate-member' ); ?></span>
 
 
 
 
 
 
29
  </div>
30
 
31
- <?php } ?>
10
 
11
  <!--Ajax output-->
12
 
13
+ <?php if ( count( UM()->shortcodes()->loop ) >= 10 ) { ?>
14
 
15
  <div class="um-load-items">
16
+ <a href="javascript:void(0);" class="um-ajax-paginate um-button" data-hook="um_load_comments"
17
+ data-args="comment,10,10,<?php echo esc_attr( um_user( 'ID' ) ); ?>">
18
  <?php _e( 'load more comments', 'ultimate-member' ); ?>
19
  </a>
20
  </div>
26
  <?php } else { ?>
27
 
28
  <div class="um-profile-note">
29
+ <span>
30
+ <?php if ( um_profile_id() == get_current_user_id() ) {
31
+ _e( 'You have not made any comments.', 'ultimate-member' );
32
+ } else {
33
+ _e( 'This user has not made any comments.', 'ultimate-member' );
34
+ } ?>
35
+ </span>
36
  </div>
37
 
38
+ <?php }
templates/profile/posts.php CHANGED
@@ -19,7 +19,9 @@ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
19
 
20
  if ( $count_posts > 10 ) { ?>
21
  <div class="um-load-items">
22
- <a href="javascript:void(0);" class="um-ajax-paginate um-button" data-hook="um_load_posts" data-author="<?php echo esc_attr( um_get_requested_user() ); ?>" data-page="1" data-pages="<?php echo esc_attr( ceil( $count_posts / 10 ) ); ?>">
 
 
23
  <?php _e( 'load more posts', 'ultimate-member' ); ?>
24
  </a>
25
  </div>
@@ -31,7 +33,11 @@ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
31
 
32
  <div class="um-profile-note">
33
  <span>
34
- <?php echo ( um_profile_id() == get_current_user_id() ) ? __( 'You have not created any posts.', 'ultimate-member' ) : __( 'This user has not created any posts.', 'ultimate-member' ); ?>
 
 
 
 
35
  </span>
36
  </div>
37
 
19
 
20
  if ( $count_posts > 10 ) { ?>
21
  <div class="um-load-items">
22
+ <a href="javascript:void(0);" class="um-ajax-paginate um-button" data-hook="um_load_posts"
23
+ data-author="<?php echo esc_attr( um_get_requested_user() ); ?>" data-page="1"
24
+ data-pages="<?php echo esc_attr( ceil( $count_posts / 10 ) ); ?>">
25
  <?php _e( 'load more posts', 'ultimate-member' ); ?>
26
  </a>
27
  </div>
33
 
34
  <div class="um-profile-note">
35
  <span>
36
+ <?php if ( um_profile_id() == get_current_user_id() ) {
37
+ _e( 'You have not created any posts.', 'ultimate-member' );
38
+ } else {
39
+ _e( 'This user has not created any posts.', 'ultimate-member' );
40
+ } ?>
41
  </span>
42
  </div>
43
 
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.55
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.56
7
  Author: Ultimate Member
8
  Author URI: http://ultimatemember.com/
9
  Text Domain: ultimate-member
uninstall.php CHANGED
@@ -27,6 +27,10 @@ require_once plugin_dir_path( __FILE__ ) . 'includes/class-init.php';
27
  $delete_options = UM()->options()->get( 'uninstall_on_delete' );
28
  if ( ! empty( $delete_options ) ) {
29
 
 
 
 
 
30
  //remove core pages
31
  foreach ( UM()->config()->core_pages as $page_key => $page_value ) {
32
  $page_id = UM()->options()->get( UM()->options()->get_core_page_id( $page_key ) );
@@ -45,38 +49,50 @@ if ( ! empty( $delete_options ) ) {
45
  'post_type' => array(
46
  'um_form',
47
  'um_directory',
48
- 'um_role'
 
 
 
 
 
 
 
49
  ),
 
50
  'numberposts' => -1
51
  ) );
52
 
53
- foreach ( $um_posts as $um_post )
 
 
54
  wp_delete_post( $um_post->ID, 1 );
 
55
 
56
- delete_option( 'um_options' );
57
- delete_option( 'um_version' );
58
- delete_option( 'um_is_installed' );
59
- delete_option( 'um_core_forms' );
60
- delete_option( 'um_core_directories' );
61
- delete_option( 'um_last_version_upgrade' );
62
- delete_option( 'um_first_setup_roles' );
63
- delete_option( 'um_hashed_passwords_fix' );
64
- delete_option( 'um_cached_users_queue' );
65
- delete_option( 'um_options-transients' );
66
- delete_option( 'um_cached_role_admin' );
67
- delete_option( 'um_cached_role_member' );
68
- delete_option( 'um_cache_fonticons' );
69
- delete_option( 'widget_um_search_widget' );
70
- delete_option( '__ultimatemember_sitekey' );
71
-
72
- foreach ( wp_load_alloptions() as $k => $v ) {
73
- if ( substr( $k, 0, 18 ) == 'um_cache_userdata_' )
74
- delete_option( $k );
75
  }
76
 
 
 
 
 
77
 
78
  global $wpdb;
79
 
 
 
 
 
 
 
 
 
 
 
80
 
81
  $wpdb->query(
82
  "DELETE
@@ -99,6 +115,131 @@ if ( ! empty( $delete_options ) ) {
99
  meta_key = '_completed' OR
100
  meta_key = '_cannot_add_review' OR
101
  meta_key = 'synced_profile_photo' OR
102
- meta_key = 'full_name'"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  }
27
  $delete_options = UM()->options()->get( 'uninstall_on_delete' );
28
  if ( ! empty( $delete_options ) ) {
29
 
30
+ //remove uploads
31
+ $upl_folder = UM()->files()->upload_basedir;
32
+ UM()->files()->remove_dir( $upl_folder );
33
+
34
  //remove core pages
35
  foreach ( UM()->config()->core_pages as $page_key => $page_value ) {
36
  $page_id = UM()->options()->get( UM()->options()->get_core_page_id( $page_key ) );
49
  'post_type' => array(
50
  'um_form',
51
  'um_directory',
52
+ 'um_role',
53
+ 'um_private_content',
54
+ 'um_mailchimp',
55
+ 'um_profile_tabs',
56
+ 'um_social_login',
57
+ 'um_review',
58
+ 'um_frontend_posting',
59
+ 'um_notice'
60
  ),
61
+ 'post_status' => array( 'publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash' ),
62
  'numberposts' => -1
63
  ) );
64
 
65
+ foreach ( $um_posts as $um_post ){
66
+ delete_option( 'um_existing_rows_' . $um_post->ID );
67
+ delete_option( 'um_form_rowdata_' . $um_post->ID );
68
  wp_delete_post( $um_post->ID, 1 );
69
+ }
70
 
71
+ //remove user role meta
72
+ $role_keys = get_option( 'um_roles' );
73
+ if ( $role_keys ) {
74
+ foreach ( $role_keys as $role_key ) {
75
+ delete_option( 'um_role_' . $role_key . '_meta' );
76
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  }
78
 
79
+ delete_option( '__ultimatemember_sitekey' );
80
+
81
+ //remove all users cache
82
+ UM()->user()->remove_cache_all_users();
83
 
84
  global $wpdb;
85
 
86
+ //remove extensions core pages
87
+ $ext_pages = $wpdb->get_results( "
88
+ SELECT post_id
89
+ FROM {$wpdb->postmeta}
90
+ WHERE meta_key = '_um_core'
91
+ ", ARRAY_A );
92
+
93
+ foreach ( $ext_pages as $page_id ) {
94
+ wp_delete_post( $page_id['post_id'], 1 );
95
+ }
96
 
97
  $wpdb->query(
98
  "DELETE
115
  meta_key = '_completed' OR
116
  meta_key = '_cannot_add_review' OR
117
  meta_key = 'synced_profile_photo' OR
118
+ meta_key = 'full_name' OR
119
+ meta_key = '_reviews' OR
120
+ meta_key = '_reviews_compound' OR
121
+ meta_key = '_reviews_total' OR
122
+ meta_key = '_reviews_avg'"
123
+ );
124
+
125
+ $wpdb->query(
126
+ "DELETE
127
+ FROM {$wpdb->postmeta}
128
+ WHERE meta_key LIKE '_um%' OR
129
+ meta_key LIKE 'um%'"
130
+ );
131
+
132
+ //remove all tables from extensions
133
+ $all_tables = "SHOW TABLES LIKE '{$wpdb->prefix}um\_%'";
134
+ $results = $wpdb->get_results( $all_tables );
135
+ if( $results ){
136
+ foreach( $results as $index => $value ) {
137
+ foreach( $value as $table_name ) {
138
+ $um_groups_members = $wpdb->prefix.'um_groups_members';
139
+ if( $table_name == $um_groups_members ){
140
+ $wpdb->query( "
141
+ DELETE posts, term_rel, pmeta, terms, tax, commetns
142
+ FROM {$wpdb->posts} posts
143
+ LEFT JOIN {$wpdb->term_relationships} term_rel
144
+ ON (posts.ID = term_rel.object_id)
145
+ LEFT JOIN {$wpdb->postmeta} pmeta
146
+ ON (posts.ID = pmeta.post_id)
147
+ LEFT JOIN {$wpdb->terms} terms
148
+ ON (term_rel.term_taxonomy_id = terms.term_id)
149
+ LEFT JOIN {$wpdb->term_taxonomy} tax
150
+ ON (term_rel.term_taxonomy_id = tax.term_taxonomy_id)
151
+ LEFT JOIN {$wpdb->comments} commetns
152
+ ON (commetns.comment_post_ID = posts.ID)
153
+ WHERE posts.post_type = 'um_groups' OR posts.post_type = 'um_groups_discussion'"
154
+ );
155
+ }
156
+ $wpdb->query( "DROP TABLE IF EXISTS $table_name" );
157
+ }
158
+ }
159
+ }
160
+
161
+ //remove options from extensions
162
+ //user photos
163
+ $um_user_photos = get_posts( array(
164
+ 'post_type' => array(
165
+ 'um_user_photos'
166
+ ),
167
+ 'post_status' => array( 'publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash' ),
168
+ 'numberposts' => -1
169
+ ) );
170
+ if( $um_user_photos ) {
171
+ foreach ( $um_user_photos as $um_user_photo ) {
172
+ $attachments = get_attached_media( 'image', $um_user_photo->ID );
173
+ foreach ( $attachments as $attachment ) {
174
+ wp_delete_attachment( $attachment->ID, 1 );
175
+ }
176
+ wp_delete_post( $um_user_photo->ID, 1 );
177
+ }
178
+ }
179
+
180
+ //user notes
181
+ $um_notes = get_posts( array(
182
+ 'post_type' => array(
183
+ 'um_notes'
184
+ ),
185
+ 'post_status' => array( 'publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash' ),
186
+ 'numberposts' => -1
187
+ ) );
188
+ if( $um_notes ){
189
+ foreach ( $um_notes as $um_note ){
190
+ $attachments = get_attached_media( 'image', $um_note->ID );
191
+ foreach ( $attachments as $attachment ){
192
+ wp_delete_attachment( $attachment->ID, 1 );
193
+ }
194
+ wp_delete_post( $um_note->ID, 1 );
195
+ }
196
+ }
197
+
198
+ //user tags
199
+ $wpdb->query( "
200
+ DELETE tax, terms
201
+ FROM {$wpdb->term_taxonomy} tax
202
+ LEFT JOIN {$wpdb->terms} terms
203
+ ON (tax.term_taxonomy_id = terms.term_id)
204
+ WHERE tax.taxonomy = 'um_user_tag'"
205
  );
206
+
207
+ //mailchimp
208
+ $mailchimp_log = UM()->files()->upload_basedir . 'mailchimp.log';
209
+ if ( file_exists( $mailchimp_log ) ) {
210
+ unlink( $mailchimp_log );
211
+ }
212
+
213
+ $um_options = $wpdb->get_results(
214
+ "SELECT option_name
215
+ FROM {$wpdb->options}
216
+ WHERE option_name LIKE '_um%' OR
217
+ option_name LIKE 'um_%' OR
218
+ option_name LIKE 'widget_um%' OR
219
+ option_name LIKE 'ultimatemember_%'" );
220
+
221
+ foreach( $um_options as $um_option ) {
222
+ delete_option( $um_option->option_name );
223
+ }
224
+
225
+ //social activity
226
+ $um_activities = get_posts( array(
227
+ 'post_type' => array(
228
+ 'um_activity'
229
+ ),
230
+ 'post_status' => array( 'publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash' ),
231
+ 'numberposts' => -1
232
+ ) );
233
+ foreach ( $um_activities as $um_activity ) {
234
+ $image = get_post_meta( $um_activity->ID, '_photo', true );
235
+ if( $image ){
236
+ $user_id = get_post_meta( $um_activity->ID, '_user_id', true );
237
+ $upload_dir = wp_upload_dir();
238
+ $image_path = $upload_dir['basedir'] . '/ultimatemember/' . $user_id . '/' . $image;
239
+ if ( file_exists( $image_path ) ) {
240
+ unlink( $image_path );
241
+ }
242
+ }
243
+ wp_delete_post( $um_activity->ID, 1 );
244
+ }
245
  }