PDA

Shop Support News Archive - Shopbetreiber News -> Forum : xt eCommerce Templates Module SEO Support: 3.04sp2.1 GPL Support: Selfpickup Im Adminbereich


voliere.net
16.02.2006, 02:50
Folgendes Problem: Ich habe einen Kunden im Adminbereich selbst angelegt. Kunde ist Selbstabholer/ Barzahler: folgende Fehlermeldung erscheint beim klick auf den Button beim Seite speichern (Bestellungsbearbeitung beenden und Bestellung neu berechnen.):

Warning: constant() [function.constant]: Couldn't find constant MODULE_SHIPPING_SELFPICKUP_TAX_CLASS in /home/imkerbi/public_html/voliere-net/catalog/admin/orders_edit.php on line 501

Warning: Cannot modify header information - headers already sent by (output started at /home/imkerbi/public_html/voliere-net/catalog/admin/orders_edit.php:501) in /home/imkerbi/public_html/voliere-net/catalog/admin/includes/functions/general.php on line 130

Das Problem tritt nur bei händisch angelegten Kunden mit Selbstabholung auf. Wenn ich bei bestehenden Kuden die Bestellung im Admin auf Selbstabholung ändere erscheint der Fehler nicht.

304SP1

voliere.net
16.02.2006, 11:47
das ist der Inhalt aus admin/orders_edit.php:
Bei manueller Anlage erscheint auch nicht der Psalm (Abholung der Ware in der Geschäftsstelle). Was fehlt hier?????

[code]<?php

/ --------------------------------------------------------------
$Id: orders_edit.php,v 1.1

XT-Commerce - community made shopping
http://www.xt-commerce.com

Copyright © 2003 XT-Commerce
--------------------------------------------------------------
based on:
© 2000-2001 The Exchange Project (earlier name of osCommerce)
© 2002-2003 osCommerce(orders.php,v 1.27 2003/02/16); www.oscommerce.com
© 2003 nextcommerce (orders.php,v 1.7 2003/08/14); www.nextcommerce.org

Released under the GNU General Public License

To do: Rabatte berücksnichtigen
-------------------------------------------------------------- /

// Benötigte Funktionen und Klassen Anfang:
require ('includes/application_top.php');

require (DIR_WS_CLASSES.'order.php');
if (!$_GET['oID'])
$_GET['oID'] = $_POST['oID'];
$order = new order($_GET['oID']);

require (DIR_FS_CATALOG.DIR_WS_CLASSES.'xtcPrice.php');
$xtPrice = new xtcPrice($order->info['currency'], $order->info['status']);

require_once (DIR_FS_INC.'xtc_get_tax_class_id.inc.php');
require_once (DIR_FS_INC.'xtc_get_tax_rate.inc.php');

require_once (DIR_FS_INC.'xtc_oe_get_options_name.inc.php');
require_once (DIR_FS_INC.'xtc_oe_get_options_values_name.inc.ph p');
require_once (DIR_FS_INC.'xtc_oe_customer_infos.inc.php');
// Ben�tigte Funktionen und Klassen Ende

// Adressbearbeitung Anfang
if ($_GET['action'] == "address_edit") {

$lang_query = xtc_db_query("select languages_id from ".TABLE_LANGUAGES." where directory = '".$order->info['language']."'");
$lang = xtc_db_fetch_array($lang_query);

$status_query = xtc_db_query("select customers_status_name from ".TABLE_CUSTOMERS_STATUS." where customers_status_id = '".$_POST['customers_status']."' and language_id = '".$lang['languages_id']."' ");
$status = xtc_db_fetch_array($status_query);

$sql_data_array = array ('customers_vat_id' => xtc_db_prepare_input($_POST['customers_vat_id']), 'customers_status' => xtc_db_prepare_input($_POST['customers_status']), 'customers_status_name' => xtc_db_prepare_input($status['customers_status_name']), 'customers_company' => xtc_db_prepare_input($_POST['customers_company']), 'customers_name' => xtc_db_prepare_input($_POST['customers_name']), 'customers_street_address' => xtc_db_prepare_input($_POST['customers_street_address']), 'customers_city' => xtc_db_prepare_input($_POST['customers_city']), 'customers_postcode' => xtc_db_prepare_input($_POST['customers_postcode']), 'customers_country' => xtc_db_prepare_input($_POST['customers_country']), 'customers_telephone' => xtc_db_prepare_input($_POST['customers_telephone']), 'customers_email_address' => xtc_db_prepare_input($_POST['customers_email_address']), 'delivery_company' => xtc_db_prepare_input($_POST['delivery_company']), 'delivery_name' => xtc_db_prepare_input($_POST['delivery_name']), 'delivery_street_address' => xtc_db_prepare_input($_POST['delivery_street_address']), 'delivery_city' => xtc_db_prepare_input($_POST['delivery_city']), 'delivery_postcode' => xtc_db_prepare_input($_POST['delivery_postcode']), 'delivery_country' => xtc_db_prepare_input($_POST['delivery_country']), 'billing_company' => xtc_db_prepare_input($_POST['billing_company']), 'billing_name' => xtc_db_prepare_input($_POST['billing_name']), 'billing_street_address' => xtc_db_prepare_input($_POST['billing_street_address']), 'billing_city' => xtc_db_prepare_input($_POST['billing_city']), 'billing_postcode' => xtc_db_prepare_input($_POST['billing_postcode']), 'billing_country' => xtc_db_prepare_input($_POST['billing_country']));

$update_sql_data = array ('last_modified' => 'now()');
$sql_data_array = xtc_array_merge($sql_data_array, $update_sql_data);
xtc_db_perform(TABLE_ORDERS, $sql_data_array, 'update', 'orders_id = \''.xtc_db_input($_POST['oID']).'\'');

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=address&oID='.$_POST['oID']));
}
// Adressbearbeitung Ende

