ILIAS
trunk Revision v11.0_alpha-3011-gc6b235a2e85
◀ ilDoc Overview
class.ilAssQuestionProcessLockerFactory.php
Go to the documentation of this file.
1
<?php
2
25
class
ilAssQuestionProcessLockerFactory
26
{
30
protected
$settings
;
31
35
protected
$db
;
36
40
protected
$question_id
;
41
45
protected
$userId
;
46
51
public
function
__construct
(
ilSetting
$settings
,
ilDBInterface
$db
)
52
{
53
$this->
settings
=
$settings
;
54
$this->db =
$db
;
55
56
$this->question_id =
null
;
57
$this->userId =
null
;
58
}
59
63
public
function
setQuestionId
($questionId): void
64
{
65
$this->question_id = $questionId;
66
}
67
71
public
function
getQuestionId
(): ?
int
72
{
73
return
$this->question_id
;
74
}
75
79
public
function
setUserId
(
$userId
): void
80
{
81
$this->userId =
$userId
;
82
}
83
87
public
function
getUserId
(): ?
int
88
{
89
return
$this->userId
;
90
}
91
92
private
function
getLockModeSettingValue
(): ?string
93
{
94
return
$this->
settings
->get(
'ass_process_lock_mode'
,
ilObjTestFolder::ASS_PROC_LOCK_MODE_NONE
);
95
}
96
100
public
function
getLocker
()
101
{
102
switch
($this->
getLockModeSettingValue
()) {
103
case
ilObjTestFolder::ASS_PROC_LOCK_MODE_NONE
:
104
105
$locker =
new
ilAssQuestionProcessLockerNone
();
106
break
;
107
108
case
ilObjTestFolder::ASS_PROC_LOCK_MODE_FILE
:
109
$storage =
new
ilAssQuestionProcessLockFileStorage
($this->
getQuestionId
(), $this->
getUserId
());
110
$storage->create();
111
112
$locker =
new
ilAssQuestionProcessLockerFile
($storage);
113
break
;
114
115
case
ilObjTestFolder::ASS_PROC_LOCK_MODE_DB
:
116
117
$locker =
new
ilAssQuestionProcessLockerDb
($this->db);
118
break
;
119
}
120
121
return
$locker;
122
}
123
}
ilAssQuestionProcessLockFileStorage
Definition:
class.ilAssQuestionProcessLockFileStorage.php:25
ilAssQuestionProcessLockerDb
Definition:
class.ilAssQuestionProcessLockerDb.php:26
ilAssQuestionProcessLockerFactory
Definition:
class.ilAssQuestionProcessLockerFactory.php:26
ilAssQuestionProcessLockerFactory\$db
$db
Definition:
class.ilAssQuestionProcessLockerFactory.php:35
ilAssQuestionProcessLockerFactory\setUserId
setUserId($userId)
Definition:
class.ilAssQuestionProcessLockerFactory.php:79
ilAssQuestionProcessLockerFactory\__construct
__construct(ilSetting $settings, ilDBInterface $db)
Definition:
class.ilAssQuestionProcessLockerFactory.php:51
ilAssQuestionProcessLockerFactory\$userId
$userId
Definition:
class.ilAssQuestionProcessLockerFactory.php:45
ilAssQuestionProcessLockerFactory\getLockModeSettingValue
getLockModeSettingValue()
Definition:
class.ilAssQuestionProcessLockerFactory.php:92
ilAssQuestionProcessLockerFactory\$question_id
$question_id
Definition:
class.ilAssQuestionProcessLockerFactory.php:40
ilAssQuestionProcessLockerFactory\$settings
$settings
Definition:
class.ilAssQuestionProcessLockerFactory.php:30
ilAssQuestionProcessLockerFactory\getUserId
getUserId()
Definition:
class.ilAssQuestionProcessLockerFactory.php:87
ilAssQuestionProcessLockerFactory\setQuestionId
setQuestionId($questionId)
Definition:
class.ilAssQuestionProcessLockerFactory.php:63
ilAssQuestionProcessLockerFactory\getLocker
getLocker()
Definition:
class.ilAssQuestionProcessLockerFactory.php:100
ilAssQuestionProcessLockerFactory\getQuestionId
getQuestionId()
Definition:
class.ilAssQuestionProcessLockerFactory.php:71
ilAssQuestionProcessLockerFile
Definition:
class.ilAssQuestionProcessLockerFile.php:26
ilAssQuestionProcessLockerNone
Definition:
class.ilAssQuestionProcessLockerNone.php:26
ilObjTestFolder\ASS_PROC_LOCK_MODE_DB
const ASS_PROC_LOCK_MODE_DB
Definition:
ilObjTestFolder.php:37
ilObjTestFolder\ASS_PROC_LOCK_MODE_NONE
const ASS_PROC_LOCK_MODE_NONE
Definition:
ilObjTestFolder.php:35
ilObjTestFolder\ASS_PROC_LOCK_MODE_FILE
const ASS_PROC_LOCK_MODE_FILE
Definition:
ilObjTestFolder.php:36
ilSetting
ILIAS Setting Class.
Definition:
class.ilSetting.php:27
ilDBInterface
Interface ilDBInterface.
Definition:
interface.ilDBInterface.php:30
ILIAS\Repository\int
int(string $key)
Definition:
trait.BaseGUIRequest.php:61
ILIAS\Repository\settings
settings()
Definition:
trait.GlobalDICDomainServices.php:96
components
ILIAS
TestQuestionPool
classes
class.ilAssQuestionProcessLockerFactory.php
Generated on Sat Oct 18 2025 23:04:34 for ILIAS by
1.9.4 (using
Doxyfile
)