Ignore:
Timestamp:
Dec 23, 2013, 2:06:07 PM (10 years ago)
Author:
mistic100
Message:

(slider) update nivoslider, add thumbnails navigation option, force no img borders

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/ExtendedDescription/main.inc.php

    r25203 r26127  
    153153  $replacements[] = ($param == 'subcatify_category_description') ? '' : 'extdesc_get_random_photo("$1")';
    154154 
    155   // Balises [slider album=xx nb_images=yy random=yes|no list=aa,bb,cc size=SQ|TH|XXS|XS|S|M|L|XL|XXL speed=z title=yes|no effect=... arrows=yes|no control=yes|no elastic=yes|no]
     155  // Balises [slider album=xx nb_images=yy random=yes|no list=aa,bb,cc size=SQ|TH|XXS|XS|S|M|L|XL|XXL speed=z title=yes|no effect=... arrows=yes|no control=yes|no|thumb elastic=yes|no thumbs_size=xx]
    156156  $patterns[] = '#\[slider ([^\]]+)\]#ie';
    157157  $replacements[] = ($param == 'subcatify_category_description') ? '' : 'get_slider("$1")';
     
    568568 * @string control:   display navigation bar            (default: yes)
    569569 * @string elastic:   adapt slider size to each picture (default: yes)
     570 * @int thumbs_size:  size of thumbnails if control=thumb (default: 80)
    570571 */
    571572function get_slider($param)
     
    583584    'effect' =>    array('[a-zA-Z]+', 'fade'),
    584585    'arrows' =>    array('yes|no', 'yes'),
    585     'control' =>   array('yes|no', 'yes'),
     586    'control' =>   array('yes|no|thumb', 'yes'),
    586587    'elastic' =>   array('yes|no', 'yes'),
     588    'thumbs_size' => array('\d+', 80),
    587589    );
    588590   
     
    592594  $deriv_type = get_deriv_type($params['size']);
    593595  $enabled = ImageStdParams::get_defined_type_map();
    594   if (empty($enabled[ $deriv_type ])) return 'size disabled';
     596  if (empty($enabled[ $deriv_type ]))
     597  {
     598    return '(nivoSlider) size disabled';
     599  }
    595600 
    596601  // parameters
    597   $params['arrows'] = $params['arrows']==='yes' ? 'true' : 'false';
    598   $params['control'] = $params['control']==='yes' ? 'true' : 'false';
    599   $params['elastic'] = $params['elastic']==='yes' ? true : false;
    600   $params['title'] = $params['title']==='yes' ? true : false;
    601   $params['random'] = $params['random']==='yes' ? true : false;
     602  if ($params['control'] === 'thumb')
     603  {
     604    $params['control'] = 'yes';
     605    $params['control_thumbs'] = true;
     606  }
     607  else
     608  {
     609    $params['control_thumbs'] = false;
     610  }
     611  $params['arrows'] = $params['arrows']==='yes';
     612  $params['control'] = $params['control']==='yes';
     613  $params['elastic'] = $params['elastic']==='yes';
     614  $params['title'] = $params['title']==='yes';
     615  $params['random'] = $params['random']==='yes';
     616 
     617  $tpl_vars = $params;
    602618 
    603619  // pictures from album...
     
    679695    $name = render_element_name($row);
    680696   
    681     $tpl_vars[] = array_merge($row, array(
     697    $tpl_vars['elements'][] = array(
     698      'ID' => $row['id'],
    682699      'TN_ALT' => htmlspecialchars(strip_tags($name)),
    683700      'NAME' => $name,
    684701      'URL' => $url,
    685702      'src_image' => new SrcImage($row),
    686       ));
    687   }
    688  
    689   list($img_size['w'], $img_size['h']) = $enabled[ $deriv_type ]->sizing->ideal_size;
     703      );
     704  }
     705 
     706  list($tpl_vars['img_size']['w'], $tpl_vars['img_size']['h']) =
     707    $enabled[ $deriv_type ]->sizing->ideal_size;
     708 
     709  $tpl_vars['id'] = crc32(uniqid($ids)); // need a unique id if we have multiple sliders
     710  $tpl_vars['derivative_params'] = ImageStdParams::get_by_type($deriv_type);
     711   
     712  if ($params['control_thumbs'])
     713  {
     714    $tpl_vars['derivative_params_thumb'] = ImageStdParams::get_custom(
     715      $params['thumbs_size'], $params['thumbs_size'], 1,
     716      $params['thumbs_size'], $params['thumbs_size']
     717      );
     718  }
    690719 
    691720  $template->assign(array(
    692721    'EXTENDED_DESC_PATH' => EXTENDED_DESC_PATH,
    693     'slider_id' => crc32(uniqid($params['list'])), // need a unique id if we have multiple sliders
    694     'slider_content' => $tpl_vars,
    695     'derivative_params' => ImageStdParams::get_by_type( $deriv_type ),
    696     'img_size' => $img_size,
    697     'pauseTime' => $params['speed']*1000,
    698     'controlNav' => $params['control'],
    699     'effect' => $params['effect'],
    700     'directionNav' => $params['arrows'],
    701     'elastic_size' => $params['elastic'],
    702     'show_title' => $params['title'],
     722    'SLIDER'=> $tpl_vars,
    703723    ));
    704724 
Note: See TracChangeset for help on using the changeset viewer.