Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: ANLEITUNG: Bestell-History - Kommentare kontrollieren

    innuXTC

    • Viel Schreiber
    • Beiträge: 508
    modified eCommerce Shopsoftware eCommerce Shopsoftware 1.05
    Problem: Nicht versendete Kommentare können vom Kunden gelesen werden.
    Erweiterung: Anzeige, ob Kommentar versendet wurde.

    Hallo Zusammen,

    im Admin-Bereich hat man die Möglichkeit sich die Bestell-History anzusehen und den Status der Bestellung zu ändern.

    Entsprechend dazu die Option den Kunden per eMail zu benachrichtigen und bei Bedarf entsprechende Kommentare mitzusenden. Jetzt ist es so, dass Kommentare zu der Statusänderung, nicht mitgesendet werden, wenn der Haken bei der Option entfernt wird. Wieso man einen Kommentar schreibt, den Kunden benachrichtigt und den Kommentar nicht mitsenden ist für mich dann irgendwie unklar. Aber gut...

    Nun ist es 1. so, dass man in der Bestell-History nicht sieht, ob man den Kommentar mitgesendet hat (lediglich ist ersichtlich, ob der Kunde benachrichtig worden ist). 2.: Selbst Kommentare, die nicht versendet worden sind, können vom Kunden in Ihrer Bestell-History eingesehen werden. Für mich war dies nie ersichtlich (und ich denke andere neue XTC'ler auch nicht). Da der Shop also "nicht an den Kunden versendete Kommentare" dem Kunden trotzdem anzeigt, was vielleicht nicht gewünscht ist weil man die Kommentare für die interne Kommunikation verwedet, und mir als Betreiber dies so nicht bekannt war, nenne ich es "Bug". Ich möchte nicht, dass der Kunde die Kommentare bekommt (=liest), der Kunde kann es aber trotzdem. Und ich wußte das noch nicht einmal!

    Aus diesem Grund habe ich mir das ganze mal angeschaut und eine einfache Lösung erstellt. Die Bestell-History wird um eine Spalte erweitert und zeigt an, ob zu der Benachrichtigung ein Kommentare versendet wurde. Ist dies nicht der Fall, dann bekommt der Kunde den Kommentar auch nicht in seiner Bestell-History angezeigt.

    Folgende Dateien sind zu editieren und die Datenbank muss um eine Spalte erweitert werden. Bitte, wie immer, Backup machen!!

    Dateiliste:
    1. account_history_info.php
    2. admin/orders.php editieren
    3. lang/german/admin/orders.php
    4. lang/english/admin/orders.php

    - Datenbank erweitern:

    Code: PHP  [Auswählen]
    ALTER TABLE orders_status_history ADD comments_notified INT(1) NULL DEFAULT '0' AFTER customer_notified;
    - account_history_info.php | Ca. Zeile 83

    Code: PHP  [Auswählen]
    $statuses_query = xtc_db_query("select os.orders_status_name,
                                           osh.date_added,
                                           osh.comments
                                    from "
    .TABLE_ORDERS_STATUS." os,
                                         "
    .TABLE_ORDERS_STATUS_HISTORY." osh
                                    where osh.orders_id = '"
    .(int) $_GET['order_id']."'
                                    and osh.orders_status_id = os.orders_status_id
                                    and os.language_id = '"
    .(int) $_SESSION['languages_id']."'
                                    order by osh.date_added"
    );
    while ($statuses = xtc_db_fetch_array($statuses_query)) {
    ersetzen durch

    Code: PHP  [Auswählen]
    $statuses_query = xtc_db_query("select os.orders_status_name,
                                           osh.date_added,
                                           osh.comments,
                                           osh.comments_notified
                                    from "
    .TABLE_ORDERS_STATUS." os,
                                         "
    .TABLE_ORDERS_STATUS_HISTORY." osh
                                    where osh.orders_id = '"
    .(int) $_GET['order_id']."'
                                    and osh.orders_status_id = os.orders_status_id
                                    and os.language_id = '"
    .(int) $_SESSION['languages_id']."'
                                    order by osh.date_added"
    );
    while ($statuses = xtc_db_fetch_array($statuses_query)) {
    - account_history_info.php | Ca. Zeile 95

    Code: PHP  [Auswählen]
    $history_block .= xtc_date_short($statuses['date_added']). ' <strong>' .$statuses['orders_status_name']. '</strong> ' . (empty ($statuses['comments']) ? ' ' : nl2br(htmlspecialchars($statuses['comments']))) .'<br />';
    ersetzen durch

    Code: PHP  [Auswählen]
    if ($statuses['comments_notified'] != 0) {

            $history_block .= xtc_date_short($statuses['date_added']). ' <strong>' .$statuses['orders_status_name']. '</strong> ' . (empty ($statuses['comments']) ? ' ' : nl2br(htmlspecialchars($statuses['comments']))) .'<br />';
    } else {
    $history_block .= xtc_date_short($statuses['date_added']). ' <strong>' .$statuses['orders_status_name']. '</strong><br />';
    }
    - admin/orders.php | Ca. Zeile 120

    Code: PHP  [Auswählen]
    xtc_db_query("insert into ".TABLE_ORDERS_STATUS_HISTORY." (orders_id, orders_status_id, date_added, customer_notified, comments) values ('".xtc_db_input($oID)."', '".xtc_db_input($status)."', now(), '".$customer_notified."', '".xtc_db_input($comments)."')");
    ersetzen durch

    Code: PHP  [Auswählen]
    $comments_notified = '';
    if ($_POST['notify_comments'] == 'on')
      {
        $comments_notified = 1;
      }
        else
      {
        $comments_notified = 0;
      }

    xtc_db_query("insert into ".TABLE_ORDERS_STATUS_HISTORY." (orders_id, orders_status_id, date_added, customer_notified, comments, comments_notified) values ('".xtc_db_input($oID)."', '".xtc_db_input($status)."', now(), '".$customer_notified."', '".xtc_db_input($comments)."'".$comments_notified."')");

    $comments_notified = '';
    - admin/orders.php | Ca. Zeile 687

    Code: PHP  [Auswählen]
    <td class="smallText" align="center"><b><?php echo TABLE_HEADING_CUSTOMER_NOTIFIED; ?></b></td>
    danach einfügen

    Code: PHP  [Auswählen]
     <td class="smallText" align="center"><b><?php echo TABLE_HEADING_COMMENT_SEND; ?></b></td>
    - admin/orders.php | Ca. Zeile 694

    Code: PHP  [Auswählen]
    $orders_history_query = xtc_db_query("select orders_status_id, date_added, customer_notified, comments from ".TABLE_ORDERS_STATUS_HISTORY." where orders_id = '".xtc_db_input($oID)."' order by date_added");
    ersetzen durch

    Code: PHP  [Auswählen]
    $orders_history_query = xtc_db_query("select orders_status_id, date_added, customer_notified, comments_notified, comments from ".TABLE_ORDERS_STATUS_HISTORY." where orders_id = '".xtc_db_input($oID)."' order by date_added");
    - admin/orders.php | Ca. Zeile 689

    Code: PHP  [Auswählen]
    if ($orders_history['customer_notified'] == '1') {
                                    echo xtc_image(DIR_WS_ICONS.'tick.gif', ICON_TICK)."</td>\n";
                            } else {
                                    echo xtc_image(DIR_WS_ICONS.'cross.gif', ICON_CROSS)."</td>\n";
                            }
    danach einfügen

    Code: PHP  [Auswählen]
     echo '<td class="smallText" align="center">';
                            if ($orders_history['comments_notified'] == '1') {
                                    echo xtc_image(DIR_WS_ICONS.'tick.gif', ICON_TICK)."</td>\n";
                            } else {
                                    echo xtc_image(DIR_WS_ICONS.'cross.gif', ICON_CROSS)."</td>\n";
                            }
    - lang/german/admin/orders.php | Ca. Zeile 58

    Code: PHP  [Auswählen]
    define('TABLE_HEADING_CUSTOMER_NOTIFIED', 'Kunde benachrichtigt');
    danach einfügen

    Code: PHP  [Auswählen]
    define('TABLE_HEADING_COMMENT_SEND', 'Kommentar gesendet');
    - lang/english/admin/orders.php | Ca. Zeile 58

    Code: PHP  [Auswählen]
    define('TABLE_HEADING_CUSTOMER_NOTIFIED', 'Customer Notified');
    danach einfügen

    Code: PHP  [Auswählen]
    define('TABLE_HEADING_COMMENT_SEND', 'Comment Send');
    Ich freue mich auf Euer Feedback und/oder Anregungen und sage Danke. :-D
    lg, innu

      [ Für Gäste sind keine Dateianhänge sichtbar ] [ Für Gäste sind keine Dateianhänge sichtbar ]



    Linkback: https://www.modified-shop.org/forum/index.php?topic=11982.0

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    ANLEITUNG: Bestell-History - Kommentare kontrollieren
    Antwort #1 am: 28. März 2011, 10:24:57
    Hi,

    vielen Dank für diese tolle Erweiterung! Vielleicht kann sie ja auch in die nächste oder übernächste Version von modified eCommerce Shopsoftware einfließen.

    hendrik

    • Experte
    • Beiträge: 2.038
    ANLEITUNG: Bestell-History - Kommentare kontrollieren
    Antwort #2 am: 28. März 2011, 10:44:26
    Du hast Recht. Ist mir auch noch nie aufgefallen. Das ist wirklich schräg wenn als interne Notiz gedachte Kommentare beim Kunden angezeigt werden. Coole Sache was du da gebaut hast. Das kann man wirklich einfließen lassen.

    Gruß
    Hen

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    ANLEITUNG: Bestell-History - Kommentare kontrollieren
    Antwort #3 am: 28. März 2011, 14:03:16
    Ich habe das sogar mal noch auf die Roadmap für modified eCommerce Shopsoftware 1.06 gesetzt.

    Grüße

    Torsten

    innuXTC

    • Viel Schreiber
    • Beiträge: 508
    Re: ANLEITUNG: Bestell-History - Kommentare kontrollieren
    Antwort #4 am: 15. Februar 2012, 18:29:46
    Hallo Torsten,

    sehe ich das richtig, dass die Änderung bereits eingebaut worden ist? Wieso wurden diese Änderung nicht mit entsprechenden "Kommentaren" im Quelltext als solche markiert? :mhhh:

    Gruß
    innuXTC

    Lionne

    • Mitglied
    • Beiträge: 189
    • Geschlecht:
    Re: ANLEITUNG: Bestell-History - Kommentare kontrollieren
    Antwort #5 am: 27. Mai 2012, 14:46:32
    Hallo innuXTC,

    Danke für diese Anleitung !
    Nach einer kleinen Korrektur bei folgender Anweisung klappt es bei mir super:


    - admin/order.php | Ca. Zeile 120

    Code: PHP  [Auswählen]
    xtc_db_query("insert into ".TABLE_ORDERS_STATUS_HISTORY." (orders_id, orders_status_id, date_added, customer_notified, comments) values ('".xtc_db_input($oID)."', '".xtc_db_input($status)."', now(), '".$customer_notified."', '".xtc_db_input($comments)."')");
    ersetzen durch

    Code: PHP  [Auswählen]
    $comments_notified = '';
    if ($_POST['notify_comments'] == 'on')
      {
        $comments_notified = 1;
      }
        else
      {
        $comments_notified = 0;
      }

    xtc_db_query("insert into ".TABLE_ORDERS_STATUS_HISTORY." (orders_id, orders_status_id, date_added, customer_notified, comments, comments_notified) values ('".xtc_db_input($oID)."', '".xtc_db_input($status)."', now(), '".$customer_notified."', '".xtc_db_input($comments)."'".$comments_notified."')");

    $comments_notified = '';


    habe ich hier die beiden letzen Eingaben durch ein Komma getrennt:

    Code: PHP  [Auswählen]
    xtc_db_query("insert into ".TABLE_ORDERS_STATUS_HISTORY." (orders_id, orders_status_id, date_added, customer_notified, comments, comments_notified) values ('".xtc_db_input($oID)."', '".xtc_db_input($status)."', now(), '".$customer_notified."', '".xtc_db_input($comments)."', '".$comments_notified."')");

    Viele Grüße
    Lionne

    Blaumann

    • Frisch an Board
    • Beiträge: 59
    Re: ANLEITUNG: Bestell-History - Kommentare kontrollieren
    Antwort #6 am: 17. August 2012, 11:16:54
    Hi,

    ist es eigentlich auch möglich eine Kommentar-Box ( Memo ) zu erstellen, (zu der jeweiligen Bestellung ) die intern läuft? Und zwar die nicht in der History vom Kunden einsehbar ist. Also nur im Adminbereich.
    Z.B. Bei Mahnungen - Inkasso - Rechtsanwalteinträge - ectr.

    Bei den Kundenadresseneinträgen ist so eine Memo vorhanden !

    Beste Grüße
    Blaumann

    rayban

    • Mitglied
    • Beiträge: 113
    Re: ANLEITUNG: Bestell-History - Kommentare kontrollieren
    Antwort #7 am: 29. Januar 2013, 06:46:50
    hallo ihr spezialisten! bei mit funzt diese schnipsel nicht, krieg immer diesen fehler:

    Code: PHP  [Auswählen]
    Parse error: syntax error, unexpected T_ELSE in /var/www/web217/html/admin/orders.php on line 589

    ich verstehe den nachtrag von Lionne nicht, welcher ist der richtiger code, der von: innuXTC oder von Lionne?? eigendlich habe ich alle beide probiert irgentwie will es nicht...

    ich habe eine ältere version xtc, habe schon vieles von euch verbaut, hat immer geklapt...

    für eine hilfe währe ich dankbar!

    account_history_info.php

    Code: PHP  [Auswählen]
    <?php

    /* -----------------------------------------------------------------------------------------
       $Id: account_history_info.php 1309 2005-10-17 08:01:11Z mz $

       XT-Commerce - community made shopping
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte Forenregeln beachten! ))

       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(account_history_info.php,v 1.97 2003/05/19); www.oscommerce.com
       (c) 2003      nextcommerce (account_history_info.php,v 1.17 2003/08/17); www.nextcommerce.org

       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/


    include ('includes/application_top.php');
    // create smarty elements
    $smarty = new Smarty;
    // include boxes
    require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');
    // include needed functions
    require_once (DIR_FS_INC.'xtc_date_short.inc.php');
    require_once (DIR_FS_INC.'xtc_get_all_get_params.inc.php');
    require_once (DIR_FS_INC.'xtc_image_button.inc.php');
    require_once (DIR_FS_INC.'xtc_display_tax_value.inc.php');
    require_once (DIR_FS_INC.'xtc_format_price_order.inc.php');

    //security checks
    if (!isset ($_SESSION['customer_id'])) { xtc_redirect(xtc_href_link(FILENAME_LOGIN, '', 'SSL')); }
    if (!isset ($_GET['order_id']) || (isset ($_GET['order_id']) && !is_numeric($_GET['order_id']))) {
       xtc_redirect(xtc_href_link(FILENAME_ACCOUNT_HISTORY, '', 'SSL'));
    }
    $customer_info_query = xtc_db_query("select customers_id from ".TABLE_ORDERS." where orders_id = '".(int) $_GET['order_id']."'");
    $customer_info = xtc_db_fetch_array($customer_info_query);
    if ($customer_info['customers_id'] != $_SESSION['customer_id']) { xtc_redirect(xtc_href_link(FILENAME_ACCOUNT_HISTORY, '', 'SSL')); }

    $breadcrumb->add(NAVBAR_TITLE_1_ACCOUNT_HISTORY_INFO, xtc_href_link(FILENAME_ACCOUNT, '', 'SSL'));
    $breadcrumb->add(NAVBAR_TITLE_2_ACCOUNT_HISTORY_INFO, xtc_href_link(FILENAME_ACCOUNT_HISTORY, '', 'SSL'));
    $breadcrumb->add(sprintf(NAVBAR_TITLE_3_ACCOUNT_HISTORY_INFO, (int)$_GET['order_id']), xtc_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id='.(int)$_GET['order_id'], 'SSL'));

    require (DIR_WS_CLASSES.'order.php');
    $order = new order((int)$_GET['order_id']);
    require (DIR_WS_INCLUDES.'header.php');

    // Delivery Info
    if ($order->delivery != false) {
            $smarty->assign('DELIVERY_LABEL', xtc_address_format($order->delivery['format_id'], $order->delivery, 1, ' ', '<br />'));
            if ($order->info['shipping_method']) { $smarty->assign('SHIPPING_METHOD', $order->info['shipping_method']); }
    }

    $order_total = $order->getTotalData((int)$_GET['order_id']);

    $smarty->assign('order_data', $order->getOrderData((int)$_GET['order_id']));
    $smarty->assign('order_total', $order_total['data']);

    // Payment Method
    if ($order->info['payment_method'] != '' && $order->info['payment_method'] != 'no_payment') {
            include (DIR_WS_LANGUAGES.'/'.$_SESSION['language'].'/modules/payment/'.$order->info['payment_method'].'.php');
            $smarty->assign('PAYMENT_METHOD', constant(MODULE_PAYMENT_.strtoupper($order->info['payment_method'])._TEXT_TITLE));
    }

    // Order History
    $history_block = '<table summary="order history">';
    $statuses_query = xtc_db_query("select os.orders_status_name, osh.date_added, osh.comments from ".TABLE_ORDERS_STATUS." os, ".TABLE_ORDERS_STATUS_HISTORY." osh where osh.orders_id = '".(int) $_GET['order_id']."' and osh.orders_status_id = os.orders_status_id and os.language_id = '".(int) $_SESSION['languages_id']."' order by osh.date_added");
    while ($statuses = xtc_db_fetch_array($statuses_query)) {
            $history_block .= '              <tr>'."\n".'                <td style="vertical-align:top;">'.xtc_date_short($statuses['date_added']).'</td>'."\n".'                <td style="vertical-align:top;">'.$statuses['orders_status_name'].'</td>'."\n".'                <td style="vertical-align:top;">'. (empty ($statuses['comments']) ? '&nbsp;' : nl2br(htmlspecialchars($statuses['comments']))).'</td>'."\n".'              </tr>'."\n";
    }
    $history_block .= '</table>';
    $smarty->assign('HISTORY_BLOCK', $history_block);

    // Download-Products
    if (DOWNLOAD_ENABLED == 'true') include (DIR_WS_MODULES.'downloads.php');

    // Stuff
    $smarty->assign('ORDER_NUMBER', (int)$_GET['order_id']);
    $smarty->assign('ORDER_DATE', xtc_date_long($order->info['date_purchased']));
    $smarty->assign('ORDER_STATUS', $order->info['orders_status']);
    $smarty->assign('BILLING_LABEL', xtc_address_format($order->billing['format_id'], $order->billing, 1, ' ', '<br />'));
    $smarty->assign('PRODUCTS_EDIT', xtc_href_link(FILENAME_SHOPPING_CART, '', 'SSL'));
    $smarty->assign('SHIPPING_ADDRESS_EDIT', xtc_href_link(FILENAME_CHECKOUT_SHIPPING_ADDRESS, '', 'SSL'));
    $smarty->assign('BILLING_ADDRESS_EDIT', xtc_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS, '', 'SSL'));
    $smarty->assign('BUTTON_PRINT', '<a style="cursor:pointer" onclick="javascript:window.open(\''.xtc_href_link(FILENAME_PRINT_ORDER, 'oID='.(int)$_GET['order_id']).'\', \'popup\', \'toolbar=0, width=640, height=600\')"><img src="'.'templates/'.CURRENT_TEMPLATE.'/buttons/'.$_SESSION['language'].'/button_print.gif"/></a>');

    $from_history = eregi("page=", xtc_get_all_get_params()); // referer from account_history yes/no
    $back_to = $from_history ? FILENAME_ACCOUNT_HISTORY : FILENAME_ACCOUNT; // if from account_history => return to account_history
    $smarty->assign('BUTTON_BACK','<a href="' . xtc_href_link($back_to,xtc_get_all_get_params(array ('order_id')), 'SSL') . '">' . xtc_image_button('button_back.gif', IMAGE_BUTTON_BACK) . '</a>');

    $smarty->assign('language', $_SESSION['language']);
    $smarty->caching = 0;
    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/account_history_info.html');
    $smarty->assign('language', $_SESSION['language']);
    $smarty->assign('main_content', $main_content);
    $smarty->caching = 0;
    if (!defined(RM)) { $smarty->load_filter('output', 'note'); }
    $smarty->display(CURRENT_TEMPLATE.'/index.html');
    include ('includes/application_bottom.php');
    ?>

    orders.php

    Code: PHP  [Auswählen]
    <?php

    /* --------------------------------------------------------------
       $Id: orders.php 1189 2005-08-28 15:27:00Z hhgag $

       XT-Commerce - community made shopping
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte Forenregeln beachten! ))

       Copyright (c) 2003 XT-Commerce
       --------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(orders.php,v 1.109 2003/05/28); www.oscommerce.com
       (c) 2003      nextcommerce (orders.php,v 1.19 2003/08/24); www.nextcommerce.org

       Released under the GNU General Public License
       --------------------------------------------------------------
       Third Party contribution:
       OSC German Banktransfer v0.85a               Autor:  Dominik Guder <osc@guder.org>
       Customers Status v3.x  (c) 2002-2003 Copyright Elari elari@free.fr | www.unlockgsm.com/dload-osc/ | CVS : http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/elari/?sortby=date#dirlist

       credit card encryption functions for the catalog module
       BMC 2003 for the CC CVV Module

       Released under the GNU General Public License
       --------------------------------------------------------------*/


    require ('includes/application_top.php');
    require_once (DIR_FS_CATALOG.DIR_WS_CLASSES.'class.phpmailer.php');
    require_once (DIR_FS_INC.'xtc_php_mail.inc.php');
    require_once (DIR_FS_INC.'xtc_add_tax.inc.php');
    require_once (DIR_FS_INC.'changedataout.inc.php');
    require_once (DIR_FS_INC.'xtc_validate_vatid_status.inc.php');
    require_once (DIR_FS_INC.'xtc_get_attributes_model.inc.php');

    // initiate template engine for mail
    $smarty = new Smarty;
    require (DIR_WS_CLASSES.'currencies.php');
    $currencies = new currencies();

    if ((($_GET['action'] == 'edit') || ($_GET['action'] == 'update_order')) && ($_GET['oID'])) {
            $oID = xtc_db_prepare_input($_GET['oID']);

            $orders_query = xtc_db_query("select orders_id from ".TABLE_ORDERS." where orders_id = '".xtc_db_input($oID)."'");
            $order_exists = true;
            if (!xtc_db_num_rows($orders_query)) {
                    $order_exists = false;
                    $messageStack->add(sprintf(ERROR_ORDER_DOES_NOT_EXIST, $oID), 'error');
            }
    }

    require (DIR_WS_CLASSES.'order.php');
    if ((($_GET['action'] == 'edit') || ($_GET['action'] == 'update_order')) && ($order_exists)) {
            $order = new order($oID);
    }

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

    if (!isset($lang)) $lang=$_SESSION['languages_id'];
    $orders_statuses = array ();
    $orders_status_array = array ();
    $orders_status_query = xtc_db_query("select orders_status_id, orders_status_name from ".TABLE_ORDERS_STATUS." where language_id = '".$lang."'");
    while ($orders_status = xtc_db_fetch_array($orders_status_query)) {
            $orders_statuses[] = array ('id' => $orders_status['orders_status_id'], 'text' => $orders_status['orders_status_name']);
            $orders_status_array[$orders_status['orders_status_id']] = $orders_status['orders_status_name'];
    }
    switch ($_GET['action']) {
    case 'mail_template_delete' :

                    if(isset($_GET['mail_template_id'])) {
                            xtc_db_query("delete from mail_templates where id = '".$_GET['mail_template_id']."'");
                            $messageStack->add_session('Die Vorlage wurde erfolgreich gel&ouml;scht.', 'success');
                    }

                    xtc_redirect(xtc_href_link(FILENAME_ORDERS, xtc_get_all_get_params(array ('action')).'action=edit'));
                    break;
            case 'update_order' :
            if(isset($_POST['mail_template']) && $_POST['mail_template'] != '0'){
                            xtc_redirect(xtc_href_link(FILENAME_ORDERS, xtc_get_all_get_params(array ('action','mailtemp')).'action=edit&mailtemp='.(int)$_POST['mail_template']));
                    }

                    if(!empty($_POST['mail_template_title']) && !empty($_POST['comments'])){
                            xtc_db_query("insert into mail_templates (title, mail_text) values ('".xtc_db_input($_POST['mail_template_title'])."', '".xtc_db_prepare_input($_POST['comments'])."')");
                    }
                    $oID = xtc_db_prepare_input($_GET['oID']);
                    $status = xtc_db_prepare_input($_POST['status']);
                    $comments = xtc_db_prepare_input($_POST['comments']);
            //      $order = new order($oID);
                    $order_updated = false;
                    $check_status_query = xtc_db_query("select customers_name, customers_email_address, orders_status, date_purchased from ".TABLE_ORDERS." where orders_id = '".xtc_db_input($oID)."'");
                    $check_status = xtc_db_fetch_array($check_status_query);
                    if ($check_status['orders_status'] != $status || $comments != '') {
                            xtc_db_query("update ".TABLE_ORDERS." set orders_status = '".xtc_db_input($status)."', last_modified = now() where orders_id = '".xtc_db_input($oID)."'");

                            $customer_notified = '0';
                            if ($_POST['notify'] == 'on') {
                                    $notify_comments = '';
                                    if ($_POST['notify_comments'] == 'on') {
                                            //$notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments)."\n\n";
                                            $notify_comments = $comments;
                                    } else {
                                            $notify_comments = '';
                                    }

                                    // assign language to template for caching
                                    $smarty->assign('language', $_SESSION['language']);
                                    $smarty->caching = false;

                                    // set dirs manual
                                    $smarty->template_dir = DIR_FS_CATALOG.'templates';
                                    $smarty->compile_dir = DIR_FS_CATALOG.'templates_c';
                                    $smarty->config_dir = DIR_FS_CATALOG.'lang';

                                    $smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');
                                    $smarty->assign('logo_path', HTTP_SERVER.DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/img/');

                                    $smarty->assign('NAME', $check_status['customers_name']);
                                    $smarty->assign('ORDER_NR', $oID);
                                    $smarty->assign('ORDER_LINK', xtc_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id='.$oID, 'SSL'));
                                    $smarty->assign('ORDER_DATE', xtc_date_long($check_status['date_purchased']));
                                    $smarty->assign('NOTIFY_COMMENTS', $notify_comments);
                                    $smarty->assign('ORDER_STATUS', $orders_status_array[$status]);

                                    $html_mail = $smarty->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$order->info['language'].'/change_order_mail.html');
                                    $txt_mail = $smarty->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$order->info['language'].'/change_order_mail.txt');

                                    xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $check_status['customers_email_address'], $check_status['customers_name'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '', EMAIL_BILLING_SUBJECT, $html_mail, $txt_mail);
                                    $customer_notified = '1';
                            }

                            xtc_db_query("insert into ".TABLE_ORDERS_STATUS_HISTORY." (orders_id, orders_status_id, date_added, customer_notified, comments) values ('".xtc_db_input($oID)."', '".xtc_db_input($status)."', now(), '".$customer_notified."', '".xtc_db_input($comments)."')");

                            $order_updated = true;
                    }

                    if ($order_updated) {
                            $messageStack->add_session(SUCCESS_ORDER_UPDATED, 'success');
                    } else {
                            $messageStack->add_session(WARNING_ORDER_NOT_UPDATED, 'warning');
                    }

                    xtc_redirect(xtc_href_link(FILENAME_ORDERS, xtc_get_all_get_params(array ('action')).'action=edit'));
                    break;
            case 'deleteconfirm' :
                    $oID = xtc_db_prepare_input($_GET['oID']);

                    xtc_remove_order($oID, $_POST['restock']);

                    xtc_redirect(xtc_href_link(FILENAME_ORDERS, xtc_get_all_get_params(array ('oID', 'action'))));
                    break;
                    // BMC Delete CC info Start
                    // Remove CVV Number
            case 'deleteccinfo' :
                    $oID = xtc_db_prepare_input($_GET['oID']);

                    xtc_db_query("update ".TABLE_ORDERS." set cc_cvv = null where orders_id = '".xtc_db_input($oID)."'");
                    xtc_db_query("update ".TABLE_ORDERS." set cc_number = '0000000000000000' where orders_id = '".xtc_db_input($oID)."'");
                    xtc_db_query("update ".TABLE_ORDERS." set cc_expires = null where orders_id = '".xtc_db_input($oID)."'");
                    xtc_db_query("update ".TABLE_ORDERS." set cc_start = null where orders_id = '".xtc_db_input($oID)."'");
                    xtc_db_query("update ".TABLE_ORDERS." set cc_issue = null where orders_id = '".xtc_db_input($oID)."'");

                    xtc_redirect(xtc_href_link(FILENAME_ORDERS, 'oID='.$_GET['oID'].'&action=edit'));
                    break;

            case 'afterbuy_send' :
                    $oID = xtc_db_prepare_input($_GET['oID']);
                    require_once (DIR_FS_CATALOG.'includes/classes/afterbuy.php');
                    $aBUY = new xtc_afterbuy_functions($oID);
                    if ($aBUY->order_send())
                            $aBUY->process_order();

                    break;

                    // BMC Delete CC Info End
    }
    ?>
    <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html <?php echo HTML_PARAMS; ?>>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $_SESSION['language_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">
    <!-- header //-->
    <?php

    require (DIR_WS_INCLUDES.'header.php');
    ?>
    <!-- header_eof //-->

    <!-- body //-->
    <table border="0" width="100%" cellspacing="2" cellpadding="2">
      <tr>
        <td class="columnLeft2" width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
    <!-- left_navigation //-->
    <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
    <!-- left_navigation_eof //-->
        </table></td>
    <!-- body_text //-->
        <td  class="boxCenter" width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
    <?php

    if (($_GET['action'] == 'edit') && ($order_exists)) {
            //    $order = new order($oID);
    ?>
          <tr>
          <td width="100%">
    <table border="0" width="100%" cellspacing="0" cellpadding="0">
      <tr>
        <td width="80" rowspan="2"><?php echo xtc_image(DIR_WS_ICONS.'heading_customers.gif'); ?></td>
        <td class="pageHeading"><?php echo HEADING_TITLE . ' Nr : ' . $oID . ' - ' . $order->info['date_purchased'] ; ?></td>
      </tr>
      <tr>
        <td class="main" valign="top">XT Customers</td>
      </tr>
    </table>
     <?php echo '<a class="button" href="' . xtc_href_link(FILENAME_ORDERS, xtc_get_all_get_params(array('action'))) . '">' . BUTTON_BACK . '</a>'; ?>
     <!-- Bestellbearbeitung Anfang -->
       <a class="button" href="<?php echo xtc_href_link(FILENAME_ORDERS_EDIT, 'oID='.$_GET['oID'].'&cID=' . $order->customer['ID']);?>"><?php echo BUTTON_EDIT ?></a>
    <!-- Bestellbearbeitung Ende -->
     </td>

          </tr>
          <tr>
            <td><table width="100%" border="0" cellspacing="0" cellpadding="2">
              <tr>
                <td colspan="3"><?php echo xtc_draw_separator(); ?></td>
              </tr>
              <tr>
                <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
                <?php if ($order->customer['csID']!='') { ?>
                    <tr>
                    <td class="main" valign="top" bgcolor="#FFCC33"><b><?php echo ENTRY_CID; ?></b></td>
                    <td class="main" bgcolor="#FFCC33"><?php echo $order->customer['csID']; ?></td>
                  </tr>
                <?php } ?>
                  <tr>
                    <td class="main" valign="top"><b><?php echo ENTRY_CUSTOMER; ?></b></td>
                    <td class="main"><?php echo xtc_address_format($order->customer['format_id'], $order->customer, 1, '', '<br />'); ?></td>
                  </tr>
                  <tr>
                    <td colspan="2"><?php echo xtc_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
                  </tr>

                  <tr>
                    <td class="main" valign="top"><b><?php echo CUSTOMERS_MEMO; ?></b></td>
    <?php

            // memoquery
            $memo_query = xtc_db_query("SELECT count(*) as count FROM ".TABLE_CUSTOMERS_MEMO." where customers_id='".$order->customer['ID']."'");
            $memo_count = xtc_db_fetch_array($memo_query);
    ?>
                    <td class="main"><b><?php echo $memo_count['count'].'</b>'; ?>  <a style="cursor:hand" onClick="javascript:window.open('<?php echo xtc_href_link(FILENAME_POPUP_MEMO,'ID='.$order->customer['ID']); ?>', 'popup', 'scrollbars=yes, width=500, height=500')">(<?php echo DISPLAY_MEMOS; ?>)</a></td>
                  </tr>
                  <tr>
                    <td class="main"><b><?php echo ENTRY_TELEPHONE; ?></b></td>
                    <td class="main"><?php echo $order->customer['telephone']; ?></td>
                  </tr>
                  <tr>
                    <td class="main"><b><?php echo ENTRY_EMAIL_ADDRESS; ?></b></td>
                    <td class="main"><?php echo '<a href="mailto:' . $order->customer['email_address'] . '"><u>' . $order->customer['email_address'] . '</u></a>'; ?></td>
                  </tr>
                  <tr>
                    <td class="main"><b><?php echo ENTRY_CUSTOMERS_VAT_ID; ?></b></td>
                    <td class="main"><?php echo $order->customer['vat_id']; ?></td>
                  </tr>
                  <tr>
                    <td class="main" valign="top" bgcolor="#FFCC33"><b><?php echo IP; ?></b></td>
                    <td class="main" bgcolor="#FFCC33"><b><?php echo $order->customer['cIP']; ?></b></td>
                  </tr>
                </table></td>
                <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
                  <tr>
                    <td class="main" valign="top"><b><?php echo ENTRY_SHIPPING_ADDRESS; ?></b></td>
                    <td class="main"><?php echo xtc_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br />'); ?></td>
                  </tr>
                </table></td>
                <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
                  <tr>
                    <td class="main" valign="top"><b><?php echo ENTRY_BILLING_ADDRESS; ?></b></td>
                    <td class="main"><?php echo xtc_address_format($order->billing['format_id'], $order->billing, 1, '', '<br />'); ?></td>
                  </tr>
                </table></td>
              </tr>
            </table></td>
          </tr>
          <tr>
            <td><?php echo xtc_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
          </tr>
          <tr>
            <td><table border="0" cellspacing="0" cellpadding="2">
            <tr>
                <td class="main"><b><?php echo ENTRY_LANGUAGE; ?></b></td>
                <td class="main"><?php echo $order->info['language']; ?></td>
              </tr>
              <tr>
                <td class="main"><b><?php echo ENTRY_PAYMENT_METHOD; ?></b></td>
                <td class="main"><?php echo $order->info['payment_method']; ?></td>
              </tr>
    <?php

            if ((($order->info['cc_type']) || ($order->info['cc_owner']) || ($order->info['cc_number']))) {
    ?>
              <tr>
                <td colspan="2"><?php echo xtc_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
              </tr>
              <tr>
                <td class="main"><?php echo ENTRY_CREDIT_CARD_TYPE; ?></td>
                <td class="main"><?php echo $order->info['cc_type']; ?></td>
              </tr>
              <tr>
                <td class="main"><?php echo ENTRY_CREDIT_CARD_OWNER; ?></td>
                <td class="main"><?php echo $order->info['cc_owner']; ?></td>
              </tr>
    <?php

                    // BMC CC Mod Start
                    if ($order->info['cc_number'] != '0000000000000000') {
                            if (strtolower(CC_ENC) == 'true') {
                                    $cipher_data = $order->info['cc_number'];
                                    $order->info['cc_number'] = changedataout($cipher_data, CC_KEYCHAIN);
                            }
                    }
                    // BMC CC Mod End
    ?>
              <tr>
                <td class="main"><?php echo ENTRY_CREDIT_CARD_NUMBER; ?></td>
                <td class="main"><?php echo $order->info['cc_number']; ?></td>
              </tr>
              <tr>
              <td class="main"><?php echo ENTRY_CREDIT_CARD_CVV; ?></td>
              <td class="main"><?php echo $order->info['cc_cvv']; ?></td>
              </tr>
              <tr>
                <td class="main"><?php echo ENTRY_CREDIT_CARD_EXPIRES; ?></td>
                <td class="main"><?php echo $order->info['cc_expires']; ?></td>
              </tr>
    <?php

            }

            // begin modification for banktransfer
            $banktransfer_query = xtc_db_query("select banktransfer_prz, banktransfer_status, banktransfer_owner, banktransfer_number, banktransfer_bankname, banktransfer_blz, banktransfer_fax from banktransfer where orders_id = '".xtc_db_input($_GET['oID'])."'");
            $banktransfer = xtc_db_fetch_array($banktransfer_query);
            if (($banktransfer['banktransfer_bankname']) || ($banktransfer['banktransfer_blz']) || ($banktransfer['banktransfer_number'])) {
    ?>
              <tr>
                <td colspan="2"><?php echo xtc_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
              </tr>
              <tr>
                <td class="main"><?php echo TEXT_BANK_NAME; ?></td>
                <td class="main"><?php echo $banktransfer['banktransfer_bankname']; ?></td>
              </tr>
              <tr>
                <td class="main"><?php echo TEXT_BANK_BLZ; ?></td>
                <td class="main"><?php echo $banktransfer['banktransfer_blz']; ?></td>
              </tr>
              <tr>
                <td class="main"><?php echo TEXT_BANK_NUMBER; ?></td>
                <td class="main"><?php echo $banktransfer['banktransfer_number']; ?></td>
              </tr>
              <tr>
                <td class="main"><?php echo TEXT_BANK_OWNER; ?></td>
                <td class="main"><?php echo $banktransfer['banktransfer_owner']; ?></td>
              </tr>
    <?php

                    if ($banktransfer['banktransfer_status'] == 0) {
    ?>
              <tr>
                <td class="main"><?php echo TEXT_BANK_STATUS; ?></td>
                <td class="main"><?php echo "OK"; ?></td>
              </tr>
    <?php

                    } else {
    ?>
              <tr>
                <td class="main"><?php echo TEXT_BANK_STATUS; ?></td>
                <td class="main"><?php echo $banktransfer['banktransfer_status']; ?></td>
              </tr>
    <?php

                            switch ($banktransfer['banktransfer_status']) {
                                    case 1 :
                                            $error_val = TEXT_BANK_ERROR_1;
                                            break;
                                    case 2 :
                                            $error_val = TEXT_BANK_ERROR_2;
                                            break;
                                    case 3 :
                                            $error_val = TEXT_BANK_ERROR_3;
                                            break;
                                    case 4 :
                                            $error_val = TEXT_BANK_ERROR_4;
                                            break;
                                    case 5 :
                                            $error_val = TEXT_BANK_ERROR_5;
                                            break;
                                    case 8 :
                                            $error_val = TEXT_BANK_ERROR_8;
                                            break;
                                    case 9 :
                                            $error_val = TEXT_BANK_ERROR_9;
                                            break;
                            }
    ?>
              <tr>
                <td class="main"><?php echo TEXT_BANK_ERRORCODE; ?></td>
                <td class="main"><?php echo $error_val; ?></td>
              </tr>
              <tr>
                <td class="main"><?php echo TEXT_BANK_PRZ; ?></td>
                <td class="main"><?php echo $banktransfer['banktransfer_prz']; ?></td>
              </tr>
    <?php

                    }
            }
            if ($banktransfer['banktransfer_fax']) {
    ?>
              <tr>
                <td class="main"><?php echo TEXT_BANK_FAX; ?></td>
                <td class="main"><?php echo $banktransfer['banktransfer_fax']; ?></td>
              </tr>
    <?php

            }
            // end modification for banktransfer

    if ($order->info['payment_method'] == 'luupws') include( DIR_FS_CATALOG.DIR_WS_INCLUDES.'nusoap/luup_orders.php' );

    if ($order->info['payment_method'] == 'amoneybookers') {
    if (file_exists(DIR_FS_CATALOG.DIR_WS_MODULES.'payment/'.$order->info['payment_method'].'.php')) {
    include(DIR_FS_CATALOG.DIR_WS_MODULES.'payment/'.$order->info['payment_method'].'.php');
    include(DIR_FS_CATALOG.'lang/'.$order->info['language'].'/modules/payment/'.$order->info['payment_method'].'.php');
    $class = $order->info['payment_method'];
    $payment = new $class();
    $payment->admin_order($_GET['oID']);
    }
    }
    ?>
            </table></td>
          </tr>
          <tr>
            <td><?php echo xtc_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
          </tr>
          <tr>
            <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
              <tr class="dataTableHeadingRow">
                <td class="dataTableHeadingContent" colspan="2"><?php echo TABLE_HEADING_PRODUCTS; ?></td>
                <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS_MODEL; ?></td>
                <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_EXCLUDING_TAX; ?></td>
    <?php

            if ($order->products[0]['allow_tax'] == 1) {
    ?>  
                <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TAX; ?></td>
                <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_INCLUDING_TAX; ?></td>
    <?php

            }
    ?>
                <td class="dataTableHeadingContent" align="right"><?php

            echo TABLE_HEADING_TOTAL_INCLUDING_TAX;
            if ($order->products[$i]['allow_tax'] == 1) {
                    echo ' (excl.)';
            }
    ?></td>
              </tr>
    <?php

            for ($i = 0, $n = sizeof($order->products); $i < $n; $i ++) {

                    echo '          <tr class="dataTableRow">'."\n".'            <td class="dataTableContent" valign="top" align="right">'.$order->products[$i]['qty'].'&nbsp;x&nbsp;</td>'."\n".'            <td class="dataTableContent" valign="top">'.$order->products[$i]['name'];

                    if (sizeof($order->products[$i]['attributes']) > 0) {
                            for ($j = 0, $k = sizeof($order->products[$i]['attributes']); $j < $k; $j ++) {

                                    echo '<br /><nobr><small>&nbsp;<i> - '.$order->products[$i]['attributes'][$j]['option'].': '.$order->products[$i]['attributes'][$j]['value'].': ';

                            }

                            echo '</i></small></nobr>';
                    }

                    echo '            </td>'."\n".'            <td class="dataTableContent" valign="top">';

                    if ($order->products[$i]['model'] != '') {
                            echo $order->products[$i]['model'];
                    } else {
                            echo '<br />';
                    }

                    // attribute models
                    if (sizeof($order->products[$i]['attributes']) > 0) {
                            for ($j = 0, $k = sizeof($order->products[$i]['attributes']); $j < $k; $j ++) {

                                    $model = xtc_get_attributes_model($order->products[$i]['id'], $order->products[$i]['attributes'][$j]['value'],$order->products[$i]['attributes'][$j]['option']);
                                    if ($model != '') {
                                            echo $model.'<br />';
                                    } else {
                                            echo '<br />';
                                    }
                            }
                    }

                    echo '&nbsp;</td>'."\n".'            <td class="dataTableContent" align="right" valign="top">'.format_price($order->products[$i]['final_price'] / $order->products[$i]['qty'], 1, $order->info['currency'], $order->products[$i]['allow_tax'], $order->products[$i]['tax']).'</td>'."\n";

                    if ($order->products[$i]['allow_tax'] == 1) {
                            echo '<td class="dataTableContent" align="right" valign="top">';
                            echo xtc_display_tax_value($order->products[$i]['tax']).'%';
                            echo '</td>'."\n";
                            echo '<td class="dataTableContent" align="right" valign="top"><b>';

                            echo format_price($order->products[$i]['final_price'] / $order->products[$i]['qty'], 1, $order->info['currency'], 0, 0);

                            echo '</b></td>'."\n";
                    }
                    echo '            <td class="dataTableContent" align="right" valign="top"><b>'.format_price(($order->products[$i]['final_price']), 1, $order->info['currency'], 0, 0).'</b></td>'."\n";
                    echo '          </tr>'."\n";
            }
    ?>
              <tr>
                <td align="right" colspan="10"><table border="0" cellspacing="0" cellpadding="2">
    <?php

            for ($i = 0, $n = sizeof($order->totals); $i < $n; $i ++) {
                    echo '              <tr>'."\n".'                <td align="right" class="smallText">'.$order->totals[$i]['title'].'</td>'."\n".'                <td align="right" class="smallText">'.$order->totals[$i]['text'].'</td>'."\n".'              </tr>'."\n";
            }
    ?>
                </table></td>
              </tr>
            </table></td>
          </tr>
          <tr>
            <td><?php echo xtc_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
          </tr>
          <tr>
            <td class="main"><table border="1" cellspacing="0" cellpadding="5">
              <tr>
                <td class="smallText" align="center"><b><?php echo TABLE_HEADING_DATE_ADDED; ?></b></td>
                <td class="smallText" align="center"><b><?php echo TABLE_HEADING_CUSTOMER_NOTIFIED; ?></b></td>
                <td class="smallText" align="center"><b><?php echo TABLE_HEADING_STATUS; ?></b></td>
                <td class="smallText" align="center"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>
              </tr>
    <?php

            $orders_history_query = xtc_db_query("select orders_status_id, date_added, customer_notified, comments from ".TABLE_ORDERS_STATUS_HISTORY." where orders_id = '".xtc_db_input($oID)."' order by date_added");
            if (xtc_db_num_rows($orders_history_query)) {
                    while ($orders_history = xtc_db_fetch_array($orders_history_query)) {
                            echo '          <tr>'."\n".'            <td class="smallText" align="center">'.xtc_datetime_short($orders_history['date_added']).'</td>'."\n".'            <td class="smallText" align="center">';
                            if ($orders_history['customer_notified'] == '1') {
                                    echo xtc_image(DIR_WS_ICONS.'tick.gif', ICON_TICK)."</td>\n";
                            } else {
                                    echo xtc_image(DIR_WS_ICONS.'cross.gif', ICON_CROSS)."</td>\n";
                            }
                            echo '            <td class="smallText">';
                            if($orders_history['orders_status_id']!='0') {
                                    echo $orders_status_array[$orders_history['orders_status_id']];
                            }else{
                                    echo '<font color="#FF0000">'.TEXT_VALIDATING.'</font>';
                            }
                            echo '</td>'."\n".'            <td class="smallText">'.nl2br(xtc_db_output($orders_history['comments'])).'&nbsp;</td>'."\n".'          </tr>'."\n";
                    }
            } else {
                    echo '          <tr>'."\n".'            <td class="smallText" colspan="5">'.TEXT_NO_ORDER_HISTORY.'</td>'."\n".'          </tr>'."\n";
            }
    ?>
            </table></td>
          </tr>
          <tr>
            <td class="main"><br /><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>
          </tr>
          <tr>
            <td><?php echo xtc_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
          </tr>
          <tr><?php echo xtc_draw_form('status', FILENAME_ORDERS, xtc_get_all_get_params(array('action')) . 'action=update_order'); ?>
            <td class="main"><?php
                      $mail_template=array();
                      $mail_template[]=array('id' => 0,'text' => '---');
                      $get_names_query=xtc_db_query("SELECT id, title, mail_text FROM mail_templates order by id");
                      while($get_names=xtc_db_fetch_array($get_names_query)){
                            $mail_template[]=array('id' => $get_names['id'],'text' => $get_names['title']);
                      }

                      if(isset($_GET['mailtemp']) && is_numeric($_GET['mailtemp']) ){
                            $get_mailtext_query=xtc_db_query("SELECT id, mail_text, title FROM mail_templates WHERE id='".(int)$_GET['mailtemp']."'");
                            $get_mailtext = xtc_db_fetch_array($get_mailtext_query);

                            $order->info['comments'] = $get_mailtext['mail_text'];
                      }

                      if(isset($_GET['mailtemp']) && is_numeric($_GET['mailtemp'])) {
                              echo '<div><strong>Vorlage:</strong> '.xtc_draw_pull_down_menu('mail_template', $mail_template, '', 'onChange="this.form.submit();"').' Vorlage <em>"'.$get_mailtext['title'].'"</em> l&ouml;schen? <a href="'. xtc_href_link(FILENAME_ORDERS,'oID='.$_GET['oID'].'&page='.$_GET['page'].'&action=mail_template_delete&mail_template_id='.$get_mailtext['id']).'">'.xtc_image(DIR_WS_ICONS.'cross.gif', 'l&ouml;schen').'</a></div>';
                      } else {
                            echo '<div><strong>Vorlage:</strong> '.xtc_draw_pull_down_menu('mail_template', $mail_template, '', 'onChange="this.form.submit();"').'</div>';
                      }
                      echo xtc_draw_textarea_field('comments', 'soft', '60', '5', $order->info['comments']);
                      echo '<div><b>Als Vorlage speichern unter:</b> '.xtc_draw_input_field('mail_template_title', '', 'maxlength="100"').'</div>';

                    ?></td>
          </tr>
          <tr>
            <td><?php echo xtc_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
          </tr>
          <tr>
            <td><table border="0" cellspacing="0" cellpadding="2">
              <tr>
                <td><table border="0" cellspacing="0" cellpadding="2">
                  <tr>
                    <td class="main"><b><?php echo ENTRY_STATUS; ?></b> <?php echo xtc_draw_pull_down_menu('status', $orders_statuses, $order->info['orders_status']); ?></td>
                  </tr>
                  <tr>
                    <td class="main"><b><?php echo ENTRY_NOTIFY_CUSTOMER; ?></b> <?php echo xtc_draw_checkbox_field('notify', '', true); ?></td>
                    <td class="main"><b><?php echo ENTRY_NOTIFY_COMMENTS; ?></b> <?php echo xtc_draw_checkbox_field('notify_comments', '', true); ?></td>
                  </tr>
                </table></td>
                <td valign="top"><input type="submit" class="button" value="<?php echo BUTTON_UPDATE; ?>"></td>
              </tr>
            </table></td>
          </form></tr>
          <tr>
            <td colspan="2" align="right">
    <?php
            if (ACTIVATE_GIFT_SYSTEM == 'true') {
                    echo '<a class="button" href="'.xtc_href_link(FILENAME_GV_MAIL, xtc_get_all_get_params(array ('cID', 'action')).'cID='.$order->customer['ID']).'">'.BUTTON_SEND_COUPON.'</a>';
            }
    ?>
       <a class="button" href="Javascript:void()" onclick="window.open('<?php echo xtc_href_link(FILENAME_PRINT_ORDER,'oID='.$_GET['oID']); ?>', 'popup', 'toolbar=0, width=640, height=600')"><?php echo BUTTON_INVOICE; ?></a>
       <a class="button" href="Javascript:void()" onclick="window.open('<?php echo xtc_href_link(FILENAME_PRINT_PACKINGSLIP,'oID='.$_GET['oID']); ?>', 'popup', 'toolbar=0, width=640, height=600')"><?php echo BUTTON_PACKINGSLIP; ?></a>
            <!-- BMC Delete CC Info -->
            <a class="button" href="<?php echo xtc_href_link(FILENAME_ORDERS, 'oID='.$_GET['oID'].'&action=deleteccinfo').'">'.BUTTON_REMOVE_CC_INFO;?></a>&nbsp;
       <a class="button" href="<?php echo xtc_href_link(FILENAME_ORDERS, 'page='.$_GET['page'].'&oID='.$_GET['oID']).'">'.BUTTON_BACK;?></a>
           </td>
          </tr>
    <?php

    }
    elseif ($_GET['action'] == 'custom_action') {

            include ('orders_actions.php');

    } else {
    ?>
          <tr>
            <td width="100%">

    <table border="0" width="100%" cellspacing="0" cellpadding="0">
      <tr>
        <td width="80" rowspan="2"><?php echo xtc_image(DIR_WS_ICONS.'heading_customers.gif'); ?></td>
        <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
        <td class="pageHeading" align="right">
                  <?php echo xtc_draw_form('orders', FILENAME_ORDERS, '', 'get'); ?>
                    <?php echo HEADING_TITLE_SEARCH . ' ' . xtc_draw_input_field('oID', '', 'size="12"') . xtc_draw_hidden_field('action', 'edit').xtc_draw_hidden_field(xtc_session_name(), xtc_session_id()); ?>
                  </form>
    </td>
      </tr>
      <tr>
        <td class="main" valign="top">XT Customers</td>
        <td class="main" valign="top" align="right"><?php echo xtc_draw_form('status', FILENAME_ORDERS, '', 'get'); ?>
                    <?php echo HEADING_TITLE_STATUS . ' ' . xtc_draw_pull_down_menu('status', array_merge(array(array('id' => '', 'text' => TEXT_ALL_ORDERS)),array(array('id' => '0', 'text' => TEXT_VALIDATING)), $orders_statuses), '', 'onChange="this.form.submit();"').xtc_draw_hidden_field(xtc_session_name(), xtc_session_id()); ?>
                  </form></td>
      </tr>
    </table>

            </td>
          </tr>
          <tr>
            <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
              <tr>
                <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
                  <tr class="dataTableHeadingRow">
                    <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CUSTOMERS; ?></td>
                    <td class="dataTableHeadingContent" align="right"><?php echo 'Nr'; ?></td>
                    <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ORDER_TOTAL; ?></td>
                    <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_DATE_PURCHASED; ?></td>
                    <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_STATUS; ?></td>
                    <?php if (AFTERBUY_ACTIVATED=='true') { ?>
                    <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_AFTERBUY; ?></td>
                    <?php } ?>
                    <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>&nbsp;</td>
                  </tr>
    <?php

            if ($_GET['cID']) {
                    $cID = xtc_db_prepare_input($_GET['cID']);
                    $orders_query_raw = "select o.orders_id, o.afterbuy_success, o.afterbuy_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, o.orders_status, s.orders_status_name, ot.text as order_total from ".TABLE_ORDERS." o left join ".TABLE_ORDERS_TOTAL." ot on (o.orders_id = ot.orders_id), ".TABLE_ORDERS_STATUS." s where o.customers_id = '".xtc_db_input($cID)."' and (o.orders_status = s.orders_status_id and s.language_id = '".$_SESSION['languages_id']."' and ot.class = 'ot_total') or (o.orders_status = '0' and ot.class = 'ot_total' and  s.orders_status_id = '1' and s.language_id = '".$_SESSION['languages_id']."') order by orders_id DESC";
            }<br

    rayban

    • Mitglied
    • Beiträge: 113
    Re: ANLEITUNG: Bestell-History - Kommentare kontrollieren
    Antwort #8 am: 29. Januar 2013, 08:09:02
    sorry, habs geschaft!

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: ANLEITUNG: Bestell-History - Kommentare kontrollieren
    Antwort #9 am: 28. Februar 2013, 14:13:06
    Die Funktion ist übrigens in der Shopversion 1.06 bereits enthalten.

    Grüße

    Torsten
    rechtstexte für onlineshop
    16 Antworten
    3486 Aufrufe
    20. Mai 2021, 18:00:03 von Apromo
    16 Antworten
    15842 Aufrufe
    19. März 2013, 15:43:31 von jogomez
    8 Antworten
    5270 Aufrufe
    16. August 2011, 10:54:31 von alkim media
    3 Antworten
    3356 Aufrufe
    15. November 2012, 23:28:22 von Simon
               
    anything