Hallo,
Ich möchte einen Timer in meine Studie einfügen, der während der Bearbeitung von 12 randomisert dargebotenen Aufgaben abläuft.
Da meine Randomisierung gestört wurde, wenn ich den Timer auf einer einzelnen leeren Seite im PHP-Code gestartet habe, muss ich ihn jetzt eine Seite zusammen mit der Randomisierung und dem Einleitungstext mit einfügen. (Ansonsten wurde nach Nachhaken dieselbe Aufgabe zwei Mal angezeigt)
Leider startet mein Timer jetzt während der Einleitung, aber er sollte erst mit der ersten Aufgabe (die danach angezeigt wird) beginnen. Als workaround, dachte ich der Timer könnte vielleicht durch den Weiter-Button aktiviert werden. Wie kann ich das in meinen Code mit einpflegen?
Code auf der Randomisierungs-/ Einleitungsseite:
// Einleitung
if(value('MZ01') == 1){
question('MZ02');
}elseif(value('MZ01') == 2){
question('MZ04');
}
// Seitenreihenfolge
if (!isset($seiten)) {
$DA = array('DA1', 'DA2', 'DA3', 'DA4', 'DA5', 'DA6', 'DA7', 'DA8');
shuffle($DA);
$DA = array_chunk($DA, 4);
$AG = array('AG1', 'AG2', 'AG3', 'AG4');
shuffle($AG);
$seiten = array_merge($DA[0], $AG, $DA[1]);
$seiten[] = 'MC'; //nachfolgende Seite
registerVariable($seiten);
}
setPageOrder($seiten);
// Timer
// Ablauf der Zeit als Variable $timeout speichern
if (!isset($timeout)) {
if(value('MZ01') == 1){
$timeout = strtotime('+ 12 minutes'); //12
registerVariable($timeout);
}
}
// Aufgabennummer
//$counter = 0;
registerVariable($counter);
Code auf den Aufgabenseiten:
// Filter: Zeit abgelaufen? --> nur bei Interventionsgruppen!
if(value('MZ01') == 1){
if (time() > $timeout) {
goToPage('TIMERENDE');
}
$timeLeft = $timeout - time();
replace('%timeLeft%', $timeLeft);
text('Timeranzeige');
}
// Aufgabennummer anzeigen
if(getRoute() == 'next'){
$counter = $counter + 1;
}
replace('%zahl%', $counter);
Vielen Dank! :)