ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\Skill\Resource\SkillResourceDBRepository Class Reference
+ Collaboration diagram for ILIAS\Skill\Resource\SkillResourceDBRepository:

Public Member Functions

 __construct (?\ilDBInterface $db=null, ?Service\SkillInternalFactoryService $factory_service=null, ?\ilTree $tree=null)
 
 getAll (int $skill_id, int $tref_id)
 
 addOrUpdate (int $skill_id, int $tref_id, int $level_id, int $rep_ref_id, bool $imparting, bool $trigger)
 
 updateImparting (int $skill_id, int $tref_id, int $level_id, int $rep_ref_id, bool $imparting)
 
 updateTrigger (int $skill_id, int $tref_id, int $level_id, int $rep_ref_id, bool $trigger)
 
 remove (int $skill_id, int $tref_id, int $level_id, int $rep_ref_id)
 
 removeForSkill (int $skill_node_id, bool $is_reference)
 
 getTriggerLevelsForRefId (int $rep_ref_id)
 

Protected Member Functions

 getSkillResourceFromRecord (array $rec)
 
 getSkillResourceLevelFromRecord (array $rec)
 

Protected Attributes

ilDBInterface $db
 
Service SkillInternalFactoryService $factory_service
 
ilTree $tree
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Skill\Resource\SkillResourceDBRepository::__construct ( ?\ilDBInterface  $db = null,
?Service\SkillInternalFactoryService  $factory_service = null,
?\ilTree  $tree = null 
)

Definition at line 34 of file class.SkillResourceDBRepository.php.

38 {
39 global $DIC;
40
41 $this->db = ($db) ?: $DIC->database();
42 $this->factory_service = ($factory_service) ?: $DIC->skills()->internal()->factory();
43 $this->tree = ($tree) ?: $DIC->repositoryTree();
44 }
global $DIC
Definition: shib_login.php:26

References ILIAS\Skill\Resource\SkillResourceDBRepository\$db, $DIC, ILIAS\Skill\Resource\SkillResourceDBRepository\$factory_service, and ILIAS\Skill\Resource\SkillResourceDBRepository\$tree.

Member Function Documentation

◆ addOrUpdate()

ILIAS\Skill\Resource\SkillResourceDBRepository::addOrUpdate ( int  $skill_id,
int  $tref_id,
int  $level_id,
int  $rep_ref_id,
bool  $imparting,
bool  $trigger 
)

Definition at line 89 of file class.SkillResourceDBRepository.php.

96 : void {
97 $this->db->replace(
98 "skl_skill_resource",
99 [
100 "base_skill_id" => ["integer", $skill_id],
101 "tref_id" => ["integer", $tref_id],
102 "level_id" => ["integer", $level_id],
103 "rep_ref_id" => ["integer", $rep_ref_id]
104 ],
105 [
106 "imparting" => ["integer", (int) $imparting],
107 "ltrigger" => ["integer", (int) $trigger]
108 ]
109 );
110 }

◆ getAll()

ILIAS\Skill\Resource\SkillResourceDBRepository::getAll ( int  $skill_id,
int  $tref_id 
)
Returns
SkillResource[]

Definition at line 49 of file class.SkillResourceDBRepository.php.

49 : array
50 {
53
54 $set = $ilDB->query(
55 "SELECT * FROM skl_skill_resource " .
56 " WHERE base_skill_id = " . $ilDB->quote($skill_id, "integer") .
57 " AND tref_id = " . $ilDB->quote($tref_id, "integer") .
58 " ORDER BY level_id"
59 );
60 $resources = [];
61 while ($rec = $ilDB->fetchAssoc($set)) {
62 if ($tree->isInTree((int) $rec["rep_ref_id"])) {
63 $resources[(int) $rec["level_id"]][] = $this->getSkillResourceFromRecord($rec);
64 }
65 }
66
67 return $resources;
68 }
isInTree(?int $a_node_id)
get all information of a node.
$resources
Definition: ltiservices.php:68

References ILIAS\Skill\Resource\SkillResourceDBRepository\$db, $ilDB, $resources, ILIAS\Skill\Resource\SkillResourceDBRepository\$tree, ILIAS\Skill\Resource\SkillResourceDBRepository\getSkillResourceFromRecord(), ILIAS\Repository\int(), and ilTree\isInTree().

+ Here is the call graph for this function:

◆ getSkillResourceFromRecord()

ILIAS\Skill\Resource\SkillResourceDBRepository::getSkillResourceFromRecord ( array  $rec)
protected

Definition at line 70 of file class.SkillResourceDBRepository.php.

70 : SkillResource
71 {
72 $rec["base_skill_id"] = (int) $rec["base_skill_id"];
73 $rec["tref_id"] = (int) $rec["tref_id"];
74 $rec["level_id"] = (int) $rec["level_id"];
75 $rec["rep_ref_id"] = (int) $rec["rep_ref_id"];
76 $rec["imparting"] = (bool) $rec["imparting"];
77 $rec["ltrigger"] = (bool) $rec["ltrigger"];
78
79 return $this->factory_service->resource()->resource(
80 $rec["base_skill_id"],
81 $rec["tref_id"],
82 $rec["level_id"],
83 $rec["rep_ref_id"],
84 $rec["imparting"],
85 $rec["ltrigger"]
86 );
87 }

