Jump to content
xt:Commerce Community Forum

djb-side

Members
  • Content Count

    105
  • Joined

  • Last visited

About djb-side

  • Rank
    Erfahrener Benutzer
  1. Hallo, super genau das ist das Problem, jetzt läuft alles rund. @EigenArt Tausend Dank
  2. Hallo zusammen, hab den Bug gemeldet und prompt folgende Antwort zur Lösung des Problems erhalten. Nach der Anpassung werden die Bestellnummern 1 zu 1 übernommen.
  3. Hallo zusammen, hab den Bug gemeldet und prompt folgende Antwort zur Lösung des Problems erhalten. Nach der Anpassung werden die Bestellnummern 1 zu 1 übernommen.
  4. Hallo, bin ich der erste dem das auffällt, das dieses Script die Bestellnummern verdreht? Habe jetzt mühsam meine fehlenden Einträge von 1 bis 711 aufgefüllt, aber das Script dreht es immer noch. Das ist doch ganz klar ein Bug. Please Help
  5. Root User kann man einfach in der "class.phpmailer.php" Zeile 81 ändern. Diese liegt unter \xtFramework\library\phpmailer\
  6. Hallo, das xtMigration Script funktioniert in meinem Fall, bis auf die Übernahme der alten Bestellnummern einwandfrei. Hier habe ich das Problem, das im alten Shop die Bestellnummern auf Grund eines DB Crash erst bei 712 beginnen. Im neuen Shop geht es allerdings nach der Übernahme mit der Bestellnummer 1 los. Wenn ich im neuen noch leeren Shop eine Bestellung eingebe und diese über die DB händisch auf 711 ändere, zählt das Script bei der Übernahme ab 711 hoch. Allerdings läuft das Script bei der zeitlich gesehen letzten Bestellung los und somit werden die Bestellnummern einmal verdreht. Also meine Bestellnummer 712 aus dem alten Shop wird im neuen Shop zur letzten Bestellnummer aus dem alten Shop (z.B. 909) und die letzte Bestellnummer aus dem alten Shop (z.B.909) wird im neuen Shop zur 712. Hat jemand einen Tipp für mich, was im Script geändert werden muss, damit das Script für meinen Fall richtig arbeitet. Ich danke Euch im voraus für die Hilfe. Übernahme von v3.0.4 SP2.1 auf v4.1.00
  7. Hallo, das xtMigration Script funktioniert in meinem Fall, bis auf die Übernahme der alten Bestellnummern einwandfrei. Hier habe ich das Problem, das im alten Shop die Bestellnummern auf Grund eines DB Crash erst bei 712 beginnen. Im neuen Shop geht es allerdings nach der Übernahme mit der Bestellnummer 1 los. Wenn ich im neuen noch leeren Shop eine Bestellung eingebe und diese über die DB händisch auf 711 ändere, zählt das Script bei der Übernahme ab 711 hoch. Allerdings läuft das Script bei der zeitlich gesehen letzten Bestellung los und somit werden die Bestellnummern einmal verdreht. Also meine Bestellnummer 712 aus dem alten Shop wird im neuen Shop zur letzten Bestellnummer aus dem alten Shop (z.B. 909) und die letzte Bestellnummer aus dem alten Shop (z.B.909) wird im neuen Shop zur 712. Hat jemand einen Tipp für mich, was im Script geändert werden muss, damit das Script für meinen Fall richtig arbeitet. Ich danke Euch im voraus für die Hilfe. Übernahme von v3.0.4 SP2.1 auf v4.1.00
  8. früher würde einem hier geholfen, scheint leider nicht mehr der fall zu sein.
  9. Hallo zusammen, ich hab xtc 3.04 SP2 neu installiert, würde nun aber gerne die Artikelbild-Ordner einer vorherigen Installation nutzen (Server Hauptebene Ordner= images). Die alten Bilder bekomme ich auch angezeigt, allerdings speichert xtc die Bilder neuer Artikel in den neuen Bilder-Ordner (unter dem Ordner= shop09/images) was muss ich in der config einschreiben, das auch die neuen Bilder in den alten Ordner gespeichert werden? meine aktuelle Admin configure.php: define('HTTP_SERVER', 'http://blabla.de'); // eg, http://localhost or - https://localhost should not be empty for productive servers define('HTTP_CATALOG_SERVER', 'http://blabla.de'); define('HTTPS_CATALOG_SERVER', 'https://blabla.de'); define('ENABLE_SSL_CATALOG', 'false'); // secure webserver for catalog module define('DIR_FS_DOCUMENT_ROOT', '/var/www/web666/html/shop09/'); // where the pages are located on the server define('DIR_WS_ADMIN', '/shop09/admin/'); // absolute path required define('DIR_FS_ADMIN', '/var/www/web666/html/shop09/admin/'); // absolute pate required define('DIR_WS_CATALOG', '/shop09/'); // absolute path required define('DIR_FS_CATALOG', '/var/www/web666/html/shop09/'); // absolute path required define('DIR_WS_IMAGES', './/images/'); define('DIR_FS_CATALOG_IMAGES', DIR_FS_CATALOG . 'images/'); define('DIR_FS_CATALOG_ORIGINAL_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/original_images/'); define('DIR_FS_CATALOG_THUMBNAIL_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/thumbnail_images/'); define('DIR_FS_CATALOG_INFO_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/info_images/'); define('DIR_FS_CATALOG_POPUP_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/popup_images/'); define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/'); define('DIR_WS_CATALOG_IMAGES', DIR_WS_CATALOG . './/images/'); define('DIR_WS_CATALOG_ORIGINAL_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/original_images/'); define('DIR_WS_CATALOG_THUMBNAIL_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/thumbnail_images/'); define('DIR_WS_CATALOG_INFO_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/info_images/'); define('DIR_WS_CATALOG_POPUP_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/popup_images/'); [/PHP]Danke für Eure Hilfe! greetz bside
  10. denke mal das er schon wissen möchte warum ein server ständig aussteigt und in den log files wird sicher sowas festgehalten!? oder nicht?
  11. Hallo zusammen, ich hoffe mir kann jemand weiterhelfen! Wir betreiben einen xtc shop 3.04. Ca. 2-3Wochen nach einen Serverumzug meldet sich der Hoster bei mir, da wohl solche massiven Zugriffe auf die Datenbank (FSK18) stattfinden, die den Server zum absturz bringen würden. Das merkwürdige daran ist, in dem Shop ist nicht ein FSK18 Artikel angelegt, kann irgendjemand sagen woher dieser Zugriffe kommen? Vorab schon mal tausend danke für schnelle Hilfe! MfG A.B.
  12. keiner eine Idee? ich vermute mal der Fehler liegt in der order.php, aber da er mir garkeine Fehler-Meldung bringt, weiß ich nicht was ich machen kann! hier mal meine order.php <?php /* ----------------------------------------------------------------------------------------- $Id: order.php,v 1.11 2004/04/25 13:58:08 fanta2k Exp $ XT-Commerce - community made shopping [URL="http://www.xt-commerce.com/"]http://www.xt-commerce.com[/URL] Copyright (c) 2003 XT-Commerce ----------------------------------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce(order.php,v 1.32 2003/02/26); [URL="http://www.oscommerce.com/"]www.oscommerce.com[/URL] (c) 2003 nextcommerce (order.php,v 1.28 2003/08/18); [URL="http://www.nextcommerce.org/"]www.nextcommerce.org[/URL] Released under the GNU General Public License ----------------------------------------------------------------------------------------- Third Party contribution: Credit Class/Gift Vouchers/Discount Coupons (Version 5.10) [URL]http://www.oscommerce.com/community/contributions,282[/URL] Copyright (c) Strider | [EMAIL="[email protected]"][email protected][/EMAIL] Copyright (c Nick Stanko of UkiDev.com, [EMAIL="[email protected]"][email protected][/EMAIL] Copyright (c) Andre [EMAIL="[email protected]"][email protected][/EMAIL] Copyright (c) 2001,2002 Ian C Wilson [URL="http://www.phesis.org/"]http://www.phesis.org[/URL] credit card encryption functions for the catalog module BMC 2003 for the CC CVV Module Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ // include needed functions require_once(DIR_FS_INC . 'xtc_date_long.inc.php'); require_once(DIR_FS_INC . 'xtc_address_format.inc.php'); require_once(DIR_FS_INC . 'xtc_get_country_name.inc.php'); require_once(DIR_FS_INC . 'xtc_get_countries.inc.php'); require_once(DIR_FS_INC . 'xtc_get_zone_code.inc.php'); require_once(DIR_FS_INC . 'xtc_get_tax_description.inc.php'); class order { var $info, $totals, $products, $customer, $delivery, $content_type; function order($order_id = '',$Price) { $this->info = array(); $this->totals = array(); $this->products = array(); $this->customer = array(); $this->delivery = array(); $this->Price=$Price; if (xtc_not_null($order_id)) { $this->query($order_id); } else { $this->cart(); } } function query($order_id) { $order_id = xtc_db_prepare_input($order_id); $order_query = xtc_db_query("select customers_id, customers_cid, customers_name, customers_company, customers_street_address, customers_suburb, customers_city, customers_postcode, customers_state, customers_country, customers_telephone, customers_email_address, customers_address_format_id, delivery_name, delivery_company, delivery_street_address, delivery_suburb, delivery_city, delivery_postcode, delivery_state, delivery_country, delivery_address_format_id, billing_name, billing_company, billing_street_address, billing_suburb, billing_city, billing_postcode, billing_state, billing_country, billing_address_format_id, payment_method, cc_type, cc_owner, cc_number, cc_expires, cc_cvv, cc_start, cc_issue, currency, comments, currency_value, date_purchased, orders_status, last_modified from " . TABLE_ORDERS . " where orders_id = '" . xtc_db_input($order_id) . "'"); $order = xtc_db_fetch_array($order_query); $totals_query = xtc_db_query("select title, text,value from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . xtc_db_input($order_id) . "' order by sort_order"); while ($totals = xtc_db_fetch_array($totals_query)) { $this->totals[] = array('title' => $totals['title'], 'text' =>$totals['text'], 'value'=>$totals['value']); } $order_total_query = xtc_db_query("select text from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_total'"); $order_total = xtc_db_fetch_array($order_total_query); $shipping_method_query = xtc_db_query("select title from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_shipping'"); $shipping_method = xtc_db_fetch_array($shipping_method_query); $order_status_query = xtc_db_query("select orders_status_name from " . TABLE_ORDERS_STATUS . " where orders_status_id = '" . $order['orders_status'] . "' and language_id = '" . $_SESSION['languages_id'] . "'"); $order_status = xtc_db_fetch_array($order_status_query); $this->info = array('currency' => $order['currency'], 'currency_value' => $order['currency_value'], 'payment_method' => $order['payment_method'], 'cc_type' => $order['cc_type'], 'cc_owner' => $order['cc_owner'], 'cc_number' => $order['cc_number'], 'cc_expires' => $order['cc_expires'], // BMC CC Mod Start 'cc_start' => $order['cc_start'], 'cc_issue' => $order['cc_issue'], 'cc_cvv' => $order['cc_cvv'], // BMC CC Mod End 'date_purchased' => $order['date_purchased'], 'orders_status' => $order_status['orders_status_name'], 'last_modified' => $order['last_modified'], 'total' => strip_tags($order_total['text']), 'shipping_method' => ((substr($shipping_method['title'], -1) == ':') ? substr(strip_tags($shipping_method['title']), 0, -1) : strip_tags($shipping_method['title'])), 'comments' => $order['comments'] ); $this->customer = array('id' => $order['customers_id'], 'name' => $order['customers_name'], 'csID' => $order['customers_cid'], 'company' => $order['customers_company'], 'street_address' => $order['customers_street_address'], 'suburb' => $order['customers_suburb'], 'city' => $order['customers_city'], 'postcode' => $order['customers_postcode'], 'state' => $order['customers_state'], 'country' => $order['customers_country'], 'format_id' => $order['customers_address_format_id'], 'telephone' => $order['customers_telephone'], 'email_address' => $order['customers_email_address']); $this->delivery = array('name' => $order['delivery_name'], 'company' => $order['delivery_company'], 'street_address' => $order['delivery_street_address'], 'suburb' => $order['delivery_suburb'], 'city' => $order['delivery_city'], 'postcode' => $order['delivery_postcode'], 'state' => $order['delivery_state'], 'country' => $order['delivery_country'], 'format_id' => $order['delivery_address_format_id']); if (empty($this->delivery['name']) && empty($this->delivery['street_address'])) { $this->delivery = false; } $this->billing = array('name' => $order['billing_name'], 'company' => $order['billing_company'], 'street_address' => $order['billing_street_address'], 'suburb' => $order['billing_suburb'], 'city' => $order['billing_city'], 'postcode' => $order['billing_postcode'], 'state' => $order['billing_state'], 'country' => $order['billing_country'], 'format_id' => $order['billing_address_format_id']); $index = 0; $orders_products_query = xtc_db_query("select orders_products_id, products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . xtc_db_input($order_id) . "'"); while ($orders_products = xtc_db_fetch_array($orders_products_query)) { $this->products[$index] = array('qty' => $orders_products['products_quantity'], 'id' => $orders_products['products_id'], 'name' => $orders_products['products_name'], 'model' => $orders_products['products_model'], 'tax' => $orders_products['products_tax'], 'price'=>$orders_products['products_price'], 'final_price' => $orders_products['final_price']); $subindex = 0; $attributes_query = xtc_db_query("select products_options, products_options_values, options_values_price, price_prefix from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . xtc_db_input($order_id) . "' and orders_products_id = '" . $orders_products['orders_products_id'] . "'"); if (xtc_db_num_rows($attributes_query)) { while ($attributes = xtc_db_fetch_array($attributes_query)) { $this->products[$index]['attributes'][$subindex] = array('option' => $attributes['products_options'], 'value' => $attributes['products_options_values'], 'prefix' => $attributes['price_prefix'], 'price' => $attributes['options_values_price']); $subindex++; } } $this->info['tax_groups']["{$this->products[$index]['tax']}"] = '1'; $index++; } } function cart() { global $currencies; $this->content_type = $_SESSION['cart']->get_content_type(); $customer_address_query = xtc_db_query("select c.customers_firstname,c.customers_cid, c.customers_gender,c.customers_lastname, c.customers_telephone, c.customers_email_address, ab.entry_company, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, co.countries_id, co.countries_name, co.countries_iso_code_2, co.countries_iso_code_3, co.address_format_id, ab.entry_state from " . TABLE_CUSTOMERS . " c, " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " co on (ab.entry_country_id = co.countries_id) where c.customers_id = '" . $_SESSION['customer_id'] . "' and ab.customers_id = '" . $_SESSION['customer_id'] . "' and c.customers_default_address_id = ab.address_book_id"); $customer_address = xtc_db_fetch_array($customer_address_query); $shipping_address_query = xtc_db_query("select ab.entry_firstname, ab.entry_lastname, ab.entry_company, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, ab.entry_country_id, c.countries_id, c.countries_name, c.countries_iso_code_2, c.countries_iso_code_3, c.address_format_id, ab.entry_state from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " c on (ab.entry_country_id = c.countries_id) where ab.customers_id = '" . $_SESSION['customer_id'] . "' and ab.address_book_id = '" . $_SESSION['sendto'] . "'"); $shipping_address = xtc_db_fetch_array($shipping_address_query); $billing_address_query = xtc_db_query("select ab.entry_firstname, ab.entry_lastname, ab.entry_company, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, ab.entry_country_id, c.countries_id, c.countries_name, c.countries_iso_code_2, c.countries_iso_code_3, c.address_format_id, ab.entry_state from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " c on (ab.entry_country_id = c.countries_id) where ab.customers_id = '" . $_SESSION['customer_id'] . "' and ab.address_book_id = '" . $_SESSION['billto'] . "'"); $billing_address = xtc_db_fetch_array($billing_address_query); $tax_address_query = xtc_db_query("select ab.entry_country_id, ab.entry_zone_id from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) where ab.customers_id = '" . $_SESSION['customer_id'] . "' and ab.address_book_id = '" . ($this->content_type == 'virtual' ? $_SESSION['billto'] : $_SESSION['sendto']) . "'"); $tax_address = xtc_db_fetch_array($tax_address_query); $this->info = array('order_status' => DEFAULT_ORDERS_STATUS_ID, 'currency' => $_SESSION['currency'], 'currency_value' => $currencies->currencies[$_SESSION['currency']]['value'], 'payment_method' => $_SESSION['payment'], 'cc_type' => $GLOBALS['cc_type'], 'cc_owner' => $GLOBALS['cc_owner'], 'cc_number' => $GLOBALS['cc_number'], 'cc_expires' => $GLOBALS['cc_expires'], // BMC CC Mod Start 'cc_start' => (isset($GLOBALS['cc_start']) ? $GLOBALS['cc_start'] : ''), 'cc_issue' => (isset($GLOBALS['cc_issue']) ? $GLOBALS['cc_issue'] : ''), 'cc_cvv' => (isset($GLOBALS['cc_cvv']) ? $GLOBALS['cc_cvv'] : ''), // BMC CC Mod End 'shipping_method' => $_SESSION['shipping']['title'], 'shipping_cost' => $_SESSION['shipping']['cost'], 'comments' => $_SESSION['comments'], //'shipping_class'=>$_SESSION['shipping']['id'], 'shipping_class' => ( (strpos($shipping['id'],'_') > 0) ? substr( strrev( strchr(strrev($shipping['id']),'_') ),0,-1) : $shipping['id'] ), 'payment_class' => $_SESSION['payment'], ); if (isset($_SESSION['payment']) && is_object($_SESSION['payment'])) { $this->info['payment_method'] = $_SESSION['payment']->title; $this->info['payment_class'] = $_SESSION['payment']->title; if ( isset($_SESSION['payment']->order_status) && is_numeric($_SESSION['payment']->order_status) && ($_SESSION['payment']->order_status > 0) ) { $this->info['order_status'] = $_SESSION['payment']->order_status; } } $this->customer = array('firstname' => $customer_address['customers_firstname'], 'lastname' => $customer_address['customers_lastname'], 'csID' => $customer_address['customers_cid'], 'gender' => $customer_address['customers_gender'], 'company' => $customer_address['entry_company'], 'street_address' => $customer_address['entry_street_address'], 'suburb' => $customer_address['entry_suburb'], 'city' => $customer_address['entry_city'], 'postcode' => $customer_address['entry_postcode'], 'state' => ((xtc_not_null($customer_address['entry_state'])) ? $customer_address['entry_state'] : $customer_address['zone_name']), 'zone_id' => $customer_address['entry_zone_id'], 'country' => array('id' => $customer_address['countries_id'], 'title' => $customer_address['countries_name'], 'iso_code_2' => $customer_address['countries_iso_code_2'], 'iso_code_3' => $customer_address['countries_iso_code_3']), 'format_id' => $customer_address['address_format_id'], 'telephone' => $customer_address['customers_telephone'], 'email_address' => $customer_address['customers_email_address']); $this->delivery = array('firstname' => $shipping_address['entry_firstname'], 'lastname' => $shipping_address['entry_lastname'], 'company' => $shipping_address['entry_company'], 'street_address' => $shipping_address['entry_street_address'], 'suburb' => $shipping_address['entry_suburb'], 'city' => $shipping_address['entry_city'], 'postcode' => $shipping_address['entry_postcode'], 'state' => ((xtc_not_null($shipping_address['entry_state'])) ? $shipping_address['entry_state'] : $shipping_address['zone_name']), 'zone_id' => $shipping_address['entry_zone_id'], 'country' => array('id' => $shipping_address['countries_id'], 'title' => $shipping_address['countries_name'], 'iso_code_2' => $shipping_address['countries_iso_code_2'], 'iso_code_3' => $shipping_address['countries_iso_code_3']), 'country_id' => $shipping_address['entry_country_id'], 'format_id' => $shipping_address['address_format_id']); $this->billing = array('firstname' => $billing_address['entry_firstname'], 'lastname' => $billing_address['entry_lastname'], 'company' => $billing_address['entry_company'], 'street_address' => $billing_address['entry_street_address'], 'suburb' => $billing_address['entry_suburb'], 'city' => $billing_address['entry_city'], 'postcode' => $billing_address['entry_postcode'], 'state' => ((xtc_not_null($billing_address['entry_state'])) ? $billing_address['entry_state'] : $billing_address['zone_name']), 'zone_id' => $billing_address['entry_zone_id'], 'country' => array('id' => $billing_address['countries_id'], 'title' => $billing_address['countries_name'], 'iso_code_2' => $billing_address['countries_iso_code_2'], 'iso_code_3' => $billing_address['countries_iso_code_3']), 'country_id' => $billing_address['entry_country_id'], 'format_id' => $billing_address['address_format_id']); $index = 0; $products = $_SESSION['cart']->get_products(); for ($i=0, $n=sizeof($products); $i<$n; $i++) { $products_price=$this->Price->xtcGetPrice($products[$i]['id'], $format=false, $products[$i]['quantity'], $products[$i]['tax_class_id'], '')+$this->Price->xtcFormat($_SESSION['cart']->attributes_price($products[$i]['id']),false); $this->products[$index] = array('qty' => $products[$i]['quantity'], 'name' => $products[$i]['name'], 'model' => $products[$i]['model'], 'tax_class_id'=> $products[$i]['tax_class_id'], 'tax' => xtc_get_tax_rate($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']), 'tax_description' => xtc_get_tax_description($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']), 'price' => $products_price , 'final_price' => $products_price*$products[$i]['quantity'], 'weight' => $products[$i]['weight'], 'id' => $products[$i]['id']); if ($products[$i]['attributes']) { $subindex = 0; reset($products[$i]['attributes']); while (list($option, $value) = each($products[$i]['attributes'])) { $attributes_query = xtc_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $products[$i]['id'] . "' and pa.options_id = '" . $option . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $value . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $_SESSION['languages_id'] . "' and poval.language_id = '" . $_SESSION['languages_id'] . "'"); $attributes = xtc_db_fetch_array($attributes_query); $this->products[$index]['attributes'][$subindex] = array('option' => $attributes['products_options_name'], 'value' => $attributes['products_options_values_name'], 'option_id' => $option, 'value_id' => $value, 'prefix' => $attributes['price_prefix'], 'price' => $attributes['options_values_price']); $subindex++; } } $shown_price = $this->products[$index]['final_price']; $this->info['subtotal'] += $shown_price; if ($_SESSION['customers_status']['customers_status_ot_discount_flag'] == 1){ $shown_price_tax = $shown_price-($shown_price/100 * $_SESSION['customers_status']['customers_status_ot_discount']); } $products_tax = $this->products[$index]['tax']; $products_tax_description = $this->products[$index]['tax_description']; if ($_SESSION['customers_status']['customers_status_show_price_tax'] == '1') { if ($_SESSION['customers_status']['customers_status_ot_discount_flag'] == 1) { $this->info['tax'] += $shown_price_tax - ($shown_price_tax / (($products_tax < 10) ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax))); $this->info['tax_groups'][TAX_ADD_TAX."$products_tax_description"] += (($shown_price_tax /(100+$products_tax)) * $products_tax); } else { $this->info['tax'] += $shown_price - ($shown_price / (($products_tax < 10) ? "1.0" . str_replace('.', '', $products_tax) : "1." . str_replace('.', '', $products_tax))); $this->info['tax_groups'][TAX_ADD_TAX . "$products_tax_description"] += (($shown_price /(100+$products_tax)) * $products_tax); } } else { if ($_SESSION['customers_status']['customers_status_ot_discount_flag'] == 1) { $this->info['tax'] += ($shown_price_tax/100) * ($products_tax); $this->info['tax_groups'][TAX_NO_TAX . "$products_tax_description"] += ($shown_price_tax/100) * ($products_tax); } else { $this->info['tax'] += ($shown_price/100) * ($products_tax); $this->info['tax_groups'][TAX_NO_TAX . "$products_tax_description"] += ($shown_price/100) * ($products_tax); } } $index++; } if ($_SESSION['customers_status']['customers_status_show_price_tax'] == '0') { $this->info['total'] = $this->info['subtotal'] + $this->Price->xtcFormat($this->info['shipping_cost'], false,0,true); if ($_SESSION['customers_status']['customers_status_ot_discount_flag'] == '1') { $this->info['total'] -= ($this->info['subtotal'] /100 * $_SESSION['customers_status']['customers_status_ot_discount']); } } else { $this->info['total'] = $this->info['subtotal'] + $this->Price->xtcFormat($this->info['shipping_cost'],false,0,true); if ($_SESSION['customers_status']['customers_status_ot_discount_flag'] == '1') { $this->info['total'] -= ($this->info['subtotal'] /100 * $_SESSION['customers_status']['customers_status_ot_discount']); } } } } ?> und hier meine checkout_process.php: <?php /* ----------------------------------------------------------------------------------------- $Id: checkout_process.php,v 1.10 2004/03/25 08:36:06 fanta2k Exp $ XT-Commerce - community made shopping [URL="http://www.xt-commerce.com/"]http://www.xt-commerce.com[/URL] Copyright (c) 2003 XT-Commerce ----------------------------------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce(checkout_process.php,v 1.128 2003/05/28); [URL="http://www.oscommerce.com/"]www.oscommerce.com[/URL] (c) 2003 nextcommerce (checkout_process.php,v 1.30 2003/08/24); [URL="http://www.nextcommerce.org/"]www.nextcommerce.org[/URL] Released under the GNU General Public License ---------------------------------------------------------------------------------------- Third Party contribution: Customers Status v3.x (c) 2002-2003 Copyright Elari [EMAIL="[email protected]"][email protected][/EMAIL] | [URL="http://www.unlockgsm.com/dload-osc/"]www.unlockgsm.com/dload-osc/[/URL] | CVS : [URL]http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/elari/?sortby=date#dirlist[/URL] Credit Class/Gift Vouchers/Discount Coupons (Version 5.10) [URL]http://www.oscommerce.com/community/contributions,282[/URL] Copyright (c) Strider | [EMAIL="[email protected]"][email protected][/EMAIL] Copyright (c Nick Stanko of UkiDev.com, [EMAIL="[email protected]"][email protected][/EMAIL] Copyright (c) Andre [EMAIL="[email protected]"][email protected][/EMAIL] Copyright (c) 2001,2002 Ian C Wilson [URL="http://www.phesis.org/"]http://www.phesis.org[/URL] Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ include( 'includes/application_top.php'); // include needed functions require_once(DIR_FS_INC . 'xtc_calculate_tax.inc.php'); require_once(DIR_FS_INC . 'xtc_address_label.inc.php'); require_once(DIR_FS_INC . 'changedatain.inc.php'); // initialize smarty $smarty = new Smarty; // if the customer is not logged on, redirect them to the login page if (!isset($_SESSION['customer_id'])) { //$_SESSION['navigation']->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT)); xtc_redirect(xtc_href_link(FILENAME_LOGIN, '', 'SSL')); } if ($_SESSION['customers_status']['customers_status_show_price'] !='1'){ xtc_redirect(xtc_href_link(FILENAME_DEFAULT, '', '')); } if (!isset($_SESSION['sendto'])) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } if ( (xtc_not_null(MODULE_PAYMENT_INSTALLED)) && (!isset($_SESSION['payment'])) ) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } // avoid hack attempts during the checkout procedure by checking the internal cartID if (isset($_SESSION['cart']->cartID) && isset($_SESSION['cartID'])) { if ($_SESSION['cart']->cartID != $_SESSION['cartID']) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); } } // load selected payment module require(DIR_WS_CLASSES . 'payment.php'); if (isset($_SESSION['credit_covers'])) $_SESSION['payment']=''; //ICW added for CREDIT CLASS $payment_modules = new payment($_SESSION['payment']); // load the selected shipping module require(DIR_WS_CLASSES . 'shipping.php'); $shipping_modules = new shipping($_SESSION['shipping']); require(DIR_WS_CLASSES . 'order.php'); $order = new order('',&$xtPrice); // load the before_process function from the payment modules $payment_modules->before_process(); require(DIR_WS_CLASSES . 'order_total.php'); $order_total_modules = new order_total(&$xtPrice); $order_totals = $order_total_modules->process(); // BMC CC Mod Start if ( strtolower(CC_ENC) == 'true' ) { $key = changeme; $plain_data = $order->info['cc_number']; $order->info['cc_number'] = changedatain($plain_data,$key); } // BMC CC Mod End if ($_SESSION['customers_status']['customers_status_ot_discount_flag']==1) { $discount=$_SESSION['customers_status']['customers_status_ot_discount']; } else { $discount='0.00'; } if($_SERVER["HTTP_X_FORWARDED_FOR"]){ $customers_ip=$_SERVER["HTTP_X_FORWARDED_FOR"]; } else { $customers_ip=$_SERVER["REMOTE_ADDR"]; } if ($_SESSION['credit_covers']!='1') { $sql_data_array = array('customers_id' => $_SESSION['customer_id'], 'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'], 'customers_cid' => $order->customer['csID'], 'customers_vat_id' => $_SESSION['customer_vat_id'], 'customers_company' => $order->customer['company'], 'customers_status' => $_SESSION['customers_status']['customers_status_id'], 'customers_status_name' => $_SESSION['customers_status']['customers_status_name'], 'customers_status_image' => $_SESSION['customers_status']['customers_status_image'], 'customers_status_discount' => $discount, 'customers_street_address' => $order->customer['street_address'], 'customers_suburb' => $order->customer['suburb'], 'customers_city' => $order->customer['city'], 'customers_postcode' => $order->customer['postcode'], 'customers_state' => $order->customer['state'], 'customers_country' => $order->customer['country']['title'], 'customers_telephone' => $order->customer['telephone'], 'customers_email_address' => $order->customer['email_address'], 'customers_address_format_id' => $order->customer['format_id'], 'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'], 'delivery_firstname' => $order->delivery['firstname'], //JAN 'delivery_lastname' => $order->delivery['lastname'], //JAN 'delivery_company' => $order->delivery['company'], 'delivery_street_address' => $order->delivery['street_address'], 'delivery_suburb' => $order->delivery['suburb'], 'delivery_city' => $order->delivery['city'], 'delivery_postcode' => $order->delivery['postcode'], 'delivery_state' => $order->delivery['state'], 'delivery_country' => $order->delivery['country']['title'], 'delivery_country_iso_code_2' => $order->delivery['country']['iso_code_2'], //JAN 'delivery_address_format_id' => $order->delivery['format_id'], 'billing_name' => $order->billing['firstname'] . ' ' . $order->billing['lastname'], 'billing_firstname' => $order->billing['firstname'], //JAN 'billing_lastname' => $order->billing['lastname'], //JAN 'billing_company' => $order->billing['company'], 'billing_street_address' => $order->billing['street_address'], 'billing_suburb' => $order->billing['suburb'], 'billing_city' => $order->billing['city'], 'billing_postcode' => $order->billing['postcode'], 'billing_state' => $order->billing['state'], 'billing_country' => $order->billing['country']['title'], 'billing_address_format_id' => $order->billing['format_id'], 'payment_method' => $order->info['payment_method'], 'payment_class' => $order->info['payment_class'], 'shipping_method' => $order->info['shipping_method'], 'shipping_class' => $order->info['shipping_class'], 'billing_country_iso_code_2' => $order->billing['country']['iso_code_2'], //JAN 'cc_type' => $order->info['cc_type'], 'cc_owner' => $order->info['cc_owner'], 'cc_number' => $order->info['cc_number'], 'cc_expires' => $order->info['cc_expires'], // BMC CC Mod Start 'cc_start' => $order->info['cc_start'], 'cc_cvv' => $order->info['cc_cvv'], 'cc_issue' => $order->info['cc_issue'], // BMC CC Mod End 'date_purchased' => 'now()', 'orders_status' => $order->info['order_status'], 'currency' => $order->info['currency'], 'currency_value' => $order->info['currency_value'], 'customers_ip' => $customers_ip, 'language'=>$_SESSION['language'], 'comments' => $order->info['comments']); } else { // free gift , no paymentaddress $sql_data_array = array('customers_id' => $_SESSION['customer_id'], 'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'], 'customers_cid' => $order->customer['csID'], 'customers_vat_id' => $_SESSION['customer_vat_id'], 'customers_company' => $order->customer['company'], 'customers_status' => $_SESSION['customers_status']['customers_status_id'], 'customers_status_name' => $_SESSION['customers_status']['customers_status_name'], 'customers_status_image' => $_SESSION['customers_status']['customers_status_image'], 'customers_status_discount' => $discount, 'customers_street_address' => $order->customer['street_address'], 'customers_suburb' => $order->customer['suburb'], 'customers_city' => $order->customer['city'], 'customers_postcode' => $order->customer['postcode'], 'customers_state' => $order->customer['state'], 'customers_country' => $order->customer['country']['title'], 'customers_telephone' => $order->customer['telephone'], 'customers_email_address' => $order->customer['email_address'], 'customers_address_format_id' => $order->customer['format_id'], 'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'], 'delivery_company' => $order->delivery['company'], 'delivery_street_address' => $order->delivery['street_address'], 'delivery_suburb' => $order->delivery['suburb'], 'delivery_city' => $order->delivery['city'], 'delivery_postcode' => $order->delivery['postcode'], 'delivery_state' => $order->delivery['state'], 'delivery_country' => $order->delivery['country']['title'], 'delivery_address_format_id' => $order->delivery['format_id'], 'payment_method' => $order->info['payment_method'], 'payment_class' => $order->info['payment_class'], 'shipping_method' => $order->info['shipping_method'], 'shipping_class' => $order->info['shipping_class'], 'cc_type' => $order->info['cc_type'], 'cc_owner' => $order->info['cc_owner'], 'cc_number' => $order->info['cc_number'], 'cc_expires' => $order->info['cc_expires'], 'date_purchased' => 'now()', 'orders_status' => $order->info['order_status'], 'currency' => $order->info['currency'], 'currency_value' => $order->info['currency_value'], 'customers_ip' => $customers_ip, 'comments' => $order->info['comments']); } xtc_db_perform(TABLE_ORDERS, $sql_data_array); $insert_id = xtc_db_insert_id(); for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { $sql_data_array = array('orders_id' => $insert_id, 'title' => $order_totals[$i]['title'], 'text' => $order_totals[$i]['text'], 'value' => $order_totals[$i]['value'], 'class' => $order_totals[$i]['code'], 'sort_order' => $order_totals[$i]['sort_order']); xtc_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array); } $customer_notification = (SEND_EMAILS == 'true') ? '1' : '0'; $sql_data_array = array('orders_id' => $insert_id, 'orders_status_id' => $order->info['order_status'], 'date_added' => 'now()', 'customer_notified' => $customer_notification, 'comments' => $order->info['comments']); xtc_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array); // initialized for the email confirmation $products_ordered = ''; $products_ordered_html = ''; $subtotal = 0; $total_tax = 0; for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { // Stock Update - Joao Correia if (STOCK_LIMITED == 'true') { if (DOWNLOAD_ENABLED == 'true') { $stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES . " pa ON p.products_id=pa.products_id LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad ON pa.products_attributes_id=pad.products_attributes_id WHERE p.products_id = '" . xtc_get_prid($order->products[$i]['id']) . "'"; // Will work with only one option for downloadable products // otherwise, we have to build the query dynamically with a loop $products_attributes = $order->products[$i]['attributes']; if (is_array($products_attributes)) { $stock_query_raw .= " AND pa.options_id = '" . $products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . $products_attributes[0]['value_id'] . "'"; } $stock_query = xtc_db_query($stock_query_raw); } else { $stock_query = xtc_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . xtc_get_prid($order->products[$i]['id']) . "'"); } if (xtc_db_num_rows($stock_query) > 0) { $stock_values = xtc_db_fetch_array($stock_query); // do not decrement quantities if products_attributes_filename exists if ((DOWNLOAD_ENABLED != 'true') || (!$stock_values['products_attributes_filename'])) { $stock_left = $stock_values['products_quantity'] - $order->products[$i]['qty']; } else { $stock_left = $stock_values['products_quantity']; } xtc_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . xtc_get_prid($order->products[$i]['id']) . "'"); if ( ($stock_left < 1) && (STOCK_ALLOW_CHECKOUT == 'false') ) { xtc_db_query("update " . TABLE_PRODUCTS . " set products_status = '0' where products_id = '" . xtc_get_prid($order->products[$i]['id']) . "'"); } } } // Update products_ordered (for bestsellers list) xtc_db_query("update " . TABLE_PRODUCTS . " set products_ordered = products_ordered + " . sprintf('%d', $order->products[$i]['qty']) . " where products_id = '" . xtc_get_prid($order->products[$i]['id']) . "'"); $sql_data_array = array('orders_id' => $insert_id, 'products_id' => xtc_get_prid($order->products[$i]['id']), 'products_model' => $order->products[$i]['model'], 'products_name' => $order->products[$i]['name'], 'products_price' => $order->products[$i]['price'], 'final_price' => $order->products[$i]['final_price'], 'products_tax' => $order->products[$i]['tax'], 'products_discount_made' => $order->$products[$i]['discount_allowed'], 'products_quantity' => $order->products[$i]['qty'], 'allow_tax' => $_SESSION['customers_status']['customers_status_show_price_tax']); xtc_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array); $order_products_id = xtc_db_insert_id(); // �nderung Specials Quantity Anfang $specials_result = xtc_db_query("SELECT products_id, specials_quantity from " . TABLE_SPECIALS . " WHERE products_id = '" . xtc_get_prid($order->products[$i]['id']) . "' "); if (xtc_db_num_rows($specials_result)) { $spq = xtc_db_fetch_array($specials_result); $new_sp_quantity = ($spq['specials_quantity'] - $order->products[$i]['qty']); if ($new_sp_quantity >= 1){ xtc_db_query("update " . TABLE_SPECIALS . " set specials_quantity = '" . $new_sp_quantity . "' where products_id = '" . xtc_get_prid($order->products[$i]['id']) . "' "); }else{ xtc_db_query("update " . TABLE_SPECIALS . " set status = '0', specials_quantity = '" . $new_sp_quantity . "' where products_id = '" . xtc_get_prid($order->products[$i]['id']) . "' "); } } // �nderung Ende $order_total_modules->update_credit_account($i);// GV Code ICW ADDED FOR CREDIT CLASS SYSTEM //------insert customer choosen option to order-------- $attributes_exist = '0'; $products_ordered_attributes = ''; if (isset($order->products[$i]['attributes'])) { $attributes_exist = '1'; for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) { if (DOWNLOAD_ENABLED == 'true') { $attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount, pad.products_attributes_filename from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa left join " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad on pa.products_attributes_id=pad.products_attributes_id where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $_SESSION['languages_id'] . "' and poval.language_id = '" . $_SESSION['languages_id'] . "'"; $attributes = xtc_db_query($attributes_query); } else { $attributes = xtc_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $_SESSION['languages_id'] . "' and poval.language_id = '" . $_SESSION['languages_id'] . "'"); } // update attribute stock xtc_db_query("UPDATE ".TABLE_PRODUCTS_ATTRIBUTES." set attributes_stock=attributes_stock - '".$order->products[$i]['qty']."' where products_id='".$order->products[$i]['id']."' and options_values_id='".$order->products[$i]['attributes'][$j]['value_id']."' and options_id='".$order->products[$i]['attributes'][$j]['option_id']."' "); $attributes_values = xtc_db_fetch_array($attributes); $sql_data_array = array('orders_id' => $insert_id, 'orders_products_id' => $order_products_id, 'products_options' => $attributes_values['products_options_name'], 'products_options_values' => $attributes_values['products_options_values_name'], 'options_values_price' => $attributes_values['options_values_price'], 'price_prefix' => $attributes_values['price_prefix']); xtc_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array); if ((DOWNLOAD_ENABLED == 'true') && isset($attributes_values['products_attributes_filename']) && xtc_not_null($attributes_values['products_attributes_filename'])) { $sql_data_array = array('orders_id' => $insert_id, 'orders_products_id' => $order_products_id, 'orders_products_filename' => $attributes_values['products_attributes_filename'], 'download_maxdays' => $attributes_values['products_attributes_maxdays'], 'download_count' => $attributes_values['products_attributes_maxcount']); xtc_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array); } } } //------insert customer choosen option eof ---- $total_weight += ($order->products[$i]['qty'] * $order->products[$i]['weight']); $total_tax += xtc_calculate_tax($total_products_price, $products_tax) * $order->products[$i]['qty']; $total_cost += $total_products_price; } // NEW EMAIL configuration ! $order_totals = $order_total_modules->apply_credit(); include('send_order.php'); // load the after_process function from the payment modules $payment_modules->after_process(); $_SESSION['cart']->reset(true); // unregister session variables used during checkout unset($_SESSION['sendto']); unset($_SESSION['billto']); unset($_SESSION['shipping']); unset($_SESSION['payment']); unset($_SESSION['comments']); unset($_SESSION['last_order']); $last_order = $insert_id; //GV Code Start if(isset($_SESSION['credit_covers'])) unset($_SESSION['credit_covers']); $order_total_modules->clear_posts();//ICW ADDED FOR CREDIT CLASS SYSTEM // GV Code End if (!isset($mail_error)) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL')); } else { echo $mail_error; } require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
  13. hallo zusammen, shop version 3.0.3 der shop ist gerade umgezogen, habe bereits einige anpassungen wegen mySQL 5 vornehmen müssen! Jetzt ist noch das Problem, das beim abschicken der Bestellung die "checkout_process.php" einfach weiß bleibt! Im Adminbereicht erscheit die Bestellung, aber der Kunde bekommt keine Mail! Wer kann mir weiter helfen? Liegt das auch an SQL5?
  14. kannst du mir vielleicht mal deine "default.php" schicken? danke
×
×
  • Create New...