本文整理汇总了PHP中State::getIdByName方法的典型用法代码示例。如果您正苦于以下问题:PHP State::getIdByName方法的具体用法?PHP State::getIdByName怎么用?PHP State::getIdByName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类State
的用法示例。
在下文中一共展示了State::getIdByName方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _installStates
protected function _installStates($xml)
{
if (isset($xml->states->state)) {
foreach ($xml->states->state as $data) {
$attributes = $data->attributes();
if (!($id_state = State::getIdByName($attributes['name']))) {
$state = new State();
$state->name = strval($attributes['name']);
$state->iso_code = strval($attributes['iso_code']);
$state->id_country = Country::getByIso(strval($attributes['country']));
$id_zone = (int) Zone::getIdByName(strval($attributes['zone']));
if (!$id_zone) {
$zone = new Zone();
$zone->name = (string) $attributes['zone'];
$zone->active = true;
if (!$zone->add()) {
$this->_errors[] = Tools::displayError('Invalid Zone name.');
return false;
}
$id_zone = $zone->id;
}
$state->id_zone = $id_zone;
if (!$state->validateFields()) {
$this->_errors[] = Tools::displayError('Invalid state properties.');
return false;
}
$country = new Country($state->id_country);
if (!$country->contains_states) {
$country->contains_states = 1;
if (!$country->update()) {
$this->_errors[] = Tools::displayError('Cannot update the associated country: ') . $country->name;
}
}
if (!$state->add()) {
$this->_errors[] = Tools::displayError('An error occurred while adding the state.');
return false;
}
} else {
$state = new State($id_state);
if (!Validate::isLoadedObject($state)) {
$this->_errors[] = Tools::displayError('An error occurred while fetching the state.');
return false;
}
}
}
}
return true;
}
示例2: addressImport
public function addressImport()
{
$this->receiveTab();
$defaultLanguageId = (int) Configuration::get('PS_LANG_DEFAULT');
$handle = $this->openCsvFile();
self::setLocale();
for ($current_line = 0; $line = fgetcsv($handle, MAX_LINE_SIZE, Tools::getValue('separator')); $current_line++) {
if (Tools::getValue('convert')) {
$line = $this->utf8_encode_array($line);
}
$info = self::getMaskedRow($line);
self::setDefaultValues($info);
$address = new Address();
self::array_walk($info, array('AdminImport', 'fillInfo'), $address);
if (isset($address->country) and is_numeric($address->country)) {
if (Country::getNameById(Configuration::get('PS_LANG_DEFAULT'), (int) $address->country)) {
$address->id_country = (int) $address->country;
}
} elseif (isset($address->country) and is_string($address->country) and !empty($address->country)) {
if ($id_country = Country::getIdByName(NULL, $address->country)) {
$address->id_country = (int) $id_country;
} else {
$country = new Country();
$country->active = 1;
$country->name = self::createMultiLangField($address->country);
$country->id_zone = 0;
// Default zone for country to create
$country->iso_code = strtoupper(substr($address->country, 0, 2));
// Default iso for country to create
$country->contains_states = 0;
// Default value for country to create
$langFieldError = $country->validateFieldsLang(UNFRIENDLY_ERROR, true);
if (($fieldError = $country->validateFields(UNFRIENDLY_ERROR, true)) === true and ($langFieldError = $country->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true and $country->add()) {
$address->id_country = (int) $country->id;
} else {
$this->_errors[] = $country->name[$defaultLanguageId] . ' ' . Tools::displayError('Cannot be saved');
$this->_errors[] = ($fieldError !== true ? $fieldError : '') . ($langFieldError !== true ? $langFieldError : '') . mysql_error();
}
}
}
if (isset($address->state) and is_numeric($address->state)) {
if (State::getNameById((int) $address->state)) {
$address->id_state = (int) $address->state;
}
} elseif (isset($address->state) and is_string($address->state) and !empty($address->state)) {
if ($id_state = State::getIdByName($address->state)) {
$address->id_state = (int) $id_state;
} else {
$state = new State();
$state->active = 1;
$state->name = $address->state;
$state->id_country = isset($country->id) ? (int) $country->id : 0;
$state->id_zone = 0;
// Default zone for state to create
$state->iso_code = strtoupper(substr($address->state, 0, 2));
// Default iso for state to create
$state->tax_behavior = 0;
if (($fieldError = $state->validateFields(UNFRIENDLY_ERROR, true)) === true and ($langFieldError = $state->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true and $state->add()) {
$address->id_state = (int) $state->id;
} else {
$this->_errors[] = $state->name . ' ' . Tools::displayError('Cannot be saved');
$this->_errors[] = ($fieldError !== true ? $fieldError : '') . ($langFieldError !== true ? $langFieldError : '') . mysql_error();
}
}
}
if (isset($address->customer_email) and !empty($address->customer_email)) {
if (Validate::isEmail($address->customer_email)) {
$customer = Customer::customerExists($address->customer_email, true);
if ($customer) {
$address->id_customer = (int) $customer;
} else {
$this->_errors[] = mysql_error() . ' ' . $address->customer_email . ' ' . Tools::displayError('does not exist in database') . ' ' . (isset($info['id']) ? ' (ID ' . $info['id'] . ')' : '') . ' ' . Tools::displayError('Cannot be saved');
}
} else {
$this->_errors[] = '"' . $address->customer_email . '" :' . Tools::displayError('Is not a valid Email');
}
}
if (isset($address->manufacturer) and is_numeric($address->manufacturer) and Manufacturer::manufacturerExists((int) $address->manufacturer)) {
$address->id_manufacturer = (int) $address->manufacturer;
} elseif (isset($address->manufacturer) and is_string($address->manufacturer) and !empty($address->manufacturer)) {
$manufacturer = new Manufacturer();
$manufacturer->name = $address->manufacturer;
if (($fieldError = $manufacturer->validateFields(UNFRIENDLY_ERROR, true)) === true and ($langFieldError = $manufacturer->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true and $manufacturer->add()) {
$address->id_manufacturer = (int) $manufacturer->id;
} else {
$this->_errors[] = mysql_error() . ' ' . $manufacturer->name . (isset($manufacturer->id) ? ' (' . $manufacturer->id . ')' : '') . ' ' . Tools::displayError('Cannot be saved');
$this->_errors[] = ($fieldError !== true ? $fieldError : '') . ($langFieldError !== true ? $langFieldError : '') . mysql_error();
}
}
if (isset($address->supplier) and is_numeric($address->supplier) and Supplier::supplierExists((int) $address->supplier)) {
$address->id_supplier = (int) $address->supplier;
} elseif (isset($address->supplier) and is_string($address->supplier) and !empty($address->supplier)) {
$supplier = new Supplier();
$supplier->name = $address->supplier;
if (($fieldError = $supplier->validateFields(UNFRIENDLY_ERROR, true)) === true and ($langFieldError = $supplier->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true and $supplier->add()) {
$address->id_supplier = (int) $supplier->id;
} else {
$this->_errors[] = mysql_error() . ' ' . $supplier->name . (isset($supplier->id) ? ' (' . $supplier->id . ')' : '') . ' ' . Tools::displayError('Cannot be saved');
$this->_errors[] = ($fieldError !== true ? $fieldError : '') . ($langFieldError !== true ? $langFieldError : '') . mysql_error();
}
//.........这里部分代码省略.........
示例3: _installStates
protected function _installStates($xml)
{
if (isset($xml->states->state)) {
foreach ($xml->states->state as $data) {
$attributes = $data->attributes();
if (!($id_state = State::getIdByName($attributes['name']))) {
$state = new State();
$state->name = strval($attributes['name']);
$state->iso_code = strval($attributes['iso_code']);
$state->id_country = Country::getByIso(strval($attributes['country']));
$state->id_zone = (int) Zone::getIdByName(strval($attributes['zone']));
if (!$state->validateFields()) {
$this->_errors[] = Tools::displayError('Invalid state properties.');
return false;
}
$country = new Country($state->id_country);
if (!$country->contains_states) {
$country->contains_states = 1;
if (!$country->update()) {
$this->_errors[] = Tools::displayError('Cannot update the associated country: ') . $country->name;
}
}
if (!$state->add()) {
$this->_errors[] = Tools::displayError('An error occurred while adding the state.');
return false;
}
} else {
$state = new State($id_state);
if (!Validate::isLoadedObject($state)) {
$this->_errors[] = Tools::displayError('An error occurred while fetching the state.');
return false;
}
}
// Add counties
foreach ($data->county as $xml_county) {
$county_attributes = $xml_county->attributes();
if (!($id_county = County::getIdCountyByNameAndIdState($county_attributes['name'], $state->id))) {
$county = new County();
$county->name = $county_attributes['name'];
$county->id_state = (int) $state->id;
$county->active = 1;
if (!$county->validateFields()) {
$this->_errors[] = Tools::displayError('Invalid County properties');
return false;
}
if (!$county->save()) {
$this->_errors[] = Tools::displayError('An error has occurred while adding the county');
return false;
}
} else {
$county = new County((int) $id_county);
if (!Validate::isLoadedObject($county)) {
$this->_errors[] = Tools::displayError('An error occurred while fetching the county.');
return false;
}
}
// add zip codes
foreach ($xml_county->zipcode as $xml_zipcode) {
$zipcode_attributes = $xml_zipcode->attributes();
$zipcodes = $zipcode_attributes['from'];
if (isset($zipcode_attributes['to'])) {
$zipcodes .= '-' . $zipcode_attributes['to'];
}
if ($county->isZipCodeRangePresent($zipcodes)) {
continue;
}
if (!$county->addZipCodes($zipcodes)) {
$this->_errors[] = Tools::displayError('An error has occurred while adding zipcodes');
return false;
}
}
}
}
}
return true;
}
示例4: storeContactImportOne
public function storeContactImportOne($info, $shop_is_feature_active, $regenerate, $force_ids, $validateOnly = false)
{
AdminImportController::setDefaultValues($info);
if ($force_ids && isset($info['id']) && (int) $info['id']) {
$store = new Store((int) $info['id']);
} else {
if (array_key_exists('id', $info) && (int) $info['id'] && Store::existsInDatabase((int) $info['id'], 'store')) {
$store = new Store((int) $info['id']);
} else {
$store = new Store();
}
}
AdminImportController::arrayWalk($info, array('AdminImportController', 'fillInfo'), $store);
if (isset($store->image) && !empty($store->image)) {
if (!AdminImportController::copyImg($store->id, null, $store->image, 'stores', !$regenerate)) {
$this->warnings[] = $store->image . ' ' . $this->trans('cannot be copied.', array(), 'Admin.Parameters.Notification');
}
}
if (isset($store->hours) && is_array($store->hours)) {
$store->hours = serialize($store->hours);
}
if (isset($store->country) && is_numeric($store->country)) {
if (Country::getNameById(Configuration::get('PS_LANG_DEFAULT'), (int) $store->country)) {
$store->id_country = (int) $store->country;
}
} elseif (isset($store->country) && is_string($store->country) && !empty($store->country)) {
if ($id_country = Country::getIdByName(null, $store->country)) {
$store->id_country = (int) $id_country;
} else {
$country = new Country();
$country->active = 1;
$country->name = AdminImportController::createMultiLangField($store->country);
$country->id_zone = 0;
// Default zone for country to create
$country->iso_code = Tools::strtoupper(Tools::substr($store->country, 0, 2));
// Default iso for country to create
$country->contains_states = 0;
// Default value for country to create
$lang_field_error = $country->validateFieldsLang(UNFRIENDLY_ERROR, true);
if (($field_error = $country->validateFields(UNFRIENDLY_ERROR, true)) === true && ($lang_field_error = $country->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true && !$validateOnly && $country->add()) {
$store->id_country = (int) $country->id;
} else {
if (!$validateOnly) {
$default_language_id = (int) Configuration::get('PS_LANG_DEFAULT');
$this->errors[] = sprintf($this->trans('%s cannot be saved', array(), 'Admin.Parameters.Notification'), $country->name[$default_language_id]);
}
if ($field_error !== true || isset($lang_field_error) && $lang_field_error !== true) {
$this->errors[] = ($field_error !== true ? $field_error : '') . (isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '') . Db::getInstance()->getMsgError();
}
}
}
}
if (isset($store->state) && is_numeric($store->state)) {
if (State::getNameById((int) $store->state)) {
$store->id_state = (int) $store->state;
}
} elseif (isset($store->state) && is_string($store->state) && !empty($store->state)) {
if ($id_state = State::getIdByName($store->state)) {
$store->id_state = (int) $id_state;
} else {
$state = new State();
$state->active = 1;
$state->name = $store->state;
$state->id_country = isset($country->id) ? (int) $country->id : 0;
$state->id_zone = 0;
// Default zone for state to create
$state->iso_code = Tools::strtoupper(Tools::substr($store->state, 0, 2));
// Default iso for state to create
$state->tax_behavior = 0;
if (($field_error = $state->validateFields(UNFRIENDLY_ERROR, true)) === true && ($lang_field_error = $state->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true && !$validateOnly && $state->add()) {
$store->id_state = (int) $state->id;
} else {
if (!$validateOnly) {
$this->errors[] = sprintf($this->trans('%s cannot be saved', array(), 'Admin.Parameters.Notification'), $state->name);
}
if ($field_error !== true || isset($lang_field_error) && $lang_field_error !== true) {
$this->errors[] = ($field_error !== true ? $field_error : '') . (isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '') . Db::getInstance()->getMsgError();
}
}
}
}
$res = false;
if (($field_error = $store->validateFields(UNFRIENDLY_ERROR, true)) === true && ($lang_field_error = $store->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true) {
if ($store->id && $store->storeExists($store->id)) {
$res = $validateOnly ? $validateOnly : $store->update();
}
$store->force_id = (bool) $force_ids;
if (!$res) {
$res = $validateOnly ? $validateOnly : $store->add();
}
if (!$res) {
$this->errors[] = Db::getInstance()->getMsgError() . ' ' . sprintf($this->trans('%1$s (ID: %2$s) cannot be saved', array(), 'Admin.Parameters.Notification'), $info['name'], isset($info['id']) ? $info['id'] : 'null');
}
} else {
$this->errors[] = $this->l('Store is invalid') . ' (' . $store->name . ')';
$this->errors[] = ($field_error !== true ? $field_error : '') . (isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '');
}
}
示例5: generateHeaderAddresses
public static function generateHeaderAddresses(&$pdf, $order, $addressType, $patternRules, $width)
{
$maxY = 0;
$pdf->setY($pdf->GetY() + 5);
foreach (array_keys($addressType) as $type) {
$currentY = $pdf->GetY();
$attributeName = 'id_address_' . $type;
$addressType[$type]['displayed'] = '';
$addressType[$type]['addressObject'] = new Address((int) $order->{$attributeName});
$addressType[$type]['addressFields'] = AddressFormat::getOrderedAddressFields($addressType[$type]['addressObject']->id_country);
$addressType[$type]['addressFormatedValues'] = AddressFormat::getFormattedAddressFieldsValues($addressType[$type]['addressObject'], $addressType[$type]['addressFields']);
foreach ($addressType[$type]['addressFields'] as $line) {
if ($patternsList = explode(' ', $line)) {
$tmp = '';
foreach ($patternsList as $pattern) {
if (!in_array($pattern, $patternRules['avoid'])) {
if ($pattern == 'State:name' && Country::getIsoById(Configuration::get('PS_COUNTRY_DEFAULT')) == 'US') {
$state_name =& $addressType[$type]['addressFormatedValues'][$pattern];
$state = new State((int) State::getIdByName($state_name));
if (Validate::isLoadedObject($state)) {
$state_name = $state->iso_code;
} else {
$state_name = strtoupper(substr($state_name, 0, 2));
}
}
$tmp .= isset($addressType[$type]['addressFormatedValues'][$pattern]) && !empty($addressType[$type]['addressFormatedValues'][$pattern]) ? Tools::iconv('utf-8', self::encoding(), $addressType[$type]['addressFormatedValues'][$pattern]) . ' ' : '';
}
}
$tmp = trim($tmp);
$addressType[$type]['displayed'] .= !empty($tmp) ? $tmp . "\n" : '';
}
}
$pdf->MultiCell($width, 6.0, $addressType[$type]['displayed'], 0, 'L', 0);
if ($pdf->GetY() > $maxY) {
$maxY = $pdf->GetY();
}
$pdf->SetY($currentY);
$pdf->SetX($width + 10);
}
$pdf->SetY($maxY);
if ($maxY) {
$pdf->Ln(5);
}
return $addressType;
}
示例6: addressImport
public function addressImport()
{
$this->receiveTab();
$default_language_id = (int) Configuration::get('PS_LANG_DEFAULT');
$handle = $this->openCsvFile();
AdminImportController::setLocale();
for ($current_line = 0; $line = fgetcsv($handle, MAX_LINE_SIZE, $this->separator); $current_line++) {
if (Tools::getValue('convert')) {
$line = $this->utf8EncodeArray($line);
}
$info = AdminImportController::getMaskedRow($line);
AdminImportController::setDefaultValues($info);
$address = new Address();
AdminImportController::arrayWalk($info, array('AdminImportController', 'fillInfo'), $address);
if (isset($address->country) && is_numeric($address->country)) {
if (Country::getNameById(Configuration::get('PS_LANG_DEFAULT'), (int) $address->country)) {
$address->id_country = (int) $address->country;
}
} elseif (isset($address->country) && is_string($address->country) && !empty($address->country)) {
if ($id_country = Country::getIdByName(null, $address->country)) {
$address->id_country = (int) $id_country;
} else {
$country = new Country();
$country->active = 1;
$country->name = AdminImportController::createMultiLangField($address->country);
$country->id_zone = 0;
// Default zone for country to create
$country->iso_code = Tools::strtoupper(Tools::substr($address->country, 0, 2));
// Default iso for country to create
$country->contains_states = 0;
// Default value for country to create
$lang_field_error = $country->validateFieldsLang(UNFRIENDLY_ERROR, true);
if (($field_error = $country->validateFields(UNFRIENDLY_ERROR, true)) === true && ($lang_field_error = $country->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true && $country->add()) {
$address->id_country = (int) $country->id;
} else {
$this->errors[] = sprintf(Tools::displayError('%s cannot be saved'), $country->name[$default_language_id]);
$this->errors[] = ($field_error !== true ? $field_error : '') . (isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '') . Db::getInstance()->getMsgError();
}
}
}
if (isset($address->state) && is_numeric($address->state)) {
if (State::getNameById((int) $address->state)) {
$address->id_state = (int) $address->state;
}
} elseif (isset($address->state) && is_string($address->state) && !empty($address->state)) {
if ($id_state = State::getIdByName($address->state)) {
$address->id_state = (int) $id_state;
} else {
$state = new State();
$state->active = 1;
$state->name = $address->state;
$state->id_country = isset($country->id) ? (int) $country->id : 0;
$state->id_zone = 0;
// Default zone for state to create
$state->iso_code = Tools::strtoupper(Tools::substr($address->state, 0, 2));
// Default iso for state to create
$state->tax_behavior = 0;
if (($field_error = $state->validateFields(UNFRIENDLY_ERROR, true)) === true && ($lang_field_error = $state->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true && $state->add()) {
$address->id_state = (int) $state->id;
} else {
$this->errors[] = sprintf(Tools::displayError('%s cannot be saved'), $state->name);
$this->errors[] = ($field_error !== true ? $field_error : '') . (isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '') . Db::getInstance()->getMsgError();
}
}
}
if (isset($address->customer_email) && !empty($address->customer_email)) {
if (Validate::isEmail($address->customer_email)) {
// a customer could exists in different shop
$customer_list = Customer::getCustomersByEmail($address->customer_email);
if (count($customer_list) == 0) {
$this->errors[] = sprintf(Tools::displayError('%1$s does not exist in database %2$s (ID: %3$s), and therefore cannot be saved.'), Db::getInstance()->getMsgError(), $address->customer_email, isset($info['id']) && !empty($info['id']) ? $info['id'] : 'null');
}
} else {
$this->errors[] = sprintf(Tools::displayError('"%s" is not a valid email address.'), $address->customer_email);
continue;
}
} elseif (isset($address->id_customer) && !empty($address->id_customer)) {
if (Customer::customerIdExistsStatic((int) $address->id_customer)) {
$customer = new Customer((int) $address->id_customer);
// a customer could exists in different shop
$customer_list = Customer::getCustomersByEmail($customer->email);
if (count($customer_list) == 0) {
$this->errors[] = sprintf(Tools::displayError('%1$s does not exist in database %2$s (ID: %3$s), and therefore cannot be saved.'), Db::getInstance()->getMsgError(), $customer->email, (int) $address->id_customer);
}
} else {
$this->errors[] = sprintf(Tools::displayError('The customer ID #%d does not exist in the database, and therefore cannot be saved.'), $address->id_customer);
}
} else {
$customer_list = array();
$address->id_customer = 0;
}
if (isset($address->manufacturer) && is_numeric($address->manufacturer) && Manufacturer::manufacturerExists((int) $address->manufacturer)) {
$address->id_manufacturer = (int) $address->manufacturer;
} elseif (isset($address->manufacturer) && is_string($address->manufacturer) && !empty($address->manufacturer)) {
$manufacturer = new Manufacturer();
$manufacturer->name = $address->manufacturer;
if (($field_error = $manufacturer->validateFields(UNFRIENDLY_ERROR, true)) === true && ($lang_field_error = $manufacturer->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true && $manufacturer->add()) {
$address->id_manufacturer = (int) $manufacturer->id;
} else {
$this->errors[] = Db::getInstance()->getMsgError() . ' ' . sprintf(Tools::displayError('%1$s (ID: %2$s) cannot be saved'), $manufacturer->name, isset($manufacturer->id) && !empty($manufacturer->id) ? $manufacturer->id : 'null');
//.........这里部分代码省略.........
示例7: init
//.........这里部分代码省略.........
if (($id_order = $this->_checkFreeOrder()) && $id_order) {
$order = new Order((int) $id_order);
$email = $this->context->customer->email;
if ($this->context->customer->is_guest) {
$this->context->customer->logout();
}
die('freeorder:' . $order->reference . ':' . $email);
}
exit;
case 'updateAddressesSelected':
$get_order_reference_details_request = new OffAmazonPaymentsService_Model_GetOrderReferenceDetailsRequest();
$get_order_reference_details_request->setSellerId(self::$amz_payments->merchant_id);
$get_order_reference_details_request->setAmazonOrderReferenceId(Tools::getValue('amazonOrderReferenceId'));
if (isset($this->context->cookie->amz_access_token)) {
$get_order_reference_details_request->setAddressConsentToken(AmzPayments::prepareCookieValueForAmazonPaymentsUse($this->context->cookie->amz_access_token));
}
$reference_details_result_wrapper = $this->service->getOrderReferenceDetails($get_order_reference_details_request);
$physical_destination = $reference_details_result_wrapper->GetOrderReferenceDetailsResult->getOrderReferenceDetails()->getDestination()->getPhysicalDestination();
$iso_code = (string) $physical_destination->GetCountryCode();
$city = (string) $physical_destination->GetCity();
$postcode = (string) $physical_destination->GetPostalCode();
$state = (string) $physical_destination->GetStateOrRegion();
$address_delivery = AmazonPaymentsAddressHelper::findByAmazonOrderReferenceIdOrNew(Tools::getValue('amazonOrderReferenceId'));
$address_delivery->id_country = Country::getByIso($iso_code);
$address_delivery->alias = 'Amazon Payments Delivery';
$address_delivery->lastname = 'amzLastname';
$address_delivery->firstname = 'amzFirstname';
$address_delivery->address1 = 'amzAddress1';
$address_delivery->city = $city;
$address_delivery->postcode = $postcode;
if ($state != '') {
$state_id = State::getIdByIso($state, Country::getByIso($iso_code));
if (!$state_id) {
$state_id = State::getIdByName($state);
}
if ($state_id) {
$address_delivery->id_state = $state_id;
}
}
$address_delivery->save();
AmazonPaymentsAddressHelper::saveAddressAmazonReference($address_delivery, Tools::getValue('amazonOrderReferenceId'));
$this->context->smarty->assign('isVirtualCart', $this->context->cart->isVirtualCart());
$old_delivery_address_id = $this->context->cart->id_address_delivery;
$this->context->cart->id_address_delivery = $address_delivery->id;
$this->context->cart->id_address_invoice = $address_delivery->id;
$this->context->cart->setNoMultishipping();
$this->context->cart->updateAddressId($old_delivery_address_id, $address_delivery->id);
if (!$this->context->cart->update()) {
$this->errors[] = Tools::displayError('An error occurred while updating your cart.');
}
$infos = Address::getCountryAndState((int) $this->context->cart->id_address_delivery);
if (isset($infos['id_country']) && $infos['id_country']) {
$country = new Country((int) $infos['id_country']);
$this->context->country = $country;
}
$cart_rules = $this->context->cart->getCartRules();
CartRule::autoRemoveFromCart($this->context);
CartRule::autoAddToCart($this->context);
if ((int) Tools::getValue('allow_refresh')) {
$cart_rules2 = $this->context->cart->getCartRules();
if (count($cart_rules2) != count($cart_rules)) {
$this->ajax_refresh = true;
} else {
$rule_list = array();
foreach ($cart_rules2 as $rule) {
$rule_list[] = $rule['id_cart_rule'];