// Artikeldaten einfügen / bearbeiten Anfang:

// Artikel bearbeiten Anfang:
if ($_GET['action'] == "product_edit") {
$status_query = xtc_db_query("select customers_status_show_price_tax from ".TABLE_CUSTOMERS_STATUS." where customers_status_id = '".$order->info['status']."'");
$status = xtc_db_fetch_array($status_query);

$final_price = $_POST['products_price'] $_POST['products_quantity'];

$sql_data_array = array ('orders_id' => xtc_db_prepare_input($_POST['oID']), 'products_id' => xtc_db_prepare_input($_POST['products_id']), 'products_name' => xtc_db_prepare_input($_POST['products_name']), 'products_price' => xtc_db_prepare_input($_POST['products_price']), 'products_discount_made' => '', 'final_price' => xtc_db_prepare_input($final_price), 'products_tax' => xtc_db_prepare_input($_POST['products_tax']), 'products_quantity' => xtc_db_prepare_input($_POST['products_quantity']), 'allow_tax' => xtc_db_prepare_input($status['customers_status_show_price_tax']));

$update_sql_data = array ('products_model' => xtc_db_prepare_input($_POST['products_model']));
$sql_data_array = xtc_array_merge($sql_data_array, $update_sql_data);
xtc_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array, 'update', 'orders_products_id = \''.xtc_db_input($_POST['opID']).'\'');

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=products&oID='.$_POST['oID']));
}
// Artikel bearbeiten Ende:

// Artikel einfügen Anfang

if ($_GET['action'] == "product_ins") {

$status_query = xtc_db_query("select customers_status_show_price_tax from ".TABLE_CUSTOMERS_STATUS." where customers_status_id = '".$order->info['status']."'");
$status = xtc_db_fetch_array($status_query);

$product_query = xtc_db_query("select p.products_model, p.products_tax_class_id, pd.products_name from ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd where p.products_id = '".$_POST['products_id']."' and pd.products_id = p.products_id and pd.language_id = '".$_SESSION['languages_id']."'");
$product = xtc_db_fetch_array($product_query);

$c_info = xtc_oe_customer_infos($order->customer['ID']);
$tax_rate = xtc_get_tax_rate($product['products_tax_class_id'], $c_info['country_id'], $c_info['zone_id']);

$price = $xtPrice->xtcGetPrice($_POST['products_id'], $format = false, $_POST['products_quantity'], $product['products_tax_class_id'], '', '', $order->customer['ID']);

$final_price = $price $_POST['products_quantity'];

$sql_data_array = array ('orders_id' => xtc_db_prepare_input($_POST['oID']), 'products_id' => xtc_db_prepare_input($_POST['products_id']), 'products_name' => xtc_db_prepare_input($product['products_name']), 'products_price' => xtc_db_prepare_input($price), 'products_discount_made' => '', 'final_price' => xtc_db_prepare_input($final_price), 'products_tax' => xtc_db_prepare_input($tax_rate), 'products_quantity' => xtc_db_prepare_input($_POST['products_quantity']), 'allow_tax' => xtc_db_prepare_input($status['customers_status_show_price_tax']));

$insert_sql_data = array ('products_model' => xtc_db_prepare_input($product['products_model']));
$sql_data_array = xtc_array_merge($sql_data_array, $insert_sql_data);
xtc_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array);

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=products&oID='.$_POST['oID']));
}
// Artikel einfügen Ende

// Produkt Optionen bearbeiten Anfang
if ($_GET['action'] == "product_option_edit") {

$sql_data_array = array ('products_options' => xtc_db_prepare_input($_POST['products_options']), 'products_options_values' => xtc_db_prepare_input($_POST['products_options_values']), 'options_values_price' => xtc_db_prepare_input($_POST['options_values_price']));

$update_sql_data = array ('price_prefix' => xtc_db_prepare_input($_POST['prefix']));
$sql_data_array = xtc_array_merge($sql_data_array, $update_sql_data);
xtc_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array, 'update', 'orders_products_attributes_id = \''.xtc_db_input($_POST['opAID']).'\'');

