Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/elemento.../modules/editor-o.../classes
File: url-matcher.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace Elementor\Modules\EditorOne\Classes;
[2] Fix | Delete
[3] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[4] Fix | Delete
exit;
[5] Fix | Delete
}
[6] Fix | Delete
[7] Fix | Delete
class Url_Matcher {
[8] Fix | Delete
[9] Fix | Delete
public function get_match_score( string $menu_url, string $current_uri ): int {
[10] Fix | Delete
$menu_parsed = wp_parse_url( $menu_url );
[11] Fix | Delete
[12] Fix | Delete
if ( empty( $menu_parsed['path'] ) ) {
[13] Fix | Delete
return -1;
[14] Fix | Delete
}
[15] Fix | Delete
[16] Fix | Delete
$current_parsed = wp_parse_url( $current_uri );
[17] Fix | Delete
[18] Fix | Delete
if ( empty( $current_parsed['path'] ) ) {
[19] Fix | Delete
return -1;
[20] Fix | Delete
}
[21] Fix | Delete
[22] Fix | Delete
if ( basename( $menu_parsed['path'] ) !== basename( $current_parsed['path'] ) ) {
[23] Fix | Delete
return -1;
[24] Fix | Delete
}
[25] Fix | Delete
[26] Fix | Delete
$menu_query = $this->parse_query_string( $menu_parsed['query'] ?? '' );
[27] Fix | Delete
$current_query = $this->parse_query_string( $current_parsed['query'] ?? '' );
[28] Fix | Delete
[29] Fix | Delete
if ( ! $this->query_params_match( $menu_query, $current_query ) ) {
[30] Fix | Delete
return -1;
[31] Fix | Delete
}
[32] Fix | Delete
[33] Fix | Delete
return count( $menu_query );
[34] Fix | Delete
}
[35] Fix | Delete
[36] Fix | Delete
public function parse_query_string( string $query ): array {
[37] Fix | Delete
$params = [];
[38] Fix | Delete
[39] Fix | Delete
if ( '' !== $query ) {
[40] Fix | Delete
parse_str( $query, $params );
[41] Fix | Delete
}
[42] Fix | Delete
[43] Fix | Delete
return $params;
[44] Fix | Delete
}
[45] Fix | Delete
[46] Fix | Delete
public function query_params_match( array $required, array $actual ): bool {
[47] Fix | Delete
foreach ( $required as $key => $value ) {
[48] Fix | Delete
if ( ! isset( $actual[ $key ] ) || $actual[ $key ] !== $value ) {
[49] Fix | Delete
return false;
[50] Fix | Delete
}
[51] Fix | Delete
}
[52] Fix | Delete
[53] Fix | Delete
return true;
[54] Fix | Delete
}
[55] Fix | Delete
}
[56] Fix | Delete
[57] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function