Changeset 1715


Ignore:
Timestamp:
Jan 11, 2007, 10:55:17 PM (17 years ago)
Author:
rub
Message:

Undo Revision: 1711 for filter.inc.php & config_default.php.
Restore last comportment.
admin page on config_default.php is normal.

But keep remove unused/forgotten code and best save data.

Location:
trunk/include
Files:
2 edited

Legend:

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

    r1711 r1715  
    574574$conf['filter_pages'] = array
    575575  (
    576     'comments', 'index', 'picture', 'qsearch',
    577     'random', 'search', 'tags', 'upload'
     576    'about', 'action', 'admin', 'comments',
     577    'index', 'picture', 'popuphelp', 'profile',
     578    'qsearch', 'random', 'register', 'search',
     579    'search_rules', 'tags', 'upload'
    578580  );
    579581
  • trunk/include/filter.inc.php

    r1711 r1715  
    3333// $filter['visible_images']: List of visible images
    3434
    35 $filter['enabled'] = false;
    36 
    3735if (in_array(script_basename(), $conf['filter_pages']))
    38 { // valid only on certain pages
     36{
    3937  if (isset($_GET['filter']))
    4038  {
    4139    $filter['enabled'] = ($_GET['filter'] == 'start');
    42     if ( !$filter['enabled'] )
    43     {
    44       pwg_unset_session_var('filter_enabled');
    45       pwg_unset_session_var('filter_check_key');
    46       pwg_unset_session_var('filter_categories');
    47       pwg_unset_session_var('filter_visible_categories');
    48       pwg_unset_session_var('filter_visible_images');
    49     }
    5040  }
    5141  else
     
    5343    $filter['enabled'] = pwg_get_session_var('filter_enabled', false);
    5444  }
     45}
     46else
     47{
     48  $filter['enabled'] = false;
     49}
    5550
    56   if ($filter['enabled'])
     51if ($filter['enabled'])
     52{
     53  if (
     54      // New filter
     55      !pwg_get_session_var('filter_enabled', false) or
     56      // Cache data updated
     57      $user['need_update_done'] or
     58      // Date, period, user are changed
     59      (pwg_get_session_var('filter_check_key', '') != get_filter_check_key())
     60    )
    5761  {
    58     if (
    59         // New filter
    60         !pwg_get_session_var('filter_enabled', false) or
    61         // Cache data updated
    62         $user['need_update_done'] or
    63         // Date, period, user are changed
    64         (pwg_get_session_var('filter_check_key', '') != get_filter_check_key())
    65       )
     62    // Need to compute dats
     63    $filter['check_key'] = get_filter_check_key();
     64    $filter['categories'] = get_computed_categories($user['id'], $user['forbidden_categories'], true, $user['recent_period']);
     65
     66    $filter['visible_categories'] = implode(',', array_keys($filter['categories']));
     67    if (empty($filter['visible_categories']))
    6668    {
    67       // Need to compute dats
    68       $filter['check_key'] = get_filter_check_key();
    69       $filter['categories'] = get_computed_categories($user['id'], $user['forbidden_categories'], true, $user['recent_period']);
     69      // Must be not empty
     70      $filter['visible_categories'] = -1;
     71    }
    7072
    71       $filter['visible_categories'] = implode(',', array_keys($filter['categories']));
    72       if (empty($filter['visible_categories']))
    73       {
    74         // Must be not empty
    75         $filter['visible_categories'] = -1;
    76       }
     73    $query ='
     74SELECT
     75  distinct image_id
     76FROM '.
     77  IMAGE_CATEGORY_TABLE.' INNER JOIN '.IMAGES_TABLE.' ON image_id = id
     78WHERE ';
     79    if (!empty($filter['visible_categories']))
     80    {
     81    $query.= '
     82  category_id  IN ('.$filter['visible_categories'].') and';
     83    }
     84  $query.= '
     85    date_available  > SUBDATE(
     86      CURRENT_DATE,INTERVAL '.$user['recent_period'].' DAY)';
    7787
    78       $query ='
    79 SELECT DISTINCT(image_id)
    80   FROM '.
    81     IMAGE_CATEGORY_TABLE.' INNER JOIN '.IMAGES_TABLE.' ON image_id = id
    82   WHERE ';
    83       if (!empty($filter['visible_categories']))
    84       {
    85       $query.= '
    86   category_id  IN ('.$filter['visible_categories'].') AND';
    87       }
    88       $query.= '
    89   date_available  > SUBDATE(
    90         CURRENT_DATE,INTERVAL '.$user['recent_period'].' DAY)';
     88    $filter['visible_images'] = implode(',', array_from_query($query, 'image_id'));
    9189
    92       $filter['visible_images'] = implode(',', array_from_query($query, 'image_id'));
     90    if (empty($filter['visible_images']))
     91    {
     92      // Must be not empty
     93      $filter['visible_images'] = -1;
     94    }
    9395
    94       if (empty($filter['visible_images']))
    95       {
    96         // Must be not empty
    97         $filter['visible_images'] = -1;
    98       }
     96    // Save filter data on session
     97    pwg_set_session_var('filter_enabled', $filter['enabled']);
     98    pwg_set_session_var('filter_check_key', $filter['check_key']);
     99    pwg_set_session_var('filter_categories', serialize($filter['categories']));
     100    pwg_set_session_var('filter_visible_categories', $filter['visible_categories']);
     101    pwg_set_session_var('filter_visible_images', $filter['visible_images']);
    99102
    100       pwg_set_session_var('filter_enabled', $filter['enabled']);
    101       pwg_set_session_var('filter_check_key', $filter['check_key']);
    102       pwg_set_session_var('filter_categories', serialize($filter['categories']));
    103       pwg_set_session_var('filter_visible_categories', $filter['visible_categories']);
    104       pwg_set_session_var('filter_visible_images', $filter['visible_images']);
    105     }
    106     else
    107     {
    108       // Read only data
    109       $filter['check_key'] = pwg_get_session_var('filter_check_key', '');
    110       $filter['categories'] = unserialize(pwg_get_session_var('filter_categories', serialize(array())));
    111       $filter['visible_categories'] = pwg_get_session_var('filter_visible_categories', '');
    112       $filter['visible_images'] = pwg_get_session_var('filter_visible_images', '');
    113     }
    114     $header_notes[] = l10n_dec('note_filter_day', 'note_filter_days', $user['recent_period']);
    115   } // end if filter enabled
    116 } // end if script_basename ...
     103  }
     104  else
     105  {
     106    // Read only data
     107    $filter['check_key'] = pwg_get_session_var('filter_check_key', '');
     108    $filter['categories'] = unserialize(pwg_get_session_var('filter_categories', serialize(array())));
     109    $filter['visible_categories'] = pwg_get_session_var('filter_visible_categories', '');
     110    $filter['visible_images'] = pwg_get_session_var('filter_visible_images', '');
     111  }
     112
     113  $header_notes[] = l10n_dec('note_filter_day', 'note_filter_days', $user['recent_period']);
     114}
     115else
     116{
     117  if (pwg_get_session_var('filter_enabled', false))
     118  {
     119    pwg_unset_session_var('filter_enabled');
     120    pwg_unset_session_var('filter_check_key');
     121    pwg_unset_session_var('filter_categories');
     122    pwg_unset_session_var('filter_visible_categories');
     123    pwg_unset_session_var('filter_visible_images');
     124  }
     125}
     126
     127
    117128?>
Note: See TracChangeset for help on using the changeset viewer.