mirror of
https://github.com/Piwigo/Piwigo.git
synced 2025-04-26 19:29:58 +03:00
add URL filter input for dimension and filesize + batch_manager_url_filter trigger + fixes in doubleSlider.js
git-svn-id: http://piwigo.org/svn/trunk@29505 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
67ad8fb81a
commit
f83e780249
3 changed files with 61 additions and 7 deletions
|
@ -175,7 +175,7 @@ elseif (isset($_GET['filter']))
|
|||
|
||||
foreach ($_GET['filter'] as $filter)
|
||||
{
|
||||
list($type, $value) = explode('-', $filter);
|
||||
list($type, $value) = explode('-', $filter, 2);
|
||||
|
||||
switch ($type)
|
||||
{
|
||||
|
@ -183,7 +183,7 @@ elseif (isset($_GET['filter']))
|
|||
$_SESSION['bulk_manager_filter']['prefilter'] = $value;
|
||||
break;
|
||||
|
||||
case 'album':
|
||||
case 'album': case 'category': case 'cat':
|
||||
if (is_numeric($value))
|
||||
{
|
||||
$_SESSION['bulk_manager_filter']['category'] = $value;
|
||||
|
@ -208,6 +208,34 @@ elseif (isset($_GET['filter']))
|
|||
case 'search':
|
||||
$_SESSION['bulk_manager_filter']['search']['q'] = $value;
|
||||
break;
|
||||
|
||||
case 'dimension':
|
||||
$dim_map = array('w'=>'width','h'=>'height','r'=>'ratio');
|
||||
foreach (explode('-', $value) as $part)
|
||||
{
|
||||
$values = explode('..', substr($part, 1));
|
||||
if (isset($dim_map[$part[0]]))
|
||||
{
|
||||
$type = $dim_map[$part[0]];
|
||||
list(
|
||||
$_SESSION['bulk_manager_filter']['dimension']['min_'.$type],
|
||||
$_SESSION['bulk_manager_filter']['dimension']['max_'.$type]
|
||||
) = $values;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 'filesize':
|
||||
list(
|
||||
$_SESSION['bulk_manager_filter']['filesize']['min'],
|
||||
$_SESSION['bulk_manager_filter']['filesize']['max']
|
||||
) = explode('..', $value);
|
||||
break;
|
||||
|
||||
default:
|
||||
$_SESSION['bulk_manager_filter'] = trigger_change('batch_manager_url_filter',
|
||||
$_SESSION['bulk_manager_filter'], $type, $value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,14 +20,33 @@ $.fn.pwgDoubleSlider = function(options) {
|
|||
));
|
||||
}
|
||||
|
||||
function findClosest(array, value) {
|
||||
var closest = null, index = -1;
|
||||
$.each(array, function(i, v){
|
||||
if (closest == null || Math.abs(v - value) < Math.abs(closest - value)) {
|
||||
closest = v;
|
||||
index = i;
|
||||
}
|
||||
});
|
||||
return index;
|
||||
}
|
||||
|
||||
var values = [
|
||||
options.values.indexOf(options.selected.min),
|
||||
options.values.indexOf(options.selected.max)
|
||||
];
|
||||
if (values[0] == -1) {
|
||||
values[0] = findClosest(options.values, options.selected.min);
|
||||
}
|
||||
if (values[1] == -1) {
|
||||
values[1] = findClosest(options.values, options.selected.max);
|
||||
}
|
||||
|
||||
var slider = this.find('.slider-slider').slider({
|
||||
range: true,
|
||||
min: 0,
|
||||
max: options.values.length - 1,
|
||||
values: [
|
||||
options.values.indexOf(options.selected.min),
|
||||
options.values.indexOf(options.selected.max)
|
||||
],
|
||||
values: values,
|
||||
slide: onChange,
|
||||
change: onChange
|
||||
});
|
||||
|
|
|
@ -897,6 +897,13 @@ array(
|
|||
'files' => array('include\ws_functions\pwg.users.php'),
|
||||
'infos' => 'New in 2.6.2.',
|
||||
),
|
||||
array(
|
||||
'name' => 'batch_manager_url_filter',
|
||||
'type' => 'trigger_change',
|
||||
'vars' => array('array', 'bulk_manager_filter', 'string', 'type', 'string', 'value'),
|
||||
'files' => array('admin\batch_manager.php'),
|
||||
'infos' => 'New in 2.7.',
|
||||
),
|
||||
);
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue