Neue Version Attributmatrix

Im Zuge der Integration in Evergreen habe ich das Modul nochmal etwas überarbeitet und die Beachtung der Lagerverwaltung integriert, d.h. die Anzeige der Eingabefelder ist jetzt davon abhängig, ob der Attributbestand geprüft wird oder nicht, sodaß Shops, bei denen das keine Rolle spielt, keine Werte eintragen müssen. Desweiteren habe ich die Anzeige des Javascript-Tooltips davon abhängig gemacht, ob der Warenbestand abgezogen wird, da nur dann eine korrekte Angabe des Bestands sinnvoll ist

Veröffentlicht unter Bugfix, Evergreen, xtCommerce | Verschlagwortet mit , | 4 Kommentare

Security Patch für xtCommerce 3.0.4SP2.1

Wie sicherlich viele schon wissen, wurde gestern mittag ein Patch für die SP2.1 (in Zusammenhang mit den Shopeigenen SEO-URLs und magic_quotes=On) mit dem Hinweis veröffentlicht, bei älteren Versionen doch bitte auf die neueste zu aktualisieren. Da aber nicht jeder mal soeben updaten kann/will und auch etliche bestehende 2.1er Shops die beiden Dateien aufgrund von Modifikationen nicht einfach austauschen können, hier eine kurze Zusammenfassung der Änderungen:

includes/application_top.php

ca. Zeile 213

$_GET[$vars[$i]] = htmlspecialchars($vars[$i +1]);

danach einfügen

if(get_magic_quotes_gpc()) $_GET[$vars[$i]] = addslashes($_GET[$vars[$i]]);

ca. Zeile 220

$_GET[$key] = htmlspecialchars($value);

danach einfügen

if(get_magic_quotes_gpc()) $_GET[$key] = addslashes($_GET[$key]);

und in der includes/modules/metatags.php

ca. Zeile 86

WHERE content_group='" . $_GET['coID'] . "' and

ändern in

WHERE content_group='" . (int)$_GET['coID'] . "' and

Das wars schon und hilft auch bei älteren Versionen

Veröffentlicht unter Bugfix, xtCommerce | Verschlagwortet mit , | 1 Kommentar

Weiterentwicklung von Evergreen

Wir möchten hiermit die Gelegenheit nutzen, darauf hinzuweisen, das die Entwicklung von Evergreen weitergeht. Die Programmierung hatte aufgrund rechtlicher Unklarheiten lange auf Eis gelegen. Wir arbeiten seit September wieder an der Version und planen für das erste Quartal 2009 eine erste Betaversion. Da die Entwicklung neben der Auftragsprogrammierung stattfindet, sind wir leider nicht so schnell, wie wir gerne wären :-/.

Folgende Ziele haben wir für die erste Version gesetzt:

  • Fehlerbereinigte Grundversion
  • Verlagerung sämtlicher HTML-Fragmente des Frontends in die Template-Dateien
  • Aktualisierung der integrierten Module Smarty, FCK-Editor und PHPMailer
  • Geschwindigkeitsoptimierung der Datenbankindizes + Abfragen
  • Integration unserer freien Module
Veröffentlicht unter Allgemein, Evergreen | Verschlagwortet mit | 1 Kommentar

Neue Version Attributmatrix

Wiederum aufgrund eines Nutzerhinweises konnten wir einen Fehler im Modul Attributmatrix beseitigen. Wenn ein Kunde zum Zeitpunkt, an dem er den Artikel in den Korb legt, noch nicht angemeldet ist und er sich dann auf dem Weg zur Kasse anmeldet (egal ob neu oder mit Passwort), dann wird der Warenkorb auf jeden Fall neu eingelesen (Standardfunktion des Shops) und dabei teilweise die Reihenfolge der Attribute verändert. Das führte dazu, das die Bestandswerte für die Attribute in der Matrix nicht abgezogen werden, was zu fehlerhaften Beständen führen konnte.

Für Nutzer, die das Modul bereits einsetzen: es hat sich nur eine Zeile, die sich in der Anleitung unter der Datei checkout_process.php, ab Zeile 177 befindet, geändert.

Veröffentlicht unter Bugfix, xtCommerce | Verschlagwortet mit , | 1 Kommentar

Datenbank von latin1 nach utf8 migrieren

Da ich mal wieder eine Shopdatenbank von einem Webserver auf einen anderen transferieren wollte und dabei auf dem alten latin1 und auf dem neuen utf8 vorherrscht, habe ich mir als Gedächtnisstütze diesen Beitrag geschrieben. Vielleicht ist er ja auch für andere hilfreich. Er basiert auf einem englischen Blogeintrag von Hackszine.com. Vorraussetzung ist, das es sich um unixoide Systeme mit Shellzugang auf beiden Servern handelt. Das ganze geht natürlich auch für eine Migration auf dem selben System. Im Gegensatz zum Originalartikel beziehen sich meine Befehle auf die komplette Datenbank, nicht auf einzelne Tabellen.

Zuerst wird die alte Datenbank mittels mysqldump gesichert:

mysqldump -u username -p --add-drop-table --lock-tables \
--default-character-set=latin1 database > database.sql

Ich bevorzuge es, die Datei für den Transfer noch zu packen:

bzip2 database.sql

Danach wird die Datei auf den neuen Server transferiert. Zuerst (sofern nötig) entpacken

bzip2 -d database.sql.bz2

