Jump to content
xt:Commerce Community Forum

Fehlermelung bei Module Zusammenfassung


Recommended Posts

Hallo,

ich als neuling benötige dringend hilfe! wenn ich im Admin berich bei module-> Zusammenfassung reinschau kommt ein riesengroßer text mit dem ich nichts anfangen kann!

code = 'ot_coupon'; $this->header = MODULE_ORDER_TOTAL_COUPON_HEADER; $thi>title = MODULE_ORDER_TOTAL_COUPON_TITLE; $this->description = MODULE_ORDER_TOTAL_COUPON_DESCRIPTION; $this->user_prompt = ''; $this->enabled = MODULE_ORDER_TOTAL_COUPON_STATUS; $this->sort_order = MODULE_ORDER_TOTAL_COUPON_SORT_ORDER; $this->include_shipping = MODULE_ORDER_TOTAL_COUPON_INC_SHIPPING; $this->include_tax = MODULE_ORDER_TOTAL_COUPON_INC_TAX; $this->calculate_tax = MODULE_ORDER_TOTAL_COUPON_CALC_TAX; $this->tax_class = MODULE_ORDER_TOTAL_COUPON_TAX_CLASS; $this->credit_class = true; $this->ouut = array (); } function process() { global $order, $xtPrice; $order_total = $this->get_order_total(); $od_amount = $this->calculate_credit($order_total); $tod_amount = 0.0; //Fred $this->deduction = $od_amount; if ($this->calculate_tax != 'None') { //Fred - changed from 'none' to 'None'! $tod_amount = $this->calculate_tax_deduction($order_total, $this->deduction, $this->calculate_tax); } if ($od_amount > 0) { $order->info['total'] = $order->info['total'] - $od_amount; $order->info['deductn'] = $od_amount; $this->output[] = array ('title' => $this->title.':'.$this->coupon_code.':', 'text' => '-'.$xtPrice->xtcFormat($od_amount, true).'', 'value' => $od_amount); //Fred added hyphen } } function selection_test() { return false; } function pre_confirmation_check($order_total) { return $this->calculate_credit($order_total); } function use_credit_amount() { return $output_string; } function credit_selection() { /* $selection_string = ''; $selection_ring .= '' . "\n"; $selection_string .= ' '; $selection_string .= ' '; $selection_string .= ' '; $selection_string .= ' '; $selection_string .= '' . "\n"; */ return false; } function clect_posts() { global $xtPrice; if ($_POST['gv_redeem_code']) { // get some info from the coupon table $coupon_query = xtc_db_query("select coupon_id, coupon_amount, coupon_type, coupon_minimum_order,uses_per_coupon, uses_per_user, restrict_to_products,restrict_to_categories from ".TABLE_COUPONS." where coupon_code='".$_POST['gv_redeem_code']."' and coupon_active='Y'"); $coupon_result = xtc_db_fetch_array($coupon_query); // SS ? if ($coupon_result['coupon_type'] != 'G') { if (xtc_db_num_rows($couponuery) == 0) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message='.urlencode(ERROR_NO_INVALID_REDEEM_COUPON), 'SSL')); } $date_query = xtc_db_query("select coupon_start_date from ".TABLE_COUPONS." where coupon_start_date <= now() and coupon_code='".$_POST['gv_redeem_code']."'"); if (xtc_db_num_rows($date_query) == 0) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message='.urlencode(ERROR_INVALID_STARTDATE_COUPON), 'SSL')); } $date_query = xtc_db_query("seleccoupon_expire_date from ".TABLE_COUPONS." where coupon_expire_date >= now() and coupon_code='".$_POST['gv_redeem_code']."'"); if (xtc_db_num_rows($date_query) == 0) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message='.urlencode(ERROR_INVALID_FINISDATE_COUPON), 'SSL')); } $coupon_count = xtc_db_query("select coupon_id from ".TABLE_COUPON_REDEEM_TRACK." where coupon_id = '".$coupon_result['coupon_id']."'"); $coupon_count_customer = xtc_db_query("select coupon_id from ".TABLE_COUPON_REEM_TRACK." where coupon_id = '".$coupon_result['coupon_id']."' and customer_id = '".$_SESSION['customer_id']."'"); if (xtc_db_num_rows($coupon_count) >= $coupon_result['uses_per_coupon'] && $coupon_result['uses_per_coupon'] > 0) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message='.urlencode(ERROR_INVALID_USES_COUPON.$coupon_result['uses_per_coupon'].TIMES), 'SSL')); } if (xtc_db_num_rows($coupon_count_customer) >= $coupon_result['uses_per_user'] && $coupon_result['uses_per_user'] > 0) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message='.urlencode(ERROR_INVALID_USES_USER_COUPON.$coupon_result['uses_per_user'].TIMES), 'SSL')); } if ($coupon_result['coupon_type'] == 'S') { $coupon_amount = $order->info['shipping_cost']; } else { $coupon_amount = $xtPrice->xtcFormat($coupon_result['coupon_amount'], true).' '; } if ($coupon_result['coupon_type'] == 'P') $coupon_amount = $coupon_result['coupon_amount'].'% '; if ($coupon_result['coupon_minimum_order'] 0) $coupon_amount .= 'on orders greater than '.$coupon_result['coupon_minimum_order']; $_SESSION['cc_id'] = $coupon_result['coupon_id']; //Fred ADDED, set the global and session variable } if ($_POST['submit_redeem_coupon_x'] && !$_POST['gv_redeem_code']) xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message='.urlencode(ERROR_NO_REDEEM_CODE), 'SSL')); } } function calculate_credit($amount) { global $order; $od_amount = 0; if (isset ($_SESSION['cc_id'])) { $coupon_query = xtcb_query("select coupon_code from ".TABLE_COUPONS." where coupon_id = '".$_SESSION['cc_id']."'"); if (xtc_db_num_rows($coupon_query) != 0) { $coupon_result = xtc_db_fetch_array($coupon_query); $this->coupon_code = $coupon_result['coupon_code']; $coupon_get = xtc_db_query("select coupon_amount, coupon_minimum_order, restrict_to_products, restrict_to_categories, coupon_type from ".TABLE_COUPONS." where coupon_code = '".$coupon_result['coupon_code']."'"); $get_result = xtc_db_fetch_array($coupon_get); $c_duct = $get_result['coupon_amount']; if ($get_result['coupon_type'] == 'S') $c_deduct = $order->info['shipping_cost']; if ($get_result['coupon_type']=='S' && $get_result['coupon_amount'] > 0 ) $c_deduct = $order->info['shipping_cost'] + $get_result['coupon_amount']; if ($get_result['coupon_minimum_order'] <= $this->get_order_total()) { if ($get_result['restrict_to_products'] || $get_result['restrict_to_categories']) { for ($i = 0; $i < sizeof($order->products); $i ++) { if ($get_result['restrict_to_products']) { $pr_ids = split("[,]", $get_result['restrict_to_products']); for ($ii = 0; $p < count($pr_ids); $ii ++) { if ($pr_ids[$ii] == xtc_get_prid($order->products[$i]['id'])) { if ($get_result['coupon_type'] == 'P') { $od_amount = $amount * $get_result['coupon_amount'] / 100; $pr_c = $this->product_price($pr_ids[$ii]); //Fred 2003-10-28, fix for the row above, otherwise the discount is calc based on price excl VAT! $pod_amount = round($pr_c*10)/10*$c_deduct/100; $od_amount = $od_amount + $pod_amount; } else { $od_amount = $c_deduct; } } } } else { $cat_ids = split("[,]", $get_result['restrict_to_categories']); for ($i = 0; $i < sizeof($order->products); $i ++) { $my_path = xtc_get_product_path(xtc_get_prid($order->products[$i]['id'])); $sub_cat_ids = split("[_]", $my_path); for ($iii = 0; $iii < count($sub_caids); $iii ++) { for ($ii = 0; $ii < count($cat_ids); $ii ++) { if ($sub_cat_ids[$iii] == $cat_ids[$ii]) { if ($get_result['coupon_type'] == 'P') { $pr_c = $this->product_price(xtc_get_prid($order->products[$i]['id'])); //Fred 2003-10-28, fix for the row above, otherwise the discount is calc based on price excl VAT! $pod_amount = round($pr_c*10)/10*$c_deduct/100; $od_amount = $od_amount + $pod_amount; continue 3; // v5.13a Tanaka 2005-4-30: to prevent double counting of a product discount�� } else { $od_amount = $c_deduct; continue 3; } } } } } } } }lse { if ($get_result['coupon_type'] != 'P') { $od_amount = $c_deduct; } else { $od_amount = $amount * $get_result['coupon_amount'] / 100; } } } } if ($od_amount > $amount) $od_amount = $amount; } return $od_aunt; } function calculate_tax_deduction($amount, $od_amount, $method) { global $order; $coupon_query = xtc_db_query("select coupon_code from ".TABLE_COUPONS." where coupon_id = '".$_SESSION['cc_id']."'"); if (xtc_db_num_rows($coupon_query) != 0) { $coon_result = xtc_db_fetch_array($coupon_query); $coupon_get = xtc_db_query("select coupon_amount, coupon_minimum_order, restrict_to_products, restrict_to_categories, coupon_type from ".TABLE_COUPONS." where coupon_code = '".$coupon_result['coupon_code']."'"); get_result = xtc_db_fetch_array($coupon_get); if ($get_result['coupon_type'] != 'S') { //RESTRICTION-------------------------------- if ($get_result['restrict_to_products'] || $get_result['restrict_to_categories']) { // What to do here. // Lp through all products and build a list of all product_ids, price, tax class // at the same time create total net amount. // then // for percentage discounts. simply reduce tax group per product by discount percentage // or // for fixed paent amount // calculate ratio based on total net // for each product reduce tax group per product by ratio amount. $products = $_SESSION['cart']->get_products(); $valid_product = false; for ($i = 0; $i < sizeof($products); $i + { $valid_product = false; $t_prid = xtc_get_prid($products[$i]['id']); $cc_query = xtc_db_query("select products_tax_class_id from ".TABLE_PRODUCTS." where products_id = '".$t_prid."'"); $cc_result = xtc_db_fetch_array($cc_query); if ($get_result['restrict_to_products']) { $pr_ids = split("[,]", $get_result['restrict_to_products']); for ($p = 0; $p < sizeof($pr_ids); $p ++) { if ($pr_ids[$p] == $t_prid) $valid_product = true; } } if ($get_result['restrict_to_categories']) { // v5.13a Tanaka 2005-4-30: New code, this correctly identies valid products in subcategories $cat_ids = split("[,]", $get_result['restrict_to_categories']); $my_path = xtc_get_product_path($t_prid); $sub_cat_ids = split("[_]", $my_path); for ($iii = 0; $iii < count($sub_cat_ids); $iii++) { for ($ii = 0; $ii < count($cat_ids); $ii++) { if ($sub_cat_ids[$iii] == $cat_ids[$ii]) { $valid_product true; continue 2; } } } } if ($valid_product) { $price_excl_vat = $products[$i]['fil_price'] * $products[$i]['quantity']; $price_incl_vat = $this->product_price($t_prid); $valid_array[] = array ('product_id' => $t_prid, 'products_price' => $price_excl_vat, 'products_tax_class' => $cc_result['products_tax_class_id']); $total_ice += $price_excl_vat; } } if (sizeof($valid_array) > 0) { // if ($valid_product) { if ($get_result['coupon_type'] == 'P') { $ratio = $get_result['coupon_amount'] / 100; } else { $ratio = $od_amount / $total_price; if ($get_result['coupon_type'] == 'S') $ratio = 1; if ($method == 'Credit Note') { $tax_rate = xtc_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); $tax_desc = xtc_get_tax_descriptionthis->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); if ($get_result['coupon_type'] == 'P') { $tod_amount = $od_amount / (100 + $tax_rate) * $tax_rate; } else { $tod_amount = $order->info['tax_groups'][$t_desc] * $od_amount / 100; } $order->info['tax_groups'][$tax_desc] -= $tod_amount; $order->info['total'] -= $tod_amount; $order->info['tax'] -= $tod_amount; } else { for ($p = 0; $p < sizeof($valid_array); $p ++) { ax_rate = xtc_get_tax_rate($valid_array[$p]['products_tax_class'], $order->delivery['country']['id'], $order->delivery['zone_id']); $tax_desc = xtc_get_tax_description($valid_array[$p]['products_tax_class'], $order->delivery['country']['id'], $order->delivy['zone_id']); if ($tax_rate > 0) { $tod_amount = ($valid_array[$p]['products_price'] * $tax_rate) / 100 * $ratio; $order->info['tax_groups'][$tax_desc] -= ($valid_array[$p]['products_price'] * $tax_rate) / 100 * $ratio; $order->fo['total'] -= ($valid_array[$p]['products_price'] * $tax_rate) / 100 * $ratio; $order->info['tax'] -= ($valid_array[$p]['products_price'] * $tax_rate) / 100 * $ratio; } } } } //NO RESTRICTION-------------------------------- } else { if ($get_result['coupon_type'] == 'F') { $tod_amount = 0; if ($method == 'Credit Note') { $tax_rate = xtc_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); $tax_desc = xtc_get_x_description($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); $tod_amount = $od_amount / (100 + $tax_rate) * $tax_rate; $order->info['tax_groups'][TAX_ADD_TAX.$tax_desc] -= $tod_amount; } else { reset($der->info['tax_groups']); while (list ($key, $value) = each($order->info['tax_groups'])) { $ratio1 = $od_amount / ($amount - $order->info['tax_groups'][$key]); $tax_rate = xtc_get_tax_rate_from_desc( str_replace(TAX_ADD_TAX, "", $key) ); $net = $tax_rate * $order->info['tax_groups'][$key]; if ($net > 0) { $god_amount = $od_amount * $tax_rate / (100 + $tax_rate); $tod_amount += $god_amount; $order->info['tax_groups'][$key] -= $god_amount; } } } $order->info['total'] -= $tod_amount; $order->info['tax'] -= $tod_amount; } if ($get_result['coupon_type'] == 'P') { $tod_amount = 0; if ($method == 'Credit Note') { $tax_desc = xtc_get_tax_description($this->tax_css, $order->delivery['country']['id'], $order->delivery['zone_id']); $tod_amount = $order->info['tax_groups'][$tax_desc] * $od_amount / 100; $order->info['tax_groups'][TAX_ADD_TAX.$tax_desc] -= $tod_amount; } else { reset($order->info['t_groups']); while (list ($key, $value) = each($order->info['tax_groups'])) { $god_amout = 0; $tax_rate = xtc_get_tax_rate_from_desc( str_replace(TAX_ADD_TAX, "", $key) ); $net = $tax_rate * $order->info['tax_groups'][$key]; i($net > 0) { $god_amount = $order->info['tax_groups'][$key] * $get_result['coupon_amount'] / 100; $tod_amount += $god_amount; $order->info['tax_groups'][$key] = $order->info['tax_groups'][$key] - $god_amount; } } } $order->info['tax'] -= $tod_amount; } } } } return $tod_amount; } function update_credit_account($i) { return false; } function apply_credit() { global $insert_id, $REMOTE_ADDR; if ($this->deduction != 0) { xtc_db_query("insert io ".TABLE_COUPON_REDEEM_TRACK." (coupon_id, redeem_date, redeem_ip, customer_id, order_id) values ('".$_SESSION['cc_id']."', now(), '".$REMOTE_ADDR."', '".$_SESSION['customer_id']."', '".$insert_id."')"); } unset ($_SESSION['cc_id']); } function get_order_tal() { global $order, $xtPrice; $order_total = $order->info['total']; // Check if gift voucher is in cart and adjust total $products = $_SESSION['cart']->get_products(); for ($i = 0; $i < sizeof($products); $i ++) { $t_prid = xtc_get_prid($products[$['id']); $gv_query = xtc_db_query("select products_price, products_tax_class_id, products_model from ".TABLE_PRODUCTS." where products_id = '".$t_prid."'"); $gv_result = xtc_db_fetch_array($gv_query); if (ereg('^GIFT', addslashes($gv_result['products_mode]))) { $qty = $_SESSION['cart']->get_quantity($t_prid); $products_tax = $xtPrice->TAX[$gv_result['products_tax_class_id']]; if ($this->include_tax == 'false') { $gv_amount = $gv_result['products_price'] * $qty; } else { $gv_amount = ($gv_sult['products_price'] + $xtPrice->calcTax($gv_result['products_price'], $products_tax)) * $qty; } $order_total = $order_total - $gv_amount; } } if ($this->include_tax == 'false') $order_total = $order_total - $order->info['tax']; if ($this->inude_shipping == 'false') $order_total = $order_total - $order->info['shipping_cost']; // OK thats fine for global coupons but what about restricted coupons // where you can only redeem against certain products/categories. // and I though this was going toe easy !!! $coupon_query = xtc_db_query("select coupon_code from ".TABLE_COUPONS." where coupon_id='".$_SESSION['cc_id']."'"); if (xtc_db_num_rows($coupon_query) != 0) { $coupon_result = xtc_db_fetch_array($coupon_query); $coupon_get = xtc_db_query("sele coupon_amount, coupon_minimum_order,restrict_to_products,restrict_to_categories, coupon_type from ".TABLE_COUPONS." where coupon_code='".$coupon_result['coupon_code']."'"); $get_result = xtc_db_fetch_array($coupon_get); $in_cat = true; if ($get_result['rtrict_to_categories']) { $cat_ids = split("[,]", $get_result['restrict_to_categories']); $in_cat = false; for ($i = 0; $i < count($cat_ids); $i ++) { if (is_array($this->contents)) { reset($this->contents); while (list ($products_id,) each($this->contents)) { $cat_query = xtc_db_query("select products_id from products_to_categories where products_id = '".$products_id."' and categories_id = '".$cat_ids[$i]."'"); if (xtc_db_num_rows($cat_query) != 0) { $in_cat = true; $total_price += $this->get_product_price($products_id); } } } } } $in_cart = true; if ($get_result['restrict_to_products']) { $pr_ids = split("[,]", $get_result['restrict_to_products']); $in_cart = false; $products_arra= $_SESSION['cart']->get_products(); for ($i = 0; $i < sizeof($pr_ids); $i ++) { for ($ii = 1; $ii <= sizeof($products_array); $ii ++) { if (xtc_get_prid($products_array[$ii -1]['id']) == $pr_ids[$i]) { $in_cart = true; $total_price +$this->get_product_price($products_array[$ii -1]['id']); } } } $order_total = $total_price; } } return $order_total; } function get_product_price($product_id) { global $order,$xtPrice; $products_id = xtc_get_prid($product_id); //roducts price $qty = $_SESSION['cart']->contents[$products_id]['qty']; $product_query = xtc_db_query("select products_id, products_price, products_tax_class_id, products_weight from ".TABLE_PRODUCTS." where products_id='".$product_id."'"); if ($product = xtcb_fetch_array($product_query)) { $prid = $product['products_id']; if ($this->include_tax == 'true') { $total_price += $qty * $xtPrice->xtcGetPrice($product['products_id'], $format = false, 1, $product['products_tax_class_id'], $product['products_price'], 1 $_SESSION['total_price']=$total_price; } else { $total_price += $qty * $xtPrice->xtcGetPrice($product['products_id'], $format = false, 1, 0, $product['products_price'], 1); } // attributes price if (isset ($_SESSION['cart']->contents[$product_id]['atibutes'])) { reset($_SESSION['cart']->contents[$product_id]['attributes']); while (list ($option, $value) = each($_SESSION['cart']->contents[$product_id]['attributes'])) { $attribute_price_query = xtc_db_query("select options_values_price, price_prefifrom ".TABLE_PRODUCTS_ATTRIBUTES." where products_id = '".$prid."' and options_id = '".$option."' and options_values_id = '".$value."'"); $attribute_price = xtc_db_fetch_array($attribute_price_query); if ($attribute_price['price_prefix'] == '+') { ($this->include_tax == 'true') { $total_price += $qty * ($attribute_price['options_values_price'] + xtc_calculate_tax($attribute_price['options_values_price'], $products_tax)); } else { $total_price += $qty * ($attribute_price['options_values_ice']); } } else { if ($this->include_tax == 'true') { $total_price -= $qty * ($attribute_price['options_values_price'] + xtc_calculate_tax($attribute_price['options_values_price'], $products_tax)); } else { $total_price -= $qt* ($attribute_price['options_values_price']); } } } } } if ($this->include_shipping == 'true') { $total_price += $order->info['shipping_cost']; } return $total_price; } function product_price($product_id) { $total_price = $this->t_product_price($product_id); if ($this->include_shipping == 'true') $total_price -= $order->info['shipping_cost']; return $total_price; } function check() { if (!isset ($this->check)) { $check_query = xtc_db_query("select configuration_value from "ABLE_CONFIGURATION." where configuration_key = 'MODULE_ORDER_TOTAL_COUPON_STATUS'"); $this->check = xtc_db_num_rows($check_query); } return $this->check; } function keys() { return array ('MODULE_ORDER_TOTAL_COUPON_STATUS', 'MODULE_ORDER_TOTAL_COUPON_RT_ORDER', 'MODULE_ORDER_TOTAL_COUPON_INC_SHIPPING', 'MODULE_ORDER_TOTAL_COUPON_INC_TAX', 'MODULE_ORDER_TOTAL_COUPON_CALC_TAX', 'MODULE_ORDER_TOTAL_COUPON_TAX_CLASS'); } function install() { xtc_db_query("insert into ".TABLE_CONFIGURATION." (configuration_id,onfiguration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_STATUS', 'true', '6', '1','xtc_cfg_select_option(array(\'true\', \'false\'), ', now())"); xtc_db_query("insert into ".TABLCONFIGURATION." (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_SORT_ORDER', '70', '6', '2', now())"); xtc_db_query("insert into ".TABLE_CONFIGURATION." (configuratn_id, configuration_key, configuration_value, configuration_group_id, sort_order, set_function ,date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_INC_SHIPPING', 'true', '6', '5', 'xtc_cfg_select_option(array(\'true\', \'false\'), ', now())"); xtc_db_query("inse into ".TABLE_CONFIGURATION." (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, set_function ,date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_INC_TAX', 'true', '6', '6','xtc_cfg_select_option(array(\'true\', \'false\, ', now())"); xtc_db_query("insert into ".TABLE_CONFIGURATION." (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, set_function ,date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_CALC_TAX', 'None', '6', '7','xtc_cfg_lect_option(array(\'None\', \'Standard\', \'Credit Note\'), ', now())"); xtc_db_query("insert into ".TABLE_CONFIGURATION." (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) valu ('', 'MODULE_ORDER_TOTAL_COUPON_TAX_CLASS', '0', '6', '0', 'xtc_get_tax_class_title', 'xtc_cfg_pull_down_tax_classes(', now())"); } function remove() { $keys = ''; $keys_array = $this->keys(); for ($i = 0; $i < sizeof($keys_array); $i ++) { $keys .= ".$keys_array[$i]."',"; } $keys = substr($keys, 0, -1); xtc_db_query("delete from ".TABLE_CONFIGURATION." where configuration_key in (".$keys.")"); } } ?>

was ist das, wie kann ich das abschaffen ?

würde mich sehr über eine hilfe freuen

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...