Zum Inhalt springen

Front End Benutzer Registrierung und Kommentare verursachen Fehler

Erstellt am 4. November 2005 · 1 Antwort · letzte Antwort am 4. November 2005

Tags: Frontend-Benutzer, PHP, Frage

mischa ·

Moin,

isch hab folchendes Problem:

Bei der Extension "Front End Benutzer Registrierung" kann man sich bei der Anmeldung einen Kommentar setzen.
Wenn jetzt jemand in dieses Kommentarfeld einen Zeilenumbruch einfügt (Return, Enter 😉 ), dann werden die Inhalte ALLER Felder nicht an die Hidden-Fields der Überprüfungsseite übergeben.
Damit besteht dann das Problem, dass bei Bestätigung der Eingaben man zur Maske zurück geschickt wird und gesagt bekommt: du musst noch Felder ausfüllen (Username, Password, etc.)

Was muss ich wie wo ändern, dass das geht?

mischa ·

Die eine Richtung habe ich schon gefunden. Einfach in der class.tx_srfeuserregister_pi1.php folgende Funktion so ersetzen.

function getUpdateJS($dataArray, $formName, $arrPrefix, $fieldList) {
  $JSPart = '';
  $updateValues = t3lib_div::trimExplode(',', $fieldList);
  while (list(, $fKey) = each($updateValues)) {
    $value = $dataArray[$fKey];
    if (is_array($value)) {
      reset($value);
      while (list(, $Nvalue) = each($value)) {
        if($fKey == 'comments'){
          $Nvalue = str_replace("\r\n","<br />",$Nvalue);
        }
       $JSPart .= "
      updateForm('".$formName."','".$arrPrefix."[".$fKey."][]',".$this->quoteJSvalue($Nvalue, true).")";
      }
      } else {
        if($fKey == 'comments'){
          $value = str_replace("\r\n","<br />",$value);
        }
      $JSPart .= "
updateForm('".$formName."','".$arrPrefix."[".$fKey."]',".$this->quoteJSvalue($value, true).")";
      }
    }
    $JSPart = '<script type="text/javascript">
/*<![CDATA[*/ 
<!--'.$JSPart.'
// -->
	/*]]>*/
</script>';

			$GLOBALS['TSFE']->additionalHeaderData['JSincludeFormupdate'] = '<script type="text/javascript" src="' . $GLOBALS['TSFE']-">absRefPrefix . 't3lib/jsfunc.updateform.js"></script>';
	return $JSPart;
}