Jetzt werden die alten Kodierungsanweisungen aus der SQL-Datei entfernt

sed "s/DEFAULT CHARSET=latin1//g" \
database.sql > database1.sql
sed "s/ COLLATE=latin1_general_ci//g" \
database1.sql > database2.sql
sed "s/ collate latin1_general_ci//g" \
database2.sql > database3.sql

Dies setzt vorraus, das die neue Datenbank bereits als Unicode/UTF-8 eingestellt ist. Ansonsten ist dies wahrscheinlich die bessere Variante

sed "s/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/g" \
database.sql > database1.sql
sed "s/ COLLATE=latin1_general_ci/COLLATE=utf8_unicode_ci/g" \
database1.sql > database2.sql
sed "s/ collate latin1_general_ci/collate utf8_unicode_ci/g" \
database2.sql > database3.sql

Danach noch ein weiterer wichtiger Schritt

sed "s/SET NAMES latin1/SET NAMES utf8/g" \
database3.sql > database4.sql

und dann die Datenbank einspielen

mysql -u username -p --default-character-set=utf8 \
database < database4.sql

Veröffentlicht unter MySQL | Verschlagwortet mit , , | Hinterlasse einen Kommentar

Neue Version offene Warenkörbe PLUS

Leider hatten wir beim letzten Release den Debugcode für den Mailversand aktiviert gelassen, sodass dies auf einigen Systemen zu Fehlermeldungen führte. Desweiteren scheint es Probleme mit der Verarbeitung von Sessiondaten zu geben, wenn die Sessions im Dateisystem und nicht in der Datenbank gespeichert werden. Es erscheint dann beispielhaft folgende Fehlermeldung:

Warning: fopen(/tmp/sess_...) [function.fopen]: failed to open stream: Permission denied in /xxx/yyy/admin/recover_cart_sales.php on line 398

Hier bitte in der Konfiguration den Punkt “Ignoriere Kunden mit Sitzung” auf “false” stellen.

Auch dieses Mal genügt der reine Ausstausch der admin/recover_cart_sales.php.

Veröffentlicht unter Allgemein | Verschlagwortet mit , | 1 Kommentar

Neue Version komfortabler PDF-Katalog

Wir haben aufgrund eines Hinweises die Funktion zum “bereinigen” der Artikelbeschreibung dahingehend erweitert, das nicht nur ein <br>, sondern auch Absätze (<p>) berücksichtigt werden. Damit bleibt die Formatierung der Texte besser erhalten und fehlerhafte Zusammenführung von Absätzen wird vermieden. Für Nutzer, die das Modul bereits einsetzen, genügt es, die admin/includes/classes/pdf_export.php auszutauschen.

Veröffentlicht unter Bugfix, xtCommerce | Verschlagwortet mit , , | 4 Kommentare

Neue Version offene Warenkörbe PLUS

Auch diesmal haben Kundenhinweise dazu geführt, das zwei Fehler behoben werden konnten. Der erste Fehler entsteht beim versenden mehrerer offener Warenkörbe per Mail. Die Produktvariable wurde nicht zurückgesetzt und somit wurden Artikel aus allen Warenkörben “angesammelt”. Der zweite Fehler betraf die Weiterleitungsadresse, diese wurde schlicht nicht beachtet. Für alle, die bereits die freie Version installiert haben, reicht der Austausch der admin/recover_cart_sales.php.

Veröffentlicht unter Bugfix, xtCommerce | Verschlagwortet mit , | Hinterlasse einen Kommentar

Neue Version Attributmatrix

In der Anleitung fehlte eine Anweisung:

admin/includes/application_top.php

ca. Zeile 113

define('FILENAME_NEW_ATTRIBUTES','new_attributes.php');

danach einfügen

define('FILENAME_NEW_ATTRIBUTES_MATRIX','new_attributes_matrix.php');

Dies ist in der aktuellen Version des Moduls behoben.

Veröffentlicht unter Allgemein, Bugfix, xtCommerce | Verschlagwortet mit , , | 6 Kommentare

Neue Version erweiterter Im/Export 2.0

Aufgrund eines weiteren Hinweises konnten wir noch zwei weitere Fehler, die dem ursprünglichen Im-/Exportmodul entstammen, beheben.

Der erste Fehler bezieht sich auf die Kundengruppenberechtigung für Administratoren (Kundengruppe 0), welche faktisch nicht beachtet wurden. Anscheinend wurde dabei die gleiche Logik wie bei den Staffelpreisen angelegt, bei der es ja keine Einträge für Administratoren gibt (auch wenn die Tabelle aus Kompatibilitätsgründen existiert, eine Eingabemöglichkeit dagegen nicht).

Der zweite Fehler bezieht sich auf den Import von Staffelpreisen. Hier werden bei jedem Artikel mit Staffelpreisen die Staffelpreistabellen vollständig geleert (truncate), sodass der Import nur den letzten Staffelpreissatz übernimmt.

$truncate_query = "TRUNCATE personal_offers_by_customers_status_...

Dies haben wir durch ein DELETE für den jeweiligen Artikel ersetzt.

Nachtrag: Anscheinend entstammt dieser Fehler einer älteren xt-Version (3.0.4 oder SP1) und ist in der aktuellen Version nicht mehr vorhanden. Insofern haben wir nur den aktuellen Stand ergänzt.

Veröffentlicht unter Allgemein, Bugfix | Verschlagwortet mit , , | 2 Kommentare