Ignore:
Timestamp:
Sep 15, 2012, 5:47:52 PM (12 years ago)
Author:
mistic100
Message:

feature 2718: Add batch manager filters for photo dimensions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/batch_manager.php

    r17765 r17931  
    9191    }
    9292  }
     93 
     94  if (isset($_POST['filter_dimension_use']))
     95  {
     96    if ( $_POST['filter_dimension'] != 'format' and !preg_match('#^[0-9]+$#', $_POST['filter_dimension_'. $_POST['filter_dimension'] ]) )
     97    {
     98      array_push($page['errors'], l10n('Invalid dimension'));
     99    }
     100    else
     101    {
     102      $_SESSION['bulk_manager_filter']['dimension'] = $_POST['filter_dimension'];
     103      $_SESSION['bulk_manager_filter']['dimension_'. $_POST['filter_dimension'] ] = $_POST['filter_dimension_'. $_POST['filter_dimension'] ];
     104    }
     105  }
    93106}
    94107
     
    328341}
    329342
     343if (isset($_SESSION['bulk_manager_filter']['dimension']))
     344{
     345  switch ($_SESSION['bulk_manager_filter']['dimension'])
     346  {
     347    case 'min_width':
     348      $where_clause = 'width >= '.$_SESSION['bulk_manager_filter']['dimension_min_width']; break;
     349    case 'max_width':
     350      $where_clause = 'width <= '.$_SESSION['bulk_manager_filter']['dimension_max_width']; break;
     351    case 'min_height':
     352      $where_clause = 'height >= '.$_SESSION['bulk_manager_filter']['dimension_min_height']; break;
     353    case 'max_height':
     354      $where_clause = 'height <= '.$_SESSION['bulk_manager_filter']['dimension_max_height']; break;
     355    case 'format':
     356    {
     357      switch ($_SESSION['bulk_manager_filter']['dimension_format'])
     358      {
     359        case 'portrait':
     360          $where_clause = 'width/height < 0.95'; break;
     361        case 'square':
     362          $where_clause = 'width/height >= 0.95 AND width/height <= 1.05'; break;
     363        case 'landscape':
     364          $where_clause = 'width/height > 1.05 AND width/height < 2.5'; break;
     365        case 'panorama':
     366          $where_clause = 'width/height >= 2.5'; break;
     367      }
     368      break;
     369    }
     370  }
     371 
     372  $query = '
     373SELECT id
     374  FROM '.IMAGES_TABLE.'
     375  WHERE '.$where_clause.'
     376  '.$conf['order_by'];
     377
     378  $filter_sets[] = array_from_query($query, 'id');
     379}
     380
    330381$current_set = array_shift($filter_sets);
    331382foreach ($filter_sets as $set)
Note: See TracChangeset for help on using the changeset viewer.