OwlCyberSecurity - MANAGER
Edit File: template-renderer.php
<?php namespace Elementor\Modules\AtomicWidgets\TemplateRenderer; use Elementor\Utils; use ElementorDeps\Twig\Environment; use ElementorDeps\Twig\Runtime\EscaperRuntime; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Template_Renderer { private static ?self $instance = null; private Single_File_Loader $loader; private Environment $env; private function __construct() { $this->loader = new Single_File_Loader(); $this->env = new Environment( $this->loader, [ 'debug' => Utils::is_elementor_debug(), 'autoescape' => 'name', ] ); $escaper = $this->env->getRuntime( EscaperRuntime::class ); $escaper->setEscaper( 'full_url', 'esc_url' ); $escaper->setEscaper( 'html_tag', [ Utils::class, 'validate_html_tag' ] ); } public static function instance(): self { if ( null === self::$instance ) { self::$instance = new self(); } return self::$instance; } public static function reset() { self::$instance = null; } public function is_registered( string $name ): bool { return $this->loader->is_registered( $name ); } public function register( string $name, string $path ): self { $this->loader->register( $name, $path ); return $this; } public function render( string $name, array $context = [] ): string { return $this->env->render( $name, $context ); } }