Ich habe es nun mit dem folgenden Code versucht, leider funktioniert dieser nicht. Ich erhalte zwar keine Fehlermeldung, aber die Seiten werden nur einmal rotiert - die Reihenfolge sollte sich aber bei jedem Versuch ändern. Auch werden manche Seiten doppelt in einem Block angezeigt - noch habe ich nicht array_slice() angewendet, da ich nicht weiß wie - habe als Erklärung nur einen Code mit dem Inhalt print_r gefunden, hier bekomme ich sofort diese Warnung: Die Funktion print_r() ist nicht zur Verwendung im Fragebogen freigegeben.
// Erst einmal die Seitenkennungen als Array speichern
$rotation = array(
// Block 1 + Block 6
'A' => array('H106', 'H107', 'H108', 'H109', 'H110', 'H111', 'H112', 'H113', 'H114', 'H115', 'H116', 'H161', 'H162', 'H163', 'H164', 'H165', 'H166', 'H167', 'H168', 'H169', 'H170', 'H171'),
// Block 2 + Block 5
'B' => array('H117', 'H118', 'H119', 'H120', 'H121', 'H122', 'H123', 'H124', 'H125', 'H126', 'H127', 'H150','H151', 'H152', 'H153', 'H154', 'H155', 'H156', 'H157', 'H158', 'H159', 'H160'),
// Block 3 + Block 8
'C' => array('H128', 'H129', 'H130', 'H131', 'H132', 'H133', 'H134', 'H135', 'H136', 'H137', 'H138', 'H183', 'H184', 'H185', 'H186', 'H187', 'H188', 'H189', 'H190', 'H191', 'H192', 'H193ende'),
// Block 4 + Block 7
'D' => array('H139', 'H140', 'H141', 'H142', 'H143', 'H144', 'H145', 'H146', 'H147', 'H148', 'H149', 'H172', 'H173', 'H174', 'H175', 'H176', 'H177', 'H178', 'H179', 'H180', 'H181', 'H182')
);
// Jeden Block einzeln mischen
foreach ($rotation as $key => $pages) {
// Die Instruktionsseiten aus dem Array $pages herausnehmen
$H106 = array_shift($pages);
$H161 = array_shift($pages);
$H117 = array_shift($pages);
$H150 = array_shift($pages);
$H183 = array_shift($pages);
$H161 = array_shift($pages);
$H139 = array_shift($pages);
$H172 = array_shift($pages);
// Den Rest mischen
shuffle($pages);
// Alles wieder zusammenfügen
array_unshift($pages, $H106, $H161, $H117, $H150, $H183, $H161, $H139, $H172);
// Und in das Array $rotation zurückspeichern
$rotation[$key] = $pages;
}
// Jetzt das Ergebnis noch als Seitenabfolge festlegen
// Weiter soll es anschließend mit Seite 'X' gehen
setPageOrder($rotation, 'X');