====== panelUpdate() ======
''void **panelUpdate**(string //Attribut//, string //Wert//, [string //Personenkennung//])''
Die Funktion ''panelUpdate()'' aktualisiert den Eintrag des aktuellen Teilnehmers in der Serienmail-Adressliste.
* //Attribut//\\ Das Attribut des Adresslisten-Eintrags, welches geändert werden soll. Mögliche Attribute sind:
* ''%%'subgroup'%%'' -- Teilgruppe
* ''%%'language'%%'' -- Bevorzugte Sprachversion (3-stelliges Sprachkürzel)
* ''%%'email'%%'' -- E-Mail-Adresse
* ''%%'email.cc'%%'' -- CC-Adresse(n), mehrere Adressen durch Komma getrennt
* ''%%'mobile'%%'' -- Mobiltelefonnummer für SMS
* ''%%'uid'%%'' -- Eindeutige Benutzerkennung (nur ASCII-Zeichen)
* ''%%'salutation'%%'' -- Grußformel (komplett)
* ''%%'title'%%'' -- Akademischer Titel
* ''%%'firstname'%%'' -- Vorname
* ''%%'lastname'%%'' -- Nachname
* ''%%'gender'%%'' -- Geschlecht für die Anrede (''%%''%%'', ''%%'female'%%'', ''%%'male'%%'', ''%%'other'%%'')
* ''%%'custom1'%%'' bis ''%%'custom5'%%'' -- Benutzerdefinierte Felder
* //Wert//\\ Der neue Wert für das Attribut
* //Personenkennung//\\ Optional kann eine Personenkennung (SERIAL) für den Adresseintrag angegeben werden, welcher aktualisiert werden soll. Falls keine Personenkennung angegeben wird, aktualisiert ''panelUpdate()'' den Adresseintrag des aktuellen Teilnehmers. **Wichtig:** Die Zuordnung des laufenden Interviews zu einem Adresseintrag ist nur dann möglich, wenn ...
* das Interview über den Link in einer Serienmail gestartet wurde oder
* das Interview automatisch nach Bestätigung eines Opt-In-Links gestartet wurde.
**Wichtig:** Die Funktion ''panelUpdate()'' funktioniert __nicht__ für Adresseinträge, welche den Datenschutzmodus "anonym" verwenden.
===== Beispiel: Teilgruppe ändern =====
In folgendem Beispiel werden Personen, die bei der Auswahl-Frage AB01 den Wert 2 ausgewählt haben (z.B. "möchte nicht teilnehmen") in die Teilgruppe "screenout" verschoben.
if (value('AB01') == 2) {
panelUpdate('subgroup', 'screenout');
}
Mehr zu IF-Konstruktionen finden Sie in der Anleitung [[:de:create:php-filters]].
**Wichtig:** Dieses Beispiel funktioniert nur dann, wenn der Fragebogen über einen individuellen Teilnahmelink (in einer [[:de:survey:mailing|Serienmail]]) oder infolge einer Opt-In-Bestätigung aufgerufen wurde.
===== Beispiel: Referenz speichern =====
Im folgenden Beispiel wurde der Fragebogen mit einer [[:de:survey:url#einen_link_markieren_r|Referenz]] im Link aufgerufen. Auf Seite 3 wird mit einem Single-Opt-In (Fragekennung "OI01") ein Adresseintrag erzeugt. Der folgende PHP-Code auf Seite 4 speichert die Referenz im Feld "Benutzerdefiniert 1" des neuen Adresseintrags, um im folgenden, späteren Interview mittels ''[[:de:create:functions:panelData]]'' darauf zuzugreifen.
$person = value('OI01');
panelUpdate('custom1', reference(), $person);
**Warnung:** Eine solche Konstellation kann dazu führen, dass eine beabsichtige Pseudonymisierung aufgehoben wird. Klären Sie den Einsatz derartiger Konstruktionen vorab mit der oder dem zuständigen Datenschutzbeauftragten.