ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilBasicSkill Class Reference

Basic Skill. More...

+ Inheritance diagram for ilBasicSkill:
+ Collaboration diagram for ilBasicSkill:

Public Member Functions

 __construct ($a_id=0)
 Constructor @access public. More...
 
 read ()
 Read data from database. More...
 
 create ()
 Create skill. More...
 
 delete ()
 Delete skill. More...
 
 copy ()
 Copy basic skill. More...
 
 addLevel ($a_title, $a_description)
 Add new level. More...
 
 getMaxLevelNr ()
 Get maximum level nr. More...
 
 getLevelData ($a_id=0)
 Get level data. More...
 
 updateLevelOrder ($order)
 Update level order. More...
 
 deleteLevel ($a_id)
 Delete level. More...
 
 fixLevelNumbering ()
 Fix level numbering. More...
 
 lookupLevelsForTriggerRefId ($a_ref_id)
 Lookup levels for trigger. More...
 
 getSkillForLevelId ($a_level_id)
 Get skill for level id. More...
 
 getMaxLevelPerType ($a_tref_id, $a_type, $a_user_id=0, $a_self_eval=0)
 Get max levels per type. More...
 
 getAllLevelEntriesOfUser ($a_tref_id, $a_user_id=0, $a_self_eval=0)
 Get all level entries. More...
 
 getAllHistoricLevelEntriesOfUser ($a_tref_id, $a_user_id=0, $a_eval_by=0)
 Get all historic level entries. More...
 
 getMaxLevelPerObject ($a_tref_id, $a_object_id, $a_user_id=0, $a_self_eval=0)
 Get max levels per object. More...
 
 getLastLevelPerObject ($a_tref_id, $a_object_id, $a_user_id=0, $a_self_eval=0)
 Get last level set per object. More...
 
 getLastUpdatePerObject ($a_tref_id, $a_object_id, $a_user_id=0, $a_self_eval=0)
 Get last update per object. More...
 
 lookupLevelAchievementDate ($a_user_id, $a_level_id, $a_self_eval=0)
 Lookup level achievement date. More...
 
 getTitleForCertificate ()
 Get title for certificate. More...
 
 getLevelTitleForCertificate ($a_level_id)
 Get title for certificate. More...
 
 getTriggerTitleForCertificate ($a_level_id)
 Get trigger title for certificate. More...
 
 getShortTitleForCertificate ()
 Get short title for certificate. More...
 
- Public Member Functions inherited from ilSkillTreeNode
 ilSkillTreeNode ($a_id=0)
 
 setTitle ($a_title)
 Set title. More...
 
 getTitle ()
 Get title. More...
 
 setType ($a_type)
 Set type. More...
 
 getType ()
 Get type. More...
 
 setId ($a_id)
 Set Node ID. More...
 
 getId ()
 Get Node ID. More...
 
 setSelfEvaluation ($a_val)
 Set self evaluation. More...
 
 getSelfEvaluation ()
 Get self evaluation. More...
 
 setOrderNr ($a_val)
 Set order nr. More...
 
 getOrderNr ()
 Get order nr. More...
 
 read ()
 Read Data of Node. More...
 
 setDataRecord ($a_record)
 this method should only be called by class ilSCORM2004NodeFactory More...
 
 setStatus ($a_val)
 Set status. More...
 
 getStatus ()
 Get status. More...
 
 create ()
 Create Node. More...
 
 update ()
 Update Node. More...
 
 delete ()
 Delete Node. More...
 
 clipboardCut ($a_tree_id, $a_ids)
 Cut and copy a set of skills/skill categories into the clipboard. More...
 

Static Public Member Functions

static lookupLevelTitle ($a_id)
 Lookup level title. More...
 
static lookupLevelDescription ($a_id)
 Lookup level description. More...
 
static lookupLevelTrigger ($a_id)
 Lookup level trigger. More...
 
static lookupLevelSkillId ($a_id)
 Lookup level skill id. More...
 
static writeLevelTitle ($a_id, $a_title)
 Write level title. More...
 
static writeLevelDescription ($a_id, $a_description)
 Write level description. More...
 
static writeLevelTrigger ($a_id, $a_trigger_ref_id)
 Write trigger. More...
 
static updateAllUserSkillLevels ()
 Look for all skill level that have a trigger and update the user skill level information, if it has changed. More...
 
static updateSkillLevelsByTriggerRef ($a_user_id, $a_ref_id)
 Look for all skill level that have a trigger and update the user skill level information, if it has changed. More...
 
static writeUserSkillLevelStatus ($a_level_id, $a_user_id, $a_trigger_ref_id, $a_tref_id=0, $a_status=ilBasicSkill::ACHIEVED, $a_force=false, $a_self_eval=0, $a_unique_identifier="")
 Write skill level status. More...
 
static getCompletionDateForTriggerRefId ($a_user_id, $a_ref_id=null, $a_self_eval=0)
 Get trigger completion. More...
 
static checkUserCertificateForTriggerRefId ($a_user_id, $a_ref_id, $a_self_eval=0)
 Get trigger completion. More...
 
static getTriggerOfAllCertificates ($a_user_id, $a_self_eval=0)
 Get trigger completion. More...
 
static getSkillLevelsForTrigger ($a_ref_id)
 Get assigned skill levels for trigger. More...
 
static _lookupCertificate ($a_skill_id, $a_skill_level_id)
 Checks whether a skill level has a certificate or not. More...
 
static getUsageInfo ($a_cskill_ids, &$a_usages)
 Get usage info. More...
 
- Static Public Member Functions inherited from ilSkillTreeNode
static getAllStatus ()
 Get all status. More...
 
static getStatusInfo ($a_status)
 Get status info. More...
 
static _lookupTitle ($a_obj_id, $a_tref_id=0)
 Lookup Title. More...
 
static _lookupSelfEvaluation ($a_obj_id)
 Lookup self evaluation. More...
 
static _lookupStatus ($a_obj_id)
 Lookup Status. More...
 
static _lookupType ($a_obj_id)
 Lookup Type. More...
 
static _writeTitle ($a_obj_id, $a_title)
 Write Title. More...
 
static _writeOrderNr ($a_obj_id, $a_nr)
 Write Order Nr. More...
 
static putInTree ($a_obj, $a_parent_id="", $a_target_node_id="")
 Put this object into the skill tree. More...
 
static getTree ($a_slm_obj_id)
 Get scorm module editing tree. More...
 
static uniqueTypesCheck ($a_items)
 Check for unique types. More...
 
static clipboardCopy ($a_tree_id, $a_ids)
 Copy a set of skills/skill categories into the clipboard. More...
 
static insertItemsFromClip ($a_type, $a_obj_id)
 Insert basic skills from clipboard. More...
 
static clearClipboard ()
 Remove all skill items from clipboard. More...
 
