Ultimate Member – User Profile & Membership Plugin - Version 1.0.41

Version Description

Download this release

Release Info

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

Code changes from version 1.0.40 to 1.0.41

admin/core/um-admin-access.php CHANGED
@@ -88,13 +88,19 @@ class UM_Admin_Access {
88
  *** @add form metabox
89
  ***/
90
  function add_metabox_form() {
 
91
 
92
- $types = get_post_types();
93
  foreach($types as $post_type) {
94
- if ( $this->core_post_type( $post_type ) ) return;
95
- add_meta_box('um-admin-access-settings', __('Access Control'), array(&$this, 'load_metabox_form'), $post_type, 'side', 'default');
96
 
 
 
 
 
 
 
97
  do_action('um_admin_custom_access_metaboxes');
 
98
  }
99
 
100
  }
88
  *** @add form metabox
89
  ***/
90
  function add_metabox_form() {
91
+ global $ultimatemember;
92
 
93
+ $types = $ultimatemember->query->get_post_types;
94
  foreach($types as $post_type) {
 
 
95
 
96
+ if ( !$this->core_post_type( $post_type ) ) {
97
+
98
+ add_meta_box('um-admin-access-settings', __('Access Control'), array(&$this, 'load_metabox_form'), $post_type, 'side', 'default');
99
+
100
+ }
101
+
102
  do_action('um_admin_custom_access_metaboxes');
103
+
104
  }
105
 
106
  }
admin/core/um-admin-metabox.php CHANGED
@@ -363,7 +363,7 @@ class UM_Admin_Metabox {
363
 
364
  $where = array( 'ID' => $post_id );
365
  if (empty($_POST['post_title'])) $_POST['post_title'] = 'Role #'.$post_id;
366
- $wpdb->update( $wpdb->posts, array( 'post_title' => $_POST['post_title'], 'post_name' => wp_unique_post_slug( sanitize_title( $_POST['post_title'] ) ) ), $where );
367
 
368
  // save
369
  delete_post_meta( $post_id, '_um_can_view_roles' );
@@ -421,15 +421,20 @@ class UM_Admin_Metabox {
421
  }
422
  }
423
 
424
- $settings['textarea_rows'] = 8;
 
425
 
426
- echo '<div class="um-hidden-editor-edit" style="display: none">';
427
- wp_editor( '', 'um_editor_edit', $settings );
428
- echo '</div>';
429
-
430
- echo '<div class="um-hidden-editor-new" style="display: none">';
431
- wp_editor( '', 'um_editor_new', $settings );
432
- echo '</div>';
 
 
 
 
433
 
434
  }
435
 
363
 
364
  $where = array( 'ID' => $post_id );
365
  if (empty($_POST['post_title'])) $_POST['post_title'] = 'Role #'.$post_id;
366
+ $wpdb->update( $wpdb->posts, array( 'post_title' => $_POST['post_title'], 'post_name' => sanitize_title( $_POST['post_title'] ) ), $where );
367
 
368
  // save
369
  delete_post_meta( $post_id, '_um_can_view_roles' );
421
  }
422
  }
423
 
424
+ // needed on forms only
425
+ if ( isset( $screen->id ) && strstr( $screen->id, 'um_form' ) ) {
426
 
427
+ $settings['textarea_rows'] = 8;
428
+
429
+ echo '<div class="um-hidden-editor-edit" style="display: none">';
430
+ wp_editor( '', 'um_editor_edit', $settings );
431
+ echo '</div>';
432
+
433
+ echo '<div class="um-hidden-editor-new" style="display: none">';
434
+ wp_editor( '', 'um_editor_new', $settings );
435
+ echo '</div>';
436
+
437
+ }
438
 
439
  }
440
 
core/um-builtin.php CHANGED
@@ -901,7 +901,7 @@ class UM_Builtin {
901
  $all[$k]['title'] = stripslashes( $arr['title'] );
902
  }
903
 
904
- if ( $exclude_types && in_array( $arr['type'], $exclude_types ) ) {
905
  unset( $all[$k] );
906
  }
907
  if ( isset( $arr['account_only'] ) || isset( $arr['private_use'] ) ) {
901
  $all[$k]['title'] = stripslashes( $arr['title'] );
902
  }
903
 
904
+ if ( $exclude_types && isset( $arr['type'] ) && in_array( $arr['type'], $exclude_types ) ) {
905
  unset( $all[$k] );
906
  }
