public function handle($data) { $rsa = new RSA(); $rsa->setPrivateKeyFormat(RSA::PRIVATE_FORMAT_XML); $rsa->setPublicKeyFormat(RSA::PRIVATE_FORMAT_XML); return ["assignment" => Token::generateNewToken(TOKEN_ASSIGNMENT)->toExternalForm(false)]; }
public function handle($data) { $this->validate_request(["assessment" => ["profile", "questions"]]); $assessment = $data->{"assessment"}; $profileJson = $assessment->{"profile"}; if (isset($profileJson->{"assessment-id"})) { $id = Token::decode($profileJson->{"assessment-id"}); } else { $id = Token::generateNewToken(TOKEN_ASSESSMENT); } $name = $profileJson->{"assessment-name"}; $displayname = isset($profileJson->{"display-name"}) ? $profileJson->{"display-name"} : $name; $profile = new AssessmentProfile($id, $name, $displayname); $questions = []; foreach ($assessment->{"questions"} as $questionData) { $questionJson = obj_to_array($questionData); if (isset($questionData->{"question-id"})) { $questionId = Token::decode($questionData->{"question-id"}); } else { $questionId = Token::generateNewToken(TOKEN_QUESTION); } $question = []; $question["id"] = $questionId->toString(); $question["data"] = $questionJson; $questions[] = $question; } return ["assessment" => AssessmentBackend::create_assessment($profile, $questions)->toExternalForm()]; }
public function handle($data) { $this->validate_request(["assessment", "deadline"]); $id = Token::generateNewToken(TOKEN_ASSIGNMENT); AssignmentBackend::create_assignment($id, Token::decode($data->{"assessment"}), $data->{"deadline"}); return ["assignment-id" => $id->toString(), "assessment-id" => $data->{"assessment"}, "deadline" => $data->{"deadline"}]; }
public static function add_question(AssessmentProfile $profile, $question) { $answer = (string) $question["data"]["answer"]; unset($question['data']['answer']); $query = Database::generate_query("assessment_question_create", [$question["id"], $profile->getAssessmentId()->toString(), json_encode($question["data"])]); $query->execute(); $query = Database::generate_query("assessment_answer_create", [Token::generateNewToken(TOKEN_ANSWER)->toString(), $question["id"], $profile->getAssessmentId()->toString(), $answer]); $query->execute(); }
public static function create_group($groupname, $displayname) { $groupid = Token::generateNewToken(TOKEN_GROUP); $groupname = Database::format_string($groupname); $displayname = Database::format_string($displayname); $query = Database::generate_query("group_create", [$groupid->toString(), $groupname, $displayname]); $query->execute(); return new GroupProfile($groupid, $groupname, $displayname); }
public static function create_user($username, $displayname, $password) { $username = Database::format_string($username); $displayname = Database::format_string($displayname); $userid = Token::generateNewToken(TOKEN_USER); $query = Database::generate_query("user_create", [$userid->toString(), $username, $displayname, Crypt::hash_password($password)]); $query->execute(); return new UserProfile($userid, $username, $displayname); }
public function handle($data) { $this->validate_request(["question"]); $assessment = AssessmentBackend::fetch_assessment_profile(Token::decode($this->params['id'])); $questionJson = obj_to_array($data->{"question"}); if (isset($data->{"question"}->{"question-id"})) { $questionId = Token::decode($data->{"question"}->{"question-id"}); } else { $questionId = Token::generateNewToken(TOKEN_QUESTION); } $question = []; $question["id"] = $questionId->toString(); $question["data"] = $questionJson; AssessmentBackend::add_question($assessment, $question); return []; }