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: Nach Update Track and Trace keine Mail Fehler 500

    karl

    • Schreiberling
    • Beiträge: 439
    Hallo,
    habe jetzt nach dem letzten Sicherheitsupdate (könnte auch schon vorher nicht funktioniert haben nach SP1d) keine Mail an Kunden + Fehler 500 wenn beim eingebauten Modul (Chris Lige) der Trackingcode gesendet werden soll. Ohne Mail senden kein Fehler. Beide male werden auch die Daten übernommen aber eben keine Mail beim Senden.

    Finde den Bug nicht.
    Bitte mal schauen ob Ihr was seht. Hier mal der betreffende Auszug aus der admin/orders.php

    -> Wenn ich die alte Datei mit SP1a drauf spiele geht das wieder! Ist also irgenwann bei Updaten was schief gelaufen.

    Code: PHP  [Auswählen]
    case 'update_order' :
        $status = (int) $_POST['status'];
       
        $comments = xtc_db_prepare_input($_POST['comments']);
     
        $order_updated = false;
            $check_status_query = xtc_db_query("-- /admin/orders.php
                                              SELECT customers_name,
                                                     customers_email_address,
                                                     orders_status,
                                                     date_purchased
                                                FROM "
    .TABLE_ORDERS."
                                               WHERE orders_id = "
    .$oID);
        $check_status = xtc_db_fetch_array($check_status_query);
        if ($check_status['orders_status'] != $status || $comments != '') {
          xtc_db_query("-- /admin/orders.php
                          UPDATE "
    .TABLE_ORDERS."
                          SET orders_status = "
    .$status.",
                              last_modified = now()
                          WHERE orders_id = "
    .$oID);
          $customer_notified = 0;
          if ($_POST['notify'] == 'on') {
            $notify_comments = ($_POST['notify_comments'] == 'on') ? $comments : '';
            $orders_query = xtc_db_query("-- /admin/orders.php
                                  SELECT customers_id
                                  FROM "
    .TABLE_ORDERS."
                                  WHERE orders_id = "
    .$oID);
            $order_cid = xtc_db_fetch_array($orders_query);
            $gender_query = xtc_db_query("-- /admin/orders.php
                                          SELECT customers_gender,
                                                 customers_lastname
                                            FROM "
    . TABLE_CUSTOMERS . "
                                           WHERE customers_id = "
    .$order_cid['customers_id']);
            $gender = xtc_db_fetch_array($gender_query);
     /*       if ($gender['customers_gender']=='f') {
              $smarty->assign('GENDER', FEMALE);
            } elseif ($gender['customers_gender']=='m') {
              $smarty->assign('GENDER', MALE);
            } else {
              $smarty->assign('GENDER', '');
            }
            $smarty->assign('LASTNAME',$gender['customers_lastname']);
    */

            // assign language to template for caching
            $smarty->assign('language', $order->info['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_MAIL.'templates/'.CURRENT_TEMPLATE.'/img/');
            if ($check_status_0['customers_gender']=='f') {
                            $smarty->assign('GENDER', 'Sehr geehrte Frau');
                       } elseif ($check_status_0['customers_gender']=='m') {
                            $smarty->assign('GENDER', 'Sehr geehrter Herr');
                       } else {
                         $smarty->assign('GENDER', '');
                       }
            $smarty->assign('TITLE',$check_status_0['customers_title']);
            $smarty->assign('NAME', $check_status_0['customers_name']);
        $smarty->assign('ORDER_NR', $order->info['order_id']);
        // $smarty->assign('ORDER_NR', $oID);
            $smarty->assign('ORDER_ID', $oID);
            // Edit by kahno 13.05.2012
            $smarty->assign('csID', $check_status_0['customers_cid']);
            $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_0['date_purchased']));
            $smarty->assign('NOTIFY_COMMENTS', nl2br($notify_comments)); // Tomcraft - 2009-10-10 - Fixed wordwrap in notify_comments
            $smarty->assign('ORDER_STATUS', $orders_status_array[$status]);
    // BOF - Chris LIGE - 2011-05-17 - Extended Email Templates
    //                              $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');

                                    $template_path = CURRENT_TEMPLATE.'/admin/mail/'.$order->info['language'].'/';
                                    $template_html = $template_path.'/change_order_mail.html';
                                    $template_txt = $template_path.'/change_order_mail.txt';
                                    $extended_templates = xtc_db_query("select emtem_name from ".TABLE_EMAIL_TEMPLATES." where emtem_order_status_id='".xtc_db_input($status)."' and emtem_language_id = '".$_SESSION['languages_id']."'");
                                    if (xtc_db_num_rows($extended_templates)) {
                                            $extended_template = xtc_db_fetch_array($extended_templates);
                                            $template_html = $template_path.$extended_template['emtem_name'].'.html';
                                            $template_txt = $template_path.$extended_template['emtem_name'].'.txt';
                                    }
                                    if ($lige_tracking) {
                                            $parcel_count = 0;
                                            $parcel_link ='';
                                            $tracking_links_query = xtc_db_query("select ortra.ortra_id, ortra.ortra_parcel_id, carriers.carrier_name, carriers.carrier_tracking_link from ".TABLE_ORDERS_TRACKING." ortra, carriers where ortra_order_id = '".xtc_db_input($oID)."' and ortra.ortra_carrier_id = carriers.carrier_id");
                                            if (xtc_db_num_rows($tracking_links_query)) {
                                                    $parcel_count = xtc_db_num_rows($tracking_links_query);
                                                    while ($tracking_link = xtc_db_fetch_array($tracking_links_query)) {
                                                            $parcel_link .= '<a href="'.str_replace('$1',$tracking_link['ortra_parcel_id'],$tracking_link['carrier_tracking_link']).'" target="_blank">'.$tracking_link['ortra_parcel_id'].'</a><br />';
                                                    }
                                            }
                                            $smarty->assign('PARCEL_COUNT', $parcel_count);
                                            $smarty->assign('PARCEL_LINK', $parcel_link);
                                    }
                                    $html_mail = $smarty->fetch($template_html);
                                    $txt_mail = $smarty->fetch($template_txt);
    // EOF - Chris LIGE - 2011-05-17 - Extended Email Templates

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

          xtc_db_query("-- /admin/orders.php
                          INSERT INTO "
    .TABLE_ORDERS_STATUS_HISTORY."
                          (orders_id, orders_status_id, date_added, customer_notified, comments)
                          VALUES ("
    .$oID.", ".$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;


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

    xxhappyxx

    • Viel Schreiber
    • Beiträge: 829
    • Geschlecht:
    Re: Nach Update Track and Trace keine Mail Fehler 500
    Antwort #1 am: 17. August 2012, 19:24:35
    Hallo Karl,

    hab`s gerade bei mir SP1d + Fix getestet - Alles so wie es sein soll.

    Da hast wohl schon vorher einen Fehler eingebaut.

    Gruß Thomas

    karl

    • Schreiberling
    • Beiträge: 439
    Re: Nach Update Track and Trace keine Mail Fehler 500
    Antwort #2 am: 18. August 2012, 01:41:49
    Hi Thomas,
    ich bin von SP1a direkt auf SP1d und danach kam auch schon der Security Fix. Und nach den beiden ging das nicht mehr. Hast Du in meinem Code nichts gesehen, so bei drüberschauen?

    Da isr der Wurm drin, denn mit den alten orders.php geht das ja wieder.
    Und nur das beim Senden der Mail kommt der Fehler.

    Guenter59

    • Viel Schreiber
    • Beiträge: 1.484
    Re: Nach Update Track and Trace keine Mail Fehler 500
    Antwort #3 am: 18. August 2012, 08:08:28
    @Karl
    Hallo Karl
    Hast Du tatsächlich direkt das update Sp1d von Sp1a gemacht?
    Wenn ja, ist das nicht richtig.
    Du musst die Updates dazwischen auch machen, weil da auch andere Dateien ( als bei Sp1d )betroffen sind usw.
    Es könnte sein, daß in der admin/order.php auf Funktionen zugegriffen wird, die sich zwischenzeitlich verändert haben.
    Gruß
    Günter

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Nach Update Track and Trace keine Mail Fehler 500
    Antwort #4 am: 18. August 2012, 09:52:55
    Zitat
    Hast Du tatsächlich direkt das update Sp1d von Sp1a gemacht?
    Wenn ja, ist das nicht richtig.

    Stimmt nicht ganz. Wenn ich die einzelnen Updatepakete von 1a - 1d einzeln herunterlade und die zu einem Updatepakete zusammenlege, kann ich schon ein Update von 1a - 1d in einem Schritt machen.

    Gruß
    ronny

    Guenter59

    • Viel Schreiber
    • Beiträge: 1.484
    Re: Nach Update Track and Trace keine Mail Fehler 500
    Antwort #5 am: 18. August 2012, 10:15:10
    Guten morgen Ronny :morning:
    So mach ich das auch, wenn ich mehrere updates zu machen habe.
    Gemacht werden müssen aber alle
    mfg
    Günter

    karl

    • Schreiberling
    • Beiträge: 439
    Re: Nach Update Track and Trace keine Mail Fehler 500
    Antwort #6 am: 18. August 2012, 19:31:43
    Ich habe das noch ein wenig anders gemacht.
    Eine Excel Tabelle erstellt und dort markiert welche Dateien beim jeweiligen SP betroffen sind. Da gab es ja auch Überschneidungen. Und für das eigentliche Update dann die SP1d Vollversion genommen, also davon die einzelnen Dateien zum Vergleichen herangezogen. Vergessen habe ich da keine.

    Nönö, das liegt schon an dem Abschnitt. Bestimmt nur eine Kleinigkeit, irgendeine Syntax falsch. Wie gesagt ich sehe es nicht.
    153 Antworten
    100908 Aufrufe
    12. Juni 2019, 16:19:45 von Fabrizio
    3 Antworten
    3304 Aufrufe
    25. Mai 2011, 18:19:18 von jannemann
    12 Antworten
    3591 Aufrufe
    11. Dezember 2017, 15:27:20 von lithoverlag