Esempio n. 1
0
    public static function existAddress($order_infos, $id_country, $id_customer)
    {
        $addr = Db::getInstance()->getRow('
			SELECT * FROM ' . _DB_PREFIX_ . 'address WHERE
			address1 = "' . pSQL($order_infos->Address1) . '" AND
			address2 = "' . pSQL($order_infos->Address2) . '" AND
			city = "' . pSQL($order_infos->CityName) . '" AND
			firstname = "' . pSQL($order_infos->FirstName) . '" AND
			lastname = "' . pSQL($order_infos->LastName) . '" AND
			postcode = "' . pSQL($order_infos->PostalCode) . '" AND
			phone = "' . pSQL(Toolbox::numericFilter($order_infos->Phone)) . '" AND
			phone_mobile = "' . pSQL(Toolbox::numericFilter($order_infos->Mobile)) . '" AND
			id_country = ' . intval($id_country) . ' AND
			id_customer = ' . intval($id_customer));
        if ($addr) {
            return $addr["id_address"];
        } else {
            return false;
        }
    }
    /**
     * Add addresses
     * @param $order_id
     * @param $order_infos
     * @param $type
     * @param $id_customer
     * @return mixed
     */
    private function addAddresseInBDD($order_id, $neteven_address, $type, $id_customer)
    {
        $id_country = $this->getValue('id_country_default');
        if (!($id_country = Country::getIdByName(2, $neteven_address->Country))) {
            Toolbox::addLogLine(self::getL('Problem with id_country on address') . ' ' . $type . ' ' . self::getL('NetEven Order Id') . ' ' . $order_id);
        }
        $country = Db::getInstance()->getRow('
				SELECT c.`id_country`
				FROM `' . _DB_PREFIX_ . 'country` c
				INNER JOIN `' . _DB_PREFIX_ . 'country_lang` cl ON (c.`id_country` = cl.`id_country`)
				WHERE LOWER(c.`iso_code`) = "' . pSQL(strtolower($neteven_address->Country)) . '"
				OR LOWER(cl.`name`) = "' . pSQL(strtolower($neteven_address->Country)) . '" 
				GROUP BY c.`id_country`
			');
        if (!empty($country['id_country'])) {
            $id_country = $country['id_country'];
        }
        if ($id_address = Toolbox::existAddress($neteven_address, $id_country, $id_customer)) {
            Toolbox::addLogLine(self::getL('Get existing address for NetEven Order Id') . ' ' . $order_id);
        } else {
            Toolbox::addLogLine(self::getL('Creation of address of NetEven order Id') . ' ' . $order_id);
            $date_now = date('Y-m-d H:i:s');
            $new_address = new Address();
            $new_address->alias = 'Address';
            $new_address->lastname = !empty($neteven_address->LastName) ? substr(Toolbox::stringFilter($neteven_address->LastName), 0, 32) : ' ';
            $new_address->firstname = !empty($neteven_address->FirstName) ? substr(Toolbox::stringFilter($neteven_address->FirstName), 0, 32) : ' ';
            $new_address->address1 = !empty($neteven_address->Address1) ? Toolbox::stringWithNumericFilter($neteven_address->Address1) : ' ';
            $new_address->address2 = Toolbox::stringWithNumericFilter($neteven_address->Address2);
            $new_address->postcode = Toolbox::numericFilter($neteven_address->PostalCode);
            $new_address->city = !empty($neteven_address->CityName) ? Toolbox::stringFilter($neteven_address->CityName) : ' ';
            $new_address->phone = substr(Toolbox::numericFilter($neteven_address->Phone), 0, 16);
            $new_address->phone_mobile = substr(Toolbox::numericFilter($neteven_address->Mobile), 0, 16);
            $new_address->id_country = $id_country;
            $new_address->id_customer = $id_customer;
            $new_address->date_add = $date_now;
            $new_address->date_upd = $date_now;
            if (!empty($neteven_address->Company)) {
                $new_address->company = $neteven_address->Company;
            }
            if (!$new_address->add()) {
                Toolbox::addLogLine(self::getL('Failed for creation of address of NetEven order Id') . ' ' . $order_id);
            } else {
                $id_address = $new_address->id;
            }
        }
        return $id_address;
    }