From d0c2de854f17846d4bf937fc7ed95a5a6a4a85c1 Mon Sep 17 00:00:00 2001 From: rub Date: Thu, 11 Jan 2007 21:55:17 +0000 Subject: 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. git-svn-id: http://piwigo.org/svn/trunk@1715 68402e56-0260-453c-a942-63ccdbb3a9ee --- include/filter.inc.php | 143 ++++++++++++++++++++++++++----------------------- 1 file changed, 77 insertions(+), 66 deletions(-) (limited to 'include/filter.inc.php') diff --git a/include/filter.inc.php b/include/filter.inc.php index 46edd3039..f67a63386 100644 --- a/include/filter.inc.php +++ b/include/filter.inc.php @@ -32,86 +32,97 @@ $filter = array(); // $filter['visible_categories']: List of visible categories (count(visible) < count(forbidden) more often) // $filter['visible_images']: List of visible images -$filter['enabled'] = false; - if (in_array(script_basename(), $conf['filter_pages'])) -{ // valid only on certain pages +{ if (isset($_GET['filter'])) { $filter['enabled'] = ($_GET['filter'] == 'start'); - if ( !$filter['enabled'] ) - { - pwg_unset_session_var('filter_enabled'); - pwg_unset_session_var('filter_check_key'); - pwg_unset_session_var('filter_categories'); - pwg_unset_session_var('filter_visible_categories'); - pwg_unset_session_var('filter_visible_images'); - } } else { $filter['enabled'] = pwg_get_session_var('filter_enabled', false); } +} +else +{ + $filter['enabled'] = false; +} - if ($filter['enabled']) +if ($filter['enabled']) +{ + if ( + // New filter + !pwg_get_session_var('filter_enabled', false) or + // Cache data updated + $user['need_update_done'] or + // Date, period, user are changed + (pwg_get_session_var('filter_check_key', '') != get_filter_check_key()) + ) { - if ( - // New filter - !pwg_get_session_var('filter_enabled', false) or - // Cache data updated - $user['need_update_done'] or - // Date, period, user are changed - (pwg_get_session_var('filter_check_key', '') != get_filter_check_key()) - ) - { - // Need to compute dats - $filter['check_key'] = get_filter_check_key(); - $filter['categories'] = get_computed_categories($user['id'], $user['forbidden_categories'], true, $user['recent_period']); - - $filter['visible_categories'] = implode(',', array_keys($filter['categories'])); - if (empty($filter['visible_categories'])) - { - // Must be not empty - $filter['visible_categories'] = -1; - } + // Need to compute dats + $filter['check_key'] = get_filter_check_key(); + $filter['categories'] = get_computed_categories($user['id'], $user['forbidden_categories'], true, $user['recent_period']); - $query =' -SELECT DISTINCT(image_id) - FROM '. - IMAGE_CATEGORY_TABLE.' INNER JOIN '.IMAGES_TABLE.' ON image_id = id - WHERE '; - if (!empty($filter['visible_categories'])) - { - $query.= ' - category_id IN ('.$filter['visible_categories'].') AND'; - } - $query.= ' - date_available > SUBDATE( - CURRENT_DATE,INTERVAL '.$user['recent_period'].' DAY)'; + $filter['visible_categories'] = implode(',', array_keys($filter['categories'])); + if (empty($filter['visible_categories'])) + { + // Must be not empty + $filter['visible_categories'] = -1; + } - $filter['visible_images'] = implode(',', array_from_query($query, 'image_id')); + $query =' +SELECT + distinct image_id +FROM '. + IMAGE_CATEGORY_TABLE.' INNER JOIN '.IMAGES_TABLE.' ON image_id = id +WHERE '; + if (!empty($filter['visible_categories'])) + { + $query.= ' + category_id IN ('.$filter['visible_categories'].') and'; + } + $query.= ' + date_available > SUBDATE( + CURRENT_DATE,INTERVAL '.$user['recent_period'].' DAY)'; - if (empty($filter['visible_images'])) - { - // Must be not empty - $filter['visible_images'] = -1; - } + $filter['visible_images'] = implode(',', array_from_query($query, 'image_id')); - pwg_set_session_var('filter_enabled', $filter['enabled']); - pwg_set_session_var('filter_check_key', $filter['check_key']); - pwg_set_session_var('filter_categories', serialize($filter['categories'])); - pwg_set_session_var('filter_visible_categories', $filter['visible_categories']); - pwg_set_session_var('filter_visible_images', $filter['visible_images']); - } - else + if (empty($filter['visible_images'])) { - // Read only data - $filter['check_key'] = pwg_get_session_var('filter_check_key', ''); - $filter['categories'] = unserialize(pwg_get_session_var('filter_categories', serialize(array()))); - $filter['visible_categories'] = pwg_get_session_var('filter_visible_categories', ''); - $filter['visible_images'] = pwg_get_session_var('filter_visible_images', ''); + // Must be not empty + $filter['visible_images'] = -1; } - $header_notes[] = l10n_dec('note_filter_day', 'note_filter_days', $user['recent_period']); - } // end if filter enabled -} // end if script_basename ... -?> \ No newline at end of file + + // Save filter data on session + pwg_set_session_var('filter_enabled', $filter['enabled']); + pwg_set_session_var('filter_check_key', $filter['check_key']); + pwg_set_session_var('filter_categories', serialize($filter['categories'])); + pwg_set_session_var('filter_visible_categories', $filter['visible_categories']); + pwg_set_session_var('filter_visible_images', $filter['visible_images']); + + } + else + { + // Read only data + $filter['check_key'] = pwg_get_session_var('filter_check_key', ''); + $filter['categories'] = unserialize(pwg_get_session_var('filter_categories', serialize(array()))); + $filter['visible_categories'] = pwg_get_session_var('filter_visible_categories', ''); + $filter['visible_images'] = pwg_get_session_var('filter_visible_images', ''); + } + + $header_notes[] = l10n_dec('note_filter_day', 'note_filter_days', $user['recent_period']); +} +else +{ + if (pwg_get_session_var('filter_enabled', false)) + { + pwg_unset_session_var('filter_enabled'); + pwg_unset_session_var('filter_check_key'); + pwg_unset_session_var('filter_categories'); + pwg_unset_session_var('filter_visible_categories'); + pwg_unset_session_var('filter_visible_images'); + } +} + + +?> -- cgit v1.2.3