static function getFilters($delcache = false) { self::getCats(); if (AZArrCache::is_not_cached('filters_arr', 0, '', $delcache)) { if (!$delcache) { $re = DB::query('SELECT * FROM filter ORDER BY fgid, pos'); if ($re) { while ($filter = mysql_fetch_assoc($re)) { if (!isset(CGlobal::$all_filters[$filter['fgid']])) { CGlobal::$all_filters[$filter['fgid']] = array(); } CGlobal::$all_filters[$filter['fgid']][$filter['id']] = $filter; CGlobal::$allFilters[$filter['id']] = $filter; } } $re = DB::query('SELECT * FROM filter_group ORDER BY pos'); if ($re) { while ($group_filter = mysql_fetch_assoc($re)) { CGlobal::$all_gfilters[$group_filter['id']] = $group_filter; if ($group_filter['catids'] != '') { $catids = explode(',', $group_filter['catids']); if (isset(CGlobal::$all_filters[$group_filter['id']])) { $group_filter['filters'] = CGlobal::$all_filters[$group_filter['id']]; } if ($catids) { foreach ($catids as $catid) { if ($catid != '' && isset(CGlobal::$allCategories[$catid])) { if (!isset(CGlobal::$filters[$catid])) { CGlobal::$filters[$catid] = array(); } CGlobal::$filters[$catid][$group_filter['id']] = $group_filter; } } } } } } AZArrCache::set(array('allFilters' => CGlobal::$allFilters, 'filters' => CGlobal::$filters, 'all_filters' => CGlobal::$all_filters, 'all_gfilters' => CGlobal::$all_gfilters)); } } else { CGlobal::$allFilters = AZArrCache::$arr_cache['allFilters']; CGlobal::$filters = AZArrCache::$arr_cache['filters']; CGlobal::$all_filters = AZArrCache::$arr_cache['all_filters']; CGlobal::$all_gfilters = AZArrCache::$arr_cache['all_gfilters']; AZArrCache::$arr_cache = array(); } }