Exemple #1
0
 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();
     }
 }