Jump to content

PS 1.5.6.0 TECHNICAL ERROR: unable to load form.


Recommended Posts

New customers can't no longer register, they get a popupscreen with the error:

 

TECHNICAL ERROR: unable to load form.

Details:
Error thrown: [object Object]
Text status: parsererror

 

How can i solve this? My domain: www.pandorrah.nl

Link to comment
Share on other sites

Hi vekia, thanks for the fast reply.

 

My authentication.tpl has the following:

 

<p class="submit">
                    {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back}" />{/if}

 

I removed name="back". Same error persists.

Link to comment
Share on other sites

Hi vekia,

 

someone told me to look for any override in /override/controllers/front/
Below is the full content of the file AuthController.php

 

----

 

<?php

class AuthController extends AuthControllerCore {
    
    public function init() {
        
        /*
        | GC German 1.5.6.0 | 20131022
        | Anzeige der Sidebars bei GC German unterdrücken für mehr Platz
        */
        
        parent::init();
        
        $this->display_column_left = false;
        
        if(Configuration::get('GC_GERMAN_PLUS'))
            $this->display_column_right = false;
        
    }
    
    public function setMedia() {
        
        /*
        | GC German 1.5.6.0 | 20131022
        | Fancybox für AGB, Dateschutz etc. hinzufügen
        */
        
        parent::setMedia();
        $this->addJqueryPlugin('fancybox');
        
    }
    
    public function initContent() {
        
        /*
        | GC German 1.5.6.0 | 20131022
        */
        
        FrontController::initContent();
        
        // Kunde
        if(Configuration::get('GC_GERMAN_PLUS') and !Tools::isSubmit('submitAccount'))
            $this->assignCustomer();
        
        $this->context->smarty->assign('genders', Gender::getGenders());
        
        $this->assignDate();
        $this->assignCountries();
        
        // Newsletter Modul vorhanden? -> Formularfeld zeigen
        $active_module_newsletter = false;
        if($id_hook = Hook::getIdByName('actionNewsletter') and $modules = Hook::getModulesFromHook($id_hook)) {
            foreach($modules as $module) {
                if($module['active']) {
                    $active_module_newsletter = true;
                    break;
                }
            }
        }
        if($module_newsletter = Module::getInstanceByName('blocknewsletter') and $module_newsletter->active)
            $active_module_newsletter = true;
        $this->context->smarty->assign('newsletter', (int)$active_module_newsletter);
        
        $back = Tools::getValue('back');
        $key = Tools::safeOutput(Tools::getValue('key'));
        
        if (!empty($key))
            $back .= (strpos($back, '?') !== false ? '&' : '?').'key='.$key;
        if (!empty($back))
            $this->context->smarty->assign('back', Tools::safeOutput($back));
        
        // Im Bestellprozess?
        if (Tools::getValue('in_order_process')) {
            $this->context->smarty->assign(array(
                'inOrderProcess' => true
            ));
        }
        else {
            $this->context->smarty->assign(array(
                'inOrderProcess' => false
            ));
        }
        
        if($this->context->customer->isLogged())
            $this->context->smarty->assign(array('customer_logged' => true));
        else
            $this->context->smarty->assign(array('customer_logged' => false));
        
        $this->context->smarty->assign(array(
            'PS_REGISTRATION_PROCESS_TYPE' => Configuration::get('PS_REGISTRATION_PROCESS_TYPE'), // Nur Kundendaten oder auch Adresse?
            'gc_customer_registration' => Configuration::get('GC_GERMAN_CUSTREGISTRATION'), // Dürfen Kunden sich registrieren?
            'vat_management' => Configuration::get('VATNUMBER_MANAGEMENT'), // Ust anzeigen
            'show_dob' => Configuration::get('GC_GERMAN_SHOWDOB'), // Zeige Geburtstag
            'PS_GUEST_CHECKOUT_ENABLED' => Configuration::get('PS_GUEST_CHECKOUT_ENABLED'), // Dürfen Gäste sich registrieren?
            'privacy_input' => Configuration::get('GC_PRIVACY_INPUT'), //
            'newsletter_selected' => isset($this->context->cookie->newsletter) ? (int)$this->context->cookie->newsletter : 0 //
        ));
        
        // Adressen
        $this->assignAddressFormat();
        
        // Call a hook to display more information on form
        $this->context->smarty->assign(array(
            'HOOK_CREATE_ACCOUNT_FORM' => Hook::exec('displayCustomerAccountForm'),
            'HOOK_CREATE_ACCOUNT_TOP' => Hook::exec('displayCustomerAccountFormTop')
        ));
        
        $this->setTemplate(_PS_THEME_DIR_.'authentication.tpl');
        
    }
    