static pasteTree ($a_item_id, $a_parent_id, $a_target, $a_insert_time, &$a_copied_nodes, $a_as_copy=false, $a_add_suffix=false)
 Paste item (tree) from clipboard to skill tree. More...
 
static isInTree ($a_id)
 Is id in tree? More...
 
static getAllSelfEvaluationNodes ()
 Get all self evaluation nodes. More...
 
static getTopTemplates ()
 Get top skill templates and template categories. More...
 
static getSelectableSkills ()
 Get selectable skills. More...
 
static saveChildsOrder ($a_par_id, $a_childs_order, $a_templates=false)
 Save childs order. More...
 
static getIconPath ($a_obj_id, $a_type, $a_size="", $a_status=0)
 Get icon path. More...
 
static findSkills ($a_term)
 Find skills. More...
 
static getUsageInfo ($a_cskill_ids, &$a_usages)
 Get title of an assigned item. More...
 

Data Fields

const ACHIEVED = 1
 
const NOT_ACHIEVED = 0
 
const EVAL_BY_OTHERS_ = 0
 
const EVAL_BY_SELF = 1
 
const EVAL_BY_ALL = 2
 
 $id
 
- Data Fields inherited from ilSkillTreeNode
const STATUS_PUBLISH = 0
 
const STATUS_DRAFT = 1
 
const STATUS_OUTDATED = 2
 
 $type
 
 $id
 
 $title
 

Static Protected Member Functions

static lookupLevelProperty ($a_id, $a_prop)
 Lookup level property. More...
 
static writeLevelProperty ($a_id, $a_prop, $a_value, $a_type)
 Write level property. More...
 
- Static Protected Member Functions inherited from ilSkillTreeNode
static _lookup ($a_obj_id, $a_field)
 Lookup Title. More...
 

Detailed Description

Basic Skill.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 16 of file class.ilBasicSkill.php.

Constructor & Destructor Documentation

◆ __construct()

ilBasicSkill::__construct (   $a_id = 0)

Constructor @access public.

Reimplemented in ilBasicSkillTemplate.

Definition at line 31 of file class.ilBasicSkill.php.

32 {
33 parent::ilSkillTreeNode($a_id);
34 $this->setType("skll");
35 }
setType($a_type)
Set type.

References ilSkillTreeNode\setType().

+ Here is the call graph for this function:

Member Function Documentation

◆ _lookupCertificate()

static ilBasicSkill::_lookupCertificate (   $a_skill_id,
  $a_skill_level_id 
)
static

Checks whether a skill level has a certificate or not.

Parameters
intskill id
intskill level id
Returns
true/false

Definition at line 1106 of file class.ilBasicSkill.php.

1107 {
1108 $certificatefile = CLIENT_WEB_DIR."/certificates/skill/".
1109 ((int)$a_skill_id)."/".((int) $a_skill_level_id)."/certificate.xml";
1110 if (@file_exists($certificatefile))
1111 {
1112 return true;
1113 }
1114 else
1115 {
1116 return false;
1117 }
1118 }

Referenced by checkUserCertificateForTriggerRefId(), and getTriggerOfAllCertificates().

+ Here is the caller graph for this function:

◆ addLevel()

ilBasicSkill::addLevel (   $a_title,
  $a_description 
)

Add new level.

Parameters
stringtitle
stringdescription

Definition at line 109 of file class.ilBasicSkill.php.

110 {
111 global $ilDB;
112
113 $nr = $this->getMaxLevelNr();
114 $nid = $ilDB->nextId("skl_level");
115 $ilDB->insert("skl_level", array(
116 "id" => array("integer", $nid),
117 "skill_id" => array("integer", $this->getId()),
118 "nr" => array("integer", $nr+1),
119 "title" => array("text", $a_title),
120 "description" => array("clob", $a_description)
121 ));
122
123 }
getMaxLevelNr()
Get maximum level nr.
global $ilDB

References $ilDB, ilSkillTreeNode\getId(), and getMaxLevelNr().

+ Here is the call graph for this function:

◆ checkUserCertificateForTriggerRefId()

static ilBasicSkill::checkUserCertificateForTriggerRefId (   $a_user_id,
  $a_ref_id,
  $a_self_eval = 0 
)
static

Get trigger completion.

Parameters

return

Definition at line 916 of file class.ilBasicSkill.php.

917 {
918 global $ilDB;
919die("ilBasicSkill::checkUserCertificateForTriggerRefId is deprecated.");
920 if (!is_array($a_ref_id))
921 {
922 $a_ref_id = array($a_ref_id);
923 }
924 if (!is_array($a_user_id))
925 {
926 $a_user_id = array($a_user_id);
927 }
928 $set = $ilDB->query($q = "SELECT user_id, status_date, trigger_ref_id, level_id, skill_id FROM skl_user_has_level WHERE ".
929 $ilDB->in("user_id", $a_user_id, false, "integer")." AND ".
930 $ilDB->in("trigger_ref_id", $a_ref_id, false, "integer")
931 );
932
933 $completion = array();
934
935 $completion = array();
936 while ($rec = $ilDB->fetchAssoc($set))
937 {
938 if (!isset($completion[$rec["user_id"]][$rec["trigger_ref_id"]])
939 && ilBasicSkill::_lookupCertificate($rec["skill_id"], $rec["level_id"]))
940 {
941 $completion[$rec["user_id"]][$rec["trigger_ref_id"]] = true;
942 }
943 }
944
945 foreach ($a_ref_id as $ref_id)
946 {
947 foreach ($a_user_id as $user_id)
948 {
949 if (!isset($completion[$user_id][$ref_id]))
950 {
951 $completion[$user_id][$ref_id] = false;
952 }
953 }
954 }
955 return $completion;
956
957 }
static _lookupCertificate($a_skill_id, $a_skill_level_id)
Checks whether a skill level has a certificate or not.
$ref_id
Definition: sahs_server.php:39

References $ilDB, $ref_id, and _lookupCertificate().

Referenced by ilObjSkillManagementGUI\testCert().

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

◆ copy()

ilBasicSkill::copy ( )

Copy basic skill.

Reimplemented in ilBasicSkillTemplate.

Definition at line 75 of file class.ilBasicSkill.php.

76 {
77 $skill = new ilBasicSkill();
78 $skill->setTitle($this->getTitle());
79 $skill->setType($this->getType());
80 $skill->setSelfEvaluation($this->getSelfEvaluation());
81 $skill->setOrderNr($this->getOrderNr());
82 $skill->create();
83
84 $levels = $this->getLevelData();
85 if (sizeof($levels))
86 {
87 foreach($levels as $item)
88 {
89 $skill->addLevel($item["title"], $item["description"]);
90 }
91 }
92 $skill->update();
93
94 return $skill;
95 }
getLevelData($a_id=0)
Get level data.
getOrderNr()
Get order nr.
getSelfEvaluation()
Get self evaluation.

References getLevelData(), ilSkillTreeNode\getOrderNr(), ilSkillTreeNode\getSelfEvaluation(), ilSkillTreeNode\getTitle(), and ilSkillTreeNode\getType().

