Hallo Cliff
Danke für deinen Tipp! Die save_callback Funktion wird wirklich auch via FE aufgerufen.
Ich habe aber zwei merkwürdige Phänomene:
1. im BE wird mir die URL erst beim zweitenmal speichern korrigiert. Beim ersten mal speichen (nach dem Eintragen der URL) bleibt das http://, erst beim erneuten Klicken auf "Speichern", wird die URL angepasst.
2. im FE geschieht nichts. Via Log sehe ich, dass die function check aufgerufen wird aber angepasst in der DB wird nichts. Irgendwie komisch, nicht? Findet er via FE die ID $dc->id nicht?
Meine Klasse sieht jetzt so aus:
PHP-Code:
class CheckHttp extends Controller
{
public function __construct()
{
parent::__construct();
$this->import('Database');
}
public function checkURL($url)
{
//HTTP entfernen
$http = array("http://", "http");
$newURL = str_replace($http, "", $url);
//Slash am Ende entfernen
if((substr($newURL, -1, 1))=="/")
$newURL=substr($newURL, 0, -1);
return $newURL;
}
//save_callback (Backend)
public function check($strValue, $dc)
{
$newWebsite=$this->checkURL($strValue);
$this->Database->prepare("UPDATE tl_member SET website=? WHERE id=?")->execute($newWebsite, $dc->id);
$this->log("Function check ".$strValue, __CLASS__.'::'.__FUNCTION__, TL_GENERAL);
return $strValue;
}
}
Danke und Gruss
Marco
Lesezeichen