balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

app.php (1252B)


      1 <?php
      2 
      3 namespace Elementor\Core\Base;
      4 
      5 use Elementor\Utils;
      6 
      7 if ( ! defined( 'ABSPATH' ) ) {
      8 	exit; // Exit if accessed directly
      9 }
     10 
     11 /**
     12  * Base App
     13  *
     14  * Base app utility class that provides shared functionality of apps.
     15  *
     16  * @since 2.3.0
     17  */
     18 abstract class App extends Module {
     19 
     20 	/**
     21 	 * Print config.
     22 	 *
     23 	 * Used to print the app and its components settings as a JavaScript object.
     24 	 *
     25 	 * @param string $handle Optional
     26 	 *
     27 	 * @since 2.3.0
     28 	 * @since 2.6.0 added the `$handle` parameter
     29 	 * @access protected
     30 	 */
     31 	final protected function print_config( $handle = null ) {
     32 		$name = $this->get_name();
     33 
     34 		$js_var = 'elementor' . str_replace( ' ', '', ucwords( str_replace( '-', ' ', $name ) ) ) . 'Config';
     35 
     36 		$config = $this->get_settings() + $this->get_components_config();
     37 
     38 		if ( ! $handle ) {
     39 			$handle = 'elementor-' . $name;
     40 		}
     41 
     42 		Utils::print_js_config( $handle, $js_var, $config );
     43 	}
     44 
     45 	/**
     46 	 * Get components config.
     47 	 *
     48 	 * Retrieves the app components settings.
     49 	 *
     50 	 * @since 2.3.0
     51 	 * @access private
     52 	 *
     53 	 * @return array
     54 	 */
     55 	private function get_components_config() {
     56 		$settings = [];
     57 
     58 		foreach ( $this->get_components() as $id => $instance ) {
     59 			$settings[ $id ] = $instance->get_settings();
     60 		}
     61 
     62 		return $settings;
     63 	}
     64 }