aboutsummaryrefslogtreecommitdiffstats
path: root/admin/batch_manager.php
diff options
context:
space:
mode:
authormistic100 <mistic@piwigo.org>2012-11-10 20:10:01 +0000
committermistic100 <mistic@piwigo.org>2012-11-10 20:10:01 +0000
commitc81093b0e943d3625554c808ecb072ef20615d6f (patch)
tree46509aced35d12035b039207af808d1f2d2a8459 /admin/batch_manager.php
parent36d17457109f26fa9928897d4e6926d7176159d9 (diff)
feature:2718 Add batch manager filters for photo dimensions, redesign with sliders
git-svn-id: http://piwigo.org/svn/trunk@18988 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin/batch_manager.php')
-rw-r--r--admin/batch_manager.php44
1 files changed, 32 insertions, 12 deletions
diff --git a/admin/batch_manager.php b/admin/batch_manager.php
index 8e7a48e0e..e38d52049 100644
--- a/admin/batch_manager.php
+++ b/admin/batch_manager.php
@@ -100,15 +100,11 @@ if (isset($_POST['submitFilter']))
$_SESSION['bulk_manager_filter']['dimension'][$type] = $_POST['filter_dimension_'. $type ];
}
}
- }
-
- if (isset($_POST['filter_ratio_use']))
- {
- foreach (array('min','max') as $type)
+ foreach (array('min_ratio','max_ratio') as $type)
{
- if ( preg_match('#^[0-9\.,]+$#', $_POST['filter_ratio_'. $type ]) )
+ if ( preg_match('#^[0-9\.]+$#', $_POST['filter_dimension_'. $type ]) )
{
- $_SESSION['bulk_manager_filter']['ratio'][$type] = str_replace(',','.',$_POST['filter_ratio_'. $type ]);
+ $_SESSION['bulk_manager_filter']['dimension'][$type] = $_POST['filter_dimension_'. $type ];
}
}
}
@@ -349,7 +345,7 @@ if (!empty($_SESSION['bulk_manager_filter']['tags']))
);
}
-if (isset($_SESSION['bulk_manager_filter']['dimension']) or isset($_SESSION['bulk_manager_filter']['ratio']))
+if (isset($_SESSION['bulk_manager_filter']['dimension']))
{
$where_clauses = array();
if (isset($_SESSION['bulk_manager_filter']['dimension']['min_width']))
@@ -368,13 +364,13 @@ if (isset($_SESSION['bulk_manager_filter']['dimension']) or isset($_SESSION['bul
{
$where_clause[] = 'height <= '.$_SESSION['bulk_manager_filter']['dimension']['max_height'];
}
- if (isset($_SESSION['bulk_manager_filter']['ratio']['min']))
+ if (isset($_SESSION['bulk_manager_filter']['dimension']['min_ratio']))
{
- $where_clause[] = 'width/height >= '.$_SESSION['bulk_manager_filter']['ratio']['min'];
+ $where_clause[] = 'width/height >= '.$_SESSION['bulk_manager_filter']['dimension']['min_ratio'];
}
- if (isset($_SESSION['bulk_manager_filter']['ratio']['max']))
+ if (isset($_SESSION['bulk_manager_filter']['dimension']['max_ratio']))
{
- $where_clause[] = 'width/height <= '.$_SESSION['bulk_manager_filter']['ratio']['max'];
+ $where_clause[] = 'width/height <= '.$_SESSION['bulk_manager_filter']['dimension']['max_ratio'];
}
$query = '
@@ -443,6 +439,30 @@ SELECT id, name
$template->assign('tags', get_taglist($query, false));
// +-----------------------------------------------------------------------+
+// | dimensions |
+// +-----------------------------------------------------------------------+
+$query = '
+SELECT
+ MIN(width) as min_width,
+ MAX(width) as max_width,
+ MIN(height) as min_height,
+ MAX(height) as max_height,
+ MIN(width/height) as min_ratio,
+ MAX(width/height) as max_ratio
+ FROM '.IMAGES_TABLE.'
+;';
+$dimensions['bounds'] = pwg_db_fetch_assoc(pwg_query($query));
+$dimensions['bounds']['min_ratio'] = floor($dimensions['bounds']['min_ratio']*100)/100;
+$dimensions['bounds']['max_ratio'] = ceil($dimensions['bounds']['max_ratio']*100)/100;
+
+foreach (array_keys($dimensions['bounds']) as $type)
+{
+ $dimensions['selected'][$type] = isset($_SESSION['bulk_manager_filter']['dimension'][$type]) ? $_SESSION['bulk_manager_filter']['dimension'][$type] : $dimensions['bounds'][$type];
+}
+$template->assign('dimensions', $dimensions);
+
+
+// +-----------------------------------------------------------------------+
// | open specific mode |
// +-----------------------------------------------------------------------+