* @copyright 2007-2022 Apollotheme * @license http://apollotheme.com - prestashop template provider */ namespace LeoElements; use LeoElements\Modules\DynamicTags\Module as TagsModule; use LeoElements\Leo_Helper; if ( ! defined( '_PS_VERSION_' ) ) { exit; // Exit if accessed directly. } /** * Elementor gallery control. * * A base control for creating gallery chooser control. Based on the WordPress * media library galleries. Used to select images from the WordPress media library. * * @since 1.0.0 */ class Control_Gallery extends Base_Data_Control { /** * Get gallery control type. * * Retrieve the control type, in this case `gallery`. * * @since 1.0.0 * @access public * * @return string Control type. */ public function get_type() { return 'gallery'; } /** * Import gallery images. * * Used to import gallery control files from external sites while importing * Elementor template JSON file, and replacing the old data. * * @since 1.0.0 * @access public * * @param array $settings Control settings * * @return array Control settings. */ public function on_import( $settings ) { foreach ( $settings as &$attachment ) { if ( empty( $attachment['url'] ) ) { continue; } $attachment = Plugin::$instance->templates_manager->get_import_images_instance()->import( $attachment ); } // Filter out attachments that don't exist $settings = array_filter( $settings ); return $settings; } /** * Render gallery control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?>
{{{ data.label }}}
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
true, 'separator' => 'none', ]; } /** * Get gallery control default values. * * Retrieve the default value of the gallery control. Used to return the default * values while initializing the gallery control. * * @since 1.0.0 * @access public * * @return array Control default value. */ public function get_default_value() { return []; } }