Better layout of gathering quiz results, which mkes it easier for developers

at the cost of perhaps a little efficiency ... some more testing on this i
should be done.   Thanks to Henrick Kaipe for this.
This commit is contained in:
moodler 2003-07-24 02:04:22 +00:00
parent 7e4a64888b
commit cee5ff1d04

View file

@ -92,34 +92,24 @@
} }
foreach ($rawanswers as $key => $value) { // Parse input for question -> answers foreach ($rawanswers as $key => $value) { // Parse input for question -> answers
if (substr($key, 0, 1) == "q") {
$key = substr($key,1);
if (isset($questions[$key])) { // It's a real question number, not a coded one
$questions[$key]->answer[] = trim($value);
} else if (substr_count($key, "rq")) { // Random Question information if (ereg('^q([0-9]+)$', $key, $keyregs)) { // It's a real question number, not a coded one
$check = explode("rq", $key); $questions[$keyregs[1]]->answer[] = trim($value);
$key = $check[0]; // The random question id
$real = $check[1]; // The real question id
$questions[$key]->random = $real;
} else if (substr_count($key, "a")) { // Checkbox style multiple answers } else if (ereg('^q([0-9]+)rq([0-9]+)$', $key, $keyregs)) { // Random Question information
$check = explode("a", $key); $questions[$keyregs[1]]->random = $keyregs[2];
$key = $check[0]; // The main question number
$value = $check[1]; // The actual answer
$questions[$key]->answer[] = trim($value);
} else if (substr_count($key, "r")) { // Random-style answers } else if (ereg('^q([0-9]+)a([0-9]+)$', $key, $keyregs)) { // Checkbox style multiple answers
$check = explode("r", $key); $questions[$keyregs[1]]->answer[] = $keyregs[2];
$key = $check[0]; // The main question
$rand = $check[1]; // The random sub-question
$questions[$key]->answer[] = "$rand-$value";
} else { } else if (ereg('^q([0-9]+)r([0-9]+)$', $key, $keyregs)) { // Random-style answers
error("Answer received for non-existent question ($key)!"); $questions[$keyregs[1]]->answer[] = "$keyregs[2]-$value";
}
} else if ($key == "shuffleorder") { } else if ('shuffleorder' == $key) {
$shuffleorder = explode(",", $value); // Actual order questions were given in $shuffleorder = explode(",", $value); // Actual order questions were given in
} else { // Useful for debugging new question types. Must be last.
error("Answer received for non-existent question ($key -> $value)");
} }
} }