5include_once(
"./Services/Skill/classes/class.ilSkillTreeNodeGUI.php");
 
    6include_once(
"./Services/Skill/classes/class.ilBasicSkill.php");
 
   65        $this->ctrl = 
$DIC->ctrl();
 
   66        $this->tpl = 
$DIC[
"tpl"];
 
   67        $this->tabs = 
$DIC->tabs();
 
   68        $this->help = 
$DIC[
"ilHelp"];
 
   69        $this->toolbar = 
$DIC->toolbar();
 
   70        $this->lng = 
$DIC->language();
 
   71        $this->tree = 
$DIC->repositoryTree();
 
   74        $ilCtrl->saveParameter($this, array(
"obj_id", 
"level_id"));
 
   75        $this->base_skill_id = $a_node_id;
 
   77        parent::__construct($a_node_id);
 
   98        $next_class = 
$ilCtrl->getNextClass($this);
 
  100        switch ($next_class) {
 
  101            case "ilcertificategui":
 
  103                $ilTabs->activateTab(
"level_certificate");
 
  105                $skillLevelId = (int) 
$_GET[
"level_id"];
 
  111                    $this->node_object->getId(),
 
  112                    ilCertificatePathConstants::SKILL_PATH . $this->node_object->getId() . 
'/' . $skillLevelId
 
  119                $ret = $this->$cmd();
 
  134        $tpl->setContent(
"Properties");
 
  149        $it->setTitle($this->form->getInput(
"title"));
 
  150        $it->setOrderNr(
$tree->getMaxOrderNr((
int) 
$_GET[
"obj_id"]) + 10);
 
  151        $it->setStatus($this->form->getInput(
"status"));
 
  152        $it->setSelfEvaluation(
$_POST[
"self_eval"]);
 
  155        $this->node_object = $it;
 
  168            $this->node_object->getId()
 
  170        $ilCtrl->redirectByClass(
"ilbasicskillgui", 
"edit");
 
  182        $this->node_object->setTitle($this->form->getInput(
"title"));
 
  183        $this->node_object->setSelfEvaluation(
$_POST[
"self_eval"]);
 
  184        $this->node_object->setStatus(
$_POST[
"status"]);
 
  185        $this->node_object->update();
 
  204                $ilToolbar->addButton(
 
  205                    $lng->txt(
"skmg_add_level"),
 
  206                    $ilCtrl->getLinkTarget($this, 
"addLevel")
 
  211        include_once(
"./Services/Skill/classes/class.ilSkillLevelTableGUI.php");
 
  226        include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  231        $ti->setMaxLength(200);
 
  233        $ti->setRequired(
true);
 
  234        $this->form->addItem($ti);
 
  242        $cb->setInfo(
$lng->txt(
"skmg_selectable_info"));
 
  243        $this->form->addItem($cb);
 
  247            if ($a_mode == 
"create") {
 
  248                $this->form->addCommandButton(
"save", 
$lng->txt(
"save"));
 
  249                $this->form->addCommandButton(
"cancelSave", 
$lng->txt(
"cancel"));
 
  250                $this->form->setTitle(
$lng->txt(
"skmg_create_skll"));
 
  252                $this->form->addCommandButton(
"update", 
$lng->txt(
"save"));
 
  253                $this->form->setTitle(
$lng->txt(
"skmg_edit_skll"));
 
  257        $ilCtrl->setParameter($this, 
"obj_id", 
$_GET[
"obj_id"]);
 
  258        $this->form->setFormAction(
$ilCtrl->getFormAction($this));
 
  267        parent::editProperties();
 
  285        $tpl->setContent($this->form->getHTML());
 
  302        $tpl->setContent($this->form->getHTML());
 
  319        if ($this->form->checkInput()) {
 
  321            $this->node_object->addLevel(
 
  322                $this->form->getInput(
"title"),
 
  323                $this->form->getInput(
"description")
 
  326            ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"), 
true);
 
  327            $ilCtrl->redirect($this, 
"edit");
 
  330        $this->form->setValuesByPost();
 
  331        $tpl->setContent($this->form->getHtml());
 
  348        if ($this->form->checkInput()) {
 
  349            $this->node_object->writeLevelTitle(
 
  350                (
int) 
$_GET[
"level_id"],
 
  351                $this->form->getInput(
"title")
 
  353            $this->node_object->writeLevelDescription(
 
  354                (
int) 
$_GET[
"level_id"],
 
  355                $this->form->getInput(
"description")
 
  358            ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"), 
true);
 
  359            $ilCtrl->redirect($this, 
"edit");
 
  362        $this->form->setValuesByPost();
 
  363        $tpl->setContent($this->form->getHtml());
 
  377        $ilCtrl->saveParameter($this, 
"level_id");
 
  379        $ilTabs->activateTab(
"level_settings");
 
  381        include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  386        $ti->setMaxLength(200);
 
  387        $ti->setRequired(
true);
 
  388        $this->form->addItem($ti);
 
  394        $this->form->addItem($ta);
 
  398            if ($a_mode == 
"create") {
 
  399                $this->form->addCommandButton(
"saveLevel", 
$lng->txt(
"save"));
 
  400                $this->form->addCommandButton(
"edit", 
$lng->txt(
"cancel"));
 
  401                $this->form->setTitle(
$lng->txt(
"skmg_new_level"));
 
  403                $this->form->addCommandButton(
"updateLevel", 
$lng->txt(
"save"));
 
  404                $this->form->addCommandButton(
"edit", 
$lng->txt(
"cancel"));
 
  405                $this->form->setTitle(
$lng->txt(
"skmg_edit_level"));
 
  409        $this->form->setFormAction(
$ilCtrl->getFormAction($this));
 
  419        $data = $this->node_object->getLevelData((
int) 
$_GET[
"level_id"]);
 
  422        $this->form->setValuesByArray(
$values);
 
  438        $this->node_object->updateLevelOrder($order);
 
  439        ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"), 
true);
 
  440        $ilCtrl->redirect($this, 
"edit");
 
  458        if (!is_array(
$_POST[
"id"]) || count(
$_POST[
"id"]) == 0) {
 
  460            $ilCtrl->redirect($this, 
"edit");
 
  462            include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  464            $cgui->setFormAction(
$ilCtrl->getFormAction($this));
 
  465            $cgui->setHeaderText(
$lng->txt(
"skmg_really_delete_levels"));
 
  466            $cgui->setCancel(
$lng->txt(
"cancel"), 
"edit");
 
  467            $cgui->setConfirm(
$lng->txt(
"delete"), 
"deleteLevel");
 
  473            $tpl->setContent($cgui->getHTML());
 
  489        if (is_array(
$_POST[
"id"])) {
 
  491                $this->node_object->deleteLevel((
int) 
$id);
 
  493            $this->node_object->fixLevelNumbering();
 
  495        ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"), 
true);
 
  496        $ilCtrl->redirect($this, 
"edit");
 
  511        $ilTabs->clearTargets();
 
  512        $ilHelp->setScreenIdComponent(
"skmg_lev");
 
  514        $ilTabs->setBackTarget(
 
  516            $ilCtrl->getLinkTarget($this, 
"edit")
 
  519        if (
$_GET[
"level_id"] > 0) {
 
  522                $lng->txt(
"settings"),
 
  523                $ilCtrl->getLinkTarget($this, 
"editLevel")
 
  532                $lng->txt(
"skmg_resources"),
 
  533                $ilCtrl->getLinkTarget($this, 
"showLevelResources")
 
  542        if (
$_GET[
"level_id"] > 0) {
 
  543            $tpl->setTitle(
$lng->txt(
"skmg_skill_level") . 
": " .
 
  546            $tpl->setTitle(
$lng->txt(
"skmg_skill_level"));
 
  549        include_once(
"./Services/Skill/classes/class.ilSkillTree.php");
 
  551        $path = 
$tree->getPathFull($this->node_object->getId());
 
  553        foreach (
$path as $p) {
 
  554            if (in_array($p[
"type"], array(
"scat", 
"skll"))) {
 
  555                $desc .= $sep . $p[
"title"];
 
  559        $tpl->setDescription($desc);
 
  575        $ilTabs->clearTargets();
 
  576        $ilHelp->setScreenIdComponent(
"skmg_skll");
 
  580        if (is_object($this->node_object)) {
 
  585                $lng->txt(
"skmg_skill_levels"),
 
  586                $ilCtrl->getLinkTarget($this, 
'edit')
 
  592                $lng->txt(
"settings"),
 
  593                $ilCtrl->getLinkTarget($this, 
'editProperties')
 
  602                $this->node_object->skill_tree->getRootId()
 
  604            $ilTabs->setBackTarget(
 
  605                $lng->txt(
"obj_skmg"),
 
  606                $ilCtrl->getLinkTargetByClass(
"ilskillrootgui", 
"listSkills")
 
  614            $ilTabs->activateTab($a_tab);
 
  616            $tpl->setTitle(
$lng->txt(
"skmg_skill") . 
": " .
 
  617                $this->node_object->getTitle());
 
  621            $tpl->setTitle(
$lng->txt(
"skmg_skill"));
 
  622            $tpl->setDescription(
"");
 
  624        parent::setTitleIcon();
 
  638        $ilTabs->activateTab(
"level_trigger");
 
  640        $trigger = ilBasicSkill::lookupLevelTrigger((
int) 
$_GET[
"level_id"]);
 
  646        include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  651        if ($trigger[
"obj_id"] > 0) {
 
  654            $ne->setValue(
$lng->txt(
"skmg_no_trigger"));
 
  656        $this->form->addItem($ne);
 
  658        if ($trigger[
"obj_id"] > 0) {
 
  659            $this->form->addCommandButton(
"removeLevelTrigger", 
$lng->txt(
"skmg_remove_trigger"));
 
  661        $this->form->addCommandButton(
"selectLevelTrigger", 
$lng->txt(
"skmg_select_trigger"));
 
  663        $this->form->setTitle(
$lng->txt(
"skmg_skill_level_trigger"));
 
  664        $this->form->setFormAction(
$ilCtrl->getFormAction($this));
 
  666        $tpl->setContent($this->form->getHTML());
 
  685        $ilTabs->activateTab(
"level_trigger");
 
  687        include_once 
'Services/Search/classes/class.ilSearchRootSelector.php';
 
  689            $ilCtrl->getLinkTarget($this, 
'showRepositorySelection')
 
  691        $exp->setExpand(
$_GET[
"search_root_expand"] ? 
$_GET[
"search_root_expand"] : 
$tree->readRootId());
 
  692        $exp->setExpandTarget(
$ilCtrl->getLinkTarget($this, 
'selectLevelTrigger'));
 
  693        $exp->setTargetClass(get_class($this));
 
  694        $exp->setCmd(
'saveLevelTrigger');
 
  695        $exp->setClickableTypes(array(
"crs"));
 
  699        $tpl->setContent($exp->getOutput());
 
  713        ilBasicSkill::writeLevelTrigger((
int) 
$_GET[
"level_id"], (
int) 
$_GET[
"root_id"]);
 
  714        $ilCtrl->redirect($this, 
"editLevelTrigger");
 
  724        ilBasicSkill::writeLevelTrigger((
int) 
$_GET[
"level_id"], 0);
 
  725        $ilCtrl->redirect($this, 
"editLevelTrigger");
 
  739                $ilCtrl->setParameterByClass(
"ilskillrootgui", 
"obj_id", (
int) 
$_GET[
"obj_id"]);
 
  740                $ilCtrl->redirectByClass(
"ilskillrootgui", 
"listSkills");
 
  744        parent::redirectToParent();
 
  764            $ilToolbar->addButton(
 
  765                $lng->txt(
"skmg_add_resource"),
 
  766                $ilCtrl->getLinkTarget($this, 
"addLevelResource")
 
  771        $ilTabs->activateTab(
"level_resources");
 
  773        include_once(
"./Services/Skill/classes/class.ilSkillLevelResourcesTableGUI.php");
 
  776            "showLevelResources",
 
  777            $this->base_skill_id,
 
  779            (
int) 
$_GET[
"level_id"],
 
  798        $ilTabs->activateTab(
"level_resources");
 
  800        include_once(
"./Services/Repository/classes/class.ilRepositorySelectorExplorerGUI.php");
 
  808        if (!$exp->handleCommand()) {
 
  809            $tpl->setContent($exp->getHTML());
 
  828            include_once(
"./Services/Skill/classes/class.ilSkillResources.php");
 
  830            $sres->setResourceAsImparting((
int) 
$_GET[
"level_id"], 
$ref_id);
 
  833            ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"), 
true);
 
  836        $ilCtrl->redirect($this, 
"showLevelResources");
 
  854        $ilTabs->activateTab(
"level_resources");
 
  856        if (!is_array(
$_POST[
"id"]) || count(
$_POST[
"id"]) == 0) {
 
  858            $ilCtrl->redirect($this, 
"showLevelResources");
 
  860            include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  862            $cgui->setFormAction(
$ilCtrl->getFormAction($this));
 
  863            $cgui->setHeaderText(
$lng->txt(
"skmg_confirm_level_resources_removal"));
 
  864            $cgui->setCancel(
$lng->txt(
"cancel"), 
"showLevelResources");
 
  865            $cgui->setConfirm(
$lng->txt(
"remove"), 
"removeLevelResources");
 
  872            $tpl->setContent($cgui->getHTML());
 
  888        if (is_array(
$_POST[
"id"])) {
 
  889            include_once(
"./Services/Skill/classes/class.ilSkillResources.php");
 
  892                $sres->setResourceAsImparting((
int) 
$_GET[
"level_id"], 
$i, 
false);
 
  893                $sres->setResourceAsTrigger((
int) 
$_GET[
"level_id"], 
$i, 
false);
 
  896            ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"), 
true);
 
  899        $ilCtrl->redirect($this, 
"showLevelResources");
 
  912        include_once(
"./Services/Skill/classes/class.ilSkillResources.php");
 
  915        foreach ($resources->getResourcesOfLevel((
int) 
$_GET[
"level_id"]) as 
$r) {
 
  917            if (is_array(
$_POST[
"suggested"]) && isset(
$_POST[
"suggested"][
$r[
"rep_ref_id"]]) && 
$_POST[
"suggested"][
$r[
"rep_ref_id"]]) {
 
  921            if (is_array(
$_POST[
"trigger"]) && isset(
$_POST[
"trigger"][
$r[
"rep_ref_id"]]) && 
$_POST[
"trigger"][
$r[
"rep_ref_id"]]) {
 
  924            $resources->setResourceAsImparting((
int) 
$_GET[
"level_id"], 
$r[
"rep_ref_id"], $imparting);
 
  925            $resources->setResourceAsTrigger((
int) 
$_GET[
"level_id"], 
$r[
"rep_ref_id"], $trigger);
 
  929        $ilCtrl->redirect($this, 
"showLevelResources");
 
An exception for terminatinating execution or to throw for unit testing.
removeLevelTrigger()
Remove trigger.
saveResourceSettings()
Save resource settings.
updateLevel()
Update level form.
confirmLevelDeletion()
Confirm level deletion.
selectLevelTrigger()
Select skill level trigger.
initLevelForm($a_mode="edit")
Init level form.
getLevelValues()
Get current values for level from.
initForm($a_mode="edit")
Init form.
removeLevelResources()
Remove level resource.
setLevelHead()
Set header for level.
setTabs($a_tab="levels")
Set header for skill.
confirmLevelResourcesRemoval()
Confirm level resources removal.
addLevelResource()
Add level resource.
executeCommand()
Execute command.
saveLevel()
Save level form.
saveLevelResource()
Save level resource.
deleteLevel()
Delete levels.
redirectToParent($a_tmp_mode=false)
Redirect to parent (identified by current obj_id)
showProperties()
Show properties.
updateLevelOrder()
Update level order.
saveLevelTrigger()
Save level trigger.
editProperties()
Edit properties.
showLevelResources()
Show level resources.
editLevelTrigger()
Edit level trigger.
__construct($a_node_id=0)
Constructor.
static lookupLevelTitle($a_id)
Lookup level title.
GUI class to create PDF certificates.
Confirmation screen class.
Collection of basic placeholder values that can be used.
Collection of basic placeholder values that can be used.
This class represents a non editable value in a property form.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
static _isInTrash($a_ref_id)
checks wether object is in trash
static _lookupType($a_id, $a_reference=false)
lookup object type
Explorer for selecting repository items.
Skill certificate adapter.
TableGUI class for skill level resources.
Manages resources for skills.
Basic GUI class for skill tree nodes.
setSkillNodeDescription()
Set skill node description.
addUsageTab($a_tabs)
Add usage tab.
addStatusInput(ilPropertyFormGUI $a_form)
Add status input.
checkPermissionBool($a_perm)
Check permission pool.
setLocator()
Set Locator Items.
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
Put this object into the skill tree.
static _lookupType($a_obj_id)
Lookup Type.
This class represents a text area property in a property form.
This class represents a text property in a property form.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
if(!array_key_exists('StateId', $_REQUEST)) $id
if(empty($password)) $table