本文整理汇总了PHP中SpecificPrice::add方法的典型用法代码示例。如果您正苦于以下问题:PHP SpecificPrice::add方法的具体用法?PHP SpecificPrice::add怎么用?PHP SpecificPrice::add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SpecificPrice
的用法示例。
在下文中一共展示了SpecificPrice::add方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: applyRuleToProduct
public static function applyRuleToProduct($id_rule, $id_product, $id_product_attribute = null)
{
$rule = new SpecificPriceRule((int) $id_rule);
if (!Validate::isLoadedObject($rule)) {
return false;
}
$specific_price = new SpecificPrice();
$specific_price->id_specific_price_rule = (int) $rule->id;
$specific_price->id_product = (int) $id_product;
$specific_price->id_product_attribute = (int) $id_product_attribute;
$specific_price->id_customer = 0;
$specific_price->id_shop = (int) $rule->id_shop;
$specific_price->id_country = (int) $rule->id_country;
$specific_price->id_currency = (int) $rule->id_currency;
$specific_price->id_group = (int) $rule->id_group;
$specific_price->from_quantity = (int) $rule->from_quantity;
$specific_price->price = (double) $rule->price;
$specific_price->reduction_type = $rule->reduction_type;
$specific_price->reduction = $rule->reduction_type == 'percentage' ? $rule->reduction / 100 : (double) $rule->reduction;
$specific_price->from = $rule->from;
$specific_price->to = $rule->to;
return $specific_price->add();
}
示例2: ajaxProcessUpdateProductPrice
public function ajaxProcessUpdateProductPrice()
{
if ($this->tabAccess['edit'] === '1') {
SpecificPrice::deleteByIdCart((int) $this->context->cart->id, (int) Tools::getValue('id_product'), (int) Tools::getValue('id_product_attribute'));
$specific_price = new SpecificPrice();
$specific_price->id_cart = (int) $this->context->cart->id;
$specific_price->id_shop = 0;
$specific_price->id_shop_group = 0;
$specific_price->id_currency = 0;
$specific_price->id_country = 0;
$specific_price->id_group = 0;
$specific_price->id_customer = (int) $this->context->customer->id;
$specific_price->id_product = (int) Tools::getValue('id_product');
$specific_price->id_product_attribute = (int) Tools::getValue('id_product_attribute');
$specific_price->price = (double) Tools::getValue('price');
$specific_price->from_quantity = 1;
$specific_price->reduction = 0;
$specific_price->reduction_type = 'amount';
$specific_price->from = '0000-00-00 00:00:00';
$specific_price->to = '0000-00-00 00:00:00';
$specific_price->add();
echo Tools::jsonEncode($this->ajaxReturnVars());
}
}
示例3: productImport
public function productImport()
{
global $cookie;
$this->receiveTab();
$handle = $this->openCsvFile();
$defaultLanguageId = (int) Configuration::get('PS_LANG_DEFAULT');
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);
if (array_key_exists('id', $info) and (int) $info['id'] and Product::existsInDatabase((int) $info['id'], 'product')) {
$product = new Product((int) $info['id']);
$categoryData = Product::getProductCategories((int) $product->id);
foreach ($categoryData as $tmp) {
$product->category[] = $tmp;
}
} else {
$product = new Product();
}
self::setEntityDefaultValues($product);
self::array_walk($info, array('AdminImport', 'fillInfo'), $product);
if ((int) $product->id_tax_rules_group != 0) {
if (Validate::isLoadedObject(new TaxRulesGroup($product->id_tax_rules_group))) {
$product->tax_rate = TaxRulesGroup::getTaxesRate((int) $product->id_tax_rules_group, Configuration::get('PS_COUNTRY_DEFAULT'), 0, 0);
} else {
$this->_addProductWarning('id_tax_rules_group', $product->id_tax_rules_group, Tools::displayError('Invalid tax rule group ID, you first need a group with this ID.'));
}
}
if (isset($product->manufacturer) and is_numeric($product->manufacturer) and Manufacturer::manufacturerExists((int) $product->manufacturer)) {
$product->id_manufacturer = (int) $product->manufacturer;
} elseif (isset($product->manufacturer) and is_string($product->manufacturer) and !empty($product->manufacturer)) {
if ($manufacturer = Manufacturer::getIdByName($product->manufacturer)) {
$product->id_manufacturer = (int) $manufacturer;
} else {
$manufacturer = new Manufacturer();
$manufacturer->name = $product->manufacturer;
if (($fieldError = $manufacturer->validateFields(UNFRIENDLY_ERROR, true)) === true and ($langFieldError = $manufacturer->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true and $manufacturer->add()) {
$product->id_manufacturer = (int) $manufacturer->id;
} else {
$this->_errors[] = $manufacturer->name . (isset($manufacturer->id) ? ' (' . $manufacturer->id . ')' : '') . ' ' . Tools::displayError('Cannot be saved');
$this->_errors[] = ($fieldError !== true ? $fieldError : '') . ($langFieldError !== true ? $langFieldError : '') . mysql_error();
}
}
}
if (isset($product->supplier) and is_numeric($product->supplier) and Supplier::supplierExists((int) $product->supplier)) {
$product->id_supplier = (int) $product->supplier;
} elseif (isset($product->supplier) and is_string($product->supplier) and !empty($product->supplier)) {
if ($supplier = Supplier::getIdByName($product->supplier)) {
$product->id_supplier = (int) $supplier;
} else {
$supplier = new Supplier();
$supplier->name = $product->supplier;
if (($fieldError = $supplier->validateFields(UNFRIENDLY_ERROR, true)) === true and ($langFieldError = $supplier->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true and $supplier->add()) {
$product->id_supplier = (int) $supplier->id;
} else {
$this->_errors[] = $supplier->name . (isset($supplier->id) ? ' (' . $supplier->id . ')' : '') . ' ' . Tools::displayError('Cannot be saved');
$this->_errors[] = ($fieldError !== true ? $fieldError : '') . ($langFieldError !== true ? $langFieldError : '') . mysql_error();
}
}
}
if (isset($product->price_tex) and !isset($product->price_tin)) {
$product->price = $product->price_tex;
} elseif (isset($product->price_tin) and !isset($product->price_tex)) {
$product->price = $product->price_tin;
// If a tax is already included in price, withdraw it from price
if ($product->tax_rate) {
$product->price = (double) number_format($product->price / (1 + $product->tax_rate / 100), 6, '.', '');
}
} elseif (isset($product->price_tin) and isset($product->price_tex)) {
$product->price = $product->price_tex;
}
if (isset($product->category) and is_array($product->category) and sizeof($product->category)) {
$product->id_category = array();
// Reset default values array
foreach ($product->category as $value) {
if (is_numeric($value)) {
if (Category::categoryExists((int) $value)) {
$product->id_category[] = (int) $value;
} else {
$categoryToCreate = new Category();
$categoryToCreate->id = (int) $value;
$categoryToCreate->name = self::createMultiLangField($value);
$categoryToCreate->active = 1;
$categoryToCreate->id_parent = 1;
// Default parent is home for unknown category to create
if (($fieldError = $categoryToCreate->validateFields(UNFRIENDLY_ERROR, true)) === true and ($langFieldError = $categoryToCreate->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true and $categoryToCreate->add()) {
$product->id_category[] = (int) $categoryToCreate->id;
} else {
$this->_errors[] = $categoryToCreate->name[$defaultLanguageId] . (isset($categoryToCreate->id) ? ' (' . $categoryToCreate->id . ')' : '') . ' ' . Tools::displayError('Cannot be saved');
$this->_errors[] = ($fieldError !== true ? $fieldError : '') . ($langFieldError !== true ? $langFieldError : '') . mysql_error();
}
}
} elseif (is_string($value) and !empty($value)) {
$category = Category::searchByName($defaultLanguageId, $value, true);
if ($category['id_category']) {
$product->id_category[] = (int) $category['id_category'];
} else {
$categoryToCreate = new Category();
//.........这里部分代码省略.........
示例4: postProcess
/**
* postProcess handle every checks before saving products information
*
* @param mixed $token
* @return void
*/
public function postProcess($token = null)
{
global $cookie, $currentIndex;
// Add a new product
if (Tools::isSubmit('submitAddproduct') || Tools::isSubmit('submitAddproductAndStay') || Tools::isSubmit('submitAddProductAndPreview')) {
if (Tools::getValue('id_product') && $this->tabAccess['edit'] === '1' || $this->tabAccess['add'] === '1' && !Tools::isSubmit('id_product')) {
$this->submitAddproduct($token);
} else {
$this->_errors[] = Tools::displayError('You do not have permission to add here.');
}
}
/* Delete a product in the download folder */
if (Tools::getValue('deleteVirtualProduct')) {
if ($this->tabAccess['delete'] === '1') {
$this->deleteVirtualProduct();
} else {
$this->_errors[] = Tools::displayError('You do not have permission to delete here.');
}
} elseif (Tools::isSubmit('submitAddAttachments')) {
if ($this->tabAccess['add'] === '1') {
$languages = Language::getLanguages(false);
$is_attachment_name_valid = false;
foreach ($languages as $language) {
$attachment_name_lang = Tools::getValue('attachment_name_' . (int) $language['id_lang']);
if (strlen($attachment_name_lang) > 0) {
$is_attachment_name_valid = true;
}
if (!Validate::isGenericName(Tools::getValue('attachment_name_' . (int) $language['id_lang']))) {
$this->_errors[] = Tools::displayError('Invalid Name');
} elseif (Tools::strlen(Tools::getValue('attachment_name_' . (int) $language['id_lang'])) > 32) {
$this->_errors[] = Tools::displayError('Name is too long');
}
if (!Validate::isCleanHtml(Tools::getValue('attachment_description_' . (int) $language['id_lang']))) {
$this->_errors[] = Tools::displayError('Invalid description');
}
}
if (!$is_attachment_name_valid) {
$this->_errors[] = Tools::displayError('Attachment Name Required');
}
if (empty($this->_errors)) {
if (isset($_FILES['attachment_file']) && is_uploaded_file($_FILES['attachment_file']['tmp_name'])) {
if ($_FILES['attachment_file']['size'] > Configuration::get('PS_ATTACHMENT_MAXIMUM_SIZE') * 1024 * 1024) {
$this->_errors[] = $this->l('File too large, maximum size allowed:') . ' ' . Configuration::get('PS_ATTACHMENT_MAXIMUM_SIZE') * 1024 . ' ' . $this->l('kb') . '. ' . $this->l('File size you\'re trying to upload is:') . number_format($_FILES['attachment_file']['size'] / 1024, 2, '.', '') . $this->l('kb');
} else {
do {
$uniqid = sha1(microtime());
} while (file_exists(_PS_DOWNLOAD_DIR_ . $uniqid));
if (!copy($_FILES['attachment_file']['tmp_name'], _PS_DOWNLOAD_DIR_ . $uniqid)) {
$this->_errors[] = $this->l('File copy failed');
}
@unlink($_FILES['attachment_file']['tmp_name']);
}
} elseif ((int) $_FILES['attachment_file']['error'] === 1) {
$max_upload = (int) ini_get('upload_max_filesize');
$max_post = (int) ini_get('post_max_size');
$upload_mb = min($max_upload, $max_post);
$this->_errors[] = $this->l('the File') . ' <b>' . $_FILES['attachment_file']['name'] . '</b> ' . $this->l('exceeds the size allowed by the server, this limit is set to') . ' <b>' . $upload_mb . $this->l('Mb') . '</b>';
}
if (empty($this->_errors) && isset($uniqid)) {
$attachment = new Attachment();
foreach ($languages as $language) {
if (isset($_POST['attachment_name_' . (int) $language['id_lang']])) {
$attachment->name[(int) $language['id_lang']] = pSQL($_POST['attachment_name_' . (int) $language['id_lang']]);
}
if (isset($_POST['attachment_description_' . (int) $language['id_lang']])) {
$attachment->description[(int) $language['id_lang']] = pSQL($_POST['attachment_description_' . (int) $language['id_lang']]);
}
}
$attachment->file = $uniqid;
$attachment->mime = $_FILES['attachment_file']['type'];
$attachment->file_name = pSQL($_FILES['attachment_file']['name']);
if (empty($attachment->mime) or Tools::strlen($attachment->mime) > 128) {
$this->_errors[] = Tools::displayError('Invalid file extension');
}
if (!Validate::isGenericName($attachment->file_name)) {
$this->_errors[] = Tools::displayError('Invalid file name');
}
if (Tools::strlen($attachment->file_name) > 128) {
$this->_errors[] = Tools::displayError('File name too long');
}
if (!sizeof($this->_errors)) {
$attachment->add();
Tools::redirectAdmin($currentIndex . '&id_product=' . (int) Tools::getValue($this->identifier) . '&id_category=' . (int) Tools::getValue('id_category') . '&addproduct&conf=4&tabs=6&token=' . ($token ? $token : $this->token));
} else {
$this->_errors[] = Tools::displayError('Invalid file');
}
}
}
} else {
$this->_errors[] = Tools::displayError('You do not have permission to add here.');
}
} elseif (Tools::isSubmit('submitAttachments')) {
if ($this->tabAccess['edit'] === '1') {
if ($id = (int) Tools::getValue($this->identifier)) {
//.........这里部分代码省略.........
示例5: handleConfirm
//.........这里部分代码省略.........
$product->generic_color = $generic_color;
$product->garment_type = $garment_type;
$product->work_type = $work_type;
$product->blouse_length = $blouse_length ? $blouse_length : ' ';
$product->wash_care = $wash_care ? $wash_care : ' ';
$product->other_info = $other_info ? $other_info : ' ';
$product->shipping_estimate = $shipping_estimate ? $shipping_estimate : ' ';
$product->is_customizable = $customizable == 1 ? 1 : 0;
$product->kameez_style = $kameez_style;
$product->salwar_style = $salwar_style;
$product->sleeves = $sleeves;
$product->skirt_length = $skirt_length;
$product->dupatta_length = $dupatta_length;
$product->stone = $stone;
$product->plating = $plating;
$product->material = $material;
$product->dimensions = $dimensions;
$product->look = $look;
$product->as_shown = $as_shown;
$product->id_sizechart = $id_sizechart;
$product->is_exclusive = $is_exclusive;
$product->handbag_occasion = $handbag_occasion;
$product->handbag_style = $handbag_style;
$product->handbag_material = $handbag_material;
$product->indexed = 0;
$products_to_import[] = $product;
} else {
$smarty->assign('error', $error);
return;
$file_error = true;
}
}
if (!$file_error) {
$added_product_ids = array();
foreach ($products_to_import as $product) {
$fieldError = $product->validateFields(UNFRIENDLY_ERROR, true);
$langFieldError = $product->validateFieldsLang(UNFRIENDLY_ERROR, true);
if ($fieldError === true and $langFieldError === true) {
// check quantity
if ($product->quantity == NULL) {
$product->quantity = 0;
}
// If no id_product or update failed
if ($update && $product->id) {
$res = $product->update();
} else {
$res = $product->add();
}
$added_product_ids[] = $product->id;
}
if (isset($product->discount) && $product->discount > 0) {
SpecificPrice::deleteByProductId((int) $product->id);
$specificPrice = new SpecificPrice();
$specificPrice->id_product = (int) $product->id;
$specificPrice->id_shop = (int) Shop::getCurrentShop();
$specificPrice->id_currency = 0;
$specificPrice->id_country = 0;
$specificPrice->id_group = 0;
$specificPrice->from_quantity = 1;
$specificPrice->reduction = $product->discount / 100;
$specificPrice->reduction_type = 'percentage';
$specificPrice->from = '2012-01-01 00:00:00';
$specificPrice->to = '2016-01-01 00:00:00';
$specificPrice->price = $product->price;
$specificPrice->add();
}
示例6: productImport
public function productImport()
{
$this->receiveTab();
$handle = $this->openCsvFile();
$default_language_id = (int) Configuration::get('PS_LANG_DEFAULT');
AdminImportController::setLocale();
$shop_ids = Shop::getCompleteListOfShopsID();
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);
if (Tools::getValue('forceIDs') && isset($info['id']) && (int) $info['id']) {
$product = new Product((int) $info['id']);
} else {
if (array_key_exists('id', $info) && (int) $info['id'] && Product::existsInDatabase((int) $info['id'], 'product')) {
$product = new Product((int) $info['id']);
} else {
$product = new Product();
}
}
if (array_key_exists('id', $info) && (int) $info['id'] && Product::existsInDatabase((int) $info['id'], 'product')) {
$product->loadStockData();
$category_data = Product::getProductCategories((int) $product->id);
foreach ($category_data as $tmp) {
$product->category[] = $tmp;
}
}
AdminImportController::setEntityDefaultValues($product);
AdminImportController::arrayWalk($info, array('AdminImportController', 'fillInfo'), $product);
if (!Shop::isFeatureActive()) {
$product->shop = 1;
} elseif (!isset($product->shop) || empty($product->shop)) {
$product->shop = implode($this->multiple_value_separator, Shop::getContextListShopID());
}
if (!Shop::isFeatureActive()) {
$product->id_shop_default = 1;
} else {
$product->id_shop_default = (int) Context::getContext()->shop->id;
}
// link product to shops
$product->id_shop_list = array();
foreach (explode($this->multiple_value_separator, $product->shop) as $shop) {
if (!is_numeric($shop)) {
$product->id_shop_list[] = Shop::getIdByName($shop);
} else {
$product->id_shop_list[] = $shop;
}
}
if ((int) $product->id_tax_rules_group != 0) {
if (Validate::isLoadedObject(new TaxRulesGroup($product->id_tax_rules_group))) {
$address = $this->context->shop->getAddress();
$tax_manager = TaxManagerFactory::getManager($address, $product->id_tax_rules_group);
$product_tax_calculator = $tax_manager->getTaxCalculator();
$product->tax_rate = $product_tax_calculator->getTotalRate();
} else {
$this->addProductWarning('id_tax_rules_group', $product->id_tax_rules_group, Tools::displayError('Invalid tax rule group ID. You first need to create a group with this ID.'));
}
}
if (isset($product->manufacturer) && is_numeric($product->manufacturer) && Manufacturer::manufacturerExists((int) $product->manufacturer)) {
$product->id_manufacturer = (int) $product->manufacturer;
} else {
if (isset($product->manufacturer) && is_string($product->manufacturer) && !empty($product->manufacturer)) {
if ($manufacturer = Manufacturer::getIdByName($product->manufacturer)) {
$product->id_manufacturer = (int) $manufacturer;
} else {
$manufacturer = new Manufacturer();
$manufacturer->name = $product->manufacturer;
if (($field_error = $manufacturer->validateFields(UNFRIENDLY_ERROR, true)) === true && ($lang_field_error = $manufacturer->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true && $manufacturer->add()) {
$product->id_manufacturer = (int) $manufacturer->id;
} else {
$this->errors[] = sprintf(Tools::displayError('%1$s (ID: %2$s) cannot be saved'), $manufacturer->name, isset($manufacturer->id) ? $manufacturer->id : 'null');
$this->errors[] = ($field_error !== true ? $field_error : '') . (isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '') . Db::getInstance()->getMsgError();
}
}
}
}
if (isset($product->supplier) && is_numeric($product->supplier) && Supplier::supplierExists((int) $product->supplier)) {
$product->id_supplier = (int) $product->supplier;
} else {
if (isset($product->supplier) && is_string($product->supplier) && !empty($product->supplier)) {
if ($supplier = Supplier::getIdByName($product->supplier)) {
$product->id_supplier = (int) $supplier;
} else {
$supplier = new Supplier();
$supplier->name = $product->supplier;
$supplier->active = true;
if (($field_error = $supplier->validateFields(UNFRIENDLY_ERROR, true)) === true && ($lang_field_error = $supplier->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true && $supplier->add()) {
$product->id_supplier = (int) $supplier->id;
$supplier->associateTo($product->id_shop_list);
} else {
$this->errors[] = sprintf(Tools::displayError('%1$s (ID: %2$s) cannot be saved'), $supplier->name, isset($supplier->id) ? $supplier->id : 'null');
$this->errors[] = ($field_error !== true ? $field_error : '') . (isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '') . Db::getInstance()->getMsgError();
}
}
}
}
if (isset($product->price_tex) && !isset($product->price_tin)) {
$product->price = $product->price_tex;
} else {
//.........这里部分代码省略.........
示例7: validation
public function validation()
{
if (!$this->active || !Configuration::get('GOINTERPAY_STORE') || !Configuration::get('GOINTERPAY_SECRET')) {
return false;
}
if (!isset($_GET['orderId'])) {
return false;
}
include_once _PS_MODULE_DIR_ . 'gointerpay/Rest.php';
$rest = new Rest(Configuration::get('GOINTERPAY_STORE'), Configuration::get('GOINTERPAY_SECRET'));
$result = $rest->orderDetail(Tools::safeOutput(Tools::getValue('orderId')));
$cart = new Cart((int) $result['cartId']);
$original_total = Tools::ps_round((double) $cart->getOrderTotal(true, Cart::BOTH), 2);
/* Check the currency code */
$id_currency_new = (int) Currency::getIdByIsoCode($result['foreignCurrencyCode']);
if ($id_currency_new) {
$cart->id_currency = (int) $id_currency_new;
$cart->save();
} else {
die('Sorry, we were not able to accept orders in the following currency: ' . Tools::safeOutput($result['foreignCurrencyCode']));
}
$name = explode(" ", $result['delivery_address']['name']);
$lastname = " - ";
if (isset($name[1])) {
$lastname = $name[1];
}
/* Update the delivery and billing address */
$delivery_address = new Address((int) $cart->id_address_delivery);
$delivery_address->firstname = $name[0];
$delivery_address->lastname = $lastname;
$delivery_address->company = $result['delivery_address']['company'];
$delivery_address->phone = $result['delivery_address']['phone'];
$delivery_address->phone_mobile = $result['delivery_address']['altPhone'];
$delivery_address->id_country = (int) Country::getByIso($result['delivery_address']['countryCode']);
$delivery_address->id_state = (int) State::getIdByIso($result['delivery_address']['state'], (int) $delivery_address->id_country);
$delivery_address->address1 = $result['delivery_address']['address1'];
$delivery_address->address2 = $result['delivery_address']['address2'];
$delivery_address->city = $result['delivery_address']['city'];
$delivery_address->postcode = $result['delivery_address']['zip'];
$delivery_address->save();
/* If no billing address specified, use the delivery address */
if ($result['invoice_address']['address1'] != '' || $result['invoice_address']['city'] != '') {
$invoice_name = explode(" ", $result['invoice_address']['name']);
$invoice_lastname = " - ";
if (isset($invoice_name[1])) {
$invoice_lastname = $invoice_name[1];
}
$invoice_address = new Address((int) $cart->id_address_invoice);
$invoice_address->firstname = $invoice_name[0];
$invoice_address->lastname = $invoice_lastname;
$invoice_address->company = $result['invoice_address']['company'];
$invoice_address->phone = $result['invoice_address']['phone'];
$invoice_address->phone_mobile = $result['invoice_address']['altPhone'];
$invoice_address->id_country = (int) Country::getByIso($result['invoice_address']['countryCode']);
$invoice_address->id_state = (int) State::getIdByIso($result['invoice_address']['state'], (int) $invoice_address->id_country);
$invoice_address->address1 = $result['invoice_address']['address1'];
$invoice_address->address2 = $result['invoice_address']['address2'];
$invoice_address->city = $result['invoice_address']['city'];
$invoice_address->postcode = $result['invoice_address']['zip'];
if ($cart->id_address_delivery == $cart->id_address_invoice) {
$invoice_address->add();
$cart->id_address_invoice = (int) $invoice_address->id;
$cart->save();
} else {
$invoice_address->save();
}
}
/* Store the Order ID and Shipping cost */
Db::getInstance()->Execute('INSERT INTO `' . _DB_PREFIX_ . 'gointerpay_order_id` (`id_cart`, `orderId`, `shipping`, `shipping_orig`, `taxes`, `total`, `products`, `status`)
VALUES (\'' . (int) $cart->id . '\', \'' . pSQL(Tools::getValue('orderId')) . '\', \'' . (double) $result['shippingTotal'] . '\', \'' . (double) $result['shippingTotalForeign'] . '\', \'' . (double) $result['quotedDutyTaxes'] . '\', \'' . (double) $result['grandTotal'] . '\', \'' . (double) $result['itemsTotal'] . '\', \'Init\')');
/* Add the duties and taxes */
Db::getInstance()->Execute('DELETE FROM `' . _DB_PREFIX_ . 'specific_price` WHERE id_customer = ' . (int) $cart->id_customer . ' AND id_product = ' . (int) Configuration::get('GOINTERPAY_ID_TAXES_TDUTIES'));
$specific_price = new SpecificPrice();
$specific_price->id_product = (int) Configuration::get('GOINTERPAY_ID_TAXES_TDUTIES');
$specific_price->id_shop = 0;
$specific_price->id_country = 0;
$specific_price->id_group = 0;
$specific_price->id_cart = (int) $cart->id;
$specific_price->id_product_attribute = 0;
$specific_price->id_currency = $cart->id_currency;
$specific_price->id_customer = $cart->id_customer;
$specific_price->price = (double) $result['quotedDutyTaxesForeign'];
$specific_price->from_quantity = 1;
$specific_price->reduction = 0;
$specific_price->reduction_type = 'percentage';
$specific_price->from = date('Y-m-d H:i:s');
$specific_price->to = strftime('%Y-%m-%d %H:%M:%S', time() + 10);
$specific_price->add();
if (Validate::isLoadedObject($specific_price)) {
$cart->updateQty(1, (int) Configuration::get('GOINTERPAY_ID_TAXES_TDUTIES'));
}
$result['status'] = 'Pending';
$total = Tools::ps_round((double) $cart->getOrderTotal(true, Cart::BOTH), 2);
$message = '
Total paid on Interpay: ' . (double) $result['grandTotalForeign'] . ' ' . (string) $result['foreignCurrencyCode'] . '
Duties and taxes on Interpay: ' . (double) $result['quotedDutyTaxesForeign'] . ' ' . (string) $result['foreignCurrencyCode'] . '
Shipping on Interpay: ' . (double) $result['shippingTotalForeign'] . ' ' . (string) $result['foreignCurrencyCode'] . '
Currency: ' . $result['foreignCurrencyCode'];
if ($result['status'] == 'Pending') {
$this->context->cart->id = (int) $result['cartId'];
//.........这里部分代码省略.........
示例8: importSpecificPrices
protected function importSpecificPrices()
{
$this->truncateTables(array('specific_price'));
$handle = $this->openCsvFile('specific_prices.csv');
for ($current_line = 0; $line = fgetcsv($handle, MAX_LINE_SIZE, ';'); $current_line++) {
$res = false;
$fields = $this->filterFields('SpecificPrice', $this->specific_price_fields, $line);
if (!isset($fields['id'])) {
$specific_price = new SpecificPrice($line[0]);
$specific_price->id = $line[0];
} else {
$specific_price = new SpecificPrice($fields['id']);
}
foreach ($fields as $key => $field) {
$specific_price->{$key} = $field;
}
$specific_price->force_id = true;
if (!$res) {
$res = $specific_price->add();
}
}
$this->closeCsvFile($handle);
return true;
}