ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\Container\Skills\ContainerMemberSkillDBRepository Class Reference
+ Collaboration diagram for ILIAS\Container\Skills\ContainerMemberSkillDBRepository:

Public Member Functions

 __construct (?\ilDBInterface $db=null, ?SkillInternalFactoryService $factory_service=null,)
 
 add (int $cont_obj_id, int $user_id, int $skill_id, int $tref_id, int $level_id)
 
 remove (int $cont_obj_id, int $user_id, int $skill_id, int $tref_id)
 
 removeAll (int $cont_obj_id, int $user_id)
 
 removeForSkill (int $skill_node_id, bool $is_reference)
 
 publish (int $cont_obj_id, int $user_id)
 
 getPublished (int $cont_obj_id, int $user_id)
 
 getAll (int $cont_obj_id, int $user_id)
 
 getLevel (int $cont_obj_id, int $user_id, int $skill_id, int $tref_id)
 

Protected Member Functions

 getContainerMemberSkillFromRecord (array $rec)
 

Protected Attributes

ilDBInterface $db
 
SkillInternalFactoryService $factory_service
 

Detailed Description

Definition at line 23 of file class.ContainerMemberSkillDBRepository.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Container\Skills\ContainerMemberSkillDBRepository::__construct ( ?\ilDBInterface  $db = null,
?SkillInternalFactoryService  $factory_service = null 
)

Member Function Documentation

◆ add()

ILIAS\Container\Skills\ContainerMemberSkillDBRepository::add ( int  $cont_obj_id,
int  $user_id,
int  $skill_id,
int  $tref_id,
int  $level_id 
)

Definition at line 38 of file class.ContainerMemberSkillDBRepository.php.

38 : void
39 {
40 $this->db->replace(
41 "cont_member_skills",
42 [
43 "obj_id" => ["integer", $cont_obj_id],
44 "user_id" => ["integer", $user_id],
45 "skill_id" => ["integer", $skill_id],
46 "tref_id" => ["integer", $tref_id]
47 ],
48 [
49 "level_id" => ["integer", $level_id],
50 "published" => ["integer", 0]
51 ]
52 );
53 }

References $user_id.

◆ getAll()

ILIAS\Container\Skills\ContainerMemberSkillDBRepository::getAll ( int  $cont_obj_id,
int  $user_id 
)
Returns
ContainerMemberSkill[]

Definition at line 108 of file class.ContainerMemberSkillDBRepository.php.

108 : array
109 {
110 $mem_skills = [];
111 $set = $this->db->query(
112 "SELECT * FROM cont_member_skills " .
113 " WHERE obj_id = " . $this->db->quote($cont_obj_id, "integer") .
114 " AND user_id = " . $this->db->quote($user_id, "integer")
115 );
116 while ($rec = $this->db->fetchAssoc($set)) {
117 $mem_skills[] = $this->getContainerMemberSkillFromRecord($rec);
118 }
119 return $mem_skills;
120 }

References $user_id, and ILIAS\Container\Skills\ContainerMemberSkillDBRepository\getContainerMemberSkillFromRecord().

+ Here is the call graph for this function:

◆ getContainerMemberSkillFromRecord()

ILIAS\Container\Skills\ContainerMemberSkillDBRepository::getContainerMemberSkillFromRecord ( array  $rec)
protected

Definition at line 137 of file class.ContainerMemberSkillDBRepository.php.

137 : ContainerMemberSkill
138 {
139 $rec["obj_id"] = (int) $rec["obj_id"];
140 $rec["user_id"] = (int) $rec["user_id"];
141 $rec["skill_id"] = (int) $rec["skill_id"];
142 $rec["tref_id"] = (int) $rec["tref_id"];
143 $rec["level_id"] = (int) $rec["level_id"];
144 $rec["published"] = (bool) $rec["published"];
145
146 return $this->factory_service->containerSkill()->memberSkill(
147 $rec["obj_id"],
148 $rec["user_id"],
149 $rec["skill_id"],
150 $rec["tref_id"],
151 $rec["level_id"],
152 $rec["published"]
153 );
154 }

References ILIAS\Repository\int().

Referenced by ILIAS\Container\Skills\ContainerMemberSkillDBRepository\getAll().

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

◆ getLevel()

