3 declare(strict_types=1);
28 protected \ilDBInterface
$db;
37 $this->db = (
$db) ?: $DIC->database();
38 $this->factory_service = (
$factory_service) ?: $DIC->skills()->internal()->factory();
44 public function getAll(
int $profile_id): array
49 "SELECT * FROM skl_profile_level " .
50 " WHERE profile_id = " .
$ilDB->quote($profile_id,
"integer")
54 while ($rec =
$ilDB->fetchAssoc($set)) {
66 "SELECT * FROM skl_profile_level " .
67 " WHERE profile_id = " .
$ilDB->quote($profile_id,
"integer") .
68 " AND base_skill_id = " .
$ilDB->quote($base_skill_id,
"integer") .
69 " AND tref_id = " .
$ilDB->quote($tref_id,
"integer")
73 if ($rec =
$ilDB->fetchAssoc($set)) {
82 $rec[
"profile_id"] = (
int) $rec[
"profile_id"];
83 $rec[
"base_skill_id"] = (
int) $rec[
"base_skill_id"];
84 $rec[
"tref_id"] = (
int) $rec[
"tref_id"];
85 $rec[
"level_id"] = (
int) $rec[
"level_id"];
86 $rec[
"order_nr"] = (
int) $rec[
"order_nr"];
88 return $this->factory_service->profile()->profileLevel(
90 $rec[
"base_skill_id"],
103 array(
"profile_id" => array(
"integer", $skill_level_obj->
getProfileId()),
104 "tref_id" => array(
"integer", $skill_level_obj->
getTrefId()),
105 "base_skill_id" => array(
"integer", $skill_level_obj->
getBaseSkillId())
107 array(
"order_nr" => array(
"integer", $skill_level_obj->
getOrderNr()),
108 "level_id" => array(
"integer", $skill_level_obj->
getLevelId())
118 "DELETE FROM skl_profile_level WHERE " .
119 " base_skill_id = " .
$ilDB->quote($skill_level_obj->getBaseSkillId(),
"integer") .
120 " AND tref_id = " .
$ilDB->quote($skill_level_obj->getTrefId(),
"integer") .
121 " AND level_id = " .
$ilDB->quote($skill_level_obj->getLevelId(),
"integer") .
122 " AND order_nr = " .
$ilDB->quote($skill_level_obj->getOrderNr(),
"integer")
131 "DELETE FROM skl_profile_level WHERE " .
132 " profile_id = " .
$ilDB->quote($profile_id,
"integer")
140 if (!$is_reference) {
142 "DELETE FROM skl_profile_level WHERE " .
143 " base_skill_id = " .
$ilDB->quote($skill_node_id,
"integer")
147 "DELETE FROM skl_profile_level WHERE " .
148 " tref_id = " .
$ilDB->quote($skill_node_id,
"integer")
158 foreach ($order as
$id => $o) {
159 $id_arr = explode(
"_",
$id);
161 "UPDATE skl_profile_level SET " .
162 " order_nr = " .
$ilDB->quote(($cnt * 10),
"integer") .
163 " WHERE base_skill_id = " .
$ilDB->quote($id_arr[0],
"integer") .
164 " AND tref_id = " .
$ilDB->quote($id_arr[1],
"integer") .
165 " AND profile_id = " .
$ilDB->quote($profile_id,
"integer")
176 "SELECT profile_id, base_skill_id, tref_id, order_nr FROM skl_profile_level WHERE " .
177 " profile_id = " .
$ilDB->quote($profile_id,
"integer") .
178 " ORDER BY order_nr ASC" 181 while ($rec =
$ilDB->fetchAssoc($set)) {
183 "UPDATE skl_profile_level SET " .
184 " order_nr = " .
$ilDB->quote(($cnt * 10),
"integer") .
185 " WHERE profile_id = " .
$ilDB->quote($rec[
"profile_id"],
"integer") .
186 " AND base_skill_id = " .
$ilDB->quote($rec[
"base_skill_id"],
"integer") .
187 " AND tref_id = " .
$ilDB->quote($rec[
"tref_id"],
"integer")
198 "SELECT MAX(order_nr) mnr FROM skl_profile_level WHERE " .
199 " profile_id = " .
$ilDB->quote($profile_id,
"integer")
201 $rec =
$ilDB->fetchAssoc($set);
202 return (
int) $rec[
"mnr"];
fixSkillOrderNumbering(int $profile_id)
__construct(\ilDBInterface $db=null, Service\SkillInternalFactoryService $factory_service=null)
deleteAllForProfile(int $profile_id)
createOrUpdate(SkillProfileLevel $skill_level_obj)
Service SkillInternalFactoryService $factory_service
getFromRecord(array $rec)
Skill internal factory service.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
getMaxOrderNr(int $profile_id)
deleteAllForSkill(int $skill_node_id, bool $is_reference)
updateSkillOrder(int $profile_id, array $order)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...