Home > Joomla! | Webdesign > Artforms: Bugs im Release-Candidate für Joomla 1.5 beheben

Artforms: Bugs im Release-Candidate für Joomla 1.5 beheben

25.02.2010 17:39

Wir verwenden auf einer Internetseite Joomla mit installiertem ArtForms Version: 2.1b7.1 [RC1 For Joomla 1.5]. Wie zu erwarten sind noch einige Fehler in dem Modul zu finden. Im Folgenden möchte ich einige Lösungen für kleine Bugs vorstellen:

Bei falscher Captcha-Eingabe werden Eingabefelder gelöscht:

Wird das Formular abgesendet, jedoch ein falscher Captcha-Code eingegeben, so werden alle anderen Eingabefelder geleert und man muss das gesamte Formular erneut ausfüllen. Wünschenswert wäre ja, wenn die Felder bestehen blieben und man lediglich das Captcha erneug eingeben müsste.
Um diesen Bug zu beheben, muss die direkte Weiterleitung nach dem Überprüfen des Captchas ausgeschaltet werden. Hierfür die Datei /components/com_artforms/artforms.html.php öffnen. Die Captcha-Überprüfung beginnt hier in der Zeile 103. Hier werden die einzelnen Varianten überprüft und gegebenenfalls der Benutzer zurückgeleitet. Die Zeile

$mainframe->redirect( JRoute::_( $alink.'&formid='.$formid.'&Itemid='.$Itemid.'&afmsg='.$msg ) );

die in jeder Überprüfung die Weiterleitung einleitet, unterbindet, dass andere Fehler überprüft werden und die Felder wieder mit Inhalt gefüllt werden.
Diese Zeile einfach durch die folgende ersetzen:

$a_errors[] = '<div class="artforms-errorfield">Überprüfung des Sicherheitscodes ist fehlgeschlagen!</div>';
$a_error_ids[] = $item->item_id;

Dies bewirkt, dass nur eine Fehlermeldung erzeugt wird. Text, etc. der Meldung kann man hier entsprechend anpassen. Nachdem nun ein Fehler erzeugt wurde, wird das Script trotzdem weiter ausgeführt, andere Fehler werden gescannt und die Felder werden auch wieder mit Inhalten gefüllt.

Bei fehlerhaftem Absenden des Formulars werden Textarea-Felder geleert

Bei der Überprüfung und dem erneuten Füllen der Formularfeldet, falls ein Fehler auftritt, haben die Programmierer vergessen, auch Textarea-Felder wieder mit Inhalt zu füllen. Deshalb werden diese geleert, wenn das Formular nicht erfolgreich abgeschickt werden kpnnte. Um diesen Bug zu beheben, die Datei /administrator/components/com_artforms/lib/af.lib.artforms.php öffnen und in der Zeile 327 den folgenden Code einfügen:

if(isset($_POST['item_'.$item->item_id])){
$value = $_POST['item_'.$item->item_id];
} else {
$value = $item->default_values;
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Trackbacks: 0

Seiten, die hierhin verweisen:
Artforms: Bugs im Release-Candidate für Joomla 1.5 beheben von PHP-Function Blog
TOP