$products_query = xtc_db_query("select op.products_id, op.products_quantity, p.products_tax_class_id from ".TABLE_ORDERS_PRODUCTS." op, ".TABLE_PRODUCTS." p where op.orders_products_id = '".$_POST['opID']."' and op.products_id = p.products_id");
$products = xtc_db_fetch_array($products_query);

$products_a_query = xtc_db_query("select options_values_price, price_prefix from ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." where orders_products_id = '".$_POST['opID']."'");
while ($products_a = xtc_db_fetch_array($products_a_query)) {
$ov_price += $products_a['price_prefix'].$products_a['options_values_price'];
};

$products_old_price = $xtPrice->xtcGetPrice($products['products_id'], $format = false, $products['products_quantity'], '', '', '', $order->customer['ID']);

$options_values_price = ($ov_price.$_POST['prefix'].$_POST['options_values_price']);
$products_price = ($products_old_price + $options_values_price);

$price = $xtPrice->xtcGetPrice($products['products_id'], $format = false, $products['products_quantity'], $products['products_tax_class_id'], $products_price, '', $order->customer['ID']);

$final_price = $price $products['products_quantity'];

$sql_data_array = array ('products_price' => xtc_db_prepare_input($price));
$update_sql_data = array ('final_price' => xtc_db_prepare_input($final_price));
$sql_data_array = xtc_array_merge($sql_data_array, $update_sql_data);
xtc_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array, 'update', 'orders_products_id = \''.xtc_db_input($_POST['opID']).'\'');

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=options&oID='.$_POST['oID'].'&pID='.$products['products_id'].'&opID='.$_POST['opID']));
}
// Produkt Optionen bearbeiten Ende

// Produkt Optionen einfügen Anfang
if ($_GET['action'] == "product_option_ins") {

$products_attributes_query = xtc_db_query("select options_id, options_values_id, options_values_price, price_prefix from ".TABLE_PRODUCTS_ATTRIBUTES." where products_attributes_id = '".$_POST['aID']."'");
$products_attributes = xtc_db_fetch_array($products_attributes_query);

$products_options_query = xtc_db_query("select products_options_name from ".TABLE_PRODUCTS_OPTIONS." where products_options_id = '".$products_attributes['options_id']."' and language_id = '".$_SESSION['languages_id']."'");
$products_options = xtc_db_fetch_array($products_options_query);

$products_options_values_query = xtc_db_query("select products_options_values_name from ".TABLE_PRODUCTS_OPTIONS_VALUES." where products_options_values_id = '".$products_attributes['options_values_id']."' and language_id = '".$_SESSION['languages_id']."'");
$products_options_values = xtc_db_fetch_array($products_options_values_query) ;

$sql_data_array = array ('orders_id' => xtc_db_prepare_input($_POST['oID']), 'orders_products_id' => xtc_db_prepare_input($_POST['opID']), 'products_options' => xtc_db_prepare_input($products_options['products_options_name']), 'products_options_values' => xtc_db_prepare_input($products_options_values['products_options_values_name']), 'options_values_price' => xtc_db_prepare_input($products_attributes['options_values_price']));

$insert_sql_data = array ('price_prefix' => xtc_db_prepare_input($products_attributes['price_prefix']));
$sql_data_array = xtc_array_merge($sql_data_array, $insert_sql_data);
xtc_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array);

$products_query = xtc_db_query("select op.products_id, op.products_quantity, p.products_tax_class_id from ".TABLE_ORDERS_PRODUCTS." op, ".TABLE_PRODUCTS." p where op.orders_products_id = '".$_POST['opID']."' and op.products_id = p.products_id");
$products = xtc_db_fetch_array($products_query);

$products_a_query = xtc_db_query("select options_values_price, price_prefix from ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." where orders_products_id = '".$_POST['opID']."'");
while ($products_a = xtc_db_fetch_array($products_a_query)) {
$options_values_price += $products_a['price_prefix'].$products_a['options_values_price'];
};

$products_old_price = $xtPrice->xtcGetPrice($products['products_id'], $format = false, $products['products_quantity'], '', '', '', $order->customer['ID']);

$products_price = ($products_old_price + $options_values_price);

$price = $xtPrice->xtcGetPrice($products['products_id'], $format = false, $products['products_quantity'], $products['products_tax_class_id'], $products_price, '', $order->customer['ID']);

$final_price = $price $products['products_quantity'];

$sql_data_array = array ('products_price' => xtc_db_prepare_input($price));
$update_sql_data = array ('final_price' => xtc_db_prepare_input($final_price));
$sql_data_array = xtc_array_merge($sql_data_array, $update_sql_data);
xtc_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array, 'update', 'orders_products_id = \''.xtc_db_input($_POST['opID']).'\'');

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=options&oID='.$_POST['oID'].'&pID='.$products['products_id'].'&opID='.$_POST['opID']));
}

// Produkt Optionen einfügen Ende

