Update 1.0.69

This commit is contained in:
ultimatemember
2015-03-01 00:44:04 +02:00
parent 34d7192436
commit 6d4ff64995
29 changed files with 511 additions and 37 deletions
+8 -3
View File
@@ -107,6 +107,13 @@ body.um-admin-modal-open {
- Form Inputs
*/
.um-admin-metabox h4 {
font-size: 14px;
background: #f5f5f5;
padding: 8px 4px;
color: #333;
}
.um-admin-metabox p {margin: 10px 0 0 0}
.um-admin-metabox label{
@@ -118,8 +125,6 @@ body.um-admin-modal-open {
color: #666;
}
.um-admin-metabox label strong {color: #222}
.um-admin-metabox input[type=text]:disabled{
opacity: 0.7 !important;
color: #aaa !important;
@@ -154,7 +159,7 @@ body.um-admin-modal-open {
background-color: #fff !important;
}
.um-admin-metabox input[type=text].small {width: 50px}
.um-admin-metabox input[type=text].small {width: 54px}
.um-admin-metabox textarea {min-height: 100px;height: 100px}
.um-admin-metabox textarea.tall {min-height: 200px;height: 200px}
+13 -1
View File
@@ -306,7 +306,7 @@ p.um-notice.err {
width: 24px;
text-align: center;
}
.um-field-label .um-field-label-icon i { font-size: 22px; height: 22px; line-height: 22px; vertical-align: middle; }
.um-field-label .um-field-label-icon i { font-size: 22px; position: relative; top: 1px; }
.um-field-label label {
font-size: 15px !important;
@@ -713,4 +713,16 @@ span.um-req {
font-weight: bold;
position: relative;
top: 10px;
}
.um-large-text {
font-size: 18px;
color: #666;
}
.um-large-text span {
background: #eee;
padding: 2px 4px;
color: #333;
border-radius: 3px;
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -33,8 +33,8 @@ class UM_Account {
$tabs[400]['notifications']['icon'] = 'um-faicon-bell';
$tabs[400]['notifications']['title'] = __('Notifications','ultimatemember');
$tabs[500]['delete']['icon'] = 'um-faicon-trash-o';
$tabs[500]['delete']['title'] = __('Delete Account','ultimatemember');
$tabs[9999]['delete']['icon'] = 'um-faicon-trash-o';
$tabs[9999]['delete']['title'] = __('Delete Account','ultimatemember');
return $tabs;
}
+43 -8
View File
@@ -162,11 +162,18 @@
<?php echo $output; ?>
<div class="um-col-alt um-col-alt-b"><div class="um-left"><input type="submit" name="um_account_submit" id="um_account_submit" value="<?php _e('Delete Account','ultimatemember'); ?>" class="um-button" /></div><div class="um-clear"></div></div>
<div class="um-col-alt um-col-alt-b">
<div class="um-left"><input type="submit" name="um_account_submit" id="um_account_submit" value="<?php _e('Delete Account','ultimatemember'); ?>" class="um-button" /></div>
<?php do_action('um_after_account_delete_button'); ?>
<div class="um-clear"></div>
</div>
<?php
}
do_action('um_after_account_delete');
}
/***
@@ -185,11 +192,18 @@
<?php echo $output; ?>
<div class="um-col-alt um-col-alt-b"><div class="um-left"><input type="submit" name="um_account_submit" id="um_account_submit" value="<?php _e('Update Privacy','ultimatemember'); ?>" class="um-button" /></div><div class="um-clear"></div></div>
<div class="um-col-alt um-col-alt-b">
<div class="um-left"><input type="submit" name="um_account_submit" id="um_account_submit" value="<?php _e('Update Privacy','ultimatemember'); ?>" class="um-button" /></div>
<?php do_action('um_after_account_privacy_button'); ?>
<div class="um-clear"></div>
</div>
<?php
}
do_action('um_after_account_privacy');
}
/***
@@ -199,7 +213,7 @@
function um_account_tab__general( $info ) {
global $ultimatemember;
extract( $info );
$output = $ultimatemember->account->get_tab_output('general');
if ( $output ) { ?>
@@ -208,11 +222,18 @@
<?php echo $output; ?>
<div class="um-col-alt um-col-alt-b"><div class="um-left"><input type="submit" name="um_account_submit" id="um_account_submit" value="<?php _e('Update Account','ultimatemember'); ?>" class="um-button" /></div><div class="um-clear"></div></div>
<div class="um-col-alt um-col-alt-b">
<div class="um-left"><input type="submit" name="um_account_submit" id="um_account_submit" value="<?php _e('Update Account','ultimatemember'); ?>" class="um-button" /></div>
<?php do_action('um_after_account_general_button'); ?>
<div class="um-clear"></div>
</div>
<?php
}
do_action('um_after_account_general');
}
/***
@@ -231,11 +252,18 @@
<?php echo $output; ?>
<div class="um-col-alt um-col-alt-b"><div class="um-left"><input type="submit" name="um_account_submit" id="um_account_submit" value="<?php _e('Update Password','ultimatemember'); ?>" class="um-button" /></div><div class="um-clear"></div></div>
<div class="um-col-alt um-col-alt-b">
<div class="um-left"><input type="submit" name="um_account_submit" id="um_account_submit" value="<?php _e('Update Password','ultimatemember'); ?>" class="um-button" /></div>
<?php do_action('um_after_account_password_button'); ?>
<div class="um-clear"></div>
</div>
<?php
}
do_action('um_after_account_password');
}
/***
@@ -254,11 +282,18 @@
<?php echo $output; ?>
<div class="um-col-alt um-col-alt-b"><div class="um-left"><input type="submit" name="um_account_submit" id="um_account_submit" value="<?php _e('Update Notifications','ultimatemember'); ?>" class="um-button" /></div><div class="um-clear"></div></div>
<div class="um-col-alt um-col-alt-b">
<div class="um-left"><input type="submit" name="um_account_submit" id="um_account_submit" value="<?php _e('Update Notifications','ultimatemember'); ?>" class="um-button" /></div>
<?php do_action('um_after_account_notifications_button'); ?>
<div class="um-clear"></div>
</div>
<?php
}
do_action('um_after_account_notifications');
}
/***
+5 -1
View File
@@ -152,9 +152,13 @@
$form_id = $args['form_id'];
$mode = $args['mode'];
$fields = unserialize( $args['custom_fields'] );
foreach( $fields as $key => $array ) {
if ( isset( $array['type'] ) && $array['type'] == 'checkbox' && isset( $array['required'] ) && $array['required'] == 1 && !isset( $args[$key] ) ) {
$ultimatemember->form->add_error($key, sprintf(__('You must check %s.','ultimatemember'), $array['title'] ) );
}
if ( $key == 'role_select' || $key == 'role_radio' ) {
if ( isset($args['role']) && empty($args['role']) && isset( $array['required'] ) && $array['required'] == 1 ) {
$ultimatemember->form->add_error($key, __('Please specify account type.','ultimatemember') );
+3
View File
@@ -120,6 +120,9 @@
$ultimatemember->user->auto_login( um_user('ID'), $rememberme );
// Hook that runs after successful login and before user is redirected
do_action('um_on_login_before_redirect', um_user('ID') );
// Priority redirect
if ( isset( $args['redirect_to'] ) ) {
exit( wp_redirect( $args['redirect_to'] ) );
+12 -1
View File
@@ -82,6 +82,10 @@
if ( isset( $args['submitted']['role'] ) && !empty( $args['submitted']['role'] ) ) {
$to_update['role'] = $args['submitted']['role'];
}
do_action('um_user_pre_updating_profile', $to_update );
$to_update = apply_filters('um_user_pre_updating_profile_array', $to_update);
if ( is_array( $to_update ) ) {
$ultimatemember->user->update_profile( $to_update );
@@ -307,10 +311,17 @@
<div class="um-profile-meta">
<div class="um-main-meta">
<?php if ( $args['show_name'] ) { ?>
<div class="um-name"><a href="<?php echo um_user_profile_url(); ?>" title="<?php echo um_user('display_name'); ?>"><?php echo um_user('display_name'); ?></a></div>
<div class="um-name">
<a href="<?php echo um_user_profile_url(); ?>" title="<?php echo um_user('display_name'); ?>"><?php echo um_user('display_name'); ?></a>
</div>
<?php } ?>
<div class="um-clear"></div>
<?php do_action('um_after_profile_header_name'); ?>
</div>
<?php if ( isset( $args['metafields'] ) && !empty( $args['metafields'] ) ) { ?>
+6
View File
@@ -7,6 +7,12 @@
function um_block_wpadmin_for_guests() {
global $pagenow;
// Logout screen
if ( isset( $pagenow ) && $pagenow == 'wp-login.php' && is_user_logged_in() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'logout' ) {
$redirect = um_get_core_page('logout');
exit( wp_redirect( $redirect ) );
}
// Login screen
if ( isset( $pagenow ) && $pagenow == 'wp-login.php' && !is_user_logged_in() && !isset( $_REQUEST['action'] ) ) {
+4 -4
View File
@@ -81,10 +81,10 @@ class UM_Enqueue {
} else {
wp_register_script('um_minified', um_url . 'assets/js/um.min.js', array('jquery'), '', true );
wp_register_script('um_minified', um_url . 'assets/js/um.min.js', array('jquery'), ultimatemember_version, true );
wp_enqueue_script('um_minified');
wp_register_style('um_minified', um_url . 'assets/css/um.min.css' );
wp_register_style('um_minified', um_url . 'assets/css/um.min.css', '', ultimatemember_version, 'all' );
wp_enqueue_style('um_minified');
}
@@ -92,7 +92,7 @@ class UM_Enqueue {
// load a localized version for date/time
$locale = get_option('WPLANG');
if ( $locale && file_exists( um_path . 'assets/js/pickadate/translations/' . $locale . '.js' ) ) {
wp_register_script('um_datetime_locale', um_url . 'assets/js/pickadate/translations/' . $locale . '.js', '', '', true );
wp_register_script('um_datetime_locale', um_url . 'assets/js/pickadate/translations/' . $locale . '.js', '', ultimatemember_version, true );
wp_enqueue_script('um_datetime_locale');
}
@@ -118,7 +118,7 @@ class UM_Enqueue {
$this->load_datetimepicker();
$this->load_raty();
$this->load_imagecrop();
$this->load_masonry();
+8 -3
View File
@@ -105,6 +105,11 @@ class UM_Fields {
}
}
// custom fields support
if ( isset( $ultimatemember->builtin->predefined_fields[$id] ) && isset( $ultimatemember->builtin->predefined_fields[$id]['custom'] ) ) {
$args = array_merge( $ultimatemember->builtin->predefined_fields[$id], $args);
}
$fields[$id] = $args;
// for group field only
@@ -370,7 +375,7 @@ class UM_Fields {
return um_user( $key );
} else if ( um_user( $key ) && $this->viewing == true ) {
} else if ( ( um_user( $key ) || isset($data['show_anyway']) ) && $this->viewing == true ) {
$value = um_filtered_value( $key, $data );
return $value;
@@ -1246,7 +1251,7 @@ class UM_Fields {
$output .= '<div class="um-modal-footer">
<div class="um-modal-right">
<a href="#" class="um-modal-btn um-finish-upload image disabled" data-key="'.$key.'" data-change="'.__('Change photo').'" data-processing="'.__('Processing...','ultimatemember').'"> ' . __('Apply','ultimatemember') . '</a>
<a href="#" class="um-modal-btn um-finish-upload image disabled" data-key="'.$key.'" data-change="'.__('Change photo','ultimatemember').'" data-processing="'.__('Processing...','ultimatemember').'"> ' . __('Apply','ultimatemember') . '</a>
<a href="#" class="um-modal-btn alt" data-action="um_remove_modal"> ' . __('Cancel','ultimatemember') . '</a>
</div>
<div class="um-clear"></div>
@@ -1292,7 +1297,7 @@ class UM_Fields {
<span class="filename">' . $this->field_value( $key, $default, $data ) . '</span>
</a>
</div>
</div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. __('Change file') . '</a>';
</div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. __('Change file','ultimatemember') . '</a>';
} else {
+6 -2
View File
@@ -18,6 +18,7 @@ class UM_Files {
'xlsx' => array('icon' => 'um-faicon-file-excel-o', 'color' => '#51BA6A' ),
'zip' => array('icon' => 'um-faicon-file-zip-o' ),
'rar' => array('icon' => 'um-faicon-file-zip-o' ),
'mp3' => array('icon' => 'um-faicon-file-audio-o' ),
);
$this->default_file_fonticon = 'um-faicon-file-o';
@@ -54,6 +55,7 @@ class UM_Files {
$array['xlsx'] = 'XLSX';
$array['zip'] = 'ZIP';
$array['rar'] = 'RAR';
$array['mp3'] = 'MP3';
$array = apply_filters('um_allowed_file_types', $array);
return $array;
@@ -316,9 +318,9 @@ class UM_Files {
} elseif ( isset($data['min_size']) && ( $fileinfo['size'] < $data['min_size'] ) ) {
$error = $data['min_size_error'];
} elseif ( isset($data['min_width']) && ( $fileinfo['width'] < $data['min_width'] ) ) {
$error = sprintf(__('Your photo is too small. It must be at least %spx wide.'), $data['min_width']);
$error = sprintf(__('Your photo is too small. It must be at least %spx wide.','ultimatemember'), $data['min_width']);
} elseif ( isset($data['min_height']) && ( $fileinfo['height'] < $data['min_height'] ) ) {
$error = sprintf(__('Your photo is too small. It must be at least %spx wide.'), $data['min_height']);
$error = sprintf(__('Your photo is too small. It must be at least %spx wide.','ultimatemember'), $data['min_height']);
}
return $error;
@@ -502,6 +504,8 @@ class UM_Files {
rmdir( $dir );
// update user's meta
do_action('um_before_upload_db_meta', $user_id, $key );
do_action("um_before_upload_db_meta_{$key}", $user_id );
update_user_meta( $user_id, $key, $filename );
// the url of upload
+43 -4
View File
@@ -14,12 +14,27 @@ class UM_Mail {
function mandrill_nl2br($nl2br, $message = '') {
// text emails
$nl2br = true;
if ( !um_get_option('email_html') ) {
$nl2br = true;
}
return $nl2br;
}
/***
*** @check If template exists
***/
function email_template( $template ) {
if ( file_exists( get_stylesheet_directory() . '/ultimate-member/templates/email/' . $template . '.html' ) ) {
return get_stylesheet_directory() . '/ultimate-member/templates/email/' . $template . '.html';
}
if ( file_exists( um_path . 'templates/email/' . $template . '.html' ) ) {
return um_url . 'templates/email/' . $template . '.html';
}
return false;
}
/***
*** @sends an email to any user
***/
@@ -30,17 +45,35 @@ class UM_Mail {
if ( !is_email( $email ) ) return;
$this->attachments = null;
$this->headers = 'From: '. um_get_option('mail_from') .' <'. um_get_option('mail_from_addr') .'>' . "\r\n";
$this->subject = um_get_option( $template . '_sub' );
$this->subject = $this->convert_tags( $this->subject );
// HTML e-mail
if ( um_get_option('email_html') && $this->email_template( $template ) ) {
$this->message = file_get_contents( $this->email_template( $template ) );
} else {
$this->message = um_get_option( $template );
}
$this->message = um_get_option( $template );
// Convert tags in body
$this->message = $this->convert_tags( $this->message );
// Send mail
add_filter( 'wp_mail_content_type', array(&$this, 'set_content_type') );
wp_mail( $email, $this->subject, $this->message, $this->headers, $this->attachments );
remove_filter( 'wp_mail_content_type', array(&$this, 'set_content_type') );
}
/***
*** @maybe sending HTML emails
***/
function set_content_type( $content_type ) {
if ( um_get_option('email_html') )
return 'text/html';
return 'text/plain';
}
/***
@@ -58,11 +91,14 @@ class UM_Mail {
'{password}',
'{login_url}',
'{site_name}',
'{site_url}',
'{account_activation_link}',
'{password_reset_link}',
'{admin_email}',
'{user_profile_link}',
'{user_account_link}',
'{submitted_registration}',
'{user_avatar_url}',
);
$search = apply_filters('um_template_tags_patterns_hook', $search);
@@ -77,11 +113,14 @@ class UM_Mail {
um_user('_um_cool_but_hard_to_guess_plain_pw'),
um_get_core_page('login'),
um_get_option('site_name'),
get_bloginfo('url'),
um_user('account_activation_link'),
um_user('password_reset_link'),
um_admin_email(),
um_user_profile_url(),
um_get_core_page('account'),
um_user_submitted_registration(),
um_get_user_avatar_url(),
);
$replace = apply_filters('um_template_tags_replaces_hook', $replace);
+3 -1
View File
@@ -49,6 +49,8 @@ class UM_Profile {
if ( get_query_var('profiletab') ) {
$this->active_tab = get_query_var('profiletab');
}
$this->active_tab = apply_filters( 'um_profile_active_tab', $this->active_tab );
return $this->active_tab;
}
@@ -76,7 +78,7 @@ class UM_Profile {
foreach( $array as $key ) {
$data = '';
if ( $key && um_user( $key ) ) {
if ( $key && um_filtered_value( $key ) ) {
if ( isset( $ultimatemember->builtin->all_user_fields[$key]['icon'] ) ) {
$icon = $ultimatemember->builtin->all_user_fields[$key]['icon'];
+12
View File
@@ -852,6 +852,18 @@ function um_fetch_user( $user_id ) {
return $uri;
}
/***
*** @get user avatar url
***/
function um_get_user_avatar_url() {
if ( um_profile('profile_photo') ) {
$avatar_uri = um_get_avatar_uri( um_profile('profile_photo'), 32 );
} else {
$avatar_uri = um_get_default_avatar_uri();
}
return $avatar_uri;
}
/***
*** @default cover
***/
+4 -1
View File
@@ -269,6 +269,9 @@ class UM_User {
$this->delete_meta('account_secret_hash');
$this->delete_meta('_um_cool_but_hard_to_guess_plain_pw');
do_action('um_after_user_is_approved', um_user('ID') );
}
/***
@@ -416,7 +419,7 @@ class UM_User {
***/
function is_private_profile( $user_id ) {
$privacy = get_user_meta( $user_id, 'profile_privacy', true );
if ( $privacy == __('Only me') ) {
if ( $privacy == __('Only me','ultimatemember') ) {
return true;
}
return false;
+4 -3
View File
@@ -2,8 +2,8 @@
/*
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.65
Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
Version: 1.0.69
Author: Ultimate Member
Author URI: http://ultimatemember.com/
*/
@@ -57,4 +57,5 @@ Author URI: http://ultimatemember.com/
return $links;
}
add_filter( "plugin_action_links_$plugin", 'ultimatemember_plugin_links' );
$prefix = is_network_admin() ? 'network_admin_' : '';
add_filter( "{$prefix}plugin_action_links_$plugin", 'ultimatemember_plugin_links' );
+27 -1
View File
@@ -7,7 +7,7 @@ Tags: access control, author, authors, author profile, comments, community, comm
Requires at least: 4.1
Tested up to: 4.1.1
Stable Tag: 1.0.65
Stable Tag: 1.0.69
License: GNU Version 2 or Any Later Version
@@ -189,6 +189,32 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
== Changelog ==
= 1.0.69: February 28, 2015 =
* Tweak: better WP logout handling
* Tweak: new action and filter hooks added
= 1.0.68: February 27, 2015 =
* New: added support for mp3 as allowed filetype / upload
* Fixed: bug with profile privacy option (on non-english sites)
* Fixed: uncommon php warning caused by um_get_user_avatar_url() function
* Fixed: new translation corrections
= 1.0.67: February 26, 2015 =
* New: Improved the default HTML e-mail templates design
* New: added a bunch of action hooks to account tabs and content
* Tweak: added a few template tags to use in email: {site_url}, {user_account_link}
* Fixed: issue with making a checkbox required prior to registering
* Fixed: issue with comments showing in posts tab under profile
* Fixed: issue with plugin uninstallation link not showing in multisite
= 1.0.66: February 25, 2015 =
* New: added option to send e-mails as HTML
* New: added default HTML templates for e-mail notifications
= 1.0.65: February 24, 2015 =
* New: added option to customize register form secondary button URL
+40
View File
@@ -0,0 +1,40 @@
<html>
<body>
<div style="max-width: 600px;margin:20px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="background: #3ba1da;padding: 0 0 0 20px;color: #fff;font-weight: normal;border-radius: 5px">
<div style="float:left;padding: 20px 0;">{site_name}</div>
<div style="float:right;padding: 12px 12px 0 0;"><a href="{user_profile_link}" style="text-decoration: none;vertical-align: middle;color: #fff;"><img src="{user_avatar_url}" width="32" height="32" alt="" style="border-radius: 3px;border: 2px solid #fff;background: #fff;vertical-align: middle;margin-right: 10px;" />{display_name}</a></div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 4px double #ccc;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;"><span style="display: block;color:#333"><strong>Congratulations!</strong> Your {site_name} account has been approved!</span></div>
<div style="padding: 10px 0 50px 0;text-align: center;"><a href="{login_url}" style="background: #3ba1da;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 1px;border: 4px double #fff;">Login to our site</a></div>
<div style="border: 1px solid #eee;padding: 0 0 15px 0;background: #fcfcfc;border-radius: 0 0 3px 3px;">
<div style="background: #eee;color: #444;padding: 12px 15px; border-radius: 3px 3px 0 0;font-weight: bold;font-size: 16px;">Account Information</div>
<div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Your account e-mail:</span> <span style="font-weight:bold">{email}</span></div>
<div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Your account username:</span> <span style="font-weight:bold">{username}</span></div>
<div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Your account password:</span> <span style="font-weight:bold">{password}</span></div>
</div>
</div>
<div style="color: #999;padding: 20px 30px">
<div style="">Thank you!</div>
<div style="">The <a href="{site_url}" style="color: #3ba1da;text-decoration: none;">{site_name}</a> Team</div>
</div>
</div>
</body>
</html>
+32
View File
@@ -0,0 +1,32 @@
<html>
<body>
<div style="max-width: 600px;margin:20px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="background: #3ba1da;padding: 0 0 0 20px;color: #fff;font-weight: normal;border-radius: 5px">
<div style="float:left;padding: 20px 0;">{site_name}</div>
<div style="float:right;padding: 12px 12px 0 0;"><a href="{user_profile_link}" style="text-decoration: none;vertical-align: middle;color: #fff;"><img src="{user_avatar_url}" width="32" height="32" alt="" style="border-radius: 3px;border: 2px solid #fff;background: #fff;vertical-align: middle;margin-right: 10px;" />{display_name}</a></div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 4px double #ccc;">
<div style="padding: 30px 0;font-size: 20px;text-align: center;line-height: 32px;color: #333;">You recently changed the password associated with your {site_name} account.</div>
<div style="padding: 10px 0 50px 0;text-align: center;"><a href="{password_reset_link}" style="background: #3ba1da;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 1px;border: 4px double #fff;">Go to your Account</a></div>
<div style="border: 1px solid #ddd;padding: 15px;background: #eee;border-radius: 3px;text-align: center;">If you did not make this change and believe your account has been compromised, please <a href="mailto:{admin_email}" style="color: #3ba1da;">contact us</a> immediately.</div>
</div>
<div style="color: #999;padding: 20px 30px">
<div style="">Thank you!</div>
<div style="">The <a href="{site_url}" style="color: #3ba1da;text-decoration: none;">{site_name}</a> Team</div>
</div>
</div>
</body>
</html>
+32
View File
@@ -0,0 +1,32 @@
<html>
<body>
<div style="max-width: 600px;margin:20px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="background: #3ba1da;padding: 0 0 0 20px;color: #fff;font-weight: normal;border-radius: 5px">
<div style="float:left;padding: 20px 0;">{site_name}</div>
<div style="float:right;padding: 12px 12px 0 0;"><a href="{user_profile_link}" style="text-decoration: none;vertical-align: middle;color: #fff;"><img src="{user_avatar_url}" width="32" height="32" alt="" style="border-radius: 3px;border: 2px solid #fff;background: #fff;vertical-align: middle;margin-right: 10px;" />{display_name}</a></div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 4px double #ccc;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">Thank you for signing up with {site_name}!<span style="display: block;color:#333">Please click the following link to activate your account.</span></div>
<div style="padding: 10px 0 50px 0;text-align: center;"><a href="{account_activation_link}" style="background: #3ba1da;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 1px;border: 4px double #fff;">Activate your Account</a></div>
<div style="border: 1px solid #ddd;padding: 15px;background: #eee;border-radius: 3px;text-align: center;">Need help? <a href="mailto:{admin_email}" style="color: #3ba1da;">contact us</a> today.</div>
</div>
<div style="color: #999;padding: 20px 30px">
<div style="">Thank you!</div>
<div style="">The <a href="{site_url}" style="color: #3ba1da;text-decoration: none;">{site_name}</a> Team</div>
</div>
</div>
</body>
</html>
+32
View File
@@ -0,0 +1,32 @@
<html>
<body>
<div style="max-width: 600px;margin:20px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="background: #3ba1da;padding: 0 0 0 20px;color: #fff;font-weight: normal;border-radius: 5px">
<div style="float:left;padding: 20px 0;">{site_name}</div>
<div style="float:right;padding: 12px 12px 0 0;"><a href="{user_profile_link}" style="text-decoration: none;vertical-align: middle;color: #fff;"><img src="{user_avatar_url}" width="32" height="32" alt="" style="border-radius: 3px;border: 2px solid #fff;background: #fff;vertical-align: middle;margin-right: 10px;" />{display_name}</a></div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 4px double #ccc;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;"><span style="display: block;color:#333">This is an automated email to let you know your account has been deleted.</span></div>
<div style="padding: 0 0 30px 0; font-size: 16px;text-align: center;line-height: 28px;">All of your personal information has been permanently deleted and you will no longer be able to login to {site_name}.</div>
<div style="border: 1px solid #ddd;padding: 15px;background: #eee;border-radius: 3px;text-align: center;">If your account has been deleted by accident please <a href="mailto:{admin_email}" style="color: #3ba1da;">contact us</a> immediately.</div>
</div>
<div style="color: #999;padding: 20px 30px">
<div style="">Thank you!</div>
<div style="">The <a href="{site_url}" style="color: #3ba1da;text-decoration: none;">{site_name}</a> Team</div>
</div>
</div>
</body>
</html>
+30
View File
@@ -0,0 +1,30 @@
<html>
<body>
<div style="max-width: 600px;margin:20px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="background: #3ba1da;padding: 0 0 0 20px;color: #fff;font-weight: normal;border-radius: 5px">
<div style="float:left;padding: 20px 0;">{site_name}</div>
<div style="float:right;padding: 12px 12px 0 0;"><a href="{user_profile_link}" style="text-decoration: none;vertical-align: middle;color: #fff;"><img src="{user_avatar_url}" width="32" height="32" alt="" style="border-radius: 3px;border: 2px solid #fff;background: #fff;vertical-align: middle;margin-right: 10px;" />{display_name}</a></div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 4px double #ccc;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;"><span style="display: block;color:#333">This is an automated email to let you know your {site_name} account has been deactivated.</span></div>
<div style="border: 1px solid #ddd;padding: 15px;background: #eee;border-radius: 3px;text-align: center;">If you would like your account to be re-activated please <a href="mailto:{admin_email}" style="color: #3ba1da;">contact us</a>.</div>
</div>
<div style="color: #999;padding: 20px 30px">
<div style="">Thank you!</div>
<div style="">The <a href="{site_url}" style="color: #3ba1da;text-decoration: none;">{site_name}</a> Team</div>
</div>
</div>
</body>
</html>
+30
View File
@@ -0,0 +1,30 @@
<html>
<body>
<div style="max-width: 600px;margin:20px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="background: #3ba1da;padding: 0 0 0 20px;color: #fff;font-weight: normal;border-radius: 5px">
<div style="float:left;padding: 20px 0;">{site_name}</div>
<div style="float:right;padding: 12px 12px 0 0;"><a href="{user_profile_link}" style="text-decoration: none;vertical-align: middle;color: #fff;"><img src="{user_avatar_url}" width="32" height="32" alt="" style="border-radius: 3px;border: 2px solid #fff;background: #fff;vertical-align: middle;margin-right: 10px;" />{display_name}</a></div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 4px double #ccc;">
<div style="padding: 30px 0;font-size: 20px;text-align: center;line-height: 32px;color: #333;">Thank you for signing up with {site_name}! Your account has to be manually reviewed before you can login.</div>
<div style="border: 1px solid #ddd;padding: 15px;background: #eee;border-radius: 3px;text-align: center;">Please allow us some time to process your request and review your information.</div>
</div>
<div style="color: #999;padding: 20px 30px">
<div style="">Thank you!</div>
<div style="">The <a href="{site_url}" style="color: #3ba1da;text-decoration: none;">{site_name}</a> Team</div>
</div>
</div>
</body>
</html>
+30
View File
@@ -0,0 +1,30 @@
<html>
<body>
<div style="max-width: 600px;margin:20px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="background: #3ba1da;padding: 0 0 0 20px;color: #fff;font-weight: normal;border-radius: 5px">
<div style="float:left;padding: 20px 0;">{site_name}</div>
<div style="float:right;padding: 12px 12px 0 0;"><a href="{user_profile_link}" style="text-decoration: none;vertical-align: middle;color: #fff;"><img src="{user_avatar_url}" width="32" height="32" alt="" style="border-radius: 3px;border: 2px solid #fff;background: #fff;vertical-align: middle;margin-right: 10px;" />{display_name}</a></div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 4px double #ccc;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;"><span style="display: block;color:#333"><strong>We apologize.</strong> Your registration request on {site_name} has been rejected.</span></div>
<div style="border: 1px solid #ddd;padding: 15px;background: #eee;border-radius: 3px;text-align: center;">Please feel free to apply at a future date or <a href="mailto:{admin_email}" style="color: #3ba1da;">contact us</a> If you want your information to be reviewed again.</div>
</div>
<div style="color: #999;padding: 20px 30px">
<div style="">Thank you!</div>
<div style="">The <a href="{site_url}" style="color: #3ba1da;text-decoration: none;">{site_name}</a> Team</div>
</div>
</div>
</body>
</html>
+32
View File
@@ -0,0 +1,32 @@
<html>
<body>
<div style="max-width: 600px;margin:20px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="background: #3ba1da;padding: 0 0 0 20px;color: #fff;font-weight: normal;border-radius: 5px">
<div style="float:left;padding: 20px 0;">{site_name}</div>
<div style="float:right;padding: 12px 12px 0 0;"><a href="{user_profile_link}" style="text-decoration: none;vertical-align: middle;color: #fff;"><img src="{user_avatar_url}" width="32" height="32" alt="" style="border-radius: 3px;border: 2px solid #fff;background: #fff;vertical-align: middle;margin-right: 10px;" />{display_name}</a></div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 4px double #ccc;">
<div style="padding: 30px 0;font-size: 20px;text-align: center;line-height: 32px;color: #333;">We received a request to reset the password for your account. If you made this request, click the link below to change your password:</div>
<div style="padding: 10px 0 50px 0;text-align: center;"><a href="{password_reset_link}" style="background: #3ba1da;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 1px;border: 4px double #fff;">Reset your password</a></div>
<div style="border: 1px solid #ddd;padding: 15px;background: #eee;border-radius: 3px;text-align: center;">If you didn't make this request, you can ignore this email or <a href="mailto:{admin_email}" style="color: #3ba1da;">report it to us</a>.</div>
</div>
<div style="color: #999;padding: 20px 30px">
<div style="">Thank you!</div>
<div style="">The <a href="{site_url}" style="color: #3ba1da;text-decoration: none;">{site_name}</a> Team</div>
</div>
</div>
</body>
</html>
+40
View File
@@ -0,0 +1,40 @@
<html>
<body>
<div style="max-width: 600px;margin:20px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="background: #3ba1da;padding: 0 0 0 20px;color: #fff;font-weight: normal;border-radius: 5px">
<div style="float:left;padding: 20px 0;">{site_name}</div>
<div style="float:right;padding: 12px 12px 0 0;"><a href="{user_profile_link}" style="text-decoration: none;vertical-align: middle;color: #fff;"><img src="{user_avatar_url}" width="32" height="32" alt="" style="border-radius: 3px;border: 2px solid #fff;background: #fff;vertical-align: middle;margin-right: 10px;" />{display_name}</a></div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 4px double #ccc;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">Thank you for signing up with {site_name}!<span style="display: block;color:#333">Your account is now active.</span></div>
<div style="padding: 10px 0 50px 0;text-align: center;"><a href="{login_url}" style="background: #3ba1da;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 1px;border: 4px double #fff;">Login to our site</a></div>
<div style="border: 1px solid #eee;padding: 0 0 15px 0;background: #fcfcfc;border-radius: 0 0 3px 3px;">
<div style="background: #eee;color: #444;padding: 12px 15px; border-radius: 3px 3px 0 0;font-weight: bold;font-size: 16px;">Account Information</div>
<div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Your account e-mail:</span> <span style="font-weight:bold">{email}</span></div>
<div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Your account username:</span> <span style="font-weight:bold">{username}</span></div>
<div style="padding: 10px 15px 0 15px;color: #333;"><span style="color:#999">Your account password:</span> <span style="font-weight:bold">{password}</span></div>
</div>
</div>
<div style="color: #999;padding: 20px 30px">
<div style="">Thank you!</div>
<div style="">The <a href="{site_url}" style="color: #3ba1da;text-decoration: none;">{site_name}</a> Team</div>
</div>
</div>
</body>
</html>
+1 -1
View File
@@ -22,4 +22,4 @@
<?php ( um_is_myprofile() ) ? _e('You have not created any posts.','ultimatemember') : _e('This user has not created any posts.','ultimatemember'); ?>
<?php } ?>
<?php } wp_reset_postdata(); ?>
+8
View File
@@ -392,6 +392,14 @@ $this->sections[] = array(
'default' => get_bloginfo('admin_email'),
),
array(
'id' => 'email_html',
'type' => 'switch',
'title' => __( 'Use HTML for E-mails?','ultimatemember' ),
'default' => 0,
'desc' => __('If you enable HTML for e-mails, you can customize the HTML e-mail templates found in <strong>templates/email</strong> folder.','ultimatemember'),
),
array(
'id' => 'welcome_email_on',
'type' => 'switch',