HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/capeglid/public_html/wp-content/plugins/elementor/modules/components/components-parser.php
<?php

namespace Elementor\Modules\Components;

use Elementor\Core\Utils\Api\Parse_Result;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

class Components_Parser {
	const MIN_NAME_LENGTH = 2;
	const MAX_NAME_LENGTH = 50;

	public static function make() {
		return new static();
	}

	public function parse_name( $name, $existing_components_names ): Parse_Result {
		$result = Parse_Result::make();

		$sanitized = trim( sanitize_text_field( $name ) );

		if ( strlen( $sanitized ) < self::MIN_NAME_LENGTH ) {
			$result->errors()->add( 'name', 'component_name_too_short_min_' . self::MIN_NAME_LENGTH );
		}

		if ( strlen( $sanitized ) > self::MAX_NAME_LENGTH ) {
			$result->errors()->add( 'name', 'component_name_too_long_max_' . self::MAX_NAME_LENGTH );
		}

		if ( in_array( $sanitized, $existing_components_names, true ) ) {
			$result->errors()->add( 'name', 'duplicated_component_name' );
		}

		return $result->wrap( $sanitized );
	}
}