diff --git a/admin/assets/css/um-admin-dashboard.css b/admin/assets/css/um-admin-dashboard.css
index 87ca19b7..21600ec4 100644
--- a/admin/assets/css/um-admin-dashboard.css
+++ b/admin/assets/css/um-admin-dashboard.css
@@ -89,6 +89,7 @@
float: left;
width: 202px;
min-height: 300px;
+ display: none !important;
}
.um-admin-dash-nav a {
@@ -133,16 +134,15 @@
- Main
*/
-.um-admin-dash-content {
- display: none;
-}
-
.um-admin-dash-main {
margin-left: 201px;
border-left: 1px solid #D8D8D8;
padding: 0 30px 30px 30px;
box-shadow: 0px 1px 0px #FFF inset;
min-height: 300px;
+
+ border-left: none;
+ margin-left: 0;
}
.um-admin-dash-main h3{
@@ -151,6 +151,19 @@
margin: 0 !important;
}
+.um-admin-dash-content {
+ display: none;
+ display: block;
+}
+
+.um-admin-dash-review {
+ text-decoration: none !important;
+ font-size: 16px;
+ position: absolute;
+ top: 0px;
+ right: 4px;
+}
+
/*
- Share icons
*/
@@ -176,8 +189,8 @@
.um-admin-dash-two-col .um-admin-dash-col {
display: inline-block;
- width: 42%;
- margin-right: 4%;
+ width: 46%;
+ margin-right: 3%;
vertical-align: top;
}
@@ -200,7 +213,7 @@
.um-admin-dash-thumb {
display: inline-block;
width: 30px;
- margin-right: 14px;
+ margin-right: 10px;
}
.um-admin-dash-thumb a,
@@ -212,14 +225,15 @@
.um-admin-dash-info {
display: inline-block;
- width: 110px;
- margin-right: 10px;
+ width: 90px;
+ margin-right: 6px;
}
.um-admin-dash-meta {
display: inline-block;
width: 100px;
- margin-right: 10px;
+ margin-right: 6px;
+ position: relative;
}
.um-admin-dash-more {
diff --git a/admin/assets/js/um-admin-dashboard.js b/admin/assets/js/um-admin-dashboard.js
index 4125de1d..0ffc600c 100644
--- a/admin/assets/js/um-admin-dashboard.js
+++ b/admin/assets/js/um-admin-dashboard.js
@@ -1,9 +1,12 @@
jQuery(document).ready(function() {
+ /**
+
var active_tab = jQuery('.um-admin-dash-nav a.active').attr('data-rel');
jQuery('.um-admin-dash-content').hide();
jQuery('.um-admin-dash-content#'+active_tab).show();
+ draw_linechart();
chart_ready = 0;
jQuery(document).on('click', '.um-admin-dash-nav a', function(e){
@@ -20,4 +23,6 @@ jQuery(document).ready(function() {
return false;
});
+ **/
+
});
\ No newline at end of file
diff --git a/admin/assets/js/um-admin-modal.js b/admin/assets/js/um-admin-modal.js
index 27d85020..64232a29 100644
--- a/admin/assets/js/um-admin-modal.js
+++ b/admin/assets/js/um-admin-modal.js
@@ -55,24 +55,38 @@ function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
if ( jQuery('.um-admin-editor:visible').length > 0 ) {
- tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor');
- jQuery('.um-admin-editor').html( jQuery('.um-hidden-editor-container').contents() );
- tinyMCE.execCommand('mceAddEditor', true, 'um_editor');
+ if ( act_id == 'um_admin_edit_field_popup' ) {
- jQuery('.switch-html').trigger('click');
- jQuery('.switch-html').trigger('click');
- jQuery('.switch-tmce').trigger('click');
+ tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
+ jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-edit').contents() );
+ tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
+
+ jQuery('.switch-html').trigger('click');
+ jQuery('.switch-html').trigger('click');
+ jQuery('.switch-tmce').trigger('click');
+
+ jQuery('#um_editor_edit_ifr').height(200);
+
+ var editor = tinyMCE.get('um_editor_edit');
+ var content = editor.getContent();
+ editor.setContent( jQuery('.um-admin-modal:visible .dynamic-mce-content').html() );
+
+ } else {
- jQuery('#um_editor_ifr').height(200);
+ tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
+ jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-new').contents() );
+ tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
+
+ jQuery('.switch-html').trigger('click');
+ jQuery('.switch-html').trigger('click');
+ jQuery('.switch-tmce').trigger('click');
+
+ jQuery('#um_editor_new_ifr').height(200);
+
+ }
}
- if ( jQuery('.dynamic-mce-content').length > 0 ) {
- var editor = tinyMCE.get('um_editor');
- var content = editor.getContent();
- editor.setContent( jQuery('.dynamic-mce-content').html() );
- }
-
},
error: function(data){
@@ -90,9 +104,19 @@ function um_admin_remove_modal(){
if ( jQuery('.um-admin-editor:visible').length > 0 ) {
- tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor');
- jQuery('.um-hidden-editor-container').html( jQuery('.um-admin-editor').contents() );
- tinyMCE.execCommand('mceAddEditor', true, 'um_editor');
+ if ( jQuery('.um-admin-modal:visible').find('form').parent().attr('id') == 'UM_edit_field' ) {
+
+ tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
+ jQuery('.um-hidden-editor-edit').html( jQuery('.um-admin-editor:visible').contents() );
+ tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
+
+ } else {
+
+ tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
+ jQuery('.um-hidden-editor-new').html( jQuery('.um-admin-editor:visible').contents() );
+ tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
+
+ }
}
diff --git a/admin/core/um-admin-actions-fields.php b/admin/core/um-admin-actions-fields.php
index 7d9faf4e..ab6cea66 100644
--- a/admin/core/um-admin-actions-fields.php
+++ b/admin/core/um-admin-actions-fields.php
@@ -40,7 +40,7 @@
$save[ $_metakey ][$new_key] = $val;
}
- } else if ( $key == 'um_editor' ) {
+ } else if ( strstr( $key, 'um_editor' ) ) {
$save[ $_metakey ]['content'] = $val;
}
diff --git a/admin/core/um-admin-metabox.php b/admin/core/um-admin-metabox.php
index a636903d..c4c2390c 100644
--- a/admin/core/um-admin-metabox.php
+++ b/admin/core/um-admin-metabox.php
@@ -362,8 +362,12 @@ class UM_Admin_Metabox {
$settings['textarea_rows'] = 8;
- echo '
';
- wp_editor( '', 'um_editor', $settings );
+ echo '
';
+ wp_editor( '', 'um_editor_edit', $settings );
+ echo '
';
+
+ echo '
';
+ wp_editor( '', 'um_editor_new', $settings );
echo '
';
}
diff --git a/admin/templates/dashboard.php b/admin/templates/dashboard.php
index 97e752fe..1ffdf90d 100644
--- a/admin/templates/dashboard.php
+++ b/admin/templates/dashboard.php
@@ -24,17 +24,15 @@
-
+
-
+
+
+
+
-
-
-
-
-
-
+
diff --git a/admin/templates/dashboard/analytics.php b/admin/templates/dashboard/analytics.php
deleted file mode 100644
index 55540aac..00000000
--- a/admin/templates/dashboard/analytics.php
+++ /dev/null
@@ -1,3 +0,0 @@
-
New Registrations over last 30 days
-
-chart->create('data=new_users&x_label=Day&y_label=Daily Signups'); ?>
\ No newline at end of file
diff --git a/admin/templates/dashboard/overview.php b/admin/templates/dashboard/overview.php
index 617be5be..ed1acdff 100644
--- a/admin/templates/dashboard/overview.php
+++ b/admin/templates/dashboard/overview.php
@@ -16,9 +16,7 @@
-
-
-
+
-
@@ -99,12 +93,10 @@
-
-
-
+
@@ -134,25 +126,10 @@
-
-
- Review details';
-
- } else {
-
- echo 'No information available';
-
- }
- ?>
-
-
+
diff --git a/admin/templates/modal/dynamic_registration_preview.php b/admin/templates/modal/dynamic_registration_preview.php
index ebc96218..03ce2140 100644
--- a/admin/templates/modal/dynamic_registration_preview.php
+++ b/admin/templates/modal/dynamic_registration_preview.php
@@ -9,9 +9,7 @@
\ No newline at end of file
diff --git a/assets/css/um-responsive.css b/assets/css/um-responsive.css
index c8c97130..7eac857a 100644
--- a/assets/css/um-responsive.css
+++ b/assets/css/um-responsive.css
@@ -98,7 +98,7 @@ div.uimob340 .um-profile-photo {
width: 100% !important;
text-align: center !important;
position: absolute;
- top: -20px;
+ top: -40px;
left: 0;
}
@@ -117,7 +117,7 @@ div.uimob340 .um-header .um-profile-meta {
padding-left: 0 !important;
padding-right: 0 !important;
text-align: center !important;
- padding-top: 90px !important;
+ padding-top: 70px !important;
}
div.uimob340 .um-header .um-name {
@@ -281,8 +281,8 @@ div.uimob500 .um-profile-photo {
}
div.uimob500 .um-profile-photo a.um-profile-photo-img {
- width: 110px !important;
- height: 110px !important;
+ width: 100px !important;
+ height: 100px !important;
margin: 0 auto !important;
float: none !important;
display: inline-block !important;
@@ -295,7 +295,7 @@ div.uimob500 .um-header .um-profile-meta {
padding-left: 0 !important;
padding-right: 0 !important;
text-align: center !important;
- padding-top: 80px !important;
+ padding-top: 70px !important;
}
div.uimob500 .um-header .um-name {
diff --git a/assets/css/um-styles.css b/assets/css/um-styles.css
index a8c00953..0d3d40e3 100644
--- a/assets/css/um-styles.css
+++ b/assets/css/um-styles.css
@@ -33,8 +33,9 @@
/* only in admin mode */
.um.um-in-admin {
padding-top: 0;
- margin-bottom: 10px;
+ margin-bottom: 0 !important;
}
+.um.um-in-admin .um-tip {display: none !important}
.um input,
.um select,
diff --git a/core/um-actions-form.php b/core/um-actions-form.php
index d8f54800..f5315628 100644
--- a/core/um-actions-form.php
+++ b/core/um-actions-form.php
@@ -132,7 +132,7 @@
$form_id = $args['form_id'];
$mode = $args['mode'];
$fields = unserialize( $args['custom_fields'] );
-
+
foreach( $fields as $key => $array ) {
if ( isset( $array['required'] ) && $array['required'] == 1 ) {
@@ -286,4 +286,11 @@
}
+ if ( isset( $args['description'] ) ) {
+ $max_chars = um_get_option('profile_bio_maxchars');
+ if ( strlen( utf8_decode( $args['description'] ) ) > $max_chars && $max_chars ) {
+ $ultimatemember->form->add_error('description', sprintf(__('Your user description must contain less than %s characters'), $max_chars ) );
+ }
+ }
+
}
\ No newline at end of file
diff --git a/core/um-actions-profile.php b/core/um-actions-profile.php
index 41f9124e..1af05d81 100644
--- a/core/um-actions-profile.php
+++ b/core/um-actions-profile.php
@@ -209,6 +209,10 @@
+
+ fields->is_error('description') )
+ echo $ultimatemember->fields->field_error( $ultimatemember->fields->show_error('description') ); ?>
+
@@ -372,7 +376,7 @@
}
if ( isset( $args['submitted']['description'] ) ) {
- $to_update['description'] = $args['submitted']['description'];
+ $to_update['description'] = $ultimatemember->validation->remove_html( $args['submitted']['description'] );
}
if ( is_array( $to_update ) ) {
diff --git a/core/um-actions-user.php b/core/um-actions-user.php
index 5b713266..fd84cfc8 100644
--- a/core/um-actions-user.php
+++ b/core/um-actions-user.php
@@ -1,28 +1,5 @@
mail->send( um_admin_email(), 'notification_deletion' );
-
- // increase the num. of deleted accounts that day
- $UM_deleted_users = get_option('um_deleted_users');
- if (!isset($UM_deleted_users[ date('Y-m-d') ] )){
- $UM_deleted_users[ date('Y-m-d') ] = 1;
- } else {
- $UM_deleted_users[ date('Y-m-d') ] = $UM_deleted_users[ date('Y-m-d') ] +1;
- }
-
- update_option('um_deleted_users', $UM_deleted_users);
-
- }
- add_action("delete_user", "um_notify_delete_user");
-
/***
*** @listen to a new user creation in backend
***/
diff --git a/core/um-builtin.php b/core/um-builtin.php
index 929e62ba..ba232dc0 100644
--- a/core/um-builtin.php
+++ b/core/um-builtin.php
@@ -128,8 +128,8 @@ class UM_Builtin {
'textarea' => array(
'name' => 'Textarea',
- 'col1' => array('_title','_metakey','_help','_height','_max_chars','_max_words','_html'),
- 'col2' => array('_label','_placeholder','_public','_roles','_default'),
+ 'col1' => array('_title','_metakey','_help','_height','_max_chars','_max_words'),
+ 'col2' => array('_label','_placeholder','_public','_roles','_default','_html'),
'col3' => array('_required','_editable','_icon'),
'validate' => array(
'_title' => array(
@@ -363,10 +363,6 @@ class UM_Builtin {
'mode' => 'required',
'error' => 'You must provide a title'
),
- 'um_editor' => array(
- 'mode' => 'required',
- 'error' => 'You must add some content first'
- ),
)
),
@@ -413,7 +409,7 @@ class UM_Builtin {
)
),
- 'group' => array(
+ /*'group' => array(
'name' => 'Field Group',
'col1' => array('_title','_max_entries'),
'col2' => array('_label','_public','_roles'),
@@ -428,7 +424,7 @@ class UM_Builtin {
'error' => 'You must provide a label'
),
)
- ),
+ ),*/
);
diff --git a/core/um-chart.php b/core/um-chart.php
index a56b2e46..732772f2 100644
--- a/core/um-chart.php
+++ b/core/um-chart.php
@@ -55,29 +55,11 @@ class UM_Chart {
data.addColumn('number', '');
datetime->get_last_days( $days );
- }
-
- if ($data == 'deleted_users'){
- $data_y = $ultimatemember->query->deleted_users_per_day( $days );
- }
-
+
if (isset($data_y) && !empty($data_y)){
foreach($data_y as $key => $val){
-
- if ($data == 'new_users'){
- $row_value = $ultimatemember->query->count_users_registered_on( $key );
- ?>data.addRow(['', ]);datetime->format( $key, 'm/d' );
- ?>data.addRow(['', ]);user->preview ) && $ultimatemember->user->preview ) {
+ if ( $data['type'] == 'password' ){
+ return;
+ }
+ }
/* Begin by field type */
diff --git a/core/um-form.php b/core/um-form.php
index 36fd4efc..f0278336 100644
--- a/core/um-form.php
+++ b/core/um-form.php
@@ -79,7 +79,7 @@ class UM_Form {
if ( $form_timestamp == '' )
wp_die( __('Hello, spam bot!') );
- if ( $live_timestamp - $form_timestamp < 5 )
+ if ( $live_timestamp - $form_timestamp < 3 )
wp_die( __('Whoa, slow down! You\'re seeing this message because you tried to submit a form too fast and we think you might be a spam bot. If you are a real human being please wait a few seconds before submitting the form. Thanks!') );
}
diff --git a/core/um-query.php b/core/um-query.php
index afe7ab1a..bed63c2b 100644
--- a/core/um-query.php
+++ b/core/um-query.php
@@ -297,41 +297,5 @@ class UM_Query {
return $roles;
}
-
- /***
- *** @Number of users registered on specific day
- ***/
- function count_users_registered_on( $date='' ){
- global $wpdb;
-
- // defaults to today
- if( empty($date) )
- $date = date('Y-m-d');
-
- $morning = new DateTime($date. ' 00:00:00');
- $night = new DateTime($date.' 23:59:59');
- $m = $morning->format('Y-m-d H:i:s');
- $n = $night->format('Y-m-d H:i:s');
-
- $sql = $wpdb->prepare("SELECT wp_users.* FROM wp_users WHERE 1=1 AND CAST(user_registered AS DATE) BETWEEN %s AND %s ORDER BY user_login ASC",$m,$n);
-
- $users = $wpdb->get_results($sql);
-
- return $wpdb->num_rows;
- }
-
- /***
- *** @Get deleted users count for last x days
- ***/
- function deleted_users_per_day( $limit = 30 ){
- $option = get_option('um_deleted_users');
- if (is_array($option)){
- $slice = array_slice($option, 0, $limit);
- $reverse = array_reverse($slice);
- return $reverse;
- } else {
- return null;
- }
- }
}
\ No newline at end of file
diff --git a/core/um-setup.php b/core/um-setup.php
index 091407d5..fa22e5e7 100644
--- a/core/um-setup.php
+++ b/core/um-setup.php
@@ -40,7 +40,7 @@ class UM_Setup {
'_um_search' => 0,
'_um_userinfo_animate' => '1',
'_um_directory_header' => __('{total_users} Members','ultimatemember'),
- '_um_directory_no_users' => __('We are sorry. We cannot find any users who match your search criteria.','ultimatemember'),
+ '_um_directory_no_users' => __('Sorry, we cannot find any users who match your search criteria.','ultimatemember'),
'_um_sortby' => 'user_registered_desc',
'_um_profile_photo' => '1',
'_um_cover_photos' => '1',
@@ -85,6 +85,7 @@ class UM_Setup {
'_um_secondary_btn_text' => '#666',
'_um_profile_show_name' => 1,
'_um_profile_show_bio' => 1,
+ '_um_profile_bio_maxchars' => 180,
'_um_profile_role' => '0',
'_um_profile_template' => 'profile',
'_um_profile_max_width' => '1000px',
diff --git a/core/um-user.php b/core/um-user.php
index 92eed733..3d5f15a3 100644
--- a/core/um-user.php
+++ b/core/um-user.php
@@ -252,9 +252,17 @@ class UM_User {
***/
function approve(){
global $ultimatemember;
+
+ if ( um_user('account_status') == 'awaiting_admin_review' ) {
+ $email_tpl = 'approved_email';
+ } else {
+ $email_tpl = 'welcome_email';
+ }
+
$this->set_status('approved');
$this->delete_meta('account_secret_hash');
- $ultimatemember->mail->send( um_user('user_email'), 'approved_email' );
+
+ $ultimatemember->mail->send( um_user('user_email'), $email_tpl );
}
/***
@@ -282,6 +290,7 @@ class UM_User {
function reject(){
global $ultimatemember;
$this->set_status('rejected');
+ $this->delete( false );
$ultimatemember->mail->send( um_user('user_email'), 'rejected_email' );
}
@@ -297,10 +306,12 @@ class UM_User {
/***
*** @delete user
***/
- function delete() {
+ function delete( $send_mail = true ) {
global $ultimatemember;
- $ultimatemember->mail->send( um_user('user_email'), 'deletion_email' );
+ if ( $send_mail ) {
+ $ultimatemember->mail->send( um_user('user_email'), 'deletion_email' );
+ }
require_once( ABSPATH . 'wp-admin/includes/user.php' );
diff --git a/core/um-validation.php b/core/um-validation.php
index 1001cb1b..a15c6bf5 100644
--- a/core/um-validation.php
+++ b/core/um-validation.php
@@ -10,6 +10,13 @@ class UM_Validation {
}
+ /***
+ *** @removes html from any string
+ ***/
+ function remove_html($string) {
+ return wp_strip_all_tags( $string );
+ }
+
/***
*** @normalize a string
***/
diff --git a/templates/password-reset.php b/templates/password-reset.php
index a4f4b24e..d1a36efa 100644
--- a/templates/password-reset.php
+++ b/templates/password-reset.php
@@ -8,20 +8,18 @@
if ( !isset( $ultimatemember->password->reset_request ) ) {
- do_action('um_reset_password_page_hidden_fields', $args );
-
- do_action('um_reset_password_form', $args );
-
- do_action("um_after_form_fields", $args);
+ do_action('um_reset_password_page_hidden_fields', $args );
+
+ do_action('um_reset_password_form', $args );
+
+ do_action("um_after_form_fields", $args);
} else {
echo '';
- echo '
A password reset link has been sent to '. $ultimatemember->password->reset_request['user_email'] . ' for your '. um_get_option('site_name') . ' account.
';
+ echo '
A password reset link has been sent to ' . $ultimatemember->password->reset_request['user_email'] . '. Please check your inbox!
';
- echo '
Please check your inbox!
';
-
echo '
';
}
diff --git a/um-config.php b/um-config.php
index eb537804..0d3d7ddf 100644
--- a/um-config.php
+++ b/um-config.php
@@ -391,29 +391,29 @@ $this->sections[] = array(
),
array(
- 'id' => 'approved_email_on',
+ 'id' => 'welcome_email_on',
'type' => 'switch',
- 'title' => __( 'Account Approved Email' ),
+ 'title' => __( 'Account Welcome Email' ),
'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 automatically approved',
),
array(
- 'id' => 'approved_email_sub',
+ 'id' => 'welcome_email_sub',
'type' => 'text',
- 'title' => __( 'Account Approved Email' ),
+ 'title' => __( 'Account Welcome Email' ),
'subtitle' => __( 'Subject Line' ),
- 'default' => 'Your account at {site_name} is now active',
- 'required' => array( 'approved_email_on', '=', 1 ),
+ 'default' => 'Welcome to {site_name}!',
+ 'required' => array( 'welcome_email_on', '=', 1 ),
'desc' => 'This is the subject line of the e-mail',
),
array(
- 'id' => 'approved_email',
+ 'id' => 'welcome_email',
'type' => 'textarea',
- 'title' => __( 'Account Approved Email' ),
+ 'title' => __( 'Account Welcome Email' ),
'subtitle' => __( 'Message Body' ),
- 'required' => array( 'approved_email_on', '=', 1 ),
+ 'required' => array( 'welcome_email_on', '=', 1 ),
'default' => 'Hi {display_name},' . "\r\n\r\n" .
'Thank you for signing up with {site_name}! Your account is now active.' . "\r\n\r\n" .
'To login please visit the following url:' . "\r\n\r\n" .
@@ -425,7 +425,7 @@ $this->sections[] = array(
'Thanks,' . "\r\n" .
'{site_name}',
),
-
+
array(
'id' => 'checkmail_email_on',
'type' => 'switch',
@@ -457,7 +457,7 @@ $this->sections[] = array(
'Thanks,' . "\r\n" .
'{site_name}',
),
-
+
array(
'id' => 'pending_email_on',
'type' => 'switch',
@@ -489,7 +489,43 @@ $this->sections[] = array(
'Thanks,' . "\r\n" .
'{site_name}',
),
+
+ array(
+ 'id' => 'approved_email_on',
+ 'type' => 'switch',
+ 'title' => __( 'Account Approved Email' ),
+ 'default' => 1,
+ 'desc' => 'Whether to send the user an email when his account is approved',
+ ),
+
+ array(
+ 'id' => 'approved_email_sub',
+ 'type' => 'text',
+ 'title' => __( 'Account Approved Email' ),
+ 'subtitle' => __( 'Subject Line' ),
+ 'default' => 'Your account at {site_name} is now active',
+ 'required' => array( 'approved_email_on', '=', 1 ),
+ 'desc' => 'This is the subject line of the e-mail',
+ ),
+ array(
+ 'id' => 'approved_email',
+ 'type' => 'textarea',
+ 'title' => __( 'Account Approved Email' ),
+ 'subtitle' => __( 'Message Body' ),
+ 'required' => array( 'approved_email_on', '=', 1 ),
+ 'default' => 'Hi {display_name},' . "\r\n\r\n" .
+ 'Thank you for signing up with {site_name}! Your account has been approved and is now active.' . "\r\n\r\n" .
+ 'To login please visit the following url:' . "\r\n\r\n" .
+ '{login_url}' . "\r\n\r\n" .
+ 'Your account e-mail: {email}' . "\r\n" .
+ 'Your account username: {username}' . "\r\n" .
+ 'Your account password: {password}' . "\r\n\r\n" .
+ 'If you have any problems, please contact us at {admin_email}' . "\r\n\r\n" .
+ 'Thanks,' . "\r\n" .
+ '{site_name}',
+ ),
+
array(
'id' => 'rejected_email_on',
'type' => 'switch',
@@ -1217,6 +1253,15 @@ $this->sections[] = array(
'desc' => 'Switch on/off the user description on profile header',
),
+ array(
+ 'id' => 'profile_bio_maxchars',
+ 'type' => 'text',
+ 'title' => __( 'User description maximum chars' ),
+ 'default' => um_get_metadefault('profile_bio_maxchars'),
+ 'desc' => 'Maximum number of characters to allow in user description field in header.',
+ 'required' => array( 'profile_show_bio', '=', 1 ),
+ ),
+
)
);