+ Here is the call graph for this function:

◆ create()

ilBasicSkill::create ( )

Create skill.

Reimplemented from ilSkillTreeNode.

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

50 {
51 parent::create();
52 }

◆ delete()

ilBasicSkill::delete ( )

Delete skill.

Reimplemented from ilSkillTreeNode.

Definition at line 57 of file class.ilBasicSkill.php.

58 {
59 global $ilDB;
60
61 $ilDB->manipulate("DELETE FROM skl_level WHERE "
62 ." skill_id = ".$ilDB->quote($this->getId(), "integer")
63 );
64
65 $ilDB->manipulate("DELETE FROM skl_user_has_level WHERE "
66 ." skill_id = ".$ilDB->quote($this->getId(), "integer")
67 );
68
69 parent::delete();
70 }

References $ilDB.

◆ deleteLevel()

ilBasicSkill::deleteLevel (   $a_id)

Delete level.

Parameters

return

Definition at line 322 of file class.ilBasicSkill.php.

323 {
324 global $ilDB;
325
326 $ilDB->manipulate("DELETE FROM skl_level WHERE "
327 ." id = ".$ilDB->quote($a_id, "integer")
328 );
329
330 }

References $ilDB.

◆ fixLevelNumbering()

ilBasicSkill::fixLevelNumbering ( )

Fix level numbering.

Parameters

return

Definition at line 338 of file class.ilBasicSkill.php.

339 {
340 global $ilDB;
341
342 $set = $ilDB->query("SELECT id, nr FROM skl_level WHERE ".
343 " skill_id = ".$ilDB->quote($this->getId(), "integer").
344 " ORDER BY nr ASC"
345 );
346 $cnt = 1;
347 while ($rec = $ilDB->fetchAssoc($set))
348 {
349 $ilDB->manipulate("UPDATE skl_level SET ".
350 " nr = ".$ilDB->quote($cnt, "integer").
351 " WHERE id = ".$ilDB->quote($rec["id"], "integer")
352 );
353 $cnt++;
354 }
355 }

References $ilDB.

◆ getAllHistoricLevelEntriesOfUser()

ilBasicSkill::getAllHistoricLevelEntriesOfUser (   $a_tref_id,
  $a_user_id = 0,
  $a_eval_by = 0 
)

Get all historic level entries.

Parameters

return

Definition at line 686 of file class.ilBasicSkill.php.

687 {
688 global $ilDB, $ilUser;
689
690 if ($a_user_id == 0)
691 {
692 $a_user_id = $ilUser->getId();
693 }
694
695 $by = ($a_eval_by != self::EVAL_BY_ALL)
696 ? " AND self_eval = ".$ilDB->quote($a_self_eval, "integer")
697 : "";
698
699 $set = $ilDB->query($q = "SELECT * FROM skl_user_skill_level ".
700 " WHERE skill_id = ".$ilDB->quote($this->getId(), "integer").
701 " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
702 " AND user_id = ".$ilDB->quote($a_user_id, "integer").
703 $by.
704 " ORDER BY status_date DESC"
705 );
706 $levels = array();
707 while ($rec = $ilDB->fetchAssoc($set))
708 {
709 $levels[] = $rec;
710 }
711 return $levels;
712 }
global $ilUser
Definition: imgupload.php:15

References $ilDB, $ilUser, and EVAL_BY_ALL.

◆ getAllLevelEntriesOfUser()

ilBasicSkill::getAllLevelEntriesOfUser (   $a_tref_id,
  $a_user_id = 0,
  $a_self_eval = 0 
)

Get all level entries.

Parameters

return

Definition at line 655 of file class.ilBasicSkill.php.

656 {
657 global $ilDB, $ilUser;
658
659 if ($a_user_id == 0)
660 {
661 $a_user_id = $ilUser->getId();
662 }
663
664 $set = $ilDB->query($q = "SELECT * FROM skl_user_has_level ".
665 " WHERE skill_id = ".$ilDB->quote($this->getId(), "integer").
666 " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
667 " AND user_id = ".$ilDB->quote($a_user_id, "integer").
668 " AND self_eval = ".$ilDB->quote($a_self_eval, "integer").
669 " ORDER BY status_date DESC"
670 );
671
672 $levels = array();
673 while ($rec = $ilDB->fetchAssoc($set))
674 {
675 $levels[] = $rec;
676 }
677 return $levels;
678 }

References $ilDB, and $ilUser.

◆ getCompletionDateForTriggerRefId()

static ilBasicSkill::getCompletionDateForTriggerRefId (   $a_user_id,
  $a_ref_id = null,
  $a_self_eval = 0 
)
static

Get trigger completion.

Parameters

return

Definition at line 820 of file class.ilBasicSkill.php.

821 {
822 global $ilDB;
823die("ilBasicSkill::getCompletionDateForTriggerRefId is deprecated.");
824 if ($a_ref_id == "")
825 {
826 $a_ref_id = null;
827 }
828 else if (!is_array($a_ref_id))
829 {
830 $a_ref_id = array($a_ref_id);
831 }
832 if (!is_array($a_user_id))
833 {
834 $a_user_id = array($a_user_id);
835 }
836
837 if ($a_ref_id != null)
838 {
839 if (!is_array($a_ref_id))
840 {
841 $a_ref_id = array($a_ref_id);
842 }
843
844 $set = $ilDB->query($q = "SELECT user_id, status_date, trigger_ref_id FROM skl_user_has_level WHERE ".
845 $ilDB->in("user_id", $a_user_id, false, "integer")." AND ".
846 $ilDB->in("trigger_ref_id", $a_ref_id, false, "integer")
847 );
848
849 $completion = array();
850 while ($rec = $ilDB->fetchAssoc($set))
851 {
852 if (!isset($completion[$rec["user_id"]][$rec["trigger_ref_id"]]))
853 {
854 $completion[$rec["user_id"]][$rec["trigger_ref_id"]] = $rec["status_date"];
855 }
856 else if ($rec["status_date"] < $completion[$rec["user_id"]][$rec["trigger_ref_id"]])
857 {
858 $completion[$rec["user_id"]][$rec["trigger_ref_id"]] = $rec["status_date"];
859 }
860 }
861
862 foreach ($a_ref_id as $ref_id)
863 {
864 foreach ($a_user_id as $user_id)
865 {
866 if (!isset($completion[$user_id][$ref_id]))
867 {
868 $completion[$user_id][$ref_id] = false;
869 }
870 }
871 }
872 }
873 else
874 {
875 $completion = array();
876 foreach ($a_user_id as $user_id)
877 {
878 include_once 'Services/Membership/classes/class.ilParticipants.php';
879 $a_ref_id = ilParticipants::_getMembershipByType($user_id, 'crs', true);
880
881 $set = $ilDB->query($q = "SELECT user_id, status_date, trigger_ref_id FROM skl_user_has_level WHERE ".
882 "user_id = ".$ilDB->quote($user_id, "integer")." AND ".
883 $ilDB->in("trigger_ref_id", $a_ref_id, false, "integer")
884 );
885
886 while ($rec = $ilDB->fetchAssoc($set))
887 {
888 if (!isset($completion[$user_id][$rec["trigger_ref_id"]]))
889 {
890 $completion[$user_id][$rec["trigger_ref_id"]] = $rec["status_date"];
891 }
892 else if ($rec["status_date"] < $completion[$user_id][$rec["trigger_ref_id"]])
893 {
894 $completion[$user_id][$rec["trigger_ref_id"]] = $rec["status_date"];
895 }
896 }
897 foreach ($a_ref_id as $ref_id)
898 {
899 if (!isset($completion[$user_id][$ref_id]))
900 {
901 $completion[$user_id][$ref_id] = false;
902 }
903 }
904 }
905
906 }
907 return $completion;
908 }
static _getMembershipByType($a_usr_id, $a_type, $a_only_member_role=false)
get membership by type Get course or group membership

