Bug im Gutscheinnodul

Kein System ist vollkommen, findet Ihr Fehler im System, könnt ihr diese hier gerne Posten. Wir werden auch kurzfistige Lösungen und Fixes hier schreiben.

Moderatoren: Magnus, mmaass, ablass

Bug im Gutscheinnodul

Beitragvon Pseiko » Di 6. Dez 2011, 17:20

Hallo,

im Gutscheinmodul steckt ein Bug.
Auch in der Demo-Version passiert.

Wenn man einen Gutschein mit einem Tag Gültigkeit anlegt.
Und man springt dann in den Gutscheinmasken umher, wird die Gültigkeit bei jedem Seitenaufruf um einen Tag verlängert.

Oder man drückt einfach mehrmals hintereinander speichern und er verlängert sich immer wieder um einen Tag.

Jetzt weiß ich auch warum ich mich bei der 1.6er Version schon mal gewundert hatte dass die Gutscheinen über das Monatsende hinaus gültig waren.

Gruß
Pseiko
Pseiko
 
Beiträge: 348
Registriert: Sa 5. Jan 2008, 20:17

Re: Bug im Gutscheinnodul

Beitragvon schokoladentiger69 » Mi 7. Dez 2011, 06:28

Richtig, fiel mir auch auf bei der Gestaltung des diesjährigen "Adventskalenders" mit täglicher Gutscheinaktion. Und bei mir geht es auch nicht, dass nur einzelne Artikel mit Gutscheincode rabattiert werden, es muss die Kategorie sein. Wenn nur ein Artikel gewählt ist sagt das Modul bei der Prüfung im letzten Bestellschritt, dass kein gültiger Artikel ausgewählt wäre, was definitiv aber nicht stimmte.
schokoladentiger69
 
Beiträge: 412
Registriert: Mi 30. Dez 2009, 08:12

Re: Bug im Gutscheinnodul

Beitragvon ablass » Mi 7. Dez 2011, 17:12

@Pseiko

Konnte ich nachvollziehen, lässt sich relativ einfach beheben:
In der Datei functions.mod.gutscheinaktionen.inc.php etwa in Zeile 1062 die Zeile:
Code: Alles auswählen
        $GueltigBis = date("Y-m-d",mktime(0,0,0,$date[1],$date[0]+1,$date[2]))."\n";

so abändern:
Code: Alles auswählen
        $GueltigBis = date("Y-m-d",mktime(23,59,59,$date[1],$date[0],$date[2]))."\n";



@schokoladentiger69

Welche Shopversion verwendest du? Handelt es sich bei den Artikeln evtl. um Merkmalkombinationen ? Da gab es einen Bug der mit der Version 1.7 gefixt wurde.
ablass
 
Beiträge: 126
Registriert: Mi 22. Jul 2009, 07:56

Re: Bug im Gutscheinnodul

Beitragvon schokoladentiger69 » Do 8. Dez 2011, 08:46

@ablass: Öhm, ehrlich gesagt weiß ich die Version gar nicht, kann ich das irgendwo sehen? Der letzte mitgemacht Update war der auf diese Bürgel-Boniprüfgeschichten, danach nur noch Eigenanpassungen. Shop wurde in 2009 installiert, das Gutscheinmodul kam dieses Jahr dazu (Version mit Shopgutscheinen).
Ja, es handelt sich um Artikel mit Merkmalkombinationen, ich hab fast nur solche :oops: Von daher hab ich mir spontan eben über die Kategorien geholfen aber wenn es da ne Möglichkeit wäre das natürlich nicht schlecht.
schokoladentiger69
 
Beiträge: 412
Registriert: Mi 30. Dez 2009, 08:12

Re: Bug im Gutscheinnodul

Beitragvon mmaass » Do 8. Dez 2011, 13:04

Im Quelltext ganz untern sowie ab der V1.5 im Admin unter Einstellungen -> System
www.randshop.com
Entwicklung - Anpassung - Support
Benutzeravatar
mmaass
Admin
 
Beiträge: 5203
Registriert: Di 24. Aug 2004, 17:44
Wohnort: Berlin

Re: Bug im Gutscheinnodul

Beitragvon ablass » Do 8. Dez 2011, 14:37

