From 898753cbb9d5011063a0f00831d0362f064b2adf Mon Sep 17 00:00:00 2001
From: nikitozzzzzzz
Date: Tue, 13 Nov 2018 09:47:56 +0200
Subject: [PATCH 01/10] - fixed "bio" field value on the error submittion;
---
includes/core/um-actions-profile.php | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/includes/core/um-actions-profile.php b/includes/core/um-actions-profile.php
index 1a0042b0..500f28af 100644
--- a/includes/core/um-actions-profile.php
+++ b/includes/core/um-actions-profile.php
@@ -888,9 +888,7 @@ function um_profile_header( $args ) {
data-character-limit="options()->get( 'profile_bio_maxchars' ); ?>"
placeholder=""
name=""
- id="">
+ id="">fields()->field_value( 'description' ) ?>
options()->get( 'profile_bio_maxchars' ); ?>
Date: Wed, 14 Nov 2018 11:08:05 +0200
Subject: [PATCH 02/10] - 2.0.31 release;
---
README.md | 4 ++--
includes/core/class-enqueue.php | 23 ++++++++++++++---------
languages/ultimate-member-en_US.po | 18 +++++++++---------
readme.txt | 7 ++++++-
ultimate-member.php | 2 +-
5 files changed, 32 insertions(+), 22 deletions(-)
diff --git a/README.md b/README.md
index c65e6b13..21b252e4 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ Ultimate Member is the #1 user profile & membership plugin for WordPress. The pl
| Latest Version |Requires at least|Stable Tag|
| :------------: |:------------:|:------------:|
-| 2.0.30 | WordPress 4.9 or higher| 2.0.30 |
+| 2.0.31 | WordPress 4.9 or higher| 2.0.31 |
Features of the plugin include:
@@ -48,7 +48,7 @@ GNU Version 2 or Any Later Version
Releases
====================
-[Official Release Version: 2.0.30](https://github.com/ultimatemember/ultimatemember/releases/tag/2.0.30).
+[Official Release Version: 2.0.31](https://github.com/ultimatemember/ultimatemember/releases/tag/2.0.31).
Changelog
====================
diff --git a/includes/core/class-enqueue.php b/includes/core/class-enqueue.php
index 1ef61d0b..f1a778f7 100644
--- a/includes/core/class-enqueue.php
+++ b/includes/core/class-enqueue.php
@@ -88,17 +88,15 @@ if ( ! class_exists( 'um\core\Enqueue' ) ) {
wp_register_script( 'um_fileupload', $this->js_baseurl . 'um-fileupload' . $this->suffix . '.js', array( 'jquery', 'um_jquery_form' ), ultimatemember_version, true );
- $datetime_deps = array( 'jquery' );
- // load a localized version for date/time
- $locale = get_locale();
- 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', array( 'jquery' ), ultimatemember_version, true );
- $datetime_deps[] = 'um_datetime_locale';
- }
- wp_register_script( 'um_datetime', $this->js_baseurl . 'pickadate/picker.js', $datetime_deps, ultimatemember_version, true );
+ wp_register_script( 'um_datetime', $this->js_baseurl . 'pickadate/picker.js', array( 'jquery' ), ultimatemember_version, true );
wp_register_script( 'um_datetime_date', $this->js_baseurl . 'pickadate/picker.date.js', array( 'jquery', 'um_datetime' ), ultimatemember_version, true );
wp_register_script( 'um_datetime_time', $this->js_baseurl . 'pickadate/picker.time.js', array( 'jquery', 'um_datetime' ), ultimatemember_version, true );
wp_register_script( 'um_datetime_legacy', $this->js_baseurl . 'pickadate/legacy.js', array( 'jquery', 'um_datetime' ), ultimatemember_version, true );
+ // load a localized version for date/time
+ $locale = get_locale();
+ 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', array( 'jquery', 'um_datetime' ), ultimatemember_version, true );
+ }
wp_register_script( 'um_tipsy', $this->js_baseurl . 'um-tipsy' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, true );
wp_register_script( 'um_raty', $this->js_baseurl . 'um-raty' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, true );
@@ -110,7 +108,7 @@ if ( ! class_exists( 'um\core\Enqueue' ) ) {
wp_register_script('um_functions', $this->js_baseurl . 'um-functions' . $this->suffix . '.js', array( 'jquery', 'jquery-masonry', 'wp-util', 'um_scrollbar' ), ultimatemember_version, true );
wp_register_script( 'um-gdpr', $this->js_baseurl . 'um-gdpr' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, false );
wp_register_script('um_conditional', $this->js_baseurl . 'um-conditional' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, true );
- wp_register_script('um_scripts', $this->js_baseurl . 'um-scripts' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'um_conditional' ), ultimatemember_version, true );
+ wp_register_script('um_scripts', $this->js_baseurl . 'um-scripts' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'um_conditional', 'um_datetime', 'um_datetime_date', 'um_datetime_time', 'um_datetime_legacy' ), ultimatemember_version, true );
/**
* UM hook
*
@@ -327,6 +325,13 @@ if ( ! class_exists( 'um\core\Enqueue' ) ) {
wp_enqueue_script('um_datetime_date');
wp_enqueue_script('um_datetime_time');
wp_enqueue_script('um_datetime_legacy');
+
+ // load a localized version for date/time
+ $locale = get_locale();
+ if ( $locale && file_exists( um_path . 'assets/js/pickadate/translations/' . $locale . '.js' ) ) {
+ wp_enqueue_script('um_datetime_locale' );
+ }
+
wp_enqueue_style('um_datetime');
wp_enqueue_style('um_datetime_date');
wp_enqueue_style('um_datetime_time');
diff --git a/languages/ultimate-member-en_US.po b/languages/ultimate-member-en_US.po
index fa97e398..56e21e0c 100644
--- a/languages/ultimate-member-en_US.po
+++ b/languages/ultimate-member-en_US.po
@@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Ultimate Member\n"
-"POT-Creation-Date: 2018-11-12 17:51+0200\n"
-"PO-Revision-Date: 2018-11-12 17:52+0200\n"
+"POT-Creation-Date: 2018-11-14 11:06+0200\n"
+"PO-Revision-Date: 2018-11-14 11:06+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en_US\n"
@@ -3536,8 +3536,8 @@ msgstr ""
#: includes/core/um-actions-profile.php:554
#: includes/core/um-actions-profile.php:693
#: includes/core/um-actions-profile.php:726
-#: includes/core/um-actions-profile.php:1073
-#: includes/core/um-actions-profile.php:1080
+#: includes/core/um-actions-profile.php:1071
+#: includes/core/um-actions-profile.php:1078
msgid "Cancel"
msgstr ""
@@ -3900,7 +3900,7 @@ msgid "Members"
msgstr ""
#: includes/class-config.php:133 includes/class-config.php:738
-#: includes/core/um-actions-profile.php:1079
+#: includes/core/um-actions-profile.php:1077
#: includes/core/um-actions-user.php:15
msgid "Logout"
msgstr ""
@@ -6913,17 +6913,17 @@ msgstr ""
msgid "Tell us a bit about yourself..."
msgstr ""
-#: includes/core/um-actions-profile.php:907
+#: includes/core/um-actions-profile.php:905
#, php-format
msgid "This user account status is %s"
msgstr ""
-#: includes/core/um-actions-profile.php:1046
-#: includes/core/um-actions-profile.php:1077
+#: includes/core/um-actions-profile.php:1044
+#: includes/core/um-actions-profile.php:1075
msgid "Edit Profile"
msgstr ""
-#: includes/core/um-actions-profile.php:1078
+#: includes/core/um-actions-profile.php:1076
msgid "My Account"
msgstr ""
diff --git a/readme.txt b/readme.txt
index 65bf3aa6..908b046c 100644
--- a/readme.txt
+++ b/readme.txt
@@ -6,7 +6,7 @@ Donate link:
Tags: community, member, membership, user-profile, user-registration
Requires at least: 4.7
Tested up to: 4.9
-Stable tag: 2.0.30
+Stable tag: 2.0.31
License: GNU Version 2 or Any Later Version
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
@@ -137,6 +137,11 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
= Important: UM2.0+ is a significant update to the code base from 1.3.88. Please make sure you take a full-site backup with restore point before updating the plugin =
+= 2.0.31: November 14, 2018 =
+
+* Bugfixes:
+ - Fixed compatibility with JS/CSS cache plugins
+
= 2.0.30: November 12, 2018 =
* Bugfixes:
diff --git a/ultimate-member.php b/ultimate-member.php
index 6fb8cc17..bfcda217 100644
--- a/ultimate-member.php
+++ b/ultimate-member.php
@@ -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.0.30
+Version: 2.0.31
Author: Ultimate Member
Author URI: http://ultimatemember.com/
Text Domain: ultimate-member
From 819d5333db8613ca15bcbc032eba3942043019a5 Mon Sep 17 00:00:00 2001
From: nikitozzzzzzz
Date: Thu, 15 Nov 2018 18:53:59 +0200
Subject: [PATCH 03/10] - notices texts changes; - remove language notice; -
fixed duplicated "redirect_to" field; - added compatibility with PHP7.2
(removed deprecated functions and ini variables);
---
includes/admin/class-admin.php | 36 ---------
includes/admin/core/class-admin-menu.php | 74 -------------------
includes/admin/core/class-admin-notices.php | 40 ----------
includes/admin/core/class-admin-settings.php | 31 +++++---
includes/admin/core/class-admin-upgrade.php | 30 --------
.../templates/dashboard/language-download.php | 9 ---
.../templates/dashboard/language-update.php | 9 ---
includes/admin/templates/extensions.php | 6 +-
includes/class-init.php | 33 ---------
includes/core/um-actions-misc.php | 18 ++---
includes/um-short-functions.php | 30 ++++----
readme.txt | 2 +-
12 files changed, 44 insertions(+), 274 deletions(-)
delete mode 100644 includes/admin/templates/dashboard/language-download.php
delete mode 100644 includes/admin/templates/dashboard/language-update.php
diff --git a/includes/admin/class-admin.php b/includes/admin/class-admin.php
index e8368818..48494113 100644
--- a/includes/admin/class-admin.php
+++ b/includes/admin/class-admin.php
@@ -37,7 +37,6 @@ if ( ! class_exists( 'um\admin\Admin' ) ) {
add_action( 'um_admin_do_action__purge_temp', array( &$this, 'purge_temp' ) );
add_action( 'um_admin_do_action__manual_upgrades_request', array( &$this, 'manual_upgrades_request' ) );
add_action( 'um_admin_do_action__duplicate_form', array( &$this, 'duplicate_form' ) );
- add_action( 'um_admin_do_action__um_language_downloader', array( &$this, 'um_language_downloader' ) );
add_action( 'um_admin_do_action__um_hide_locale_notice', array( &$this, 'um_hide_notice' ) );
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' ) );
@@ -209,41 +208,6 @@ if ( ! class_exists( 'um\admin\Admin' ) ) {
}
- /**
- * Download a language remotely
- *
- * @param $action
- */
- function um_language_downloader( $action ) {
- if ( !is_admin() || !current_user_can('manage_options') ) die();
-
- $locale = get_option('WPLANG');
- if ( !$locale ) return;
- if ( !isset( UM()->available_languages[$locale] ) ) return;
-
- $path = UM()->files()->upload_basedir;
- $path = str_replace('/uploads/ultimatemember','',$path);
- $path = $path . '/languages/plugins/';
- $path = str_replace('//','/',$path);
-
- $remote = 'https://ultimatemember.com/wp-content/languages/plugins/ultimatemember-' . $locale . '.po';
- $remote2 = 'https://ultimatemember.com/wp-content/languages/plugins/ultimatemember-' . $locale . '.mo';
-
- $remote_tmp = download_url( $remote, $timeout = 300 );
- copy( $remote_tmp, $path . 'ultimatemember-' . $locale . '.po' );
- unlink( $remote_tmp );
-
- $remote2_tmp = download_url( $remote2, $timeout = 300 );
- copy( $remote2_tmp, $path . 'ultimatemember-' . $locale . '.mo' );
- unlink( $remote2_tmp );
-
- $url = remove_query_arg('um_adm_action', UM()->permalinks()->get_current_url() );
- $url = add_query_arg('update','language_updated',$url);
- exit( wp_redirect($url) );
-
- }
-
-
/**
* Action to hide notices in admin
*
diff --git a/includes/admin/core/class-admin-menu.php b/includes/admin/core/class-admin-menu.php
index 26bafe60..e0f17f4a 100644
--- a/includes/admin/core/class-admin-menu.php
+++ b/includes/admin/core/class-admin-menu.php
@@ -215,14 +215,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
add_meta_box( 'um-metaboxes-sidebox-2', __( 'User Cache', 'ultimate-member' ), array( &$this, 'user_cache' ), $this->pagehook, 'side', 'core' );
- if ( $this->language_avaialable_not_installed() ) {
- add_meta_box( 'um-metaboxes-sidebox-2', __( 'Language', 'ultimate-member' ), array( &$this, 'dl_language' ), $this->pagehook, 'side', 'core' );
- } else if ( $this->language_avaialable_installed() ) {
- add_meta_box( 'um-metaboxes-sidebox-2', __( 'Language', 'ultimate-member' ), array( &$this, 'up_language' ), $this->pagehook, 'side', 'core' );
- } else if ( $this->language_not_available() ) {
- add_meta_box( 'um-metaboxes-sidebox-2', __( 'Language', 'ultimate-member' ), array( &$this, 'ct_language' ), $this->pagehook, 'side', 'core' );
- }
-
//If there are active and licensed extensions - show metabox for upgrade it
$exts = UM()->plugin_updater()->um_get_active_plugins();
if ( 0 < count( $exts ) ) {
@@ -231,33 +223,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
}
- /**
- *
- */
- function up_language() {
- $locale = get_option('WPLANG');
- include_once UM()->admin()->templates_path . 'dashboard/language-update.php';
- }
-
-
- /**
- *
- */
- function dl_language() {
- $locale = get_option('WPLANG');
- include_once UM()->admin()->templates_path . 'dashboard/language-download.php';
- }
-
-
- /**
- *
- */
- function ct_language() {
- $locale = get_option('WPLANG');
- include_once UM()->admin()->templates_path . 'dashboard/language-contrib.php';
- }
-
-
/**
*
*/
@@ -298,45 +263,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
}
- /**
- * Language not available
- *
- * @return bool
- */
- function language_not_available() {
- $locale = get_option( 'WPLANG' );
- if ( $locale && !strstr($locale, 'en_') && !isset( UM()->available_languages[$locale] ) && !file_exists( WP_LANG_DIR . '/plugins/ultimatemember-' . $locale . '.mo' ) )
- return true;
- return false;
- }
-
-
- /**
- * Language available but not installed
- *
- * @return bool
- */
- function language_avaialable_not_installed() {
- $locale = get_option('WPLANG');
- if ( $locale && isset( UM()->available_languages[$locale] ) && !file_exists( WP_LANG_DIR . '/plugins/ultimatemember-' . $locale . '.mo' ) )
- return true;
- return false;
- }
-
-
- /**
- * Language available and installed
- *
- * @return bool
- */
- function language_avaialable_installed() {
- $locale = get_option('WPLANG');
- if ( $locale && isset( UM()->available_languages[$locale] ) && file_exists( WP_LANG_DIR . '/plugins/ultimatemember-' . $locale . '.mo' ) )
- return true;
- return false;
- }
-
-
/**
* Get a directory size
*
diff --git a/includes/admin/core/class-admin-notices.php b/includes/admin/core/class-admin-notices.php
index 05a032b6..1419932a 100644
--- a/includes/admin/core/class-admin-notices.php
+++ b/includes/admin/core/class-admin-notices.php
@@ -38,7 +38,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
$this->old_extensions_notice();
$this->install_core_page_notice();
$this->exif_extension_notice();
- $this->localize_note();
$this->show_update_messages();
$this->check_wrong_install_folder();
$this->admin_notice_opt_in();
@@ -358,45 +357,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
}
- /**
- * Localization notice
- */
- function localize_note() {
- $locale = get_option( 'WPLANG' );
- if ( ! $locale || strstr( $locale, 'en_' ) ) {
- return;
- }
-
- if ( file_exists( WP_LANG_DIR . '/plugins/ultimatemember-' . $locale . '.mo' ) ) {
- return;
- }
-
- $hide_locale_notice = get_option( 'um_hide_locale_notice' );
- if ( $hide_locale_notice ) {
- return;
- }
-
- if ( isset( UM()->available_languages[ $locale ] ) ) {
-
- $download_uri = add_query_arg( 'um_adm_action', 'um_language_downloader' );
-
- $this->add_notice( 'locale', array(
- 'class' => 'updated',
- 'message' => '' . sprintf( __( 'Your site language is %1$s . Good news! Ultimate Member is already available in %2$s language . Download the translation files and start using the plugin in your language now. Hide this notice ','ultimate-member'), $locale, UM()->available_languages[ $locale ], $download_uri, add_query_arg( 'um_adm_action', 'um_hide_locale_notice' ) ) . '
',
- ), 40 );
-
- } else {
-
- $this->add_notice( 'locale', array(
- 'class' => 'updated',
- 'message' => '' . sprintf( __( 'Ultimate Member has not yet been translated to your language: %1$s . If you have translated the plugin you need put these files ultimatemember-%1$s.po and ultimatemember-%1$s.mo in /wp-content/languages/plugins/ for the plugin to be translated in your language. Hide this notice ', 'ultimate-member' ), $locale, add_query_arg( 'um_adm_action', 'um_hide_locale_notice' ) ) . '
',
- ), 40 );
-
- }
-
- }
-
-
/**
* Updating users
*/
diff --git a/includes/admin/core/class-admin-settings.php b/includes/admin/core/class-admin-settings.php
index af0435f9..3e9a43a5 100644
--- a/includes/admin/core/class-admin-settings.php
+++ b/includes/admin/core/class-admin-settings.php
@@ -1061,19 +1061,25 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
*/
function sorting_licenses_options( $settings ) {
//sorting licenses
- if ( empty( $settings['licenses']['fields'] ) )
+ if ( empty( $settings['licenses']['fields'] ) ) {
return $settings;
+ }
+
$licenses = $settings['licenses']['fields'];
- @uasort( $licenses, create_function( '$a,$b', 'return strnatcasecmp($a["label"],$b["label"]);' ) );
+ @uasort( $licenses, function( $a, $b ) {
+ return strnatcasecmp( $a["label"], $b["label"] );
+ } );
$settings['licenses']['fields'] = $licenses;
-
//sorting extensions
- if ( empty( $settings['extensions']['sections'] ) )
+ if ( empty( $settings['extensions']['sections'] ) ) {
return $settings;
+ }
$extensions = $settings['extensions']['sections'];
- @uasort( $extensions, create_function( '$a,$b', 'return strnatcasecmp($a["title"],$b["title"]);' ) );
+ @uasort( $extensions, function( $a, $b ) {
+ return strnatcasecmp( $a["title"], $b["title"] );
+ } );
$keys = array_keys( $extensions );
if ( $keys[0] != "" ) {
@@ -1082,7 +1088,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
$extensions[$new_key] = $temp;
$extensions[""] = $extensions[$keys[0]];
unset( $extensions[$keys[0]] );
- @uasort( $extensions, create_function( '$a,$b', 'return strnatcasecmp($a["title"],$b["title"]);' ) );
+ @uasort( $extensions, function( $a, $b ) {
+ return strnatcasecmp( $a["title"], $b["title"] );
+ } );
}
$settings['extensions']['sections'] = $extensions;
@@ -1099,13 +1107,14 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
*/
function get_section_fields( $tab, $section ) {
- if ( empty( $this->settings_structure[$tab] ) )
+ if ( empty( $this->settings_structure[ $tab ] ) ) {
return array();
+ }
- if ( ! empty( $this->settings_structure[$tab]['sections'][$section]['fields'] ) ) {
- return $this->settings_structure[$tab]['sections'][$section]['fields'];
- } elseif ( ! empty( $this->settings_structure[$tab]['fields'] ) ) {
- return $this->settings_structure[$tab]['fields'];
+ if ( ! empty( $this->settings_structure[ $tab ]['sections'][ $section ]['fields'] ) ) {
+ return $this->settings_structure[ $tab ]['sections'][ $section ]['fields'];
+ } elseif ( ! empty( $this->settings_structure[ $tab ]['fields'] ) ) {
+ return $this->settings_structure[ $tab ]['fields'];
}
return array();
diff --git a/includes/admin/core/class-admin-upgrade.php b/includes/admin/core/class-admin-upgrade.php
index 2179daf4..86237bfc 100644
--- a/includes/admin/core/class-admin-upgrade.php
+++ b/includes/admin/core/class-admin-upgrade.php
@@ -350,36 +350,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
wp_send_json_success( array( 'packages' => $update_versions ) );
}
- /**
- * Load packages
- */
- /*public function packages() {
- if ( ! ini_get( 'safe_mode' ) ) {
- @set_time_limit(0);
- }
-
- $this->set_update_versions();
-
- $um_last_version_upgrade = get_option( 'um_last_version_upgrade' );
- $um_last_version_upgrade = ! $um_last_version_upgrade ? '0.0.0' : $um_last_version_upgrade;
-
- foreach ( $this->update_versions as $update_version ) {
-
- if ( version_compare( $update_version, $um_last_version_upgrade, '<=' ) )
- continue;
-
- if ( version_compare( $update_version, ultimatemember_version, '>' ) )
- continue;
-
- $file_path = $this->packages_dir . $update_version . '.php';
-
- if ( file_exists( $file_path ) ) {
- include_once( $file_path );
- update_option( 'um_last_version_upgrade', $update_version );
- }
- }
- }*/
-
/**
* Parse packages dir for packages files
diff --git a/includes/admin/templates/dashboard/language-download.php b/includes/admin/templates/dashboard/language-download.php
deleted file mode 100644
index ab5f06d7..00000000
--- a/includes/admin/templates/dashboard/language-download.php
+++ /dev/null
@@ -1,9 +0,0 @@
-
- %1$s (%2$s).', 'ultimate-member' ), UM()->available_languages[ $locale ], $locale ); ?>
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/includes/admin/templates/dashboard/language-update.php b/includes/admin/templates/dashboard/language-update.php
deleted file mode 100644
index 4287e3b7..00000000
--- a/includes/admin/templates/dashboard/language-update.php
+++ /dev/null
@@ -1,9 +0,0 @@
-
- %1$s (%2$s).', 'ultimate-member' ), UM()->available_languages[ $locale ], $locale ); ?>
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/includes/admin/templates/extensions.php b/includes/admin/templates/extensions.php
index c3755722..e475db72 100644
--- a/includes/admin/templates/extensions.php
+++ b/includes/admin/templates/extensions.php
@@ -162,11 +162,11 @@ $free['terms-conditions'] = array(
- Core Extensions Bundle – Check out our extensions bundle which includes all extensions at a significant discount.
+ All Access Pass – Get access to all Ultimate Member extensions at a significant discount with our All Access Pass.', 'ultimate-member' ) ?>
diff --git a/includes/class-init.php b/includes/class-init.php
index 61449315..7e790b4f 100644
--- a/includes/class-init.php
+++ b/includes/class-init.php
@@ -65,14 +65,6 @@ if ( ! class_exists( 'UM' ) ) {
public $is_permalinks;
- /**
- * UM Available Languages
- *
- * @var array
- */
- var $available_languages;
-
-
/**
* Main UM Instance
*
@@ -198,31 +190,6 @@ if ( ! class_exists( 'UM' ) ) {
$this->is_filtering = 0;
$this->honeypot = 'request';
- $this->available_languages = array(
- 'en_US' => 'English (US)',
- 'es_ES' => 'Español',
- 'es_MX' => 'Español (México)',
- 'fr_FR' => 'Français',
- 'it_IT' => 'Italiano',
- 'de_DE' => 'Deutsch',
- 'nl_NL' => 'Nederlands',
- 'pt_BR' => 'Português do Brasil',
- 'fi_FI' => 'Suomi',
- 'ro_RO' => 'Română',
- 'da_DK' => 'Dansk',
- 'sv_SE' => 'Svenska',
- 'pl_PL' => 'Polski',
- 'cs_CZ' => 'Czech',
- 'el' => 'Greek',
- 'id_ID' => 'Indonesian',
- 'zh_CN' => '简体中文',
- 'ru_RU' => 'Русский',
- 'tr_TR' => 'Türkçe',
- 'fa_IR' => 'Farsi',
- 'he_IL' => 'Hebrew',
- 'ar' => 'العربية',
- );
-
// textdomain loading
$this->localize();
diff --git a/includes/core/um-actions-misc.php b/includes/core/um-actions-misc.php
index df9b737f..2def15d0 100644
--- a/includes/core/um-actions-misc.php
+++ b/includes/core/um-actions-misc.php
@@ -12,33 +12,30 @@ function um_browser_url_redirect_to( $args ) {
$url = '';
if ( ! empty( $_REQUEST['redirect_to'] ) ) {
+
$url = $_REQUEST['redirect_to'];
- echo ' ';
} elseif ( ! empty( $args['after_login'] ) ) {
-
+
switch ( $args['after_login'] ) {
-
+
case 'redirect_admin':
$url = admin_url();
break;
-
+
case 'redirect_profile':
$url = um_user_profile_url();
break;
-
+
case 'redirect_url':
$url = $args['redirect_url'];
break;
-
+
case 'refresh':
-
$url = UM()->permalinks()->get_current_url();
-
break;
-
+
}
-
}
/**
@@ -66,7 +63,6 @@ function um_browser_url_redirect_to( $args ) {
if ( ! empty( $url ) ) {
echo ' ';
}
-
}
add_action( 'um_after_form_fields', 'um_browser_url_redirect_to' );
diff --git a/includes/um-short-functions.php b/includes/um-short-functions.php
index 6006db8a..8a3c17df 100644
--- a/includes/um-short-functions.php
+++ b/includes/um-short-functions.php
@@ -439,27 +439,25 @@ function um_redirect_home() {
* @param $url
*/
function um_js_redirect( $url ) {
- if (headers_sent() || empty( $url )) {
+ if ( headers_sent() || empty( $url ) ) {
//for blank redirects
- if ('' == $url) {
+ if ( '' == $url ) {
$url = set_url_scheme( '//' . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] );
}
- $funtext = "echo \"\";";
- register_shutdown_function( create_function( '', $funtext ) );
+ register_shutdown_function( function( $url ) {
+ echo '';
+ }, $url );
- if (1 < ob_get_level()) {
- while (ob_get_level() > 1) {
+ if ( 1 < ob_get_level() ) {
+ while ( ob_get_level() > 1 ) {
ob_end_clean();
}
- }
-
- ?>
-
-
+
+
Date: Sun, 18 Nov 2018 23:15:06 +0200
Subject: [PATCH 04/10] - hotfixes;
---
assets/dynamic_css/dynamic_global.php | 2 +-
includes/core/class-files.php | 4 ----
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/assets/dynamic_css/dynamic_global.php b/assets/dynamic_css/dynamic_global.php
index 3a603470..101f9c15 100644
--- a/assets/dynamic_css/dynamic_global.php
+++ b/assets/dynamic_css/dynamic_global.php
@@ -7,7 +7,7 @@ print ".um-$form_id.um {
}";
}
-if ( isset( $align ) && in_array( $align, ['left', 'right'] ) ) {
+if ( isset( $align ) && in_array( $align, array( 'left', 'right' ) ) ) {
print ".um-$form_id.um {
margin-$align: 0px !important;
}";
diff --git a/includes/core/class-files.php b/includes/core/class-files.php
index e5dd73c8..e9d3d5cf 100644
--- a/includes/core/class-files.php
+++ b/includes/core/class-files.php
@@ -241,8 +241,6 @@ if ( ! class_exists( 'um\core\Files' ) ) {
* Remove file by AJAX
*/
function ajax_remove_file() {
- UM()->check_frontend_ajax_nonce();
-
/**
* @var $src
*/
@@ -257,8 +255,6 @@ if ( ! class_exists( 'um\core\Files' ) ) {
* Resize image AJAX handler
*/
function ajax_resize_image() {
- UM()->check_frontend_ajax_nonce();
-
/**
* @var $key
* @var $src
From 955e0afacbddd94313cd7f3a2bcf67ef73d1b594 Mon Sep 17 00:00:00 2001
From: nikitozzzzzzz
Date: Mon, 19 Nov 2018 21:50:59 +0200
Subject: [PATCH 05/10] - fixed files/images download;
---
includes/core/class-files.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/includes/core/class-files.php b/includes/core/class-files.php
index e9d3d5cf..f875f5fb 100644
--- a/includes/core/class-files.php
+++ b/includes/core/class-files.php
@@ -81,11 +81,11 @@ if ( ! class_exists( 'um\core\Files' ) ) {
$field_key = urlencode( $field_key );
if ( UM()->is_permalinks ) {
- $url = get_site_url( get_current_blog_id() );
+ $url = get_home_url( get_current_blog_id() );
$nonce = wp_create_nonce( $user_id . $form_id . 'um-download-nonce' );
$url = $url . "/um-download/{$form_id}/{$field_key}/{$user_id}/{$nonce}";
} else {
- $url = get_site_url( get_current_blog_id() );
+ $url = get_home_url( get_current_blog_id() );
$nonce = wp_create_nonce( $user_id . $form_id . 'um-download-nonce' );
$url = add_query_arg( array( 'um_action' => 'download', 'um_form' => $form_id, 'um_field' => $field_key, 'um_user' => $user_id, 'um_verify' => $nonce ), $url );
}
From e391a58cc8bf73295940cbb7f84459f2943d9368 Mon Sep 17 00:00:00 2001
From: nikitozzzzzzz
Date: Tue, 20 Nov 2018 13:48:12 +0200
Subject: [PATCH 06/10] - fixed unique emails in admin email notifications;
---
includes/um-short-functions.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/includes/um-short-functions.php b/includes/um-short-functions.php
index 8a3c17df..ea2f8156 100644
--- a/includes/um-short-functions.php
+++ b/includes/um-short-functions.php
@@ -1455,6 +1455,7 @@ function um_multi_admin_email() {
$emails_array = array_map( 'trim', $emails_array );
}
+ $emails_array = array_unique( $emails_array );
return $emails_array;
}
From e375cb25081e2bbd699c5f64aa62e6d388beab90 Mon Sep 17 00:00:00 2001
From: nikitozzzzzzz
Date: Tue, 20 Nov 2018 13:58:29 +0200
Subject: [PATCH 07/10] - 2.0.32 release;
---
README.md | 4 +-
languages/ultimate-member-en_US.po | 280 +++++++++++++----------------
readme.txt | 12 +-
ultimate-member.php | 2 +-
4 files changed, 134 insertions(+), 164 deletions(-)
diff --git a/README.md b/README.md
index 21b252e4..4eef64bc 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ Ultimate Member is the #1 user profile & membership plugin for WordPress. The pl
| Latest Version |Requires at least|Stable Tag|
| :------------: |:------------:|:------------:|
-| 2.0.31 | WordPress 4.9 or higher| 2.0.31 |
+| 2.0.32 | WordPress 4.9 or higher| 2.0.32 |
Features of the plugin include:
@@ -48,7 +48,7 @@ GNU Version 2 or Any Later Version
Releases
====================
-[Official Release Version: 2.0.31](https://github.com/ultimatemember/ultimatemember/releases/tag/2.0.31).
+[Official Release Version: 2.0.32](https://github.com/ultimatemember/ultimatemember/releases/tag/2.0.32).
Changelog
====================
diff --git a/languages/ultimate-member-en_US.po b/languages/ultimate-member-en_US.po
index 56e21e0c..fb83d9fa 100644
--- a/languages/ultimate-member-en_US.po
+++ b/languages/ultimate-member-en_US.po
@@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Ultimate Member\n"
-"POT-Creation-Date: 2018-11-14 11:06+0200\n"
-"PO-Revision-Date: 2018-11-14 11:06+0200\n"
+"POT-Creation-Date: 2018-11-20 13:57+0200\n"
+"PO-Revision-Date: 2018-11-20 13:57+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en_US\n"
@@ -21,53 +21,53 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SearchPathExcluded-0: *.js\n"
-#: includes/admin/class-admin.php:182
+#: includes/admin/class-admin.php:181
#, php-format
msgid "Duplicate of %s"
msgstr ""
-#: includes/admin/class-admin.php:331
+#: includes/admin/class-admin.php:295
msgid "Docs"
msgstr ""
-#: includes/admin/class-admin.php:332
-#: includes/admin/core/class-admin-settings.php:1119
+#: includes/admin/class-admin.php:296
+#: includes/admin/core/class-admin-settings.php:1128
msgid "Settings"
msgstr ""
-#: includes/admin/class-admin.php:403 includes/admin/class-admin.php:406
+#: includes/admin/class-admin.php:367 includes/admin/class-admin.php:370
msgid "Form updated."
msgstr ""
-#: includes/admin/class-admin.php:404
+#: includes/admin/class-admin.php:368
msgid "Custom field updated."
msgstr ""
-#: includes/admin/class-admin.php:405
+#: includes/admin/class-admin.php:369
msgid "Custom field deleted."
msgstr ""
-#: includes/admin/class-admin.php:407
+#: includes/admin/class-admin.php:371
msgid "Form restored to revision."
msgstr ""
-#: includes/admin/class-admin.php:408
+#: includes/admin/class-admin.php:372
msgid "Form created."
msgstr ""
-#: includes/admin/class-admin.php:409
+#: includes/admin/class-admin.php:373
msgid "Form saved."
msgstr ""
-#: includes/admin/class-admin.php:410
+#: includes/admin/class-admin.php:374
msgid "Form submitted."
msgstr ""
-#: includes/admin/class-admin.php:411
+#: includes/admin/class-admin.php:375
msgid "Form scheduled."
msgstr ""
-#: includes/admin/class-admin.php:412
+#: includes/admin/class-admin.php:376
msgid "Form draft updated."
msgstr ""
@@ -248,7 +248,7 @@ msgstr ""
#: includes/admin/core/class-admin-forms.php:827
#: includes/admin/core/class-admin-forms.php:932
#: includes/admin/core/class-admin-forms.php:941
-#: includes/admin/core/class-admin-notices.php:430
+#: includes/admin/core/class-admin-notices.php:390
#: includes/core/um-actions-profile.php:553
msgid "Remove"
msgstr ""
@@ -429,13 +429,7 @@ msgstr ""
msgid "User Cache"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:219
#: includes/admin/core/class-admin-menu.php:221
-#: includes/admin/core/class-admin-menu.php:223
-msgid "Language"
-msgstr ""
-
-#: includes/admin/core/class-admin-menu.php:229
msgid "Upgrade's Manual Request"
msgstr ""
@@ -1102,7 +1096,7 @@ msgstr ""
msgid "Select the member roles that can see this link"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:280
+#: includes/admin/core/class-admin-notices.php:279
#, php-format
msgid ""
"%s %s requires 2.0 extensions. You have pre 2.0 extensions "
@@ -1110,31 +1104,31 @@ msgid ""
"versions. For more info see this doc ."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:301
+#: includes/admin/core/class-admin-notices.php:300
#, php-format
msgid ""
"%s needs to create several pages (User Profiles, Account, Registration, "
"Login, Password Reset, Logout, Member Directory) to function correctly."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:305
+#: includes/admin/core/class-admin-notices.php:304
msgid "Create Pages"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:307
-#: includes/admin/core/class-admin-notices.php:540
+#: includes/admin/core/class-admin-notices.php:306
+#: includes/admin/core/class-admin-notices.php:500
msgid "No thanks"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:327
+#: includes/admin/core/class-admin-notices.php:326
msgid "Ultimate Member Setup Error: User page can not be a child page."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:337
+#: includes/admin/core/class-admin-notices.php:336
msgid "Ultimate Member Setup Error: Account page can not be a child page."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:355
+#: includes/admin/core/class-admin-notices.php:354
#, php-format
msgid ""
"Exif is not enabled on your server. Mobile photo uploads will not be rotated "
@@ -1142,88 +1136,69 @@ msgid ""
"notice"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:385
-#, php-format
-msgid ""
-"Your site language is %1$s . Good news! Ultimate Member is "
-"already available in %2$s language . Download the translation files and start using the plugin in your "
-"language now. Hide this notice "
-msgstr ""
-
-#: includes/admin/core/class-admin-notices.php:392
-#, php-format
-msgid ""
-"Ultimate Member has not yet been translated to your language: %1$s"
-"strong>. If you have translated the plugin you need put these files "
-"ultimatemember-%1$s.po and ultimatemember-%1$s.mo in /"
-"wp-content/languages/plugins/ for the plugin to be translated in "
-"your language. Hide this notice "
-msgstr ""
-
-#: includes/admin/core/class-admin-notices.php:429
+#: includes/admin/core/class-admin-notices.php:389
#, php-format
msgid ""
"Are you sure you want to delete the selected user(s)? The following users "
"will be deleted: %s
This cannot be undone! "
msgstr ""
-#: includes/admin/core/class-admin-notices.php:430
+#: includes/admin/core/class-admin-notices.php:390
msgid "Undo"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:435
+#: includes/admin/core/class-admin-notices.php:395
msgid "Your translation files have been updated successfully."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:439
+#: includes/admin/core/class-admin-notices.php:399
msgid "Your temp uploads directory is now clean."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:443
+#: includes/admin/core/class-admin-notices.php:403
msgid "Your user cache is now removed."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:447
+#: includes/admin/core/class-admin-notices.php:407
msgid "You got the latest upgrades."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:451
+#: includes/admin/core/class-admin-notices.php:411
msgid "Try again later. You can run this action once daily."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:455
+#: includes/admin/core/class-admin-notices.php:415
msgid "The form has been duplicated successfully."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:459
+#: includes/admin/core/class-admin-notices.php:419
msgid "User has been updated."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:463
+#: includes/admin/core/class-admin-notices.php:423
msgid "Users have been updated."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:467
+#: includes/admin/core/class-admin-notices.php:427
msgid "Changed roles."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:471
+#: includes/admin/core/class-admin-notices.php:431
msgid "Super administrators cannot be modified."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:472
+#: includes/admin/core/class-admin-notices.php:432
msgid "Other users have been updated."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:509
+#: includes/admin/core/class-admin-notices.php:469
#, php-format
msgid ""
"You have installed %s with wrong folder name. Correct "
"folder name is \"ultimate-member\" ."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:534
+#: includes/admin/core/class-admin-notices.php:494
#, php-format
msgid ""
"Thanks for installing %s ! We hope you like the plugin. To "
@@ -1232,12 +1207,12 @@ msgid ""
"discount code for our extensions bundle ."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:538
+#: includes/admin/core/class-admin-notices.php:498
#, php-format
msgid "Claim 20% discount code"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:577
+#: includes/admin/core/class-admin-notices.php:537
#, php-format
msgid ""
"There are %d inactive %s license keys for this site. This site is not "
@@ -1245,14 +1220,14 @@ msgid ""
"\">www.ultimatemember.com."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:584
+#: includes/admin/core/class-admin-notices.php:544
#, php-format
msgid ""
"You have %d invalid or expired license keys for %s. Please go to the Licenses page to correct this issue."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:598
+#: includes/admin/core/class-admin-notices.php:558
#, php-format
msgid ""
"%s version %s needs to be updated to work correctly. page and run the upgrade process."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:602
+#: includes/admin/core/class-admin-notices.php:562
msgid "Upgrade Now"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:616
+#: includes/admin/core/class-admin-notices.php:576
#, php-format
msgid "%s %s Successfully Upgraded"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:642
+#: includes/admin/core/class-admin-notices.php:602
#, php-format
msgid ""
"Hey there! It's been one month since you installed %s. How have you found "
"the plugin so far?"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:645
+#: includes/admin/core/class-admin-notices.php:605
msgid "I love it!"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:646
+#: includes/admin/core/class-admin-notices.php:606
msgid "It's good but could be better"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:647
+#: includes/admin/core/class-admin-notices.php:607
msgid "I don't like the plugin"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:652
+#: includes/admin/core/class-admin-notices.php:612
#, php-format
msgid ""
"Great! We're happy to hear that you love the plugin. It would be amazing if "
@@ -1298,22 +1273,22 @@ msgid ""
"appreciated by us!"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:656
+#: includes/admin/core/class-admin-notices.php:616
msgid "Leave Review"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:661
+#: includes/admin/core/class-admin-notices.php:621
msgid ""
"We're glad to hear that you like the plugin but we would love to get your "
"feedback so we can make the plugin better."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:665
-#: includes/admin/core/class-admin-notices.php:674
+#: includes/admin/core/class-admin-notices.php:625
+#: includes/admin/core/class-admin-notices.php:634
msgid "Provide Feedback"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:670
+#: includes/admin/core/class-admin-notices.php:630
#, php-format
msgid ""
"We're sorry to hear that. If you're having the issue with the plugin you can "
@@ -1323,18 +1298,18 @@ msgid ""
"like about the plugin you can tell us know by giving us feedback."
msgstr ""
-#: includes/admin/core/class-admin-notices.php:696
+#: includes/admin/core/class-admin-notices.php:656
#, php-format
msgid ""
"%s future plans! Detailed future list is here "
msgstr ""
-#: includes/admin/core/class-admin-notices.php:711
+#: includes/admin/core/class-admin-notices.php:671
msgid "Wrong Nonce"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:716
+#: includes/admin/core/class-admin-notices.php:676
msgid "Wrong Data"
msgstr ""
@@ -2337,130 +2312,130 @@ msgstr ""
msgid "Install Info"
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1150
+#: includes/admin/core/class-admin-settings.php:1159
msgid "Ultimate Member - Settings"
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1289
+#: includes/admin/core/class-admin-settings.php:1298
msgid "Save Changes"
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1732
+#: includes/admin/core/class-admin-settings.php:1741
msgid "Subject Line"
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1734
+#: includes/admin/core/class-admin-settings.php:1743
msgid "This is the subject line of the e-mail"
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1739
+#: includes/admin/core/class-admin-settings.php:1748
msgid "Message Body"
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1741
+#: includes/admin/core/class-admin-settings.php:1750
msgid "This is the content of the e-mail"
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1791
-#: includes/admin/core/class-admin-settings.php:1889
+#: includes/admin/core/class-admin-settings.php:1800
+#: includes/admin/core/class-admin-settings.php:1898
#, php-format
msgid ""
"Your license key expired on %s. Please renew your license key ."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1804
-#: includes/admin/core/class-admin-settings.php:1902
+#: includes/admin/core/class-admin-settings.php:1813
+#: includes/admin/core/class-admin-settings.php:1911
#, php-format
msgid ""
"Your license key has been disabled. Please contact support for more information."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1816
-#: includes/admin/core/class-admin-settings.php:1914
+#: includes/admin/core/class-admin-settings.php:1825
+#: includes/admin/core/class-admin-settings.php:1923
#, php-format
msgid ""
"Invalid license. Please visit your account "
"page and verify it."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1829
-#: includes/admin/core/class-admin-settings.php:1927
+#: includes/admin/core/class-admin-settings.php:1838
+#: includes/admin/core/class-admin-settings.php:1936
#, php-format
msgid ""
"Your %s is not active for this URL. Please visit your account page to manage your license key URLs."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1841
-#: includes/admin/core/class-admin-settings.php:1939
+#: includes/admin/core/class-admin-settings.php:1850
+#: includes/admin/core/class-admin-settings.php:1948
#, php-format
msgid "This appears to be an invalid license key for %s."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1850
-#: includes/admin/core/class-admin-settings.php:1948
+#: includes/admin/core/class-admin-settings.php:1859
+#: includes/admin/core/class-admin-settings.php:1957
#, php-format
msgid ""
"Your license key has reached its activation limit. View "
"possible upgrades now."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1859
-#: includes/admin/core/class-admin-settings.php:1957
+#: includes/admin/core/class-admin-settings.php:1868
+#: includes/admin/core/class-admin-settings.php:1966
msgid ""
"The key you entered belongs to a bundle, please use the product specific "
"license key."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1867
-#: includes/admin/core/class-admin-settings.php:1875
+#: includes/admin/core/class-admin-settings.php:1876
+#: includes/admin/core/class-admin-settings.php:1884
msgid "unknown_error"
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1868
-#: includes/admin/core/class-admin-settings.php:1876
+#: includes/admin/core/class-admin-settings.php:1877
+#: includes/admin/core/class-admin-settings.php:1885
#, php-format
msgid ""
"There was an error with this license key: %s. Please contact "
"our support team ."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1972
+#: includes/admin/core/class-admin-settings.php:1981
msgid "License key never expires."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1979
+#: includes/admin/core/class-admin-settings.php:1988
#, php-format
msgid ""
"Your license key expires soon! It expires on %s. Renew your license key ."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:1989
+#: includes/admin/core/class-admin-settings.php:1998
#, php-format
msgid "Your license key expires on %s."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:2007
+#: includes/admin/core/class-admin-settings.php:2016
#, php-format
msgid "To receive updates, please enter your valid %s license key."
msgstr ""
-#: includes/admin/core/class-admin-settings.php:2031
+#: includes/admin/core/class-admin-settings.php:2040
msgid "Clear License"
msgstr ""
-#: includes/admin/core/class-admin-settings.php:2033
+#: includes/admin/core/class-admin-settings.php:2042
msgid "Activate"
msgstr ""
-#: includes/admin/core/class-admin-settings.php:2035
+#: includes/admin/core/class-admin-settings.php:2044
msgid "Re-Activate"
msgstr ""
-#: includes/admin/core/class-admin-settings.php:2087
+#: includes/admin/core/class-admin-settings.php:2096
msgid ""
"To copy the Install info, click below then press Ctrl + C (PC) or Cmd + C "
"(Mac)."
@@ -2893,27 +2868,6 @@ msgid ""
"our community forum ."
msgstr ""
-#: includes/admin/templates/dashboard/language-download.php:2
-#, php-format
-msgid ""
-"Ultimate Member is available in your language: %1$s (%2$s) ."
-msgstr ""
-
-#: includes/admin/templates/dashboard/language-download.php:7
-msgid "Download Translation"
-msgstr ""
-
-#: includes/admin/templates/dashboard/language-update.php:2
-#, php-format
-msgid ""
-"You are currently using Ultimate Member in your language: %1$s "
-"(%2$s) ."
-msgstr ""
-
-#: includes/admin/templates/dashboard/language-update.php:7
-msgid "Force Update Translation"
-msgstr ""
-
#: includes/admin/templates/dashboard/purge.php:4
#, php-format
msgid ""
@@ -3184,8 +3138,14 @@ msgstr ""
msgid "We are sorry. We cannot find any users who match your search criteria."
msgstr ""
+#: includes/admin/templates/extensions.php:165
+msgid ""
+"All Access Pass – Get access to all Ultimate Member "
+"extensions at a significant discount with our All Access Pass."
+msgstr ""
+
#: includes/admin/templates/extensions.php:169
-msgid "View our Extensions Bundle"
+msgid "View Pricing"
msgstr ""
#: includes/admin/templates/extensions.php:178
@@ -4059,7 +4019,7 @@ msgstr ""
msgid "Correct folder name is \"%s\" "
msgstr ""
-#: includes/class-init.php:160 includes/class-init.php:169
+#: includes/class-init.php:152 includes/class-init.php:161
msgid "Cheatin’ huh?"
msgstr ""
@@ -6330,35 +6290,35 @@ msgstr ""
msgid "This user has not added any information to their profile yet."
msgstr ""
-#: includes/core/class-files.php:271
+#: includes/core/class-files.php:267
msgid "Invalid parameters"
msgstr ""
-#: includes/core/class-files.php:276
+#: includes/core/class-files.php:272
msgid "Invalid coordinates"
msgstr ""
-#: includes/core/class-files.php:281
+#: includes/core/class-files.php:277
msgid "Invalid file ownership"
msgstr ""
-#: includes/core/class-files.php:334
+#: includes/core/class-files.php:330
msgid "Invalid nonce"
msgstr ""
-#: includes/core/class-files.php:354 includes/core/class-files.php:439
+#: includes/core/class-files.php:350 includes/core/class-files.php:435
msgid "A theme or plugin compatibility issue"
msgstr ""
-#: includes/core/class-files.php:982
+#: includes/core/class-files.php:978
msgid "Ultimate Member: Not a valid temp file"
msgstr ""
-#: includes/core/class-files.php:1110
+#: includes/core/class-files.php:1106
msgid "Invalid user ID: "
msgstr ""
-#: includes/core/class-files.php:1119 includes/core/class-files.php:1147
+#: includes/core/class-files.php:1115 includes/core/class-files.php:1143
msgid "Unauthorized to do this attempt."
msgstr ""
@@ -6836,51 +6796,51 @@ msgstr ""
msgid "Last Page"
msgstr ""
-#: includes/core/um-actions-misc.php:115
+#: includes/core/um-actions-misc.php:111
msgid "Your account was updated successfully."
msgstr ""
-#: includes/core/um-actions-misc.php:119
+#: includes/core/um-actions-misc.php:115
msgid "You have successfully changed your password."
msgstr ""
-#: includes/core/um-actions-misc.php:123
+#: includes/core/um-actions-misc.php:119
msgid "Your account is now active! You can login."
msgstr ""
-#: includes/core/um-actions-misc.php:157
+#: includes/core/um-actions-misc.php:153
msgid "An error has been encountered"
msgstr ""
-#: includes/core/um-actions-misc.php:161
+#: includes/core/um-actions-misc.php:157
msgid "Registration is currently disabled"
msgstr ""
-#: includes/core/um-actions-misc.php:165 includes/core/um-filters-login.php:40
+#: includes/core/um-actions-misc.php:161 includes/core/um-filters-login.php:40
msgid "This email address has been blocked."
msgstr ""
-#: includes/core/um-actions-misc.php:169
+#: includes/core/um-actions-misc.php:165
msgid "We do not accept registrations from that domain."
msgstr ""
-#: includes/core/um-actions-misc.php:173 includes/core/um-filters-login.php:43
+#: includes/core/um-actions-misc.php:169 includes/core/um-filters-login.php:43
msgid "Your IP address has been blocked."
msgstr ""
-#: includes/core/um-actions-misc.php:177 includes/core/um-filters-login.php:136
+#: includes/core/um-actions-misc.php:173 includes/core/um-filters-login.php:136
msgid "Your account has been disabled."
msgstr ""
-#: includes/core/um-actions-misc.php:181 includes/core/um-filters-login.php:139
+#: includes/core/um-actions-misc.php:177 includes/core/um-filters-login.php:139
msgid "Your account has not been approved yet."
msgstr ""
-#: includes/core/um-actions-misc.php:185 includes/core/um-filters-login.php:142
+#: includes/core/um-actions-misc.php:181 includes/core/um-filters-login.php:142
msgid "Your account is awaiting e-mail verification."
msgstr ""
-#: includes/core/um-actions-misc.php:189 includes/core/um-filters-login.php:145
+#: includes/core/um-actions-misc.php:185 includes/core/um-filters-login.php:145
msgid "Your membership request has been rejected."
msgstr ""
@@ -6969,11 +6929,11 @@ msgstr ""
msgid "Login as this user"
msgstr ""
-#: includes/um-short-functions.php:580
+#: includes/um-short-functions.php:578
msgid "date submitted"
msgstr ""
-#: includes/um-short-functions.php:586
+#: includes/um-short-functions.php:584
msgid "(empty)"
msgstr ""
diff --git a/readme.txt b/readme.txt
index 73dc6b68..3db242eb 100644
--- a/readme.txt
+++ b/readme.txt
@@ -6,7 +6,7 @@ Donate link:
Tags: community, member, membership, user-profile, user-registration
Requires at least: 4.7
Tested up to: 4.9
-Stable tag: 2.0.31
+Stable tag: 2.0.32
License: GNU Version 2 or Any Later Version
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
@@ -137,6 +137,16 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
= Important: UM2.0+ is a significant update to the code base from 1.3.88. Please make sure you take a full-site backup with restore point before updating the plugin =
+= 2.0.32: November 20, 2018 =
+
+* Bugfixes:
+ - Added compatibility with PHP7.2 (removed deprecated functions and ini variables)
+ - Fixed duplicated "redirect_to" field
+ - Fixed errors on the installs < PHP5.6
+ - Fixed download files/images on the installs with the different home URL and site URL
+ - Fixed unique emails in admin email notifications
+ - Remove language notice, all translates are available on wp.org
+
= 2.0.31: November 14, 2018 =
* Bugfixes:
diff --git a/ultimate-member.php b/ultimate-member.php
index bfcda217..c4892f6f 100644
--- a/ultimate-member.php
+++ b/ultimate-member.php
@@ -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.0.31
+Version: 2.0.32
Author: Ultimate Member
Author URI: http://ultimatemember.com/
Text Domain: ultimate-member
From ca55e761e7ced0df887d569ad279f24eaf46286b Mon Sep 17 00:00:00 2001
From: nikitozzzzzzz
Date: Tue, 20 Nov 2018 14:03:35 +0200
Subject: [PATCH 08/10] - deleted deprecated file;
---
includes/admin/templates/dashboard/language-contrib.php | 7 -------
1 file changed, 7 deletions(-)
delete mode 100644 includes/admin/templates/dashboard/language-contrib.php
diff --git a/includes/admin/templates/dashboard/language-contrib.php b/includes/admin/templates/dashboard/language-contrib.php
deleted file mode 100644
index 6909e03b..00000000
--- a/includes/admin/templates/dashboard/language-contrib.php
+++ /dev/null
@@ -1,7 +0,0 @@
-
- %1$s
.', 'ultimate-member' ), $locale ); ?>
-
-
-
- community forum.', 'ultimate-member' ); ?>
-
\ No newline at end of file
From 449cba31904afb5e2b9d87f3e791433836e00fc4 Mon Sep 17 00:00:00 2001
From: denisbaranov
Date: Tue, 20 Nov 2018 15:50:42 +0200
Subject: [PATCH 09/10] fix method 'can_view_tab'
---
includes/core/class-profile.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/includes/core/class-profile.php b/includes/core/class-profile.php
index 1b6d7e79..3ea8e577 100644
--- a/includes/core/class-profile.php
+++ b/includes/core/class-profile.php
@@ -218,7 +218,7 @@ if ( ! class_exists( 'um\core\Profile' ) ) {
*/
function can_view_tab( $tab ) {
- $target_id = UM()->user()->target_id;
+ $target_id = (int) UM()->user()->target_id;
if ( empty( $target_id ) ) {
return true;
}
From 0ceab69793941e4be4fdfeccf8150f51604bbbd2 Mon Sep 17 00:00:00 2001
From: nikitozzzzzzz
Date: Wed, 21 Nov 2018 14:01:18 +0200
Subject: [PATCH 10/10] - added nonce fields;
---
README.md | 4 +-
assets/js/um-modal.js | 9 +-
assets/js/um-modal.min.js | 2 +-
assets/js/um-profile.js | 6 +-
assets/js/um-profile.min.js | 2 +-
assets/js/um-scripts.js | 18 +-
assets/js/um-scripts.min.js | 2 +-
includes/admin/assets/js/um-admin-ajax.js | 12 +-
includes/admin/assets/js/um-admin-builder.js | 3 +-
includes/admin/assets/js/um-admin-field.js | 8 +-
includes/admin/assets/js/um-admin-modal.js | 19 +-
includes/admin/class-admin-functions.php | 15 ++
includes/admin/core/class-admin-builder.php | 25 +-
includes/admin/core/class-admin-dragdrop.php | 11 +-
includes/admin/core/class-admin-enqueue.php | 5 +-
includes/admin/core/class-admin-menu.php | 14 +-
includes/admin/core/class-admin-notices.php | 6 +-
includes/admin/core/class-admin-upgrade.php | 10 +-
.../admin/core/packages/1.3.39/functions.php | 2 +
includes/admin/core/packages/1.3.39/init.php | 5 +-
.../core/packages/2.0-beta1/functions.php | 31 +++
.../admin/core/packages/2.0-beta1/init.php | 75 +++---
.../admin/core/packages/2.0.10/functions.php | 4 +
includes/admin/core/packages/2.0.10/init.php | 10 +-
.../admin/core/packages/2.0.24/functions.php | 2 +
includes/admin/core/packages/2.0.24/init.php | 5 +-
.../templates/modal/dynamic_edit_field.php | 1 +
.../templates/modal/dynamic_edit_row.php | 1 +
.../templates/modal/dynamic_new_divider.php | 1 +
.../templates/modal/dynamic_new_field.php | 1 +
.../templates/modal/dynamic_new_group.php | 1 +
includes/class-functions.php | 15 ++
includes/core/class-enqueue.php | 4 +-
includes/core/class-fields.php | 10 +-
includes/core/class-files.php | 4 +
includes/core/class-form.php | 4 +-
includes/core/class-profile.php | 4 +
includes/core/class-query.php | 2 +
includes/core/class-user-posts.php | 2 +
includes/core/class-user.php | 9 +-
includes/core/um-actions-ajax.php | 2 +
languages/ultimate-member-en_US.po | 229 +++++++++---------
readme.txt | 9 +-
ultimate-member.php | 2 +-
44 files changed, 393 insertions(+), 213 deletions(-)
diff --git a/README.md b/README.md
index 4eef64bc..3a8a3db0 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ Ultimate Member is the #1 user profile & membership plugin for WordPress. The pl
| Latest Version |Requires at least|Stable Tag|
| :------------: |:------------:|:------------:|
-| 2.0.32 | WordPress 4.9 or higher| 2.0.32 |
+| 2.0.33 | WordPress 4.9 or higher| 2.0.33 |
Features of the plugin include:
@@ -48,7 +48,7 @@ GNU Version 2 or Any Later Version
Releases
====================
-[Official Release Version: 2.0.32](https://github.com/ultimatemember/ultimatemember/releases/tag/2.0.32).
+[Official Release Version: 2.0.33](https://github.com/ultimatemember/ultimatemember/releases/tag/2.0.33).
Changelog
====================
diff --git a/assets/js/um-modal.js b/assets/js/um-modal.js
index f1a480c9..12c96fd6 100644
--- a/assets/js/um-modal.js
+++ b/assets/js/um-modal.js
@@ -34,7 +34,8 @@ jQuery(document).ready(function() {
type: 'post',
data: {
action: 'um_remove_file',
- src: src
+ src: src,
+ nonce: um_scripts.nonce
}
});
@@ -64,7 +65,8 @@ jQuery(document).ready(function() {
type: 'post',
data: {
action: 'um_remove_file',
- src: src
+ src: src,
+ nonce: um_scripts.nonce
}
});
@@ -115,7 +117,8 @@ jQuery(document).ready(function() {
src : src,
coord : coord,
user_id : user_id,
- key: key
+ key: key,
+ nonce: um_scripts.nonce
},
success: function( response ){
diff --git a/assets/js/um-modal.min.js b/assets/js/um-modal.min.js
index abe282d2..8c591bbd 100644
--- a/assets/js/um-modal.min.js
+++ b/assets/js/um-modal.min.js
@@ -1 +1 @@
-jQuery(document).ready(function(){jQuery(document).on("click",".um-popup-overlay",function(){remove_Modal()}),jQuery(document).on("click",'.um-modal-overlay, a[data-action="um_remove_modal"]',function(){um_remove_modal()}),jQuery(document).on("click",'a[data-modal^="um_"], span[data-modal^="um_"], .um-modal a',function(e){return e.preventDefault(),!1}),jQuery(document).on("click",".um-modal .um-single-file-preview a.cancel",function(e){e.preventDefault();var a=jQuery(this).parents(".um-modal-body"),t=jQuery(this).parents(".um-modal-body").find(".um-single-fileinfo a").attr("href");return a.find(".um-single-file-preview").hide(),a.find(".ajax-upload-dragdrop").show(),a.find(".um-modal-btn.um-finish-upload").addClass("disabled"),um_modal_responsive(),jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_remove_file",src:t}}),!1}),jQuery(document).on("click",".um-modal .um-single-image-preview a.cancel",function(e){e.preventDefault();var a=jQuery(this).parents(".um-modal-body"),t=jQuery(this).parents(".um-modal-body").find(".um-single-image-preview img").attr("src");return jQuery("img.cropper-hidden").cropper("destroy"),a.find(".um-single-image-preview img").attr("src",""),a.find(".um-single-image-preview").hide(),a.find(".ajax-upload-dragdrop").show(),a.find(".um-modal-btn.um-finish-upload").addClass("disabled"),um_modal_responsive(),jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_remove_file",src:t}}),!1}),jQuery(document).on("click",".um-finish-upload.file:not(.disabled)",function(){var e=jQuery(this).attr("data-key"),a=jQuery(this).parents(".um-modal-body").find(".um-single-file-preview").html();um_remove_modal(),jQuery(".um-single-file-preview[data-key="+e+"]").fadeIn().html(a);var t=jQuery(".um-field[data-key="+e+"]").find(".um-single-fileinfo a").data("file");jQuery(".um-single-file-preview[data-key="+e+"]").parents(".um-field").find(".um-btn-auto-width").html(jQuery(this).attr("data-change")),jQuery(".um-single-file-preview[data-key="+e+"]").parents(".um-field").find('input[type="hidden"]').val(t)}),jQuery(document).on("click",".um-finish-upload.image:not(.disabled)",function(){var a=jQuery(this),t=jQuery(this).attr("data-key"),e=jQuery(this).parents(".um-modal-body").find(".um-single-image-preview"),i=e.find("img").attr("src"),r=e.attr("data-coord"),u=e.find("img").data("file"),m=0;jQuery(this).parents("#um_upload_single").data("user_id")&&(m=jQuery(this).parents("#um_upload_single").data("user_id")),r?(jQuery(this).html(jQuery(this).attr("data-processing")).addClass("disabled"),jQuery.ajax({url:wp.ajax.settings.url,type:"POST",dataType:"json",data:{action:"um_resize_image",src:i,coord:r,user_id:m,key:t},success:function(e){1==e.success&&(d=new Date,"profile_photo"==t&&jQuery(".um-profile-photo-img img").attr("src",e.data.image.source_url+"?"+d.getTime()),"cover_photo"==t&&(jQuery(".um-cover-e").empty().html(' '),jQuery(".um").hasClass("um-editing")&&jQuery(".um-cover-overlay").show()),jQuery(".um-single-image-preview[data-key="+t+"]").fadeIn().find("img").attr("src",e.data.image.source_url+"?"+d.getTime()),um_remove_modal(),jQuery(".um-single-image-preview[data-key="+t+"]").parents(".um-field").find(".um-btn-auto-width").html(a.attr("data-change")),jQuery(".um-single-image-preview[data-key="+t+"]").parents(".um-field").find('input[type="hidden"]').val(e.data.image.filename))}})):(d=new Date,jQuery(".um-single-image-preview[data-key="+t+"]").fadeIn().find("img").attr("src",i+"?"+d.getTime()),um_remove_modal(),jQuery(".um-single-image-preview[data-key="+t+"]").parents(".um-field").find(".um-btn-auto-width").html(a.attr("data-change")),jQuery(".um-single-image-preview[data-key="+t+"]").parents(".um-field").find("input[type=hidden]").val(u))}),jQuery(document).on("click",'a[data-modal^="um_"], span[data-modal^="um_"]',function(e){var a=jQuery(this).attr("data-modal"),t="normal";if(jQuery(this).data("modal-size"))t=jQuery(this).data("modal-size");jQuery(this).data("modal-copy")&&(jQuery("#"+a).html(jQuery(this).parents(".um-field").find(".um-modal-hidden-content").html()),jQuery(this).parents(".um-profile-photo").attr("data-user_id")&&jQuery("#"+a).attr("data-user_id",jQuery(this).parents(".um-profile-photo").attr("data-user_id")),jQuery(this).parents(".um-cover").attr("data-ratio")&&jQuery("#"+a).attr("data-ratio",jQuery(this).parents(".um-cover").attr("data-ratio")),jQuery(this).parents(".um-cover").attr("data-user_id")&&jQuery("#"+a).attr("data-user_id",jQuery(this).parents(".um-cover").attr("data-user_id")),0 '),jQuery(".um").hasClass("um-editing")&&jQuery(".um-cover-overlay").show()),jQuery(".um-single-image-preview[data-key="+t+"]").fadeIn().find("img").attr("src",e.data.image.source_url+"?"+d.getTime()),um_remove_modal(),jQuery(".um-single-image-preview[data-key="+t+"]").parents(".um-field").find(".um-btn-auto-width").html(a.attr("data-change")),jQuery(".um-single-image-preview[data-key="+t+"]").parents(".um-field").find('input[type="hidden"]').val(e.data.image.filename))}})):(d=new Date,jQuery(".um-single-image-preview[data-key="+t+"]").fadeIn().find("img").attr("src",i+"?"+d.getTime()),um_remove_modal(),jQuery(".um-single-image-preview[data-key="+t+"]").parents(".um-field").find(".um-btn-auto-width").html(a.attr("data-change")),jQuery(".um-single-image-preview[data-key="+t+"]").parents(".um-field").find("input[type=hidden]").val(u))}),jQuery(document).on("click",'a[data-modal^="um_"], span[data-modal^="um_"]',function(e){var a=jQuery(this).attr("data-modal"),t="normal";if(jQuery(this).data("modal-size"))t=jQuery(this).data("modal-size");jQuery(this).data("modal-copy")&&(jQuery("#"+a).html(jQuery(this).parents(".um-field").find(".um-modal-hidden-content").html()),jQuery(this).parents(".um-profile-photo").attr("data-user_id")&&jQuery("#"+a).attr("data-user_id",jQuery(this).parents(".um-profile-photo").attr("data-user_id")),jQuery(this).parents(".um-cover").attr("data-ratio")&&jQuery("#"+a).attr("data-ratio",jQuery(this).parents(".um-cover").attr("data-ratio")),jQuery(this).parents(".um-cover").attr("data-user_id")&&jQuery("#"+a).attr("data-user_id",jQuery(this).parents(".um-cover").attr("data-user_id")),0 '),jQuery(".um-dropdown").hide(),um_responsive(),user_id=jQuery(this).attr("data-user_id"),metakey="cover_photo",jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_delete_cover_photo",metakey:metakey,user_id:user_id},success:function(e){t.hide()}})}),e(),jQuery("textarea[id=um-meta-bio]").change(e),jQuery("textarea[id=um-meta-bio]").keyup(e),jQuery(".um-profile-edit a.um_delete-item").click(function(e){if(e.preventDefault(),!confirm("Are you sure that you want to delete this user?"))return!1})});
\ No newline at end of file
+jQuery(document).ready(function(){function e(){if(void 0!==jQuery("textarea[id=um-meta-bio]").val()){var e=jQuery("textarea[id=um-meta-bio]").attr("data-character-limit")-jQuery("textarea[id=um-meta-bio]").val().length;jQuery("span.um-meta-bio-character span.um-bio-limit").text(e),e<5?jQuery("span.um-meta-bio-character").css("color","red"):jQuery("span.um-meta-bio-character").css("color","")}}jQuery(".um-profile.um-viewing .um-profile-body .um-row").each(function(){var e=jQuery(this);0==e.find(".um-field").length&&(e.prev(".um-row-heading").remove(),e.remove())}),jQuery(".um-profile.um-viewing .um-profile-body").length&&0==jQuery(".um-profile.um-viewing .um-profile-body").find(".um-field").length&&(jQuery(".um-row-heading,.um-row").remove(),jQuery(".um-profile-note").show()),jQuery(document).on("click",".um-profile-save",function(e){return e.preventDefault(),jQuery(this).parents(".um").find("form").submit(),!1}),jQuery(document).on("click",".um-profile-edit-a",function(e){jQuery(this).addClass("active")}),jQuery(document).on("click",".um-cover a.um-cover-add, .um-photo a",function(e){return e.preventDefault(),!1}),jQuery(document).on("click",".um-photo-modal",function(e){e.preventDefault();var t=jQuery(this).attr("data-src");return um_new_modal("um_view_photo","fit",!0,t),!1}),jQuery(document).on("click",".um-reset-profile-photo",function(e){jQuery(".um-profile-photo-img img").attr("src",jQuery(this).attr("data-default_src")),user_id=jQuery(this).attr("data-user_id"),metakey="profile_photo",jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_delete_profile_photo",metakey:metakey,user_id:user_id,nonce:um_scripts.nonce}})}),jQuery(document).on("click",".um-reset-cover-photo",function(e){var t=jQuery(this);jQuery(".um-cover-overlay").hide(),jQuery(".um-cover-e").html(' '),jQuery(".um-dropdown").hide(),um_responsive(),user_id=jQuery(this).attr("data-user_id"),metakey="cover_photo",jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_delete_cover_photo",metakey:metakey,user_id:user_id,nonce:um_scripts.nonce},success:function(e){t.hide()}})}),e(),jQuery("textarea[id=um-meta-bio]").change(e),jQuery("textarea[id=um-meta-bio]").keyup(e),jQuery(".um-profile-edit a.um_delete-item").click(function(e){if(e.preventDefault(),!confirm("Are you sure that you want to delete this user?"))return!1})});
\ No newline at end of file
diff --git a/assets/js/um-scripts.js b/assets/js/um-scripts.js
index 8d7f1289..4a62c2dc 100644
--- a/assets/js/um-scripts.js
+++ b/assets/js/um-scripts.js
@@ -155,7 +155,8 @@ jQuery(document).ready(function() {
type: 'post',
data: {
action: 'um_remove_file',
- src: src
+ src: src,
+ nonce: um_scripts.nonce
}
});
@@ -175,7 +176,8 @@ jQuery(document).ready(function() {
type: 'post',
data: {
action: 'um_remove_file',
- src: src
+ src: src,
+ nonce: um_scripts.nonce
}
});
@@ -260,7 +262,8 @@ jQuery(document).ready(function() {
data: {
action: 'um_ajax_paginate_posts',
author: jQuery(this).data('author'),
- page: next_page
+ page: next_page,
+ nonce: um_scripts.nonce
},
complete: function() {
parent.removeClass( 'loading' );
@@ -284,7 +287,8 @@ jQuery(document).ready(function() {
data: {
action: 'um_ajax_paginate',
hook: hook,
- args: args
+ args: args,
+ nonce: um_scripts.nonce
},
complete: function() {
parent.removeClass( 'loading' );
@@ -315,7 +319,8 @@ jQuery(document).ready(function() {
action: 'um_muted_action',
hook: hook,
user_id: user_id,
- arguments: arguments
+ arguments: arguments,
+ nonce: um_scripts.nonce
},
success: function(data){
@@ -370,7 +375,8 @@ jQuery(document).ready(function() {
child_callback: um_ajax_source,
child_name: me.attr('name'),
members_directory: me.attr('data-mebers-directory'),
- form_id: form_id
+ form_id: form_id,
+ nonce: um_scripts.nonce
},
success: function( data ){
if( data.status == 'success' && parent.val() != '' ){
diff --git a/assets/js/um-scripts.min.js b/assets/js/um-scripts.min.js
index b72941b1..dce1d28c 100644
--- a/assets/js/um-scripts.min.js
+++ b/assets/js/um-scripts.min.js
@@ -1 +1 @@
-jQuery(document).ready(function(){jQuery(document).on("click",".um-dropdown a",function(e){return!1}),jQuery(document).on("click",".um-dropdown a.real_url",function(e){window.location=jQuery(this).attr("href")}),jQuery(document).on("click",".um-trigger-menu-on-click",function(e){return jQuery(".um-dropdown").hide(),menu=jQuery(this).find(".um-dropdown"),menu.show(),!1}),jQuery(document).on("click",".um-dropdown-hide",function(e){UM_hide_menus()}),jQuery(document).on("click","a.um-manual-trigger",function(){var e=jQuery(this).attr("data-child"),t=jQuery(this).attr("data-parent");jQuery(this).parents(t).find(e).trigger("click")}),jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3}),jQuery(document).on("change",".um-field-area input[type=radio]",function(){var e=jQuery(this).parents(".um-field-area"),t=jQuery(this).parents("label");e.find(".um-field-radio").removeClass("active"),e.find(".um-field-radio").find("i").removeAttr("class").addClass("um-icon-android-radio-button-off"),t.addClass("active"),t.find("i").removeAttr("class").addClass("um-icon-android-radio-button-on")}),jQuery(document).on("change",".um-field-area input[type=checkbox]",function(){jQuery(this).parents(".um-field-area");var e=jQuery(this).parents("label");e.hasClass("active")?(e.removeClass("active"),e.find("i").removeAttr("class").addClass("um-icon-android-checkbox-outline-blank")):(e.addClass("active"),e.find("i").removeAttr("class").addClass("um-icon-android-checkbox-outline"))}),jQuery(".um-datepicker").each(function(){if(elem=jQuery(this),""!=elem.attr("data-disabled_weekdays"))var e=JSON.parse(elem.attr("data-disabled_weekdays"));else e=!1;var t=elem.attr("data-years"),a=elem.attr("data-date_min"),i=elem.attr("data-date_max"),r=a.split(","),n=i.split(","),u=r.length?new Date(r):null,o=r.length?new Date(n):null;if(u&&"Invalid Date"==u.toString()&&3==r.length){var d=r[1]+"/"+r[2]+"/"+r[0];u=new Date(Date.parse(d))}if(o&&"Invalid Date"==o.toString()&&3==n.length){var s=n[1]+"/"+n[2]+"/"+n[0];o=new Date(Date.parse(s))}elem.pickadate({selectYears:t,min:u,max:o,disable:e,format:elem.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-timepicker").each(function(){elem=jQuery(this),elem.pickatime({format:elem.attr("data-format"),interval:parseInt(elem.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){elem.blur()},onClose:function(){elem.blur()}})}),jQuery(".um-rating").um_raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,click:function(e,t){live_field=this.id,live_value=e,um_apply_conditions(jQuery(this),!1)}}),jQuery(".um-rating-readonly").um_raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,readOnly:!0}),jQuery(document).on("click",".um .um-single-image-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),a=jQuery(this).parents(".um-field").find(".um-single-image-preview img").attr("src");return t.find(".um-single-image-preview img").attr("src",""),t.find(".um-single-image-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val("empty_file"),jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_remove_file",src:a}}),!1}),jQuery(document).on("click",".um .um-single-file-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),a=jQuery(this).parents(".um-field").find(".um-single-fileinfo a").attr("href");return t.find(".um-single-file-preview").hide(),t.find(".um-btn-auto-width").html("Upload"),t.find("input[type=hidden]").val("empty_file"),jQuery.ajax({url:wp.ajax.settings.url,type:"post",data:{action:"um_remove_file",src:a}}),!1}),jQuery(".um-s1,.um-s2").css({display:"block"}),jQuery(".um-s1").select2({allowClear:!0}),jQuery(".um-s2").select2({allowClear:!1,minimumResultsForSearch:10}),jQuery(document).on("click",".um-field-group-head:not(.disabled)",function(){var e=jQuery(this).parents(".um-field-group"),t=e.data("max_entries");e.find(".um-field-group-body").is(":hidden")?e.find(".um-field-group-body").show():e.find(".um-field-group-body:first").clone().appendTo(e),increase_id=0,e.find(".um-field-group-body").each(function(){increase_id++,jQuery(this).find("input").each(function(){var e=jQuery(this);e.attr("id",e.data("key")+"-"+increase_id),e.attr("name",e.data("key")+"-"+increase_id),e.parent().parent().find("label").attr("for",e.data("key")+"-"+increase_id)})}),0admin()->check_ajax_nonce();
if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) {
- die( 'Please login as administrator' );
+ wp_send_json_error( __( 'Please login as administrator', 'ultimate-member' ) );
}
extract( $_POST );
@@ -605,8 +606,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
*
*/
function update_field() {
- if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) )
- die( __('Please login as administrator','ultimate-member') );
+ UM()->admin()->check_ajax_nonce();
+
+ if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) {
+ wp_send_json_error( __( 'Please login as administrator', 'ultimate-member' ) );
+ }
$output['error'] = null;
@@ -757,12 +761,14 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
*
*/
function dynamic_modal_content() {
- $metabox = UM()->metabox();
+ UM()->admin()->check_ajax_nonce();
if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) {
- die( __( 'Please login as administrator', 'ultimate-member' ) );
+ wp_send_json_error( __( 'Please login as administrator', 'ultimate-member' ) );
}
+ $metabox = UM()->metabox();
+
/**
* @var $act_id
* @var $arg1
@@ -1131,12 +1137,14 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
* Retrieves dropdown/multi-select options from a callback function
*/
function populate_dropdown_options() {
- $arr_options = array();
+ UM()->admin()->check_ajax_nonce();
- if ( ! current_user_can('manage_options') ) {
- wp_die( __( 'This is not possible for security reasons.', 'ultimate-member' ) );
+ if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) {
+ wp_send_json_error( __( 'This is not possible for security reasons.', 'ultimate-member' ) );
}
+ $arr_options = array();
+
$um_callback_func = $_POST['um_option_callback'];
if ( empty( $um_callback_func ) ) {
$arr_options['status'] = 'empty';
@@ -1145,7 +1153,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
}
$arr_options['data'] = array();
-
if ( function_exists( $um_callback_func ) ) {
$arr_options['data'] = call_user_func( $um_callback_func );
}
diff --git a/includes/admin/core/class-admin-dragdrop.php b/includes/admin/core/class-admin-dragdrop.php
index 8c37b64a..56b2dbd5 100644
--- a/includes/admin/core/class-admin-dragdrop.php
+++ b/includes/admin/core/class-admin-dragdrop.php
@@ -26,9 +26,11 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
* Update order of fields
*/
function update_order() {
+ UM()->admin()->check_ajax_nonce();
- if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) )
- die( 'Please login as administrator' );
+ if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) {
+ wp_send_json_error( __( 'Please login as administrator', 'ultimate-member' ) );
+ }
/**
* @var $form_id
@@ -43,8 +45,8 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
if ( ! empty( $fields ) ) {
foreach ( $fields as $key => $array ) {
if ( $array['type'] == 'row' ) {
- $this->row_data[$key] = $array;
- unset( $fields[$key] );
+ $this->row_data[ $key ] = $array;
+ unset( $fields[ $key ] );
}
}
} else {
@@ -217,6 +219,7 @@ if ( ! class_exists( 'um\admin\core\Admin_DragDrop' ) ) {
+
diff --git a/includes/admin/core/class-admin-enqueue.php b/includes/admin/core/class-admin-enqueue.php
index 46ca9f81..bf934363 100644
--- a/includes/admin/core/class-admin-enqueue.php
+++ b/includes/admin/core/class-admin-enqueue.php
@@ -332,9 +332,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) {
* }
* ?>
*/
- $localize_data = apply_filters('um_admin_enqueue_localize_data', array(
- 'ajaxurl' => admin_url( 'admin-ajax.php' ),
- 'nonce' => wp_create_nonce( "um-admin-nonce" )
+ $localize_data = apply_filters( 'um_admin_enqueue_localize_data', array(
+ 'nonce' => wp_create_nonce( "um-admin-nonce" )
)
);
diff --git a/includes/admin/core/class-admin-menu.php b/includes/admin/core/class-admin-menu.php
index e0f17f4a..88abb645 100644
--- a/includes/admin/core/class-admin-menu.php
+++ b/includes/admin/core/class-admin-menu.php
@@ -76,7 +76,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
url: wp.ajax.settings.url,
type: 'post',
data: {
- action: 'um_rated'
+ action: 'um_rated',
+ nonce: um_admin_scripts.nonce
},
success: function(){
@@ -98,8 +99,14 @@ if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
* When user clicks the review link in backend
*/
function ultimatemember_rated() {
+ UM()->admin()->check_ajax_nonce();
+
+ if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) {
+ wp_send_json_error( __( 'Please login as administrator', 'ultimate-member' ) );
+ }
+
update_option( 'um_admin_footer_text_rated', 1 );
- die();
+ wp_send_json_success();
}
@@ -109,8 +116,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Menu' ) ) {
public function menu_order_count() {
global $menu, $submenu;
- if ( ! current_user_can( 'list_users' ) )
+ if ( ! current_user_can( 'list_users' ) ) {
return;
+ }
$count = UM()->user()->get_pending_users_count();
if ( is_array( $menu ) ) {
diff --git a/includes/admin/core/class-admin-notices.php b/includes/admin/core/class-admin-notices.php
index 1419932a..50aede4a 100644
--- a/includes/admin/core/class-admin-notices.php
+++ b/includes/admin/core/class-admin-notices.php
@@ -666,11 +666,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) {
function dismiss_notice() {
- $nonce = isset( $_POST["nonce"] ) ? $_POST["nonce"] : "";
- if ( ! wp_verify_nonce( $nonce, "um-admin-nonce" ) ) {
- wp_send_json_error( esc_js( __( "Wrong Nonce", 'ultimate-member' ) ) );
- }
-
+ UM()->admin()->check_ajax_nonce();
if ( empty( $_POST['key'] ) ) {
wp_send_json_error( __( 'Wrong Data', 'ultimate-member' ) );
diff --git a/includes/admin/core/class-admin-upgrade.php b/includes/admin/core/class-admin-upgrade.php
index 86237bfc..da806aa5 100644
--- a/includes/admin/core/class-admin-upgrade.php
+++ b/includes/admin/core/class-admin-upgrade.php
@@ -260,7 +260,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
type: 'POST',
dataType: 'json',
data: {
- action: 'um_get_packages'
+ action: 'um_get_packages',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
um_packages = response.data.packages;
@@ -290,7 +291,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
dataType: 'html',
data: {
action: 'um_run_package',
- pack: pack
+ pack: pack,
+ nonce: um_admin_scripts.nonce
},
success: function( html ) {
um_add_upgrade_log( 'Package "' + pack + '" is ready. Start the execution...' );
@@ -334,6 +336,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
function ajax_run_package() {
+ UM()->admin()->check_ajax_nonce();
+
if ( empty( $_POST['pack'] ) ) {
exit('');
} else {
@@ -346,6 +350,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Upgrade' ) ) {
function ajax_get_packages() {
+ UM()->admin()->check_ajax_nonce();
+
$update_versions = $this->need_run_upgrades();
wp_send_json_success( array( 'packages' => $update_versions ) );
}
diff --git a/includes/admin/core/packages/1.3.39/functions.php b/includes/admin/core/packages/1.3.39/functions.php
index 9a0ba7d1..a9f2c5da 100644
--- a/includes/admin/core/packages/1.3.39/functions.php
+++ b/includes/admin/core/packages/1.3.39/functions.php
@@ -1,5 +1,7 @@
admin()->check_ajax_nonce();
+
include 'usermeta_query.php';
update_option( 'um_last_version_upgrade', '1.3.39' );
diff --git a/includes/admin/core/packages/1.3.39/init.php b/includes/admin/core/packages/1.3.39/init.php
index 3781024d..ec96f373 100644
--- a/includes/admin/core/packages/1.3.39/init.php
+++ b/includes/admin/core/packages/1.3.39/init.php
@@ -5,11 +5,12 @@
um_add_upgrade_log( 'Upgrade Usermeta...' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_usermetaquery1339'
+ action: 'um_usermetaquery1339',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
diff --git a/includes/admin/core/packages/2.0-beta1/functions.php b/includes/admin/core/packages/2.0-beta1/functions.php
index 52adba1f..e177d80c 100644
--- a/includes/admin/core/packages/2.0-beta1/functions.php
+++ b/includes/admin/core/packages/2.0-beta1/functions.php
@@ -1,5 +1,7 @@
admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
include 'styles.php';
@@ -8,6 +10,8 @@ function um_upgrade_styles20beta1() {
function um_upgrade_user_roles20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
/**
* @var $response_roles_data
@@ -19,7 +23,10 @@ function um_upgrade_user_roles20beta1() {
function um_upgrade_get_users_per_role20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
+
if ( ! empty( $_POST['key_in_meta'] ) ) {
$args = array(
'meta_query' => array(
@@ -43,6 +50,8 @@ function um_upgrade_get_users_per_role20beta1() {
function um_upgrade_update_users_per_page20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
if ( ! empty( $_POST['key_in_meta'] ) && ! empty( $_POST['role_key'] ) && ! empty( $_POST['page'] ) ) {
$users_per_page = 100;
@@ -85,6 +94,8 @@ function um_upgrade_update_users_per_page20beta1() {
function um_upgrade_content_restriction20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
include 'content_restriction.php';
@@ -94,6 +105,8 @@ function um_upgrade_content_restriction20beta1() {
function um_upgrade_settings20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
include 'settings.php';
@@ -102,6 +115,8 @@ function um_upgrade_settings20beta1() {
function um_upgrade_menus20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
include 'menus.php';
@@ -110,6 +125,8 @@ function um_upgrade_menus20beta1() {
function um_upgrade_mc_lists20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
include 'mc_lists.php';
@@ -118,6 +135,8 @@ function um_upgrade_mc_lists20beta1() {
function um_upgrade_social_login20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
include 'social_login.php';
@@ -126,6 +145,8 @@ function um_upgrade_social_login20beta1() {
function um_upgrade_cpt20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
include 'um_cpt.php';
@@ -134,6 +155,8 @@ function um_upgrade_cpt20beta1() {
function um_upgrade_get_forums20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
remove_all_actions( 'pre_get_posts' );
@@ -149,6 +172,8 @@ function um_upgrade_get_forums20beta1() {
function um_upgrade_update_forum_per_page20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
if ( ! empty( $_POST['page'] ) ) {
@@ -205,6 +230,8 @@ function um_upgrade_update_forum_per_page20beta1() {
function um_upgrade_get_products20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
$wc_products = get_posts( array(
@@ -218,6 +245,8 @@ function um_upgrade_get_products20beta1() {
function um_upgrade_update_products_per_page20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
if ( ! empty( $_POST['page'] ) ) {
@@ -296,6 +325,8 @@ function um_upgrade_update_products_per_page20beta1() {
function um_upgrade_email_templates20beta1() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
include 'email_templates.php';
diff --git a/includes/admin/core/packages/2.0-beta1/init.php b/includes/admin/core/packages/2.0-beta1/init.php
index 08587a21..1e4799fd 100644
--- a/includes/admin/core/packages/2.0-beta1/init.php
+++ b/includes/admin/core/packages/2.0-beta1/init.php
@@ -13,11 +13,12 @@
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_styles20beta1'
+ action: 'um_styles20beta1',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -36,11 +37,12 @@
function upgrade_roles() {
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_user_roles20beta1'
+ action: 'um_user_roles20beta1',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -70,12 +72,13 @@
var role = um_roles_data.shift();
um_add_upgrade_log( '"' + role.role_key + '"' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
action: 'um_get_users_per_role20beta1',
- key_in_meta: role.key_in_meta
+ key_in_meta: role.key_in_meta,
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data.count != 'undefined' ) {
@@ -103,14 +106,15 @@
function update_user_per_page( role_key, key_in_meta ) {
if ( current_page <= users_pages ) {
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
action: 'um_update_users_per_page20beta1',
role_key: role_key,
key_in_meta: key_in_meta,
- page: current_page
+ page: current_page,
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -135,11 +139,12 @@
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_content_restriction20beta1'
+ action: 'um_content_restriction20beta1',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -160,11 +165,12 @@
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_settings20beta1'
+ action: 'um_settings20beta1',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -185,11 +191,12 @@
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_menus20beta1'
+ action: 'um_menus20beta1',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -210,11 +217,12 @@
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_mc_lists20beta1'
+ action: 'um_mc_lists20beta1',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -235,11 +243,12 @@
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_social_login20beta1'
+ action: 'um_social_login20beta1',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -260,11 +269,12 @@
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_cpt20beta1'
+ action: 'um_cpt20beta1',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -286,11 +296,12 @@
um_add_upgrade_log( '' );
current_page = 1;
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_get_forums20beta1'
+ action: 'um_get_forums20beta1',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -313,12 +324,13 @@
function update_forums_per_page() {
if ( current_page <= forums_pages ) {
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
action: 'um_update_forum_per_page20beta1',
- page: current_page
+ page: current_page,
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -346,11 +358,12 @@
current_page = 1;
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_get_products20beta1'
+ action: 'um_get_products20beta1',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -373,12 +386,13 @@
function update_products_per_page() {
if ( current_page <= products_pages ) {
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
action: 'um_update_products_per_page20beta1',
- page: current_page
+ page: current_page,
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -402,11 +416,12 @@
function upgrade_email_templates() {
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_email_templates20beta1'
+ action: 'um_email_templates20beta1',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
diff --git a/includes/admin/core/packages/2.0.10/functions.php b/includes/admin/core/packages/2.0.10/functions.php
index be32d0b3..0a12b32d 100644
--- a/includes/admin/core/packages/2.0.10/functions.php
+++ b/includes/admin/core/packages/2.0.10/functions.php
@@ -1,5 +1,7 @@
admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
include 'styles.php';
@@ -8,6 +10,8 @@ function um_upgrade_styles2010() {
function um_upgrade_cache2010() {
+ UM()->admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
UM()->user()->remove_cache_all_users();
diff --git a/includes/admin/core/packages/2.0.10/init.php b/includes/admin/core/packages/2.0.10/init.php
index c5b4d295..7ba29977 100644
--- a/includes/admin/core/packages/2.0.10/init.php
+++ b/includes/admin/core/packages/2.0.10/init.php
@@ -6,11 +6,12 @@
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_styles2010'
+ action: 'um_styles2010',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
@@ -30,11 +31,12 @@
function um_clear_cache2010() {
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_cache2010'
+ action: 'um_cache2010',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
diff --git a/includes/admin/core/packages/2.0.24/functions.php b/includes/admin/core/packages/2.0.24/functions.php
index b379280a..ada9df2e 100644
--- a/includes/admin/core/packages/2.0.24/functions.php
+++ b/includes/admin/core/packages/2.0.24/functions.php
@@ -1,5 +1,7 @@
admin()->check_ajax_nonce();
+
um_maybe_unset_time_limit();
UM()->files()->remove_dir( UM()->files()->upload_temp );
diff --git a/includes/admin/core/packages/2.0.24/init.php b/includes/admin/core/packages/2.0.24/init.php
index 8d97f6be..e40b5c6d 100644
--- a/includes/admin/core/packages/2.0.24/init.php
+++ b/includes/admin/core/packages/2.0.24/init.php
@@ -6,11 +6,12 @@
um_add_upgrade_log( '' );
jQuery.ajax({
- url: '',
+ url: wp.ajax.settings.url,
type: 'POST',
dataType: 'json',
data: {
- action: 'um_tempfolder2024'
+ action: 'um_tempfolder2024',
+ nonce: um_admin_scripts.nonce
},
success: function( response ) {
if ( typeof response.data != 'undefined' ) {
diff --git a/includes/admin/templates/modal/dynamic_edit_field.php b/includes/admin/templates/modal/dynamic_edit_field.php
index daf838b4..779f994d 100644
--- a/includes/admin/templates/modal/dynamic_edit_field.php
+++ b/includes/admin/templates/modal/dynamic_edit_field.php
@@ -11,6 +11,7 @@
diff --git a/includes/admin/templates/modal/dynamic_edit_row.php b/includes/admin/templates/modal/dynamic_edit_row.php
index 806c26ac..c00b530a 100644
--- a/includes/admin/templates/modal/dynamic_edit_row.php
+++ b/includes/admin/templates/modal/dynamic_edit_row.php
@@ -11,6 +11,7 @@
diff --git a/includes/admin/templates/modal/dynamic_new_divider.php b/includes/admin/templates/modal/dynamic_new_divider.php
index f9c9b10a..18484216 100644
--- a/includes/admin/templates/modal/dynamic_new_divider.php
+++ b/includes/admin/templates/modal/dynamic_new_divider.php
@@ -11,6 +11,7 @@
diff --git a/includes/admin/templates/modal/dynamic_new_field.php b/includes/admin/templates/modal/dynamic_new_field.php
index 9b3f64c6..9d4c587c 100644
--- a/includes/admin/templates/modal/dynamic_new_field.php
+++ b/includes/admin/templates/modal/dynamic_new_field.php
@@ -11,6 +11,7 @@
diff --git a/includes/admin/templates/modal/dynamic_new_group.php b/includes/admin/templates/modal/dynamic_new_group.php
index 2f061007..d9a3cddd 100644
--- a/includes/admin/templates/modal/dynamic_new_group.php
+++ b/includes/admin/templates/modal/dynamic_new_group.php
@@ -11,6 +11,7 @@
diff --git a/includes/class-functions.php b/includes/class-functions.php
index b40141cc..f2969d30 100644
--- a/includes/class-functions.php
+++ b/includes/class-functions.php
@@ -16,6 +16,21 @@ if ( ! class_exists( 'UM_Functions' ) ) {
}
+ /**
+ * Check frontend nonce
+ *
+ * @param bool $action
+ */
+ function check_ajax_nonce( $action = false ) {
+ $nonce = isset( $_POST['nonce'] ) ? $_POST['nonce'] : '';
+ $action = empty( $action ) ? 'um-frontend-nonce' : $action;
+
+ if ( ! wp_verify_nonce( $nonce, $action ) ) {
+ wp_send_json_error( esc_js( __( 'Wrong Nonce', 'ultimate-member' ) ) );
+ }
+ }
+
+
/**
* What type of request is this?
*
diff --git a/includes/core/class-enqueue.php b/includes/core/class-enqueue.php
index f1a778f7..d8fadb14 100644
--- a/includes/core/class-enqueue.php
+++ b/includes/core/class-enqueue.php
@@ -129,7 +129,9 @@ if ( ! class_exists( 'um\core\Enqueue' ) ) {
* }
* ?>
*/
- $localize_data = apply_filters( 'um_enqueue_localize_data', array() );
+ $localize_data = apply_filters( 'um_enqueue_localize_data', array(
+ 'nonce' => wp_create_nonce( "um-frontend-nonce" ),
+ ) );
wp_localize_script( 'um_scripts', 'um_scripts', $localize_data );
wp_register_script('um_members', $this->js_baseurl . 'um-members' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, true );
diff --git a/includes/core/class-fields.php b/includes/core/class-fields.php
index 56dbe7b8..683d2e2f 100644
--- a/includes/core/class-fields.php
+++ b/includes/core/class-fields.php
@@ -4059,21 +4059,25 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
*
*/
function do_ajax_action() {
- if (!is_user_logged_in() || !current_user_can( 'manage_options' )) die( __( 'Please login as administrator', 'ultimate-member' ) );
+ UM()->admin()->check_ajax_nonce();
+
+ if ( ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) {
+ wp_send_json_error( __( 'Please login as administrator', 'ultimate-member' ) );
+ }
extract( $_POST );
$output = null;
$position = array();
- if (!empty( $in_column )) {
+ if ( ! empty( $in_column ) ) {
$position['in_row'] = '_um_row_' . ( (int)$in_row + 1 );
$position['in_sub_row'] = $in_sub_row;
$position['in_column'] = $in_column;
$position['in_group'] = $in_group;
}
- switch ($act_id) {
+ switch ( $act_id ) {
case 'um_admin_duplicate_field':
$this->duplicate_field( $arg1, $arg2 );
diff --git a/includes/core/class-files.php b/includes/core/class-files.php
index f875f5fb..06974e16 100644
--- a/includes/core/class-files.php
+++ b/includes/core/class-files.php
@@ -241,6 +241,8 @@ if ( ! class_exists( 'um\core\Files' ) ) {
* Remove file by AJAX
*/
function ajax_remove_file() {
+ UM()->check_ajax_nonce();
+
/**
* @var $src
*/
@@ -255,6 +257,8 @@ if ( ! class_exists( 'um\core\Files' ) ) {
* Resize image AJAX handler
*/
function ajax_resize_image() {
+ UM()->check_ajax_nonce();
+
/**
* @var $key
* @var $src
diff --git a/includes/core/class-form.php b/includes/core/class-form.php
index ccebba66..59c5d8e7 100644
--- a/includes/core/class-form.php
+++ b/includes/core/class-form.php
@@ -50,6 +50,8 @@ if ( ! class_exists( 'um\core\Form' ) ) {
*
*/
function ajax_muted_action() {
+ UM()->check_ajax_nonce();
+
extract( $_REQUEST );
if ( ! UM()->roles()->um_current_user_can( 'edit', $user_id ) )
@@ -86,7 +88,7 @@ if ( ! class_exists( 'um\core\Form' ) ) {
*
*/
function ajax_select_options() {
-
+ UM()->check_ajax_nonce();
$arr_options = array();
$arr_options['status'] = 'success';
diff --git a/includes/core/class-profile.php b/includes/core/class-profile.php
index 3ea8e577..4ce8f126 100644
--- a/includes/core/class-profile.php
+++ b/includes/core/class-profile.php
@@ -45,6 +45,8 @@ if ( ! class_exists( 'um\core\Profile' ) ) {
* Delete profile avatar AJAX handler
*/
function ajax_delete_profile_photo() {
+ UM()->check_ajax_nonce();
+
/**
* @var $user_id
*/
@@ -61,6 +63,8 @@ if ( ! class_exists( 'um\core\Profile' ) ) {
* Delete cover photo AJAX handler
*/
function ajax_delete_cover_photo() {
+ UM()->check_ajax_nonce();
+
/**
* @var $user_id
*/
diff --git a/includes/core/class-query.php b/includes/core/class-query.php
index 1c4dbe64..dfd13ddb 100644
--- a/includes/core/class-query.php
+++ b/includes/core/class-query.php
@@ -39,6 +39,8 @@ if ( ! class_exists( 'um\core\Query' ) ) {
* Ajax pagination for posts
*/
function ajax_paginate() {
+ UM()->check_ajax_nonce();
+
/**
* @var $hook
* @var $args
diff --git a/includes/core/class-user-posts.php b/includes/core/class-user-posts.php
index 24ec6f76..76a75229 100644
--- a/includes/core/class-user-posts.php
+++ b/includes/core/class-user-posts.php
@@ -82,6 +82,8 @@ if ( ! class_exists( 'um\core\User_posts' ) ) {
*
*/
function load_posts() {
+ UM()->check_ajax_nonce();
+
$author = ! empty( $_POST['author'] ) ? $_POST['author'] : get_current_user_id();
$page = ! empty( $_POST['page'] ) ? $_POST['page'] : 0;
diff --git a/includes/core/class-user.php b/includes/core/class-user.php
index 30ab7290..24f709b1 100644
--- a/includes/core/class-user.php
+++ b/includes/core/class-user.php
@@ -87,8 +87,11 @@ if ( ! class_exists( 'um\core\User' ) ) {
add_action( 'init', array( &$this, 'check_membership' ), 10 );
- add_action( 'delete_user', array( &$this, 'delete_user_handler' ), 10, 1 );
- add_action( 'wpmu_delete_user', array( &$this, 'delete_user_handler' ), 10, 1 );
+ if ( is_multisite() ) {
+ add_action( 'delete_user', array( &$this, 'delete_user_handler' ), 10, 1 );
+ } else {
+ add_action( 'wpmu_delete_user', array( &$this, 'delete_user_handler' ), 10, 1 );
+ }
}
@@ -96,6 +99,8 @@ if ( ! class_exists( 'um\core\User' ) ) {
* @param $user_id
*/
function delete_user_handler( $user_id ) {
+ error_log( '----------------' );
+ error_log( $user_id );
um_fetch_user( $user_id );
diff --git a/includes/core/um-actions-ajax.php b/includes/core/um-actions-ajax.php
index 7647e352..d8d82ba7 100644
--- a/includes/core/um-actions-ajax.php
+++ b/includes/core/um-actions-ajax.php
@@ -8,6 +8,8 @@ if ( ! defined( 'ABSPATH' ) ) exit;
* @return boolean
*/
function ultimatemember_check_username_exists() {
+ UM()->check_ajax_nonce();
+
$username = isset($_REQUEST['username']) ? $_REQUEST['username'] : '';
$exists = username_exists( $username );
diff --git a/languages/ultimate-member-en_US.po b/languages/ultimate-member-en_US.po
index fb83d9fa..9663b185 100644
--- a/languages/ultimate-member-en_US.po
+++ b/languages/ultimate-member-en_US.po
@@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Ultimate Member\n"
-"POT-Creation-Date: 2018-11-20 13:57+0200\n"
-"PO-Revision-Date: 2018-11-20 13:57+0200\n"
+"POT-Creation-Date: 2018-11-21 11:52+0200\n"
+"PO-Revision-Date: 2018-11-21 11:52+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en_US\n"
@@ -21,6 +21,10 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SearchPathExcluded-0: *.js\n"
+#: includes/admin/class-admin-functions.php:35 includes/class-functions.php:29
+msgid "Wrong Nonce"
+msgstr ""
+
#: includes/admin/class-admin.php:181
#, php-format
msgid "Duplicate of %s"
@@ -94,63 +98,66 @@ msgstr ""
msgid "Reset all rules"
msgstr ""
-#: includes/admin/core/class-admin-builder.php:401
-#: includes/admin/core/class-admin-builder.php:471
-#: includes/admin/core/class-admin-dragdrop.php:161
-msgid "Add Row"
+#: includes/admin/core/class-admin-builder.php:298
+#: includes/admin/core/class-admin-builder.php:612
+#: includes/admin/core/class-admin-builder.php:767
+#: includes/admin/core/class-admin-dragdrop.php:32
+#: includes/admin/core/class-admin-menu.php:105
+#: includes/core/class-fields.php:4065
+msgid "Please login as administrator"
msgstr ""
#: includes/admin/core/class-admin-builder.php:402
#: includes/admin/core/class-admin-builder.php:472
-#: includes/admin/core/class-admin-dragdrop.php:162
+#: includes/admin/core/class-admin-dragdrop.php:163
+msgid "Add Row"
+msgstr ""
+
+#: includes/admin/core/class-admin-builder.php:403
+#: includes/admin/core/class-admin-builder.php:473
+#: includes/admin/core/class-admin-dragdrop.php:164
msgid "Edit Row"
msgstr ""
-#: includes/admin/core/class-admin-builder.php:475
-#: includes/admin/core/class-admin-dragdrop.php:164
-#: includes/admin/core/class-admin-dragdrop.php:178
-#: includes/admin/core/class-admin-dragdrop.php:203
+#: includes/admin/core/class-admin-builder.php:476
+#: includes/admin/core/class-admin-dragdrop.php:166
+#: includes/admin/core/class-admin-dragdrop.php:180
+#: includes/admin/core/class-admin-dragdrop.php:205
msgid "Delete Row"
msgstr ""
-#: includes/admin/core/class-admin-builder.php:609
-#: includes/admin/core/class-admin-builder.php:763
-#: includes/core/class-fields.php:4062
-msgid "Please login as administrator"
-msgstr ""
-
-#: includes/admin/core/class-admin-builder.php:827
+#: includes/admin/core/class-admin-builder.php:833
msgid "Search Icons..."
msgstr ""
-#: includes/admin/core/class-admin-builder.php:847
+#: includes/admin/core/class-admin-builder.php:853
msgid "Setup New Field"
msgstr ""
-#: includes/admin/core/class-admin-builder.php:863
+#: includes/admin/core/class-admin-builder.php:869
msgid "Predefined Fields"
msgstr ""
-#: includes/admin/core/class-admin-builder.php:874
+#: includes/admin/core/class-admin-builder.php:880
#: includes/core/class-builtin.php:1308
msgid "None"
msgstr ""
-#: includes/admin/core/class-admin-builder.php:878
+#: includes/admin/core/class-admin-builder.php:884
msgid "Custom Fields"
msgstr ""
-#: includes/admin/core/class-admin-builder.php:889
+#: includes/admin/core/class-admin-builder.php:895
msgid "You did not create any custom fields"
msgstr ""
-#: includes/admin/core/class-admin-builder.php:920
-#: includes/admin/core/class-admin-builder.php:992
+#: includes/admin/core/class-admin-builder.php:926
+#: includes/admin/core/class-admin-builder.php:998
msgid "This field type is not setup correcty."
msgstr ""
-#: includes/admin/core/class-admin-builder.php:1137
-#: includes/core/class-form.php:153 includes/core/class-form.php:326
+#: includes/admin/core/class-admin-builder.php:1143
+#: includes/core/class-form.php:155 includes/core/class-form.php:328
#: includes/core/class-password.php:518
msgid "This is not possible for security reasons."
msgstr ""
@@ -371,65 +378,65 @@ msgid ""
"help us to grow the plugin and make it more popular. Thank you."
msgstr ""
-#: includes/admin/core/class-admin-menu.php:118
+#: includes/admin/core/class-admin-menu.php:126
msgctxt "Admin menu name"
msgid "Users"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:126
+#: includes/admin/core/class-admin-menu.php:134
msgctxt "Admin menu name"
msgid "All Users"
msgstr ""
#. Plugin Name of the plugin/theme
#. Author of the plugin/theme
-#: includes/admin/core/class-admin-menu.php:138
-#: includes/core/class-user.php:552
+#: includes/admin/core/class-admin-menu.php:146
+#: includes/core/class-user.php:557
msgid "Ultimate Member"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:142
+#: includes/admin/core/class-admin-menu.php:150
msgid "Dashboard"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:150
+#: includes/admin/core/class-admin-menu.php:158
#: includes/admin/templates/gdpr.php:7 includes/core/class-common.php:56
msgid "Forms"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:152
+#: includes/admin/core/class-admin-menu.php:160
#: includes/admin/core/list-tables/roles-list-table.php:477
#: includes/admin/core/packages/2.0-beta1/user_roles.php:12
msgid "User Roles"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:155
+#: includes/admin/core/class-admin-menu.php:163
#: includes/core/class-common.php:85
msgid "Member Directories"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:197
+#: includes/admin/core/class-admin-menu.php:205
#: includes/admin/core/class-admin-settings.php:1007
msgid "Extensions"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:210
+#: includes/admin/core/class-admin-menu.php:218
msgid "Users Overview"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:212
+#: includes/admin/core/class-admin-menu.php:220
msgid "Latest from our blog"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:214
+#: includes/admin/core/class-admin-menu.php:222
msgid "Purge Temp Files"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:216
+#: includes/admin/core/class-admin-menu.php:224
msgid "User Cache"
msgstr ""
-#: includes/admin/core/class-admin-menu.php:221
+#: includes/admin/core/class-admin-menu.php:229
msgid "Upgrade's Manual Request"
msgstr ""
@@ -1305,11 +1312,7 @@ msgid ""
"target=\"_blank\">here"
msgstr ""
-#: includes/admin/core/class-admin-notices.php:671
-msgid "Wrong Nonce"
-msgstr ""
-
-#: includes/admin/core/class-admin-notices.php:676
+#: includes/admin/core/class-admin-notices.php:672
msgid "Wrong Data"
msgstr ""
@@ -2549,7 +2552,7 @@ msgstr ""
#: includes/admin/core/class-admin-users.php:305
#: includes/admin/templates/dashboard/users.php:11
-#: includes/core/class-user.php:816
+#: includes/core/class-user.php:821
msgid "Approved"
msgstr ""
@@ -2672,59 +2675,59 @@ msgstr ""
msgid "User Role
Deleted Successfully."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:6
-#: includes/admin/core/packages/2.0.10/functions.php:6
+#: includes/admin/core/packages/2.0-beta1/functions.php:8
+#: includes/admin/core/packages/2.0.10/functions.php:8
msgid "Styles was upgraded successfully"
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:17
+#: includes/admin/core/packages/2.0-beta1/functions.php:21
msgid "User Roles was upgraded successfully"
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:80
+#: includes/admin/core/packages/2.0-beta1/functions.php:89
#, php-format
msgid "Users from %s to %s was upgraded successfully..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:100
+#: includes/admin/core/packages/2.0-beta1/functions.php:113
msgid "Settings was upgraded successfully"
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:108
+#: includes/admin/core/packages/2.0-beta1/functions.php:123
msgid "Menus settings was upgraded successfully"
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:116
+#: includes/admin/core/packages/2.0-beta1/functions.php:133
msgid "Mailchimp Lists was upgraded successfully"
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:124
+#: includes/admin/core/packages/2.0-beta1/functions.php:143
msgid "Social login forms was upgraded successfully"
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:132
+#: includes/admin/core/packages/2.0-beta1/functions.php:153
msgid "UM Custom Posts was upgraded successfully"
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:147
+#: includes/admin/core/packages/2.0-beta1/functions.php:170
msgid "Forums are ready for upgrade"
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:200
+#: includes/admin/core/packages/2.0-beta1/functions.php:225
#, php-format
msgid "Forums from %s to %s was upgraded successfully..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:216
+#: includes/admin/core/packages/2.0-beta1/functions.php:243
msgid "Woocommerce Products are ready for upgrade"
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:290
+#: includes/admin/core/packages/2.0-beta1/functions.php:319
#, php-format
msgid "Woocommerce Products from %s to %s was upgraded successfully..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/functions.php:306
+#: includes/admin/core/packages/2.0-beta1/functions.php:337
msgid "Email Templates was upgraded successfully"
msgstr ""
@@ -2733,72 +2736,72 @@ msgstr ""
msgid "Upgrade Styles..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:37
+#: includes/admin/core/packages/2.0-beta1/init.php:38
msgid "Upgrade Roles..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:50
+#: includes/admin/core/packages/2.0-beta1/init.php:52
msgid "Upgrade Users..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:71
+#: includes/admin/core/packages/2.0-beta1/init.php:73
msgid "Getting "
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:71
-#: includes/admin/core/packages/2.0-beta1/init.php:82
+#: includes/admin/core/packages/2.0-beta1/init.php:73
+#: includes/admin/core/packages/2.0-beta1/init.php:85
msgid " users..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:82
+#: includes/admin/core/packages/2.0-beta1/init.php:85
msgid "There are "
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:83
+#: includes/admin/core/packages/2.0-beta1/init.php:86
msgid "Start users upgrading..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:135
+#: includes/admin/core/packages/2.0-beta1/init.php:139
msgid "Upgrade Content Restriction Settings..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:160
+#: includes/admin/core/packages/2.0-beta1/init.php:165
msgid "Upgrade Settings..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:185
+#: includes/admin/core/packages/2.0-beta1/init.php:191
msgid "Upgrade Menu Items..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:210
+#: includes/admin/core/packages/2.0-beta1/init.php:217
msgid "Upgrade Mailchimp Lists..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:235
+#: includes/admin/core/packages/2.0-beta1/init.php:243
msgid "Upgrade Social Login Forms..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:260
+#: includes/admin/core/packages/2.0-beta1/init.php:269
msgid "Upgrade UM Custom Post Types..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:285
+#: includes/admin/core/packages/2.0-beta1/init.php:295
msgid "Upgrade bbPress Forums..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:286
+#: includes/admin/core/packages/2.0-beta1/init.php:296
msgid "Get bbPress Forums count..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:343
+#: includes/admin/core/packages/2.0-beta1/init.php:355
msgid "Upgrade Woocommerce Products..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:344
+#: includes/admin/core/packages/2.0-beta1/init.php:356
msgid "Get all Products..."
msgstr ""
-#: includes/admin/core/packages/2.0-beta1/init.php:403
+#: includes/admin/core/packages/2.0-beta1/init.php:417
msgid "Upgrade Email Templates..."
msgstr ""
@@ -2827,15 +2830,15 @@ msgstr ""
msgid "Search User Roles"
msgstr ""
-#: includes/admin/core/packages/2.0.10/functions.php:17
+#: includes/admin/core/packages/2.0.10/functions.php:21
msgid "Users cache was cleared successfully"
msgstr ""
-#: includes/admin/core/packages/2.0.10/init.php:31
+#: includes/admin/core/packages/2.0.10/init.php:32
msgid "Clear Users Cache..."
msgstr ""
-#: includes/admin/core/packages/2.0.24/functions.php:9
+#: includes/admin/core/packages/2.0.24/functions.php:11
msgid "Temporary dir was purged successfully"
msgstr ""
@@ -2856,18 +2859,6 @@ msgstr ""
msgid "Latest From Ultimate Member"
msgstr ""
-#: includes/admin/templates/dashboard/language-contrib.php:2
-#, php-format
-msgid ""
-"Ultimate Member is not yet available in your language:
%1$s ."
-msgstr ""
-
-#: includes/admin/templates/dashboard/language-contrib.php:6
-msgid ""
-"If you want to contribute this translation to the plugin, please add it on "
-"our
community forum ."
-msgstr ""
-
#: includes/admin/templates/dashboard/purge.php:4
#, php-format
msgid ""
@@ -2896,12 +2887,12 @@ msgid "Get latest versions"
msgstr ""
#: includes/admin/templates/dashboard/users.php:27
-#: includes/core/class-user.php:824
+#: includes/core/class-user.php:829
msgid "Pending Review"
msgstr ""
#: includes/admin/templates/dashboard/users.php:32
-#: includes/core/class-user.php:820
+#: includes/core/class-user.php:825
msgid "Awaiting E-mail Confirmation"
msgstr ""
@@ -3485,11 +3476,11 @@ msgstr ""
msgid "Update"
msgstr ""
-#: includes/admin/templates/modal/dynamic_edit_field.php:14
-#: includes/admin/templates/modal/dynamic_edit_row.php:14
-#: includes/admin/templates/modal/dynamic_new_divider.php:14
-#: includes/admin/templates/modal/dynamic_new_field.php:14
-#: includes/admin/templates/modal/dynamic_new_group.php:14
+#: includes/admin/templates/modal/dynamic_edit_field.php:15
+#: includes/admin/templates/modal/dynamic_edit_row.php:15
+#: includes/admin/templates/modal/dynamic_new_divider.php:15
+#: includes/admin/templates/modal/dynamic_new_field.php:15
+#: includes/admin/templates/modal/dynamic_new_group.php:15
#: includes/admin/templates/modal/fonticons.php:11
#: includes/admin/templates/role/publish.php:24
#: includes/core/class-fields.php:2301 includes/core/class-fields.php:2398
@@ -4131,7 +4122,7 @@ msgstr ""
msgid "You must add a shortcode to the content area"
msgstr ""
-#: includes/core/class-builtin.php:663 includes/core/class-user.php:1538
+#: includes/core/class-builtin.php:663 includes/core/class-user.php:1543
msgid "Only me"
msgstr ""
@@ -6290,40 +6281,40 @@ msgstr ""
msgid "This user has not added any information to their profile yet."
msgstr ""
-#: includes/core/class-files.php:267
+#: includes/core/class-files.php:271
msgid "Invalid parameters"
msgstr ""
-#: includes/core/class-files.php:272
+#: includes/core/class-files.php:276
msgid "Invalid coordinates"
msgstr ""
-#: includes/core/class-files.php:277
+#: includes/core/class-files.php:281
msgid "Invalid file ownership"
msgstr ""
-#: includes/core/class-files.php:330
+#: includes/core/class-files.php:334
msgid "Invalid nonce"
msgstr ""
-#: includes/core/class-files.php:350 includes/core/class-files.php:435
+#: includes/core/class-files.php:354 includes/core/class-files.php:439
msgid "A theme or plugin compatibility issue"
msgstr ""
-#: includes/core/class-files.php:978
+#: includes/core/class-files.php:982
msgid "Ultimate Member: Not a valid temp file"
msgstr ""
-#: includes/core/class-files.php:1106
+#: includes/core/class-files.php:1110
msgid "Invalid user ID: "
msgstr ""
-#: includes/core/class-files.php:1115 includes/core/class-files.php:1143
+#: includes/core/class-files.php:1119 includes/core/class-files.php:1147
msgid "Unauthorized to do this attempt."
msgstr ""
-#: includes/core/class-form.php:56 includes/core/class-profile.php:54
-#: includes/core/class-profile.php:70
+#: includes/core/class-form.php:58 includes/core/class-profile.php:56
+#: includes/core/class-profile.php:74
msgid "You can not edit this user"
msgstr ""
@@ -6385,15 +6376,15 @@ msgstr ""
msgid "https://wordpress.org/support/"
msgstr ""
-#: includes/core/class-profile.php:106
+#: includes/core/class-profile.php:110
msgid "About"
msgstr ""
-#: includes/core/class-profile.php:110
+#: includes/core/class-profile.php:114
msgid "Posts"
msgstr ""
-#: includes/core/class-profile.php:114
+#: includes/core/class-profile.php:118
msgid "Comments"
msgstr ""
@@ -6518,19 +6509,19 @@ msgstr ""
msgid "Maximum file size allowed: %s"
msgstr ""
-#: includes/core/class-user.php:610
+#: includes/core/class-user.php:615
msgid "Ultimate Member Role"
msgstr ""
-#: includes/core/class-user.php:613
+#: includes/core/class-user.php:618
msgid "— No role for Ultimate Member —"
msgstr ""
-#: includes/core/class-user.php:828
+#: includes/core/class-user.php:833
msgid "Membership Rejected"
msgstr ""
-#: includes/core/class-user.php:832
+#: includes/core/class-user.php:837
msgid "Membership Inactive"
msgstr ""
diff --git a/readme.txt b/readme.txt
index 3db242eb..4ea68126 100644
--- a/readme.txt
+++ b/readme.txt
@@ -6,7 +6,7 @@ Donate link:
Tags: community, member, membership, user-profile, user-registration
Requires at least: 4.7
Tested up to: 4.9
-Stable tag: 2.0.32
+Stable tag: 2.0.33
License: GNU Version 2 or Any Later Version
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
@@ -137,6 +137,13 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
= Important: UM2.0+ is a significant update to the code base from 1.3.88. Please make sure you take a full-site backup with restore point before updating the plugin =
+= 2.0.33: November 21, 2018 =
+
+* Bugfixes:
+ - Fixed AJAX vulnerabilities
+ - Fixed delete user email notification
+ - Fixed profile tabs displaying
+
= 2.0.32: November 20, 2018 =
* Bugfixes:
diff --git a/ultimate-member.php b/ultimate-member.php
index c4892f6f..d0a901f5 100644
--- a/ultimate-member.php
+++ b/ultimate-member.php
@@ -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.0.32
+Version: 2.0.33
Author: Ultimate Member
Author URI: http://ultimatemember.com/
Text Domain: ultimate-member