References $ilDB, $ref_id, and ilParticipants\_getMembershipByType().

Referenced by ilObjSkillManagementGUI\test().

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

◆ getLastLevelPerObject()

ilBasicSkill::getLastLevelPerObject (   $a_tref_id,
  $a_object_id,
  $a_user_id = 0,
  $a_self_eval = 0 
)

Get last level set per object.

Parameters

return

Definition at line 760 of file class.ilBasicSkill.php.

761 {
762 global $ilDB, $ilUser;
763
764 if ($a_user_id == 0)
765 {
766 $a_user_id = $ilUser->getId();
767 }
768
769 $ilDB->setLimit(1);
770 $set = $ilDB->query($q = "SELECT level_id FROM skl_user_has_level ".
771 " WHERE trigger_obj_id = ".$ilDB->quote($a_object_id, "integer").
772 " AND skill_id = ".$ilDB->quote($this->getId(), "integer").
773 " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
774 " AND user_id = ".$ilDB->quote($a_user_id, "integer").
775 " AND self_eval = ".$ilDB->quote($a_self_eval, "integer").
776 " ORDER BY status_date DESC"
777 );
778
779 $rec = $ilDB->fetchAssoc($set);
780
781 return $rec["level_id"];
782 }

References $ilDB, and $ilUser.

◆ getLastUpdatePerObject()

ilBasicSkill::getLastUpdatePerObject (   $a_tref_id,
  $a_object_id,
  $a_user_id = 0,
  $a_self_eval = 0 
)

Get last update per object.

Parameters

return

Definition at line 790 of file class.ilBasicSkill.php.

791 {
792 global $ilDB, $ilUser;
793
794 if ($a_user_id == 0)
795 {
796 $a_user_id = $ilUser->getId();
797 }
798
799 $ilDB->setLimit(1);
800 $set = $ilDB->query($q = "SELECT status_date FROM skl_user_has_level ".
801 " WHERE trigger_obj_id = ".$ilDB->quote($a_object_id, "integer").
802 " AND skill_id = ".$ilDB->quote($this->getId(), "integer").
803 " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
804 " AND user_id = ".$ilDB->quote($a_user_id, "integer").
805 " AND self_eval = ".$ilDB->quote($a_self_eval, "integer").
806 " ORDER BY status_date DESC"
807 );
808
809 $rec = $ilDB->fetchAssoc($set);
810
811 return $rec["status_date"];
812 }

References $ilDB, and $ilUser.

◆ getLevelData()

ilBasicSkill::getLevelData (   $a_id = 0)

Get level data.

Returns
array level data

Definition at line 146 of file class.ilBasicSkill.php.

147 {
148 global $ilDB;
149
150 if ($a_id > 0)
151 {
152 $and = " AND id = ".$ilDB->quote($a_id, "integer");
153 }
154
155 $set = $ilDB->query("SELECT * FROM skl_level WHERE ".
156 " skill_id = ".$ilDB->quote($this->getId(), "integer").
157 $and.
158 " ORDER BY nr"
159 );
160 $levels = array();
161 while ($rec = $ilDB->fetchAssoc($set))
162 {
163 if ($a_id > 0)
164 {
165 return $rec;
166 }
167 $levels[] = $rec;
168 }
169 return $levels;
170 }

References $ilDB.

Referenced by copy(), ilBasicSkillTemplate\copy(), getMaxLevelPerObject(), and getMaxLevelPerType().

+ Here is the caller graph for this function:

◆ getLevelTitleForCertificate()

ilBasicSkill::getLevelTitleForCertificate (   $a_level_id)

Get title for certificate.

Parameters

return

Definition at line 1070 of file class.ilBasicSkill.php.

1071 {
1072die("ilBasicSkill::getLevelTitleForCertificate is deprecated.");
1073 return ilBasicSkill::lookupLevelTitle($a_level_id);
1074 }
static lookupLevelTitle($a_id)
Lookup level title.

References lookupLevelTitle().

+ Here is the call graph for this function:

◆ getMaxLevelNr()

ilBasicSkill::getMaxLevelNr ( )

Get maximum level nr.

Returns
int maximum level nr of skill

Definition at line 130 of file class.ilBasicSkill.php.

131 {
132 global $ilDB;
133
134 $set = $ilDB->query("SELECT MAX(nr) mnr FROM skl_level WHERE ".
135 " skill_id = ".$ilDB->quote($this->getId(), "integer")
136 );
137 $rec = $ilDB->fetchAssoc($set);
138 return (int) $rec["mnr"];
139 }

References $ilDB.

Referenced by addLevel().

+ Here is the caller graph for this function:

◆ getMaxLevelPerObject()

ilBasicSkill::getMaxLevelPerObject (   $a_tref_id,
  $a_object_id,
  $a_user_id = 0,
  $a_self_eval = 0 
)

Get max levels per object.

Parameters

return

Definition at line 721 of file class.ilBasicSkill.php.

722 {
723 global $ilDB, $ilUser;
724
725 if ($a_user_id == 0)
726 {
727 $a_user_id = $ilUser->getId();
728 }
729
730 $set = $ilDB->query($q = "SELECT level_id FROM skl_user_has_level ".
731 " WHERE trigger_obj_id = ".$ilDB->quote($a_object_id, "integer").
732 " AND skill_id = ".$ilDB->quote($this->getId(), "integer").
733 " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
734 " AND user_id = ".$ilDB->quote($a_user_id, "integer").
735 " AND self_eval = ".$ilDB->quote($a_self_eval, "integer")
736 );
737
738 $has_level = array();
739 while ($rec = $ilDB->fetchAssoc($set))
740 {
741 $has_level[$rec["level_id"]] = true;
742 }
743 $max_level = 0;
744 foreach ($this->getLevelData() as $l)
745 {
746 if (isset($has_level[$l["id"]]))
747 {
748 $max_level = $l["id"];
749 }
750 }
751 return $max_level;
752 }
global $l
Definition: afr.php:30