ILIAS\Container\Skills\ContainerMemberSkillDBRepository::getLevel ( int  $cont_obj_id,
int  $user_id,
int  $skill_id,
int  $tref_id 
)

Definition at line 122 of file class.ContainerMemberSkillDBRepository.php.

122 : ?int
123 {
124 $set = $this->db->query(
125 "SELECT * FROM cont_member_skills " .
126 " WHERE obj_id = " . $this->db->quote($cont_obj_id, "integer") .
127 " AND user_id = " . $this->db->quote($user_id, "integer") .
128 " AND skill_id = " . $this->db->quote($skill_id, "integer") .
129 " AND tref_id = " . $this->db->quote($tref_id, "integer")
130 );
131 if ($rec = $this->db->fetchAssoc($set)) {
132 return (int) $rec["level_id"];
133 }
134 return null;
135 }

References $user_id.

◆ getPublished()

ILIAS\Container\Skills\ContainerMemberSkillDBRepository::getPublished ( int  $cont_obj_id,
int  $user_id 
)

Definition at line 90 of file class.ContainerMemberSkillDBRepository.php.

90 : bool
91 {
92 $set = $this->db->query(
93 "SELECT published FROM cont_member_skills " .
94 " WHERE obj_id = " . $this->db->quote($cont_obj_id, "integer") .
95 " AND user_id = " . $this->db->quote($user_id, "integer")
96 );
97 while ($rec = $this->db->fetchAssoc($set)) {
98 if ((bool) $rec["published"] === true) { // this is a little weak, but the value should be the same for all save skills
99 return true;
100 }
101 }
102 return false;
103 }

References $user_id.

◆ publish()

ILIAS\Container\Skills\ContainerMemberSkillDBRepository::publish ( int  $cont_obj_id,
int  $user_id 
)

Definition at line 82 of file class.ContainerMemberSkillDBRepository.php.

82 : void
83 {
84 $this->db->manipulate("UPDATE cont_member_skills SET " .
85 " published = " . $this->db->quote(1, "integer") .
86 " WHERE obj_id = " . $this->db->quote($cont_obj_id, "integer") .
87 " AND user_id = " . $this->db->quote($user_id, "integer"));
88 }

References $user_id.

◆ remove()

ILIAS\Container\Skills\ContainerMemberSkillDBRepository::remove ( int  $cont_obj_id,
int  $user_id,
int  $skill_id,
int  $tref_id 
)

Definition at line 55 of file class.ContainerMemberSkillDBRepository.php.

55 : void
56 {
57 $this->db->manipulate("DELETE FROM cont_member_skills " .
58 " WHERE obj_id = " . $this->db->quote($cont_obj_id, "integer") .
59 " AND user_id = " . $this->db->quote($user_id, "integer") .
60 " AND skill_id = " . $this->db->quote($skill_id, "integer") .
61 " AND tref_id = " . $this->db->quote($tref_id, "integer"));
62 }

References $user_id.

◆ removeAll()

ILIAS\Container\Skills\ContainerMemberSkillDBRepository::removeAll ( int  $cont_obj_id,
int  $user_id 
)

Definition at line 64 of file class.ContainerMemberSkillDBRepository.php.

64 : void
65 {
66 $this->db->manipulate("DELETE FROM cont_member_skills " .
67 " WHERE obj_id = " . $this->db->quote($cont_obj_id, "integer") .
68 " AND user_id = " . $this->db->quote($user_id, "integer"));
69 }

References $user_id.

◆ removeForSkill()

ILIAS\Container\Skills\ContainerMemberSkillDBRepository::removeForSkill ( int  $skill_node_id,
bool  $is_reference 
)

Definition at line 71 of file class.ContainerMemberSkillDBRepository.php.

71 : void
72 {
73 if (!$is_reference) {
74 $this->db->manipulate("DELETE FROM cont_member_skills " .
75 " WHERE skill_id = " . $this->db->quote($skill_node_id, "integer"));
76 } else {
77 $this->db->manipulate("DELETE FROM cont_member_skills " .
78 " WHERE tref_id = " . $this->db->quote($skill_node_id, "integer"));
79 }
80 }

Field Documentation

◆ $db

ilDBInterface ILIAS\Container\Skills\ContainerMemberSkillDBRepository::$db
protected

◆ $factory_service

SkillInternalFactoryService ILIAS\Container\Skills\ContainerMemberSkillDBRepository::$factory_service
protected

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