References ILIAS\Repository\int().

Referenced by ILIAS\Skill\Resource\SkillResourceDBRepository\getAll().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSkillResourceLevelFromRecord()

ILIAS\Skill\Resource\SkillResourceDBRepository::getSkillResourceLevelFromRecord ( array  $rec)
protected

Definition at line 196 of file class.SkillResourceDBRepository.php.

196 : SkillResourceLevel
197 {
198 $rec["base_skill_id"] = (int) $rec["base_skill_id"];
199 $rec["tref_id"] = (int) $rec["tref_id"];
200 $rec["level_id"] = (int) $rec["level_id"];
201
202 return $this->factory_service->resource()->resourceLevel(
203 $rec["base_skill_id"],
204 $rec["tref_id"],
205 $rec["level_id"]
206 );
207 }

References ILIAS\Repository\int().

+ Here is the call graph for this function:

◆ getTriggerLevelsForRefId()

ILIAS\Skill\Resource\SkillResourceDBRepository::getTriggerLevelsForRefId ( int  $rep_ref_id)
Returns
SkillResourceLevel[]

Definition at line 183 of file class.SkillResourceDBRepository.php.

183 : array
184 {
185 $set = $this->db->query("SELECT * FROM skl_skill_resource " .
186 " WHERE rep_ref_id = " . $this->db->quote($rep_ref_id, "integer") .
187 " AND ltrigger = " . $this->db->quote(1, "integer"));
188
189 $skill_levels = [];
190 while ($rec = $this->db->fetchAssoc($set)) {
191 $skill_levels[] = $this->getSkillResourceLevelFromRecord($rec);
192 }
193 return $skill_levels;
194 }

◆ remove()

ILIAS\Skill\Resource\SkillResourceDBRepository::remove ( int  $skill_id,
int  $tref_id,
int  $level_id,
int  $rep_ref_id 
)

Definition at line 154 of file class.SkillResourceDBRepository.php.

154 : void
155 {
156 $this->db->manipulate(
157 "DELETE FROM skl_skill_resource WHERE " .
158 " base_skill_id = " . $this->db->quote($skill_id, "integer") .
159 " AND tref_id = " . $this->db->quote($tref_id, "integer") .
160 " AND level_id = " . $this->db->quote($level_id, "integer") .
161 " AND rep_ref_id = " . $this->db->quote($rep_ref_id, "integer")
162 );
163 }

◆ removeForSkill()

ILIAS\Skill\Resource\SkillResourceDBRepository::removeForSkill ( int  $skill_node_id,
bool  $is_reference 
)

Definition at line 165 of file class.SkillResourceDBRepository.php.

165 : void
166 {
167 if (!$is_reference) {
168 $this->db->manipulate(
169 "DELETE FROM skl_skill_resource WHERE " .
170 " base_skill_id = " . $this->db->quote($skill_node_id, "integer")
171 );
172 } else {
173 $this->db->manipulate(
174 "DELETE FROM skl_skill_resource WHERE " .
175 " tref_id = " . $this->db->quote($skill_node_id, "integer")
176 );
177 }
178 }

◆ updateImparting()

ILIAS\Skill\Resource\SkillResourceDBRepository::updateImparting ( int  $skill_id,
int  $tref_id,
int  $level_id,
int  $rep_ref_id,
bool  $imparting 
)

Definition at line 112 of file class.SkillResourceDBRepository.php.

118 : void {
119 $this->db->update(
120 "skl_skill_resource",
121 [
122 "imparting" => ["integer", (int) $imparting]
123 ],
124 [
125 "base_skill_id" => ["integer", $skill_id],
126 "tref_id" => ["integer", $tref_id],
127 "level_id" => ["integer", $level_id],
128 "rep_ref_id" => ["integer", $rep_ref_id]
129 ]
130 );
131 }

◆ updateTrigger()

ILIAS\Skill\Resource\SkillResourceDBRepository::updateTrigger ( int  $skill_id,
int  $tref_id,
int  $level_id,
int  $rep_ref_id,
bool  $trigger 
)

Definition at line 133 of file class.SkillResourceDBRepository.php.

139 : void {
140 $this->db->update(
141 "skl_skill_resource",
142 [
143 "ltrigger" => ["integer", (int) $trigger]
144 ],
145 [
146 "base_skill_id" => ["integer", $skill_id],
147 "tref_id" => ["integer", $tref_id],
148 "level_id" => ["integer", $level_id],
149 "rep_ref_id" => ["integer", $rep_ref_id]
150 ]
151 );
152 }

Field Documentation

◆ $db

ilDBInterface ILIAS\Skill\Resource\SkillResourceDBRepository::$db
protected

◆ $factory_service

Service SkillInternalFactoryService ILIAS\Skill\Resource\SkillResourceDBRepository::$factory_service
protected

◆ $tree

ilTree ILIAS\Skill\Resource\SkillResourceDBRepository::$tree
protected

The documentation for this class was generated from the following file: