Changeset 29505


Ignore:
Timestamp:
09/12/14 13:35:32 (5 years ago)
Author:
mistic100
Message:

add URL filter input for dimension and filesize + batch_manager_url_filter trigger + fixes in doubleSlider.js

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/batch_manager.php

    r29481 r29505  
    176176  foreach ($_GET['filter'] as $filter) 
    177177  { 
    178     list($type, $value) = explode('-', $filter); 
     178    list($type, $value) = explode('-', $filter, 2); 
    179179 
    180180    switch ($type) 
     
    184184      break; 
    185185 
    186     case 'album': 
     186    case 'album': case 'category': case 'cat': 
    187187      if (is_numeric($value)) 
    188188      { 
     
    205205      } 
    206206      break; 
    207        
     207 
    208208    case 'search': 
    209209      $_SESSION['bulk_manager_filter']['search']['q'] = $value; 
     210      break; 
     211 
     212    case 'dimension': 
     213      $dim_map = array('w'=>'width','h'=>'height','r'=>'ratio'); 
     214      foreach (explode('-', $value) as $part) 
     215      { 
     216        $values = explode('..', substr($part, 1)); 
     217        if (isset($dim_map[$part[0]])) 
     218        { 
     219          $type = $dim_map[$part[0]]; 
     220          list( 
     221            $_SESSION['bulk_manager_filter']['dimension']['min_'.$type], 
     222            $_SESSION['bulk_manager_filter']['dimension']['max_'.$type] 
     223          ) = $values; 
     224        } 
     225      } 
     226      break; 
     227 
     228    case 'filesize': 
     229      list( 
     230        $_SESSION['bulk_manager_filter']['filesize']['min'], 
     231        $_SESSION['bulk_manager_filter']['filesize']['max'] 
     232      ) = explode('..', $value); 
     233      break; 
     234 
     235    default: 
     236      $_SESSION['bulk_manager_filter'] = trigger_change('batch_manager_url_filter', 
     237        $_SESSION['bulk_manager_filter'], $type, $value); 
    210238      break; 
    211239    } 
  • trunk/admin/themes/default/js/doubleSlider.js

    r29249 r29505  
    2121  } 
    2222 
     23  function findClosest(array, value) { 
     24    var closest = null, index = -1; 
     25    $.each(array, function(i, v){ 
     26      if (closest == null || Math.abs(v - value) < Math.abs(closest - value)) { 
     27        closest = v; 
     28        index = i; 
     29      } 
     30    }); 
     31    return index; 
     32  } 
     33 
     34  var values = [ 
     35    options.values.indexOf(options.selected.min), 
     36    options.values.indexOf(options.selected.max) 
     37  ]; 
     38  if (values[0] == -1) { 
     39    values[0] = findClosest(options.values, options.selected.min); 
     40  } 
     41  if (values[1] == -1) { 
     42    values[1] = findClosest(options.values, options.selected.max); 
     43  } 
     44 
    2345  var slider = this.find('.slider-slider').slider({ 
    2446    range: true, 
    2547    min: 0, 
    2648    max: options.values.length - 1, 
    27     values: [ 
    28       options.values.indexOf(options.selected.min), 
    29       options.values.indexOf(options.selected.max) 
    30     ], 
     49    values: values, 
    3150    slide: onChange, 
    3251    change: onChange 
  • trunk/tools/triggers_list.php

    r29380 r29505  
    897897  'files' => array('include\ws_functions\pwg.users.php'), 
    898898  'infos' => 'New in 2.6.2.', 
     899), 
     900array( 
     901  'name' => 'batch_manager_url_filter', 
     902  'type' => 'trigger_change', 
     903  'vars' => array('array', 'bulk_manager_filter', 'string', 'type', 'string', 'value'), 
     904  'files' => array('admin\batch_manager.php'), 
     905  'infos' => 'New in 2.7.', 
    899906), 
    900907); 
Note: See TracChangeset for help on using the changeset viewer.