PluginProbe
Elementor Website Builder – more than just a page builder / 3.32.0-dev2
Elementor Website Builder – more than just a page builder v3.32.0-dev2
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 / components / components-parser.php

components-parser.php in Elementor Website Builder – more than just a page builder 3.32.0-dev2, at modules/components/components-parser.php

39 lines 969 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\Components;
4
5 use Elementor\Core\Utils\Api\Parse_Result;
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit; // Exit if accessed directly.
9 }
10
11 class Components_Parser {
12 const MIN_NAME_LENGTH = 2;
13 const MAX_NAME_LENGTH = 50;
14
15 public static function make() {
16 return new static();
17 }
18
19 public function parse_name( $name, $existing_components_names ): Parse_Result {
20 $result = Parse_Result::make();
21
22 $sanitized = trim( sanitize_text_field( $name ) );
23
24 if ( strlen( $sanitized ) < self::MIN_NAME_LENGTH ) {
25 $result->errors()->add( 'name', 'component_name_too_short_min_' . self::MIN_NAME_LENGTH );
26 }
27
28 if ( strlen( $sanitized ) > self::MAX_NAME_LENGTH ) {
29 $result->errors()->add( 'name', 'component_name_too_long_max_' . self::MAX_NAME_LENGTH );
30 }
31
32 if ( in_array( $sanitized, $existing_components_names, true ) ) {
33 $result->errors()->add( 'name', 'duplicated_component_name' );
34 }
35
36 return $result->wrap( $sanitized );
37 }
38 }
39