You are here

function template_preprocess_views_nivo_slider_view in Views Nivo Slider 7.3

Same name and namespace in other branches
  1. 6.2 views_nivo_slider.module \template_preprocess_views_nivo_slider_view()
  2. 6 views_nivo_slider.module \template_preprocess_views_nivo_slider_view()
  3. 7 views_nivo_slider.module \template_preprocess_views_nivo_slider_view()
  4. 7.2 views_nivo_slider.module \template_preprocess_views_nivo_slider_view()

Implementation of template preprocess for the view

File

./views_nivo_slider.module, line 18
The implementation of Views Nivo Slider module.

Code

function template_preprocess_views_nivo_slider_view(&$vars) {
  $view = $vars['view'];
  $options = $vars['options'];
  $vars['views_nivo_slider_id'] = drupal_html_id('views-nivo-slider-' . $view->name . '-' . $view->current_display);
  $vars['classes_array'][] = 'slider-wrapper';
  $vars['classes_array'][] = 'theme-' . $options['style'];

  // Prevent problems on update versions of this module
  if (is_string($options['effect'])) {
    $options['effect'] = array(
      $options['effect'] => $options['effect'],
    );
  }
  $cfg = array();
  $params = array(
    'startSlide' => 0,
    'effect' => join(',', array_keys($options['effect'])),
    'slices' => (int) $options['slices'],
    'animSpeed' => (int) $options['animSpeed'],
    'pauseTime' => (int) $options['pauseTime'],
    'directionNav' => $options['directionNav'] == 'true' ? TRUE : FALSE,
    'directionNavHide' => $options['directionNavHide'] == 'true' ? TRUE : FALSE,
    'controlNav' => $options['controlNav'] != 'disabled' ? TRUE : FALSE,
    'controlNavThumbs' => FALSE,
    'pauseOnHover' => $options['pauseOnHover'] == 'true' ? TRUE : FALSE,
    'manualAdvance' => $options['manualAdvance'] == 'true' ? TRUE : FALSE,
    'captionOpacity' => (double) $options['captionOpacity'],
    'beforeChange' => $options['advanced_settings']['beforeChange'] == '' ? 'function(){}' : $options['advanced_settings']['beforeChange'],
    'afterChange' => $options['advanced_settings']['afterChange'] == '' ? 'function(){}' : $options['advanced_settings']['afterChange'],
    'slideshowEnd' => $options['advanced_settings']['slideshowEnd'] == '' ? 'function(){}' : $options['advanced_settings']['slideshowEnd'],
    'lastSlide' => $options['advanced_settings']['lastSlide'] == '' ? 'function(){}' : $options['advanced_settings']['lastSlide'],
    'afterLoad' => $options['advanced_settings']['afterLoad'] == '' ? 'function(){}' : $options['advanced_settings']['afterLoad'],
  );

  // 2.7.x version options
  if ($options['nivo_version'] == '2.7.x') {
    $params['version'] = '2.7.x';
    $params['controlNavThumbsFromRel'] = FALSE;

    //$params['controlNavThumbsSearch'] = '';

    //$params['controlNavThumbsReplace'] = '';
    $params['keyboardNav'] = $options['keyboardNav'] == 'true' ? TRUE : FALSE;
  }
  if ($options['controlNav'] == 'thumbsIC') {
    $params['controlNavThumbs'] = TRUE;
    if ($options['nivo_version'] == '2.7.x') {
      $params['controlNavThumbsFromRel'] = TRUE;

      //$params['controlNavThumbsSearch'] = "/{$options['imagefield_preset']}/";

      //$params['controlNavThumbsReplace'] = "/{$options['controlNavThumbsIC']}/";
    }
    $vars['classes_array'][] = 'nivo-control-thumbs';
  }
  elseif ($options['controlNav'] == 'thumbsField') {
    $params['controlNavThumbs'] = TRUE;
    $params['controlNavThumbsFromRel'] = TRUE;
    $vars['classes_array'][] = 'nivo-control-thumbs';
  }

  // hide when only single slide
  if (count($view->result) <= 1) {
    $params['directionNav'] = FALSE;
    $params['controlNav'] = FALSE;
  }
  $cfg[$vars['views_nivo_slider_id']] = $params;
  drupal_add_js(array(
    'views_nivo_slider' => $cfg,
  ), 'setting');
  views_nivo_slider_add_libraries($options['style']);
}