本文整理汇总了PHP中Address::validateControler方法的典型用法代码示例。如果您正苦于以下问题:PHP Address::validateControler方法的具体用法?PHP Address::validateControler怎么用?PHP Address::validateControler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Address
的用法示例。
在下文中一共展示了Address::validateControler方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: hookFooter
/**
* Returns module content for header
*
* @param array $params Parameters
* @return string Content
*/
function hookFooter($params)
{
global $smarty, $cookie, $cart;
if (isset($smarty->_tpl_vars['HOOK_EXTRACARRIER']) and $smarty->_tpl_vars['page_name'] == 'order') {
$smarty->assign('TNTCarrierId', $this->_id_carrier);
// if ($smarty->_tpl_vars['page_name'] == 'order')
// $smarty->assign('TNT_js', 'relaisColis');
if ($smarty->_tpl_vars['page_name'] == 'history') {
$smarty->assign('TNT_js', 'suiviColis');
}
return $this->display(__FILE__, 'relaistnt_footer.tpl');
} elseif ($smarty->_tpl_vars['page_name'] == 'order' and (Tools::isSubmit('processCarrier') or Tools::getValue('step') === '3') and Validate::isLoadedObject($cart)) {
if ($cart->id_carrier != intval($this->_id_carrier)) {
return;
}
if (Configuration::get('PS_TOKEN_ENABLE') == 1 && strcmp(Tools::getToken(false), Tools::getValue('token')) && $cookie->isLogged() === true) {
$error = $this->l('invalid token');
}
$tntRCSelectedCode = pSQL(Tools::getValue('tntRCSelectedCode'));
if (empty($tntRCSelectedCode) or is_null($tntRCSelectedCode)) {
$error = $this->l('Avec la livraison TNT, vous devez choisir le relais dans lequel votre colis sera livré.');
}
if (!isset($error)) {
$address_TNT = new Address();
$address_TNT->id_country = intval(Configuration::get('PS_COUNTRY_DEFAULT'));
$address_TNT->id_customer = intval($cart->id_customer);
$address_TNT->alias = $this->l('TNT-') . $cart->id . '-' . $tntRCSelectedCode;
$address_TNT->lastname = $this->l('TNT');
$address_TNT->firstname = $this->l('Relais Colis');
if (Validate::isName(Tools::getValue('tntRCSelectedNom'))) {
$address_TNT->company = pSQL(Tools::getValue('tntRCSelectedNom'));
$address_TNT->firstname .= ' - ' . pSQL(Tools::getValue('tntRCSelectedNom'));
}
if (Validate::isAddress(Tools::getValue('tntRCSelectedAdresse'))) {
$address_TNT->address1 = pSQL(Tools::getValue('tntRCSelectedAdresse'));
}
if (Validate::isPostCode(Tools::getValue('tntRCSelectedCodePostal'))) {
}
$address_TNT->postcode = pSQL(Tools::getValue('tntRCSelectedCodePostal'));
if (Validate::isCityName(preg_replace('[\\d]', '', pSQL(Tools::getValue('tntRCSelectedCommune'))))) {
$address_TNT->city = preg_replace('[\\d]', '', pSQL(Tools::getValue('tntRCSelectedCommune')));
}
$address_TNT->deleted = 1;
$errors = $address_TNT->validateControler();
if (is_array($errors) and isset($errors[0])) {
Tools::redirect('order.php?step=2&error;=' . urlencode($errors[0]));
}
if ($address_TNT->save()) {
$cart->id_address_delivery = intval($address_TNT->id);
$cart->save();
} else {
Tools::redirect('order.php?step=2&error;=' . urlencode($this->l('could not save TNT address')));
}
} else {
Tools::redirect('order.php?step=2&error;=' . urlencode($error));
}
}
}
示例2: pSQL
if (Tools::isSubmit('newsletter')) {
$customer->ip_registration_newsletter = pSQL($_SERVER['REMOTE_ADDR']);
$customer->newsletter_date_add = pSQL(date('Y-m-d H:i:s'));
}
$customer->birthday = empty($_POST['years']) ? '' : intval($_POST['years']) . '-' . intval($_POST['months']) . '-' . intval($_POST['days']);
/* Customer and address, same fields, caching data */
$addrLastname = isset($_POST['lastname']) ? $_POST['lastname'] : $_POST['customer_lastname'];
$addrFirstname = isset($_POST['firstname']) ? $_POST['firstname'] : $_POST['customer_firstname'];
$_POST['lastname'] = $_POST['customer_lastname'];
$_POST['firstname'] = $_POST['customer_firstname'];
$errors = $customer->validateControler();
$_POST['lastname'] = $addrLastname;
$_POST['firstname'] = $addrFirstname;
$address = new Address();
$address->id_customer = 1;
$errors = array_unique(array_merge($errors, $address->validateControler()));
if (!sizeof($errors)) {
if (!($country = new Country($address->id_country)) or !Validate::isLoadedObject($country)) {
die(Tools::displayError());
}
if (intval($country->contains_states) and !intval($address->id_state)) {
$errors[] = Tools::displayError('this country require a state selection');
} else {
$customer->active = 1;
if (!$customer->add()) {
$errors[] = Tools::displayError('an error occurred while creating your account');
} else {
$address->id_customer = intval($customer->id);
if (!$address->add()) {
$errors[] = Tools::displayError('an error occurred while creating your address');
} else {
示例3: preProcess
public function preProcess()
{
parent::preProcess();
if (self::$cookie->isLogged() and !Tools::isSubmit('ajax')) {
Tools::redirect('my-account.php');
}
if (Tools::getValue('create_account')) {
$create_account = 1;
self::$smarty->assign('email_create', 1);
}
if (Tools::isSubmit('SubmitCreate')) {
if (!Validate::isEmail($email = Tools::getValue('email_create')) or empty($email)) {
$this->errors[] = Tools::displayError('Invalid e-mail address');
} elseif (Customer::customerExists($email)) {
$this->errors[] = Tools::displayError('An account is already registered with this e-mail, please fill in the password or request a new one.');
$_POST['email'] = $_POST['email_create'];
unset($_POST['email_create']);
} else {
$create_account = 1;
self::$smarty->assign('email_create', Tools::safeOutput($email));
$_POST['email'] = $email;
}
}
if (Tools::isSubmit('submitAccount') or Tools::isSubmit('submitGuestAccount')) {
$create_account = 1;
if (Tools::isSubmit('submitAccount')) {
self::$smarty->assign('email_create', 1);
}
/* New Guest customer */
if (!Tools::getValue('is_new_customer', 1) and !Configuration::get('PS_GUEST_CHECKOUT_ENABLED')) {
$this->errors[] = Tools::displayError('You cannot create a guest account.');
}
if (!Tools::getValue('is_new_customer', 1)) {
$_POST['passwd'] = md5(time() . _COOKIE_KEY_);
}
if (isset($_POST['guest_email']) and $_POST['guest_email']) {
$_POST['email'] = $_POST['guest_email'];
}
/* Preparing customer */
$customer = new Customer();
$lastnameAddress = $_POST['lastname'];
$firstnameAddress = $_POST['firstname'];
$_POST['lastname'] = $_POST['customer_lastname'];
$_POST['firstname'] = $_POST['customer_firstname'];
if (!Tools::getValue('phone') and !Tools::getValue('phone_mobile')) {
$this->errors[] = Tools::displayError('You must register at least one phone number');
}
if (!@checkdate(Tools::getValue('months'), Tools::getValue('days'), Tools::getValue('years')) and !(Tools::getValue('months') == '' and Tools::getValue('days') == '' and Tools::getValue('years') == '')) {
$this->errors[] = Tools::displayError('Invalid date of birth');
}
$customer->birthday = empty($_POST['years']) ? '' : (int) $_POST['years'] . '-' . (int) $_POST['months'] . '-' . (int) $_POST['days'];
$this->errors = array_unique(array_merge($this->errors, $customer->validateControler()));
/* Preparing address */
$address = new Address();
$_POST['lastname'] = $lastnameAddress;
$_POST['firstname'] = $firstnameAddress;
$address->id_customer = 1;
$this->errors = array_unique(array_merge($this->errors, $address->validateControler()));
/* US customer: normalize the address */
if ($address->id_country == Country::getByIso('US')) {
include_once _PS_TAASC_PATH_ . 'AddressStandardizationSolution.php';
$normalize = new AddressStandardizationSolution();
$address->address1 = $normalize->AddressLineStandardization($address->address1);
$address->address2 = $normalize->AddressLineStandardization($address->address2);
}
$zip_code_format = Country::getZipCodeFormat((int) Tools::getValue('id_country'));
if (Country::getNeedZipCode((int) Tools::getValue('id_country'))) {
if ($postcode = Tools::getValue('postcode') and $zip_code_format) {
$zip_regexp = '/^' . $zip_code_format . '$/ui';
$zip_regexp = str_replace(' ', '( |)', $zip_regexp);
$zip_regexp = str_replace('-', '(-|)', $zip_regexp);
$zip_regexp = str_replace('N', '[0-9]', $zip_regexp);
$zip_regexp = str_replace('L', '[a-zA-Z]', $zip_regexp);
$zip_regexp = str_replace('C', Country::getIsoById((int) Tools::getValue('id_country')), $zip_regexp);
if (!preg_match($zip_regexp, $postcode)) {
$this->errors[] = '<strong>' . Tools::displayError('Zip/ Postal code') . '</strong> ' . Tools::displayError('is invalid.') . '<br />' . Tools::displayError('Must be typed as follows:') . ' ' . str_replace('C', Country::getIsoById((int) Tools::getValue('id_country')), str_replace('N', '0', str_replace('L', 'A', $zip_code_format)));
}
} elseif ($zip_code_format) {
$this->errors[] = '<strong>' . Tools::displayError('Zip/ Postal code') . '</strong> ' . Tools::displayError('is required.');
} elseif ($postcode and !preg_match('/^[0-9a-zA-Z -]{4,9}$/ui', $postcode)) {
$this->errors[] = '<strong>' . Tools::displayError('Zip/ Postal code') . '</strong> ' . Tools::displayError('is invalid.');
}
}
if (Country::isNeedDniByCountryId($address->id_country) and (!Tools::getValue('dni') or !Validate::isDniLite(Tools::getValue('dni')))) {
$this->errors[] = Tools::displayError('Identification number is incorrect or has already been used.');
} elseif (!Country::isNeedDniByCountryId($address->id_country)) {
$address->dni = NULL;
}
if (!sizeof($this->errors)) {
if (Customer::customerExists(Tools::getValue('email'))) {
$this->errors[] = Tools::displayError('An account is already registered with this e-mail, please fill in the password or request a new one.');
}
if (Tools::isSubmit('newsletter')) {
$customer->ip_registration_newsletter = pSQL(Tools::getRemoteAddr());
$customer->newsletter_date_add = pSQL(date('Y-m-d H:i:s'));
}
if (!sizeof($this->errors)) {
if (!($country = new Country($address->id_country, Configuration::get('PS_LANG_DEFAULT'))) or !Validate::isLoadedObject($country)) {
die(Tools::displayError());
}
//.........这里部分代码省略.........
示例4: submitAccount
function submitAccount()
{
global $cookie, $errors, $smarty;
$email = Tools::getValue('email');
if (empty($email) or !Validate::isEmail($email)) {
$errors[] = Tools::displayError('e-mail not valid');
} elseif (!Validate::isPasswd(Tools::getValue('passwd'))) {
$errors[] = Tools::displayError('invalid password');
} elseif (Customer::customerExists($email)) {
$errors[] = Tools::displayError('someone has already registered with this e-mail address');
} elseif (!@checkdate(Tools::getValue('months'), Tools::getValue('days'), Tools::getValue('years')) and !(Tools::getValue('months') == '' and Tools::getValue('days') == '' and Tools::getValue('years') == '')) {
$errors[] = Tools::displayError('invalid birthday');
} else {
$customer = new Customer();
if (Tools::isSubmit('newsletter')) {
$customer->ip_registration_newsletter = pSQL(Tools::getRemoteAddr());
$customer->newsletter_date_add = pSQL(date('Y-m-d h:i:s'));
}
$customer->birthday = empty($_POST['years']) ? '' : (int) $_POST['years'] . '-' . (int) $_POST['months'] . '-' . (int) $_POST['days'];
/* Customer and address, same fields, caching data */
$errors = $customer->validateControler();
$address = new Address();
$address->id_customer = 1;
$errors = array_unique(array_merge($errors, $address->validateControler()));
if (!sizeof($errors)) {
$customer->active = 1;
if (!$customer->add()) {
$errors[] = Tools::displayError('an error occurred while creating your account');
} else {
$address->id_customer = (int) $customer->id;
if (!$address->add()) {
$errors[] = Tools::displayError('an error occurred while creating your address');
} else {
if (Mail::Send((int) $cookie->id_lang, 'account', Mail::l('Welcome!', (int) $cookie->id_lang), array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname . ' ' . $customer->lastname)) {
$smarty->assign('confirmation', 1);
}
$cookie->id_customer = (int) $customer->id;
$cookie->customer_lastname = $customer->lastname;
$cookie->customer_firstname = $customer->firstname;
$cookie->passwd = $customer->passwd;
$cookie->logged = 1;
$cookie->email = $customer->email;
Module::hookExec('createAccount', array('_POST' => $_POST, 'newCustomer' => $customer));
// Next !
$payerID = strval(Tools::getValue('payerID'));
displayProcess($payerID);
}
}
}
}
}
示例5: _addAddress
protected function _addAddress($step)
{
$id_address = (int) Tools::getValue('id_address', 0);
if ($id_address && !Tools::getValue('address_update', 0)) {
$address = new Address((int) $id_address);
if (Validate::isLoadedObject($address) and Customer::customerHasAddress((int) self::$cookie->id_customer, (int) $id_address)) {
if (Tools::isSubmit('delete')) {
if (self::$cart->id_address_invoice == $address->id) {
unset(self::$cart->id_address_invoice);
}
if (self::$cart->id_address_delivery == $address->id) {
unset(self::$cart->id_address_delivery);
}
if ($address->delete()) {
Tools::redirect('order.php?step=1');
}
$this->errors[] = Tools::displayError('This address cannot be deleted.');
}
self::$smarty->assign(array('address' => $address, 'id_address' => (int) $id_address));
if (Tools::isSubmit('id_state') and Tools::getValue('id_state') != NULL and is_numeric(Tools::getValue('id_state'))) {
$selected_state = Tools::getValue('id_state');
} elseif (isset($address) and isset($address->id_state) and !empty($address->id_state) and isset($address->id_state)) {
$selected_state = $address->id_state;
} else {
$selected_state = false;
}
// default to karnataka.
if (Tools::isSubmit('id_country') and Tools::getValue('id_country') != NULL and is_numeric(Tools::getValue('id_country'))) {
$selected_country = Tools::getValue('id_country');
} elseif (isset($address) and isset($address->id_country) and !empty($address->id_country) and isset($address->id_state)) {
$selected_country = $address->id_country;
} else {
$selected_country = false;
}
self::$smarty->assign('selected_country', $selected_country);
self::$smarty->assign('selected_state', $selected_state);
}
}
if (Tools::isSubmit('submitAddress')) {
$address = new Address();
$this->errors = $address->validateControler();
$address->id_customer = (int) self::$cookie->id_customer;
if (!Tools::getValue('phone') and !Tools::getValue('phone_mobile')) {
$this->errors[] = Tools::displayError('Please add your mobile phone number.');
}
if (!($country = new Country((int) $address->id_country)) or !Validate::isLoadedObject($country)) {
die(Tools::displayError());
}
//remove zipcode verification
/*
$zip_code_format = $country->zip_code_format;
if ($country->need_zip_code)
{
if (($postcode = Tools::getValue('postcode')) AND $zip_code_format)
{
$zip_regexp = '/^'.$zip_code_format.'$/ui';
$zip_regexp = str_replace(' ', '( |)', $zip_regexp);
$zip_regexp = str_replace('-', '(-|)', $zip_regexp);
$zip_regexp = str_replace('N', '[0-9]', $zip_regexp);
$zip_regexp = str_replace('L', '[a-zA-Z]', $zip_regexp);
$zip_regexp = str_replace('C', $country->iso_code, $zip_regexp);
if (!preg_match($zip_regexp, $postcode))
$this->errors[] = '<strong>'.Tools::displayError('Post/Zip Code mentioned is incorrect.').'</strong> ';
}
elseif ($zip_code_format)
$this->errors[] = '<strong>'.Tools::displayError('Post/Zip Code mentioned is incorrect.').'</strong> ';
elseif ($postcode AND !preg_match('/^[0-9a-zA-Z -]{4,9}$/ui', $postcode))
$this->errors[] = '<strong>'.Tools::displayError('Post/Zip Code mentioned is incorrect.').'</strong> ';
}
*/
if (!Tools::isSubmit('order_add_address_billing')) {
//validate pincode and assign possible payment options
$op = 0;
$op = Carrier::getPreferredCarriers($country->id);
if ($op == 0) {
$this->errors[] = 'We are sorry but we do not provide service to this region as of now. However, we keep adding new locations with time and would request you to check our website a few weeks later. We apologise for the inconvenience caused. ';
}
}
if (!$country->isNeedDni()) {
$address->dni = NULL;
}
if (Configuration::get('PS_TOKEN_ENABLE') == 1 and strcmp(Tools::getToken(false), Tools::getValue('token')) and self::$cookie->isLogged(true) === true) {
$this->errors[] = Tools::displayError('Invalid token');
}
if ((int) $country->contains_states and !(int) $address->id_state) {
$this->errors[] = Tools::displayError('Please select a state.');
}
if (!sizeof($this->errors)) {
if (isset($id_address)) {
$country = new Country((int) $address->id_country);
if (Validate::isLoadedObject($country) and !$country->contains_states) {
$address->id_state = 0;
}
$address_old = new Address((int) $id_address);
if (Validate::isLoadedObject($address_old) and Customer::customerHasAddress((int) self::$cookie->id_customer, (int) $address_old->id)) {
if ($address_old->isUsed()) {
$address_old->delete();
if (!Tools::isSubmit('ajax')) {
$to_update = false;
if (self::$cart->id_address_invoice == $address_old->id) {
//.........这里部分代码省略.........
示例6: preProcess
public function preProcess()
{
parent::preProcess();
if ($back = Tools::getValue('back')) {
self::$smarty->assign('back', Tools::safeOutput($back));
}
if ($mod = Tools::getValue('mod')) {
self::$smarty->assign('mod', Tools::safeOutput($mod));
}
if (Tools::isSubmit('ajax') and Tools::isSubmit('type')) {
if (Tools::getValue('type') == 'delivery') {
$id_address = isset(self::$cart->id_address_delivery) ? (int) self::$cart->id_address_delivery : 0;
} elseif (Tools::getValue('type') == 'invoice') {
$id_address = (isset(self::$cart->id_address_invoice) and self::$cart->id_address_invoice != self::$cart->id_address_delivery) ? (int) self::$cart->id_address_invoice : 0;
} else {
exit;
}
} else {
$id_address = (int) Tools::getValue('id_address', 0);
}
if ($id_address) {
$this->_address = new Address((int) $id_address);
if (Validate::isLoadedObject($this->_address) and Customer::customerHasAddress((int) self::$cookie->id_customer, (int) $id_address)) {
if (Tools::isSubmit('delete')) {
if (self::$cart->id_address_invoice == $this->_address->id) {
unset(self::$cart->id_address_invoice);
}
if (self::$cart->id_address_delivery == $this->_address->id) {
unset(self::$cart->id_address_delivery);
}
if ($this->_address->delete()) {
Tools::redirect('addresses.php');
}
$this->errors[] = Tools::displayError('This address cannot be deleted.');
}
self::$smarty->assign(array('address' => $this->_address, 'id_address' => (int) $id_address));
} elseif (Tools::isSubmit('ajax')) {
exit;
} else {
Tools::redirect('addresses.php');
}
}
if (Tools::isSubmit('submitAddress')) {
$address = new Address();
$this->errors = $address->validateControler();
$address->id_customer = (int) self::$cookie->id_customer;
if (!Tools::getValue('phone') and !Tools::getValue('phone_mobile')) {
$this->errors[] = Tools::displayError('You must register at least one phone number');
}
if (!($country = new Country((int) $address->id_country)) or !Validate::isLoadedObject($country)) {
die(Tools::displayError());
}
/* US customer: normalize the address */
if ($address->id_country == Country::getByIso('US')) {
include_once _PS_TAASC_PATH_ . 'AddressStandardizationSolution.php';
$normalize = new AddressStandardizationSolution();
$address->address1 = $normalize->AddressLineStandardization($address->address1);
$address->address2 = $normalize->AddressLineStandardization($address->address2);
}
$zip_code_format = $country->zip_code_format;
if ($country->need_zip_code) {
if ($postcode = Tools::getValue('postcode') and $zip_code_format) {
$zip_regexp = '/^' . $zip_code_format . '$/ui';
$zip_regexp = str_replace(' ', '( |)', $zip_regexp);
$zip_regexp = str_replace('-', '(-|)', $zip_regexp);
$zip_regexp = str_replace('N', '[0-9]', $zip_regexp);
$zip_regexp = str_replace('L', '[a-zA-Z]', $zip_regexp);
$zip_regexp = str_replace('C', $country->iso_code, $zip_regexp);
if (!preg_match($zip_regexp, $postcode)) {
$this->errors[] = '<strong>' . Tools::displayError('Zip/ Postal code') . '</strong> ' . Tools::displayError('is invalid.') . '<br />' . Tools::displayError('Must be typed as follows:') . ' ' . str_replace('C', $country->iso_code, str_replace('N', '0', str_replace('L', 'A', $zip_code_format)));
}
} elseif ($zip_code_format) {
$this->errors[] = '<strong>' . Tools::displayError('Zip/ Postal code') . '</strong> ' . Tools::displayError('is required.');
} elseif ($postcode and !preg_match('/^[0-9a-zA-Z -]{4,9}$/ui', $postcode)) {
$this->errors[] = '<strong>' . Tools::displayError('Zip/ Postal code') . '</strong> ' . Tools::displayError('is invalid.') . '<br />' . Tools::displayError('Must be typed as follows:') . ' ' . str_replace('C', $country->iso_code, str_replace('N', '0', str_replace('L', 'A', $zip_code_format)));
}
}
if ($country->isNeedDni() and !Tools::getValue('dni') and !Validate::isDniLite(Tools::getValue('dni'))) {
$this->errors[] = Tools::displayError('Identification number is incorrect or has already been used.');
} elseif (!$country->isNeedDni()) {
$address->dni = NULL;
}
if (Configuration::get('PS_TOKEN_ENABLE') == 1 and strcmp(Tools::getToken(false), Tools::getValue('token')) and self::$cookie->isLogged(true) === true) {
$this->errors[] = Tools::displayError('Invalid token');
}
if ((int) $country->contains_states and !(int) $address->id_state) {
$this->errors[] = Tools::displayError('This country requires a state selection.');
}
if (!sizeof($this->errors)) {
if (isset($id_address)) {
$country = new Country((int) $address->id_country);
if (Validate::isLoadedObject($country) and !$country->contains_states) {
$address->id_state = 0;
}
$address_old = new Address((int) $id_address);
if (Validate::isLoadedObject($address_old) and Customer::customerHasAddress((int) self::$cookie->id_customer, (int) $address_old->id)) {
if (!Tools::isSubmit('ajax')) {
if (self::$cart->id_address_invoice == $address_old->id) {
unset(self::$cart->id_address_invoice);
}
//.........这里部分代码省略.........
示例7: validateAddressDictionary
public function validateAddressDictionary($encoder, $addressDictionary)
{
global $cookie;
// prepare the fields inside the POST (so we can use Prestashop's validateController)
$_POST['alias'] = $this->SHIPPING_ADDRESS_ALIAS;
unset($_POST['firstname']);
if (isset($addressDictionary['FirstName'])) {
$_POST['firstname'] = $addressDictionary['FirstName'];
}
unset($_POST['lastname']);
if (isset($addressDictionary['LastName'])) {
$_POST['lastname'] = $addressDictionary['LastName'];
}
unset($_POST['address1']);
if (isset($addressDictionary['Street1'])) {
$_POST['address1'] = $addressDictionary['Street1'];
}
unset($_POST['address2']);
if (isset($addressDictionary['Street2'])) {
$_POST['address2'] = $addressDictionary['Street2'];
}
unset($_POST['phone']);
if (isset($addressDictionary['Phone1'])) {
$_POST['phone'] = $addressDictionary['Phone1'];
}
unset($_POST['phone_mobile']);
if (isset($addressDictionary['Phone2'])) {
$_POST['phone_mobile'] = $addressDictionary['Phone2'];
}
unset($_POST['postcode']);
if (isset($addressDictionary['Zipcode'])) {
$_POST['postcode'] = $addressDictionary['Zipcode'];
}
unset($_POST['city']);
if (isset($addressDictionary['City'])) {
$_POST['city'] = $addressDictionary['City'];
}
unset($_POST['id_country']);
if (isset($addressDictionary['Country'])) {
$_POST['id_country'] = $addressDictionary['Country'];
}
unset($_POST['id_state']);
if (isset($addressDictionary['State'])) {
$_POST['id_state'] = $addressDictionary['State'];
}
// code taken from AddressController::preProcess
$address = new Address();
if (_PS_VERSION_ < '1.5') {
$errors = $address->validateControler();
} else {
$errors = $errors = $address->validateController();
}
$address->id_customer = (int) $cookie->id_customer;
if (!Tools::getValue('phone') and !Tools::getValue('phone_mobile')) {
$errors[] = Tools::displayError('You must register at least one phone number');
}
if (!($country = new Country((int) $address->id_country)) or !Validate::isLoadedObject($country)) {
CartAPI_Helpers::dieOnErrors($encoder, 'InvalidAddress', CartAPI_Handlers_Helpers::removeHtmlTags($errors));
}
/* US customer: normalize the address */
if ($address->id_country == Country::getByIso('US')) {
include_once _PS_TAASC_PATH_ . 'AddressStandardizationSolution.php';
$normalize = new AddressStandardizationSolution();
$address->address1 = $normalize->AddressLineStandardization($address->address1);
$address->address2 = $normalize->AddressLineStandardization($address->address2);
}
$zip_code_format = $country->zip_code_format;
if ($country->need_zip_code) {
if ($postcode = Tools::getValue('postcode') and $zip_code_format) {
$zip_regexp = '/^' . $zip_code_format . '$/ui';
$zip_regexp = str_replace(' ', '( |)', $zip_regexp);
$zip_regexp = str_replace('-', '(-|)', $zip_regexp);
$zip_regexp = str_replace('N', '[0-9]', $zip_regexp);
$zip_regexp = str_replace('L', '[a-zA-Z]', $zip_regexp);
$zip_regexp = str_replace('C', $country->iso_code, $zip_regexp);
if (!preg_match($zip_regexp, $postcode)) {
$errors[] = '<strong>' . Tools::displayError('Zip/ Postal code') . '</strong> ' . Tools::displayError('is invalid.') . '<br />' . Tools::displayError('Must be typed as follows:') . ' ' . str_replace('C', $country->iso_code, str_replace('N', '0', str_replace('L', 'A', $zip_code_format)));
}
} elseif ($zip_code_format) {
$errors[] = '<strong>' . Tools::displayError('Zip/ Postal code') . '</strong> ' . Tools::displayError('is required.');
} elseif ($postcode and !preg_match('/^[0-9a-zA-Z -]{4,9}$/ui', $postcode)) {
$errors[] = '<strong>' . Tools::displayError('Zip/ Postal code') . '</strong> ' . Tools::displayError('is invalid.') . '<br />' . Tools::displayError('Must be typed as follows:') . ' ' . str_replace('C', $country->iso_code, str_replace('N', '0', str_replace('L', 'A', $zip_code_format)));
}
}
/*
if ($country->isNeedDni() AND (!Tools::getValue('dni') OR !Validate::isDniLite(Tools::getValue('dni'))))
$errors[] = Tools::displayError('Identification number is incorrect or has already been used.');
elseif (!$country->isNeedDni())
$address->dni = NULL;
if (Configuration::get('PS_TOKEN_ENABLE') == 1 AND
strcmp(Tools::getToken(false), Tools::getValue('token')) AND
self::$cookie->isLogged(true) === true)
$errors[] = Tools::displayError('Invalid token');
*/
if ((int) $country->contains_states and !(int) $address->id_state) {
$errors[] = Tools::displayError('This country requires a state selection.');
}
// finished
if (count($errors) > 0) {
CartAPI_Helpers::dieOnErrors($encoder, 'InvalidAddress', CartAPI_Handlers_Helpers::removeHtmlTags($errors));
//.........这里部分代码省略.........
示例8: preProcess
public function preProcess()
{
parent::preProcess();
if ($back = Tools::getValue('back')) {
self::$smarty->assign('back', Tools::safeOutput($back));
}
if ($mod = Tools::getValue('mod')) {
self::$smarty->assign('mod', Tools::safeOutput($mod));
}
if (Tools::isSubmit('ajax') and Tools::isSubmit('type')) {
if (Tools::getValue('type') == 'delivery') {
$id_address = isset(self::$cart->id_address_delivery) ? (int) self::$cart->id_address_delivery : 0;
} elseif (Tools::getValue('type') == 'invoice') {
$id_address = (isset(self::$cart->id_address_invoice) and self::$cart->id_address_invoice != self::$cart->id_address_delivery) ? (int) self::$cart->id_address_invoice : 0;
} else {
exit;
}
} else {
$id_address = (int) Tools::getValue('id_address', 0);
}
if ($id_address) {
$this->_address = new Address((int) $id_address);
if (Validate::isLoadedObject($this->_address) and Customer::customerHasAddress((int) self::$cookie->id_customer, (int) $id_address)) {
if (Tools::isSubmit('delete')) {
if (self::$cart->id_address_invoice == $this->_address->id) {
unset(self::$cart->id_address_invoice);
}
if (self::$cart->id_address_delivery == $this->_address->id) {
unset(self::$cart->id_address_delivery);
}
if ($this->_address->delete()) {
Tools::redirect('addresses.php');
}
$this->errors[] = Tools::displayError('This address cannot be deleted.');
}
self::$smarty->assign(array('address' => $this->_address, 'id_address' => (int) $id_address));
} elseif (Tools::isSubmit('ajax')) {
exit;
} else {
Tools::redirect('addresses.php');
}
}
if (Tools::isSubmit('submitAddress')) {
$address = new Address();
$this->errors = $address->validateControler();
$address->id_customer = (int) self::$cookie->id_customer;
if (!Tools::getValue('phone') and !Tools::getValue('phone_mobile')) {
$this->errors[] = Tools::displayError('You must register at least one phone number');
}
if (!($country = new Country((int) $address->id_country)) or !Validate::isLoadedObject($country)) {
die(Tools::displayError());
}
/* US customer: normalize the address */
if ($address->id_country == Country::getByIso('US')) {
include_once _PS_TAASC_PATH_ . 'AddressStandardizationSolution.php';
$normalize = new AddressStandardizationSolution();
$address->address1 = $normalize->AddressLineStandardization($address->address1);
$address->address2 = $normalize->AddressLineStandardization($address->address2);
}
//remove zipcode verification
/*
$zip_code_format = $country->zip_code_format;
if ($country->need_zip_code)
{
if (($postcode = Tools::getValue('postcode')) AND $zip_code_format)
{
$zip_regexp = '/^'.$zip_code_format.'$/ui';
$zip_regexp = str_replace(' ', '( |)', $zip_regexp);
$zip_regexp = str_replace('-', '(-|)', $zip_regexp);
$zip_regexp = str_replace('N', '[0-9]', $zip_regexp);
$zip_regexp = str_replace('L', '[a-zA-Z]', $zip_regexp);
$zip_regexp = str_replace('C', $country->iso_code, $zip_regexp);
if (!preg_match($zip_regexp, $postcode))
$this->errors[] = '<strong>'.Tools::displayError('Post/Zip Code mentioned is incorrect.').'</strong> ';
}
elseif ($zip_code_format)
$this->errors[] = '<strong>'.Tools::displayError('Post/Zip Code mentioned is incorrect.').'</strong> ';
elseif ($postcode AND !preg_match('/^[0-9a-zA-Z -]{4,9}$/ui', $postcode))
$this->errors[] = '<strong>'.Tools::displayError('Post/Zip Code mentioned is incorrect.').'</strong> ';
}
*/
//validate pincode and assign possible payment options
$op = $cod = 0;
Carrier::getPreferredCarriers($postcode, $cod, $op);
if ($op == 0 && $cod == 0) {
$this->errors[] = 'We are sorry but we do not provide service to this region as of now. However, we keep adding new locations with time and would request you to check our website a few weeks later. We apologise for the inconvenience caused. ';
}
if ($country->isNeedDni() and (!Tools::getValue('dni') or !Validate::isDniLite(Tools::getValue('dni')))) {
$this->errors[] = Tools::displayError('Identification number is incorrect or has already been used.');
} elseif (!$country->isNeedDni()) {
$address->dni = NULL;
}
if (Configuration::get('PS_TOKEN_ENABLE') == 1 and strcmp(Tools::getToken(false), Tools::getValue('token')) and self::$cookie->isLogged(true) === true) {
$this->errors[] = Tools::displayError('Invalid token');
}
if ((int) $country->contains_states and !(int) $address->id_state) {
$this->errors[] = Tools::displayError('This country requires a state selection.');
}
if (!sizeof($this->errors)) {
if (isset($id_address)) {
//.........这里部分代码省略.........
示例9: unset
unset($cart->id_address_delivery);
}
if ($address->delete()) {
Tools::redirect('addresses.php');
}
$errors[] = Tools::displayError('this address cannot be deleted');
}
$smarty->assign(array('address' => $address, 'id_address' => intval($id_address)));
} else {
Tools::redirect('addresses.php');
}
}
if (Tools::isSubmit('submitAddress')) {
$address = new Address();
$address->id_customer = intval($cookie->id_customer);
$errors = $address->validateControler();
if (Configuration::get('PS_TOKEN_ENABLE') == 1 && strcmp(Tools::getToken(false), Tools::getValue('token')) && $cookie->isLogged() === true) {
$errors[] = Tools::displayError('invalid token');
}
if (!($country = new Country($address->id_country)) or !Validate::isLoadedObject($country)) {
die(Tools::displayError());
}
if (intval($country->contains_states) and !intval($address->id_state)) {
$errors[] = Tools::displayError('this country require a state selection');
}
if (!sizeof($errors)) {
if (isset($id_address)) {
$country = new Country(intval($address->id_country));
if (Validate::isLoadedObject($country) and !$country->contains_states) {
$address->id_state = false;
}