Da gibt es noch ein Fehlerchen im Modul (mal abgesehen von den blöden Tabellen in der HTML-Datei):
Bestellt ein Kunde einen Gutschein, schließt die Bestellung ab und überlegt sich dann noch etwas anderes zu bestellen ohne sich vorher auszuloggen, erscheint auf der
checkout_success.php erneut der Gutschein den er vorher bestellt hat und nicht der Button "Drucken" für die neue Bestellung.
Das liegt daran, daß die
session_id() in eine neue Variable namens
$_SESSION['sid'] gespeichert wurde bei Aufruf der
giftvoucher.php, also des Artikels "Geschenkgutschein".
Das Bild des Gutscheins und der Link zur Großansicht desselben auf der
checkout_success.php wird jedoch generiert wenn diese genannte
$_SESSION['sid'] gesetzt ist.
Lösung:In der
/checkout_success.php das suchen:
// BOF Gutschein Generatorif(MODULE_GIFT_GENERATOR_STATUS
== 'true') { if(isset($_SESSION['sid'])) { $gv_query = xtc_db_query
("select c.coupon_code, c.coupon_id, c.coupon_amount, ce.titel, ce.text, ce.sign, ce.emailed_to
from coupon_email_track ce, coupons c
where ce.session_id = '".$_SESSION['sid']."'
and c.coupon_id = ce.coupon_id
order by c.coupon_id desc"); $gv_result = xtc_db_fetch_array
($gv_query); $smarty->assign('LINK_DOWNLOAD', HTTP_SERVER
.DIR_WS_CATALOG
.'giftvoucher/gifts/'.$gv_result['coupon_code'].'_big.png'); $smarty->assign('LINK_PREVIEW', HTTP_SERVER
.DIR_WS_CATALOG
.'giftvoucher/gifts/'.$gv_result['coupon_code'].'.png'); }}// EOF Gutschein Generator und hiermit ersetzen (bzw. die Zeile unset($_SESSION['sid']); // noRiddle hinzufügen):
// BOF Gutschein Generatorif(MODULE_GIFT_GENERATOR_STATUS
== 'true') { if(isset($_SESSION['sid'])) { $gv_query = xtc_db_query
("select c.coupon_code, c.coupon_id, c.coupon_amount, ce.titel, ce.text, ce.sign, ce.emailed_to
from coupon_email_track ce, coupons c
where ce.session_id = '".$_SESSION['sid']."'
and c.coupon_id = ce.coupon_id
order by c.coupon_id desc"); $gv_result = xtc_db_fetch_array
($gv_query); $smarty->assign('LINK_DOWNLOAD', HTTP_SERVER
.DIR_WS_CATALOG
.'giftvoucher/gifts/'.$gv_result['coupon_code'].'_big.png'); $smarty->assign('LINK_PREVIEW', HTTP_SERVER
.DIR_WS_CATALOG
.'giftvoucher/gifts/'.$gv_result['coupon_code'].'.png'); } unset($_SESSION['sid']); // noRiddle}// EOF Gutschein Generator Damit ist die gennannte
$_SESSION['sid'] bei erneutem Besuch der
checkout_success.php, wie anfangs beschrieben, nicht mehr gesetzt und alles ist in Ordnung.
Gruß,
noRiddle
[
EDIT Tomcraft 12.12.2014: Fehler im Modul aus
Beitrag 1 korrigiert.]