Seite 1 von 1

"Bug fix": Gutscheine Löschen

Verfasst: Fr 9. Aug 2013, 18:52
von Kopernikus
Fast schon etwas provokativ nenne ich folgende Erweiterung "Bug fix", da diese "Erweiterung" meiner Meinung nach in jedem xtc basierenden System vorhanden sein sollte.

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; } }
Suche:

Code: Alles auswählen

if (xtc_db_num_rows($redeem_query) > 0) $redeemed = 'Yes';
Und ergänze gleich darunter:

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'));
Suche:

Code: Alles auswählen

$contents[] = array('text' => '<br />' . TEXT_INFO_NOT_REDEEMED);
  }

  if ( (xtc_not_null($heading)) && (xtc_not_null($contents)) ) {
und ersetzte den gesamten Code durch:

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)) ) {
Nun müssen wir noch die Sprachdateien entsprechend ergänzen:

Suche in lang/SPRACHE/admin/gv_sent.php

Code: Alles auswählen

define('TEXT_INFO_NOT_REDEEMED', 'Nicht eingel&ouml;st'); 
und ergänze gleich darunter:

Code: Alles auswählen

define('TEXT_INFO_HEADING_DELETE_GV', 'Gutschen l&ouml;schen'); 
define('TEXT_DELETE_INTRO', 'Wollen Sie den Gutschein wirklich l&ouml;schen?'); 
Fertig :)

Hier noch ein Bild wie es anschliessend ausschauen sollte:

Bild