Changeset 1715
- Timestamp:
- Jan 11, 2007, 10:55:17 PM (17 years ago)
- Location:
- trunk/include
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/config_default.inc.php
r1711 r1715 574 574 $conf['filter_pages'] = array 575 575 ( 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' 578 580 ); 579 581 -
trunk/include/filter.inc.php
r1711 r1715 33 33 // $filter['visible_images']: List of visible images 34 34 35 $filter['enabled'] = false;36 37 35 if (in_array(script_basename(), $conf['filter_pages'])) 38 { // valid only on certain pages36 { 39 37 if (isset($_GET['filter'])) 40 38 { 41 39 $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 }50 40 } 51 41 else … … 53 43 $filter['enabled'] = pwg_get_session_var('filter_enabled', false); 54 44 } 45 } 46 else 47 { 48 $filter['enabled'] = false; 49 } 55 50 56 if ($filter['enabled']) 51 if ($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 ) 57 61 { 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'])) 66 68 { 67 // Need to compute dats68 $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 } 70 72 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 =' 74 SELECT 75 distinct image_id 76 FROM '. 77 IMAGE_CATEGORY_TABLE.' INNER JOIN '.IMAGES_TABLE.' ON image_id = id 78 WHERE '; 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)'; 77 87 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')); 91 89 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 } 93 95 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']); 99 102 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 } 115 else 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 117 128 ?>
Note: See TracChangeset
for help on using the changeset viewer.