    protected function assignCountries() {
        
        /*
        | GC German 1.5.6.0 | 20131022
        | Land der delivery Adresse ermittlen
        */
        
        if($id_country = (int)Tools::getValue('id_country'))
            $sl_country = $id_country;
        elseif(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
            $array = preg_split('/,|-/', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
            if (!Validate::isLanguageIsoCode($array[0]) || !($sl_country = Country::getByIso($array[0])))
                $sl_country = (int)Configuration::get('PS_COUNTRY_DEFAULT');
        }
        else
            $sl_country = Configuration::get('PS_COUNTRY_DEFAULT');
        
        if($id_country_dlv = (int)Tools::getValue('id_country_delivery'))
            $sl_country_dlv = $id_country_dlv;
        elseif(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
            $array = preg_split('/,|-/', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
            if (!Validate::isLanguageIsoCode($array[0]) || !($sl_country_dlv = Country::getByIso($array[0])))
                $sl_country_dlv = (int)Configuration::get('PS_COUNTRY_DEFAULT');
        }
        else
            $sl_country_dlv = Configuration::get('PS_COUNTRY_DEFAULT');
        
        if (Configuration::get('PS_RESTRICT_DELIVERED_COUNTRIES'))
            $countries = Carrier::getDeliveredCountries($this->context->language->id, true, true);
        else
            $countries = Country::getCountries($this->context->language->id, true);
        
        $this->context->smarty->assign(array(
            'countries' => $countries,
            'sl_country' => $sl_country,
            'sl_country_delivery' => $sl_country_dlv
        ));
        
    }
    
    protected function processSubmitAccount() {
        
        /*
        | GC German 1.5.6.0 | 20131022
        | Lieferadresse direkt bei der Registrierung angeben möglich
        */
        
        $this->addr_invoice = array();
        $this->addr_delivery = array();
        
        Hook::exec('actionBeforeSubmitAccount');
        
        $is_guest = false;
        
        if(
            Tools::isSubmit('submitGuestAccount') or
            (Configuration::get('GC_GERMAN_PLUS') and !Configuration::get('GC_GERMAN_CUSTREGISTRATION')) or
            (Configuration::get('GC_GERMAN_PLUS') and !Tools::getValue('create_account') and Tools::getValue('in_order_process'))
        )
            $is_guest = true;
        
        // Select account creation type: new customer or guest
        $this->context->smarty->assign('email_create', !$is_guest);
        $this->context->smarty->assign('guest_create', $is_guest);
        
        // New Guest customer
        if ($is_guest && !Configuration::get('PS_GUEST_CHECKOUT_ENABLED'))
            $this->errors[] = Tools::displayError('You cannot create a guest account.');
        
        // Generate password for guest user
        if($is_guest)
            $_POST['passwd'] = md5(time()._COOKIE_KEY_);
        
        // Checked the user address in case he changed his email address
        if (!Tools::getValue('id_customer') and Validate::isEmail($email = Tools::getValue('email')) && !empty($email))
            if (Customer::customerExists($email))
                $this->errors[] = Tools::displayError('An account using this email address has already been registered.', false);
        
        $lastname = Tools::getValue('lastname');
        $firstname = Tools::getValue('firstname');
        
        if(empty($lastname))
            $_POST['lastname'] = Tools::getValue('customer_lastname');
        if(empty($firstname))
            $_POST['firstname'] = Tools::getValue('customer_firstname');
        
        // Preparing customer
        if($id_customer = Tools::getValue('id_customer') and $this->context->cookie->id_customer == $id_customer)
            $customer = new Customer($id_customer);
        else
            $customer = new Customer();
        
        $this->errors = array_unique(array_merge($this->errors, $customer->validateController()));
        
        // Check the requires fields which are settings in the BO
        $this->errors = $this->errors + $customer->validateFieldsRequiredDatabase();
        
        // Check the privacy policy
        if(Configuration::get('GC_PRIVACY_INPUT') and !Tools::getValue('id_customer') and !Tools::getValue('customer_privacy'))
            $this->errors[] = Tools::displayError('You have to accept the privacy policy.');
        
        $this->processCustomerNewsletter($customer);
        
        // Registration without Address
        if (!Configuration::get('PS_REGISTRATION_PROCESS_TYPE') && !$is_guest) {
            
            if (!count($this->errors)) {
                
                $customer->firstname = Tools::ucwords($customer->firstname);
                $customer->birthday = (empty($_POST['years']) ? '' : (int)$_POST['years'].'-'.(int)$_POST['months'].'-'.(int)$_POST['days']);
                if (!Validate::isBirthDate($customer->birthday))
                    $this->errors[] = Tools::displayError('Invalid date of birth.');
                
                $customer->active = 1;
                
                $customer->is_guest = 0;
                
                if (!count($this->errors)) {
                    
                    if ($customer->add()) {
                        
                        if (!$this->sendConfirmationMail($customer))
                            $this->errors[] = Tools::displayError('The email cannot be sent.');

                        $this->updateContext($customer);

                        $this->context->cart->update();
                        
                        Hook::exec('actionCustomerAccountAdd', array(
                            '_POST' => $_POST,
                            'newCustomer' => $customer
                        ));
                        
                        if ($back = Tools::getValue('back'))
                            Tools::redirect(html_entity_decode($back));
                        
                        // redirection: if cart is not empty : redirection to the cart
                        elseif (count($this->context->cart->getProducts(true)) > 0)
                            if((int)Tools::getValue('multi-shipping'))
                                Tools::redirect('index.php?controller=gcorder&multi-shipping=1&step=2');
                            else
                                Tools::redirect('index.php?controller=gcorder&step=2');
                        
                        // else : redirection to the account
                        else
                            Tools::redirect('index.php?controller=my-account');
                        
                    }
                    else
                        $this->errors[] = Tools::displayError('An error occurred while creating your account.');
                    
                }
                
            }

        }
        
        // if registration type is in one step, we save the address
        else {
            
            $this->saveAddressData();
            $address_dlv = false;
            
            // Preparing invoice address
            if($id_address_inv = Tools::getValue('id_address_invoice') and $customer->id and Customer::customerHasAddress($customer->id, $id_address_inv))
                $address = new Address($id_address_inv);
            else
                $address = new Address();
            
            if(Tools::getValue('delivery_address') and $id_address_dlv = Tools::getValue('id_address_delivery') and $customer->id and Customer::customerHasAddress($customer->id, $id_address_dlv))
                $address_dlv = new Address($id_address_dlv);
            elseif(Tools::getValue('delivery_address'))
                $address_dlv = new Address();
            
            // Cusomer to address
            $address->id_customer = 1;
            if(is_object($address_dlv))
                $address_dlv->id_customer = 1;
            
            // Validate address
            $this->errors = array_unique(array_merge($this->errors, $address->validateController()));
            if(is_object($address_dlv)) {
                $this->switchAddressDataToDelivery();
                $errors = $address_dlv->validateController();
                foreach($errors as $key => $error)
                    $errors[$key] = Tools::displayError('Delivery address').': '.$errors[$key];
                
                $this->errors = array_unique(array_merge($this->errors, $errors));
                $this->switchAddressDataToInvoice();
            }
            // Check Phone number (only invoice address)
            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');
            
            // US customer: normalize the invoice 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);
            }
            
            // US customer: normalize the delivery address
            if (is_object($address_dlv) and $address_dlv->id_country == Country::getByIso('US'))
            {
                include_once(_PS_TAASC_PATH_.'AddressStandardizationSolution.php');
                $normalize = new AddressStandardizationSolution;
                $address_dlv->address1 = $normalize->AddressLineStandardization($address_dlv->address1);
                $address_dlv->address2 = $normalize->AddressLineStandardization($address_dlv->address2);
            }

            if (!($country = new Country($address->id_country)) || !Validate::isLoadedObject($country))
                $this->errors[] = Tools::displayError('Country cannot be loaded with address->id_country');
            
            $postcode = Tools::getValue('postcode');
            if ($country->zip_code_format && !$country->checkZipCode($postcode))
                $this->errors[] = sprintf(Tools::displayError('The Zip/Postal code you\'ve entered is invalid. It must follow this format: %s'), 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 ($country->need_identification_number && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni'))))
                $this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.');
            elseif (!$country->need_identification_number)
                $address->dni = null;
            
            if (is_object($address_dlv)) {
                if (!($country_dlv = new Country($address_dlv->id_country)) || !Validate::isLoadedObject($country_dlv))
                    $this->errors[] = Tools::displayError('Delivery country cannot be loaded with address->id_country');
                    
                $postcode = Tools::getValue('postcode_delivery');
                if ($country_dlv->zip_code_format && !$country_dlv->checkZipCode($postcode))
                    $this->errors[] = sprintf(Tools::displayError('The delivery Zip/Postal code you\'ve entered is invalid. It must follow this format: %s'), str_replace('C', $country_dlv->iso_code, str_replace('N', '0', str_replace('L', 'A', $country_dlv->zip_code_format))));
                elseif(empty($postcode) && $country_dlv->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 ($country_dlv->need_identification_number && (!Tools::getValue('dni_delivery') || !Validate::isDniLite(Tools::getValue('dni_delivery'))))
                    $this->errors[] = Tools::displayError('The delivery identification number is incorrect or has already been used.');
                elseif (!$country_dlv->need_identification_number)
                    $address_dlv->dni = null;
            }
            
        }
        
        if(!count($this->errors)) {
            
            // Email -> Customer already exists
            if (Customer::customerExists(Tools::getValue('email')))
                $this->errors[] = Tools::displayError('An account is already registered with this e-mail, please enter your password or request a new one.', false);
            
            // Birthday
            $customer->birthday = (empty($_POST['years']) ? '' : (int)$_POST['years'].'-'.(int)$_POST['months'].'-'.(int)$_POST['days']);
            if (!Validate::isBirthDate($customer->birthday))
                    $this->errors[] = Tools::displayError('Invalid date of birth');

            if (!count($this->errors)) {
                
                // if registration type is in one step, we save the invoice address
                if (Configuration::get('PS_REGISTRATION_PROCESS_TYPE'))
                    if (!($country = new Country($address->id_country, Configuration::get('PS_LANG_DEFAULT'))) || !Validate::isLoadedObject($country))
                        die(Tools::displayError());
                
                // if registration type is in one step, we save the delivery address
                if (Configuration::get('PS_REGISTRATION_PROCESS_TYPE')&& is_object($address_dlv))
                    if (!($country_dlv = new Country($address_dlv->id_country, Configuration::get('PS_LANG_DEFAULT'))) || !Validate::isLoadedObject($country_dlv))
                        die(Tools::displayError());
                
                $contains_state = isset($country) && is_object($country) ? (int)$country->contains_states: 0;
                $id_state = isset($address) && is_object($address) ? (int)$address->id_state: 0;
                
                $contains_state_dlv = isset($country_dlv) && is_object($country_dlv) ? (int)$country_dlv->contains_states: 0;
                $id_state_dlv = isset($address_dlv) && is_object($address_dlv) ? (int)$address_dlv->id_state: 0;
                
                if(Configuration::get('PS_REGISTRATION_PROCESS_TYPE') && $contains_state && !$id_state)
                    $this->errors[] = Tools::displayError('The invoice country requires you to chose a State.');
                
                if(is_object($address_dlv) &&Configuration::get('PS_REGISTRATION_PROCESS_TYPE') && $contains_state_dlv && !$id_state_dlv)
                    $this->errors[] = Tools::displayError('The delivery country requires you to chose a State.');
                
                if (!count($this->errors)) {
                    
                    $customer->active = 1;
                    // New Guest customer
                    $customer->is_guest = $is_guest;
                    
                    if (!$customer->save())
                        $this->errors[] = Tools::displayError('An error occurred while creating your account.');
                    else {
                        
                        $address->id_customer = (int)$customer->id;
                        if(is_object($address_dlv))
                            $address_dlv->id_customer = (int)$customer->id;
                        
                        $this->errors = array_unique(array_merge($this->errors, $address->validateController()));
                        if(is_object($address_dlv)) {
                            $this->switchAddressDataToDelivery();
                            $this->errors = array_unique(array_merge($this->errors, $address_dlv->validateController()));
                            $this->switchAddressDataToInvoice();
                        }
                        
                        if (
                            !count($this->errors) &&
                            (Configuration::get('PS_REGISTRATION_PROCESS_TYPE') || $this->ajax || $is_guest) &&
                            (!$address->save() || (is_object($address_dlv) and !$address_dlv->save()))
                        )
                            $this->errors[] = Tools::displayError('An error occurred while creating your address.');
                        else {
                            
                            if (!$customer->is_guest) {
                                
                                $this->context->customer = $customer;
                                $customer->cleanGroups();
                                // we add the guest customer in the default customer group
                                $customer->addGroups(array((int)Configuration::get('PS_CUSTOMER_GROUP')));
                                if (!$this->sendConfirmationMail($customer))
                                    $this->errors[] = Tools::displayError('The email cannot be sent.');
                                
                            }
                            else
                            {
                                $customer->cleanGroups();
                                // we add the guest customer in the guest customer group
                                $customer->addGroups(array((int)Configuration::get('PS_GUEST_GROUP')));
                            }
                            $this->updateContext($customer);
                            
                            // Save address invoice and delivery
                            $this->context->cart->id_address_invoice = $address->id;
                            if(is_object($address_dlv))
                                $this->context->cart->id_address_delivery = $address_dlv->id;
                            else
                                $this->context->cart->id_address_delivery = $address->id;
                            
                            // If a logged guest logs in as a customer, the cart secure key was already set and needs to be updated
                            $this->context->cart->update();

                            // Avoid articles without delivery address on the cart
                            $this->context->cart->autosetProductAddress();

                            Hook::exec('actionCustomerAccountAdd', array(
                                '_POST' => $_POST,
                                'newCustomer' => $customer
                            ));
                            
                            if ($this->ajax) {
                                
                                $return = array(
                                    'hasError' => !empty($this->errors),
                                    'errors' => $this->errors,
                                    'isSaved' => true,
                                    'id_customer' => (int)$this->context->cookie->id_customer,
                                    'id_address_delivery' => $this->context->cart->id_address_delivery,
                                    'id_address_invoice' => $this->context->cart->id_address_invoice,
                                    'token' => Tools::getToken(false)
                                );
                                
                                die(Tools::jsonEncode($return));
                                
                            }
                            
                            // if registration type is in two steps, we redirect to register address
                            if (!Configuration::get('PS_REGISTRATION_PROCESS_TYPE') && !$this->ajax && !$is_guest)
                                Tools::redirect('index.php?controller=address');
                            
                            if ($back = Tools::getValue('back'))
                                Tools::redirect($back);
                            
                            // redirection: if cart is not empty : redirection to the cart
                            if (count($this->context->cart->getProducts(true)) > 0)
                                if((int)Tools::getValue('multi-shipping'))
                                    Tools::redirect('index.php?controller=gcorder&multi-shipping=1&step=1');
                                else
                                    Tools::redirect('index.php?controller=gcorder&step=1');
                            
                            Tools::redirect('index.php?controller=my-account');
                            
                        }
                    }
                }
            }
        }

        if (count($this->errors)) {
            
            if(!Tools::getValue('is_new_customer'))
                unset($_POST['passwd']);
            
            if($this->ajax) {
                
                $return = array(
                    'hasError' => !empty($this->errors),
                    'errors' => $this->errors,
                    'isSaved' => false,
                    'id_customer' => 0
                );
                
                die(Tools::jsonEncode($return));
                
            }
            
            $this->context->smarty->assign('account_error', $this->errors);
            
        }
        
    }
    
    protected function processSubmitCreate() {
        
        /*
        | GC German 1.5.6.0 | 20131022
        | Komplette Funktion unterdrücken, da Feature nicht mehr notwendig
        */
        
        /*
        if (!Validate::isEmail($email = Tools::getValue('email_create')) || empty($email))
            $this->errors[] = Tools::displayError('Invalid email address.');
        elseif (Customer::customerExists($email))
        {
            $this->errors[] = Tools::displayError('An account using this email address has already been registered. Please enter a valid password or request a new one. ', false);
            $_POST['email'] = $_POST['email_create'];
            unset($_POST['email_create']);
        }
        else
        {
            $this->create_account = true;
            $this->context->smarty->assign('email_create', Tools::safeOutput($email));
            $_POST['email'] = $email;
        }
        */
    }
    
    protected function sendConfirmationMail(Customer $customer) {
        
        /*
        | GC German 1.5.6.0 | 20131022
        | Passwort nicht als Klartext schicken
        */
        
        if (!Configuration::get('PS_CUSTOMER_CREATION_EMAIL'))
            return true;
        
        return Mail::Send(
            $this->context->language->id,
            'account',
            Mail::l('Welcome!'),
            array(
                '{firstname}' => $customer->firstname,
                '{lastname}' => $customer->lastname,
                '{email}' => $customer->email,
                '{passwd}' => '***'),
            $customer->email,
            $customer->firstname.' '.$customer->lastname
        );
    }
    
    protected function processCustomerNewsletter(&$customer) {
        
        /*
        | GC German 1.5.6.0 | 20131022
        | neue Funktion: Newsletter registrierung
        */
        
        if(Tools::getValue('newsletter')) {
            
            $customer->ip_registration_newsletter = pSQL(Tools::getRemoteAddr());
            $customer->newsletter_date_add = pSQL(date('Y-m-d H:i:s'));
            
            if(!Tools::getValue('in_order_process'))
                Hook::exec('actionNewsletter', array('email' => Tools::getValue('email')));
            else
                $this->context->cookie->newsletter = true;
            
            if ($module_newsletter = Module::getInstanceByName('blocknewsletter'))
                if ($module_newsletter->active)
                    $module_newsletter->confirmSubscription(Tools::getValue('email'));
            
        }
        elseif(isset($this->context->cookie->newsletter))
            unset($this->context->cookie->newsletter);
        
    }
    
    public function saveAddressData() {
        
        /*
        | GC German 1.5.6.0 | 20131022
        | Neue Funktion
        */
        
        $this->addr_invoice = array(
            'id_country' => Tools::getValue('id_country'),
            'id_state' => Tools::getValue('id_state'),
            'alias' => Tools::getValue('alias'),
            'company' => Tools::getValue('company'),
            'lastname' => Tools::getValue('lastname'),
            'firstname' => Tools::getValue('firstname'),
            'vat_number' =>    Tools::getValue('vat_number'),
            'address1' => Tools::getValue('address1'),
            'address2' => Tools::getValue('address2'),
            'postcode' => Tools::getValue('postcode'),
            'city' => Tools::getValue('city'),
            'other' => Tools::getValue('other'),
            'phone' => Tools::getValue('phone'),
            'phone_mobile' => Tools::getValue('phone_mobile'),
            'dni' => Tools::getValue('dni')
        );
        
        $this->addr_delivery = array(
            'id_country' => Tools::getValue('id_country_delivery'),
            'id_state' => Tools::getValue('id_state_delivery'),
            'alias' => Tools::getValue('alias_delivery'),
            'company' => Tools::getValue('company_delivery'),
            'lastname' => Tools::getValue('lastname_delivery'),
            'firstname' => Tools::getValue('firstname_delivery'),
            'vat_number' =>    Tools::getValue('vat_number_delivery'),
            'address1' => Tools::getValue('address1_delivery'),
            'address2' => Tools::getValue('address2_delivery'),
            'postcode' => Tools::getValue('postcode_delivery'),
            'city' => Tools::getValue('city_delivery'),
            'other' => Tools::getValue('other_delivery'),
            'phone' => Tools::getValue('phone_delivery'),
            'phone_mobile' => Tools::getValue('phone_mobile_delivery'),
            'dni' => Tools::getValue('dni_delivery')
        );
        
    }
    
    public function switchAddressDataToDelivery() {
        
        /*
        | GC German 1.5.6.0 | 20131022
        | Neue Funktion
        */
        
        foreach($this->addr_delivery as $key => $value) {
            $_POST[$key] = $value;
        }
        
    }
    
    public function switchAddressDataToInvoice() {
        
        /*
        | GC German 1.5.6.0 | 20131022
        | Neue Funktion
        */
        
        foreach($this->addr_invoice as $key => $value) {
            $_POST[$key] = $value;
        }
        
    }
    
    public function assignCustomer() {
        
        /*
        | GC German 1.5.6.0 | 20131022
        | Neue Funktion: Adressen aus Cookie laden
        */
        
        if(!$this->context->customer->isLogged(true))
            return;
        
        $_POST['id_customer'] = $this->context->customer->id;
        $_POST['id_gender'] = $this->context->customer->id_gender;
        $_POST['customer_firstname'] = $this->context->customer->firstname;
        $_POST['customer_lastname'] = $this->context->customer->lastname;
        $_POST['email'] = $this->context->customer->email;
        $_POST['days'] = substr($this->context->customer->birthday, 8, 2);
        $_POST['years'] = substr($this->context->customer->birthday, 0, 4);
        $_POST['months'] = substr($this->context->customer->birthday, 5, 2);
        $_POST['siret'] = $this->context->customer->siret;
        $_POST['ape'] = $this->context->customer->ape;
        $_POST['website'] = $this->context->customer->website;
        
        if(!$this->context->cart->id_address_invoice)
            return;
        
        $address_inv = new Address($this->context->cart->id_address_invoice);
        
        $_POST['id_address_invoice'] = $address_inv->id;
        
        $_POST['id_country'] = $address_inv->id_country;
        $_POST['sl_country'] = $address_inv->id_country;
        $_POST['id_state'] = $address_inv->id_state;
        $_POST['alias'] = $address_inv->alias;
        $_POST['company'] = $address_inv->company;
        $_POST['lastname'] = $address_inv->lastname;
        $_POST['firstname'] = $address_inv->firstname;
        $_POST['vat_number'] = $address_inv->vat_number;
        $_POST['address1'] = $address_inv->address1;
        $_POST['address2'] = $address_inv->address2;
        $_POST['postcode'] = $address_inv->postcode;
        $_POST['city'] = $address_inv->city;
        $_POST['other'] = $address_inv->other;
        $_POST['phone'] = $address_inv->phone;
        $_POST['phone_mobile'] = $address_inv->phone_mobile;
        $_POST['dni'] = $address_inv->dni;
        
        if(!$this->context->cart->id_address_delivery)
            return;
        
        if($this->context->cart->id_address_delivery == $this->context->cart->id_address_invoice)
            return;
        
        $_POST['delivery_address'] = 1;
        
        $address_dlv = new Address($this->context->cart->id_address_delivery);
        
        $_POST['id_address_delivery'] = $address_dlv->id;
        
        $_POST['id_country_delivery'] = $address_dlv->id_country;
        $_POST['sl_country_delivery'] = $address_dlv->id_country;
        $_POST['id_state_delivery'] = $address_dlv->id_state;
        $_POST['alias_delivery'] = $address_dlv->alias;
        $_POST['company_delivery'] = $address_dlv->company;
        $_POST['lastname_delivery'] = $address_dlv->lastname;
        $_POST['firstname_delivery'] = $address_dlv->firstname;
        $_POST['vat_number_delivery'] = $address_dlv->vat_number;
        $_POST['address1_delivery'] = $address_dlv->address1;
        $_POST['address2_delivery'] = $address_dlv->address2;
        $_POST['postcode_delivery'] = $address_dlv->postcode;
        $_POST['city_delivery'] = $address_dlv->city;
        $_POST['other_delivery'] = $address_dlv->other;
        $_POST['phone_delivery'] = $address_dlv->phone;
        $_POST['phone_mobile_delivery'] = $address_dlv->phone_mobile;
        $_POST['dni_delivery'] = $address_dlv->dni;
        
    }
    
}

 

Link to comment
Share on other sites

×
×
  • Create New...