manager.php (1237B)
1 <?php 2 namespace Elementor\Core\Files\Assets; 3 4 use Elementor\Core\Files\Assets\Svg\Svg_Handler; 5 6 if ( ! defined( 'ABSPATH' ) ) { 7 exit; // Exit if accessed directly. 8 } 9 10 /** 11 * Elementor files manager. 12 * 13 * Elementor files manager handler class is responsible for creating files. 14 * 15 * @since 2.6.0 16 */ 17 class Manager { 18 19 /** 20 * Holds registered asset types 21 * @var array 22 */ 23 protected $asset_types = []; 24 25 /** 26 * Assets manager constructor. 27 * 28 * Initializing the Elementor assets manager. 29 * 30 * @access public 31 */ 32 public function __construct() { 33 $this->register_asset_types(); 34 /** 35 * Elementor files assets registered. 36 * 37 * Fires after Elementor registers assets types 38 * 39 * @since 2.6.0 40 */ 41 do_action( 'elementor/core/files/assets/assets_registered', $this ); 42 } 43 44 public function get_asset( $name ) { 45 return isset( $this->asset_types[ $name ] ) ? $this->asset_types[ $name ] : false; 46 } 47 48 /** 49 * Add Asset 50 * @param $instance 51 */ 52 public function add_asset( $instance ) { 53 $this->asset_types[ $instance::get_name() ] = $instance; 54 } 55 56 57 /** 58 * Register Asset Types 59 * 60 * Registers Elementor Asset Types 61 */ 62 private function register_asset_types() { 63 $this->add_asset( new Svg_Handler() ); 64 } 65 }