907
  if ( isset( $arr['account_only'] ) || isset( $arr['private_use'] ) ) {
core/um-fields.php CHANGED
@@ -1130,12 +1130,12 @@ class UM_Fields {
1130
 
1131
  /* Gap/Space */
1132
  case 'spacing':
1133
- $output .= '<div class="um-field-spacing" style="height: '.$spacing.'"></div>';
1134
  break;
1135
 
1136
  /* A line divider */
1137
  case 'divider':
1138
- $output .= '<div class="um-field-divider" style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
1139
  if ( $divider_text ) {
1140
  $output .= '<div class="um-field-divider-text"><span>' . $divider_text . '</span></div>';
1141
  }
@@ -1597,7 +1597,9 @@ class UM_Fields {
1597
  function array_sort_by_column($arr, $col, $dir = SORT_ASC) {
1598
  $sort_col = array();
1599
  foreach ($arr as $key=> $row) {
1600
- $sort_col[$key] = $row[$col];
 
 
1601
  }
1602
 
1603
  array_multisort($sort_col, $dir, $arr);
@@ -1856,12 +1858,12 @@ class UM_Fields {
1856
 
1857
  /* Gap/Space */
1858
  case 'spacing':
1859
- $output .= '<div class="um-field-spacing" style="height: '.$spacing.'"></div>';
1860
  break;
1861
 
1862
  /* A line divider */
1863
  case 'divider':
1864
- $output .= '<div class="um-field-divider" style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
1865
  if ( $divider_text ) {
1866
  $output .= '<div class="um-field-divider-text"><span>' . $divider_text . '</span></div>';
1867
  }
1130
 
1131
  /* Gap/Space */
1132
  case 'spacing':
1133
+ $output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: '.$spacing.'"></div>';
1134
  break;
1135
 
1136
  /* A line divider */
1137
  case 'divider':
1138
+ $output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
1139
  if ( $divider_text ) {
1140
  $output .= '<div class="um-field-divider-text"><span>' . $divider_text . '</span></div>';
1141
  }
1597
  function array_sort_by_column($arr, $col, $dir = SORT_ASC) {
1598
  $sort_col = array();
1599
  foreach ($arr as $key=> $row) {
1600
+ if ( isset( $row[$col] ) ) {
1601
+ $sort_col[$key] = $row[$col];
1602
+ }
1603
  }
1604
 
1605
  array_multisort($sort_col, $dir, $arr);
1858
 
1859
  /* Gap/Space */
1860
  case 'spacing':
1861
+ $output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: '.$spacing.'"></div>';
1862
  break;
1863
 
1864
  /* A line divider */
1865
  case 'divider':
1866
+ $output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
1867
  if ( $divider_text ) {
1868
  $output .= '<div class="um-field-divider-text"><span>' . $divider_text . '</span></div>';
1869
  }
core/um-query.php CHANGED
@@ -3,7 +3,19 @@
3
  class UM_Query {
4
 
5
  function __construct() {
 
 
 
 
6
 
 
 
 
 
 
 
 
 
7
  }
8
 
9
  /***
3
  class UM_Query {
4
 
5
  function __construct() {
6
+
7
+ add_action('wp_loaded', array(&$this, 'get_post_types'), 100 );
8
+
9
+ }
10
 
11
+ /***
12
+ *** @get all post types
13
+ ***/
14
+ function get_post_types() {
15
+ $array = get_post_types();
16
+ foreach( $array as $k => $v ) {
17
+ $this->get_post_types[] = $k;
18
+ }
19
  }
20
 
21
  /***
index.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Ultimate Member
4
  Plugin URI: http://ultimatemember.com/
5
  Description: Ultimate Member is a powerful community and membership plugin that allows you to create beautiful community and membership sites with WordPress
6
- Version: 1.0.40
7
  Author: Ultimate Member
8
  Author URI: http://ultimatemember.com/
9
  */
3
  Plugin Name: Ultimate Member
4
  Plugin URI: http://ultimatemember.com/
5
  Description: Ultimate Member is a powerful community and membership plugin that allows you to create beautiful community and membership sites with WordPress
6
+ Version: 1.0.41
7
  Author: Ultimate Member
8
  Author URI: http://ultimatemember.com/
9
  */
readme.txt CHANGED
@@ -7,7 +7,7 @@ Tags: access control, author, authors, author profile, comments, community, comm
7
  Requires at least: 4.1
8
  Tested up to: 4.1
9
 
10
- Stable Tag: 1.0.40
11
 
12
  License: GNU Version 2 or Any Later Version
13
 
@@ -184,6 +184,15 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
184
 
185
  == Changelog ==
186
 
 
 
 
 
 
 
 
 
 
187
  = 1.0.40: February 4, 2015 =
188
 
189
  * Tweak: line-breaks and automatic urls are now working for textarea fields
7
  Requires at least: 4.1
8
  Tested up to: 4.1
9
 
10
+ Stable Tag: 1.0.41
11
 
12
  License: GNU Version 2 or Any Later Version
13
 
184
 
185
  == Changelog ==
186
 
187
+ = 1.0.41: February 5, 2015 =
188
+
189
+ * New: added access control settings to custom post types, you can have custom access settings applied to your custom post types now
190
+ * New: divider and spacing fields fully support conditional logic
191
+ * Tweak: Turkish language completed
192
+ * Tweak: updated some translations
193
+ * Fixed: a couple of PHP warnings and errors have been resolved
194
+ * Fixed: conflict with MailPoet plugin has been resolved
195
+
196
  = 1.0.40: February 4, 2015 =
197
 
198
  * Tweak: line-breaks and automatic urls are now working for textarea fields
um-config.php CHANGED
@@ -74,14 +74,18 @@ $this->sections[] = array(
74
  'title' => __( 'Automatically redirect author page to their profile?' ),
75
  'default' => 1,
76
  'desc' => __('If enabled, author pages will automatically redirect to the user\'s profile page'),
 
 
77
  ),
78
 
79
  array(
80
  'id' => 'members_page',
81
  'type' => 'switch',
82
- 'title' => __( 'Members Directory' ),
83
  'default' => 1,
84
  'desc' => 'Control whether to enable or disable member directories on this site',
 
 
85
  ),
86
 
87
  array(
@@ -90,6 +94,8 @@ $this->sections[] = array(
90
  'title' => __( 'Use Gravatars?' ),
91
  'default' => 0,
92
  'desc' => __('Do you want to use gravatars instead of the default plugin profile photo (If the user did not upload a custom profile photo / avatar)','ultimatemember'),
 
 
93
  ),
94
 
95
  )
@@ -112,6 +118,8 @@ $this->sections[] = array(
112
  'title' => __( 'Password Account Tab' ),
113
  'default' => 1,
114
  'desc' => 'Enable/disable the Password account tab in account page',
 
 
115
  ),
116
 
117
  array(
@@ -120,6 +128,8 @@ $this->sections[] = array(
120
  'title' => __( 'Privacy Account Tab' ),
121
  'default' => 1,
122
  'desc' => 'Enable/disable the Privacy account tab in account page',
 
 
123
  ),
124
 
125
  array(
@@ -128,6 +138,8 @@ $this->sections[] = array(
128
  'title' => __( 'Notifications Account Tab' ),
129
  'default' => 1,
130
  'desc' => 'Enable/disable the Notifications account tab in account page',
 
 
131
  ),
132
 
133
  array(
@@ -136,6 +148,8 @@ $this->sections[] = array(
136
  'title' => __( 'Delete Account Tab' ),
137
  'default' => 1,
138
  'desc' => 'Enable/disable the Delete account tab in account page',
 
 
139
  ),
140
 
141
  array(
@@ -201,7 +215,7 @@ $this->sections[] = array(
201
  'default' => array(),
202
  'title' => __( 'Exclude the following URLs','ultimatemember' ),
203
  'desc' => __( 'Here you can exclude URLs beside the redirect URI to be accessible to everyone','ultimatemember' ),
204
- 'add_text' => __('Add New URL'),
205
  'required' => array( 'accessible', '=', 2 ),
206
  ),
207
 
@@ -373,7 +387,7 @@ $this->sections[] = array(
373
  'subtitle' => __( 'Subject Line','ultimatemember' ),
374
  'default' => 'Welcome to {site_name}!',
375
  'required' => array( 'welcome_email_on', '=', 1 ),
376
- 'desc' => 'This is the subject line of the e-mail',
377
  ),
378
 
379
  array(
@@ -409,7 +423,7 @@ $this->sections[] = array(
409
  'subtitle' => __( 'Subject Line','ultimatemember' ),
410
  'default' => 'Please activate your account',
411
  'required' => array( 'checkmail_email_on', '=', 1 ),
412
- 'desc' => 'This is the subject line of the e-mail',
413
  ),
414
 
415
  array(
@@ -441,7 +455,7 @@ $this->sections[] = array(
441
  'subtitle' => __( 'Subject Line','ultimatemember' ),
442
  'default' => 'Your account is pending review',
443
  'required' => array( 'pending_email_on', '=', 1 ),
444
- 'desc' => 'This is the subject line of the e-mail',
445
  ),
446
 
447
  array(
@@ -473,7 +487,7 @@ $this->sections[] = array(
473
  'subtitle' => __( 'Subject Line','ultimatemember' ),
474
  'default' => 'Your account at {site_name} is now active',
475
  'required' => array( 'approved_email_on', '=', 1 ),
476
- 'desc' => 'This is the subject line of the e-mail',
477
  ),
478
 
479
  array(
@@ -509,7 +523,7 @@ $this->sections[] = array(
509
  'subtitle' => __( 'Subject Line','ultimatemember' ),
510
  'default' => 'Your account has been rejected',
511
  'required' => array( 'rejected_email_on', '=', 1 ),
512
- 'desc' => 'This is the subject line of the e-mail',
513
  ),
514
 
515
  array(
@@ -540,7 +554,7 @@ $this->sections[] = array(
540
  'subtitle' => __( 'Subject Line' ),
541
  'default' => 'Your account has been deactivated',
542
  'required' => array( 'inactive_email_on', '=', 1 ),
543
- 'desc' => 'This is the subject line of the e-mail',
544
  ),
545
 
546
  array(
@@ -571,7 +585,7 @@ $this->sections[] = array(
571
  'subtitle' => __( 'Subject Line','ultimatemember' ),
572
  'default' => 'Your account has been deleted',
573
  'required' => array( 'deletion_email_on', '=', 1 ),
574
- 'desc' => 'This is the subject line of the e-mail',
575
  ),
576
 
577
  array(
@@ -602,7 +616,7 @@ $this->sections[] = array(
602
  'subtitle' => __( 'Subject Line','ultimatemember' ),
603
  'default' => 'Reset your password',
604
  'required' => array( 'resetpw_email_on', '=', 1 ),
605
- 'desc' => 'This is the subject line of the e-mail',
606
  ),
607
 
608
  array(
@@ -634,7 +648,7 @@ $this->sections[] = array(
634
  'subtitle' => __( 'Subject Line','ultimatemember' ),
635
  'default' => 'Your {site_name} password has been changed',
636
  'required' => array( 'changedpw_email_on', '=', 1 ),
637
- 'desc' => 'This is the subject line of the e-mail',
638
  ),
639
 
640
  array(
@@ -678,6 +692,8 @@ $this->sections[] = array(
678
  'title' => __( 'New User Notification','ultimatemember' ),
679
  'default' => 1,
680
  'desc' => 'Whether to receive notification when a new user account is approved',
 
 
681
  ),
682
 
683
  array(
@@ -687,7 +703,7 @@ $this->sections[] = array(
687
  'subtitle' => __( 'Subject Line','ultimatemember' ),
688
  'default' => '[{site_name}] New user account',
689
  'required' => array( 'notification_new_user_on', '=', 1 ),
690
- 'desc' => 'This is the subject line of the e-mail',
691
  ),
692
 
693
  array(
@@ -709,6 +725,8 @@ $this->sections[] = array(
709
  'title' => __( 'Account Needs Review Notification','ultimatemember' ),
710
  'default' => 0,
711
  'desc' => 'Whether to receive notification when an account needs admin review',
 
 
712
  ),
713
 
714
  array(
@@ -718,7 +736,7 @@ $this->sections[] = array(
718
  'subtitle' => __( 'Subject Line','ultimatemember' ),
719
  'default' => '[{site_name}] New user awaiting review',
720
  'required' => array( 'notification_review_on', '=', 1 ),
721
- 'desc' => 'This is the subject line of the e-mail',
722
  ),
723
 
724
  array(
@@ -741,6 +759,8 @@ $this->sections[] = array(
741
  'title' => __( 'Account Deletion Notification','ultimatemember' ),
742
  'default' => 0,
743
  'desc' => 'Whether to receive notification when an account is deleted',
 
 
744
  ),
745
 
746
  array(
@@ -750,7 +770,7 @@ $this->sections[] = array(
750
  'subtitle' => __( 'Subject Line','ultimatemember' ),
751
  'default' => '[{site_name}] Account deleted',
752
  'required' => array( 'notification_deletion_on', '=', 1 ),
753
- 'desc' => 'This is the subject line of the e-mail',
754
  ),
755
 
756
  array(
@@ -784,7 +804,7 @@ $this->sections[] = array(
784
  'desc' => __( 'Here you can define which thumbnail sizes will be created for each profile photo upload.','ultimatemember' ),
785
  'default' => array( 40, 80, 190 ),
786
  'validate' => 'numeric',
787
- 'add_text' => __('Add New Size'),
788
  ),
789
 
790
  array(
@@ -794,7 +814,7 @@ $this->sections[] = array(
794
  'desc' => __( 'Here you can define which thumbnail sizes will be created for each cover photo upload.','ultimatemember' ),
795
  'default' => array( 300, 600 ),
796
  'validate' => 'numeric',
797
- 'add_text' => __('Add New Size'),
798
  ),
799
 
800
  array(
@@ -1040,6 +1060,8 @@ $this->sections[] = array(
1040
  'type' => 'switch',
1041
  'title' => __( 'Show an asterisk for required fields','ultimatemember' ),
1042
  'default' => 0,
 
 
1043
  ),
1044
 
1045
  array(
@@ -1130,6 +1152,8 @@ $this->sections[] = array(
1130
  'title' => __( 'Profile Secondary Button','ultimatemember' ),
1131
  'default' => 1,
1132
  'desc' => 'Switch on/off the secondary button display in the form',
 
 
1133
  ),
1134
 
1135
  array(
@@ -1216,6 +1240,8 @@ $this->sections[] = array(
1216
  'title' => __( 'Profile Cover Photos','ultimatemember' ),
1217
  'default' => 1,
1218
  'desc' => 'Switch on/off the profile cover photos',
 
 
1219
  ),
1220
 
1221
  array(
@@ -1284,6 +1310,8 @@ $this->sections[] = array(
1284
  'title' => __( 'Show display name in profile header','ultimatemember' ),
1285
  'default' => um_get_metadefault('profile_show_name'),
1286
  'desc' => 'Switch on/off the user name on profile header',
 
 
1287
  ),
1288
 
1289
  array(
@@ -1292,6 +1320,8 @@ $this->sections[] = array(
1292
  'title' => __( 'Show user description in header','ultimatemember' ),
1293
  'default' => um_get_metadefault('profile_show_bio'),
1294
  'desc' => 'Switch on/off the user description on profile header',
 
 
1295
  ),
1296
 
1297
  array(
@@ -1322,6 +1352,8 @@ $this->sections[] = array(
1322
  'title' => __( 'Show a custom message if profile is empty','ultimatemember' ),
1323
  'default' => um_get_metadefault('profile_empty_text'),
1324
  'desc' => 'Switch on/off the custom message that appears when the profile is empty',
 
 
1325
  ),
1326
 
1327
  array(
@@ -1330,6 +1362,8 @@ $this->sections[] = array(
1330
  'title' => __( 'Show the emoticon','ultimatemember' ),
1331
  'default' => um_get_metadefault('profile_empty_text_emo'),
1332
  'desc' => 'Switch on/off the emoticon (sad face) that appears above the message',
 
 
1333
  'required' => array( 'profile_empty_text', '=', 1 ),
1334
  ),
1335
 
@@ -1343,6 +1377,8 @@ $tab_options[] = array(
1343
  'type' => 'switch',
1344
  'title' => __('Enable profile menu','ultimatemember'),
1345
  'default' => 1,
 
 
1346
  );
1347
 
1348
  foreach( $tabs as $id => $tab ) {
@@ -1352,6 +1388,8 @@ $tab_options[] = array(
1352
  'title' => sprintf(__('%s Tab','ultimatemember'), $tab ),
1353
  'default' => 1,
1354
  'required' => array( 'profile_menu', '=', 1 ),
 
 
1355
  );
1356
  }
1357
 
@@ -1372,6 +1410,8 @@ $tab_options[] = array(
1372
  'title' => __('Enable menu icons in desktop view','ultimatemember'),
1373
  'default' => 1,
1374
  'required' => array( 'profile_menu', '=', 1 ),
 
 
1375
  );
1376
 
1377
  $tab_options[] = array(
@@ -1380,6 +1420,8 @@ $tab_options[] = array(
1380
  'title' => __('Enable counts in menu','ultimatemember'),
1381
  'default' => 1,
1382
  'required' => array( 'profile_menu', '=', 1 ),
 
 
1383
  );
1384
 
1385
  $this->sections[] = array(
@@ -1456,6 +1498,8 @@ $this->sections[] = array(
1456
  'title' => __( 'Registration Secondary Button','ultimatemember' ),
1457
  'default' => 1,
1458
  'desc' => 'Switch on/off the secondary button display in the form',
 
 
1459
  ),
1460
 
1461
  array(
@@ -1547,6 +1591,8 @@ $this->sections[] = array(
1547
  'title' => __( 'Login Secondary Button','ultimatemember' ),
1548
  'default' => 1,
1549
  'desc' => 'Switch on/off the secondary button display in the form',
 
 
1550
  ),
1551
 
1552
  array(
@@ -1564,6 +1610,8 @@ $this->sections[] = array(
1564
  'title' => __( 'Login Forgot Password Link','ultimatemember' ),
1565
  'default' => 1,
1566
  'desc' => 'Switch on/off the forgot password link in login form',
 
 
1567
  ),
1568
 
1569
  )
@@ -1604,6 +1652,8 @@ $this->sections[] = array(
1604
  'title' => __( 'Disable JS/CSS Compression','ultimatemember' ),
1605
  'default' => 0,
1606
  'desc' => __('Not recommended. This will load all plugin js and css files separately and may slow down your website. Use this setting for development or debugging purposes only.','ultimatemember'),
 
 
1607
  ),
1608
 
1609
  array(
@@ -1612,7 +1662,7 @@ $this->sections[] = array(
1612
  'default' => array(),
1613
  'title' => __( 'Never load plugin JS and CSS on the following pages','ultimatemember' ),
1614
  'desc' => __( 'Enter a url or page slug (e.g /about/) to disable loading the plugin\'s css and js on that page.','ultimatemember' ),
1615
- 'add_text' => __('Add New Page'),
1616
  ),
1617
 
1618
  array(
74
  'title' => __( 'Automatically redirect author page to their profile?' ),
75
  'default' => 1,
76
  'desc' => __('If enabled, author pages will automatically redirect to the user\'s profile page'),
77
+ 'on' => __('Yes','ultimatemember'),
78
+ 'off' => __('No','ultimatemember'),
79
  ),
80
 
81
  array(
82
  'id' => 'members_page',
83
  'type' => 'switch',
84
+ 'title' => __( 'Enable Members Directory' ),
85
  'default' => 1,
86
  'desc' => 'Control whether to enable or disable member directories on this site',
87
+ 'on' => __('Yes','ultimatemember'),
88
+ 'off' => __('No','ultimatemember'),
89
  ),
90
 
91
  array(
94
  'title' => __( 'Use Gravatars?' ),
95
  'default' => 0,
96
  'desc' => __('Do you want to use gravatars instead of the default plugin profile photo (If the user did not upload a custom profile photo / avatar)','ultimatemember'),
97
+ 'on' => __('Yes','ultimatemember'),
98
+ 'off' => __('No','ultimatemember'),
99
  ),
100
 
101
  )
118
  'title' => __( 'Password Account Tab' ),
119
  'default' => 1,
120
  'desc' => 'Enable/disable the Password account tab in account page',
121
+ 'on' => __('On','ultimatemember'),
122
+ 'off' => __('Off','ultimatemember'),
123
  ),
124
 
125
  array(
128
  'title' => __( 'Privacy Account Tab' ),
129
  'default' => 1,
130
  'desc' => 'Enable/disable the Privacy account tab in account page',
131
+ 'on' => __('On','ultimatemember'),
132
+ 'off' => __('Off','ultimatemember'),
133
  ),
134
 
135
  array(
138
  'title' => __( 'Notifications Account Tab' ),
139
  'default' => 1,
140
  'desc' => 'Enable/disable the Notifications account tab in account page',
141
+ 'on' => __('On','ultimatemember'),
142
+ 'off' => __('Off','ultimatemember'),
143
  ),
144
 
145
  array(
148
  'title' => __( 'Delete Account Tab' ),
149
  'default' => 1,
150
  'desc' => 'Enable/disable the Delete account tab in account page',
151
+ 'on' => __('On','ultimatemember'),
152
+ 'off' => __('Off','ultimatemember'),
153
  ),
154
 
155
  array(
215
  'default' => array(),
216
  'title' => __( 'Exclude the following URLs','ultimatemember' ),
217
  'desc' => __( 'Here you can exclude URLs beside the redirect URI to be accessible to everyone','ultimatemember' ),
218
+ 'add_text' => __('Add New URL','ultimatemember'),
219
  'required' => array( 'accessible', '=', 2 ),
220
  ),
221
 
387
  'subtitle' => __( 'Subject Line','ultimatemember' ),
388
  'default' => 'Welcome to {site_name}!',
389
  'required' => array( 'welcome_email_on', '=', 1 ),
390
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
391
  ),
392
 
393
  array(
423
  'subtitle' => __( 'Subject Line','ultimatemember' ),
424
  'default' => 'Please activate your account',
425
  'required' => array( 'checkmail_email_on', '=', 1 ),
426
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
427
  ),
428
 
429
  array(
455
  'subtitle' => __( 'Subject Line','ultimatemember' ),
456
  'default' => 'Your account is pending review',
457
  'required' => array( 'pending_email_on', '=', 1 ),
458
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
459
  ),
460
 
461
  array(
487
  'subtitle' => __( 'Subject Line','ultimatemember' ),
488
  'default' => 'Your account at {site_name} is now active',
489
  'required' => array( 'approved_email_on', '=', 1 ),
490
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
491
  ),
492
 
493
  array(
523
  'subtitle' => __( 'Subject Line','ultimatemember' ),
524
  'default' => 'Your account has been rejected',
525
  'required' => array( 'rejected_email_on', '=', 1 ),
526
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
527
  ),
528
 
529
  array(
554
  'subtitle' => __( 'Subject Line' ),
555
  'default' => 'Your account has been deactivated',
556
  'required' => array( 'inactive_email_on', '=', 1 ),
557
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
558
  ),
559
 
560
  array(
585
  'subtitle' => __( 'Subject Line','ultimatemember' ),
586
  'default' => 'Your account has been deleted',
587
  'required' => array( 'deletion_email_on', '=', 1 ),
588
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
589
  ),
590
 
591
  array(
616
  'subtitle' => __( 'Subject Line','ultimatemember' ),
617
  'default' => 'Reset your password',
618
  'required' => array( 'resetpw_email_on', '=', 1 ),
619
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
620
  ),
621
 
622
  array(
648
  'subtitle' => __( 'Subject Line','ultimatemember' ),
649
  'default' => 'Your {site_name} password has been changed',
650
  'required' => array( 'changedpw_email_on', '=', 1 ),
651
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
652
  ),
653
 
654
  array(
692
  'title' => __( 'New User Notification','ultimatemember' ),
693
  'default' => 1,
694
  'desc' => 'Whether to receive notification when a new user account is approved',
695
+ 'on' => __('On','ultimatemember'),
696
+ 'off' => __('Off','ultimatemember'),
697
  ),
698
 
699
  array(
703
  'subtitle' => __( 'Subject Line','ultimatemember' ),
704
  'default' => '[{site_name}] New user account',
705
  'required' => array( 'notification_new_user_on', '=', 1 ),
706
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
707
  ),
708
 
709
  array(
725
  'title' => __( 'Account Needs Review Notification','ultimatemember' ),
726
  'default' => 0,
727
  'desc' => 'Whether to receive notification when an account needs admin review',
728
+ 'on' => __('On','ultimatemember'),
729
+ 'off' => __('Off','ultimatemember'),
730
  ),
731
 
732
  array(
736
  'subtitle' => __( 'Subject Line','ultimatemember' ),
737
  'default' => '[{site_name}] New user awaiting review',
738
  'required' => array( 'notification_review_on', '=', 1 ),
739
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
740
  ),
741
 
742
  array(
759
  'title' => __( 'Account Deletion Notification','ultimatemember' ),
760
  'default' => 0,
761
  'desc' => 'Whether to receive notification when an account is deleted',
762
+ 'on' => __('On','ultimatemember'),
763
+ 'off' => __('Off','ultimatemember'),
764
  ),
765
 
766
  array(
770
  'subtitle' => __( 'Subject Line','ultimatemember' ),
771
  'default' => '[{site_name}] Account deleted',
772
  'required' => array( 'notification_deletion_on', '=', 1 ),
773
+ 'desc' => __('This is the subject line of the e-mail','ultimatemember'),
774
  ),
775
 
776
  array(
804
  'desc' => __( 'Here you can define which thumbnail sizes will be created for each profile photo upload.','ultimatemember' ),
805
  'default' => array( 40, 80, 190 ),
806
  'validate' => 'numeric',
807
+ 'add_text' => __('Add New Size','ultimatemember'),
808
  ),
809
 
810
  array(
814
  'desc' => __( 'Here you can define which thumbnail sizes will be created for each cover photo upload.','ultimatemember' ),
815
  'default' => array( 300, 600 ),
816
  'validate' => 'numeric',
817
+ 'add_text' => __('Add New Size','ultimatemember'),
818
  ),
819
 
820
  array(
1060
  'type' => 'switch',
1061
  'title' => __( 'Show an asterisk for required fields','ultimatemember' ),
1062
  'default' => 0,
1063
+ 'on' => __('Yes','ultimatemember'),
1064
+ 'off' => __('No','ultimatemember'),
1065
  ),
1066
 
1067
  array(
1152
  'title' => __( 'Profile Secondary Button','ultimatemember' ),
1153
  'default' => 1,
1154
  'desc' => 'Switch on/off the secondary button display in the form',
1155
+ 'on' => __('On','ultimatemember'),
1156
+ 'off' => __('Off','ultimatemember'),
1157
  ),
1158
 
1159
  array(
1240
  'title' => __( 'Profile Cover Photos','ultimatemember' ),
1241
  'default' => 1,
1242
  'desc' => 'Switch on/off the profile cover photos',
1243
+ 'on' => __('On','ultimatemember'),
1244
+ 'off' => __('Off','ultimatemember'),
1245
  ),
1246
 
1247
  array(
1310
  'title' => __( 'Show display name in profile header','ultimatemember' ),
1311
  'default' => um_get_metadefault('profile_show_name'),
1312
  'desc' => 'Switch on/off the user name on profile header',
1313
+ 'on' => __('On','ultimatemember'),
1314
+ 'off' => __('Off','ultimatemember'),
1315
  ),
1316
 
1317
  array(
1320
  'title' => __( 'Show user description in header','ultimatemember' ),
1321
  'default' => um_get_metadefault('profile_show_bio'),
1322
  'desc' => 'Switch on/off the user description on profile header',
1323
+ 'on' => __('On','ultimatemember'),
1324
+ 'off' => __('Off','ultimatemember'),
1325
  ),
1326
 
1327
  array(
1352
  'title' => __( 'Show a custom message if profile is empty','ultimatemember' ),
1353
  'default' => um_get_metadefault('profile_empty_text'),
1354
  'desc' => 'Switch on/off the custom message that appears when the profile is empty',
1355
+ 'on' => __('On','ultimatemember'),
1356
+ 'off' => __('Off','ultimatemember'),
1357
  ),
1358
 
1359
  array(
1362
  'title' => __( 'Show the emoticon','ultimatemember' ),
1363
  'default' => um_get_metadefault('profile_empty_text_emo'),
1364
  'desc' => 'Switch on/off the emoticon (sad face) that appears above the message',
1365
+ 'on' => __('On','ultimatemember'),
1366
+ 'off' => __('Off','ultimatemember'),
1367
  'required' => array( 'profile_empty_text', '=', 1 ),
1368
  ),
1369
 
1377
  'type' => 'switch',
1378
  'title' => __('Enable profile menu','ultimatemember'),
1379
  'default' => 1,
1380
+ 'on' => __('On','ultimatemember'),
1381
+ 'off' => __('Off','ultimatemember'),
1382
  );
1383
 
1384
  foreach( $tabs as $id => $tab ) {
1388
  'title' => sprintf(__('%s Tab','ultimatemember'), $tab ),
1389
  'default' => 1,
1390
  'required' => array( 'profile_menu', '=', 1 ),
1391
+ 'on' => __('On','ultimatemember'),
1392
+ 'off' => __('Off','ultimatemember'),
1393
  );
1394
  }
1395
 
1410
  'title' => __('Enable menu icons in desktop view','ultimatemember'),
1411
  'default' => 1,
1412
  'required' => array( 'profile_menu', '=', 1 ),
1413
+ 'on' => __('On','ultimatemember'),
1414
+ 'off' => __('Off','ultimatemember'),
1415
  );
1416
 
1417
  $tab_options[] = array(
1420
  'title' => __('Enable counts in menu','ultimatemember'),
1421
  'default' => 1,
1422
  'required' => array( 'profile_menu', '=', 1 ),
1423
+ 'on' => __('On','ultimatemember'),
1424
+ 'off' => __('Off','ultimatemember'),
1425
  );
1426
 
1427
  $this->sections[] = array(
1498
  'title' => __( 'Registration Secondary Button','ultimatemember' ),
1499
  'default' => 1,
1500
  'desc' => 'Switch on/off the secondary button display in the form',
1501
+ 'on' => __('On','ultimatemember'),
1502
+ 'off' => __('Off','ultimatemember'),
1503
  ),
1504
 
1505
  array(
1591
  'title' => __( 'Login Secondary Button','ultimatemember' ),
1592
  'default' => 1,
1593
  'desc' => 'Switch on/off the secondary button display in the form',
1594
+ 'on' => __('On','ultimatemember'),
1595
+ 'off' => __('Off','ultimatemember'),
1596
  ),
1597
 
1598
  array(
1610
  'title' => __( 'Login Forgot Password Link','ultimatemember' ),
1611
  'default' => 1,
1612
  'desc' => 'Switch on/off the forgot password link in login form',
1613
+ 'on' => __('On','ultimatemember'),
1614
+ 'off' => __('Off','ultimatemember'),
1615
  ),
1616
 
1617
  )
1652
  'title' => __( 'Disable JS/CSS Compression','ultimatemember' ),
1653
  'default' => 0,
1654
  'desc' => __('Not recommended. This will load all plugin js and css files separately and may slow down your website. Use this setting for development or debugging purposes only.','ultimatemember'),
1655
+ 'on' => __('On','ultimatemember'),
1656
+ 'off' => __('Off','ultimatemember'),
1657
  ),
1658
 
1659
  array(
1662
  'default' => array(),
1663
  'title' => __( 'Never load plugin JS and CSS on the following pages','ultimatemember' ),
1664
  'desc' => __( 'Enter a url or page slug (e.g /about/) to disable loading the plugin\'s css and js on that page.','ultimatemember' ),
1665
+ 'add_text' => __('Add New Page','ultimatemember'),
1666
  ),
1667
 
1668
  array(