// Artikeldaten einfügen / bearbeiten Ende:

// Zahlung Anfang
if ($_GET['action'] == "payment_edit") {

$sql_data_array = array ('payment_method' => xtc_db_prepare_input($_POST['payment']), 'payment_class' => xtc_db_prepare_input($_POST['payment']),);
xtc_db_perform(TABLE_ORDERS, $sql_data_array, 'update', 'orders_id = \''.xtc_db_input($_POST['oID']).'\'');

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=other&oID='.$_POST['oID']));
}
// Zahlung Ende

// Versandkosten Anfang
if ($_GET['action'] == "shipping_edit") {

$module = $_POST['shipping'].'.php';
require (DIR_FS_LANGUAGES.$order->info['language'].'/modules/shipping/'.$module);
$shipping_text = constant(MODULE_SHIPPING_.strtoupper($_POST['shipping'])._TEXT_TITLE);
$shipping_class = $_POST['shipping'].'_'.$_POST['shipping'];

$text = $xtPrice->xtcFormat($_POST['value'], true);

$sql_data_array = array ('orders_id' => xtc_db_prepare_input($_POST['oID']),'title' => xtc_db_prepare_input($shipping_text),'text' => xtc_db_prepare_input($text),'value' => xtc_db_prepare_input($_POST['value']),'class' => 'ot_shipping');

$check_shipping_query = xtc_db_query("select class from ".TABLE_ORDERS_TOTAL. Anwalt Hamm" where orders_id = '".$_POST['oID']."' and class = 'ot_shipping'");
if (xtc_db_num_rows($check_shipping_query)) {
xtc_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array, 'update', 'orders_id = \''.xtc_db_input($_POST['oID']).'\' and class="ot_shipping"');
}else{
xtc_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array);
}

$sql_data_array = array ('shipping_method' => xtc_db_prepare_input($shipping_text), 'shipping_class' => xtc_db_prepare_input($shipping_class),);
xtc_db_perform(TABLE_ORDERS, $sql_data_array, 'update', 'orders_id = \''.xtc_db_input($_POST['oID']).'\'');

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=other&oID='.$_POST['oID']));
}
// Versandkosten Ende

// OT Module Anfang:
if ($_GET['action'] == "ot_edit") {

$check_total_query = xtc_db_query("select orders_total_id from ".TABLE_ORDERS_TOTAL. Anwalt Hamm" where orders_id = '".$_POST['oID']."' and class = '".$_POST['class']."'");
if (xtc_db_num_rows($check_total_query)) {

$check_total = xtc_db_fetch_array($check_total_query);

$text = $xtPrice->xtcFormat($_POST['value'], true);

$sql_data_array = array ('title' => xtc_db_prepare_input($_POST['title']), 'text' => xtc_db_prepare_input($text), 'value' => xtc_db_prepare_input($_POST['value']),);
xtc_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array, 'update', 'orders_total_id = \''.xtc_db_input($check_total['orders_total_id']).'\'');

} else {

$text = $xtPrice->xtcFormat($_POST['value'], true);

$sql_data_array = array ('orders_id' => xtc_db_prepare_input($_POST['oID']), 'title' => xtc_db_prepare_input($_POST['title']), 'text' => xtc_db_prepare_input($text), 'value' => xtc_db_prepare_input($_POST['value']), 'class' => xtc_db_prepare_input($_POST['class']), 'sort_order' => xtc_db_prepare_input($_POST['sort_order']),);

xtc_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array);
}

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=other&oID='.$_POST['oID']));
}
// OT Module Ende

// Sprachupdate Anfang

if ($_GET['action'] == "lang_edit") {

// Daten für Sprache wählen
$lang_query = xtc_db_query("select languages_id, name, directory from ".TABLE_LANGUAGES." where languages_id = '".$_POST['lang']."'");
$lang = xtc_db_fetch_array($lang_query);
// Daten für Sprache w�hlen Ende

// Produkte
$order_products_query = xtc_db_query("select orders_products_id , products_id from ".TABLE_ORDERS_PRODUCTS." where orders_id = '".$_POST['oID']."'");
while ($order_products = xtc_db_fetch_array($order_products_query)) {

$products_query = xtc_db_query("select products_name from ".TABLE_PRODUCTS_DESCRIPTION." where products_id = '".$order_products['products_id']."' and language_id = '".$_POST['lang']."' ");
$products = xtc_db_fetch_array($products_query);

$sql_data_array = array ('products_name' => xtc_db_prepare_input($products['products_name']));
xtc_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array, 'update', 'orders_products_id = \''.xtc_db_input($order_products['orders_products_id']).'\'');
};
// Produkte Ende

// OT Module

