diff --git a/admin/templates/dashboard/overview.php b/admin/templates/dashboard/overview.php index 7d057e44..12d0e415 100644 --- a/admin/templates/dashboard/overview.php +++ b/admin/templates/dashboard/overview.php @@ -2,7 +2,7 @@
-

Recent Members

+

query->get_users_by_status('approved') as $user_id ) { um_fetch_user( $user_id ); ?> @@ -43,7 +43,7 @@
query->get_users_by_status('awaiting_admin_review'); ?> -

Users Awaiting Review0

+

0

@@ -92,7 +92,7 @@
query->get_users_by_status('awaiting_email_confirmation'); ?> -

Pending e-mail confirmation0

+

0

@@ -125,7 +125,7 @@
query->get_users_by_status('inactive'); ?> -

Recently Deactivated0

+

0

diff --git a/core/um-access.php b/core/um-access.php index 9656e282..10a1874a 100644 --- a/core/um-access.php +++ b/core/um-access.php @@ -33,10 +33,12 @@ class UM_Access { function get_meta( $post_id ) { global $post; $meta = get_post_custom( $post_id ); - foreach ($meta as $k => $v){ - if ( strstr($k, '_um_') ) { - $k = str_replace('_um_', '', $k); - $array[$k] = $v[0]; + if ( isset( $meta ) && is_array( $meta ) ) { + foreach ($meta as $k => $v){ + if ( strstr($k, '_um_') ) { + $k = str_replace('_um_', '', $k); + $array[$k] = $v[0]; + } } } if ( isset( $array ) ) diff --git a/core/um-short-functions.php b/core/um-short-functions.php index ff4bb8aa..012870b3 100644 --- a/core/um-short-functions.php +++ b/core/um-short-functions.php @@ -119,6 +119,7 @@ } $value = str_replace('https://https://','https://',$value); $value = str_replace('http://https://','https://',$value); + $value = str_replace('https://http://','https://',$value); return $value; } diff --git a/core/um-user.php b/core/um-user.php index 7eff9336..3258af5d 100644 --- a/core/um-user.php +++ b/core/um-user.php @@ -21,10 +21,11 @@ class UM_User { $this->preview = false; - // a list of keys that should be done on wp_update_user + // a list of keys that should never be in wp_usermeta $this->update_user_keys = array( 'user_email', 'user_pass', + 'user_password', ); $this->target_id = null; diff --git a/index.php b/index.php index 4c69933f..a6d2844a 100644 --- a/index.php +++ b/index.php @@ -3,7 +3,7 @@ Plugin Name: Ultimate Member Plugin URI: http://ultimatemember.com/ Description: Ultimate Member is a powerful community and membership plugin that allows you to create beautiful community and membership sites with WordPress -Version: 1.0.42 +Version: 1.0.43 Author: Ultimate Member Author URI: http://ultimatemember.com/ */ diff --git a/readme.txt b/readme.txt index 1dc5cab7..09aa7f37 100644 --- a/readme.txt +++ b/readme.txt @@ -7,7 +7,7 @@ Tags: access control, author, authors, author profile, comments, community, comm Requires at least: 4.1 Tested up to: 4.1 -Stable Tag: 1.0.42 +Stable Tag: 1.0.43 License: GNU Version 2 or Any Later Version @@ -124,6 +124,7 @@ Ultimate Member has been translated into the following languages: * English (US) * French +* German * Italian * Turkish @@ -184,6 +185,14 @@ The plugin works with popular caching plugins by automatically excluding Ultimat == Changelog == += 1.0.43: February 7, 2015 = + +* New: added German (Deutsch) language support +* Tweak: updated all translation packs +* Fixed: profile social links in member directory +* Fixed: prevent storing user_pass in usermeta table +* Fixed: php error triggered from um-access.php file + = 1.0.42: February 6, 2015 = * New: added option to block specific e-mail domains from registering diff --git a/um-config.php b/um-config.php index f0e68ad9..4969ed1b 100644 --- a/um-config.php +++ b/um-config.php @@ -17,19 +17,19 @@ $this->sections[] = array( 'id' => 'default_role', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Default New User Role' ), - 'desc' => __( 'Select the default role that will be assigned to user after registration If you did not specify custom role settings per form.' ), + 'title' => __( 'Default New User Role','ultimatemember' ), + 'desc' => __( 'Select the default role that will be assigned to user after registration If you did not specify custom role settings per form.','ultimatemember' ), 'default' => 'member', 'options' => $ultimatemember->query->get_roles( ), - 'placeholder' => __('Choose user role...'), + 'placeholder' => __('Choose user role...','ultimatemember'), ), array( 'id' => 'permalink_base', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'Profile Permalink Base' ), - 'desc' => __( 'Here you can control the permalink structure of the user profile URL globally' ), + 'title' => __( 'Profile Permalink Base','ultimatemember' ), + 'desc' => __( 'Here you can control the permalink structure of the user profile URL globally','ultimatemember' ), 'default' => 'user_login', 'desc' => 'e.g. ' . trailingslashit( um_get_core_page('user') ) .'username/', 'options' => array( @@ -37,15 +37,15 @@ $this->sections[] = array( 'name' => 'First and Last Name', 'user_id' => 'User ID', ), - 'placeholder' => __('Select...') + 'placeholder' => __('Select...','ultimatemember') ), array( 'id' => 'display_name', 'type' => 'select', 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), - 'title' => __( 'User Display Name' ), - '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' ), + 'title' => __( 'User Display Name','ultimatemember' ), + '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' ), 'default' => 'full_name', 'options' => array( 'username' => 'Username', @@ -63,17 +63,17 @@ $this->sections[] = array( array( 'id' => 'display_name_field', 'type' => 'text', - 'title' => __( 'Display Name Custom Field(s)' ), - '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', + 'title' => __( 'Display Name Custom Field(s)','ultimatemember' ), + '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'), 'required' => array( 'display_name', '=', 'field' ), ), array( 'id' => 'author_redirect', 'type' => 'switch', - 'title' => __( 'Automatically redirect author page to their profile?' ), + 'title' => __( 'Automatically redirect author page to their profile?','ultimatemember'), 'default' => 1, - 'desc' => __('If enabled, author pages will automatically redirect to the user\'s profile page'), + 'desc' => __('If enabled, author pages will automatically redirect to the user\'s profile page','ultimatemember'), 'on' => __('Yes','ultimatemember'), 'off' => __('No','ultimatemember'), ), @@ -81,9 +81,9 @@ $this->sections[] = array( array( 'id' => 'members_page', 'type' => 'switch', - 'title' => __( 'Enable Members Directory' ), + 'title' => __( 'Enable Members Directory','ultimatemember' ), 'default' => 1, - 'desc' => 'Control whether to enable or disable member directories on this site', + 'desc' => __('Control whether to enable or disable member directories on this site','ultimatemember'), 'on' => __('Yes','ultimatemember'), 'off' => __('No','ultimatemember'), ), @@ -91,7 +91,7 @@ $this->sections[] = array( array( 'id' => 'use_gravatars', 'type' => 'switch', - 'title' => __( 'Use Gravatars?' ), + 'title' => __( 'Use Gravatars?','ultimatemember' ), 'default' => 0, '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'), 'on' => __('Yes','ultimatemember'), @@ -115,7 +115,7 @@ $this->sections[] = array( array( 'id' => 'account_tab_password', 'type' => 'switch', - 'title' => __( 'Password Account Tab' ), + 'title' => __( 'Password Account Tab','ultimatemember' ), 'default' => 1, 'desc' => 'Enable/disable the Password account tab in account page', 'on' => __('On','ultimatemember'), @@ -125,9 +125,9 @@ $this->sections[] = array( array( 'id' => 'account_tab_privacy', 'type' => 'switch', - 'title' => __( 'Privacy Account Tab' ), + 'title' => __( 'Privacy Account Tab','ultimatemember' ), 'default' => 1, - 'desc' => 'Enable/disable the Privacy account tab in account page', + 'desc' => __('Enable/disable the Privacy account tab in account page','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -135,9 +135,9 @@ $this->sections[] = array( array( 'id' => 'account_tab_notifications', 'type' => 'switch', - 'title' => __( 'Notifications Account Tab' ), + 'title' => __( 'Notifications Account Tab','ultimatemember' ), 'default' => 1, - 'desc' => 'Enable/disable the Notifications account tab in account page', + 'desc' => __('Enable/disable the Notifications account tab in account page','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -145,9 +145,9 @@ $this->sections[] = array( array( 'id' => 'account_tab_delete', 'type' => 'switch', - 'title' => __( 'Delete Account Tab' ), + 'title' => __( 'Delete Account Tab','ultimatemember' ), 'default' => 1, - 'desc' => 'Enable/disable the Delete account tab in account page', + 'desc' => __('Enable/disable the Delete account tab in account page','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -155,8 +155,8 @@ $this->sections[] = array( array( 'id' => 'delete_account_text', 'type' => 'editor', - 'title' => __( 'Account Deletion Custom Text' ), - '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', + 'title' => __( 'Account Deletion Custom Text','ultimatemember' ), + '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'), 'desc' => __('This is custom text that will be displayed to users before they delete their accounts from your site','ultimatemember'), 'args' => array( 'teeny' => false, @@ -183,7 +183,7 @@ $this->sections[] = array( 'id' => 'panic_key', 'type' => 'text', 'title' => __( 'Panic Key','ultimatemember' ), - 'desc' => 'Panic Key is a random generated key that allow you to access the WordPress backend always regardless of backend settings.', + 'desc' => __('Panic Key is a random generated key that allow you to access the WordPress backend always regardless of backend settings.','ultimatemember'), 'default' => $ultimatemember->validation->randomize(), 'desc' => trailingslashit( get_bloginfo('url') ).'wp-admin/?um_panic_key=your_panic_key' ), @@ -194,7 +194,7 @@ $this->sections[] = array( 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ), 'title' => __( 'Global Site Access','ultimatemember' ), 'default' => 0, - 'desc' => 'Globally control the access of your site, you can have seperate restrict options per post/page by editing the desired item.', + 'desc' => __('Globally control the access of your site, you can have seperate restrict options per post/page by editing the desired item.','ultimatemember'), 'options' => array( 0 => 'Site accessible to Everyone', 2 => 'Site accessible to Logged In Users' @@ -205,7 +205,7 @@ $this->sections[] = array( 'id' => 'access_redirect', 'type' => 'text', 'title' => __( 'Custom Redirect URL','ultimatemember' ), - 'desc' => 'A logged out user will be redirected to this url If he is not permitted to access the site', + 'desc' => __('A logged out user will be redirected to this url If he is not permitted to access the site','ultimatemember'), 'required' => array( 'accessible', '=', 2 ), ), @@ -224,7 +224,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Exclude restricted pages from main loop','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to exclude restricted pages from main loop', + 'desc' => __('Whether to exclude restricted pages from main loop','ultimatemember'), 'on' => __('Yes','ultimatemember'), 'off' => __('No','ultimatemember'), ), @@ -234,7 +234,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Exclude restricted pages from search loop','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to exclude restricted pages from search results', + 'desc' => __('Whether to exclude restricted pages from search results','ultimatemember'), 'on' => __('Yes','ultimatemember'), 'off' => __('No','ultimatemember'), ), @@ -244,7 +244,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Exclude restricted pages from archive loop','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to exclude restricted pages from archives', + 'desc' => __('Whether to exclude restricted pages from archives','ultimatemember'), 'on' => __('Yes','ultimatemember'), 'off' => __('No','ultimatemember'), ), @@ -254,7 +254,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Allow Backend Login Screen for Guests','ultimatemember' ), 'default' => 1, - 'desc' => 'Control whether guests are able to access the WP-admin login screen or not', + 'desc' => __('Control whether guests are able to access the WP-admin login screen or not','ultimatemember'), 'on' => __('Yes','ultimatemember'), 'off' => __('No','ultimatemember'), ), @@ -277,7 +277,7 @@ $this->sections[] = array( 'id' => 'wpadmin_login_redirect_url', 'type' => 'text', 'title' => __( 'Custom URL','ultimatemember' ), - 'desc' => 'Enter an alternate url here to redirect a user If they try to access the backend register screen', + 'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'), 'required' => array( 'wpadmin_login_redirect', '=', 'custom_url' ), ), @@ -286,7 +286,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Allow Backend Register Screen for Guests','ultimatemember' ), 'default' => 1, - 'desc' => 'Control whether guests are able to access the WP-admin register screen or not', + 'desc' => __('Control whether guests are able to access the WP-admin register screen or not','ultimatemember'), 'on' => __('Yes','ultimatemember'), 'off' => __('No','ultimatemember'), ), @@ -309,7 +309,7 @@ $this->sections[] = array( 'id' => 'wpadmin_register_redirect_url', 'type' => 'text', 'title' => __( 'Custom URL','ultimatemember' ), - 'desc' => 'Enter an alternate url here to redirect a user If they try to access the backend register screen', + 'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'), 'required' => array( 'wpadmin_register_redirect', '=', 'custom_url' ), ), @@ -377,7 +377,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Account Welcome Email','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to send the user an email when his account is automatically approved', + 'desc' => __('Whether to send the user an email when his account is automatically approved','ultimatemember'), ), array( @@ -413,7 +413,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Account Activation Email','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to send the user an email when his account needs e-mail activation', + 'desc' => __('Whether to send the user an email when his account needs e-mail activation','ultimatemember'), ), array( @@ -445,7 +445,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Pending Review Email','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to send the user an email when his account needs admin review', + 'desc' => __('Whether to send the user an email when his account needs admin review','ultimatemember'), ), array( @@ -477,7 +477,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Account Approved Email','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to send the user an email when his account is approved', + 'desc' => __('Whether to send the user an email when his account is approved','ultimatemember'), ), array( @@ -513,7 +513,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Account Rejected Email','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to send the user an email when his account is rejected', + 'desc' => __('Whether to send the user an email when his account is rejected','ultimatemember'), ), array( @@ -544,7 +544,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Account Deactivated Email','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to send the user an email when his account is deactivated', + 'desc' => __('Whether to send the user an email when his account is deactivated','ultimatemember'), ), array( @@ -575,7 +575,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Account Deleted Email','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to send the user an email when his account is deleted', + 'desc' => __('Whether to send the user an email when his account is deleted','ultimatemember'), ), array( @@ -606,7 +606,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Password Reset Email','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to send the user an email when he request to reset password (Recommended, please keep on)', + 'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'), ), array( @@ -638,7 +638,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Password Changed Email','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to send the user an email when he request to reset password (Recommended, please keep on)', + 'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'), ), array( @@ -691,7 +691,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'New User Notification','ultimatemember' ), 'default' => 1, - 'desc' => 'Whether to receive notification when a new user account is approved', + 'desc' => __('Whether to receive notification when a new user account is approved','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -716,7 +716,7 @@ $this->sections[] = array( 'Here is the submitted registration form:' . "\r\n\r\n" . '{submitted_registration}', 'required' => array( 'notification_new_user_on', '=', 1 ), - 'desc' => 'This is the content of the e-mail', + 'desc' => __('This is the content of the e-mail','ultimatemember'), ), array( @@ -724,7 +724,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Account Needs Review Notification','ultimatemember' ), 'default' => 0, - 'desc' => 'Whether to receive notification when an account needs admin review', + 'desc' => __('Whether to receive notification when an account needs admin review','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -750,7 +750,7 @@ $this->sections[] = array( 'Here is the submitted registration form:' . "\r\n\r\n" . '{submitted_registration}', 'required' => array( 'notification_review_on', '=', 1 ), - 'desc' => 'This is the content of the e-mail', + 'desc' => __('This is the content of the e-mail','ultimatemember'), ), array( @@ -758,7 +758,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Account Deletion Notification','ultimatemember' ), 'default' => 0, - 'desc' => 'Whether to receive notification when an account is deleted', + 'desc' => __('Whether to receive notification when an account is deleted','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -780,7 +780,7 @@ $this->sections[] = array( 'subtitle' => __( 'Message Body','ultimatemember' ), 'default' => '{display_name} has just deleted their {site_name} account.', 'required' => array( 'notification_deletion_on', '=', 1 ), - 'desc' => 'This is the content of the e-mail', + 'desc' => __('This is the content of the e-mail','ultimatemember'), ), ) @@ -861,9 +861,9 @@ $this->sections[] = array( array( 'id' => 'profile_title', 'type' => 'text', - 'title' => __( 'User Profile Title','ultimatemember' ), + 'title' => __('User Profile Title','ultimatemember'), 'default' => '{display_name} | ' . get_bloginfo('name'), - 'desc' => 'This is the title that is displayed on a specific user profile', + 'desc' => __('This is the title that is displayed on a specific user profile','ultimatemember'), ), array( @@ -1016,7 +1016,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'Field Border Style','ultimatemember' ), 'default' => um_get_metadefault('form_border'), - 'desc' => 'The default border-style for input/fields in UM forms', + 'desc' => __('The default border-style for input/fields in UM forms','ultimatemember'), ), array( @@ -1107,7 +1107,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'Profile Area Maximum Width','ultimatemember' ), 'default' => um_get_metadefault('profile_area_max_width'), - 'desc' => 'The maximum width of the profile area inside profile (below profile header)', + 'desc' => __('The maximum width of the profile area inside profile (below profile header)','ultimatemember'), ), array( @@ -1143,7 +1143,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'Profile Primary Button Text','ultimatemember' ), 'default' => um_get_metadefault('profile_primary_btn_word'), - 'desc' => 'The text that is used for updating profile button', + 'desc' => __('The text that is used for updating profile button','ultimatemember'), ), array( @@ -1151,7 +1151,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Profile Secondary Button','ultimatemember' ), 'default' => 1, - 'desc' => 'Switch on/off the secondary button display in the form', + 'desc' => __('Switch on/off the secondary button display in the form','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -1161,7 +1161,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'Profile Secondary Button Text','ultimatemember' ), 'default' => um_get_metadefault('profile_secondary_btn_word'), - 'desc' => 'The text that is used for cancelling update profile button', + 'desc' => __('The text that is used for cancelling update profile button','ultimatemember'), 'required' => array( 'profile_secondary_btn', '=', 1 ), ), @@ -1217,7 +1217,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'Profile Photo Size','ultimatemember' ), 'default' => um_get_metadefault('profile_photosize'), - 'desc' => 'The global default of profile photo size. This can be overridden by individual form settings', + 'desc' => __('The global default of profile photo size. This can be overridden by individual form settings','ultimatemember'), ), array( @@ -1239,7 +1239,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Profile Cover Photos','ultimatemember' ), 'default' => 1, - 'desc' => 'Switch on/off the profile cover photos', + 'desc' => __('Switch on/off the profile cover photos','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -1319,7 +1319,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Show display name in profile header','ultimatemember' ), 'default' => um_get_metadefault('profile_show_name'), - 'desc' => 'Switch on/off the user name on profile header', + 'desc' => __('Switch on/off the user name on profile header','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -1329,7 +1329,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Show user description in header','ultimatemember' ), 'default' => um_get_metadefault('profile_show_bio'), - 'desc' => 'Switch on/off the user description on profile header', + 'desc' => __('Switch on/off the user description on profile header','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -1339,7 +1339,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'User description maximum chars','ultimatemember' ), 'default' => um_get_metadefault('profile_bio_maxchars'), - 'desc' => 'Maximum number of characters to allow in user description field in header.', + 'desc' => __('Maximum number of characters to allow in user description field in header.','ultimatemember'), 'required' => array( 'profile_show_bio', '=', 1 ), ), @@ -1361,7 +1361,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Show a custom message if profile is empty','ultimatemember' ), 'default' => um_get_metadefault('profile_empty_text'), - 'desc' => 'Switch on/off the custom message that appears when the profile is empty', + 'desc' => __('Switch on/off the custom message that appears when the profile is empty','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -1371,7 +1371,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Show the emoticon','ultimatemember' ), 'default' => um_get_metadefault('profile_empty_text_emo'), - 'desc' => 'Switch on/off the emoticon (sad face) that appears above the message', + 'desc' => __('Switch on/off the emoticon (sad face) that appears above the message','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), 'required' => array( 'profile_empty_text', '=', 1 ), @@ -1463,7 +1463,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'Registration Maximum Width','ultimatemember' ), 'default' => um_get_metadefault('register_max_width'), - 'desc' => 'The maximum width this shortcode can take from the page width', + 'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'), ), array( @@ -1499,7 +1499,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'Registration Primary Button Text','ultimatemember' ), 'default' => um_get_metadefault('register_primary_btn_word'), - 'desc' => 'The text that is used for primary button text', + 'desc' => __('The text that is used for primary button text','ultimatemember'), ), array( @@ -1507,7 +1507,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Registration Secondary Button','ultimatemember' ), 'default' => 1, - 'desc' => 'Switch on/off the secondary button display in the form', + 'desc' => __('Switch on/off the secondary button display in the form','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -1517,7 +1517,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'Registration Secondary Button Text','ultimatemember' ), 'default' => um_get_metadefault('register_secondary_btn_word'), - 'desc' => 'The text that is used for the secondary button text', + 'desc' => __('The text that is used for the secondary button text','ultimatemember'), 'required' => array( 'register_secondary_btn', '=', 1 ), ), @@ -1556,7 +1556,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'Login Maximum Width','ultimatemember' ), 'default' => um_get_metadefault('login_max_width'), - 'desc' => 'The maximum width this shortcode can take from the page width', + 'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'), ), array( @@ -1592,7 +1592,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'Login Primary Button Text','ultimatemember' ), 'default' => um_get_metadefault('login_primary_btn_word'), - 'desc' => 'The text that is used for primary button text', + 'desc' => __('The text that is used for primary button text','ultimatemember'), ), array( @@ -1600,7 +1600,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Login Secondary Button','ultimatemember' ), 'default' => 1, - 'desc' => 'Switch on/off the secondary button display in the form', + 'desc' => __('Switch on/off the secondary button display in the form','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), @@ -1610,7 +1610,7 @@ $this->sections[] = array( 'type' => 'text', 'title' => __( 'Login Secondary Button Text','ultimatemember' ), 'default' => um_get_metadefault('login_secondary_btn_word'), - 'desc' => 'The text that is used for the secondary button text', + 'desc' => __('The text that is used for the secondary button text','ultimatemember'), 'required' => array( 'login_secondary_btn', '=', 1 ), ), @@ -1619,7 +1619,7 @@ $this->sections[] = array( 'type' => 'switch', 'title' => __( 'Login Forgot Password Link','ultimatemember' ), 'default' => 1, - 'desc' => 'Switch on/off the forgot password link in login form', + 'desc' => __('Switch on/off the forgot password link in login form','ultimatemember'), 'on' => __('On','ultimatemember'), 'off' => __('Off','ultimatemember'), ), diff --git a/um-init.php b/um-init.php index 279ccc7a..4a11b694 100644 --- a/um-init.php +++ b/um-init.php @@ -17,6 +17,7 @@ class UM_API { $this->available_languages = array( 'en_US' => 'English (US)', 'fr_FR' => 'Français', + 'de_DE' => 'Deutsch', 'tr_TR' => 'Türkçe', 'it_IT' => 'Italiano' );