References $ilDB, $ilUser, $l, and getLevelData().

+ Here is the call graph for this function:

◆ getMaxLevelPerType()

ilBasicSkill::getMaxLevelPerType (   $a_tref_id,
  $a_type,
  $a_user_id = 0,
  $a_self_eval = 0 
)

Get max levels per type.

Parameters

return

Definition at line 616 of file class.ilBasicSkill.php.

617 {
618 global $ilDB, $ilUser;
619
620 if ($a_user_id == 0)
621 {
622 $a_user_id = $ilUser->getId();
623 }
624
625 $set = $ilDB->query($q = "SELECT level_id FROM skl_user_has_level ".
626 " WHERE trigger_obj_type = ".$ilDB->quote($a_type, "text").
627 " AND skill_id = ".$ilDB->quote($this->getId(), "integer").
628 " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
629 " AND user_id = ".$ilDB->quote($a_user_id, "integer").
630 " AND self_eval = ".$ilDB->quote($a_self_eval, "integer")
631 );
632
633 $has_level = array();
634 while ($rec = $ilDB->fetchAssoc($set))
635 {
636 $has_level[$rec["level_id"]] = true;
637 }
638 $max_level = 0;
639 foreach ($this->getLevelData() as $l)
640 {
641 if (isset($has_level[$l["id"]]))
642 {
643 $max_level = $l["id"];
644 }
645 }
646 return $max_level;
647 }

References $ilDB, $ilUser, $l, and getLevelData().

+ Here is the call graph for this function:

◆ getShortTitleForCertificate()

ilBasicSkill::getShortTitleForCertificate ( )

Get short title for certificate.

Parameters

return

Definition at line 1095 of file class.ilBasicSkill.php.

1096 {
1097 return "Skill";
1098 }

◆ getSkillForLevelId()

ilBasicSkill::getSkillForLevelId (   $a_level_id)

Get skill for level id.

Parameters

return

Definition at line 384 of file class.ilBasicSkill.php.

385 {
386 global $ilDB;
387
388 $set = $ilDB->query("SELECT * FROM skl_level WHERE ".
389 " id = ".$ilDB->quote($a_level_id, "integer")
390 );
391 $skill = null;
392 if ($rec = $ilDB->fetchAssoc($set))
393 {
394 if (ilSkillTreeNode::isInTree($rec["skill_id"]))
395 {
396 $skill = new ilBasicSkill($rec["skill_id"]);
397 }
398 }
399 return $skill;
400 }
static isInTree($a_id)
Is id in tree?

References $ilDB, and ilSkillTreeNode\isInTree().

+ Here is the call graph for this function:

◆ getSkillLevelsForTrigger()

static ilBasicSkill::getSkillLevelsForTrigger (   $a_ref_id)
static

Get assigned skill levels for trigger.

Parameters

return

Definition at line 1030 of file class.ilBasicSkill.php.

1031 {
1032 global $ilDB;
1033die("ilBasicSkill::getSkillLevelsForTrigger is deprecated.");
1034 $set = $ilDB->query($q = "SELECT id FROM skl_level".
1035 " WHERE trigger_ref_id = ".$ilDB->quote($a_ref_id, "integer"));
1036
1037 $skill_levels = array();
1038 while ($rec = $ilDB->fetchAssoc($set))
1039 {
1040 $skill_levels[] = $rec["id"];
1041 }
1042
1043 return $skill_levels;
1044
1045 }

References $ilDB.

Referenced by ilObjSkillManagementGUI\testLevels().

+ Here is the caller graph for this function:

◆ getTitleForCertificate()

ilBasicSkill::getTitleForCertificate ( )

Get title for certificate.

Parameters

return

Definition at line 1059 of file class.ilBasicSkill.php.

1060 {
1061 return $this->getTitle();
1062 }

References ilSkillTreeNode\getTitle().

+ Here is the call graph for this function:

◆ getTriggerOfAllCertificates()

static ilBasicSkill::getTriggerOfAllCertificates (   $a_user_id,
  $a_self_eval = 0 
)
static

Get trigger completion.

Parameters

return

Definition at line 987 of file class.ilBasicSkill.php.

988 {
989 global $ilDB, $tree;
990die("ilBasicSkill::getTriggerOfAllCertificates is deprecated.");
991 if (!is_array($a_user_id))
992 {
993 $a_user_id = array($a_user_id);
994 }
995
996 $set = $ilDB->query($q = "SELECT user_id, status_date, trigger_ref_id, level_id, skill_id FROM skl_user_has_level WHERE ".
997 $ilDB->in("user_id", $a_user_id, false, "integer")
998 );
999
1000 $completion = array();
1001
1002 while ($rec = $ilDB->fetchAssoc($set))
1003 {
1004 if ((!is_array($completion[$rec["user_id"]]) || !in_array($rec["trigger_ref_id"], $completion[$rec["user_id"]]))
1005 && ilBasicSkill::_lookupCertificate($rec["skill_id"], $rec["level_id"]))
1006 {
1007 if ($tree->isInTree($rec["trigger_ref_id"]))
1008 {
1009 $completion[$rec["user_id"]][] = $rec["trigger_ref_id"];
1010 }
1011 }
1012 }
1013
1014 foreach ($a_user_id as $user_id)
1015 {
1016 if (!is_array($completion[$user_id]))
1017 {
1018 $completion[$user_id] = array();
1019 }
1020 }
1021 return $completion;
1022 }

References $ilDB, and _lookupCertificate().

Referenced by ilObjSkillManagementGUI\testAllCert().

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

◆ getTriggerTitleForCertificate()

ilBasicSkill::getTriggerTitleForCertificate (   $a_level_id)

Get trigger title for certificate.

Parameters

return

Definition at line 1082 of file class.ilBasicSkill.php.

1083 {
1084die("ilBasicSkill::getTriggerTitleForCertificate is deprecated.");
1085 $tr = ilBasicSkill::lookupLevelTrigger($a_level_id);
1086 return ilObject::_lookupTitle($tr["obj_id"]);
1087 }
static lookupLevelTrigger($a_id)
Lookup level trigger.
static _lookupTitle($a_id)
lookup object title

References ilObject\_lookupTitle(), and lookupLevelTrigger().

+ Here is the call graph for this function:

◆ getUsageInfo()

static ilBasicSkill::getUsageInfo (   $a_cskill_ids,
$a_usages 
)
static

Get usage info.

Parameters

return

Implements ilSkillUsageInfo.

Definition at line 1126 of file class.ilBasicSkill.php.

1127 {
1128 global $ilDB;
1129
1130 include_once("./Services/Skill/classes/class.ilSkillUsage.php");
1132 "skl_user_skill_level", "user_id");
1133 }
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.

References $ilDB, ilSkillUsage\getUsageInfoGeneric(), and ilSkillUsage\USER_ASSIGNED.

