void mailResume(string PersonID, int Serienmail, int Zeitpunkt, [string C1, string C2, string C3])
Diese Funktion versendet im laufenden Interview eine E-Mail mit einem Link, um das Interview später fortzusetzen. Dies ist vor allem in Verbindung mit einer gezielten Unterbrechung in mehrwelligen Erhebungen sinnvoll (s. buttonHide()
).
Wichtig: Der Versand funktioniert nur dann, wenn der Teilnehmer bereits in der Serienmail-Adressliste registriert ist.
caseSerial()
ermittelt werden.%custom1%
bis %custom3%
in der Serienmail verwenden. In Verbindung mit value()
können Sie also sogar Antworten aus dem laufenden Interview in der E-Mail anzeigen.
Hinweis: Eine Serienmail kann bei Verwendung von mailResume()
mehrfach an denselben Adressaten verschickt werden.
Hinweis: Der Platzhalter %link%
in der Serienmail wird nicht durch einen regulären personalisierten Link ersetzte (bei dessen Aufruf das Interview u.U. von Neuem startet), sondern durch einen Link direkt zum laufenden Interview.
Hinweis: Wird als Zeitpunkt ein Wert unter 153900000 eingetragen, wird der Wert als Verzögerung ab aufruf von mailResume()
interpretiert. Ein größerer Wert wird als absoluter Unix-Zeitstempel interpretiert.
Tipp: Im Internet gibt es zahlreiche Websites, die ein Datum in einen Unix-Zeitstempel umrechnen können, z.B. unixtime.de. Auch die Datums- und Zeit-Funktionen von PHP (insbesondere mktime()
und strtotime()
) sind dafür hervorragend geeignet.
// Prüfen, wie viel Zeit seit der aktuellen Seite bisher verbracht wurde // Falls es weniger als 24 Stunden sind (24 * 3600 Sekunden), wird das Interview unterbrochen if (caseTime('this') < 24 * 3600) { text('ende1'); // Verabschiedung zum ersten Teil anzeigen option('resume', true); // Hinweis auf fortgesetztes Interview verhindern option('nextbutton', false); // Weiter-Knopf ausblenden (Interview unterbrechen) // Serienmail mit der Kennung 3 morgen um dieselbe Zeit versenden // Tipp: Für den Zeitpunkt könnte man auch auch 24 * 3600 eintragen mailResume(caseSerial(), 3, strtotime('+1 day')); } else { // Ist der Teilnehmer nach 24 Stunden zurückgekehrt? Dann geht es nun weiter goToPage('next'); }
Tipp: Sehen Sie sich auch die anderen Optionen für caseTime()
an und ziehen Sie in Betracht, zu Beginn des Interviews (oder an geeigneter Stelle) den aktuellen Zeitstempel mittels time()
abzurufen und mittels put()
in einer internen Variable zu speichern, um später damit zu rechnen.
void mailCancel([int Serienmail])
Ein Aufruf der Funktion mailCancel()
löscht alle Fortsetzungsmails, die mittels mailResume()
vorbereitet wurden.
mailResume()
die angegebene Serienmail verwendet werden sollte.