Ultimate Member – User Profile & Membership Plugin - Version 1.0.43

Version Description

Download this release

Release Info

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

Code changes from version 1.0.42 to 1.0.43

admin/templates/dashboard/overview.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  <div class="um-admin-dash-col">
4
 
5
- <h3>Recent Members</h3>
6
 
7
  <?php foreach( $ultimatemember->query->get_users_by_status('approved') as $user_id ) { um_fetch_user( $user_id ); ?>
8
 
@@ -43,7 +43,7 @@
43
  <div class="um-admin-dash-col">
44
 
45
  <?php $users = $ultimatemember->query->get_users_by_status('awaiting_admin_review'); ?>
46
- <h3>Users Awaiting Review<span class="um-admin-dash-count red count-0">0</span></h3>
47
 
48
  <?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
49
 
@@ -92,7 +92,7 @@
92
  <div class="um-admin-dash-col">
93
 
94
  <?php $users = $ultimatemember->query->get_users_by_status('awaiting_email_confirmation'); ?>
95
- <h3>Pending e-mail confirmation<span class="um-admin-dash-count red count-0">0</span></h3>
96
 
97
  <?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
98
 
@@ -125,7 +125,7 @@
125
  <div class="um-admin-dash-col">
126
 
127
  <?php $users = $ultimatemember->query->get_users_by_status('inactive'); ?>
128
- <h3>Recently Deactivated<span class="um-admin-dash-count red count-0">0</span></h3>
129
 
130
  <?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
131
 
2
 
3
  <div class="um-admin-dash-col">
4
 
5
+ <h3><?php _e('Recent Members','ultimatemember'); ?></h3>
6
 
7
  <?php foreach( $ultimatemember->query->get_users_by_status('approved') as $user_id ) { um_fetch_user( $user_id ); ?>
8
 
43
  <div class="um-admin-dash-col">
44
 
45
  <?php $users = $ultimatemember->query->get_users_by_status('awaiting_admin_review'); ?>
46
+ <h3><?php _e('Users Awaiting Review','ultimatemember'); ?><span class="um-admin-dash-count red count-0">0</span></h3>
47
 
48
  <?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
49
 
92
  <div class="um-admin-dash-col">
93
 
94
  <?php $users = $ultimatemember->query->get_users_by_status('awaiting_email_confirmation'); ?>
95
+ <h3><?php _e('Pending e-mail confirmation','ultimatemember'); ?><span class="um-admin-dash-count red count-0">0</span></h3>
96
 
97
  <?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
98
 
125
  <div class="um-admin-dash-col">
126
 
127
  <?php $users = $ultimatemember->query->get_users_by_status('inactive'); ?>
128
+ <h3><?php _e('Recently Deactivated','ultimatemember'); ?><span class="um-admin-dash-count red count-0">0</span></h3>
129
 
130
  <?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
131
 
core/um-access.php CHANGED
@@ -33,10 +33,12 @@ class UM_Access {
33
  function get_meta( $post_id ) {
34
  global $post;
35
  $meta = get_post_custom( $post_id );
36
- foreach ($meta as $k => $v){
37
- if ( strstr($k, '_um_') ) {
38
- $k = str_replace('_um_', '', $k);
39
- $array[$k] = $v[0];
 
 
40
  }
41
  }
42
  if ( isset( $array ) )
33
  function get_meta( $post_id ) {
34
  global $post;
35
  $meta = get_post_custom( $post_id );
36
+ if ( isset( $meta ) && is_array( $meta ) ) {
37
+ foreach ($meta as $k => $v){
38
+ if ( strstr($k, '_um_') ) {
39
+ $k = str_replace('_um_', '', $k);
40
+ $array[$k] = $v[0];
41
+ }
42
  }
43
  }
44
  if ( isset( $array ) )
core/um-short-functions.php CHANGED
@@ -119,6 +119,7 @@
119
  }
120
  $value = str_replace('https://https://','https://',$value);
121
  $value = str_replace('http://https://','https://',$value);
 
122
  return $value;
123
  }
124
 
119
  }
120
  $value = str_replace('https://https://','https://',$value);
121
  $value = str_replace('http://https://','https://',$value);
122
+ $value = str_replace('https://http://','https://',$value);
123
  return $value;
124
  }
125
 
core/um-user.php CHANGED
@@ -21,10 +21,11 @@ class UM_User {
21
 
22
  $this->preview = false;
23
 
24
- // a list of keys that should be done on wp_update_user
25
  $this->update_user_keys = array(
26
  'user_email',
27
  'user_pass',
 
28
  );
29
 
30
  $this->target_id = null;
21
 
22
  $this->preview = false;
23
 
24
+ // a list of keys that should never be in wp_usermeta
25
  $this->update_user_keys = array(
26
  'user_email',
27
  'user_pass',
28
+ 'user_password',
29
  );
30
 
31
  $this->target_id = null;
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.42
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.43
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.42
11
 
12
  License: GNU Version 2 or Any Later Version
13
 
@@ -124,6 +124,7 @@ Ultimate Member has been translated into the following languages:
124
 
125
  * English (US)
126
  * French
 
127
  * Italian
128
  * Turkish
129
 
@@ -184,6 +185,14 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
184
 
185
  == Changelog ==
186
 
 
 
 
 
 
 
 
 
187
  = 1.0.42: February 6, 2015 =
188
 
189
  * New: added option to block specific e-mail domains from registering
7
  Requires at least: 4.1
8
  Tested up to: 4.1
9
 
10
+ Stable Tag: 1.0.43
11
 
12
  License: GNU Version 2 or Any Later Version
13
 
124
 
125
  * English (US)
126
  * French
127
+ * German
128
  * Italian
129
  * Turkish
130
 
185
 
186
  == Changelog ==
187
 
188
+ = 1.0.43: February 7, 2015 =
189
+
190
+ * New: added German (Deutsch) language support
191
+ * Tweak: updated all translation packs
192
+ * Fixed: profile social links in member directory
193
+ * Fixed: prevent storing user_pass in usermeta table
194
+ * Fixed: php error triggered from um-access.php file
195
+
196
  = 1.0.42: February 6, 2015 =
197
 
198
  * New: added option to block specific e-mail domains from registering
um-config.php CHANGED
@@ -17,19 +17,19 @@ $this->sections[] = array(
17
  'id' => 'default_role',
18
  'type' => 'select',
19
  'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
20
- 'title' => __( 'Default New User Role' ),
21
- 'desc' => __( 'Select the default role that will be assigned to user after registration If you did not specify custom role settings per form.' ),
22
  'default' => 'member',
23
  'options' => $ultimatemember->query->get_roles( ),
24
- 'placeholder' => __('Choose user role...'),
25
  ),
26
 
27
  array(
28
  'id' => 'permalink_base',
29
  'type' => 'select',
30
  'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
31
- 'title' => __( 'Profile Permalink Base' ),
32
- 'desc' => __( 'Here you can control the permalink structure of the user profile URL globally' ),
33
  'default' => 'user_login',
34
  'desc' => 'e.g. ' . trailingslashit( um_get_core_page('user') ) .'<strong>username</strong>/',
35
  'options' => array(
@@ -37,15 +37,15 @@ $this->sections[] = array(
37
  'name' => 'First and Last Name',
38
  'user_id' => 'User ID',
39
  ),
40
- 'placeholder' => __('Select...')
41
  ),
42
 
43
  array(
44
  'id' => 'display_name',
45
  'type' => 'select',
46
  'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
47
- 'title' => __( 'User Display Name' ),
48
- 'desc' => __( 'This is the name that will be displayed for users on the front end of your site. Default setting uses first/last name as display name if it exists' ),
49
  'default' => 'full_name',
50
  'options' => array(
51
  'username' => 'Username',
@@ -63,17 +63,17 @@ $this->sections[] = array(
63
  array(
64
  'id' => 'display_name_field',
65
  'type' => 'text',
66
- 'title' => __( 'Display Name Custom Field(s)' ),
67
- 'desc' => 'Specify the custom field meta key or custom fields seperated by comma that you want to use to display users name on the frontend of your site',
68
  'required' => array( 'display_name', '=', 'field' ),
69
  ),
70
 
71
  array(
72
  'id' => 'author_redirect',
73
  'type' => 'switch',
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
  ),
@@ -81,9 +81,9 @@ $this->sections[] = array(
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
  ),
@@ -91,7 +91,7 @@ $this->sections[] = array(
91
  array(
92
  'id' => 'use_gravatars',
93
  'type' => 'switch',
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'),
@@ -115,7 +115,7 @@ $this->sections[] = array(
115
  array(
116
  'id' => 'account_tab_password',
117
  'type' => 'switch',
118
- 'title' => __( 'Password Account Tab' ),
119
  'default' => 1,
120
  'desc' => 'Enable/disable the Password account tab in account page',
121
  'on' => __('On','ultimatemember'),
@@ -125,9 +125,9 @@ $this->sections[] = array(
125
  array(
126
  'id' => 'account_tab_privacy',
127
  'type' => 'switch',
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
  ),
@@ -135,9 +135,9 @@ $this->sections[] = array(
135
  array(
136
  'id' => 'account_tab_notifications',
137
  'type' => 'switch',
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
  ),
@@ -145,9 +145,9 @@ $this->sections[] = array(
145
  array(
146
  'id' => 'account_tab_delete',
147
  'type' => 'switch',
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
  ),
@@ -155,8 +155,8 @@ $this->sections[] = array(
155
  array(
156
  'id' => 'delete_account_text',
157
  'type' => 'editor',
158
- 'title' => __( 'Account Deletion Custom Text' ),
159
- 'default' => 'Are you sure you want to delete your account? This will erase all of your account data from the site. To delete your account enter your password below',
160
  'desc' => __('This is custom text that will be displayed to users before they delete their accounts from your site','ultimatemember'),
161
  'args' => array(
162
  'teeny' => false,
@@ -183,7 +183,7 @@ $this->sections[] = array(
183
  'id' => 'panic_key',
184
  'type' => 'text',
185
  'title' => __( 'Panic Key','ultimatemember' ),
186
- 'desc' => 'Panic Key is a random generated key that allow you to access the WordPress backend always regardless of backend settings.',
187
  'default' => $ultimatemember->validation->randomize(),
188
  'desc' => trailingslashit( get_bloginfo('url') ).'wp-admin/?um_panic_key=<strong>your_panic_key</strong>'
189
  ),
@@ -194,7 +194,7 @@ $this->sections[] = array(
194
  'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
195
  'title' => __( 'Global Site Access','ultimatemember' ),
196
  'default' => 0,
197
- 'desc' => 'Globally control the access of your site, you can have seperate restrict options per post/page by editing the desired item.',
198
  'options' => array(
199
  0 => 'Site accessible to Everyone',
200
  2 => 'Site accessible to Logged In Users'
@@ -205,7 +205,7 @@ $this->sections[] = array(
205
  'id' => 'access_redirect',
206
  'type' => 'text',
207
  'title' => __( 'Custom Redirect URL','ultimatemember' ),
208
- 'desc' => 'A logged out user will be redirected to this url If he is not permitted to access the site',
209
  'required' => array( 'accessible', '=', 2 ),
210
  ),
211
 
@@ -224,7 +224,7 @@ $this->sections[] = array(
224
  'type' => 'switch',
225
  'title' => __( 'Exclude restricted pages from main loop','ultimatemember' ),
226
  'default' => 1,
227
- 'desc' => 'Whether to exclude restricted pages from main loop',
228
  'on' => __('Yes','ultimatemember'),
229
  'off' => __('No','ultimatemember'),
230
  ),
@@ -234,7 +234,7 @@ $this->sections[] = array(
234
  'type' => 'switch',
235
  'title' => __( 'Exclude restricted pages from search loop','ultimatemember' ),
236
  'default' => 1,
237
- 'desc' => 'Whether to exclude restricted pages from search results',
238
  'on' => __('Yes','ultimatemember'),
239
  'off' => __('No','ultimatemember'),
240
  ),
@@ -244,7 +244,7 @@ $this->sections[] = array(
244
  'type' => 'switch',
245
  'title' => __( 'Exclude restricted pages from archive loop','ultimatemember' ),
246
  'default' => 1,
247
- 'desc' => 'Whether to exclude restricted pages from archives',
248
  'on' => __('Yes','ultimatemember'),
249
  'off' => __('No','ultimatemember'),
250
  ),
@@ -254,7 +254,7 @@ $this->sections[] = array(
254
  'type' => 'switch',
255
  'title' => __( 'Allow Backend Login Screen for Guests','ultimatemember' ),
256
  'default' => 1,
257
- 'desc' => 'Control whether guests are able to access the WP-admin login screen or not',
258
  'on' => __('Yes','ultimatemember'),
259
  'off' => __('No','ultimatemember'),
260
  ),
@@ -277,7 +277,7 @@ $this->sections[] = array(
277
  'id' => 'wpadmin_login_redirect_url',
278
  'type' => 'text',
279
  'title' => __( 'Custom URL','ultimatemember' ),
280
- 'desc' => 'Enter an alternate url here to redirect a user If they try to access the backend register screen',
281
  'required' => array( 'wpadmin_login_redirect', '=', 'custom_url' ),
282
  ),
283
 
@@ -286,7 +286,7 @@ $this->sections[] = array(
286
  'type' => 'switch',
287
  'title' => __( 'Allow Backend Register Screen for Guests','ultimatemember' ),
288
  'default' => 1,
289
- 'desc' => 'Control whether guests are able to access the WP-admin register screen or not',
290
  'on' => __('Yes','ultimatemember'),
291
  'off' => __('No','ultimatemember'),
292
  ),
@@ -309,7 +309,7 @@ $this->sections[] = array(
309
  'id' => 'wpadmin_register_redirect_url',
310
  'type' => 'text',
311
  'title' => __( 'Custom URL','ultimatemember' ),
312
- 'desc' => 'Enter an alternate url here to redirect a user If they try to access the backend register screen',
313
  'required' => array( 'wpadmin_register_redirect', '=', 'custom_url' ),
314
  ),
315
 
@@ -377,7 +377,7 @@ $this->sections[] = array(
377
  'type' => 'switch',
378
  'title' => __( 'Account Welcome Email','ultimatemember' ),
379
  'default' => 1,
380
- 'desc' => 'Whether to send the user an email when his account is automatically approved',
381
  ),
382
 
383
  array(
@@ -413,7 +413,7 @@ $this->sections[] = array(
413
  'type' => 'switch',
414
  'title' => __( 'Account Activation Email','ultimatemember' ),
415
  'default' => 1,
416
- 'desc' => 'Whether to send the user an email when his account needs e-mail activation',
417
  ),
418
 
419
  array(
@@ -445,7 +445,7 @@ $this->sections[] = array(
445
  'type' => 'switch',
446
  'title' => __( 'Pending Review Email','ultimatemember' ),
447
  'default' => 1,
448
- 'desc' => 'Whether to send the user an email when his account needs admin review',
449
  ),
450
 
451
  array(
@@ -477,7 +477,7 @@ $this->sections[] = array(
477
  'type' => 'switch',
478
  'title' => __( 'Account Approved Email','ultimatemember' ),
479
  'default' => 1,
480
- 'desc' => 'Whether to send the user an email when his account is approved',
481
  ),
482
 
483
  array(
@@ -513,7 +513,7 @@ $this->sections[] = array(
513
  'type' => 'switch',
514
  'title' => __( 'Account Rejected Email','ultimatemember' ),
515
  'default' => 1,
516
- 'desc' => 'Whether to send the user an email when his account is rejected',
517
  ),
518
 
519
  array(
@@ -544,7 +544,7 @@ $this->sections[] = array(
544
  'type' => 'switch',
545
  'title' => __( 'Account Deactivated Email','ultimatemember' ),
546
  'default' => 1,
547
- 'desc' => 'Whether to send the user an email when his account is deactivated',
548
  ),
549
 
550
  array(
@@ -575,7 +575,7 @@ $this->sections[] = array(
575
  'type' => 'switch',
576
  'title' => __( 'Account Deleted Email','ultimatemember' ),
577
  'default' => 1,
578
- 'desc' => 'Whether to send the user an email when his account is deleted',
579
  ),
580
 
581
  array(
@@ -606,7 +606,7 @@ $this->sections[] = array(
606
  'type' => 'switch',
607
  'title' => __( 'Password Reset Email','ultimatemember' ),
608
  'default' => 1,
609
- 'desc' => 'Whether to send the user an email when he request to reset password (Recommended, please keep on)',
610
  ),
611
 
612
  array(
@@ -638,7 +638,7 @@ $this->sections[] = array(
638
  'type' => 'switch',
639
  'title' => __( 'Password Changed Email','ultimatemember' ),
640
  'default' => 1,
641
- 'desc' => 'Whether to send the user an email when he request to reset password (Recommended, please keep on)',
642
  ),
643
 
644
  array(
@@ -691,7 +691,7 @@ $this->sections[] = array(
691
  'type' => 'switch',
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
  ),
@@ -716,7 +716,7 @@ $this->sections[] = array(
716
  'Here is the submitted registration form:' . "\r\n\r\n" .
717
  '{submitted_registration}',
718
  'required' => array( 'notification_new_user_on', '=', 1 ),
719
- 'desc' => 'This is the content of the e-mail',
720
  ),
721
 
722
  array(
@@ -724,7 +724,7 @@ $this->sections[] = array(
724
  'type' => 'switch',
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
  ),
@@ -750,7 +750,7 @@ $this->sections[] = array(
750
  'Here is the submitted registration form:' . "\r\n\r\n" .
751
  '{submitted_registration}',
752
  'required' => array( 'notification_review_on', '=', 1 ),
753
- 'desc' => 'This is the content of the e-mail',
754
  ),
755
 
756
  array(
@@ -758,7 +758,7 @@ $this->sections[] = array(
758
  'type' => 'switch',
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
  ),
@@ -780,7 +780,7 @@ $this->sections[] = array(
780
  'subtitle' => __( 'Message Body','ultimatemember' ),
781
  'default' => '{display_name} has just deleted their {site_name} account.',
782
  'required' => array( 'notification_deletion_on', '=', 1 ),
783
- 'desc' => 'This is the content of the e-mail',
784
  ),
785
 
786
  )
@@ -861,9 +861,9 @@ $this->sections[] = array(
861
  array(
862
  'id' => 'profile_title',
863
  'type' => 'text',
864
- 'title' => __( 'User Profile Title','ultimatemember' ),
865
  'default' => '{display_name} | ' . get_bloginfo('name'),
866
- 'desc' => 'This is the title that is displayed on a specific user profile',
867
  ),
868
 
869
  array(
@@ -1016,7 +1016,7 @@ $this->sections[] = array(
1016
  'type' => 'text',
1017
  'title' => __( 'Field Border Style','ultimatemember' ),
1018
  'default' => um_get_metadefault('form_border'),
1019
- 'desc' => 'The default border-style for input/fields in UM forms',
1020
  ),
1021
 
1022
  array(
@@ -1107,7 +1107,7 @@ $this->sections[] = array(
1107
  'type' => 'text',
1108
  'title' => __( 'Profile Area Maximum Width','ultimatemember' ),
1109
  'default' => um_get_metadefault('profile_area_max_width'),
1110
- 'desc' => 'The maximum width of the profile area inside profile (below profile header)',
1111
  ),
1112
 
1113
  array(
@@ -1143,7 +1143,7 @@ $this->sections[] = array(
1143
  'type' => 'text',
1144
  'title' => __( 'Profile Primary Button Text','ultimatemember' ),
1145
  'default' => um_get_metadefault('profile_primary_btn_word'),
1146
- 'desc' => 'The text that is used for updating profile button',
1147
  ),
1148
 
1149
  array(
@@ -1151,7 +1151,7 @@ $this->sections[] = array(
1151
  'type' => 'switch',
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
  ),
@@ -1161,7 +1161,7 @@ $this->sections[] = array(
1161
  'type' => 'text',
1162
  'title' => __( 'Profile Secondary Button Text','ultimatemember' ),
1163
  'default' => um_get_metadefault('profile_secondary_btn_word'),
1164
- 'desc' => 'The text that is used for cancelling update profile button',
1165
  'required' => array( 'profile_secondary_btn', '=', 1 ),
1166
  ),
1167
 
@@ -1217,7 +1217,7 @@ $this->sections[] = array(
1217
  'type' => 'text',
1218
  'title' => __( 'Profile Photo Size','ultimatemember' ),
1219
  'default' => um_get_metadefault('profile_photosize'),
1220
- 'desc' => 'The global default of profile photo size. This can be overridden by individual form settings',
1221
  ),
1222
 
1223
  array(
@@ -1239,7 +1239,7 @@ $this->sections[] = array(
1239
  'type' => 'switch',
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
  ),
@@ -1319,7 +1319,7 @@ $this->sections[] = array(
1319
  'type' => 'switch',
1320
  'title' => __( 'Show display name in profile header','ultimatemember' ),
1321
  'default' => um_get_metadefault('profile_show_name'),
1322
- 'desc' => 'Switch on/off the user name on profile header',
1323
  'on' => __('On','ultimatemember'),
1324
  'off' => __('Off','ultimatemember'),
1325
  ),
@@ -1329,7 +1329,7 @@ $this->sections[] = array(
1329
  'type' => 'switch',
1330
  'title' => __( 'Show user description in header','ultimatemember' ),
1331
  'default' => um_get_metadefault('profile_show_bio'),
1332
- 'desc' => 'Switch on/off the user description on profile header',
1333
  'on' => __('On','ultimatemember'),
1334
  'off' => __('Off','ultimatemember'),
1335
  ),
@@ -1339,7 +1339,7 @@ $this->sections[] = array(
1339
  'type' => 'text',
1340
  'title' => __( 'User description maximum chars','ultimatemember' ),
1341
  'default' => um_get_metadefault('profile_bio_maxchars'),
1342
- 'desc' => 'Maximum number of characters to allow in user description field in header.',
1343
  'required' => array( 'profile_show_bio', '=', 1 ),
1344
  ),
1345
 
@@ -1361,7 +1361,7 @@ $this->sections[] = array(
1361
  'type' => 'switch',
1362
  'title' => __( 'Show a custom message if profile is empty','ultimatemember' ),
1363
  'default' => um_get_metadefault('profile_empty_text'),
1364
- 'desc' => 'Switch on/off the custom message that appears when the profile is empty',
1365
  'on' => __('On','ultimatemember'),
1366
  'off' => __('Off','ultimatemember'),
1367
  ),
@@ -1371,7 +1371,7 @@ $this->sections[] = array(
1371
  'type' => 'switch',
1372
  'title' => __( 'Show the emoticon','ultimatemember' ),
1373
  'default' => um_get_metadefault('profile_empty_text_emo'),
1374
- 'desc' => 'Switch on/off the emoticon (sad face) that appears above the message',
1375
  'on' => __('On','ultimatemember'),
1376
  'off' => __('Off','ultimatemember'),
1377
  'required' => array( 'profile_empty_text', '=', 1 ),
@@ -1463,7 +1463,7 @@ $this->sections[] = array(
1463
  'type' => 'text',
1464
  'title' => __( 'Registration Maximum Width','ultimatemember' ),
1465
  'default' => um_get_metadefault('register_max_width'),
1466
- 'desc' => 'The maximum width this shortcode can take from the page width',
1467
  ),
1468
 
1469
  array(
@@ -1499,7 +1499,7 @@ $this->sections[] = array(
1499
  'type' => 'text',
1500
  'title' => __( 'Registration Primary Button Text','ultimatemember' ),
1501
  'default' => um_get_metadefault('register_primary_btn_word'),
1502
- 'desc' => 'The text that is used for primary button text',
1503
  ),
1504
 
1505
  array(
@@ -1507,7 +1507,7 @@ $this->sections[] = array(
1507
  'type' => 'switch',
1508
  'title' => __( 'Registration Secondary Button','ultimatemember' ),
1509
  'default' => 1,
1510
- 'desc' => 'Switch on/off the secondary button display in the form',
1511
  'on' => __('On','ultimatemember'),
1512
  'off' => __('Off','ultimatemember'),
1513
  ),
@@ -1517,7 +1517,7 @@ $this->sections[] = array(
1517
  'type' => 'text',
1518
  'title' => __( 'Registration Secondary Button Text','ultimatemember' ),
1519
  'default' => um_get_metadefault('register_secondary_btn_word'),
1520
- 'desc' => 'The text that is used for the secondary button text',
1521
  'required' => array( 'register_secondary_btn', '=', 1 ),
1522
  ),
1523
 
@@ -1556,7 +1556,7 @@ $this->sections[] = array(
1556
  'type' => 'text',
1557
  'title' => __( 'Login Maximum Width','ultimatemember' ),
1558
  'default' => um_get_metadefault('login_max_width'),
1559
- 'desc' => 'The maximum width this shortcode can take from the page width',
1560
  ),
1561
 
1562
  array(
@@ -1592,7 +1592,7 @@ $this->sections[] = array(
1592
  'type' => 'text',
1593
  'title' => __( 'Login Primary Button Text','ultimatemember' ),
1594
  'default' => um_get_metadefault('login_primary_btn_word'),
1595
- 'desc' => 'The text that is used for primary button text',
1596
  ),
1597
 
1598
  array(
@@ -1600,7 +1600,7 @@ $this->sections[] = array(
1600
  'type' => 'switch',
1601
  'title' => __( 'Login Secondary Button','ultimatemember' ),
1602
  'default' => 1,
1603
- 'desc' => 'Switch on/off the secondary button display in the form',
1604
  'on' => __('On','ultimatemember'),
1605
  'off' => __('Off','ultimatemember'),
1606
  ),
@@ -1610,7 +1610,7 @@ $this->sections[] = array(
1610
  'type' => 'text',
1611
  'title' => __( 'Login Secondary Button Text','ultimatemember' ),
1612
  'default' => um_get_metadefault('login_secondary_btn_word'),
1613
- 'desc' => 'The text that is used for the secondary button text',
1614
  'required' => array( 'login_secondary_btn', '=', 1 ),
1615
  ),
1616
 
@@ -1619,7 +1619,7 @@ $this->sections[] = array(
1619
  'type' => 'switch',
1620
  'title' => __( 'Login Forgot Password Link','ultimatemember' ),
1621
  'default' => 1,
1622
- 'desc' => 'Switch on/off the forgot password link in login form',
1623
  'on' => __('On','ultimatemember'),
1624
  'off' => __('Off','ultimatemember'),
1625
  ),
17
  'id' => 'default_role',
18
  'type' => 'select',
19
  'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
20
+ 'title' => __( 'Default New User Role','ultimatemember' ),
21
+ 'desc' => __( 'Select the default role that will be assigned to user after registration If you did not specify custom role settings per form.','ultimatemember' ),
22
  'default' => 'member',
23
  'options' => $ultimatemember->query->get_roles( ),
24
+ 'placeholder' => __('Choose user role...','ultimatemember'),
25
  ),
26
 
27
  array(
28
  'id' => 'permalink_base',
29
  'type' => 'select',
30
  'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
31
+ 'title' => __( 'Profile Permalink Base','ultimatemember' ),
32
+ 'desc' => __( 'Here you can control the permalink structure of the user profile URL globally','ultimatemember' ),
33
  'default' => 'user_login',
34
  'desc' => 'e.g. ' . trailingslashit( um_get_core_page('user') ) .'<strong>username</strong>/',
35
  'options' => array(
37
  'name' => 'First and Last Name',
38
  'user_id' => 'User ID',
39
  ),
40
+ 'placeholder' => __('Select...','ultimatemember')
41
  ),
42
 
43
  array(
44
  'id' => 'display_name',
45
  'type' => 'select',
46
  'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
47
+ 'title' => __( 'User Display Name','ultimatemember' ),
48
+ 'desc' => __( 'This is the name that will be displayed for users on the front end of your site. Default setting uses first/last name as display name if it exists','ultimatemember' ),
49
  'default' => 'full_name',
50
  'options' => array(
51
  'username' => 'Username',
63
  array(
64
  'id' => 'display_name_field',
65
  'type' => 'text',
66
+ 'title' => __( 'Display Name Custom Field(s)','ultimatemember' ),
67
+ 'desc' => __('Specify the custom field meta key or custom fields seperated by comma that you want to use to display users name on the frontend of your site','ultimatemember'),
68
  'required' => array( 'display_name', '=', 'field' ),
69
  ),
70
 
71
  array(
72
  'id' => 'author_redirect',
73
  'type' => 'switch',
74
+ 'title' => __( 'Automatically redirect author page to their profile?','ultimatemember'),
75
  'default' => 1,
76
+ 'desc' => __('If enabled, author pages will automatically redirect to the user\'s profile page','ultimatemember'),
77
  'on' => __('Yes','ultimatemember'),
78
  'off' => __('No','ultimatemember'),
79
  ),
81
  array(
82
  'id' => 'members_page',
83
  'type' => 'switch',
84
+ 'title' => __( 'Enable Members Directory','ultimatemember' ),
85
  'default' => 1,
86
+ 'desc' => __('Control whether to enable or disable member directories on this site','ultimatemember'),
87
  'on' => __('Yes','ultimatemember'),
88
  'off' => __('No','ultimatemember'),
89
  ),
91
  array(
92
  'id' => 'use_gravatars',
93
  'type' => 'switch',
94
+ 'title' => __( 'Use Gravatars?','ultimatemember' ),
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'),
115
  array(
116
  'id' => 'account_tab_password',
117
  'type' => 'switch',
118
+ 'title' => __( 'Password Account Tab','ultimatemember' ),
119
  'default' => 1,
120
  'desc' => 'Enable/disable the Password account tab in account page',
121
  'on' => __('On','ultimatemember'),
125
  array(
126
  'id' => 'account_tab_privacy',
127
  'type' => 'switch',
128
+ 'title' => __( 'Privacy Account Tab','ultimatemember' ),
129
  'default' => 1,
130
+ 'desc' => __('Enable/disable the Privacy account tab in account page','ultimatemember'),
131
  'on' => __('On','ultimatemember'),
132
  'off' => __('Off','ultimatemember'),
133
  ),
135
  array(
136
  'id' => 'account_tab_notifications',
137
  'type' => 'switch',
138
+ 'title' => __( 'Notifications Account Tab','ultimatemember' ),
139
  'default' => 1,
140
+ 'desc' => __('Enable/disable the Notifications account tab in account page','ultimatemember'),
141
  'on' => __('On','ultimatemember'),
142
  'off' => __('Off','ultimatemember'),
143
  ),
145
  array(
146
  'id' => 'account_tab_delete',
147
  'type' => 'switch',
148
+ 'title' => __( 'Delete Account Tab','ultimatemember' ),
149
  'default' => 1,
150
+ 'desc' => __('Enable/disable the Delete account tab in account page','ultimatemember'),
151
  'on' => __('On','ultimatemember'),
152
  'off' => __('Off','ultimatemember'),
153
  ),
155
  array(
156
  'id' => 'delete_account_text',
157
  'type' => 'editor',
158
+ 'title' => __( 'Account Deletion Custom Text','ultimatemember' ),
159
+ 'default' => __('Are you sure you want to delete your account? This will erase all of your account data from the site. To delete your account enter your password below','ultimatemember'),
160
  'desc' => __('This is custom text that will be displayed to users before they delete their accounts from your site','ultimatemember'),
161
  'args' => array(
162
  'teeny' => false,
183
  'id' => 'panic_key',
184
  'type' => 'text',
185
  'title' => __( 'Panic Key','ultimatemember' ),
186
+ 'desc' => __('Panic Key is a random generated key that allow you to access the WordPress backend always regardless of backend settings.','ultimatemember'),
187
  'default' => $ultimatemember->validation->randomize(),
188
  'desc' => trailingslashit( get_bloginfo('url') ).'wp-admin/?um_panic_key=<strong>your_panic_key</strong>'
189
  ),
194
  'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
195
  'title' => __( 'Global Site Access','ultimatemember' ),
196
  'default' => 0,
197
+ 'desc' => __('Globally control the access of your site, you can have seperate restrict options per post/page by editing the desired item.','ultimatemember'),
198
  'options' => array(
199
  0 => 'Site accessible to Everyone',
200
  2 => 'Site accessible to Logged In Users'
205
  'id' => 'access_redirect',
206
  'type' => 'text',
207
  'title' => __( 'Custom Redirect URL','ultimatemember' ),
208
+ 'desc' => __('A logged out user will be redirected to this url If he is not permitted to access the site','ultimatemember'),
209
  'required' => array( 'accessible', '=', 2 ),
210
  ),
211
 
224
  'type' => 'switch',
225
  'title' => __( 'Exclude restricted pages from main loop','ultimatemember' ),
226
  'default' => 1,
227
+ 'desc' => __('Whether to exclude restricted pages from main loop','ultimatemember'),
228
  'on' => __('Yes','ultimatemember'),
229
  'off' => __('No','ultimatemember'),
230
  ),
234
  'type' => 'switch',
235
  'title' => __( 'Exclude restricted pages from search loop','ultimatemember' ),
236
  'default' => 1,
237
+ 'desc' => __('Whether to exclude restricted pages from search results','ultimatemember'),
238
  'on' => __('Yes','ultimatemember'),
239
  'off' => __('No','ultimatemember'),
240
  ),
244
  'type' => 'switch',
245
  'title' => __( 'Exclude restricted pages from archive loop','ultimatemember' ),
246
  'default' => 1,
247
+ 'desc' => __('Whether to exclude restricted pages from archives','ultimatemember'),
248
  'on' => __('Yes','ultimatemember'),
249
  'off' => __('No','ultimatemember'),
250
  ),
254
  'type' => 'switch',
255
  'title' => __( 'Allow Backend Login Screen for Guests','ultimatemember' ),
256
  'default' => 1,
257
+ 'desc' => __('Control whether guests are able to access the WP-admin login screen or not','ultimatemember'),
258
  'on' => __('Yes','ultimatemember'),
259
  'off' => __('No','ultimatemember'),
260
  ),
277
  'id' => 'wpadmin_login_redirect_url',
278
  'type' => 'text',
279
  'title' => __( 'Custom URL','ultimatemember' ),
280
+ 'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'),
281
  'required' => array( 'wpadmin_login_redirect', '=', 'custom_url' ),
282
  ),
283
 
286
  'type' => 'switch',
287
  'title' => __( 'Allow Backend Register Screen for Guests','ultimatemember' ),
288
  'default' => 1,
289
+ 'desc' => __('Control whether guests are able to access the WP-admin register screen or not','ultimatemember'),
290
  'on' => __('Yes','ultimatemember'),
291
  'off' => __('No','ultimatemember'),
292
  ),
309
  'id' => 'wpadmin_register_redirect_url',
310
  'type' => 'text',
311
  'title' => __( 'Custom URL','ultimatemember' ),
312
+ 'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'),
313
  'required' => array( 'wpadmin_register_redirect', '=', 'custom_url' ),
314
  ),
315
 
377
  'type' => 'switch',
378
  'title' => __( 'Account Welcome Email','ultimatemember' ),
379
  'default' => 1,
380
+ 'desc' => __('Whether to send the user an email when his account is automatically approved','ultimatemember'),
381
  ),
382
 
383
  array(
413
  'type' => 'switch',
414
  'title' => __( 'Account Activation Email','ultimatemember' ),
415
  'default' => 1,
416
+ 'desc' => __('Whether to send the user an email when his account needs e-mail activation','ultimatemember'),
417
  ),
418
 
419
  array(
445
  'type' => 'switch',
446
  'title' => __( 'Pending Review Email','ultimatemember' ),
447
  'default' => 1,
448
+ 'desc' => __('Whether to send the user an email when his account needs admin review','ultimatemember'),
449
  ),
450
 
451
  array(
477
  'type' => 'switch',
478
  'title' => __( 'Account Approved Email','ultimatemember' ),
479
  'default' => 1,
480
+ 'desc' => __('Whether to send the user an email when his account is approved','ultimatemember'),
481
  ),
482
 
483
  array(
513
  'type' => 'switch',
514
  'title' => __( 'Account Rejected Email','ultimatemember' ),
515
  'default' => 1,
516
+ 'desc' => __('Whether to send the user an email when his account is rejected','ultimatemember'),
517
  ),
518
 
519
  array(
544
  'type' => 'switch',
545
  'title' => __( 'Account Deactivated Email','ultimatemember' ),
546
  'default' => 1,
547
+ 'desc' => __('Whether to send the user an email when his account is deactivated','ultimatemember'),
548
  ),
549
 
550
  array(
575
  'type' => 'switch',
576
  'title' => __( 'Account Deleted Email','ultimatemember' ),
577
  'default' => 1,
578
+ 'desc' => __('Whether to send the user an email when his account is deleted','ultimatemember'),
579
  ),
580
 
581
  array(
606
  'type' => 'switch',
607
  'title' => __( 'Password Reset Email','ultimatemember' ),
608
  'default' => 1,
609
+ 'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'),
610
  ),
611
 
612
  array(
638
  'type' => 'switch',
639
  'title' => __( 'Password Changed Email','ultimatemember' ),
640
  'default' => 1,
641
+ 'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'),
642
  ),
643
 
644
  array(
691
  'type' => 'switch',
692
  'title' => __( 'New User Notification','ultimatemember' ),
693
  'default' => 1,
694
+ 'desc' => __('Whether to receive notification when a new user account is approved','ultimatemember'),
695
  'on' => __('On','ultimatemember'),
696
  'off' => __('Off','ultimatemember'),
697
  ),
716
  'Here is the submitted registration form:' . "\r\n\r\n" .
717
  '{submitted_registration}',
718
  'required' => array( 'notification_new_user_on', '=', 1 ),
719
+ 'desc' => __('This is the content of the e-mail','ultimatemember'),
720
  ),
721
 
722
  array(
724
  'type' => 'switch',
725
  'title' => __( 'Account Needs Review Notification','ultimatemember' ),
726
  'default' => 0,
727
+ 'desc' => __('Whether to receive notification when an account needs admin review','ultimatemember'),
728
  'on' => __('On','ultimatemember'),
729
  'off' => __('Off','ultimatemember'),
730
  ),
750
  'Here is the submitted registration form:' . "\r\n\r\n" .
751
  '{submitted_registration}',
752
  'required' => array( 'notification_review_on', '=', 1 ),
753
+ 'desc' => __('This is the content of the e-mail','ultimatemember'),
754
  ),
755
 
756
  array(
758
  'type' => 'switch',
759
  'title' => __( 'Account Deletion Notification','ultimatemember' ),
760
  'default' => 0,
761
+ 'desc' => __('Whether to receive notification when an account is deleted','ultimatemember'),
762
  'on' => __('On','ultimatemember'),
763
  'off' => __('Off','ultimatemember'),
764
  ),
780
  'subtitle' => __( 'Message Body','ultimatemember' ),
781
  'default' => '{display_name} has just deleted their {site_name} account.',
782
  'required' => array( 'notification_deletion_on', '=', 1 ),
783
+ 'desc' => __('This is the content of the e-mail','ultimatemember'),
784
  ),
785
 
786
  )
861
  array(
862
  'id' => 'profile_title',
863
  'type' => 'text',
864
+ 'title' => __('User Profile Title','ultimatemember'),
865
  'default' => '{display_name} | ' . get_bloginfo('name'),
866
+ 'desc' => __('This is the title that is displayed on a specific user profile','ultimatemember'),
867
  ),
868
 
869
  array(
1016
  'type' => 'text',
1017
  'title' => __( 'Field Border Style','ultimatemember' ),
1018
  'default' => um_get_metadefault('form_border'),
1019
+ 'desc' => __('The default border-style for input/fields in UM forms','ultimatemember'),
1020
  ),
1021
 
1022
  array(
1107
  'type' => 'text',
1108
  'title' => __( 'Profile Area Maximum Width','ultimatemember' ),
1109
  'default' => um_get_metadefault('profile_area_max_width'),
1110
+ 'desc' => __('The maximum width of the profile area inside profile (below profile header)','ultimatemember'),
1111
  ),
1112
 
1113
  array(
1143
  'type' => 'text',
1144
  'title' => __( 'Profile Primary Button Text','ultimatemember' ),
1145
  'default' => um_get_metadefault('profile_primary_btn_word'),
1146
+ 'desc' => __('The text that is used for updating profile button','ultimatemember'),
1147
  ),
1148
 
1149
  array(
1151
  'type' => 'switch',
1152
  'title' => __( 'Profile Secondary Button','ultimatemember' ),
1153
  'default' => 1,
1154
+ 'desc' => __('Switch on/off the secondary button display in the form','ultimatemember'),
1155
  'on' => __('On','ultimatemember'),
1156
  'off' => __('Off','ultimatemember'),
1157
  ),
1161
  'type' => 'text',
1162
  'title' => __( 'Profile Secondary Button Text','ultimatemember' ),
1163
  'default' => um_get_metadefault('profile_secondary_btn_word'),
1164
+ 'desc' => __('The text that is used for cancelling update profile button','ultimatemember'),
1165
  'required' => array( 'profile_secondary_btn', '=', 1 ),
1166
  ),
1167
 
1217
  'type' => 'text',
1218
  'title' => __( 'Profile Photo Size','ultimatemember' ),
1219
  'default' => um_get_metadefault('profile_photosize'),
1220
+ 'desc' => __('The global default of profile photo size. This can be overridden by individual form settings','ultimatemember'),
1221
  ),
1222
 
1223
  array(
1239
  'type' => 'switch',
1240
  'title' => __( 'Profile Cover Photos','ultimatemember' ),
1241
  'default' => 1,
1242
+ 'desc' => __('Switch on/off the profile cover photos','ultimatemember'),
1243
  'on' => __('On','ultimatemember'),
1244
  'off' => __('Off','ultimatemember'),
1245
  ),
1319
  'type' => 'switch',
1320
  'title' => __( 'Show display name in profile header','ultimatemember' ),
1321
  'default' => um_get_metadefault('profile_show_name'),
1322
+ 'desc' => __('Switch on/off the user name on profile header','ultimatemember'),
1323
  'on' => __('On','ultimatemember'),
1324
  'off' => __('Off','ultimatemember'),
1325
  ),
1329
  'type' => 'switch',
1330
  'title' => __( 'Show user description in header','ultimatemember' ),
1331
  'default' => um_get_metadefault('profile_show_bio'),
1332
+ 'desc' => __('Switch on/off the user description on profile header','ultimatemember'),
1333
  'on' => __('On','ultimatemember'),
1334
  'off' => __('Off','ultimatemember'),
1335
  ),
1339
  'type' => 'text',
1340
  'title' => __( 'User description maximum chars','ultimatemember' ),
1341
  'default' => um_get_metadefault('profile_bio_maxchars'),
1342
+ 'desc' => __('Maximum number of characters to allow in user description field in header.','ultimatemember'),
1343
  'required' => array( 'profile_show_bio', '=', 1 ),
1344
  ),
1345
 
1361
  'type' => 'switch',
1362
  'title' => __( 'Show a custom message if profile is empty','ultimatemember' ),
1363
  'default' => um_get_metadefault('profile_empty_text'),
1364
+ 'desc' => __('Switch on/off the custom message that appears when the profile is empty','ultimatemember'),
1365
  'on' => __('On','ultimatemember'),
1366
  'off' => __('Off','ultimatemember'),
1367
  ),
1371
  'type' => 'switch',
1372
  'title' => __( 'Show the emoticon','ultimatemember' ),
1373
  'default' => um_get_metadefault('profile_empty_text_emo'),
1374
+ 'desc' => __('Switch on/off the emoticon (sad face) that appears above the message','ultimatemember'),
1375
  'on' => __('On','ultimatemember'),
1376
  'off' => __('Off','ultimatemember'),
1377
  'required' => array( 'profile_empty_text', '=', 1 ),
1463
  'type' => 'text',
1464
  'title' => __( 'Registration Maximum Width','ultimatemember' ),
1465
  'default' => um_get_metadefault('register_max_width'),
1466
+ 'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'),
1467
  ),
1468
 
1469
  array(
1499
  'type' => 'text',
1500
  'title' => __( 'Registration Primary Button Text','ultimatemember' ),
1501
  'default' => um_get_metadefault('register_primary_btn_word'),
1502
+ 'desc' => __('The text that is used for primary button text','ultimatemember'),
1503
  ),
1504
 
1505
  array(
1507
  'type' => 'switch',
1508
  'title' => __( 'Registration Secondary Button','ultimatemember' ),
1509
  'default' => 1,
1510
+ 'desc' => __('Switch on/off the secondary button display in the form','ultimatemember'),
1511
  'on' => __('On','ultimatemember'),
1512
  'off' => __('Off','ultimatemember'),
1513
  ),
1517
  'type' => 'text',
1518
  'title' => __( 'Registration Secondary Button Text','ultimatemember' ),
1519
  'default' => um_get_metadefault('register_secondary_btn_word'),
1520
+ 'desc' => __('The text that is used for the secondary button text','ultimatemember'),
1521
  'required' => array( 'register_secondary_btn', '=', 1 ),
1522
  ),
1523
 
1556
  'type' => 'text',
1557
  'title' => __( 'Login Maximum Width','ultimatemember' ),
1558
  'default' => um_get_metadefault('login_max_width'),
1559
+ 'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'),
1560
  ),
1561
 
1562
  array(
1592
  'type' => 'text',
1593
  'title' => __( 'Login Primary Button Text','ultimatemember' ),
1594
  'default' => um_get_metadefault('login_primary_btn_word'),
1595
+ 'desc' => __('The text that is used for primary button text','ultimatemember'),
1596
  ),
1597
 
1598
  array(
1600
  'type' => 'switch',
1601
  'title' => __( 'Login Secondary Button','ultimatemember' ),
1602
  'default' => 1,
1603
+ 'desc' => __('Switch on/off the secondary button display in the form','ultimatemember'),
1604
  'on' => __('On','ultimatemember'),
1605
  'off' => __('Off','ultimatemember'),
1606
  ),
1610
  'type' => 'text',
1611
  'title' => __( 'Login Secondary Button Text','ultimatemember' ),
1612
  'default' => um_get_metadefault('login_secondary_btn_word'),
1613
+ 'desc' => __('The text that is used for the secondary button text','ultimatemember'),
1614
  'required' => array( 'login_secondary_btn', '=', 1 ),
1615
  ),
1616
 
1619
  'type' => 'switch',
1620
  'title' => __( 'Login Forgot Password Link','ultimatemember' ),
1621
  'default' => 1,
1622
+ 'desc' => __('Switch on/off the forgot password link in login form','ultimatemember'),
1623
  'on' => __('On','ultimatemember'),
1624
  'off' => __('Off','ultimatemember'),
1625
  ),
um-init.php CHANGED
@@ -17,6 +17,7 @@ class UM_API {
17
  $this->available_languages = array(
18
  'en_US' => 'English (US)',
19
  'fr_FR' => 'Français',
 
20
  'tr_TR' => 'Türkçe',
21
  'it_IT' => 'Italiano'
22
  );
17
  $this->available_languages = array(
18
  'en_US' => 'English (US)',
19
  'fr_FR' => 'Français',
20
+ 'de_DE' => 'Deutsch',
21
  'tr_TR' => 'Türkçe',
22
  'it_IT' => 'Italiano'
23
  );