-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathQuizzesAnswerStartComponent.php
More file actions
59 lines (54 loc) · 1.59 KB
/
QuizzesAnswerStartComponent.php
File metadata and controls
59 lines (54 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
/**
* QuizzesAnswerStart Component
*
* @author Noriko Arai <arai@nii.ac.jp>
* @author Allcreator <info@allcreator.net>
* @link http://www.netcommons.org NetCommons Project
* @license http://www.netcommons.org/license.txt NetCommons License
* @copyright Copyright 2014, NetCommons Project
*/
App::uses('Component', 'Controller');
/**
* QuizzesAnswerStartComponent
*
* @author Allcreator <info@allcreator.net>
* @package NetCommons\Questionnaires\Controller
*/
class QuizzesAnswerStartComponent extends Component {
/**
* 指定された小テストのIDを回答スタートIDとしてセッションに記録
*
* @param string $quizKey 回答中の小テストキー
* @return void
*/
public function saveStartQuizOfThisUser($quizKey) {
// セッションに始まったことを記載
$session = $this->_Collection->load('Session');
$session->write('Quizzes.startQuiz.' . $quizKey, true);
}
/**
* セッションから指定された小テストのスタートIDを削除
*
* @param string $quizKey 回答中の小テストキー
* @return void
*/
public function deleteStartQuizOfThisUser($quizKey = null) {
$session = $this->_Collection->load('Session');
if (! $quizKey) {
$session->delete('Quizzes.startQuiz');
} else {
$session->delete('Quizzes.startQuiz.' . $quizKey);
}
}
/**
* 小テスト回答開始済みかどうかを返す
*
* @param string $quizKey 小テストキー
* @return bool
*/
public function checkStartedQuizKeys($quizKey) {
$session = $this->_Collection->load('Session');
return $session->check('Quizzes.startQuiz.' . $quizKey);
}
}