53 $this->db = $DIC->database();
54 $this->tree = $DIC->repositoryTree();
58 if ($a_skill_id > 0) {
70 $this->base_skill_id = (int) $a_val;
90 $this->tref_id = (int) $a_val;
115 "SELECT * FROM skl_skill_resource " .
116 " WHERE base_skill_id = " .
$ilDB->quote($this->getBaseSkillId(),
"integer") .
117 " AND tref_id = " .
$ilDB->quote($this->getTemplateRefId(),
"integer")
119 while ($rec =
$ilDB->fetchAssoc($set)) {
120 if (
$tree->isInTree($rec[
"rep_ref_id"])) {
121 $this->resources[$rec[
"level_id"]][$rec[
"rep_ref_id"]] = array(
122 "level_id" => $rec[
"level_id"],
123 "rep_ref_id" => $rec[
"rep_ref_id"],
124 "trigger" => $rec[
"ltrigger"],
125 "imparting" => $rec[
"imparting"]
139 "DELETE FROM skl_skill_resource WHERE " .
140 " base_skill_id = " .
$ilDB->quote((
int) $this->getBaseSkillId(),
"integer") .
141 " AND tref_id = " .
$ilDB->quote((
int) $this->getTemplateRefId(),
"integer")
144 foreach ($l as $ref_id => $r) {
145 if ($r[
"imparting"] || $r[
"trigger"]) {
146 $ilDB->manipulate(
"INSERT INTO skl_skill_resource " .
147 "(base_skill_id, tref_id, level_id, rep_ref_id, imparting, ltrigger) VALUES (" .
148 $ilDB->quote((
int) $this->getBaseSkillId(),
"integer") .
"," .
149 $ilDB->quote((
int) $this->getTemplateRefId(),
"integer") .
"," .
150 $ilDB->quote((
int) $level_id,
"integer") .
"," .
151 $ilDB->quote((
int) $ref_id,
"integer") .
"," .
152 $ilDB->quote((
int) $r[
"imparting"],
"integer") .
"," .
153 $ilDB->quote((
int) $r[
"trigger"],
"integer") .
178 $ret = (is_array($this->resources[$a_level_id]))
179 ? $this->resources[$a_level_id]
194 if (!is_array($this->resources[$a_level_id])) {
195 $this->resources[$a_level_id] = array();
197 if (!is_array($this->resources[$a_level_id][$a_rep_ref_id])) {
198 $this->resources[$a_level_id][$a_rep_ref_id] = array();
201 $this->resources[$a_level_id][$a_rep_ref_id][
"trigger"] = $a_trigger;
213 if (!is_array($this->resources[$a_level_id])) {
214 $this->resources[$a_level_id] = array();
216 if (!is_array($this->resources[$a_level_id][$a_rep_ref_id])) {
217 $this->resources[$a_level_id][$a_rep_ref_id] = array();
220 $this->resources[$a_level_id][$a_rep_ref_id][
"imparting"] = $a_imparting;
235 "skl_skill_resource",
251 $db = $DIC->database();
253 $set =
$db->query(
"SELECT * FROM skl_skill_resource " .
254 " WHERE rep_ref_id = " .
$db->quote($a_ref_id,
"integer") .
255 " AND ltrigger = " .
$db->quote(1,
"integer"));
257 $skill_levels = array();
258 while ($rec =
$db->fetchAssoc($set)) {
259 $skill_levels[] = array(
260 "base_skill_id" => $rec[
"base_skill_id"],
261 "tref_id" => $rec[
"tref_id"],
262 "level_id" => $rec[
"level_id"]
265 return $skill_levels;
Get info on usages of skills.
getTemplateRefId()
Get template reference id.
setResourceAsImparting($a_level_id, $a_rep_ref_id, $a_imparting=true)
Set resource as imparting resource.
getBaseSkillId()
Get base skill id.
static getUsageInfo($a_cskill_ids, &$a_usages)
Get usage info.
setBaseSkillId($a_val)
Set base skill id.
static getUsageInfoGeneric( $a_cskill_ids, &$a_usages, $a_usage_type, $a_table, $a_key_field, $a_skill_field="skill_id", $a_tref_field="tref_id")
Get standard usage query.
setResourceAsTrigger($a_level_id, $a_rep_ref_id, $a_trigger=true)
Set resource as trigger.
readResources()
Read resources.
Manages resources for skills.
setTemplateRefId($a_val)
Set template reference id.
getResources()
Get resources.
getResourcesOfLevel($a_level_id)
Get resoures for level id.
__construct($a_skill_id=0, $a_tref_id=0)
Constructor.
static getTriggerLevelsForRefId($a_ref_id)
Get levels for trigger per ref id.