46 return "u{$this->userId}::q{$this->questionId}";
66 $this->
saveSessionValue(self::SESSION_SUBINDEX_INSTANT_RESPONSE_ACTIVE, $instantResponseActive);
71 return $this->
readSessionValue(self::SESSION_SUBINDEX_INSTANT_RESPONSE_ACTIVE);
76 $this->
saveSessionValue(self::SESSION_SUBINDEX_PARTICIPANT_SOLUTION, $participantSolution);
93 if (!is_array($hints)) {
102 $requestedHints = $this->
readSessionValue(self::SESSION_SUBINDEX_REQUESTED_HINTS);
103 return isset($requestedHints[$hintId]);
108 $requestedHints = $this->
readSessionValue(self::SESSION_SUBINDEX_REQUESTED_HINTS);
109 $requestedHints[$hintId] = $hintId;
110 $this->
saveSessionValue(self::SESSION_SUBINDEX_REQUESTED_HINTS, $requestedHints);
140 if (!isset(
$_SESSION[self::SESSION_BASEINDEX]) || !is_array(
$_SESSION[self::SESSION_BASEINDEX])) {
144 $baseSession = &
$_SESSION[self::SESSION_BASEINDEX];
152 if (!isset($contextSession[self::SESSION_SUBINDEX_INSTANT_RESPONSE_ACTIVE])) {
153 $contextSession[self::SESSION_SUBINDEX_INSTANT_RESPONSE_ACTIVE] = 0;
156 if (!isset($contextSession[self::SESSION_SUBINDEX_PARTICIPANT_SOLUTION])) {
157 $contextSession[self::SESSION_SUBINDEX_PARTICIPANT_SOLUTION] = null;
160 if (!isset($contextSession[self::SESSION_SUBINDEX_RANDOMIZER_SEED])) {
161 $contextSession[self::SESSION_SUBINDEX_RANDOMIZER_SEED] = null;
isInstantResponseActive()
const SESSION_SUBINDEX_INSTANT_RESPONSE_ACTIVE
const SESSION_SUBINDEX_PARTICIPANT_SOLUTION
getParticipantsSolution()
setParticipantsSolution($participantSolution)
const SESSION_SUBINDEX_RANDOMIZER_SEED
readSessionValue($subIndex)
setInstantResponseActive($instantResponseActive)
Create styles array
The data for the language used.
const SESSION_SUBINDEX_REQUESTED_HINTS
ensureSessionStructureExists()
issetSessionValue($subIndex)
saveSessionValue($subIndex, $value)
__construct($userId, $questionId)
addRequestedHint($hintId)