本文整理汇总了PHP中Country::isNeedDniByCountryId方法的典型用法代码示例。如果您正苦于以下问题:PHP Country::isNeedDniByCountryId方法的具体用法?PHP Country::isNeedDniByCountryId怎么用?PHP Country::isNeedDniByCountryId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Country
的用法示例。
在下文中一共展示了Country::isNeedDniByCountryId方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processSave
public function processSave()
{
if (Tools::getValue('submitFormAjax')) {
$this->redirect_after = false;
}
// Transform e-mail in id_customer for parent processing
if (Validate::isEmail(Tools::getValue('email'))) {
$customer = new Customer();
$customer->getByEmail(Tools::getValue('email'), null, false);
if (Validate::isLoadedObject($customer)) {
$_POST['id_customer'] = $customer->id;
} else {
$this->errors[] = Tools::displayError('This email address is not registered.');
}
} else {
if ($id_customer = Tools::getValue('id_customer')) {
$customer = new Customer((int) $id_customer);
if (Validate::isLoadedObject($customer)) {
$_POST['id_customer'] = $customer->id;
} else {
$this->errors[] = Tools::displayError('Unknown customer');
}
} else {
$this->errors[] = Tools::displayError('Unknown customer');
}
}
if (Country::isNeedDniByCountryId(Tools::getValue('id_country')) && !Tools::getValue('dni')) {
$this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.');
}
/* If the selected country does not contain states */
$id_state = (int) Tools::getValue('id_state');
$id_country = (int) Tools::getValue('id_country');
$country = new Country((int) $id_country);
if ($country && !(int) $country->contains_states && $id_state) {
$this->errors[] = Tools::displayError('You have selected a state for a country that does not contain states.');
}
/* If the selected country contains states, then a state have to be selected */
if ((int) $country->contains_states && !$id_state) {
$this->errors[] = Tools::displayError('An address located in a country containing states must have a state selected.');
}
$postcode = Tools::getValue('postcode');
/* Check zip code format */
if ($country->zip_code_format && !$country->checkZipCode($postcode)) {
$this->errors[] = Tools::displayError('Your Zip/postal code is incorrect.') . '<br />' . Tools::displayError('It must be entered as follows:') . ' ' . str_replace('C', $country->iso_code, str_replace('N', '0', str_replace('L', 'A', $country->zip_code_format)));
} elseif (empty($postcode) && $country->need_zip_code) {
$this->errors[] = Tools::displayError('A Zip/postal code is required.');
} elseif ($postcode && !Validate::isPostCode($postcode)) {
$this->errors[] = Tools::displayError('The Zip/postal code is invalid.');
}
if (Configuration::get('PS_ONE_PHONE_AT_LEAST') && !Tools::getValue('phone') && !Tools::getValue('phone_mobile')) {
$this->errors[] = Tools::displayError('You must register at least one phone number.');
}
/* If this address come from order's edition and is the same as the other one (invoice or delivery one)
** we delete its id_address to force the creation of a new one */
if ((int) Tools::getValue('id_order')) {
$this->_redirect = false;
if (isset($_POST['address_type'])) {
$_POST['id_address'] = '';
}
}
// Check the requires fields which are settings in the BO
$address = new Address();
$this->errors = array_merge($this->errors, $address->validateFieldsRequiredDatabase());
if (empty($this->errors)) {
return parent::processSave();
} else {
// if we have errors, we stay on the form instead of going back to the list
$this->display = 'edit';
}
/* Reassignation of the order's new (invoice or delivery) address */
$address_type = (int) Tools::getValue('address_type') == 2 ? 'invoice' : ((int) Tools::getValue('address_type') == 1 ? 'delivery' : '');
if ($this->action == 'save' && ($id_order = (int) Tools::getValue('id_order')) && !count($this->errors) && !empty($address_type)) {
if (!Db::getInstance()->execute('UPDATE ' . _DB_PREFIX_ . 'orders SET `id_address_' . $address_type . '` = ' . Db::getInstance()->Insert_ID() . ' WHERE `id_order` = ' . $id_order)) {
$this->errors[] = Tools::displayError('An error occurred while linking this address to its order.');
} else {
Tools::redirectAdmin(Tools::getValue('back') . '&conf=4');
}
}
}
示例2: isNeedDni
public function isNeedDni()
{
return Country::isNeedDniByCountryId($this->id);
}
示例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: postProcess
public function postProcess()
{
if (isset($_POST['submitAdd' . $this->table])) {
// Transform e-mail in id_customer for parent processing
if ($this->addressType == 'customer') {
if (Validate::isEmail(Tools::getValue('email'))) {
$customer = new Customer();
$customer->getByEmail(Tools::getValue('email'));
if (Validate::isLoadedObject($customer)) {
$_POST['id_customer'] = $customer->id;
} else {
$this->_errors[] = Tools::displayError('This e-mail address is not registered.');
}
} elseif ($id_customer = Tools::getValue('id_customer')) {
$customer = new Customer((int) $id_customer);
if (Validate::isLoadedObject($customer)) {
$_POST['id_customer'] = $customer->id;
} else {
$this->_errors[] = Tools::displayError('Unknown customer');
}
} else {
$this->_errors[] = Tools::displayError('Unknown customer');
}
if (Country::isNeedDniByCountryId(Tools::getValue('id_country')) and !Tools::getValue('dni')) {
$this->_errors[] = Tools::displayError('Identification number is incorrect or has already been used.');
}
}
// Check manufacturer selected
if ($this->addressType == 'manufacturer') {
$manufacturer = new Manufacturer((int) Tools::getValue('id_manufacturer'));
if (!Validate::isLoadedObject($manufacturer)) {
$this->_errors[] = Tools::displayError('Manufacturer selected is not valid.');
}
}
/* If the selected country does not contain states */
$id_state = (int) Tools::getValue('id_state');
if ($id_country = Tools::getValue('id_country') and $country = new Country((int) $id_country) and !(int) $country->contains_states and $id_state) {
$this->_errors[] = Tools::displayError('You have selected a state for a country that does not contain states.');
}
/* If the selected country contains states, then a state have to be selected */
if ((int) $country->contains_states and !$id_state) {
$this->_errors[] = Tools::displayError('An address located in a country containing states must have a state selected.');
}
/* Check zip code */
if ($country->need_zip_code) {
$zip_code_format = $country->zip_code_format;
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[] = Tools::displayError('Your zip/postal code is incorrect.') . '<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[] = Tools::displayError('Postcode required.');
} elseif ($postcode and !preg_match('/^[0-9a-zA-Z -]{4,9}$/ui', $postcode)) {
$this->_errors[] = Tools::displayError('Your zip/postal code is incorrect.');
}
}
/* If this address come from order's edition and is the same as the other one (invoice or delivery one)
** we delete its id_address to force the creation of a new one */
if ((int) Tools::getValue('id_order')) {
$this->_redirect = false;
if (isset($_POST['address_type'])) {
$_POST['id_address'] = '';
}
}
}
if (!sizeof($this->_errors)) {
parent::postProcess();
}
/* Reassignation of the order's new (invoice or delivery) address */
$address_type = (int) Tools::getValue('address_type') == 2 ? 'invoice' : ((int) Tools::getValue('address_type') == 1 ? 'delivery' : '');
if (isset($_POST['submitAdd' . $this->table]) and $id_order = (int) Tools::getValue('id_order') and !sizeof($this->_errors) and !empty($address_type)) {
if (!Db::getInstance()->Execute('UPDATE ' . _DB_PREFIX_ . 'orders SET `id_address_' . $address_type . '` = ' . Db::getInstance()->Insert_ID() . ' WHERE `id_order` = ' . $id_order)) {
$this->_errors[] = Tools::displayError('An error occurred while linking this address to its order.');
} else {
Tools::redirectAdmin(Tools::getValue('back') . '&conf=4');
}
}
}