public function __construct() { global $osC_Language, $osC_MessageStack; parent::__construct(); $this->_page_contents = 'zones_delete.php'; if (isset($_POST['subaction']) && $_POST['subaction'] == 'confirm') { if (osC_Countries_Admin::deleteZone($_GET['zID'])) { $osC_MessageStack->add($this->_module, $osC_Language->get('ms_success_action_performed'), 'success'); } else { $osC_MessageStack->add($this->_module, $osC_Language->get('ms_error_action_not_performed'), 'error'); } osc_redirect_admin(osc_href_link_admin(FILENAME_DEFAULT, $this->_module . '=' . $_GET[$this->_module])); } }
public function __construct() { global $osC_Language, $osC_MessageStack; parent::__construct(); if (isset($_POST['batch']) && is_array($_POST['batch']) && !empty($_POST['batch'])) { $this->_page_contents = 'zones_batch_delete.php'; if (isset($_POST['subaction']) && $_POST['subaction'] == 'confirm') { $error = false; foreach ($_POST['batch'] as $id) { if (!osC_Countries_Admin::deleteZone($id)) { $error = true; break; } } if ($error === false) { $osC_MessageStack->add($this->_module, $osC_Language->get('ms_success_action_performed'), 'success'); } else { $osC_MessageStack->add($this->_module, $osC_Language->get('ms_error_action_not_performed'), 'error'); } osc_redirect_admin(osc_href_link_admin(FILENAME_DEFAULT, $this->_module . '=' . $_GET[$this->_module])); } } }
function deleteZones() { global $osC_Language, $toC_Json, $osC_Database; $error = false; $feedback = array(); $check_tax_zones_flag = array(); $check_address_book_flag = array(); $batch = explode(',', $_REQUEST['batch']); $Qzones = $osC_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(array_slice($batch, 0, MAX_DISPLAY_SEARCH_RESULTS), 'is_numeric')))); $Qzones->execute(); while ($Qzones->next()) { $Qcheck = $osC_Database->query('select address_book_id 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->numberOfRows() === 1) { $error = true; $check_address_book_flag[] = $Qzones->value('zone_name'); } $Qcheck = $osC_Database->query('select association_id from :table_zones_to_geo_zones where zone_id = :zone_id limit 1'); $Qcheck->bindTable(':table_zones_to_geo_zones', TABLE_ZONES_TO_GEO_ZONES); $Qcheck->bindInt(':zone_id', $Qzones->valueInt('zone_id')); $Qcheck->execute(); if ($Qcheck->numberOfRows() === 1) { $error = true; $check_tax_zones_flag[] = $Qzones->value('zone_name'); } } if (!empty($check_address_book_flag)) { $feedback[] = $osC_Language->get('batch_delete_warning_zone_in_use_address_book') . '<p>' . implode(', ', $check_address_book_flag) . '</p>'; } if (!empty($check_tax_zones_flag)) { $feedback[] = $osC_Language->get('batch_delete_warning_zone_in_use_tax_zone') . '<p>' . implode(', ', $check_tax_zones_flag) . '</p>'; } if ($error === false) { foreach ($batch as $id) { if (!osC_Countries_Admin::deleteZone($id)) { $error = true; break; } } if ($error === false) { $response = array('success' => true, 'feedback' => $osC_Language->get('ms_success_action_performed')); } else { $response = array('success' => false, 'feedback' => $osC_Language->get('ms_error_action_not_performed')); } } else { $response = array('success' => false, 'feedback' => $osC_Language->get('ms_error_action_not_performed') . '<br />' . implode('<br />', $feedback)); } echo $toC_Json->encode($response); }