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
);