From 18dea8f622b45696731d0a91c264df8376c26dec Mon Sep 17 00:00:00 2001 From: Nikita Sinelnikov Date: Wed, 30 Jun 2021 13:31:51 +0300 Subject: [PATCH] - fixed sanitizing of the forms and member directories; --- includes/admin/class-admin.php | 40 ++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/includes/admin/class-admin.php b/includes/admin/class-admin.php index cb4e2bf6..6d45cdba 100644 --- a/includes/admin/class-admin.php +++ b/includes/admin/class-admin.php @@ -977,7 +977,11 @@ if ( ! class_exists( 'um\admin\Admin' ) ) { $sanitized[ $k ] = (bool) $v; break; case 'url': - $sanitized[ $k ] = esc_url_raw( $v ); + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'esc_url_raw', $v ); + } else { + $sanitized[ $k ] = esc_url_raw( $v ); + } break; case 'text': $sanitized[ $k ] = sanitize_text_field( $v ); @@ -985,6 +989,20 @@ if ( ! class_exists( 'um\admin\Admin' ) ) { case 'textarea': $sanitized[ $k ] = sanitize_textarea_field( $v ); break; + case 'key': + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'sanitize_key', $v ); + } else { + $sanitized[ $k ] = sanitize_key( $v ); + } + break; + case 'absint': + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'absint', $v ); + } else { + $sanitized[ $k ] = absint( $v ); + } + break; } } @@ -1035,7 +1053,11 @@ if ( ! class_exists( 'um\admin\Admin' ) ) { $sanitized[ $k ] = (bool) $v; break; case 'url': - $sanitized[ $k ] = esc_url_raw( $v ); + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'esc_url_raw', $v ); + } else { + $sanitized[ $k ] = esc_url_raw( $v ); + } break; case 'text': $sanitized[ $k ] = sanitize_text_field( $v ); @@ -1043,6 +1065,20 @@ if ( ! class_exists( 'um\admin\Admin' ) ) { case 'textarea': $sanitized[ $k ] = sanitize_textarea_field( $v ); break; + case 'key': + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'sanitize_key', $v ); + } else { + $sanitized[ $k ] = sanitize_key( $v ); + } + break; + case 'absint': + if ( is_array( $v ) ) { + $sanitized[ $k ] = array_map( 'absint', $v ); + } else { + $sanitized[ $k ] = absint( $v ); + } + break; } }