- Added: um_member_directory_cover_image_size hook with ability to change the cover photo size on the member directory

- Added: `um_member_directory_get_members_allow` JS hook for 3rd-party integration with the member directory. You could use a time throttle until some data is loaded
- Fixed: Upgrade process on websites where a hosting locks the frequent AJAX requests (added default JS throttle between requests)
This commit is contained in:
nikitasinelnikov
2020-11-18 16:56:01 +02:00
parent 5a731e91f3
commit dfc6f876ac
11 changed files with 121 additions and 50 deletions
+8 -2
View File
@@ -4,7 +4,6 @@ var um_member_directories = [];
var um_member_directory_last_data = [];
function um_parse_current_url() {
var data = {};
@@ -218,8 +217,14 @@ function um_ajax_get_members( directory, args ) {
*
*/
var hash = um_members_get_hash( directory );
var allow = wp.hooks.applyFilters( 'um_member_directory_get_members_allow', true, hash, directory );
if ( ! allow ) {
setTimeout( um_ajax_get_members, 600, directory, args );
return;
}
var page = um_get_current_page( directory );
var search = um_get_search( directory );
var sorting = um_get_sort( directory );
@@ -1330,6 +1335,7 @@ jQuery(document.body).ready( function() {
jQuery( '.um-directory' ).each( function() {
var directory = jQuery(this);
var hash = um_members_get_hash( directory );
um_member_directories.push( hash );
// slideup/slidedown animation fix for grid filters bar
+1 -1
View File
File diff suppressed because one or more lines are too long
+25 -21
View File
@@ -186,7 +186,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
if ( $handle ) {
while ( false !== ( $filename = readdir( $handle ) ) ) {
if ( $filename != '.' && $filename != '..' ) {
if ( is_dir( $this->packages_dir . DIRECTORY_SEPARATOR . $filename ) ) {
if ( is_dir( $this->packages_dir . $filename ) ) {
$update_versions[] = $filename;
}
}
@@ -205,7 +205,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
*/
function init_packages_ajax() {
foreach ( $this->necessary_packages as $package ) {
$hooks_file = $this->packages_dir . DIRECTORY_SEPARATOR . $package . DIRECTORY_SEPARATOR . 'hooks.php';
$hooks_file = $this->packages_dir . $package . DIRECTORY_SEPARATOR . 'hooks.php';
if ( file_exists( $hooks_file ) ) {
$pack_ajax_hooks = include_once $hooks_file;
@@ -222,7 +222,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
*/
function init_packages_ajax_handlers() {
foreach ( $this->necessary_packages as $package ) {
$handlers_file = $this->packages_dir . DIRECTORY_SEPARATOR . $package . DIRECTORY_SEPARATOR . 'functions.php';
$handlers_file = $this->packages_dir . $package . DIRECTORY_SEPARATOR . 'functions.php';
if ( file_exists( $handlers_file ) ) {
include_once $handlers_file;
}
@@ -257,6 +257,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
</div>
<script type="text/javascript">
var um_request_throttle = 15000;
var um_packages;
jQuery( document ).ready( function() {
@@ -293,23 +294,26 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
*/
function um_run_upgrade() {
if ( um_packages.length ) {
var pack = um_packages.shift();
um_add_upgrade_log( '<br />=================================================================' );
um_add_upgrade_log( '<h4 style="font-weight: bold;">Prepare package "' + pack + '" version...</h4>' );
jQuery.ajax({
url: '<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>',
type: 'POST',
dataType: 'html',
data: {
action: 'um_run_package',
pack: pack,
nonce: um_admin_scripts.nonce
},
success: function( html ) {
um_add_upgrade_log( 'Package "' + pack + '" is ready. Start the execution...' );
jQuery( '#run_upgrade' ).after( html );
}
});
// 30s between upgrades
setTimeout( function () {
var pack = um_packages.shift();
um_add_upgrade_log( '<br />=================================================================' );
um_add_upgrade_log( '<h4 style="font-weight: bold;">Prepare package "' + pack + '" version...</h4>' );
jQuery.ajax({
url: '<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>',
type: 'POST',
dataType: 'html',
data: {
action: 'um_run_package',
pack: pack,
nonce: um_admin_scripts.nonce
},
success: function( html ) {
um_add_upgrade_log( 'Package "' + pack + '" is ready. Start the execution...' );
jQuery( '#run_upgrade' ).after( html );
}
});
}, um_request_throttle );
} else {
window.location = '<?php echo add_query_arg( array( 'page' => 'ultimatemember', 'msg' => 'updated' ), admin_url( 'admin.php' ) ) ?>'
}
@@ -353,7 +357,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
exit('');
} else {
ob_start();
include_once $this->packages_dir . DIRECTORY_SEPARATOR . sanitize_text_field( $_POST['pack'] ) . DIRECTORY_SEPARATOR . 'init.php';
include_once $this->packages_dir . sanitize_text_field( $_POST['pack'] ) . DIRECTORY_SEPARATOR . 'init.php';
ob_get_flush();
exit;
}
+56 -19
View File
@@ -23,7 +23,10 @@
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
upgrade_roles();
setTimeout( function () {
upgrade_roles();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -50,7 +53,10 @@
um_roles_data = response.data.roles;
um_add_upgrade_log( '<?php echo esc_js( __( 'Upgrade Users...', 'ultimate-member' ) ) ?>' );
get_users_per_role();
setTimeout( function () {
get_users_per_role();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -86,7 +92,9 @@
um_add_upgrade_log( '<?php echo esc_js( __( 'Start users upgrading...', 'ultimate-member' ) ) ?>');
users_pages = Math.ceil( response.data.count / users_per_page );
update_user_per_page( role.role_key, role.key_in_meta );
setTimeout( function () {
update_user_per_page( role.role_key, role.key_in_meta );
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -96,7 +104,9 @@
}
});
} else {
upgrade_content_restriction();
setTimeout( function () {
upgrade_content_restriction();
}, um_request_throttle );
}
return false;
@@ -120,7 +130,9 @@
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
current_page++;
update_user_per_page( role_key, key_in_meta );
setTimeout( function () {
update_user_per_page( role_key, key_in_meta );
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -130,7 +142,9 @@
}
});
} else {
get_users_per_role();
setTimeout( function () {
get_users_per_role();
}, um_request_throttle );
}
}
@@ -149,7 +163,9 @@
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
upgrade_settings();
setTimeout( function () {
upgrade_settings();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -175,7 +191,9 @@
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
upgrade_menus();
setTimeout( function () {
upgrade_menus();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -201,7 +219,9 @@
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
upgrade_mc_lists();
setTimeout( function () {
upgrade_mc_lists();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -227,7 +247,9 @@
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
upgrade_social_login();
setTimeout( function () {
upgrade_social_login();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -253,7 +275,9 @@
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
upgrade_cpt();
setTimeout( function () {
upgrade_cpt();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -279,7 +303,9 @@
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
get_forums();
setTimeout( function () {
get_forums();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -309,7 +335,9 @@
forums_pages = Math.ceil( response.data.count / users_per_page );
update_forums_per_page();
setTimeout( function () {
update_forums_per_page();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -336,7 +364,9 @@
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
current_page++;
update_forums_per_page();
setTimeout( function () {
update_forums_per_page();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -346,7 +376,9 @@
}
});
} else {
get_products();
setTimeout( function () {
get_products();
}, um_request_throttle );
}
}
@@ -370,8 +402,9 @@
um_add_upgrade_log( response.data.message );
products_pages = Math.ceil( response.data.count / users_per_page );
update_products_per_page();
setTimeout( function () {
update_products_per_page();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -398,7 +431,9 @@
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
current_page++;
update_products_per_page();
setTimeout( function () {
update_products_per_page();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -408,7 +443,9 @@
}
});
} else {
upgrade_email_templates();
setTimeout( function () {
upgrade_email_templates();
}, um_request_throttle );
}
}
+3 -1
View File
@@ -16,7 +16,9 @@
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
um_clear_cache2010();
setTimeout( function () {
um_clear_cache2010();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -17,7 +17,9 @@
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
um_memberdir210beta1();
setTimeout( function () {
um_memberdir210beta1();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -24,7 +24,9 @@
users_pages = Math.ceil( response.data.count / users_per_page );
um_update_metadata_per_user213beta3();
setTimeout( function () {
um_update_metadata_per_user213beta3();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -49,7 +51,9 @@
if ( typeof response.data != 'undefined' ) {
um_add_upgrade_log( response.data.message );
current_page++;
um_update_metadata_per_user213beta3();
setTimeout( function () {
um_update_metadata_per_user213beta3();
}, um_request_throttle );
} else {
um_wrong_ajax();
}
@@ -59,7 +63,9 @@
}
});
} else {
um_metatable213beta3();
setTimeout( function () {
um_metatable213beta3();
}, um_request_throttle );
}
}
+1 -1
View File
@@ -2354,7 +2354,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
if ( $this->is_error( $key ) ) {
$output .= $this->field_error( $this->show_error( $key ) );
}else if ( $this->is_notice( $key ) ) {
} elseif ( $this->is_notice( $key ) ) {
$output .= $this->field_notice( $this->show_notice( $key ) );
}
+2
View File
@@ -2531,6 +2531,8 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
$this->cover_size = UM()->mobile()->isTablet() ? $sizes[1] : end( $sizes );
$this->cover_size = apply_filters( 'um_member_directory_cover_image_size', $this->cover_size, $directory_data );
$avatar_size = UM()->options()->get( 'profile_photosize' );
$this->avatar_size = str_replace( 'px', '', $avatar_size );
+12
View File
@@ -155,6 +155,18 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
* To learn more about version 2.1 please see this [docs](https://docs.ultimatemember.com/article/1512-upgrade-2-1-0)
* UM2.1+ is a significant update to the Member Directories' code base from 2.0.x. Please make sure you take a full-site backup with restore point before updating the plugin
= 2.1.13: November xx, 2020 =
* Enhancements:
- Added: `um_member_directory_cover_image_size` hook with ability to change the cover photo size on the member directory
- Added: `um_member_directory_get_members_allow` JS hook for 3rd-party integration with the member directory. You could use a time throttle until some data is loaded
* Bugfixes:
- Fixed: Upgrade process on websites where a hosting locks the frequent AJAX requests (added default JS throttle between requests)
- Fixed: Getting page content of the GDPR privacy policies
= 2.1.12: October 29, 2020 =
* Enhancements:
+1 -1
View File
@@ -3,7 +3,7 @@
Plugin Name: Ultimate Member
Plugin URI: http://ultimatemember.com/
Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
Version: 2.1.12
Version: 2.1.13-beta1
Author: Ultimate Member
Author URI: http://ultimatemember.com/
Text Domain: ultimate-member