46 return "u{$this->userId}::q{$this->questionId}";
61 $this->
saveSessionValue(self::SESSION_SUBINDEX_INSTANT_RESPONSE_ACTIVE, $instantResponseActive);
66 return $this->
readSessionValue(self::SESSION_SUBINDEX_INSTANT_RESPONSE_ACTIVE);
71 $this->
saveSessionValue(self::SESSION_SUBINDEX_PARTICIPANT_SOLUTION, $participantSolution);
81 return count($this->
readSessionValue(self::SESSION_SUBINDEX_REQUESTED_HINTS));
86 $requestedHints = $this->
readSessionValue(self::SESSION_SUBINDEX_REQUESTED_HINTS);
87 return isset($requestedHints[$hintId]);
92 $requestedHints = $this->
readSessionValue(self::SESSION_SUBINDEX_REQUESTED_HINTS);
93 $requestedHints[$hintId] = $hintId;
94 $this->
saveSessionValue(self::SESSION_SUBINDEX_REQUESTED_HINTS, $requestedHints);
124 if(!isset(
$_SESSION[self::SESSION_BASEINDEX]) || !is_array(
$_SESSION[self::SESSION_BASEINDEX]))
126 $_SESSION[self::SESSION_BASEINDEX] = array();
129 $baseSession = &
$_SESSION[self::SESSION_BASEINDEX];
138 if(!isset($contextSession[self::SESSION_SUBINDEX_INSTANT_RESPONSE_ACTIVE]))
140 $contextSession[self::SESSION_SUBINDEX_INSTANT_RESPONSE_ACTIVE] = 0;
143 if(!isset($contextSession[self::SESSION_SUBINDEX_PARTICIPANT_SOLUTION]))
145 $contextSession[self::SESSION_SUBINDEX_PARTICIPANT_SOLUTION] = null;
148 if(!isset($contextSession[self::SESSION_SUBINDEX_RANDOMIZER_SEED]))
150 $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)
const SESSION_SUBINDEX_REQUESTED_HINTS
ensureSessionStructureExists()
saveSessionValue($subIndex, $value)
__construct($userId, $questionId)
addRequestedHint($hintId)