// // W. Kaiser Einzelpreis // $order_query = olc_db_query(SELECT . "\n \t\t\t\tproducts_id,\n \t\t\t\torders_products_id,\n \t\t\t\tproducts_model,\n \t\t\t\tproducts_name,\n \t\t\t\tproducts_price,\n \t\t\t\tfinal_price,\n \t\t\t\tproducts_quantity\n \t\t\t\tFROM " . TABLE_ORDERS_PRODUCTS . "\n \t\t\t\tWHERE orders_id='" . $insert_id . APOS); // // W. Kaiser Einzelpreis // $order_data = array(); while ($order_data_values = olc_db_fetch_array($order_query)) { $attributes_query = olc_db_query("SELECT\n \t\t\t\tproducts_options,\n \t\t\t\tproducts_options_values,\n \t\t\t\tprice_prefix,\n \t\t\t\toptions_values_price\n \t\t\t\tFROM " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . "\n\t\t\t\t\t\t\t\tWHERE orders_products_id='" . $order_data_values['orders_products_id'] . APOS); $attributes_data = EMPTY_STRING; $attributes_model = EMPTY_STRING; while ($attributes_data_values = olc_db_fetch_array($attributes_query)) { $products_options_values = $attributes_data_values['products_options_values']; $attributes_data .= HTML_B_START . $attributes_data_values['products_options'] . HTML_B_END . ': ' . $products_options_values . HTML_BR; $attributes_model .= olc_get_attributes_model($order_data_values['products_id'], $products_options_values) . HTML_BR; } // // W. Kaiser Einzelpreis // $order_data[] = array('PRODUCTS_MODEL' => $order_data_values['products_model'], 'PRODUCTS_NAME' => $order_data_values['products_name'], 'PRODUCTS_ATTRIBUTES' => $attributes_data, 'PRODUCTS_ATTRIBUTES_MODEL' => $attributes_model, 'PRODUCTS_PRICE' => olc_format_price($order_data_values['final_price'], $price_special = 1, $calculate_currencies = 0, $show_currencies = 1), 'PRODUCTS_SINGLE_PRICE' => olc_format_price($order_data_values['products_price'], $price_special = 1, $calculate_currencies = 0, $show_currencies = 1), 'PRODUCTS_QTY' => $order_data_values['products_quantity']); } // // W. Kaiser Einzelpreis // // get order_total data $oder_total_query = olc_db_query("\n\tSELECT\n\ttitle,\n\ttext,\n\tsort_order\n\tFROM " . TABLE_ORDERS_TOTAL . "\n\tWHERE\n\torders_id=" . $insert_id . "\n\tORDER BY sort_order ASC"); $order_total = array(); while ($oder_total_values = olc_db_fetch_array($oder_total_query)) { $order_total[] = array('TITLE' => $oder_total_values['title'], 'TEXT' => $oder_total_values['text']); }
require_once DIR_FS_INC . 'olc_format_price_order.inc.php'; $format_id = 'format_id'; $smarty->assign('address_label_customer', olc_address_format($order->customer[$format_id], $order->customer, 1, EMPTY_STRING, HTML_BR)); $smarty->assign('address_label_shipping', olc_address_format($order->delivery[$format_id], $order->delivery, 1, EMPTY_STRING, HTML_BR)); $smarty->assign('address_label_payment', olc_address_format($order->billing[$format_id], $order->billing, 1, EMPTY_STRING, HTML_BR)); $smarty->assign('csID', $order->customer['csID']); // get products data $order_query = olc_db_query("SELECT\n \t\t\t\tproducts_id,\n \t\t\t\torders_products_id,\n \t\t\t\tproducts_model,\n \t\t\t\tproducts_name,\n \t\t\t\tfinal_price,\n \t\t\t\tproducts_quantity\n \t\t\t\tFROM " . TABLE_ORDERS_PRODUCTS . "\n \t\t\t\tWHERE orders_id='" . $oID . APOS); $order_data = array(); while ($order_data_values = olc_db_fetch_array($order_query)) { $attributes_query = olc_db_query("SELECT\n \t\t\t\tproducts_options,\n \t\t\t\tproducts_options_values,\n \t\t\t\tprice_prefix,\n \t\t\t\toptions_values_price\n \t\t\t\tFROM " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . "\n \t\t\t\tWHERE orders_products_id='" . $order_data_values['orders_products_id'] . APOS); $attributes_data = EMPTY_STRING; $attributes_model = EMPTY_STRING; while ($attributes_data_values = olc_db_fetch_array($attributes_query)) { $attributes_data .= HTML_BR . $attributes_data_values['products_options'] . ': ' . $attributes_data_values['products_options_values']; $attributes_model .= HTML_BR . olc_get_attributes_model($order_data_values['products_id'], $attributes_data_values['products_options_values']); } $order_data[] = array('PRODUCTS_MODEL' => $order_data_values['products_model'], 'PRODUCTS_NAME' => $order_data_values['products_name'], 'PRODUCTS_ATTRIBUTES' => $attributes_data, 'PRODUCTS_ATTRIBUTES_MODEL' => $attributes_model, 'PRODUCTS_PRICE' => olc_format_price_order($order_data_values['final_price'], 1, $order->info['currency']), 'PRODUCTS_QTY' => $order_data_values['products_quantity']); } // get order_total data $oder_total_query = olc_db_query("SELECT\n title,\n text,\n class,\n value,\n sort_order\n FROM " . TABLE_ORDERS_TOTAL . "\n WHERE orders_id='" . $oID . "'\n ORDER BY sort_order ASC"); $order_total = array(); while ($oder_total_values = olc_db_fetch_array($oder_total_query)) { $order_total[] = array('TITLE' => $oder_total_values['title'], 'CLASS' => $oder_total_values['class'], 'VALUE' => $oder_total_values['value'], 'TEXT' => $oder_total_values['text']); if ($oder_total_values['class'] = 'ot_total') { $total = $oder_total_values['value']; } } $smarty->assign('oID', $oID); if ($order->info['payment_method'] != EMPTY_STRING && $order->info['payment_method'] != 'no_payment') { include DIR_FS_CATALOG . 'lang/' . SESSION_LANGUAGE . '/modules/payment/' . $order->info['payment_method'] . PHP;
function SendOrders() { global $_GET, $order_total_class; $order_from = olc_db_prepare_input($_GET['order_from']); $order_to = olc_db_prepare_input($_GET['order_to']); $order_status = olc_db_prepare_input($_GET['order_status']); if (defined('SET_TIME_LIMIT')) { @set_time_limit(0); } $schema = '<?xml version="1.0" encoding="' . CHARSET . '"?>' . "\n" . '<ORDER>' . "\n"; $sql = "select * from " . TABLE_ORDERS . " where orders_id >= '" . olc_db_input($order_from) . "'"; if (!isset($order_status) && !isset($order_from)) { $order_status = 1; $sql .= "and orders_status = " . $order_status; } if ($order_status != '') { $sql .= " and orders_status = " . $order_status; } $orders_query = olc_db_query($sql); while ($orders = olc_db_fetch_array($orders_query)) { // Geburtsdatum laden $cust_sql = "select * from " . TABLE_CUSTOMERS . " where customers_id=" . $orders['customers_id']; $cust_query = olc_db_query($cust_sql); if ($cust_query && ($cust_data = olc_db_fetch_array($cust_query))) { $cust_dob = $cust_data['customers_dob']; $cust_gender = $cust_data['customers_gender']; } else { $cust_dob = ''; $cust_gender = ''; } if ($orders['billing_company'] == '') { $orders['billing_company'] = $orders['delivery_company']; } if ($orders['billing_name'] == '') { $orders['billing_name'] = $orders['delivery_name']; } if ($orders['billing_street_address'] == '') { $orders['billing_street_address'] = $orders['delivery_street_address']; } if ($orders['billing_postcode'] == '') { $orders['billing_postcode'] = $orders['delivery_postcode']; } if ($orders['billing_city'] == '') { $orders['billing_city'] = $orders['delivery_city']; } if ($orders['billing_suburb'] == '') { $orders['billing_suburb'] = $orders['delivery_suburb']; } if ($orders['billing_state'] == '') { $orders['billing_state'] = $orders['delivery_state']; } if ($orders['billing_country'] == '') { $orders['billing_country'] = $orders['delivery_country']; } $schema .= '<ORDER_INFO>' . "\n" . '<ORDER_HEADER>' . "\n" . '<ORDER_ID>' . $orders['orders_id'] . '</ORDER_ID>' . "\n" . '<CUSTOMER_ID>' . $orders['customers_id'] . '</CUSTOMER_ID>' . "\n" . '<CUSTOMER_CID>' . $orders['customers_cid'] . '</CUSTOMER_CID>' . "\n" . '<CUSTOMER_GROUP>' . $orders['customers_status'] . '</CUSTOMER_GROUP>' . "\n" . '<ORDER_DATE>' . $orders['date_purchased'] . '</ORDER_DATE>' . "\n" . '<ORDER_STATUS>' . $orders['orders_status'] . '</ORDER_STATUS>' . "\n" . '<ORDER_IP>' . $orders['customers_ip'] . '</ORDER_IP>' . "\n" . '<ORDER_CURRENCY>' . htmlspecialchars($orders['currency']) . '</ORDER_CURRENCY>' . "\n" . '<ORDER_CURRENCY_VALUE>' . $orders['currency_value'] . '</ORDER_CURRENCY_VALUE>' . "\n" . '</ORDER_HEADER>' . "\n" . '<BILLING_ADDRESS>' . "\n" . '<VAT_ID>' . htmlspecialchars($orders['customers_vat_id']) . '</VAT_ID>' . "\n" . '<COMPANY>' . htmlspecialchars($orders['billing_company']) . '</COMPANY>' . "\n" . '<NAME>' . htmlspecialchars($orders['billing_name']) . '</NAME>' . "\n" . '<FIRSTNAME>' . htmlspecialchars($orders['billing_firstname']) . '</FIRSTNAME>' . "\n" . '<LASTNAME>' . htmlspecialchars($orders['billing_lastname']) . '</LASTNAME>' . "\n" . '<STREET>' . htmlspecialchars($orders['billing_street_address']) . '</STREET>' . "\n" . '<POSTCODE>' . htmlspecialchars($orders['billing_postcode']) . '</POSTCODE>' . "\n" . '<CITY>' . htmlspecialchars($orders['billing_city']) . '</CITY>' . "\n" . '<SUBURB>' . htmlspecialchars($orders['billing_suburb']) . '</SUBURB>' . "\n" . '<STATE>' . htmlspecialchars($orders['billing_state']) . '</STATE>' . "\n" . '<COUNTRY>' . htmlspecialchars($orders['billing_country_iso_code_2']) . '</COUNTRY>' . "\n" . '<TELEPHONE>' . htmlspecialchars($orders['customers_telephone']) . '</TELEPHONE>' . "\n" . '<EMAIL>' . htmlspecialchars($orders['customers_email_address']) . '</EMAIL>' . "\n" . '<BIRTHDAY>' . htmlspecialchars($cust_dob) . '</BIRTHDAY>' . "\n" . '<GENDER>' . htmlspecialchars($cust_gender) . '</GENDER>' . "\n" . '</BILLING_ADDRESS>' . "\n" . '<DELIVERY_ADDRESS>' . "\n" . '<COMPANY>' . htmlspecialchars($orders['delivery_company']) . '</COMPANY>' . "\n" . '<NAME>' . htmlspecialchars($orders['delivery_name']) . '</NAME>' . "\n" . '<FIRSTNAME>' . htmlspecialchars($orders['delivery_firstname']) . '</FIRSTNAME>' . "\n" . '<LASTNAME>' . htmlspecialchars($orders['delivery_lastname']) . '</LASTNAME>' . "\n" . '<STREET>' . htmlspecialchars($orders['delivery_street_address']) . '</STREET>' . "\n" . '<POSTCODE>' . htmlspecialchars($orders['delivery_postcode']) . '</POSTCODE>' . "\n" . '<CITY>' . htmlspecialchars($orders['delivery_city']) . '</CITY>' . "\n" . '<SUBURB>' . htmlspecialchars($orders['delivery_suburb']) . '</SUBURB>' . "\n" . '<STATE>' . htmlspecialchars($orders['delivery_state']) . '</STATE>' . "\n" . '<COUNTRY>' . htmlspecialchars($orders['delivery_country_iso_code_2']) . '</COUNTRY>' . "\n" . '</DELIVERY_ADDRESS>' . "\n" . '<PAYMENT>' . "\n" . '<PAYMENT_METHOD>' . htmlspecialchars($orders['payment_method']) . '</PAYMENT_METHOD>' . "\n" . '<PAYMENT_CLASS>' . htmlspecialchars($orders['payment_class']) . '</PAYMENT_CLASS>' . "\n"; switch ($orders['payment_class']) { case 'banktransfer': // Bankverbindung laden, wenn aktiv $bank_name = ''; $bank_blz = ''; $bank_kto = ''; $bank_inh = ''; $bank_stat = -1; $bank_sql = "select * from " . TABLE_BANKTRANSFER . " where orders_id = " . $orders['orders_id']; $bank_query = olc_db_query($bank_sql); if ($bank_query && ($bankdata = olc_db_fetch_array($bank_query))) { $bank_name = $bankdata['banktransfer_bankname']; $bank_blz = $bankdata['banktransfer_blz']; $bank_kto = $bankdata['banktransfer_number']; $bank_inh = $bankdata['banktransfer_owner']; $bank_stat = $bankdata['banktransfer_status']; } $schema .= '<PAYMENT_BANKTRANS_BNAME>' . htmlspecialchars($bank_name) . '</PAYMENT_BANKTRANS_BNAME>' . "\n" . '<PAYMENT_BANKTRANS_BLZ>' . htmlspecialchars($bank_blz) . '</PAYMENT_BANKTRANS_BLZ>' . "\n" . '<PAYMENT_BANKTRANS_NUMBER>' . htmlspecialchars($bank_kto) . '</PAYMENT_BANKTRANS_NUMBER>' . "\n" . '<PAYMENT_BANKTRANS_OWNER>' . htmlspecialchars($bank_inh) . '</PAYMENT_BANKTRANS_OWNER>' . "\n" . '<PAYMENT_BANKTRANS_STATUS>' . htmlspecialchars($bank_stat) . '</PAYMENT_BANKTRANS_STATUS>' . "\n"; break; } $schema .= '</PAYMENT>' . "\n" . '<SHIPPING>' . "\n" . '<SHIPPING_METHOD>' . htmlspecialchars($orders['shipping_method']) . '</SHIPPING_METHOD>' . "\n" . '<SHIPPING_CLASS>' . htmlspecialchars($orders['shipping_class']) . '</SHIPPING_CLASS>' . "\n" . '</SHIPPING>' . "\n" . '<ORDER_PRODUCTS>' . "\n"; $sql = "select\n orders_products_id,\n allow_tax,\n products_id,\n products_model,\n products_name,\n final_price,\n products_tax,\n products_quantity\n from " . TABLE_ORDERS_PRODUCTS . "\n where\n orders_id = '" . $orders['orders_id'] . "'"; $products_query = olc_db_query($sql); while ($products = olc_db_fetch_array($products_query)) { if ($products['allow_tax'] == 1) { $products['final_price'] = $products['final_price'] / (1 + $products['products_tax'] * 0.01); } $schema .= '<PRODUCT>' . "\n" . '<PRODUCTS_ID>' . $products['products_id'] . '</PRODUCTS_ID>' . "\n" . '<PRODUCTS_QUANTITY>' . $products['products_quantity'] . '</PRODUCTS_QUANTITY>' . "\n" . '<PRODUCTS_MODEL>' . htmlspecialchars($products['products_model']) . '</PRODUCTS_MODEL>' . "\n" . '<PRODUCTS_NAME>' . htmlspecialchars($products['products_name']) . '</PRODUCTS_NAME>' . "\n" . '<PRODUCTS_PRICE>' . $products['final_price'] / $products['products_quantity'] . '</PRODUCTS_PRICE>' . "\n" . '<PRODUCTS_TAX>' . $products['products_tax'] . '</PRODUCTS_TAX>' . "\n" . '<PRODUCTS_TAX_FLAG>' . $products['allow_tax'] . '</PRODUCTS_TAX_FLAG>' . "\n"; $attributes_query = olc_db_query("select products_options, products_options_values, options_values_price, price_prefix from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . $orders['orders_id'] . "' and orders_products_id = '" . $products['orders_products_id'] . "'"); if (olc_db_num_rows($attributes_query)) { while ($attributes = olc_db_fetch_array($attributes_query)) { require_once DIR_FS_INC . 'olc_get_attributes_model.inc.php'; $attributes_model = olc_get_attributes_model($products['products_id'], $attributes['products_options_values']); $schema .= '<OPTION>' . "\n" . '<PRODUCTS_OPTIONS>' . htmlspecialchars($attributes['products_options']) . '</PRODUCTS_OPTIONS>' . "\n" . '<PRODUCTS_OPTIONS_VALUES>' . htmlspecialchars($attributes['products_options_values']) . '</PRODUCTS_OPTIONS_VALUES>' . "\n" . '<PRODUCTS_OPTIONS_MODEL>' . $attributes_model . '</PRODUCTS_OPTIONS_MODEL>' . "\n" . '<PRODUCTS_OPTIONS_PRICE>' . $attributes['price_prefix'] . ' ' . $attributes['options_values_price'] . '</PRODUCTS_OPTIONS_PRICE>' . "\n" . '</OPTION>' . "\n"; } } $schema .= '</PRODUCT>' . "\n"; } $schema .= '</ORDER_PRODUCTS>' . "\n"; $schema .= '<ORDER_TOTAL>' . "\n"; $totals_query = olc_db_query("select title, value, class, sort_order from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $orders['orders_id'] . "' order by sort_order"); while ($totals = olc_db_fetch_array($totals_query)) { $total_prefix = ""; $total_tax = ""; $total_prefix = $order_total_class[$totals['class']]['prefix']; $total_tax = $order_total_class[$totals['class']]['tax']; $schema .= '<TOTAL>' . "\n" . '<TOTAL_TITLE>' . htmlspecialchars($totals['title']) . '</TOTAL_TITLE>' . "\n" . '<TOTAL_VALUE>' . htmlspecialchars($totals['value']) . '</TOTAL_VALUE>' . "\n" . '<TOTAL_CLASS>' . htmlspecialchars($totals['class']) . '</TOTAL_CLASS>' . "\n" . '<TOTAL_SORT_ORDER>' . htmlspecialchars($totals['sort_order']) . '</TOTAL_SORT_ORDER>' . "\n" . '<TOTAL_PREFIX>' . htmlspecialchars($total_prefix) . '</TOTAL_PREFIX>' . "\n" . '<TOTAL_TAX>' . htmlspecialchars($total_tax) . '</TOTAL_TAX>' . "\n" . '</TOTAL>' . "\n"; } $schema .= '</ORDER_TOTAL>' . "\n"; $sql = "select\n comments\n from " . TABLE_ORDERS_STATUS_HISTORY . "\n where\n orders_id = '" . $orders['orders_id'] . "' and\n orders_status_id = '" . $orders['orders_status'] . "' "; $comments_query = olc_db_query($sql); if ($comments = olc_db_fetch_array($comments_query)) { $schema .= '<ORDER_COMMENTS>' . htmlspecialchars($comments['comments']) . '</ORDER_COMMENTS>' . "\n"; } $schema .= '</ORDER_INFO>' . "\n\n"; } $schema .= '</ORDER>' . "\n\n"; echo $schema; }