本文整理汇总了PHP中Checkout::get_all_data_from_temp_db方法的典型用法代码示例。如果您正苦于以下问题:PHP Checkout::get_all_data_from_temp_db方法的具体用法?PHP Checkout::get_all_data_from_temp_db怎么用?PHP Checkout::get_all_data_from_temp_db使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Checkout
的用法示例。
在下文中一共展示了Checkout::get_all_data_from_temp_db方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: is_active
public function is_active($country = 0)
{
global $temp_orders_id;
$temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
foreach ($this->instances as $data) {
if ($data['status'] == 'true') {
if ($temp_orders_id > 0) {
if ($country > 0) {
if (parent::checkZone($data['zone'], $country)) {
return true;
}
} else {
if (parent::checkZone($data['zone'], $temp_data[$temp_orders_id]['orders']['delivery_country'])) {
return true;
}
}
} else {
if ($country > 0) {
if (parent::checkZone($data['zone'], $country)) {
return true;
}
} else {
return true;
}
}
}
}
return false;
}
示例2: output
public function output($step = 0)
{
global $currencies, $cart, $temp_orders_id;
if ($temp_orders_id > 0 && empty($this->temp_data[$temp_orders_id]['orders']['shipping_method'])) {
$this->temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
}
$this->calculate_total();
$html = '';
$html .= '<table class="table table-condensed table-striped" style="width:100%;">';
$html .= '<thead>';
$html .= '<tr>';
$html .= '<th class="product_name">' . Translate('Product') . '</th>';
$html .= '<th class="product_model">' . Translate('Referentie') . '</th>';
$html .= '<th class="product_quantity">' . Translate('Hoeveelheid') . '</th>';
$html .= '<th class="product_price">' . Translate('Prijs') . '</th>';
$html .= '</tr>';
$html .= '</thead>';
$products_query = tep_db_query('SELECT * FROM temp_orders_products WHERE orders_id = "' . $temp_orders_id . '" ORDER BY orders_products_id asc');
while ($product = tep_db_fetch_array($products_query)) {
$html .= '<tr>';
$html .= '<td class="product_name">' . $product['products_name'] . '</td>';
$html .= '<td class="product_model">' . $product['products_model'] . '</td>';
$html .= '<td class="product_quantity">' . $product['products_quantity'] . '</td>';
$html .= '<td class="product_price">' . $currencies->display_price($product['final_price'], 0) . '</td>';
$html .= '</tr>';
}
$html .= '</table>';
$total_query = tep_db_query('SELECT * FROM temp_orders_total WHERE orders_id = "' . $temp_orders_id . '" AND class != "' . $this->type . '" ORDER BY sort_order asc');
$html .= '<table style="width:100%; border:0;">';
while ($total = tep_db_fetch_array($total_query)) {
$html .= '<tr class="' . $total['class'] . '_item">';
$class_title = $total['title'];
if ($total['class'] == 'shipping') {
global $Modules;
$class = $this->temp_data[$temp_orders_id]['orders']['shipping_method'];
foreach ($Modules->modules['shipping'] as $module) {
if (strstr($class, $module)) {
global ${$module};
if (method_exists(${$module}, 'getTitle')) {
$class_title = ${$module}->getTitle();
}
}
}
}
$html .= '<td class="' . $total['class'] . '_title">' . Translate($class_title) . ': </td>';
$html .= '<td class="' . $total['class'] . '_quote">' . $currencies->display_price($total['value'], 0) . '</td>';
$html .= '</tr>';
}
$html .= '<tr class="' . $this->type . '_item">';
$html .= '<td class="' . $this->type . '_title">' . Translate($this->config['title']) . ': </td>';
$html .= '<td class="' . $this->type . '_quote">' . $currencies->display_price($this->quote, 0) . '</td>';
$html .= '</tr>';
$html .= '</table>';
return $html;
}
示例3: is_active
public function is_active()
{
global $temp_orders_id;
$temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
foreach ($this->instances as $data) {
if ($data['status'] == 'true') {
if (parent::checkZone($data['zone'], $temp_data[$temp_orders_id]['orders']['billing_country']) && parent::checkShippingMethod($data['shipping_module'])) {
return true;
}
}
}
return false;
}
示例4: process_data
public function process_data()
{
global $temp_orders_id, $currencies;
if (isset($_POST[$this->type])) {
if ($_POST[$this->type] == get_class($this)) {
if ($temp_orders_id == 0) {
$temp_orders_id = parent::create_order();
}
$ot_query = tep_db_query('SELECT orders_total_id FROM temp_orders_total WHERE orders_id = "' . $temp_orders_id . '" AND class="' . $this->type . '"');
if (tep_db_num_rows($ot_query) > 0) {
tep_db_query('UPDATE temp_orders_total SET title="' . $this->config['title'] . '", text="' . $currencies->display_price($this->getQuote(), 0) . '", value="' . $this->getQuote() . '", sort_order="' . $this->config['sort_order'] . '" WHERE orders_id = "' . $temp_orders_id . '" AND class="' . $this->type . '"');
} else {
tep_db_query('INSERT INTO temp_orders_total (orders_id, title, text, value, class, sort_order) VALUES ("' . $temp_orders_id . '", "' . $this->config['title'] . '", "' . $currencies->display_price($this->getQuote(), 0) . '", "' . $this->getQuote() . '", "' . $this->type . '", "' . $this->config['sort_order'] . '")');
}
if (isset($_POST[get_class($this) . '_submit']) && $_POST[get_class($this) . '_submit'] == 'search_postcode') {
//Search kialo points with postcode
return false;
}
if (!isset($_POST[get_class($this) . '_kp'])) {
$this->errors[$this->type] = Translate('Kies a.u.b. een Kiala punt.');
return false;
}
tep_db_query('UPDATE temp_orders SET shipping_method = "' . $_POST[$this->type] . '", shipping_method_extra = "' . $_POST[get_class($this) . '_kp'] . '" WHERE orders_id = "' . $temp_orders_id . '"');
}
if ($temp_orders_id > 0) {
$this->temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
foreach ($this->temp_data[$temp_orders_id]['orders_total'] as $key => $data) {
if ($data['class'] == 'order_subtotal') {
$this->order_subtotal = $data['value'];
}
}
}
return true;
} else {
$this->errors[$this->type] = Translate('Kies a.u.b. een verzendmethode.');
if ($temp_orders_id > 0) {
$this->temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
foreach ($this->temp_data[$temp_orders_id]['orders_total'] as $key => $data) {
if ($data['class'] == 'order_subtotal') {
$this->order_subtotal = $data['value'];
}
}
}
return false;
}
}
示例5: after_extern_process
public function after_extern_process()
{
global $temp_orders_id;
if (isset($_GET['SHASIGN'])) {
include DIR_WS_CLASSES . 'sha.php';
$get_params = array();
foreach ($_GET as $key => $value) {
if ($key != 'SHASIGN' && $key != 'force_checkout_step' && $key != 'customer_id' && $key != 'osCsid' && trim($value) != '') {
$get_params[strtoupper($key)] = $value;
}
}
ksort($get_params);
$temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
$hash_string = '';
foreach ($get_params as $key => $value) {
$hash_string .= strtoupper($key) . '=' . $value . $this->instances[$temp_data[$temp_orders_id]['orders']['payment_method']]['sha_string'];
}
$sha = new SHA();
$hasharray = $sha->hash_string($hash_string);
$hash = strtoupper($sha->hash_to_string($hasharray));
if ($_GET['SHASIGN'] != $hash) {
//wrong ogone parameters
$this->errors[$temp_data[$temp_orders_id]['orders']['payment_method']] = Translate('Er is iets fout gelopen bij de afhandeling van uw betaling. Contacteer ons voor meer uitleg.');
}
$_GET['force_checkout_step'] = Checkout::get_step_for_type($this->type);
$_POST['checkout_step'] = Checkout::last_active_step();
}
return;
}
示例6: after_confirm
function after_confirm()
{
global $temp_orders_id;
$temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
//get all orders data
$data = '';
foreach ($_POST as $key => $value) {
$data .= $key . ': ' . "\n";
$data .= $value . "\n\n";
}
tep_db_query('INSERT INTO payment_log (type, data, date) VALUES ("' . get_class($this) . '", "' . $data . '", NOW())');
tep_db_query('DELETE FROM payment_log WHERE date < DATE_SUB(NOW(), INTERVAL 30 DAY)');
/*PAYMENT AUTHORISED*/
if ($_GET['Status'] == 'AU') {
tep_db_query('UPDATE temp_orders SET orders_status = 2 WHERE orders_id = "' . $temp_orders_id . '"');
} else {
if ($_POST['Status'] == 'DE') {
tep_db_query('UPDATE temp_orders SET orders_status = 53 WHERE orders_id = "' . $temp_orders_id . '"');
Checkout::send_order_error_mail(Translate('Europabank betaling geweigerd voor bestelling') . ': ' . $temp_orders_id, sprintf(Translate('De betaling voor bestelling %s is geweigerd door Europabank.'), $temp_orders_id));
$_GET['force_checkout_step'] = Checkout::get_step_for_type($this->type);
$this->errors[$temp_data[$temp_orders_id]['orders']['payment_method']] = Translate('Uw betaling werd geweigerd.');
} else {
if ($_POST['Status'] == 'CA') {
tep_db_query('UPDATE temp_orders SET orders_status = 50 WHERE orders_id = "' . $temp_orders_id . '"');
$_GET['force_checkout_step'] = Checkout::get_step_for_type($this->type);
$this->errors[$temp_data[$temp_orders_id]['orders']['payment_method']] = Translate('Uw betaling werd geannuleerd.');
} else {
if ($_POST['Status'] == 'EX') {
tep_db_query('UPDATE temp_orders SET orders_status = 53 WHERE orders_id = "' . $temp_orders_id . '"');
Checkout::send_order_error_mail(Translate('Technisch probleem bij europabank voor bestelling') . ': ' . $temp_orders_id, sprintf(Translate('Er was een technisch probleem voor bestelling %s bij europabank.'), $temp_orders_id));
$_GET['force_checkout_step'] = Checkout::get_step_for_type($this->type);
$this->errors[$temp_data[$temp_orders_id]['orders']['payment_method']] = Translate('Er was een technisch probleem, contacteer ons voor meer info.');
} else {
if ($_POST['Status'] == 'TI') {
tep_db_query('UPDATE temp_orders SET orders_status = 53 WHERE orders_id = "' . $temp_orders_id . '"');
Checkout::send_order_error_mail(Translate('Timed out bij europabank voor bestelling') . ': ' . $temp_orders_id, sprintf(Translate('Er was een time out voor bestelling %s bij europabank.'), $temp_orders_id));
$_GET['force_checkout_step'] = Checkout::get_step_for_type($this->type);
$this->errors[$temp_data[$temp_orders_id]['orders']['payment_method']] = Translate('Uw sessie is verlopen, probeer a.u.b. opnieuw.');
}
}
}
}
}
return $this->errors;
}
示例7: after_confirm
function after_confirm()
{
global $temp_orders_id;
if (isset($_GET['tx'])) {
$temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
//get all orders data
if ($_GET['tx'] == 'canceled') {
$_GET['force_checkout_step'] = Checkout::get_step_for_type($this->type);
$this->errors[$temp_data[$temp_orders_id]['orders']['payment_method']] = Translate('Uw betaling werd geannuleerd.');
} else {
tep_db_query('DELETE FROM payment_log WHERE date < DATE_SUB(NOW(), INTERVAL 30 DAY)');
$req = 'cmd=_notify-synch';
$tx_token = $_GET['tx'];
$auth_token = $this->instances[$temp_data[$temp_orders_id]['orders']['payment_method']]['pdt_identy_token'];
$req .= "&tx={$tx_token}&at={$auth_token}";
$header = '';
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
if ($this->instances[$temp_data[$temp_orders_id]['orders']['payment_method']]['mode'] == 'prod') {
$fp = fsockopen('www.paypal.com', 80, $errno, $errstr, 30);
} else {
$fp = fsockopen('www.sandbox.paypal.com', 80, $errno, $errstr, 30);
}
if (!$fp) {
$data = '';
foreach ($_GET as $key => $value) {
$data .= urldecode($key) . ': ' . "\n";
$data .= urldecode($value) . "\n\n";
}
$order_id = substr($_GET['cm'], strpos($_GET['cm'], '[-]') + 3);
tep_db_query('INSERT INTO payment_log (type, data, date) VALUES ("' . get_class($this) . '", "' . $data . '", NOW())');
send_order_error_mail(Translate('Er is iets fout gelopen met paypal bestelling') . ' ' . $order_id, sprintf(Translate('Voor bestelling %s is er een fout gegenereerd! Controleer dit a.u.b. voordat u deze bestelling verder verwerkt.<br />Als u vragen hebt i.v.m. de fout contacteer dan ABO Service!'), $order_id));
} else {
fputs($fp, $header . $req);
$res = '';
$headerdone = false;
while (!feof($fp)) {
$line = fgets($fp, 1024);
if (strcmp($line, "\r\n") == 0) {
$headerdone = true;
} else {
if ($headerdone) {
$res .= $line;
}
}
}
$lines = explode("\n", $res);
$keyarray = array();
$data = '';
if (strcmp($lines[0], "SUCCESS") == 0) {
for ($i = 1; $i < count($lines); $i++) {
list($key, $val) = explode("=", $lines[$i]);
$keyarray[urldecode($key)] = urldecode($val);
$data .= urldecode($key) . ': ' . "\n";
$data .= urldecode($val) . "\n\n";
}
tep_db_query('INSERT INTO payment_log (type, data, date) VALUES ("' . get_class($this) . '", "' . $data . '", NOW())');
if (empty($keyarray['invoice'])) {
$order_id = substr($keyarray['custom'], strpos($keyarray['custom'], '[-]') + 3);
} else {
$order_id = $keyarray['invoice'];
}
/*COMPLETED OR PROCESSED*/
if ($keyarray['payment_status'] == 'Completed' || $keyarray['payment_status'] == 'Processed') {
tep_db_query('UPDATE temp_orders SET orders_status = 2 WHERE orders_id = "' . $order_id . '"');
/*EXPIRED*/
} else {
if ($keyarray['payment_status'] == 'Expired') {
send_order_error_mail(Translate('Status onzeker paypal bestelling') . ': ' . $order_id, sprintf(Translate('De status voor bestelling %s is onzeker doordat de autorisatie verlopen was op het moment dat de klant terug op de shop kwam.'), $order_id));
tep_db_query('UPDATE orders SET orders_status = 53 WHERE orders_id = "' . $order_id . '"');
$_GET['force_checkout_step'] = Checkout::get_step_for_type($this->type);
$this->errors[$temp_data[$temp_orders_id]['orders']['payment_method']] = Translate('Er is een fout opgetreden bij de betaling. Contacteer ons voor meer info.');
/*FAILED*/
} else {
if ($keyarray['payment_status'] == 'Failed') {
tep_db_query('UPDATE orders SET orders_status = 53 WHERE orders_id = "' . $order_id . '"');
$_GET['force_checkout_step'] = Checkout::get_step_for_type($this->type);
$this->errors[$temp_data[$temp_orders_id]['orders']['payment_method']] = Translate('Er is een fout opgetreden bij de betaling. Contacteer ons voor meer info.');
/*PENDING*/
} else {
if ($keyarray['payment_status'] == 'Pending') {
//
}
}
}
}
} else {
if (strcmp($lines[0], "FAIL") == 0) {
for ($i = 1; $i < count($lines); $i++) {
list($key, $val) = explode("=", $lines[$i]);
$data .= urldecode($key) . ': ' . "\n";
$data .= urldecode($val) . "\n\n";
}
tep_db_query('INSERT INTO payment_log (type, data, date) VALUES ("' . get_class($this) . '", "' . $data . '", NOW())');
if (empty($keyarray['invoice'])) {
$order_id = substr($keyarray['custom'], strpos($keyarray['custom'], '[-]') + 3);
} else {
$order_id = $keyarray['invoice'];
}
//.........这里部分代码省略.........
示例8: calculate_instance_max
private function calculate_instance_max($instance)
{
global $cart, $temp_orders_id;
$temp_order_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
//check mode
if ($this->instances[$instance]['mode'] == 'weight') {
$this->instance_max[$instance] = Checkout::calculate_weight($temp_orders_id, 'temp_');
} else {
//mode == price
$subtotal = 0;
if (is_array($temp_order_data[$temp_orders_id]['orders_total'])) {
foreach ($temp_order_data[$temp_orders_id]['orders_total'] as $total_data) {
if ($total_data['class'] == 'order_subtotal') {
$subtotal = $total_data['value'];
}
}
}
if ($subtotal > 0) {
$this->instance_max[$instance] = $subtotal;
} else {
$this->instance_max[$instance] = $cart->show_total();
}
}
}
示例9: calculate_amount
private function calculate_amount()
{
global $customer_id, $temp_orders_id;
$amount_query = tep_db_query('SELECT amount FROM coupon_gv_customer WHERE customer_id = "' . $customer_id . '"');
$amount = tep_db_fetch_array($amount_query);
$amount = $amount['amount'];
$temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
foreach ($temp_data[$temp_orders_id]['orders_total'] as $key => $data) {
if ($data['class'] == 'order_total') {
$total = $data['value'];
}
}
if ($amount > $total) {
$amount = $total;
}
return $amount;
}
示例10: process_data
public function process_data()
{
global $temp_orders_id, $currencies;
if (isset($_POST[$this->type])) {
if ($_POST[$this->type] == get_class($this)) {
if ($temp_orders_id == 0) {
$temp_orders_id = parent::create_order();
}
$ot_query = tep_db_query('SELECT orders_total_id FROM temp_orders_total WHERE orders_id = "' . $temp_orders_id . '" AND class="' . $this->type . '"');
if (tep_db_num_rows($ot_query) > 0) {
tep_db_query('UPDATE temp_orders_total SET title="' . $this->config['title'] . '", text="' . $currencies->display_price($this->getQuote(), 0) . '", value="' . $this->getQuote() . '", sort_order="' . $this->config['sort_order'] . '" WHERE orders_id = "' . $temp_orders_id . '" AND class="' . $this->type . '"');
} else {
tep_db_query('INSERT INTO temp_orders_total (orders_id, title, text, value, class, sort_order) VALUES ("' . $temp_orders_id . '", "' . $this->config['title'] . '", "' . $currencies->display_price($this->getQuote(), 0) . '", "' . $this->getQuote() . '", "' . $this->type . '", "' . $this->config['sort_order'] . '")');
}
if (isset($_POST[get_class($this) . '_submit']) && $_POST[get_class($this) . '_submit'] == 'search_postcode') {
//Search Bpost Service points with postcode
return false;
}
if (!isset($_POST[get_class($this) . '_sp'])) {
$this->errors[$this->type] = Translate('Kies a.u.b. een Bpost Service punt.');
return false;
}
if (isset($_POST[get_class($this) . '_postcode']) && !empty($_POST[get_class($this) . '_postcode'])) {
$this->xml = $this->convertXMLtoArray(simplexml_load_file('http://taxipost.geo6.be/Locator?Partner=' . $this->config['account_id'] . '&AppId=' . STORE_NAME . '&Function=search&Format=xml&Zone=' . $_POST[get_class($this) . '_postcode'] . '&Language=' . $languages_code . '&Type=' . $this->config['bpost_types'] . '&Limit=' . $this->config['max_sp']));
} else {
$this->xml = $this->convertXMLtoArray(simplexml_load_file('http://taxipost.geo6.be/Locator?Partner=' . $this->config['account_id'] . '&AppId=' . STORE_NAME . '&Function=search&Format=xml&Zone=' . $this->temp_data[$temp_orders_id]['orders']['delivery_postcode'] . '&Language=' . $languages_code . '&Type=' . $this->config['bpost_types'] . '&Limit=' . $this->config['max_sp']));
}
$type = 1;
foreach ($this->xml['PoiList']['Poi'] as $key => $data) {
if ($data['Record']['Id'] == $_POST[get_class($this) . '_sp']) {
$type = $data['Record']['Type'];
}
}
tep_db_query('UPDATE temp_orders SET shipping_method = "' . $_POST[$this->type] . '", shipping_method_extra = "&Id=' . $_POST[get_class($this) . '_sp'] . '&Type=' . $type . '" WHERE orders_id = "' . $temp_orders_id . '"');
}
if ($temp_orders_id > 0) {
$this->temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
foreach ($this->temp_data[$temp_orders_id]['orders_total'] as $key => $data) {
if ($data['class'] == 'order_subtotal') {
$this->order_subtotal = $data['value'];
}
}
}
return true;
} else {
$this->errors[$this->type] = Translate('Kies a.u.b. een verzendmethode.');
if ($temp_orders_id > 0) {
$this->temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
foreach ($this->temp_data[$temp_orders_id]['orders_total'] as $key => $data) {
if ($data['class'] == 'order_subtotal') {
$this->order_subtotal = $data['value'];
}
}
}
return false;
}
}
示例11: calculate_credit
public function calculate_credit($amount)
{
global $temp_orders_id, $currencies, $currency;
$return = array();
$return['coupon_amount'] = 0;
$return['coupon_text'] = '';
$temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id);
foreach ($temp_data[$temp_orders_id]['orders_total'] as $key => $data) {
if ($data['class'] == 'shipping') {
$shipping_cost = $data['value'];
}
if ($data['class'] == 'order_total') {
$order_total = $data['value'];
}
}
if (isset($temp_data[$temp_orders_id]['orders']['coupon_id']) && $temp_data[$temp_orders_id]['orders']['coupon_id'] > 0) {
$coupon_query = tep_db_query("select coupon_code, coupon_amount, coupon_minimum_order, restrict_to_products, restrict_to_categories, restrict_to_zones, coupon_type from coupons where coupon_id = '" . $temp_data[$temp_orders_id]['orders']['coupon_id'] . "'");
$coupon_result = tep_db_fetch_array($coupon_query);
//percent
if ($coupon_result['coupon_type'] == 'P' && ($coupon_result['restrict_to_products'] != '' || $coupon_result['restrict_to_categories'] != '')) {
$coupon_result['coupon_amount'] = substr($coupon_result['coupon_amount'], 0, -1);
$return['coupon_text'] = number_format($coupon_result['coupon_amount']) . '% ' . Translate('op') . ' ';
} else {
if ($coupon_result['coupon_type'] == 'P') {
$coupon_result['coupon_amount'] = substr($coupon_result['coupon_amount'], 0, -1);
$return['coupon_text'] = number_format($coupon_result['coupon_amount']) . '%';
} else {
if ($coupon_result['restrict_to_products'] != '' || $coupon_result['restrict_to_categories'] != '') {
$return['coupon_text'] = ' ' . Translate('op') . ' ';
}
}
}
if ($coupon_result['coupon_minimum_order'] <= $order_total) {
if ($coupon_result['restrict_to_products'] != '' || $coupon_result['restrict_to_categories'] != '' || $coupon_result['restrict_to_zones'] != '') {
$used_restricted_categories = array();
foreach ($temp_data[$temp_orders_id]['orders_products'] as $order_products_id => $products_data) {
if ($coupon_result['restrict_to_categories'] != '') {
/****************************/
/* RESTRICT TO CATEGORIES */
/****************************/
$cat_ids = preg_split("/[,]/", $coupon_result['restrict_to_categories']);
$my_path = tep_get_product_path($products_data['products_id']);
$sub_cat_ids = preg_split("/[_]/", $my_path);
for ($iii = 0; $iii < count($sub_cat_ids); $iii++) {
//loop through all category IDs from the product
for ($ii = 0; $ii < count($cat_ids); $ii++) {
//Loop through all restricted category IDs
if ($sub_cat_ids[$iii] == $cat_ids[$ii]) {
//Check if there are similar category IDs
if ($coupon_result['coupon_type'] == 'P') {
//Percent
$pr_c = $products_data['final_price'] * $products_data['products_quantity'];
$pod_amount = round($pr_c * 10) / 10 * $coupon_result['coupon_amount'] / 100;
$return['coupon_amount'] = $return['coupon_amount'] + $pod_amount;
$used_restricted_categories[] = $cat_ids[$ii];
continue 2;
} else {
//Fixed amount
$return['coupon_amount'] = $coupon_result['coupon_amount'];
//No shipping costs
if ($coupon_result['coupon_type'] == 'S') {
$return['coupon_text'] = Translate('Gratis verzending');
$return['coupon_amount'] = $shipping_cost;
}
if ($coupon_result['coupon_type'] == 'S' && $coupon_result['coupon_amount'] > 0) {
$return['coupon_amount'] = $shipping_cost + $coupon_result['coupon_amount'];
}
continue 2;
}
}
}
}
}
if ($coupon_result['restrict_to_products'] != '') {
/****************************/
/* RESTRICT TO PRODUCTS */
/****************************/
$pr_ids = preg_split("/[,]/", $coupon_result['restrict_to_products']);
for ($ii = 0; $ii < count($pr_ids); $ii++) {
//Loop through restricted products_ids
if ($pr_ids[$ii] == $products_data['products_id']) {
if ($coupon_result['coupon_type'] == 'P') {
//Percent
$pr_c = $products_data['final_price'] * $products_data['products_quantity'];
$pod_amount = round($pr_c * 10) / 10 * $coupon_result['coupon_amount'] / 100;
$return['coupon_amount'] = $return['coupon_amount'] + $pod_amount;
$return['coupon_text'] .= $products_data['products_name'] . ', ';
} else {
//fixed amount
$return['coupon_text'] .= $products_data['products_name'] . ', ';
$return['coupon_amount'] = $coupon_result['coupon_amount'];
//No shipping costs
if ($coupon_result['coupon_type'] == 'S') {
$return['coupon_text'] = Translate('Gratis verzending');
$return['coupon_amount'] = $shipping_cost;
}
if ($coupon_result['coupon_type'] == 'S' && $coupon_result['coupon_amount'] > 0) {
$return['coupon_amount'] = $shipping_cost + $coupon_result['coupon_amount'];
}
}
//.........这里部分代码省略.........