private function getRandomToken($studentId) { $t = new Token($this->tokenAlphabet, $this->tokenLength); // check for existing tokens while ($this->checkToken($studentId, $t->getString())) { $t = Token($this->tokenAlphabet, $this->tokenLength); } return $t->getString(); }
function Data_Retrieval($in_file) { $data = ""; $temp_string = ""; $temp_element = 0; $complete_label = FALSE; $file = fopen($in_file, "r") or exit($in_file); while (!feof($file)) { $bufer = htmlspecialchars(fgets($file)) . "<br />"; } fclose($file); $token = explode("%", $bufer); foreach ($token as $element) { $pos = strpos($element, "?xml"); if ($pos > 0) { if (substr($element, 0, 2) == "0A") { $element = substr($element, 21); $data .= "///"; $temp_element = 0; } if ($pos = strpos($element, "date_time=")) { $data .= substr($element, $pos + 16, 25); } if ($pos = strpos($element, "action_id=")) { $temp_string .= substr($element, $pos, 50); if ($pos = strpos($temp_string, "context_message")) { $data .= ";;;context_message"; $temp_element = 1; } elseif ($pos = strpos($temp_string, "tool_message")) { $data .= ";;;tool_message"; $temp_element = 2; } elseif ($pos = strpos($temp_string, "tutor_message")) { $data .= ";;;tutor_message"; $temp_element = 3; } } } else { if (strlen($element) == 2) { $temp_string = Token($element) . " "; if (Token($element) == ">") { $complete_label = TRUE; } } else { $temp_string .= Token(substr($element, 0, 2)) . " "; $temp_string .= substr($element, 2) . " "; if (Token(substr($element, 0, 2)) == ">") { $complete_label = TRUE; } } if ($complete_label == TRUE) { switch ($temp_element) { case 2: if ($pos = strpos($temp_string, "< selection >")) { $data .= ";;;" . substr($temp_string, $pos + 14); } if ($pos = strpos($temp_string, "< input >")) { $data .= "->" . substr($temp_string, $pos + 10); } break; case 3: if ($pos = strpos($temp_string, "< action_evaluation >")) { $data .= ";;;" . substr($temp_string, $pos + 22); } if ($pos = strpos($temp_string, "< tutor_advice >")) { $data .= "->" . substr($temp_string, $pos + 17); } break; } $complete_label = FALSE; $temp_string = ""; } } } return $data; }