/** * Return an instance of the renderer class based on the type of the layer. * * @since 4.0.0 * * @param array $data The data of the layer. * @return object An instance of the appropriate renderer class. */ public static function create_layer($data) { if (is_null(self::$default_type)) { $default_settings = BQW_SliderPro_Settings::getLayerSettings(); self::$default_type = $default_settings['type']['default_value']; } $type = isset($data['type']) ? $data['type'] : self::$default_type; foreach (self::$registered_types as $registered_type_name => $registered_type_class) { if ($type === $registered_type_name) { return new $registered_type_class(); } } }
/** * AJAX call for adding a new block of layer settings * * It receives the id and type of the layer, and creates * the appropriate setting fields. * * @since 4.0.0 */ public function ajax_add_layer_settings() { $layer = array(); $layer_id = $_POST['id']; $layer_type = $_POST['type']; $layer_settings; if (isset($_POST['settings'])) { $layer_settings = json_decode(stripslashes($_POST['settings']), true); } if (isset($_POST['text'])) { $layer['text'] = $_POST['text']; } if (isset($_POST['heading_type'])) { $layer['heading_type'] = $_POST['heading_type']; } if (isset($_POST['image_source'])) { $layer['image_source'] = $_POST['image_source']; } if (isset($_POST['image_alt'])) { $layer['image_alt'] = $_POST['image_alt']; } if (isset($_POST['image_link'])) { $layer['image_link'] = $_POST['image_link']; } if (isset($_POST['image_retina'])) { $layer['image_retina'] = $_POST['image_retina']; } $layer_default_settings = BQW_SliderPro_Settings::getLayerSettings(); include 'views/layer-settings.php'; die; }
/** * Initialize the layer renderer. * * @since 4.0.0 */ public function __construct() { $this->default_settings = BQW_SliderPro_Settings::getLayerSettings(); }