Kann ja sein das das gewollt ist, aber ....
Alle strpos($PHP_SELF, FILENAME_.....) in den if-Anweisungen funktionieren so nicht, denn in PHP5 wird auch ein return-Wert mit "0" als false zurückgegeben. Somit werden alle Anweisungen innerhalb der if-Schleifen nicht ausgeführt, obwohl die Bedingung eigendlich wahr ist.
Die if-Anweisungen müßten also geändert werden (hier als Beispiel die erste if):
if(strpos($PHP_SELF, FILENAME_CHECKOUT_PAYMENT) === 0) echo $payment_modules->javascript_validation();
Die nächste if-Schleife beginnt dann mit:
if(strpos($PHP_SELF, FILENAME_CREATE_ACCOUNT) === 0 ||
strpos($PHP_SELF, FILENAME_CREATE_GUEST_ACCOUNT) === 0 ||
strpos($PHP_SELF, FILENAME_ACCOUNT_PASSWORD) === 0 ||
.....
usw.
Wichtig hierbei der Vergleichsoperator (3 Zeichen).
Siehe auch den Hinweis auf: http://de.php.net/manual/de/function.strpos.php
Achso eins noch:
Im Falle der Konto-Erstellung (create_account.php) stimmt dann auch die FORM_ACTION nicht.
Hier muß der "onsubmit" heißen:
onsubmit="return check_form(this);"
Sonst gibt es einen javascript-Fehler (create_account nicht deklariert).