+ Here is the call graph for this function:

◆ lookupLevelAchievementDate()

ilBasicSkill::lookupLevelAchievementDate (   $a_user_id,
  $a_level_id,
  $a_self_eval = 0 
)

Lookup level achievement date.

Parameters

return

Definition at line 965 of file class.ilBasicSkill.php.

966 {
967 global $ilDB;
968die("ilBasicSkill::lookupLevelAchievementDate is deprecated.");
969 $set = $ilDB->query("SELECT user_id, status_date, trigger_ref_id, level_id, skill_id FROM skl_user_has_level WHERE ".
970 " user_id = ".$ilDB->quote($a_user_id, "integer").
971 " AND user_id = ".$ilDB->quote($a_user_id, "integer")
972 );
973 if ($rec = $ilDB->fetchAssoc($set))
974 {
975 return $rec["status_date"];
976 }
977
978 return false;
979 }

References $ilDB.

Referenced by ilSkillCertificateAdapter\getCertificateVariablesForPresentation().

+ Here is the caller graph for this function:

◆ lookupLevelDescription()

static ilBasicSkill::lookupLevelDescription (   $a_id)
static

Lookup level description.

Parameters
intlevel id
Returns
string level description

Definition at line 206 of file class.ilBasicSkill.php.

207 {
208 return ilBasicSkill::lookupLevelProperty($a_id, "description");
209 }
static lookupLevelProperty($a_id, $a_prop)
Lookup level property.

References lookupLevelProperty().

+ Here is the call graph for this function:

◆ lookupLevelProperty()

static ilBasicSkill::lookupLevelProperty (   $a_id,
  $a_prop 
)
staticprotected

Lookup level property.

Parameters
idlevel id
Returns
mixed property value

Definition at line 178 of file class.ilBasicSkill.php.

179 {
180 global $ilDB;
181
182 $set = $ilDB->query("SELECT $a_prop FROM skl_level WHERE ".
183 " id = ".$ilDB->quote($a_id, "integer")
184 );
185 $rec = $ilDB->fetchAssoc($set);
186 return $rec[$a_prop];
187 }

References $ilDB.

Referenced by lookupLevelDescription(), lookupLevelSkillId(), lookupLevelTitle(), and lookupLevelTrigger().

+ Here is the caller graph for this function:

◆ lookupLevelsForTriggerRefId()

ilBasicSkill::lookupLevelsForTriggerRefId (   $a_ref_id)

Lookup levels for trigger.

Parameters

return

Definition at line 363 of file class.ilBasicSkill.php.

364 {
365 global $ilDB;
366die("ilBasicSkill::lookupLevelsForTriggerRefId is deprecated.");
367 $set = $ilDB->query("SELECT id FROM skl_level WHERE ".
368 " trigger_ref_id = ".$ilDB->quote($a_ref_id, "integer")
369 );
370 $levels = array();
371 while ($rec = $ilDB->fetchAssoc($set))
372 {
373 $levels[] = $rec["id"];
374 }
375 return $levels;
376 }

References $ilDB.

◆ lookupLevelSkillId()

static ilBasicSkill::lookupLevelSkillId (   $a_id)
static

Lookup level skill id.

Parameters
intlevel id
Returns
string skill id

Definition at line 231 of file class.ilBasicSkill.php.

232 {
233 return ilBasicSkill::lookupLevelProperty($a_id, "skill_id");
234 }

References lookupLevelProperty().

Referenced by writeUserSkillLevelStatus().

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

◆ lookupLevelTitle()

static ilBasicSkill::lookupLevelTitle (   $a_id)
static

Lookup level title.

Parameters
intlevel id
Returns
string level title

Definition at line 195 of file class.ilBasicSkill.php.

196 {
197 return ilBasicSkill::lookupLevelProperty($a_id, "title");
198 }

References lookupLevelProperty().

Referenced by ilSkillProfileGUI\confirmLevelAssignmentRemoval(), ilBasicSkillGUI\confirmLevelDeletion(), ilSkillProfileLevelsTableGUI\fillRow(), getLevelTitleForCertificate(), ilPersonalSkillsGUI\renderSuggestedResources(), ilBasicSkillGUI\setLevelHead(), and ilBasicSkillTemplateGUI\setLevelHead().

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

◆ lookupLevelTrigger()

static ilBasicSkill::lookupLevelTrigger (   $a_id)
static

Lookup level trigger.

Parameters
intlevel id
Returns
array trigger ref id and obj id

Definition at line 217 of file class.ilBasicSkill.php.

218 {
219die("ilBasicSkill::lookupLevelTrigger is deprecated.");
220 $ref_id = ilBasicSkill::lookupLevelProperty($a_id, "trigger_ref_id");
221 $obj_id = ilBasicSkill::lookupLevelProperty($a_id, "trigger_obj_id");
222 return array("ref_id" => $ref_id, "obj_id" => $obj_id);
223 }

References $ref_id, and lookupLevelProperty().

Referenced by ilBasicSkillGUI\editLevelTrigger(), and getTriggerTitleForCertificate().

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

◆ read()

ilBasicSkill::read ( )

Read data from database.

Reimplemented from ilSkillTreeNode.

Definition at line 40 of file class.ilBasicSkill.php.

41 {
42 parent::read();
43 }

◆ updateAllUserSkillLevels()

static ilBasicSkill::updateAllUserSkillLevels ( )
static

Look for all skill level that have a trigger and update the user skill level information, if it has changed.

Definition at line 413 of file class.ilBasicSkill.php.

414 {
415 global $ilDB;
416die("ilBasicSkill::updateAllUserSkillLevels is deprecated.");
417 $set = $ilDB->query("SELECT id, trigger_obj_id FROM skl_level WHERE ".
418 " trigger_obj_id > ".$ilDB->quote(0, "integer")
419 );
420 while ($rec = $ilDB->fetchAssoc($set)) // all trigger objects
421 {
422 $skill_level_id = $rec["id"];
423 $tr_obj_id = $rec["trigger_obj_id"];
424
425 if (ilObject::_hasUntrashedReference($tr_obj_id))
426 {
427 include_once("./Services/Tracking/classes/class.ilLPStatusWrapper.php");
428 $completed = ilLPStatusWrapper::_lookupCompletedForObject($tr_obj_id);
429 foreach ($completed as $user_id)
430 {
432 $user_id, ilBasicSkill::ACHIEVED);
433 }
434 }
435 }
436 }
static writeUserSkillLevelStatus($a_level_id, $a_user_id, $a_trigger_ref_id, $a_tref_id=0, $a_status=ilBasicSkill::ACHIEVED, $a_force=false, $a_self_eval=0, $a_unique_identifier="")
Write skill level status.
static _lookupCompletedForObject($a_obj_id, $a_user_ids=null)
Get completed users for object.
_hasUntrashedReference($a_obj_id)
checks wether an object has at least one reference that is not in trash

