3 declare(strict_types=1);
31 protected \ilDBInterface
$db;
40 $this->db = (
$db) ?: $DIC->database();
41 $this->factory_service = (
$factory_service) ?: $DIC->skills()->internal()->factory();
65 "SELECT * FROM skl_assigned_material " .
66 " WHERE user_id = " .
$ilDB->quote($user_id,
"integer") .
67 " AND top_skill_id = " .
$ilDB->quote($top_skill_id,
"integer") .
68 " AND tref_id = " .
$ilDB->quote($tref_id,
"integer") .
69 " AND skill_id = " .
$ilDB->quote($basic_skill_id,
"integer") .
70 " AND level_id = " .
$ilDB->quote($level_id,
"integer") .
71 " AND wsp_id = " .
$ilDB->quote($wsp_id,
"integer")
73 if (!
$ilDB->fetchAssoc($set)) {
74 $ilDB->manipulate(
"INSERT INTO skl_assigned_material " .
75 "(user_id, top_skill_id, tref_id, skill_id, level_id, wsp_id) VALUES (" .
76 $ilDB->quote($user_id,
"integer") .
"," .
77 $ilDB->quote($top_skill_id,
"integer") .
"," .
78 $ilDB->quote($tref_id,
"integer") .
"," .
79 $ilDB->quote($basic_skill_id,
"integer") .
"," .
80 $ilDB->quote($level_id,
"integer") .
"," .
81 $ilDB->quote($wsp_id,
"integer") .
90 public function get(
int $user_id,
int $tref_id,
int $level_id): array
95 "SELECT * FROM skl_assigned_material " .
96 " WHERE level_id = " .
$ilDB->quote($level_id,
"integer") .
97 " AND tref_id = " .
$ilDB->quote($tref_id,
"integer") .
98 " AND user_id = " .
$ilDB->quote($user_id,
"integer")
101 while ($rec =
$ilDB->fetchAssoc($set)) {
111 public function getAll(
int $user_id,
int $skill_id,
int $tref_id): array
116 "SELECT * FROM skl_assigned_material " .
117 " WHERE skill_id = " .
$ilDB->quote($skill_id,
"integer") .
118 " AND tref_id = " .
$ilDB->quote($tref_id,
"integer") .
119 " AND user_id = " .
$ilDB->quote($user_id,
"integer")
122 while ($rec =
$ilDB->fetchAssoc($set)) {
130 $rec[
'user_id'] = (
int) $rec[
'user_id'];
131 $rec[
'top_skill_id'] = (
int) $rec[
'top_skill_id'];
132 $rec[
'skill_id'] = (
int) $rec[
'skill_id'];
133 $rec[
'level_id'] = (
int) $rec[
'level_id'];
134 $rec[
'wsp_id'] = (
int) $rec[
'wsp_id'];
135 $rec[
'tref_id'] = (
int) $rec[
'tref_id'];
137 return $this->factory_service->personal()->assignedMaterial(
139 $rec[
'top_skill_id'],
150 public function count(
int $user_id,
int $tref_id,
int $level_id):
int 155 "SELECT count(*) as cnt FROM skl_assigned_material " .
156 " WHERE level_id = " .
$ilDB->quote($level_id,
"integer") .
157 " AND tref_id = " .
$ilDB->quote($tref_id,
"integer") .
158 " AND user_id = " .
$ilDB->quote($user_id,
"integer")
160 $rec =
$ilDB->fetchAssoc($set);
161 return (
int) $rec[
"cnt"];
164 public function remove(
int $user_id,
int $tref_id,
int $level_id,
int $wsp_id):
void 168 $t =
"DELETE FROM skl_assigned_material WHERE " .
169 " user_id = " .
$ilDB->quote($user_id,
"integer") .
170 " AND tref_id = " .
$ilDB->quote($tref_id,
"integer") .
171 " AND level_id = " .
$ilDB->quote($level_id,
"integer") .
172 " AND wsp_id = " .
$ilDB->quote($wsp_id,
"integer");
174 $ilDB->manipulate($t);
181 $t =
"DELETE FROM skl_assigned_material WHERE " .
182 " user_id = " .
$ilDB->quote($user_id,
"integer");
183 $ilDB->manipulate($t);
190 if (!$is_reference) {
191 $t =
"DELETE FROM skl_assigned_material WHERE " .
192 " skill_id = " .
$ilDB->quote($skill_node_id,
"integer");
194 $t =
"DELETE FROM skl_assigned_material WHERE " .
195 " tref_id = " .
$ilDB->quote($skill_node_id,
"integer");
197 $ilDB->manipulate($t);
getAll(int $user_id, int $skill_id, int $tref_id)
Get all assigned materials (for a skill and user)
Service SkillInternalFactoryService $factory_service
getFromRecord(array $rec)
assign(int $user_id, int $top_skill_id, int $tref_id, int $basic_skill_id, int $level_id, int $wsp_id)
Assign material to skill level.
__construct(\ilDBInterface $db=null, Service\SkillInternalFactoryService $factory_service=null)
removeAllForUser(int $user_id)
count(int $user_id, int $tref_id, int $level_id)
Count assigned materials (for a skill level and user)
removeAllForSkill(int $skill_node_id, bool $is_reference)
Skill internal factory service.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...