public static function init() { $controller = new DpdGroupPostcodeController(); if (Tools::isSubmit(DpdGroupPostcodeController::SETTINGS_SAVE_POSTCODE_ACTION)) { $csv_data = $controller->readCSVData(); if ($csv_data === false) { DpdGroup::addFlashError($controller->l('Wrong CSV file')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } $message = $controller->validatePostcodeData($csv_data); if ($message !== true) { return $controller->module_instance->outputHTML($controller->module_instance->displayError(implode('<br />', $message))); } if ($controller->saveCSVData($csv_data)) { DpdGroup::addFlashMessage($controller->l('CSV data was successfully saved')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } else { DpdGroup::addFlashError($controller->l('CSV data could not be saved')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } } if (Tools::isSubmit(DpdGroupPostcodeController::SETTINGS_DOWNLOAD_POSTCODE_ACTION)) { $controller->generateCSV(); } if (Tools::isSubmit('submitBulkdeletepostcode')) { $postcodes_ids = Tools::getValue('postcodeBox'); if (empty($postcodes_ids)) { DpdGroup::addFlashError($controller->l('No postcodes selected')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } $errors = array(); foreach ($postcodes_ids as $id_postcode) { $postcode = new DpdGroupPostcode((int) $id_postcode); if (!$postcode->delete()) { $errors[] = $controller->l('Could not delete postcode, #') . (int) $id_postcode; } } if (empty($errors)) { DpdGroup::addFlashMessage($controller->l('Selected postcodes deleted successfully')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } else { DpdGroup::addFlashError(implode('<br />', $errors)); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } } if (Tools::isSubmit('delete_postcode')) { $postcode = new DpdGroupPostcode((int) Tools::getValue('id_postcode')); if ($postcode->delete()) { DpdGroup::addFlashMessage($controller->l('Postcode was deleted successfully')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } else { DpdGroup::addFlashError($controller->l('Could not delete postcode')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } } if (Tools::isSubmit(self::SETTINGS_DELETE_POSTCODE_ACTION)) { $postcode = new DpdGroupPostcode(); if ($postcode->deleteAllData()) { DpdGroup::addFlashMessage($controller->l('All postcodes deleted successfully')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } else { DpdGroup::addFlashError($controller->l('Could not delete all postcodes')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } } if (Tools::isSubmit(self::SETTINGS_RESTORE_POSTCODE_ACTION)) { $postcode = new DpdGroupPostcode(); if (!$postcode->deleteAllData()) { DpdGroup::addFlashError($controller->l('Could not delete all postcodes')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } $sql = array(); $postcodes = Tools::file_get_contents(_DPDGROUP_SQL_DIR_ . 'data.sql'); $postcodes = str_replace('zitec_dpd_postcodes', _DB_PREFIX_ . _DPDGROUP_POSTCODE_DB_, $postcodes); $postcodes = explode(';', $postcodes); foreach ($postcodes as $query) { if ($query) { $sql[] = $query . ';'; } } foreach ($sql as $query) { if (Db::getInstance()->execute($query) == false) { DpdGroup::addFlashError($controller->l('Could not restore default postcodes data')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } } DpdGroup::addFlashMessage($controller->l('Default postcodes data restored successfully')); Tools::redirectAdmin($controller->module_instance->module_url . '&menu=postcode'); } return null; }