References $ilDB, ilObject\_hasUntrashedReference(), ilLPStatusWrapper\_lookupCompletedForObject(), ACHIEVED, and writeUserSkillLevelStatus().

+ Here is the call graph for this function:

◆ updateLevelOrder()

ilBasicSkill::updateLevelOrder (   $order)

Update level order.

Parameters

return

Definition at line 299 of file class.ilBasicSkill.php.

300 {
301 global $ilDB;
302
303 asort($order);
304
305 $cnt = 1;
306 foreach ($order as $id => $o)
307 {
308 $ilDB->manipulate("UPDATE skl_level SET ".
309 " nr = ".$ilDB->quote($cnt, "integer").
310 " WHERE id = ".$ilDB->quote($id, "integer")
311 );
312 $cnt++;
313 }
314 }

References $id, and $ilDB.

◆ updateSkillLevelsByTriggerRef()

static ilBasicSkill::updateSkillLevelsByTriggerRef (   $a_user_id,
  $a_ref_id 
)
static

Look for all skill level that have a trigger and update the user skill level information, if it has changed.

Definition at line 442 of file class.ilBasicSkill.php.

443 {
444 global $ilDB;
445die("ilBasicSkill::updateSkillLevelsByTriggerRef is deprecated.");
446 $set = $ilDB->query("SELECT id, trigger_obj_id FROM skl_level WHERE ".
447 " trigger_ref_id = ".$ilDB->quote($a_ref_id, "integer")
448 );
449 while ($rec = $ilDB->fetchAssoc($set)) // all trigger objects
450 {
451 $skill_level_id = $rec["id"];
452 $tr_obj_id = $rec["trigger_obj_id"];
453
454 if (ilObject::_hasUntrashedReference($tr_obj_id))
455 {
456 include_once("./Services/Tracking/classes/class.ilLPStatusWrapper.php");
457 $completed = ilLPStatusWrapper::_lookupCompletedForObject($tr_obj_id);
458 foreach ($completed as $user_id)
459 {
460 if ($a_user_id == $user_id)
461 {
463 $user_id, ilBasicSkill::ACHIEVED);
464 }
465 }
466 }
467 }
468 }

References $ilDB, ilObject\_hasUntrashedReference(), ilLPStatusWrapper\_lookupCompletedForObject(), ACHIEVED, and writeUserSkillLevelStatus().

+ Here is the call graph for this function:

◆ writeLevelDescription()

static ilBasicSkill::writeLevelDescription (   $a_id,
  $a_description 
)
static

Write level description.

Parameters
intlevel id
textlevel description

Definition at line 270 of file class.ilBasicSkill.php.

271 {
272 ilBasicSkill::writeLevelProperty($a_id, "description", $a_description, "clob");
273 }
static writeLevelProperty($a_id, $a_prop, $a_value, $a_type)
Write level property.

References writeLevelProperty().

+ Here is the call graph for this function:

◆ writeLevelProperty()

static ilBasicSkill::writeLevelProperty (   $a_id,
  $a_prop,
  $a_value,
  $a_type 
)
staticprotected

Write level property.

Parameters

return

Definition at line 242 of file class.ilBasicSkill.php.

243 {
244 global $ilDB;
245
246 $ilDB->update("skl_level", array(
247 $a_prop => array($a_type, $a_value),
248 ), array(
249 "id" => array("integer", $a_id),
250 ));
251 }

References $ilDB.

Referenced by writeLevelDescription(), writeLevelTitle(), and writeLevelTrigger().

+ Here is the caller graph for this function:

◆ writeLevelTitle()

static ilBasicSkill::writeLevelTitle (   $a_id,
  $a_title 
)
static

Write level title.

Parameters
intlevel id
textlevel title

Definition at line 259 of file class.ilBasicSkill.php.

260 {
261 ilBasicSkill::writeLevelProperty($a_id, "title", $a_title, "text");
262 }

References writeLevelProperty().

+ Here is the call graph for this function:

◆ writeLevelTrigger()

static ilBasicSkill::writeLevelTrigger (   $a_id,
  $a_trigger_ref_id 
)
static

Write trigger.

Parameters
intlevel id
textlevel description

Definition at line 281 of file class.ilBasicSkill.php.

282 {
283die("ilBasicSkill::writeLevelTrigger is deprecated.");
284 $a_trigger_obj_id = 0;
285 if ($a_trigger_ref_id > 0)
286 {
287 $a_trigger_obj_id = ilObject::_lookupObjId($a_trigger_ref_id);
288 }
289 ilBasicSkill::writeLevelProperty($a_id, "trigger_ref_id", $a_trigger_ref_id, "integer");
290 ilBasicSkill::writeLevelProperty($a_id, "trigger_obj_id", $a_trigger_obj_id, "integer");
291 }
static _lookupObjId($a_id)

References ilObject\_lookupObjId(), and writeLevelProperty().

Referenced by ilBasicSkillGUI\removeLevelTrigger(), and ilBasicSkillGUI\saveLevelTrigger().

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

◆ writeUserSkillLevelStatus()

static ilBasicSkill::writeUserSkillLevelStatus (   $a_level_id,
  $a_user_id,
  $a_trigger_ref_id,
  $a_tref_id = 0,
  $a_status = ilBasicSkill::ACHIEVED,
  $a_force = false,
  $a_self_eval = 0,
  $a_unique_identifier = "" 
)
static

Write skill level status.

Parameters
intskill level id
intuser id
intstatus
stringany unique identifier set from the outside, if records for skill_id-tref_id-user_id-trigger_ref_id-self_eval-unique_identifier already exist the are removed from the history and the new entry is added The unique identifier is "unique per trigger object" not globally.

Definition at line 481 of file class.ilBasicSkill.php.

