'method_name', 'admin_init' => 'admin_init', ); } /** * Array with default value * * @var array */ private $fields_old = array(); private $randID = null; /** * Default option * * @var array */ private $carousel_options = array(); private $indicators = array( 'before-inner', 'after-inner', 'after-control', 'false', ); private $instance_old = array(); function __construct( Fields_Interface $fields_type, ItalyStrap\Image\Size $image_size ) { $this->image_size_media = $image_size; $this->fields_type = $fields_type; /** * Define data by given attributes. */ $this->fields_old = require( ITALYSTRAP_PLUGIN_PATH . 'config/carousel.php' ); $this->fields = require( ITALYSTRAP_PLUGIN_PATH . 'config/media-carousel.php' ); $this->carousel_options = array( 'orderby' => array( 'menu_order' => __( 'Menu order (Default)', 'italystrap' ), 'title' => __( 'Order by the image\'s title', 'italystrap' ), 'post_date' => __( 'Sort by date/time', 'italystrap' ), 'rand' => __( 'Order randomly', 'italystrap' ), 'ID' => __( 'Order by the image\'s ID', 'italystrap' ), ), 'indicators' => array( 'before-inner' => __( 'before-inner', 'italystrap' ), 'after-inner' => __( 'after-inner', 'italystrap' ), 'after-control' => __( 'after-control', 'italystrap' ), 'false' => __( 'false', 'italystrap' ), ), 'control' => true, 'pause' => array( 'false' => __( 'none', 'italystrap' ), 'hover' => __( 'hover', 'italystrap' ), ), 'image_title' => true, 'text' => true, 'wpautop' => true, 'responsive' => false, ); $this->randID = rand( 2, 5 ); // add_action( 'admin_init', array( $this, 'admin_init' ) ); } /** * @todo applicare filtro in ItalyStrapCarousel e togliere il 2° valore dell'array qui sotto */ function admin_init() { $this->gallery_types = apply_filters( 'italystrap_gallery_types', array( 'default' => __( 'Standard gallery', 'italystrap' ), 'carousel' => __( 'Bootstrap Carousel', 'italystrap' ), ) ); // Enqueue the media UI only if needed. // if ( count( $this->gallery_types ) > 0 ) { add_action( 'wp_enqueue_media', array( $this, 'wp_enqueue_media' ) ); add_action( 'print_media_templates', array( $this, 'print_media_templates_old' ) ); // add_action( 'print_media_templates', array( $this, 'print_media_templates' ) ); // } } /** * Registers/enqueues the gallery settings admin js. */ function wp_enqueue_media() { if ( ! wp_script_is( 'italystrap-gallery-settings', 'registered' ) ) { /** * This only happens if we're not in ItalyStrap, but on WPCOM instead. * This is the correct path for WPCOM. */ wp_register_script( 'italystrap-gallery-settings', plugins_url( 'admin/js/src/gallery-settings.js', ITALYSTRAP_FILE ), array( 'media-views' ), '20121225666' ); } $translation_array = wp_json_encode( require( ITALYSTRAP_PLUGIN_PATH . 'config/carousel.php' ) ); // var_dump( $translation_array ); die(); wp_localize_script( 'italystrap-gallery-settings', 'gallery_fields', $translation_array ); wp_enqueue_script( 'italystrap-gallery-settings' ); } /** * Outputs a view template which can be used with wp.media.template */ function print_media_templates_old() { $default_gallery_type = apply_filters( 'italystrap_default_gallery_type', 'default' ); echo ''; } /** * Outputs a view template which can be used with wp.media.template */ function print_media_templates() { $output = ''; $default_gallery_type = apply_filters( 'italystrap_default_gallery_type', 'default' ); $instance = array(); $key = array( 'name' => __( 'Type', 'italystrap' ), 'desc' => __( 'Enter the widget class name.', 'italystrap' ), 'id' => 'type', '_id' => 'type', '_name' => 'type', 'type' => 'select', 'class' => 'widefat', 'data-setting'=> 'type', // 'class-p' => 'setting', 'default' => $default_gallery_type, 'options' => $this->gallery_types, // 'value' => 'Some value', ); $output = sprintf( '', $this->fields_type->get_field_type( $key, $instance ), $this->get_field_types( $this->fields ) ); printf( '' ); echo $output; // XSS ok. } /** * Create Fields * * Creates each field defined. * * @access protected * @param array $fields The fields array. * @param string $out The HTML form output. * @return string Return the HTML Fields */ protected function get_field_types( array $fields, $out = '' ) { foreach ( $fields as $key ) { $out .= $this->get_field_type( $key ); } return $out; } /** * Create the Fields * * @access protected * @param array $key The key of field's array to create the HTML field. * * @return string Return the HTML Fields */ protected function get_field_type( array $key ) { /** * Set field id and name */ $key['_id'] = $key['_name'] = $key['attributes']['data-setting'] = $key['id']; return $this->fields_type->get_field_type( $key, array() ); } }