$order_total_query = xtc_db_query("select orders_total_id, title, class from ".TABLE_ORDERS_TOTAL. Anwalt Hamm" where orders_id = '".$_POST['oID']."'");
while ($order_total = xtc_db_fetch_array($order_total_query)) {

require (DIR_FS_LANGUAGES.$lang['directory'].'/modules/order_total/'.$order_total['class'].'.php');
$name = str_replace('ot_', '', $order_total['class']);
$text = constant(MODULE_ORDER_TOTAL_.strtoupper($name)._TI TLE);

$sql_data_array = array ('title' => xtc_db_prepare_input($text));
xtc_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array, 'update', 'orders_total_id = \''.xtc_db_input($order_total['orders_total_id']).'\'');

}

// OT Module

$sql_data_array = array ('language' => xtc_db_prepare_input($lang['directory']));
xtc_db_perform(TABLE_ORDERS, $sql_data_array, 'update', 'orders_id = \''.xtc_db_input($_POST['oID']).'\'');

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=other&oID='.$_POST['oID']));
}

// Sprachupdate Ende

// Währungswechsel Anfang

if ($_GET['action'] == "curr_edit") {

$curr_query = xtc_db_query("select currencies_id, title, code, value from ".TABLE_CURRENCIES." where currencies_id = '".$_POST['currencies_id']."' ");
$curr = xtc_db_fetch_array($curr_query);

$old_curr_query = xtc_db_query("select currencies_id, title, code, value from ".TABLE_CURRENCIES." where code = '".$_POST['old_currency']."' ");
$old_curr = xtc_db_fetch_array($old_curr_query);

$sql_data_array = array ('currency' => xtc_db_prepare_input($curr['code']));
xtc_db_perform(TABLE_ORDERS, $sql_data_array, 'update', 'orders_id = \''.xtc_db_input($_POST['oID']).'\'');

// Produkte
$order_products_query = xtc_db_query("select orders_products_id , products_id, products_price, final_price from ".TABLE_ORDERS_PRODUCTS." where orders_id = '".$_POST['oID']."'");
while ($order_products = xtc_db_fetch_array($order_products_query)) {

if ($old_curr['code'] == DEFAULT_CURRENCY) {

$xtPrice = new xtcPrice($curr['code'], $order->info['status']);

$products_price = $xtPrice->xtcGetPrice($order_products['products_id'], $format = false, '', '', $order_products['products_price'], '', $order->customer['ID']);

$final_price = $xtPrice->xtcGetPrice($order_products['products_id'], $format = false, '', '', $order_products['final_price'], '', $order->customer['ID']);
} else {

$xtPrice = new xtcPrice($old_curr['code'], $order->info['status']);

$p_price = $xtPrice->xtcRemoveCurr($order_products['products_price']);

$f_price = $xtPrice->xtcRemoveCurr($order_products['final_price']);

$xtPrice = new xtcPrice($curr['code'], $order->info['status']);

$products_price = $xtPrice->xtcGetPrice($order_products['products_id'], $format = false, '', '', $p_price, '', $order->customer['ID']);

$final_price = $xtPrice->xtcGetPrice($order_products['products_id'], $format = false, '', '', $f_price, '', $order->customer['ID']);
}
$sql_data_array = array ('products_price' => xtc_db_prepare_input($products_price), 'final_price' => xtc_db_prepare_input($final_price));

xtc_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array, 'update', 'orders_products_id = \''.xtc_db_input($order_products['orders_products_id']).'\'');
};
// Produkte Ende

// OT
$order_total_query = xtc_db_query("select orders_total_id, value from ".TABLE_ORDERS_TOTAL. Anwalt Hamm" where orders_id = '".$_POST['oID']."'");
while ($order_total = xtc_db_fetch_array($order_total_query)) {

if ($old_curr['code'] == DEFAULT_CURRENCY) {

$xtPrice = new xtcPrice($curr['code'], $order->info['status']);

$value = $xtPrice->xtcGetPrice('', $format = false, '', '', $order_total['value'], '', $order->customer['ID']);

} else {

$xtPrice = new xtcPrice($old_curr['code'], $order->info['status']);

$nvalue = $xtPrice->xtcRemoveCurr($order_total['value']);

$xtPrice = new xtcPrice($curr['code'], $order->info['status']);

$value = $xtPrice->xtcGetPrice('', $format = false, '', '', $nvalue, '', $order->customer['ID']);
}

$text = $text = $xtPrice->xtcFormat($value, true);

$sql_data_array = array ('text' => xtc_db_prepare_input($text), 'value' => xtc_db_prepare_input($value));

xtc_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array, 'update', 'orders_total_id = \''.xtc_db_input($order_total['orders_total_id']).'\'');
};
// OT Ende

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=other&oID='.$_POST['oID']));
}

// Währungswechsel Ende

// Löschfunktionen Anfang:

