| Server IP : 62.60.133.156 / Your IP : 216.73.217.51 Web Server : LiteSpeed System : Linux linux24.centraldnserver.com 4.18.0-553.141.2.lve.el8.x86_64 #1 SMP Wed Jul 8 16:10:02 UTC 2026 x86_64 User : mimradmin ( 1166) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, exec, popen, proc_open MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/cwd/wp-content/plugins/elementor-off/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;
}
}