%PDF- %PDF-
Direktori : /home/dopla/www/wp-content/plugins/ml-slider/inc/slider/ |
Current File : /home/dopla/www/wp-content/plugins/ml-slider/inc/slider/metaslider.nivo.class.php |
<?php if (!defined('ABSPATH')) die('No direct access.'); /** * Nivo Slider specific markup, javascript, css and settings. */ class MetaNivoSlider extends MetaSlider { protected $js_function = 'nivoSlider'; protected $js_path = 'sliders/nivoslider/jquery.nivo.slider.pack.js'; protected $css_path = 'sliders/nivoslider/nivo-slider.css'; /** * Constructor * * @param int $id ID * @param array $shortcode_settings Short Settings */ public function __construct( $id, $shortcode_settings ) { parent::__construct( $id, $shortcode_settings ); add_filter( 'metaslider_nivo_slider_parameters', array( $this, 'set_autoplay_parameter' ), 10, 3 ); } /** * Other slides use "AutoPlay = true" (true autoplays the slideshow) * Nivo slider uses "ManualAvance = false" (ie, false autoplays the slideshow) * Take care of the manualAdvance parameter here. * * @param array $options Options for autoplay * @param array $slider_id Slider ID * @param array $settings Settings */ public function set_autoplay_parameter( $options, $slider_id, $settings ) { global $wp_filter; if ( isset( $options["autoPlay"] ) ) { if ( $options["autoPlay"] == 'true' ) { $options["manualAdvance"] = 'false'; } else { $options["manualAdvance"] = 'true'; } unset( $options['autoPlay'] ); } // we don't want this filter hanging around if there's more than one slideshow on the page remove_filter( 'metaslider_nivo_slider_parameters', array( $this, 'set_autoplay_parameter' ), 10, 3 ); return $options; } /** * Detect whether thie slide supports the requested setting, * and if so, the name to use for the setting in the Javascript parameters * * @param array $param Parameters * @return false (parameter not supported) or parameter name (parameter supported) */ protected function get_param( $param ) { $params = array( 'effect' => 'effect', 'slices' => 'slices', 'prevText' => 'prevText', 'nextText' => 'nextText', 'delay' => 'pauseTime', 'animationSpeed' => 'animSpeed', 'hoverPause' => 'pauseOnHover', 'spw' => 'boxCols', 'sph' => 'boxRows', 'navigation' => 'controlNav', 'links' =>'directionNav', 'autoPlay' => 'autoPlay' ); if ( isset( $params[$param] ) ) { return $params[$param]; } return false; } /** * Enqueue scripts */ public function enqueue_scripts() { parent::enqueue_scripts(); // If a theme is set then we need to load the default Nivo theme $theme = get_post_meta($this->id, 'metaslider_slideshow_theme', true); if ('true' === $this->get_setting('printCss') || $theme) { wp_enqueue_style('metaslider-' . $this->get_setting('type') . '-slider-default', METASLIDER_ASSETS_URL . "sliders/nivoslider/themes/default/default.css", false, METASLIDER_VERSION); } } /** * Build the HTML for a slider. * * @return string slider markup. */ protected function get_html() { $return_value = "<div class='slider-wrapper theme-default'><div class='ribbon'></div><div id='" . $this->get_identifier() . "' class='nivoSlider'>"; foreach ($this->slides as $slide) { $return_value .= $slide; } $return_value .= "</div></div>"; return apply_filters('metaslider_nivo_slider_get_html', $return_value, $this->id, $this->settings); } }