| Server IP : 62.72.47.131 / Your IP : 216.73.217.34 Web Server : Apache/2.4.66 (Debian) System : Linux 975cdb959a49 5.14.0-611.55.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 19 15:19:29 EDT 2026 x86_64 User : ( 501) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/elementor/modules/usage/ |
Upload File : |
<?php
namespace Elementor\Modules\Usage;
use Elementor\Modules\Usage\Contracts\Element_Usage_Calculator;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class Element_Usage_Calculator_Registry {
/** @var Element_Usage_Calculator[] */
private array $calculators = [];
private ?Element_Usage_Calculator $fallback = null;
/**
* @param Element_Usage_Calculator[] $calculators
*/
public function __construct( array $calculators = [] ) {
$this->calculators = $calculators;
}
public function set_fallback( Element_Usage_Calculator $calculator ): void {
$this->fallback = $calculator;
}
public function get_calculator_for( array $element, $element_instance ): ?Element_Usage_Calculator {
foreach ( $this->calculators as $calculator ) {
if ( $calculator->can_calculate( $element, $element_instance ) ) {
return $calculator;
}
}
return $this->fallback;
}
}