Ignore:
Timestamp:
Jan 15, 2007, 1:09:14 AM (17 years ago)
Author:
rub
Message:

There are no filter enabled if filter configuration is empty (no icon, no functions, ...)
New system for the filter page configuration

View mode flat_recent_cat becomes flat_cat (recent period is removed because global filter is sufficient)

Recent period of global filter must be defined "after" start parameter (default value is $userrecent_period).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/filter.inc.php

    r1715 r1722  
    2929
    3030// $filter['enabled']: Filter is enabled
     31// $filter['check_key']: Check key to valitade computed filter data
     32// $filter['recent_period']: Recent period used to computed filter data
    3133// $filter['categories']: Computed data of filtered categories
    32 // $filter['visible_categories']: List of visible categories (count(visible) < count(forbidden) more often)
     34// $filter['visible_categories']:
     35//  List of visible categories (count(visible) < count(forbidden) more often)
    3336// $filter['visible_images']: List of visible images
    3437
    35 if (in_array(script_basename(), $conf['filter_pages']))
     38if (!get_filter_page_value('cancel'))
    3639{
    3740  if (isset($_GET['filter']))
    3841  {
    39     $filter['enabled'] = ($_GET['filter'] == 'start');
     42    $filter['matches'] = array();
     43    $filter['enabled'] =
     44      preg_match('/^start-(\d+)/', $_GET['filter'], $filter['matches']) === 1;
    4045  }
    4146  else
     
    5156if ($filter['enabled'])
    5257{
     58  if (isset($filter['matches']))
     59  {
     60    $filter['recent_period'] = $filter['matches'][1];
     61  }
     62  else
     63  {
     64    $filter['recent_period'] = pwg_get_session_var('filter_recent_period', $user['recent_period']);
     65  }
     66
    5367  if (
    5468      // New filter
     
    6276    // Need to compute dats
    6377    $filter['check_key'] = get_filter_check_key();
    64     $filter['categories'] = get_computed_categories($user['id'], $user['forbidden_categories'], true, $user['recent_period']);
     78    $filter['categories'] = get_computed_categories($user['id'], $user['forbidden_categories'], true, $filter['recent_period']);
    6579
    6680    $filter['visible_categories'] = implode(',', array_keys($filter['categories']));
     
    8498  $query.= '
    8599    date_available  > SUBDATE(
    86       CURRENT_DATE,INTERVAL '.$user['recent_period'].' DAY)';
     100      CURRENT_DATE,INTERVAL '.$filter['recent_period'].' DAY)';
    87101
    88102    $filter['visible_images'] = implode(',', array_from_query($query, 'image_id'));
     
    97111    pwg_set_session_var('filter_enabled', $filter['enabled']);
    98112    pwg_set_session_var('filter_check_key', $filter['check_key']);
     113    pwg_set_session_var('filter_recent_period', $filter['recent_period']);
    99114    pwg_set_session_var('filter_categories', serialize($filter['categories']));
    100115    pwg_set_session_var('filter_visible_categories', $filter['visible_categories']);
     
    111126  }
    112127
    113   $header_notes[] = l10n_dec('note_filter_day', 'note_filter_days', $user['recent_period']);
     128  if (get_filter_page_value('add_notes'))
     129  {
     130    $header_notes[] = l10n_dec('note_filter_day', 'note_filter_days', $filter['recent_period']);
     131  }
    114132}
    115133else
     
    119137    pwg_unset_session_var('filter_enabled');
    120138    pwg_unset_session_var('filter_check_key');
     139    pwg_unset_session_var('filter_recent_period');
    121140    pwg_unset_session_var('filter_categories');
    122141    pwg_unset_session_var('filter_visible_categories');
Note: See TracChangeset for help on using the changeset viewer.