function Mersenne_Shuffle($arr, $seed = -1) { if ($seed == -1) { return $arr; } $mt = new Mersenne_Twister($seed); $new = $arr; for ($i = count($new) - 1; $i > 0; $i--) { $j = $mt->getNext(0, $i); $tmp = $new[$i]; $new[$i] = $new[$j]; $new[$j] = $tmp; } return $new; }
<?php require_once "Mersenne_Twister.php"; use Tsugi\Core\LTIX; use Tsugi\Util\LTI; require_once "names.php"; // Compute the stuff for the output $code = $USER->id + $LINK->id + $CONTEXT->id; $MT = new Mersenne_Twister($code); $my_names = array(); $my_age = array(); $howmany = $MT->getNext(4, 6); for ($i = 0; $i < $howmany; $i++) { $name = $names[$MT->getNext(0, count($names))]; $age = $MT->getNext(13, 40); $sha = sha1($name . $age); $database[] = array($sha, $name, $age); } $sorted = $database; sort($sorted); $goodsha = $sorted[0][0]; $oldgrade = $RESULT->grade; if (isset($_POST['sha1'])) { if ($_POST['sha1'] != $goodsha) { $_SESSION['error'] = "Your code did not match"; header('Location: ' . addSession('index.php')); return; } $gradetosend = 1.0; $scorestr = "Your answer is correct, score saved."; if ($dueDate->penalty > 0) {