484 {
485 global $ilDB;
486
487 $skill_id = ilBasicSkill::lookupLevelSkillId($a_level_id);
488 $trigger_ref_id = $a_trigger_ref_id;
489 $trigger_obj_id = ilObject::_lookupObjId($trigger_ref_id);
490 $trigger_title = ilObject::_lookupTitle($trigger_obj_id);
491 $trigger_type = ilObject::_lookupType($trigger_obj_id);
492
493 $update = false;
494
495 // check whether current skill user level is identical
496 // to the one that should be set (-> no change required)
497/* $ilDB->setLimit(1);
498 $set = $ilDB->query("SELECT status, valid FROM skl_user_skill_level WHERE ".
499 "level_id = ".$ilDB->quote($a_level_id, "integer")." AND ".
500 "user_id = ".$ilDB->quote($a_user_id, "integer")." AND ".
501 "tref_id = ".$ilDB->quote((int) $a_tref_id, "integer")." AND ".
502 "trigger_obj_id = ".$ilDB->quote($trigger_obj_id, "integer")." AND ".
503 "self_eval = ".$ilDB->quote($a_self_eval, "integer").
504 " ORDER BY status_date DESC"
505 );
506 $rec = $ilDB->fetchAssoc($set);
507 if (!$rec["valid"] || $rec["status"] != $a_status)
508 {
509 $save = true;
510 }*/
511
512 if ($a_self_eval)
513 {
514 $ilDB->setLimit(1);
515 $set = $ilDB->query("SELECT * FROM skl_user_skill_level WHERE ".
516 "skill_id = ".$ilDB->quote($skill_id, "integer")." AND ".
517 "user_id = ".$ilDB->quote($a_user_id, "integer")." AND ".
518 "tref_id = ".$ilDB->quote((int) $a_tref_id, "integer")." AND ".
519 "trigger_obj_id = ".$ilDB->quote($trigger_obj_id, "integer")." AND ".
520 "self_eval = ".$ilDB->quote($a_self_eval, "integer").
521 " ORDER BY status_date DESC"
522 );
523 $rec = $ilDB->fetchAssoc($set);
524 $status_day = substr($rec["status_date"], 0, 10);
525 $today = substr(ilUtil::now(), 0, 10);
526 if ($rec["valid"] && $rec["status"] == $a_status && $status_day == $today)
527 {
528 $update = true;
529 }
530 }
531
532 if ($update)
533 {
534 $now = ilUtil::now();
535 $ilDB->manipulate("UPDATE skl_user_skill_level SET ".
536 " level_id = ".$ilDB->quote($a_level_id, "integer").",".
537 " status_date = ".$ilDB->quote($now, "timestamp").
538 " WHERE user_id = ".$ilDB->quote($a_user_id, "integer").
539 " AND status_date = ".$ilDB->quote($rec["status_date"], "timestamp").
540 " AND skill_id = ".$ilDB->quote($rec["skill_id"], "integer").
541 " AND status = ".$ilDB->quote($a_status, "integer").
542 " AND trigger_obj_id = ".$ilDB->quote($trigger_obj_id, "integer").
543 " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
544 " AND self_eval = ".$ilDB->quote($a_self_eval, "integer")
545 );
546 }
547 else
548 {
549 if ($a_unique_identifier != "")
550 {
551 $ilDB->manipulate("DELETE FROM skl_user_skill_level WHERE ".
552 " user_id = ".$ilDB->quote($a_user_id, "integer").
553 " AND tref_id = ".$ilDB->quote($a_tref_id, "integer").
554 " AND skill_id = ".$ilDB->quote($skill_id, "integer").
555 " AND trigger_ref_id = ".$ilDB->quote($trigger_ref_id, "integer").
556 " AND trigger_obj_id = ".$ilDB->quote($trigger_obj_id, "integer").
557 " AND self_eval = ".$ilDB->quote($a_self_eval, "integer").
558 " AND unique_identifier = ".$ilDB->quote($a_unique_identifier, "text")
559 );
560 }
561
562 $now = ilUtil::now();
563 $ilDB->manipulate("INSERT INTO skl_user_skill_level ".
564 "(level_id, user_id, tref_id, status_date, skill_id, status, valid, trigger_ref_id,".
565 "trigger_obj_id, trigger_obj_type, trigger_title, self_eval, unique_identifier) VALUES (".
566 $ilDB->quote($a_level_id, "integer").",".
567 $ilDB->quote($a_user_id, "integer").",".
568 $ilDB->quote((int) $a_tref_id, "integer").",".
569 $ilDB->quote($now, "timestamp").",".
570 $ilDB->quote($skill_id, "integer").",".
571 $ilDB->quote($a_status, "integer").",".
572 $ilDB->quote(1, "integer").",".
573 $ilDB->quote($trigger_ref_id, "integer").",".
574 $ilDB->quote($trigger_obj_id, "integer").",".
575 $ilDB->quote($trigger_type, "text").",".
576 $ilDB->quote($trigger_title, "text").",".
577 $ilDB->quote($a_self_eval, "integer").",".
578 $ilDB->quote($a_unique_identifier, "text").
579 ")");
580 }
581
582 // fix (removed level_id and added skill id, since table should hold only
583 // one entry per skill)
584 $ilDB->manipulate("DELETE FROM skl_user_has_level WHERE "
585 ." user_id = ".$ilDB->quote($a_user_id, "integer")
586 ." AND skill_id = ".$ilDB->quote($skill_id, "integer")
587 ." AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer")
588 ." AND trigger_obj_id = ".$ilDB->quote($trigger_obj_id, "integer")
589 ." AND self_eval = ".$ilDB->quote($a_self_eval, "integer")
590 );
591
592 if ($a_status == ilBasicSkill::ACHIEVED)
593 {
594 $ilDB->manipulate("INSERT INTO skl_user_has_level ".
595 "(level_id, user_id, tref_id, status_date, skill_id, trigger_ref_id, trigger_obj_id, trigger_obj_type, trigger_title, self_eval) VALUES (".
596 $ilDB->quote($a_level_id, "integer").",".
597 $ilDB->quote($a_user_id, "integer").",".
598 $ilDB->quote($a_tref_id, "integer").",".
599 $ilDB->quote($now, "timestamp").",".
600 $ilDB->quote($skill_id, "integer").",".
601 $ilDB->quote($trigger_ref_id, "integer").",".
602 $ilDB->quote($trigger_obj_id, "integer").",".
603 $ilDB->quote($trigger_type, "text").",".
604 $ilDB->quote($trigger_title, "text").",".
605 $ilDB->quote($a_self_eval, "integer").
606 ")");
607 }
608 }
static lookupLevelSkillId($a_id)
Lookup level skill id.
static _lookupType($a_id, $a_reference=false)
lookup object type
static now()
Return current timestamp in Y-m-d H:i:s format.

References $ilDB, ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilObject\_lookupType(), ACHIEVED, lookupLevelSkillId(), and ilUtil\now().

Referenced by ilTestSkillEvaluation\invokeSkillLevelTrigger(), ilPersonalSkill\saveSelfEvaluation(), updateAllUserSkillLevels(), updateSkillLevelsByTriggerRef(), ilSurveySkill\writeAppraiseeSkills(), and ilSurveySkillDeterminationGUI\writeSkills().

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

Field Documentation

◆ $id

ilBasicSkill::$id

Definition at line 25 of file class.ilBasicSkill.php.

Referenced by updateLevelOrder().

◆ ACHIEVED

◆ EVAL_BY_ALL

const ilBasicSkill::EVAL_BY_ALL = 2

◆ EVAL_BY_OTHERS_

const ilBasicSkill::EVAL_BY_OTHERS_ = 0

Definition at line 21 of file class.ilBasicSkill.php.

◆ EVAL_BY_SELF

const ilBasicSkill::EVAL_BY_SELF = 1

Definition at line 22 of file class.ilBasicSkill.php.

◆ NOT_ACHIEVED

const ilBasicSkill::NOT_ACHIEVED = 0

Definition at line 19 of file class.ilBasicSkill.php.


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