public static function batchDeleteZones($batch) { global $lC_Language, $lC_Database; $lC_Language->loadIniFile('countries.php'); $Qzones = $lC_Database->query('select zone_id, zone_name, zone_code from :table_zones where zone_id in (":zone_id") order by zone_name'); $Qzones->bindTable(':table_zones', TABLE_ZONES); $Qzones->bindRaw(':zone_id', implode('", "', array_unique(array_filter($batch, 'is_numeric')))); $Qzones->execute(); $names_string = ''; while ($Qzones->next()) { $Qcheck = $lC_Database->query('select count(address_book_id) as total from :table_address_book where entry_zone_id = :entry_zone_id limit 1'); $Qcheck->bindTable(':table_address_book', TABLE_ADDRESS_BOOK); $Qcheck->bindInt(':entry_zone_id', $Qzones->valueInt('zone_id')); $Qcheck->execute(); if ($Qcheck->valueInt('total') > 0) { $names_string .= $Qzones->valueProtected('zone_name') . ' (' . $Qcheck->valueInt('total') . ' ' . $lC_Language->get('address_book_entries') . '), '; } $Qzcheck = $lC_Database->query('select count(association_id) as total_zones from :table_zones_to_geo_zones where zone_id = :zone_id limit 1'); $Qzcheck->bindTable(':table_zones_to_geo_zones', TABLE_ZONES_TO_GEO_ZONES); $Qzcheck->bindInt(':zone_id', $Qzones->valueInt('zone_id')); $Qzcheck->execute(); if ($Qzcheck->valueInt('total_zones') > 0) { $names_string .= $Qzones->valueProtected('zone_name') . ' (' . $Qzcheck->valueInt('total_zones') . ' ' . $lC_Language->get('tax_zones') . '), '; } if ($Qzcheck->valueInt('total_zones') == 0 && $Qcheck->valueInt('total') == 0) { lC_Countries_Admin::deleteZone($Qzones->valueInt('zone_id')); } $Qcheck->freeResult(); $Qzcheck->freeResult(); } if (!empty($names_string)) { $names_string = substr($names_string, 0, -2); } $result['namesString'] = $names_string; $Qzones->freeResult(); return $result; }
public static function deleteZone() { $result = array(); $deleted = lC_Countries_Admin::deleteZone($_GET['zid']); if ($deleted) { $result['rpcStatus'] = RPC_STATUS_SUCCESS; } echo json_encode($result); }