This commit is contained in:
Mykyta Synelnikov
2023-04-18 16:14:21 +03:00
parent 87d58945b6
commit bdb768d963
15 changed files with 322 additions and 331 deletions
@@ -46,17 +46,17 @@
text-align: center;
}
.column-core_version {
.wp-list-table.templates .column-core_version {
width: 100px;
text-align: center;
}
.column-theme_version {
.wp-list-table.templates .column-theme_version {
width: 100px;
text-align: center;
}
.column-status {
.wp-list-table.templates .column-status {
width: 260px;
}
@@ -227,6 +227,16 @@ th.column-email.column-primary {
.um-small-field {
width:50%;
}
.wp-list-table.templates .column-core_version {
width: auto;
text-align: left;
}
.wp-list-table.templates .column-theme_version {
width: auto;
text-align: left;
}
}
/*
+3 -5
View File
@@ -80,7 +80,7 @@ if ( ! class_exists( 'um\admin\Admin' ) ) {
add_action( 'um_admin_do_action__um_can_register_notice', array( &$this, 'um_hide_notice' ) );
add_action( 'um_admin_do_action__um_hide_exif_notice', array( &$this, 'um_hide_notice' ) );
add_action( 'um_admin_do_action__user_action', array( &$this, 'user_action' ) );
add_action( 'um_admin_do_action__check_version', array( &$this, 'check_version' ) );
add_action( 'um_admin_do_action__check_templates_version', array( &$this, 'check_templates_version' ) );
add_action( 'um_admin_do_action__install_core_pages', array( &$this, 'install_core_pages' ) );
@@ -1869,13 +1869,12 @@ if ( ! class_exists( 'um\admin\Admin' ) ) {
}
/**
* Manual check templates versions
*
* @param $action
*/
public function check_version( $action ) {
public function check_templates_version( $action ) {
$templates = UM()->admin_settings()->get_override_templates( true );
$out_date = false;
@@ -1887,7 +1886,7 @@ if ( ! class_exists( 'um\admin\Admin' ) ) {
}
if ( false === $out_date ) {
delete_option( 'um_template_version' );
delete_option( 'um_override_templates_outdated' );
}
$url = add_query_arg(
@@ -1901,7 +1900,6 @@ if ( ! class_exists( 'um\admin\Admin' ) ) {
exit;
}
/**
* Add any custom links to plugin page
*
+4 -4
View File
@@ -720,22 +720,22 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
* Check Templates Versions notice
*/
public function template_version() {
if ( true === (bool) get_option( 'um_template_version' ) ) {
$link = get_admin_url( null, 'admin.php?page=um_options&tab=override_templates' );
if ( true === get_option( 'um_override_templates_outdated' ) ) {
$link = admin_url( 'admin.php?page=um_options&tab=override_templates' );
ob_start();
?>
<p>
<?php
// translators: %s override templates page link.
echo wp_kses( sprintf( __( 'Your templates are out of date. Please visit <a href="%s">override templates status page</a> and update templates', 'ultimate-member' ), $link ), UM()->get_allowed_html( 'admin_notice' ) );
echo wp_kses( sprintf( __( 'Your templates are out of date. Please visit <a href="%s">override templates status page</a> and update templates.', 'ultimate-member' ), $link ), UM()->get_allowed_html( 'admin_notice' ) );
?>
</p>
<?php
$message = ob_get_clean();
UM()->admin()->notices()->add_notice(
'um_private_content_notice',
'um_override_templates_notice',
array(
'class' => 'error',
'message' => $message,
+43 -41
View File
@@ -68,10 +68,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
add_action( 'plugins_loaded', array( $this, 'um_check_template_version' ), 10 );
add_filter( 'um_settings_section_override_templates__content', array( $this, 'settings_override_templates_tab' ), 10, 2 );
add_filter( 'um_settings_structure', array( $this, 'sorting_licenses_options' ), 9999, 1 );
//save handlers
add_action( 'admin_init', array( $this, 'save_settings_handler' ), 10 );
@@ -79,10 +77,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
add_action( 'um_settings_before_save', array( $this, 'check_permalinks_changes' ) );
add_action( 'um_settings_save', array( $this, 'on_settings_save' ) );
add_filter( 'um_change_settings_before_save', array( $this, 'save_email_templates' ) );
//save licenses options
add_action( 'um_settings_before_save', array( $this, 'before_licenses_save' ) );
add_action( 'um_settings_save', array( $this, 'licenses_save' ) );
@@ -1978,7 +1974,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
*/
do_action( "um_settings_page_before_" . $current_tab . "_" . $current_subtab . "_content" );
if ( in_array( $current_tab, apply_filters('um_settings_custom_tabs', array( 'licenses', 'install_info' ) ) ) || in_array( $current_subtab, apply_filters( 'um_settings_custom_subtabs', array(), $current_tab ) ) ) {
if ( in_array( $current_tab, apply_filters('um_settings_custom_tabs', array( 'licenses', 'install_info', 'override_templates' ) ) ) || in_array( $current_subtab, apply_filters( 'um_settings_custom_subtabs', array(), $current_tab ) ) ) {
/**
* UM hook
@@ -3019,7 +3015,13 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
return $section;
}
/**
* Periodically checking the versions of templates.
*
* @since 2.6.1
*
* @return void
*/
public function um_check_template_version() {
$um_check_version = get_transient( 'um_check_template_versions' );
if ( false === $um_check_version ) {
@@ -3027,35 +3029,35 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
}
}
/**
* @param $html
* @param $section_fields
*
* @return string
* HTML for Settings > Override Templates tab.
* @return void
*/
public function settings_override_templates_tab( $html, $section_fields ) {
public function settings_override_templates_tab() {
$um_check_version = get_transient( 'um_check_template_versions' );
?>
<p>
<?php
if ( false !== $um_check_version ) {
echo esc_html__('Last update was at ', 'ultimate-member') . $um_check_version;
echo '<br>';
echo esc_html__('You could re-checked changes manually', 'ultimate-member');
}
?>
</p>
<p>
<a href="<?php echo esc_url( add_query_arg( 'um_adm_action', 'check_version' ) ); ?>" class="button">
<?php echo esc_html__( 'Re-check templates', 'ultimate-member' ); ?>
</a>
</p>
<p>
<a href="#" target="_blank">
<?php esc_html_e( 'Documentation', 'woocommerce' ); ?>
</a>
</p>
<p class="description" style="margin: 20px 0 0 0;">
<a href="<?php echo esc_url( add_query_arg( 'um_adm_action', 'check_templates_version' ) ); ?>" class="button" style="margin-right: 10px;">
<?php esc_html_e( 'Re-check templates', 'ultimate-member' ); ?>
</a>
<?php
if ( false !== $um_check_version ) {
// translators: %s: Last checking templates time.
echo esc_html( sprintf( __( 'Last update: %s. You could re-check changes manually.', 'ultimate-member' ), wp_date( get_option( 'date_format', 'Y-m-d' ) . ' ' . get_option( 'time_format', 'H:i:s' ), $um_check_version ) ) );
} else {
esc_html_e( 'Templates haven\'t check yet. You could check changes manually.', 'ultimate-member' );
}
?>
</p>
<p class="description" style="margin: 20px 0 0 0;">
<?php
/** @noinspection HtmlUnknownTarget */
// translators: %s: Link to the docs article.
echo wp_kses( sprintf( __( 'You may get more details about overriding templates <a href="%s" target="_blank">here</a>.', 'ultimate-member' ), 'https://docs.ultimatemember.com/article/1516-templates-map' ), UM()->get_allowed_html( 'admin_notice' ) );
?>
</p>
<?php
include_once um_path . 'includes/admin/core/list-tables/version-template-list-table.php';
}
@@ -3064,17 +3066,19 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
/**
* @param $get_list boolean
*
* @return array
* @return array|void
*/
public function get_override_templates( $get_list = false ) {
$outdated_files = array();
$scan_files = $this->scan_template_files( um_path . '/templates/' );
$scan_files = apply_filters( 'um_extend_scan_files', $scan_files );
$scan_files = apply_filters( 'um_override_templates_scan_files', $scan_files );
$out_date = false;
set_transient( 'um_check_template_versions', current_time( 'd/m/Y H:i' ), 12 * HOUR_IN_SECONDS );
set_transient( 'um_check_template_versions', time(), 12 * HOUR_IN_SECONDS );
foreach ( $scan_files as $key => $file ) {
if ( ! str_contains( $file, 'email/' ) ) {
$located = apply_filters( 'um_get_path_template', array(), $file );
$located = apply_filters( 'um_override_templates_get_template_path', array(), $file );
if ( ! empty( $located ) ) {
$theme_file = $located['theme'];
@@ -3106,7 +3110,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
}
if ( 0 === $status_code ) {
$out_date = true;
update_option( 'um_template_version', 1 );
update_option( 'um_override_templates_outdated', true );
}
$outdated_files[] = array(
'core_version' => $core_version,
@@ -3119,9 +3123,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
}
}
}
// exit();
if ( false === $out_date ) {
delete_option( 'um_template_version' );
delete_option( 'um_override_templates_outdated' );
}
update_option( 'um_template_statuses', $outdated_files );
if ( true === $get_list ) {
@@ -3142,7 +3146,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
if ( ! empty( $files ) ) {
foreach ( $files as $key => $value ) {
foreach ( $files as $value ) {
if ( ! in_array( $value, array( '.', '..' ), true ) ) {
@@ -3160,14 +3164,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
return $result;
}
/**
* @param $file string
*
* @return string
*/
public static function get_file_version( $file ) {
// Avoid notices if file does not exist.
if ( ! file_exists( $file ) ) {
return '';
@@ -1,50 +1,23 @@
<?php if ( ! defined( 'ABSPATH' ) ) {
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Class UM_Versions_List_Table
*/
class UM_Versions_List_Table extends WP_List_Table {
/**
* @var string
*/
public $no_items_message = '';
/**
* @var array
*/
public $sortable_columns = array();
/**
* @var string
*/
public $default_sorting_field = '';
/**
* @var array
*/
public $actions = array();
/**
* @var array
*/
public $bulk_actions = array();
/**
* @var array
*/
public $columns = array();
/**
* UM_Versions_List_Table constructor.
*
@@ -65,7 +38,6 @@ class UM_Versions_List_Table extends WP_List_Table {
parent::__construct( $args );
}
/**
* @param callable $name
* @param array $arguments
@@ -76,17 +48,41 @@ class UM_Versions_List_Table extends WP_List_Table {
return call_user_func_array( array( $this, $name ), $arguments );
}
/**
*
*/
public function prepare_items() {
$columns = $this->get_columns();
$hidden = array();
$sortable = $this->get_sortable_columns();
$this->_column_headers = array( $columns, $hidden, $sortable );
}
$screen = $this->screen;
$columns = $this->get_columns();
$sortable = $this->get_sortable_columns();
$this->_column_headers = array( $columns, array(), $sortable );
$templates = get_option( 'um_template_statuses', array() );
$templates = is_array( $templates ) ? $templates : array();
@uasort(
$templates,
function ( $a, $b ) {
if ( strtolower( $a['status_code'] ) === strtolower( $b['status_code'] ) ) {
return 0;
}
return ( strtolower( $a['status_code'] ) < strtolower( $b['status_code'] ) ) ? -1 : 1;
}
);
$per_page = $this->get_items_per_page( str_replace( '-', '_', $screen->id . '_per_page' ), 999 );
$paged = $this->get_pagenum();
$this->items = array_slice( $templates, ( $paged - 1 ) * $per_page, $per_page );
$this->set_pagination_args(
array(
'total_items' => count( $templates ),
'per_page' => $per_page,
)
);
}
/**
* @param object $item
@@ -102,7 +98,6 @@ class UM_Versions_List_Table extends WP_List_Table {
}
}
/**
*
*/
@@ -110,51 +105,16 @@ class UM_Versions_List_Table extends WP_List_Table {
echo $this->no_items_message;
}
/**
* @param array $args
*
* @return $this
*/
public function set_sortable_columns( $args = array() ) {
$return_args = array();
foreach ( $args as $k=>$val ) {
if ( is_numeric( $k ) ) {
$return_args[ $val ] = array( $val, $val == $this->default_sorting_field );
} elseif( is_string( $k ) ) {
$return_args[ $k ] = array( $val, $k == $this->default_sorting_field );
} else {
continue;
}
}
$this->sortable_columns = $return_args;
return $this;
}
/**
* @return array
*/
public function get_sortable_columns() {
return $this->sortable_columns;
}
/**
* @param array $args
*
* @return $this
*/
public function set_columns( $args = array() ) {
if ( count( $this->bulk_actions ) ) {
$args = array_merge( array( 'cb' => '<input type="checkbox" />' ), $args );
}
$this->columns = $args;
return $this;
}
/**
* @return array
*/
@@ -162,45 +122,6 @@ class UM_Versions_List_Table extends WP_List_Table {
return $this->columns;
}
/**
* @param array $args
*
* @return $this
*/
public function set_actions( $args = array() ) {
$this->actions = $args;
return $this;
}
/**
* @return array
*/
public function get_actions() {
return $this->actions;
}
/**
* @param array $args
*
* @return $this
*/
public function set_bulk_actions( $args = array() ) {
$this->bulk_actions = $args;
return $this;
}
/**
* @return array
*/
public function get_bulk_actions() {
return $this->bulk_actions;
}
/**
* @param $item
*
@@ -215,7 +136,6 @@ class UM_Versions_List_Table extends WP_List_Table {
return $output;
}
/**
* @param $item
*
@@ -225,19 +145,15 @@ class UM_Versions_List_Table extends WP_List_Table {
return $item['core_version'];
}
/**
* @param $item
*
* @return string
*/
public function column_theme_version( $item ) {
$theme_version = $item['theme_version'] ? $item['theme_version'] : '-';
return $theme_version;
return $item['theme_version'] ? $item['theme_version'] : '-';
}
/**
* @param $item
*
@@ -245,21 +161,11 @@ class UM_Versions_List_Table extends WP_List_Table {
*/
public function column_status( $item ) {
$icon = 1 === $item['status_code'] ? 'um-notification-is-active dashicons-yes' : 'dashicons-no-alt';
$text = $item['status'] . ' <span class="dashicons um-notification-status ' . esc_attr( $icon ) . '"></span>';
return $text;
}
/**
* @param array $attr
*/
public function wpc_set_pagination_args( $attr = array() ) {
$this->set_pagination_args( $attr );
return $item['status'] . ' <span class="dashicons um-notification-status ' . esc_attr( $icon ) . '"></span>';
}
}
$ListTable = new UM_Versions_List_Table(
$list_table = new UM_Versions_List_Table(
array(
'singular' => __( 'Template', 'ultimate-member' ),
'plural' => __( 'Templates', 'ultimate-member' ),
@@ -267,9 +173,6 @@ $ListTable = new UM_Versions_List_Table(
)
);
$per_page = 999;
$paged = $ListTable->get_pagenum();
/**
* UM hook
*
@@ -301,22 +204,12 @@ $columns = apply_filters(
)
);
$ListTable->set_columns( $columns );
$templates = get_option( 'um_template_statuses' ) ? get_option( 'um_template_statuses' ) : array();
$ListTable->prepare_items();
$ListTable->items = array_slice( $templates, ( $paged - 1 ) * $per_page, $per_page );
$ListTable->wpc_set_pagination_args(
array(
'total_items' => count( $templates ),
'per_page' => $per_page,
)
); ?>
$list_table->set_columns( $columns );
$list_table->prepare_items();
?>
<form action="" method="get" name="um-settings-template-versions" id="um-settings-template-versions">
<input type="hidden" name="page" value="um_options" />
<input type="hidden" name="tab" value="override_templates" />
<?php $ListTable->display(); ?>
<?php $list_table->display(); ?>
</form>
+1 -1
View File
@@ -449,7 +449,7 @@ if ( ! class_exists( 'um\Config' ) ) {
'If you did not make this change and believe your {site_name} account has been compromised, please contact us at the following email address: {admin_email}<br /><br />' .
'Thanks,<br />' .
'{site_name}',
'description' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimate-member'),
'description' => __('Whether to send the user an email when he requests to reset password (Recommended, please keep on)','ultimate-member'),
'recipient' => 'user',
'default_active' => true
),
+26 -26
View File
@@ -2,10 +2,10 @@
Author URI: https://ultimatemember.com/
Plugin URI: https://ultimatemember.com/
Contributors: ultimatemember, champsupertramp, nsinelnikov
Donate link:
Donate link:
Tags: community, member, membership, user-profile, user-registration
Requires PHP: 5.6
Requires at least: 5.0
Requires at least: 5.3
Tested up to: 6.2
Stable tag: 2.6.0
License: GNU Version 2 or Any Later Version
@@ -119,7 +119,7 @@ No, we have built Ultimate Member to be extremely easy to use and does not requi
= Is Ultimate Member mobile responsive? =
Yes. Ultimate Member is designed to adapt nicely to any screen resolution. It includes specific designs for phones, tablets and desktops.
Yes. Ultimate Member is designed to adapt nicely to any screen resolution. It includes specific designs for phones, tablets and desktops.
= Is Ultimate Member multi-site compatible? =
@@ -131,7 +131,7 @@ Yes. Ultimate Member will work with any properly coded theme. However, some them
= Does the plugin work with caching plugins? =
The plugin works with popular caching plugins by automatically excluding Ultimate Member pages from being cached. This ensures other visitors to a page will not see the private information of another user. However, if you add features of Ultimate Member to other pages you have to exclude those pages from being cached through your cache plugin settings panel.
The plugin works with popular caching plugins by automatically excluding Ultimate Member pages from being cached. This ensures other visitors to a page will not see the private information of another user. However, if you add features of Ultimate Member to other pages you have to exclude those pages from being cached through your cache plugin settings panel.
= Does Ultimate Member restrict access to wp-login.php when the plugin is active? =
@@ -1494,7 +1494,7 @@ No, you do not need to use our plugins login or registration pages and can us
- Add class for member tagline in directory grid `um-member-tagline-<field key>`
- Add recaptcha support and submit button id
- Update extensions page layout
* Bugfixes:
- Fix Conditional Logic fields
- Fix required field with specific roles in privacy
@@ -1510,7 +1510,7 @@ No, you do not need to use our plugins login or registration pages and can us
* Enhancements:
- Update readme.txt
= 1.3.85: June 19, 2017 =
@@ -1540,12 +1540,12 @@ No, you do not need to use our plugins login or registration pages and can us
* Fix png image upload with transparency
* Fix extra slashes in form edit view when invalid input fields occur
* Remove notices
= 1.3.84: April 18, 2017 =
* Enhancements:
* Adds new action hooks before and after WP_User_Query.
* Adds new action hooks before and after WP_User_Query.
* `um_user_before_query`
* `um_user_after_query`
* Adds a dismiss link in locale / language translation notices
@@ -1561,7 +1561,7 @@ No, you do not need to use our plugins login or registration pages and can us
* Bugfixes
* Fix image url cache filter
* Fix PHP 7.1+ compatibility issues
* Fix PHP 7.1+ compatibility issues
* Fix UTF8 encoding in form fields
* Fix hide member directory option.
* Fix conditional logic fields.
@@ -1576,7 +1576,7 @@ No, you do not need to use our plugins login or registration pages and can us
* Enhancements:
* Adds user avatar's alternate text. The default text is set to `display_name`
* Adds new filter hook to modif the user avatar's alternate text.
* Adds new filter hook to modif the user avatar's alternate text.
* `um_avatar_image_alternate_text`
* Set gravatar for newly registered users
* Adds Tag archive page access settings
@@ -1674,11 +1674,11 @@ No, you do not need to use our plugins login or registration pages and can us
* Bugfixes:
* Fix 'Invalid user ID' on profile update
= 1.3.74: November 29, 2016 =
* Enhancements:
* Improves clear users cache.
* Improves clear users cache.
* Removes user id from redirect URL on registration process for pending review and email activation statuses.
* Bugfixes:
@@ -1723,10 +1723,10 @@ No, you do not need to use our plugins login or registration pages and can us
* Enhancements:
* Improves the bulk filters, actions and redirection in `User Screens`
* Adds new access options to disallow access on homepage and category pages.
* Adds new access options to disallow access on homepage and category pages.
* Adds Textarea to show in profile tagline on Member Directory
* Adds a filter hook `um_allow_frontend_image_uploads` to allow profile and cover photo uploads on front-end pages.
* Adds new filter hooks to modify image field data on upload:
* Adds new filter hooks to modify image field data on upload:
* `um_image_handle_global__option`
* `um_image_handle_{$field}__option`
* Adds a new filter hook to modify the redirection of non logged in users who visit the parent user page.
@@ -1745,7 +1745,7 @@ No, you do not need to use our plugins login or registration pages and can us
* Fixes a typo in Password Reset Email option's description
* Fixes a bug where conditional fields 'equals to' validation on registration process
* Fixes a bug to disable the query with hiding account on member directory
* Fixes a bug to retrieve specific number of members
* Fixes a bug to retrieve specific number of members
* Fixes a bug to retrieve all members with `get_members` new parameter `number`
* Fixes a typo in Welcome Email template.
* Fixes a bug where login form redirection is set to `wp-admin/admin-ajax.php` instead of the current page when loaded via ajax.
@@ -1754,20 +1754,20 @@ No, you do not need to use our plugins login or registration pages and can us
* Fixes a bug where non-logged in users are not able to access the profile page when `Global Site Access` is set to `Site accessible to Logged In Users`.
* Fixes a bug to modify the login redirection url especially when DOING_AJAX is defined.
* Fixes a bug to retrieve correct community roles per site in a Multisite Network setup.
= 1.3.71: September 12, 2016 =
* Enhancements:
* Enhancements:
* Adds a new filter hook to modify the `cover photo` uri.
* `um_user_cover_photo_uri__filter`
* Bugfixes:
* Fixes a bug to allow users change their password in account form
* Fixes a bug to allow role validation and assigning of roles to users on registration process
* Fixes a bug to allow role validation and assigning of roles to users on registration process
* Fixes a bug to avoid blank admin footer text all around WordPress
= 1.3.70: September 09, 2016 =
* Enhancements:
* Enhancements:
* Adds a new filter hook to modify the profile `cover photo` uri.
* `um_user_cover_photo_uri__filter`
* Bugfixes:
@@ -1783,10 +1783,10 @@ No, you do not need to use our plugins login or registration pages and can us
* This improves the performance when loading profiles in directories. It generates profile slug on Profile Update ( front and back-end ), Registration Process and viewing the Users in the back-end.
* Adds new filter hook `um_activate_url` to modify the account activation url.
* Adds new filter hooks to modify first and last name cases
* `um_user_first_name_case`
* `um_user_first_name_case`
* `um_user_last_name_case`
* Adds new filter hooks to modify nonces of image and file uploads
* `um_file_upload_nonce`
* `um_file_upload_nonce`
* `um_image_upload_nonce`
* Improves search member filters and keyword sensitivity
* Improves generation of profile slugs
@@ -1913,13 +1913,13 @@ No, you do not need to use our plugins login or registration pages and can us
* Fixed: select fields with accented characters
* Fixed: select fields with accented text values
* Fixed: select fields in overlay
* Fixed: admin front-end access restriction
* Fixed: admin front-end access restriction
* Fixed: pages query
= 1.3.54: June 02, 2016 =
* Fixed: remove quick edit from Built-in roles row actions
* Fixed: remove notices
* Fixed: dropdown/select fields
* Fixed: dropdown/select fields
* Fixed: upload file extension's case sensitive issue
* Fixed: reset and change password
@@ -1954,7 +1954,7 @@ No, you do not need to use our plugins login or registration pages and can us
* Added: option to force display name to be capitlized
* Fixed: remove notices
* Fixed: redirect url on login
* Fixed: optimize query and object caching
* Fixed: optimize query and object caching
* Fixed: profile photo as required field
* Fixed: admin access in front-end login
* Fixed: typos in tooltips
@@ -2442,7 +2442,7 @@ No, you do not need to use our plugins login or registration pages and can us
* New: user profiles are cached to speed up load time
* New: emoji support added to bio / user descriptions
* Fixed: issues with bio field HTML
* Fixed: issues with bio field HTML
* Fixed: WP-admin PHP warning
* Fixed: bug with localization of en_US.po file
+28 -18
View File
@@ -1,37 +1,47 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php
/**
* Template for the "Account Approved Email".
* Whether to send the user an email when his account is approved.
*
* This template can be overridden by copying it to {your-theme}/ultimate-member/email/approved_email.php
*
* @version 2.6.1
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="color: #444444;font-weight: normal;">
<div style="text-align: center;font-weight:600;font-size:26px;padding: 10px 0;border-bottom: solid 3px #eeeeee;">{site_name}</div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 3px solid #eeeeee;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">Thank you for signing up!<span style="display: block;">Your account is now approved.</span></div>
<div style="padding: 10px 0 50px 0;text-align: center;"><a href="{login_url}" style="background: #555555;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 0.3px;">Login to our site</a></div>
<div style="padding: 0 0 15px 0;">
<div style="background: #eee;color: #444;padding: 12px 15px; border-radius: 3px;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">Set your password:</span> <span style="font-weight:bold"><a href="{password_reset_link}" style="color: #3ba1da;text-decoration: none;">{password_reset_link}</a></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>
<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>
+25 -13
View File
@@ -1,28 +1,40 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php
/**
* Template for the "Account Updated Email".
* Whether to send the user an email when he updated their account.
*
* This template can be overridden by copying it to {your-theme}/ultimate-member/email/changedaccount_email.php
*
* @version 2.6.1
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="color: #444444;font-weight: normal;">
<div style="text-align: center;font-weight:600;font-size:26px;padding: 10px 0;border-bottom: solid 3px #eeeeee;">{site_name}</div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 3px solid #eeeeee;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">You recently updated your account.</div>
<div style="padding: 10px 0 50px 0;text-align: center;"><a href="{user_account_link}" style="background: #555555;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 0.3px;">Go to your Account</a></div>
<div style="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;text-decoration: none;">contact us</a> ASAP.</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>
<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>
+25 -14
View File
@@ -1,28 +1,39 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php
/**
* Template for the "Password Changed Email".
* Whether to send the user an email when he requests to reset password (Recommended, please keep on).
*
* This template can be overridden by copying it to {your-theme}/ultimate-member/email/changedpw_email.php
*
* @version 2.6.1
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="color: #444444;font-weight: normal;">
<div style="text-align: center;font-weight:600;font-size:26px;padding: 10px 0;border-bottom: solid 3px #eeeeee;">{site_name}</div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 3px solid #eeeeee;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">You recently changed the password associated with your account.</div>
<div style="padding: 10px 0 50px 0;text-align: center;"><a href="{user_account_link}" style="background: #555555;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 0.3px;">Go to your Account</a></div>
<div style="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;text-decoration: none;">contact us</a> ASAP.</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>
<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>
+20 -9
View File
@@ -1,28 +1,39 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php
/**
* Template for the "Account Activation Email".
* Whether to send the user an email when his account needs e-mail activation.
*
* This template can be overridden by copying it to {your-theme}/ultimate-member/email/checkmail_email.php
*
* @version 2.6.1
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="color: #444444;font-weight: normal;">
<div style="text-align: center;font-weight:600;font-size:26px;padding: 10px 0;border-bottom: solid 3px #eeeeee;">{site_name}</div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 3px solid #eeeeee;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">Thank you for signing up!<span style="display: block;">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: #555555;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 0.3px;">Activate your Account</a></div>
<div style="padding: 15px;background: #eee;border-radius: 3px;text-align: center;">Need help? <a href="mailto:{admin_email}" style="color: #3ba1da;text-decoration: none;">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>
+25 -13
View File
@@ -1,26 +1,38 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php
/**
* Template for the "Account Deleted Email".
* Whether to send the user an email when his account is deleted.
*
* This template can be overridden by copying it to {your-theme}/ultimate-member/email/deletion_email.php
*
* @version 2.6.1
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="color: #444444;font-weight: normal;">
<div style="text-align: center;font-weight:600;font-size:26px;padding: 10px 0;border-bottom: solid 3px #eeeeee;">{site_name}</div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 3px solid #eeeeee;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">Your account has been deleted.<span style="display: block;">All your personal details and any uploads have been permanently removed.</span></div>
<div style="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;text-decoration: none">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>
<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>
+25 -14
View File
@@ -1,26 +1,37 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php
/**
* Template for the "Account Deactivated Email".
* Whether to send the user an email when his account is deactivated.
*
* This template can be overridden by copying it to {your-theme}/ultimate-member/email/inactive_email.php
*
* @version 2.6.1
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="color: #444444;font-weight: normal;">
<div style="text-align: center;font-weight:600;font-size:26px;padding: 10px 0;border-bottom: solid 3px #eeeeee;">{site_name}</div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 3px solid #eeeeee;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">Your account is now deactivated.</div>
<div style="padding: 15px;background: #eee;border-radius: 3px;text-align: center;">If you want your account to be re-activated, please <a href="mailto:{admin_email}" style="color: #3ba1da;text-decoration: none">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>
<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>
+24 -14
View File
@@ -1,25 +1,35 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php
/**
* Template for the "Account Deletion Notification".
* Whether to receive notification when an account is deleted.
*
* This template can be overridden by copying it to {your-theme}/ultimate-member/email/notification_deletion.php
*
* @version 2.6.1
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="color: #444444;font-weight: normal;">
<div style="text-align: center;font-weight:600;font-size:26px;padding: 10px 0;border-bottom: solid 3px #eeeeee;">{site_name}</div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 3px solid #eeeeee;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">{display_name} has just deleted their {site_name} account.</span></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>
<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>
+21 -10
View File
@@ -1,29 +1,40 @@
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
<?php
/**
* Template for the "Account Welcome Email".
* Whether to send the user an email when his account is automatically approved.
*
* This template can be overridden by copying it to {your-theme}/ultimate-member/email/welcome_email.php
*
* @version 2.6.1
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div style="max-width: 560px;padding: 20px;background: #ffffff;border-radius: 5px;margin:40px auto;font-family: Open Sans,Helvetica,Arial;font-size: 15px;color: #666;">
<div style="color: #444444;font-weight: normal;">
<div style="text-align: center;font-weight:600;font-size:26px;padding: 10px 0;border-bottom: solid 3px #eeeeee;">{site_name}</div>
<div style="clear:both"></div>
</div>
<div style="padding: 0 30px 30px 30px;border-bottom: 3px solid #eeeeee;">
<div style="padding: 30px 0;font-size: 24px;text-align: center;line-height: 40px;">Thank you for signing up!<span style="display: block;">Your account is now active.</span></div>
<div style="padding: 10px 0 50px 0;text-align: center;"><a href="{login_url}" style="background: #555555;color: #fff;padding: 12px 30px;text-decoration: none;border-radius: 3px;letter-spacing: 0.3px;">Login to our site</a></div>
<div style="padding:20px;">If you have any problems, please contact us at <a href="mailto:{admin_email}" style="color: #3ba1da;text-decoration: none">{admin_email}</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>
</div>