// Löschen eines Artikels aus der Bestellung Anfang:
if ($_GET['action'] == "product_delete") {

xtc_db_query("delete from ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." where orders_products_id = '".xtc_db_input($_POST['opID'])."'");
xtc_db_query("delete from ".TABLE_ORDERS_PRODUCTS." where orders_id = '".xtc_db_input($_POST['oID'])."' and orders_products_id = '".xtc_db_input($_POST['opID'])."'");

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=products&oID='.$_POST['oID']));
}
// Löschen eines Artikels aus der Bestellung Ende:

// Löschen einer Artikeloption aus der Bestellung Anfang:
if ($_GET['action'] == "product_option_delete") {

xtc_db_query("delete from ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." where orders_products_attributes_id = '".xtc_db_input($_POST['opAID'])."'");

$products_query = xtc_db_query("select op.products_id, op.products_quantity, p.products_tax_class_id from ".TABLE_ORDERS_PRODUCTS." op, ".TABLE_PRODUCTS." p where op.orders_products_id = '".$_POST['opID']."' and op.products_id = p.products_id");
$products = xtc_db_fetch_array($products_query);

$products_a_query = xtc_db_query("select options_values_price, price_prefix from ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." where orders_products_id = '".$_POST['opID']."'");
while ($products_a = xtc_db_fetch_array($products_a_query)) {
$options_values_price += $products_a['price_prefix'].$products_a['options_values_price'];
};

$products_old_price = $xtPrice->xtcGetPrice($products['products_id'], $format = false, $products['products_quantity'], '', '', '', $order->customer['ID']);

$products_price = ($products_old_price + $options_values_price);

$price = $xtPrice->xtcGetPrice($products['products_id'], $format = false, $products['products_quantity'], $products['products_tax_class_id'], $products_price, '', $order->customer['ID']);

$final_price = $price $products['products_quantity'];

$sql_data_array = array ('products_price' => xtc_db_prepare_input($price));
$update_sql_data = array ('final_price' => xtc_db_prepare_input($final_price));
$sql_data_array = xtc_array_merge($sql_data_array, $update_sql_data);
xtc_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array, 'update', 'orders_products_id = \''.xtc_db_input($_POST['opID']).'\'');

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=options&oID='.$_POST['oID'].'&pID='.$products['products_id'].'&opID='.$_POST['opID']));
}
// Löschen einer Artikeloptions aus der Bestellung Ende:

// Löschen eines OT Moduls aus der Bestellung Anfang:
if ($_GET['action'] == "ot_delete") {

xtc_db_query("delete from ".TABLE_ORDERS_TOTAL. Anwalt Hamm" where orders_total_id = '".xtc_db_input($_POST['otID'])."'");

xtc_redirect(xtc_href_link(FILENAME_ORDERS_EDIT, 'edit_action=other&oID='.�36;_POST['oID']));
}
// Löschen eines OT Moduls aus der Bestellung Ende:

// Löschfunktionen Ende

// Rückberechnung Anfang

if ($_GET['action'] == "save_order") {

// Errechne neue Zwischensumme für Artikel Anfang
$products_query = xtc_db_query("select SUM(final_price) as subtotal_final from ".TABLE_ORDERS_PRODUCTS." where orders_id = '".$_POST['oID']."' ");
$products = xtc_db_fetch_array($products_query);
$subtotal_final = $products['subtotal_final'];
$subtotal_text = $xtPrice->xtcFormat($subtotal_final, true);

xtc_db_query("update ".TABLE_ORDERS_TOTAL. Anwalt Hamm" set text = '".$subtotal_text."', value = '".$subtotal_final."' where orders_id = '".$_POST['oID']."' and class = 'ot_subtotal' ");
// Errechne neue Zwischensumme für Artikel Ende

// Errechne neue Netto Zwischensumme für Artikel Anfang

$check_no_tax_value_query = xtc_db_query("select count( ) as count from ".TABLE_ORDERS_TOTAL. Anwalt Hamm" where orders_id = '".$_POST['oID']."' and class = 'ot_subtotal_no_tax'");
$check_no_tax_value = xtc_db_fetch_array($check_no_tax_value_query);

if ($check_no_tax_value_query['count'] != '0') {
$subtotal_no_tax_value_query = xtc_db_query("select SUM(value) as subtotal_no_tax_value from ".TABLE_ORDERS_TOTAL. Anwalt Hamm" where orders_id = '".$_POST['oID']."' and class != 'ot_tax' and class != 'ot_total' and class != 'ot_subtotal_no_tax' and class != 'ot_coupon' and class != 'ot_gv'");
$subtotal_no_tax_value = xtc_db_fetch_array($subtotal_no_tax_value_query);
$subtotal_no_tax_final = $subtotal_no_tax_value['subtotal_no_tax_value'];
$subtotal_no_tax_text = $xtPrice->xtcFormat($subtotal_no_tax_final, true);
xtc_db_query("update ".TABLE_ORDERS_TOTAL. Anwalt Hamm" set text = '".$subtotal_no_tax_text."', value = '".$subtotal_no_tax_final."' where orders_id = '".$_POST['oID']."' and class = 'ot_subtotal_no_tax' ");
}

// Errechne neue Netto Zwischensumme für Artikel Anfang

// Errechne neue Zwischensumme für Artikel Anfang
$subtotal_query = xtc_db_query("select SUM(value) as value from ".TABLE_ORDERS_TOTAL. Anwalt Hamm" where orders_id = '".$_POST['oID']."' and class != 'ot_subtotal_no_tax' and class != 'ot_tax' and class != 'ot_total'");
$subtotal = xtc_db_fetch_array($subtotal_query);

$subtotal_final = $subtotal['value'];
$subtotal_text = $xtPrice->xtcFormat($subtotal_final, true);
xtc_db_query("update ".TABLE_ORDERS_TOTAL. Anwalt Hamm" set text = '".$subtotal_text."', value = '".$subtotal_final."' where orders_id = '".$_POST['oID']."' and class = 'ot_total'");
// Errechne neue Zwischensumme f�r Artikel Ende

// Errechne neue MwSt. für die Bestellung Anfang
// Produkte
$products_query = xtc_db_query("select final_price, products_tax, allow_tax from ".TABLE_ORDERS_PRODUCTS." where orders_id = '".$_POST['oID']."' ");
while ($products = xtc_db_fetch_array($products_query)) {

$tax_rate = $products['products_tax'];
$multi = (($products['products_tax'] / 100) + 1);

if ($products['allow_tax'] == '1') {
$bprice = $products['final_price'];
$nprice = $xtPrice->xtcRemoveTax($bprice, $tax_rate);
$tax = $xtPrice->calcTax($nprice, $tax_rate);
} else {
$nprice = $products['final_price'];
$bprice = $xtPrice->xtcAddTax($nprice, $tax_rate);
$tax = $xtPrice->calcTax($nprice, $tax_rate);
}

$sql_data_array = array ('orders_id' => xtc_db_prepare_input($_POST['oID']), 'n_price' => xtc_db_prepare_input($nprice), 'b_price' => xtc_db_prepare_input($bprice), 'tax' => xtc_db_prepare_input($tax), 'tax_rate' => xtc_db_prepare_input($products['products_tax']));

$insert_sql_data = array ('class' => 'products');
$sql_data_array = xtc_array_merge($sql_data_array, $insert_sql_data);
xtc_db_perform(TABLE_ORDERS_RECALCULATE, $sql_data_array);
}
// Produkte Ende

// Module Anfang
$module_query = xtc_db_query("select value, class from ".TABLE_ORDERS_TOTAL. Anwalt Hamm" where orders_id = '".$_POST['oID']."' and class!='ot_total' and class!='ot_subtotal_no_tax' and class!='ot_tax' and class!='ot_subtotal'");
while ($module_value = xtc_db_fetch_array($module_query)) {
;

$module_name = str_replace('ot_', '', $module_value['class']);

if ($module_name != 'discount') {
if ($module_name != 'shipping') {
$module_tax_class = constant(MODULE_ORDER_TOTAL_.strtoupper($module_na me)._TAX_CLASS);
} else {
$module_tmp_name = split('_', $order->info['shipping_class']);
$module_tmp_name = $module_tmp_name[0];
if($module_tmp_name[0]!= 'selfpickup'){
$module_tax_class = constant(MODULE_SHIPPING_.strtoupper($module_tmp_n ame)._TAX_CLASS);
}else{
$module_tax_class = '';
}
}
} else {
$module_tax_class = '0';
}

$cinfo = xtc_oe_customer_infos($order->customer['ID']);
$module_tax_rate = xtc_get_tax_rate($module_tax_class, $cinfo['country_id'], $cinfo['zone_id']);

$status_query = xtc_db_query("select customers_status_show_price_tax from ".TABLE_CUSTOMERS_STATUS." where customers_status_id = '".$order->info['status']."'");
$status = xtc_db_fetch_array($status_query);

if ($status['customers_status_show_price_tax'] == 1) {
$module_b_price = $module_value['value'];
if ($module_tax == '0') {
$module_n_price = $module_value['value'];
} else {
$module_n_price = $xtPrice->xtcRemoveTax($module_b_price, $module_tax_rate);
}
$module_tax = $xtPrice->calcTax($module_n_price, $module_tax_rate);
} else {
$module_n_price = $module_value['value'];
$module_b_price = $xtPrice->xtcAddTax($module_n_price, $module_tax_rate);
$module_tax = $xtPrice->calcTax($module_n_price, $module_tax_rate);
}

$sql_data_array = array ('orders_id' => xtc_db_prepare_input($_POST['oID']), 'n_price' => xtc_db_prepare_input($module_n_price), 'b_price' => xtc_db_prepare_input($module_b_price), 'tax' => xtc_db_prepare_input($module_tax), 'tax_rate' => xtc_db_prepare_input($module_tax_rate));

$insert_sql_data = array ('class' => $module_value['class']);
$sql_data_array = xtc_array_merge($sql_data_array, $insert_sql_data);
xtc_db_perform(TABLE_ORDERS_RECALCULATE, $sql_data_array);
}
// Module Ende

// Alte UST Löschen ANFANG
xtc_db_query("delete from ".TABLE_ORDERS_TOTAL. Anwalt Hamm" where orders_id = '".xtc_db_input($_POST['oID'])."' and class='ot_tax'");
// Alte UST Löschen ENDE

// Neue Mwst. zusammenrechnen Anfang

$ust_query = xtc_db_query("select tax_rate, SUM(tax) as tax_value_new from ".TABLE_ORDERS_RECALCULATE." where orders_id = '".$_POST['oID']."' and tax !='0' GROUP by tax_rate ");
while ($ust = xtc_db_fetch_array($ust_query)) {

$ust_desc_query = xtc_db_query("select tax_description from ".TABLE_TAX_RATES." where tax_rate = '".$ust['tax_rate']."'");
$ust_desc = xtc_db_fetch_array($ust_desc_query);

$title = $ust_desc['tax_description'];

if ($ust['tax_value_new']) {
$text = $xtPrice->xtcFormat($ust['tax_value_new'], true);

$sql_data_array = array ('orders_id' => xtc_db_prepare_input($_POST['oID']), 'title' => xtc_db_prepare_input($title), 'text' => xtc_db_prepare_input($text), 'value' => xtc_db_prepare_input($ust['tax_value_new']), 'class' => 'ot_tax');

$insert_sql_data = array ('sort_order' => MODULE_ORDER_TOTAL_TAX_SORT_ORDER);
$sql_data_array = xtc_array_merge($sql_data_array, $insert_sql_data);
xtc_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array);
}

}

// Neue Mwst. zusammenrechnen Ende

// Löschen des Zwischenspeichers Anfang
xtc_db_query("delete from ".TABLE_ORDERS_RECALCULATE." where orders_id = '".xtc_db_input($_POST['oID'])."'");
// Löschen des Zwischenspeichers Ende

xtc_redirect(xtc_href_link(FILENAME_ORDERS, 'action=edit&oID='.$_POST['oID']));
}
// Rückberechnung Ende

//--------------------------------------------------------------------------------------------------------------------------------------
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Tranistional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>



<table border="0" width="100%" cellspacing="2" cellpadding="2">
<tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

</table></td>

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="pageHeading"><?php echo TABLE_HEADING;?></td>
<td class="pageHeading" align="right"></td>
</tr>
</table></td>
</tr>
<tr>
<td>





<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="main">
[b]
<?php

if ($_GET[

Oliver F.
16.02.2006, 16:42
hast du CAO im Einsatz?
Falls ja hilft Dir das weiter:
http://www.cao-wawi.de/index.php?option=co...iewtopic&t=6983 (http://anonym.to/?http://www.cao-wawi.de/index.php?option=com_forum&Itemid=44&page=viewtopic&t=6983)

voliere.net
16.02.2006, 17:13
ne, cao hab ich noch! nicht im Einsatz. Da bin ich auf nem sep. Server noch am testen, wie ich das mit den Attributen und Stücklisten löse.

thuhn01
01.11.2006, 20:36
''>ZITAT(voliere.net @ Feb 16 2006, 3:50) 198
Folgendes Problem: Ich habe einen Kunden im Adminbereich selbst angelegt. Kunde ist Selbstabholer/ Barzahler: folgende Fehlermeldung erscheint beim klick auf den Button beim Seite speichern (Bestellungsbearbeitung beenden und Bestellung neu berechnen.):

Warning: constant() [function.constant]: Couldn't find constant MODULE_SHIPPING_SELFPICKUP_TAX_CLASS in /home/imkerbi/public_html/voliere-net/catalog/admin/orders_edit.php on line 501

Warning: Cannot modify header information - headers already sent by (output started at /home/imkerbi/public_html/voliere-net/catalog/admin/orders_edit.php:501) in /home/imkerbi/public_html/voliere-net/catalog/admin/includes/functions/general.php on line 130

Das Problem tritt nur bei händisch angelegten Kunden mit Selbstabholung auf. Wenn ich bei bestehenden Kuden die Bestellung im Admin auf Selbstabholung ändere erscheint der Fehler nicht.

304SP1
[/b]

Komisch, müsste eigentlich bei allen auftreten, denn es fehlen in der DB (Bereich configuration) ein paar Einträge:

Führe per MySQL-Query Browser (oder ähnlichem Tool) folgende SQL-Queries aus, dann ist das behoben:


insert into configuration (configuration_key, configuration_value,configuration_group_id,use_fun ction,set_function) values ('MODULE_SHIPPING_SELFPICKUP_TAX_CLASS','0','6','x tc_get_tax_class_title','xtc_cfg_pull_down_tax_cla sses(')

insert into configuration (configuration_key, configuration_value,configuration_group_id,use_fun ction,set_function) values ('MODULE_SHIPPING_FREEAMOUNT_TAX_CLASS','0','6','x tc_get_tax_class_title','xtc_cfg_pull_down_tax_cla sses(')