Es geht um folgendes. Wer das Gutscheinsystem von Webs nutzen möchte um jedem Kunden automatisch nach Kontoerstellung einen Gutschein zusenden zu lassen, wird sich früher oder später fragen, wieso es eigentlich keinen Löschen Knopf für versandte, aber noch nicht eingelöste Gutscheine gibt. Denn dieser wird garantiert benötigt, da es immer wieder Kunden gibt, die nachträglich die Gutschrift noch abgezogen haben wollen. Das hat mich jedes Mal fast eine 1/4 Stunde Arbeit gekostet, da ich den Gutschein aufwändig in der mySql Datenbank suchen und löschen musste.
Mit meinem Fix werdet Ihr nie mehr einen Gutschein manuell löschen müssen. Hier also die Anleitung, welche Jörg und Mike hoffentlich in der kommenden Versioin 1.0.16 berücksichtigen werden.

Das ganze gebastel spielt sich in der /admin/gv_sent.php ab:
Sucht ca. ab Zeile 33 folgendes:
Code: Alles auswählen
$currencies = new currencies();
Und ergänzt gleich darunter:
Code: Alles auswählen
$gv_id = xtc_db_prepare_input($_GET['gid']); if ( $_GET['action'] && $gv_id != '' ) { switch ($_GET['action']) { case 'deleteconfirm' : xtc_db_query("delete from ".TABLE_COUPONS." where coupon_id = '".xtc_db_input($gv_id)."'"); xtc_db_query("delete from ".TABLE_COUPON_EMAIL_TRACK." where coupon_id = '".xtc_db_input($gv_id)."'"); xtc_db_query("delete from ".TABLE_COUPON_REDEEM_TRACK." where coupon_id = '".xtc_db_input($gv_id)."'"); xtc_redirect(xtc_href_link(FILENAME_GV_SENT, xtc_get_all_get_params(array ('gid', 'action')))); break; } }
Code: Alles auswählen
if (xtc_db_num_rows($redeem_query) > 0) $redeemed = 'Yes';
Code: Alles auswählen
$contents = array('form' => xtc_draw_form('gv', FILENAME_GV_SENT, xtc_get_all_get_params(array ('gid', 'action')).'gid='.$_GET['gid'].'&action=confirm'));
Code: Alles auswählen
$contents[] = array('text' => '<br />' . TEXT_INFO_NOT_REDEEMED);
}
if ( (xtc_not_null($heading)) && (xtc_not_null($contents)) ) {
Code: Alles auswählen
$contents[] = array('text' => '<br />' . TEXT_INFO_NOT_REDEEMED);
$contents[] = array ('align' => 'center', 'text' => '<br /><input type="submit" class="button" value="'.BUTTON_DELETE.'">');
}
if ( $_GET['action'] && $gv_id != '' ) { switch ($_GET['action']) { case 'confirm' : $heading[] = array ('text' => '<b>'.TEXT_INFO_HEADING_DELETE_GV.'</b>'); $contents = array('form' => xtc_draw_form('gv', FILENAME_GV_SENT, xtc_get_all_get_params(array ('gid', 'action')).'gid='.$_GET['gid'].'&action=deleteconfirm')); $contents[] = array ('text' => TEXT_DELETE_INTRO.'<br /><br />'); $contents[] = array ('align' => 'center', 'text' => '<br /><input type="submit" class="button" value="'.BUTTON_DELETE.'"><a class="button" href="'.xtc_href_link(FILENAME_GV_SENT, xtc_get_all_get_params(array ('gid', 'action')).'gid='.$gv_id).'">'.BUTTON_CANCEL.'</a>'); break; } }
if ( (xtc_not_null($heading)) && (xtc_not_null($contents)) ) {
Suche in lang/SPRACHE/admin/gv_sent.php
Code: Alles auswählen
define('TEXT_INFO_NOT_REDEEMED', 'Nicht eingelöst');
Code: Alles auswählen
define('TEXT_INFO_HEADING_DELETE_GV', 'Gutschen löschen');
define('TEXT_DELETE_INTRO', 'Wollen Sie den Gutschein wirklich löschen?');

Hier noch ein Bild wie es anschliessend ausschauen sollte:
