function getFilterCount($specification, $specifications_id, $filter_class, $products_column_name)
 {
     $raw_query_start = "select count(distinct p.products_id) as count ";
     $raw_query_from = " FROM (" . TABLE_PRODUCTS . " p)\nINNER JOIN (" . TABLE_PRODUCTS_TO_CATEGORIES . " p2c)\nON (p.products_id = p2c.products_id)\nINNER JOIN " . TABLE_CATEGORIES . " cat\nON (cat.categories_id = p2c.categories_id)";
     $raw_query_where = " WHERE p.products_status = '1' AND cat.categories_status = '1'";
     if ($this->current_category_id != 0) {
         // Restrict query to the appropriate category/categories
         $subcategories_array = array();
         vam_get_subcategories($subcategories_array, $this->current_category_id);
         if (SPECIFICATIONS_FILTER_SUBCATEGORIES == 'True' && count($subcategories_array) > 0) {
             $category_ids = $this->current_category_id . ',' . implode(',', $subcategories_array);
             $raw_query_where .= '   ' . "and p2c.categories_id in (" . $category_ids . ") ";
         } else {
             $raw_query_where .= " and p2c.categories_id = '" . $this->current_category_id . "' ";
         }
     }
     // if ($this->current_category_id
     $raw_query_addon_array = vam_get_filter_sql($filter_class, $specifications_id, $specification, $products_column_name, '1');
     $raw_query_from .= $raw_query_addon_array['from'];
     $raw_query_where .= $raw_query_addon_array['where'];
     $applied_filters = $this->getAppliedFilters();
     foreach ($applied_filters as $k => $v) {
         if ($k == $specifications_id) {
             continue;
         }
         $specs_array = $this->getSpecification($k);
         $raw_query_addon_array = vam_get_filter_sql($specs_array['filter_class'], $specs_array['specifications_id'], $v, $specs_array['products_column_name'], $this->languages_id);
         $raw_query_from .= $raw_query_addon_array['from'];
         $raw_query_where .= $raw_query_addon_array['where'];
     }
     // foreach($applied_filters
     $raw_query = $raw_query_start . $raw_query_from . $raw_query_where;
     //print 'Raw Query: ' . $raw_query . '<br>';
     $filter_count_query = vam_db_query($raw_query);
     $filter_count_results = vam_db_fetch_array($filter_count_query);
     $count = (string) $filter_count_results['count'];
     return $count;
 }
    $var = 'f' . $specs_array['specifications_id'];
    ${$var} = '0';
    if (isset($_GET[$var]) && $_GET[$var] != '') {
        // Decode the URL-encoded names, including arrays
        ${$var} = vam_decode_recursive($_GET[$var]);
        // Sanitize variables to prevent hacking
        //$$var = preg_replace("/^[ а-яА-Я\/]+$/","", $$var);
        // Get rid of extra values if Select All is selected
        ${$var} = vam_select_all_override(${$var});
        // Get the breadcrumbs data for the filters that are set
        $filter_breadcrumbs = vam_get_filter_breadcrumbs($specs_array, ${$var});
        $specs_array_breadcrumb = array_merge($specs_array_breadcrumb, (array) $filter_breadcrumbs);
        // Set the correct variable type (All _GET variables are strings by default)
        ${$var} = vam_set_type(${$var});
        // Get the SQL to apply the filters
        $sql_string_array = vam_get_filter_sql($specs_array['filter_class'], $specs_array['specifications_id'], ${$var}, $specs_array['products_column_name'], $_SESSION['languages_id']);
        $sql_array['from'] .= $sql_string_array['from'];
        $sql_array['where'] .= $sql_string_array['where'];
    }
    // if (isset ($_GET[$var]
}
// while ($specs_array
$listing_sql = '';
//fsk18 lock
$fsk_lock = '';
if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
    $fsk_lock = ' and p.products_fsk18!=1';
}
// sorting query
$sorting_query = vamDBquery("SELECT products_sorting,\n                                                products_sorting2 FROM " . TABLE_CATEGORIES . "\n                                                where categories_id='" . $current_category_id . "'");
$sorting_data = vam_db_fetch_array($sorting_query, true);