HOOK_BACKEND_ACCOUNT_EDIT (ab Version 4.05) (222)¶
Triggerpunkt¶
Beim Validieren, Speichern, Sperren, Entsperren und Löschen von Backend-Benutzern
Beschreibung¶
Dieser Hook ist ein Backend-Hook und wird in admin/includes/benutzerverwaltung_inc.php
beim Validieren, Speichern, Sperren,
Entsperren und Löschen von Backend-Benutzern getriggert.
Parameter¶
-
Account
oAccount In oAccount wird einAccount
-Objekt mit den Grunddaten des zu bearbeiteten Nutzers übergeben. Die Felder entsprechen den Spalten der Tabelletadminlogin
. -
string
type Die möglichen Werte in type sindVALIDATE
,SAVE
,LOCK
,UNLOCK
undDELETE
, je nach konkret auszuführender Aktion. -
&array
attribs Dieses Array wird als Referenz übergeben und enthält die erweiterten Attribute zum Nutzeraccount. Das Array enthält Werte in der FormfeldName => feldWert
.Im Validieren-Context (
VALIDATE
) können die erweiterten Attribute vor dem Speichern manipuliert werden. Der Shop-Core unterstützt für jedes erweiterte Attribut einen einfachen Wert (VARCHAR(512)
) und einen erweiterten Text (TEXT
). Um einen erweiterten Text zu speichern, kann das Attrbut in der FormfeldName => [feldWertNormal, feldWertLang]
zurückgegeben werden.Note
Dieser Parameter ist nur im Validieren- und Speichern-Context (
VALIDATE|SAVE
) gültig und ansonstenNULL
. -
&array
messages Ist eine Referenz auf ein Array der Form[ 'error' => string, 'notice' => string ]
. In diesem können Fehler und Hinweise an die GUI des Backends zurückgegeben werden. -
&(bool|array)
result Dies ist der Rückgabewert des Aufrufes. Er solltetrue
im Erfolgsfall und ansonsten ein Array mit Feldnamen (als Schlüssel) sein, die zu Fehlern geführt haben. Dieses Array wird an die GUI des Backends zurückgegeben, um z.B. fehlerhafte Felder farblich markieren zu können.
Note
Der Shop-Core besitzt einen Standardmechanismus zum Speichern von erweiterten Attributen. Solange keine weiteren Abhängigkeiten
vorhanden sind muss der Speichern-Context (SAVE
) nicht implementiert werden!
Beispiel für eine Implementierung¶
global $args_arr;
switch ($args_arr['type']) {
case 'VALIDATE':
if (empty($args_arr['attribs']['myField'])) {
$args_arr['messages']['error'] = 'myField darf nicht leer sein!';
$args_arr['result'] = ['myField' => 1];
} else {
$args_arr['attribs']['myField'] = [
strip_tags(substr($args_arr['attribs']['myField'], 0, 250)),
$args_arr['attribs']['myField']
];
$args_arr['result'] = true;
}
break;
case 'SAVE':
// do something to save my own dependencies
$args_arr['result'] = MyPluginHelper::SaveDependencies(
$args_arr['oAccount'],
$args_arr['attribs'],
$args_arr['messages']);
break;
default:
$args_arr['result'] = true;
}