Version Description
(October 31, 2022) = * Fix - Security fix for BAC vulnerability found in the debug function that allowed unauthorized removal of single URIs
Download this release
Release Info
Developer | mbis |
Plugin | Permalink Manager Lite |
Version | 2.2.20.1 |
Comparing to | |
See all releases |
Code changes from version 2.2.20 to 2.2.20.1
README.txt
CHANGED
@@ -6,8 +6,8 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
6 |
Tags: permalinks, custom permalinks, permalink, woocommerce permalinks, url editor
|
7 |
Requires at least: 4.4.0
|
8 |
Requires PHP: 5.4
|
9 |
-
Tested up to: 6.0
|
10 |
-
Stable tag: 2.2.20
|
11 |
|
12 |
Permalink Manager lets you customize the complete URL addresses of your posts, pages, custom post types, terms, and WooCommerce links with ease without touching any core files.
|
13 |
|
@@ -93,14 +93,17 @@ It is because Permalink Manager overwrites one of the core Wordpress functionali
|
|
93 |
|
94 |
== Changelog ==
|
95 |
|
|
|
|
|
|
|
96 |
= 2.2.20 (October 10, 2022) =
|
97 |
-
* Fix - The URLs with duplicated slashes (eg. example.com/sample-page////) are now handled correctly and forwarded to the canonical URL
|
98 |
* Fix - The redirect problem was resolved with WPForo versions after 2.0.1
|
99 |
* Dev - Improved compatibility with the WP All Import plugin functions
|
100 |
* Dev - Improved compatibility with Polylang plugin
|
101 |
* Dev - Better support for ACF Relationship fields
|
102 |
-
* Dev - The plugin no longer (by default) supports custom post types & taxonomies that do not have the "query_var" and "rewrite" properties
|
103 |
-
* Enhancement - In "Exclude drafts" mode, the URI Editor field in the "Quick Edit" section becomes "read-only" for the "Draft" posts
|
104 |
|
105 |
= 2.2.19.3 (August 11, 2022) =
|
106 |
* Dev - New filter added - 'permalink_manager_pre_sanitize_title'
|
6 |
Tags: permalinks, custom permalinks, permalink, woocommerce permalinks, url editor
|
7 |
Requires at least: 4.4.0
|
8 |
Requires PHP: 5.4
|
9 |
+
Tested up to: 6.1.0
|
10 |
+
Stable tag: 2.2.20.1
|
11 |
|
12 |
Permalink Manager lets you customize the complete URL addresses of your posts, pages, custom post types, terms, and WooCommerce links with ease without touching any core files.
|
13 |
|
93 |
|
94 |
== Changelog ==
|
95 |
|
96 |
+
= 2.2.20.1 (October 31, 2022) =
|
97 |
+
* Fix - Security fix for BAC vulnerability found in the debug function that allowed unauthorized removal of single URIs
|
98 |
+
|
99 |
= 2.2.20 (October 10, 2022) =
|
100 |
+
* Fix - The URLs with duplicated slashes (eg. example.com/sample-page////) are now handled correctly and forwarded to the canonical URL
|
101 |
* Fix - The redirect problem was resolved with WPForo versions after 2.0.1
|
102 |
* Dev - Improved compatibility with the WP All Import plugin functions
|
103 |
* Dev - Improved compatibility with Polylang plugin
|
104 |
* Dev - Better support for ACF Relationship fields
|
105 |
+
* Dev - The plugin no longer (by default) supports custom post types & taxonomies that do not have the "query_var" and "rewrite" properties
|
106 |
+
* Enhancement - In "Exclude drafts" mode, the URI Editor field in the "Quick Edit" section becomes "read-only" for the "Draft" posts
|
107 |
|
108 |
= 2.2.19.3 (August 11, 2022) =
|
109 |
* Dev - New filter added - 'permalink_manager_pre_sanitize_title'
|
includes/core/permalink-manager-actions.php
CHANGED
@@ -285,19 +285,21 @@ class Permalink_Manager_Actions extends Permalink_Manager_Class {
|
|
285 |
* Additional actions
|
286 |
*/
|
287 |
public static function extra_actions() {
|
288 |
-
if(
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
|
|
|
|
301 |
} else if(!empty($_POST['screen-options-apply'])) {
|
302 |
self::save_screen_options();
|
303 |
}
|
@@ -307,7 +309,7 @@ class Permalink_Manager_Actions extends Permalink_Manager_Class {
|
|
307 |
* Save "Screen Options"
|
308 |
*/
|
309 |
public static function save_screen_options() {
|
310 |
-
check_admin_referer(
|
311 |
|
312 |
// The values will be sanitized inside the function
|
313 |
self::save_settings('screen-options', $_POST['screen-options']);
|
285 |
* Additional actions
|
286 |
*/
|
287 |
public static function extra_actions() {
|
288 |
+
if(current_user_can('manage_options')) {
|
289 |
+
if(isset($_GET['flush_sitemaps'])) {
|
290 |
+
self::flush_sitemaps();
|
291 |
+
} else if(isset($_GET['clear-permalink-manager-uris'])) {
|
292 |
+
self::clear_all_uris();
|
293 |
+
} else if(isset($_GET['remove-permalink-manager-settings'])) {
|
294 |
+
$option_name = sanitize_text_field($_GET['remove-permalink-manager-settings']);
|
295 |
+
self::remove_plugin_data($option_name);
|
296 |
+
} /*else if(!empty($_REQUEST['remove-uri'])) {
|
297 |
+
$uri_key = sanitize_text_field($_REQUEST['remove-uri']);
|
298 |
+
self::force_clear_single_element_uris_and_redirects($uri_key);
|
299 |
+
} else if(!empty($_REQUEST['remove-redirect'])) {
|
300 |
+
$redirect_key = sanitize_text_field($_REQUEST['remove-redirect']);
|
301 |
+
self::force_clear_single_redirect($redirect_key);
|
302 |
+
}*/
|
303 |
} else if(!empty($_POST['screen-options-apply'])) {
|
304 |
self::save_screen_options();
|
305 |
}
|
309 |
* Save "Screen Options"
|
310 |
*/
|
311 |
public static function save_screen_options() {
|
312 |
+
check_admin_referer('screen-options-nonce', 'screenoptionnonce');
|
313 |
|
314 |
// The values will be sanitized inside the function
|
315 |
self::save_settings('screen-options', $_POST['screen-options']);
|
includes/core/permalink-manager-core-functions.php
CHANGED
@@ -809,9 +809,9 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
|
|
809 |
|
810 |
// Prevent redirect loop
|
811 |
$rel_old_uri = wp_make_link_relative($old_uri);
|
812 |
-
$
|
813 |
|
814 |
-
if($redirect_type === 'www_redirect' || $rel_old_uri !== $
|
815 |
wp_safe_redirect($correct_permalink, $redirect_mode, PERMALINK_MANAGER_PLUGIN_NAME);
|
816 |
exit();
|
817 |
}
|
809 |
|
810 |
// Prevent redirect loop
|
811 |
$rel_old_uri = wp_make_link_relative($old_uri);
|
812 |
+
$rel_new_uri = wp_make_link_relative($correct_permalink);
|
813 |
|
814 |
+
if($redirect_type === 'www_redirect' || $rel_old_uri !== $rel_new_uri) {
|
815 |
wp_safe_redirect($correct_permalink, $redirect_mode, PERMALINK_MANAGER_PLUGIN_NAME);
|
816 |
exit();
|
817 |
}
|
permalink-manager.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin Name: Permalink Manager Lite
|
5 |
* Plugin URI: https://permalinkmanager.pro?utm_source=plugin
|
6 |
* Description: Advanced plugin that allows to set-up custom permalinks (bulk editors included), slugs and permastructures (WooCommerce compatible).
|
7 |
-
* Version: 2.2.20
|
8 |
* Author: Maciej Bis
|
9 |
* Author URI: http://maciejbis.net/
|
10 |
* License: GPL-2.0+
|
@@ -25,7 +25,7 @@ if(!class_exists('Permalink_Manager_Class')) {
|
|
25 |
// Define the directories used to load plugin files.
|
26 |
define( 'PERMALINK_MANAGER_PLUGIN_NAME', 'Permalink Manager' );
|
27 |
define( 'PERMALINK_MANAGER_PLUGIN_SLUG', 'permalink-manager' );
|
28 |
-
define( 'PERMALINK_MANAGER_VERSION', '2.2.20' );
|
29 |
define( 'PERMALINK_MANAGER_FILE', __FILE__ );
|
30 |
define( 'PERMALINK_MANAGER_DIR', untrailingslashit(dirname(__FILE__)) );
|
31 |
define( 'PERMALINK_MANAGER_BASENAME', plugin_basename(__FILE__));
|
4 |
* Plugin Name: Permalink Manager Lite
|
5 |
* Plugin URI: https://permalinkmanager.pro?utm_source=plugin
|
6 |
* Description: Advanced plugin that allows to set-up custom permalinks (bulk editors included), slugs and permastructures (WooCommerce compatible).
|
7 |
+
* Version: 2.2.20.1
|
8 |
* Author: Maciej Bis
|
9 |
* Author URI: http://maciejbis.net/
|
10 |
* License: GPL-2.0+
|
25 |
// Define the directories used to load plugin files.
|
26 |
define( 'PERMALINK_MANAGER_PLUGIN_NAME', 'Permalink Manager' );
|
27 |
define( 'PERMALINK_MANAGER_PLUGIN_SLUG', 'permalink-manager' );
|
28 |
+
define( 'PERMALINK_MANAGER_VERSION', '2.2.20.1' );
|
29 |
define( 'PERMALINK_MANAGER_FILE', __FILE__ );
|
30 |
define( 'PERMALINK_MANAGER_DIR', untrailingslashit(dirname(__FILE__)) );
|
31 |
define( 'PERMALINK_MANAGER_BASENAME', plugin_basename(__FILE__));
|