if(!empty($discounts->max_product_id) || !empty($discounts->max_category_id) || !empty($discounts->max_category_children) || !empty($discounts->max_zone_id)) {
$on .= ' LEFT JOIN '.hikashop_table('discount').' AS discount '.
' ON (('. implode(') OR (', $join_discount_links) . '))';
$filters[] = 'discount.discount_type = ' . $database->Quote('discount');
$filters[] = 'discount.discount_published = 1';
$filters[] = '(discount.discount_quota = 0 OR discount.discount_quota > discount.discount_used_times)';
$filters[] = 'discount.discount_start < '.time().'';
$filters[] = '(discount.discount_end = 0 OR discount.discount_end > '.time().')';
hikashop_addACLFilters($filters, 'discount_access', 'discount', 2, false);
if(!empty($discounts->max_zone_id)) {
$zones = array();
$zone_id = hikashop_getZone(null);
$zoneClass = hikashop_get('class.zone');
$zones = $zoneClass->getZoneParents($zone_id);
if(!empty($zones)) {
foreach($zones as &$zone) {
$zone = hikashop_getEscaped($zone, true);
}
unset($zone);
$filters[] = '(discount.discount_zone_id = \'\' OR discount.discount_zone_id LIKE \'%,' .implode(',%\' OR discount.discount_zone_id LIKE \'%,', $zones) . ',%\')';
} else {
$filters[] = 'discount.discount_zone_id = \'\'';
}
}
}
else {
$filters[] = '1=0';
}