PluginProbe
Elementor Website Builder – more than just a page builder / 4.2.4
Elementor Website Builder – more than just a page builder v4.2.4
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / modules / editor-one / classes / slug-normalizer.php

slug-normalizer.php in Elementor Website Builder – more than just a page builder 4.2.4, at modules/editor-one/classes/slug-normalizer.php

40 lines 785 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Modules\EditorOne\Classes;
4
5 if ( ! defined( 'ABSPATH' ) ) {
6 exit;
7 }
8
9 class Slug_Normalizer {
10
11 public function normalize( string $slug ): string {
12 if ( 0 !== strpos( $slug, 'http' ) ) {
13 return $slug;
14 }
15
16 $parsed = wp_parse_url( $slug );
17 $path = basename( $parsed['path'] ?? '' );
18
19 if ( ! empty( $parsed['query'] ) ) {
20 $path .= '?' . $parsed['query'];
21 }
22
23 if ( ! empty( $parsed['fragment'] ) ) {
24 $path .= '#' . $parsed['fragment'];
25 }
26
27 return $path;
28 }
29
30 public function is_excluded( string $item_slug, array $excluded_slugs ): bool {
31 if ( in_array( $item_slug, $excluded_slugs, true ) ) {
32 return true;
33 }
34
35 $normalized_slug = $this->normalize( $item_slug );
36
37 return in_array( $normalized_slug, $excluded_slugs, true );
38 }
39 }
40