Ok wenn du selber Anpassungen gemacht hast ist natürlich ungünstig mit nem Update auf die 1.7.
Der Fix ist aber auch sehr übersichtlich... in functions.mod.gutscheinaktionen.inc.php in der Funktion CheckGutschein() müsste so etwa um die Zeile 206 herum folgendes stehen:

Code: Alles auswählen
         if ($GutscheinAktionObject->gueltigkeitsbereich == 2) {
            
            // Artikel aus dem Warenkorb
            $SQLString = "SELECT ";      
            $SQLString .= TABLE_WARENKORB . ".artikel_id ";      
            $SQLString .= "FROM ";      
            $SQLString .= TABLE_WARENKORB . " ";      
            $SQLString .= "WHERE ";      
            $SQLString .= TABLE_WARENKORB . ".session = '" . $Session . "' ";      
            
            $MySQLQueryReference = errorlogged_mysql_query($SQLString);
            
            while ($WarenkorbArtikelRow = mysql_fetch_array($MySQLQueryReference)) {
               
               $WarenkorbArtikelIDArray[] = $WarenkorbArtikelRow["artikel_id"];
               
            }


das muss so geändert werden:

Code: Alles auswählen
         if ($GutscheinAktionObject->gueltigkeitsbereich == 2) {
            
            // Artikel aus dem Warenkorb
            $SQLString = "SELECT ";      
            $SQLString .= TABLE_WARENKORB . ".artikel_id ";      
            $SQLString .= ', ' . TABLE_ARTIKEL . '.merkmalkombinationparentid ';
            $SQLString .= "FROM ";      
            $SQLString .= TABLE_WARENKORB . " ";      
            $SQLString .= ' INNER JOIN ' . TABLE_ARTIKEL . ' ON ' . TABLE_WARENKORB . '.artikel_id = ' . TABLE_ARTIKEL . '.id ';
            $SQLString .= "WHERE ";      
            $SQLString .= TABLE_WARENKORB . ".session = '" . $Session . "' ";      
            
            $MySQLQueryReference = errorlogged_mysql_query($SQLString);
            
            while ($WarenkorbArtikelRow = mysql_fetch_array($MySQLQueryReference)) {
               if($WarenkorbArtikelRow['merkmalkombinationparentid'] == 0)
                  $WarenkorbArtikelIDArray[] = $WarenkorbArtikelRow["artikel_id"];
               else
                  $WarenkorbArtikelIDArray[] = $WarenkorbArtikelRow['merkmalkombinationparentid'];
            }


dann sollte es eigentlich schon tun.
ablass
 
Beiträge: 126
Registriert: Mi 22. Jul 2009, 07:56

Re: Bug im Gutscheinnodul

Beitragvon schokoladentiger69 » Do 8. Dez 2011, 17:44

@mmaas: Danke. Dann ist es 1.5.1 laut Systeminfo. Die Anpassungen habt ja eh ihr gemacht und von daher (danke @ablass trotzdem!) halt ich mich da raus - besser ist das - bevor ich mir wieder aufs WE den Shop komplett lahmlege :oops:
@ablass: Ich hab nämlich keine Ahnung von der Materie :oops: Bin nur Anwender und hab aus meinen Fehlern (s. Lahmlegen Shop am WE) gelernt!
schokoladentiger69
 
Beiträge: 412
Registriert: Mi 30. Dez 2009, 08:12

Re: Bug im Gutscheinnodul

Beitragvon mmaass » Fr 9. Dez 2011, 10:27

Hi Schokoladentiger, schick mir mal kommende Woche bitte eine Mail drüber, dann bau ich es bei Dir ein. :)
www.randshop.com
Entwicklung - Anpassung - Support
Benutzeravatar
mmaass
Admin
 
Beiträge: 5203
Registriert: Di 24. Aug 2004, 17:44
Wohnort: Berlin

Re: Bug im Gutscheinnodul

Beitragvon schokoladentiger69 » Fr 9. Dez 2011, 13:07

@mmaass: Ja ist denn scho Weihnachten? Super, ich freu mich, danke fürs Angebot - nehm ich doch gerne an und meld mich nächste Woche!
schokoladentiger69
 
Beiträge: 412
Registriert: Mi 30. Dez 2009, 08:12


Zurück zu Bugmeldungen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste
cron