ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
class.ilBasicSkillGUI.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
5 include_once("./Services/Skill/classes/class.ilSkillTreeNodeGUI.php");
6 include_once("./Services/Skill/classes/class.ilBasicSkill.php");
7 
19 {
23  protected $ctrl;
24 
28  protected $tpl;
29 
33  protected $tabs;
34 
38  protected $help;
39 
43  protected $toolbar;
44 
48  protected $lng;
49 
53  protected $tree;
54 
55  protected $tref_id = 0;
56  protected $base_skill_id;
57 
61  public function __construct($a_node_id = 0)
62  {
63  global $DIC;
64 
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();
72  $ilCtrl = $DIC->ctrl();
73 
74  $ilCtrl->saveParameter($this, array("obj_id", "level_id"));
75  $this->base_skill_id = $a_node_id;
76 
77  parent::__construct($a_node_id);
78  }
79 
83  public function getType()
84  {
85  return "skll";
86  }
87 
91  public function executeCommand()
92  {
94  $ilTabs = $this->tabs;
95 
96  //$tpl->getStandardTemplate();
97 
98  $next_class = $ilCtrl->getNextClass($this);
99  $cmd = $ilCtrl->getCmd();
100  switch ($next_class) {
101  case "ilcertificategui":
102  $this->setLevelHead();
103  $ilTabs->activateTab("level_certificate");
104 
105  $skillLevelId = (int) $_GET["level_id"];
106 
107  $output_gui = new ilCertificateGUI(
108  new ilSkillCertificateAdapter($this->node_object, $skillLevelId),
111  $this->node_object->getId(),
112  ilCertificatePathConstants::SKILL_PATH . $this->node_object->getId() . '/' . $skillLevelId
113  );
114 
115  $ret = $ilCtrl->forwardCommand($output_gui);
116  break;
117 
118  default:
119  $ret = $this->$cmd();
120  break;
121  }
122  }
123 
127  public function showProperties()
128  {
129  $tpl = $this->tpl;
130 
131  $this->setTabs();
132  $this->setLocator();
133 
134  $tpl->setContent("Properties");
135  }
136 
140  public function saveItem()
141  {
142  if (!$this->checkPermissionBool("write")) {
143  return;
144  }
145 
146  $tree = new ilSkillTree();
147 
148  $it = new ilBasicSkill();
149  $it->setTitle($this->form->getInput("title"));
150  $it->setDescription($this->form->getInput("description"));
151  $it->setOrderNr($tree->getMaxOrderNr((int) $_GET["obj_id"]) + 10);
152  $it->setStatus($this->form->getInput("status"));
153  $it->setSelfEvaluation($_POST["self_eval"]);
154  $it->create();
155  ilSkillTreeNode::putInTree($it, (int) $_GET["obj_id"], IL_LAST_NODE);
156  $this->node_object = $it;
157  }
158 
162  public function afterSave()
163  {
165 
166  $ilCtrl->setParameterByClass(
167  "ilbasicskillgui",
168  "obj_id",
169  $this->node_object->getId()
170  );
171  $ilCtrl->redirectByClass("ilbasicskillgui", "edit");
172  }
173 
177  public function updateItem()
178  {
179  if (!$this->checkPermissionBool("write")) {
180  return;
181  }
182 
183  $this->node_object->setTitle($this->form->getInput("title"));
184  $this->node_object->setDescription($this->form->getInput("description"));
185  $this->node_object->setSelfEvaluation($_POST["self_eval"]);
186  $this->node_object->setStatus($_POST["status"]);
187  $this->node_object->update();
188  }
189 
193  public function edit()
194  {
195  $tpl = $this->tpl;
196  $ilToolbar = $this->toolbar;
197  $lng = $this->lng;
199 
200  $this->setTabs("levels");
201 
202  if ($this->isInUse()) {
203  ilUtil::sendInfo($lng->txt("skmg_skill_in_use"));
204  } else {
205  if ($this->checkPermissionBool("write")) {
206  $ilToolbar->addButton(
207  $lng->txt("skmg_add_level"),
208  $ilCtrl->getLinkTarget($this, "addLevel")
209  );
210  }
211  }
212 
213  include_once("./Services/Skill/classes/class.ilSkillLevelTableGUI.php");
214  $table = new ilSkillLevelTableGUI($this->base_skill_id, $this, "edit", 0, $this->isInUse());
215  $tpl->setContent($table->getHTML());
216  }
217 
223  public function initForm($a_mode = "edit")
224  {
225  $lng = $this->lng;
227 
228  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
229  $this->form = new ilPropertyFormGUI();
230 
231  // title
232  $ti = new ilTextInputGUI($lng->txt("title"), "title");
233  $ti->setMaxLength(200);
234  $ti->setSize(50);
235  $ti->setRequired(true);
236  $this->form->addItem($ti);
237 
238  // description
239  $ta = new ilTextAreaInputGUI($lng->txt("description"), "description");
240  $ta->setRows(5);
241  $this->form->addItem($ta);
242 
243  // status
244  $this->addStatusInput($this->form);
245 
246  // selectable
247  $cb = new ilCheckboxInputGUI($lng->txt("skmg_selectable"), "self_eval");
248  $cb->setInfo($lng->txt("skmg_selectable_info"));
249  $this->form->addItem($cb);
250 
251  // save and cancel commands
252  if ($this->checkPermissionBool("write")) {
253  if ($a_mode == "create") {
254  $this->form->addCommandButton("save", $lng->txt("save"));
255  $this->form->addCommandButton("cancelSave", $lng->txt("cancel"));
256  $this->form->setTitle($lng->txt("skmg_create_skll"));
257  } else {
258  $this->form->addCommandButton("update", $lng->txt("save"));
259  $this->form->setTitle($lng->txt("skmg_edit_skll"));
260  }
261  }
262 
263  $ilCtrl->setParameter($this, "obj_id", $_GET["obj_id"]);
264  $this->form->setFormAction($ilCtrl->getFormAction($this));
265  }
266 
270  public function editProperties()
271  {
272  $this->setTabs("properties");
273  parent::editProperties();
274  }
275 
276 
277  //
278  //
279  // Skill level related methods
280  //
281  //
282 
286  public function addLevel()
287  {
288  $tpl = $this->tpl;
289 
290  $this->initLevelForm("create");
291  $tpl->setContent($this->form->getHTML());
292  }
293 
297  public function editLevel()
298  {
299  $tpl = $this->tpl;
300  $lng = $this->lng;
301 
302  if ($this->isInUse()) {
303  ilUtil::sendInfo($lng->txt("skmg_skill_in_use"));
304  }
305 
306  $this->initLevelForm();
307  $this->getLevelValues();
308  $tpl->setContent($this->form->getHTML());
309  }
310 
314  public function saveLevel()
315  {
316  $tpl = $this->tpl;
317  $lng = $this->lng;
319 
320  if (!$this->checkPermissionBool("write")) {
321  return;
322  }
323 
324  $this->initLevelForm("create");
325  if ($this->form->checkInput()) {
326  // perform save
327  $this->node_object->addLevel(
328  $this->form->getInput("title"),
329  $this->form->getInput("description")
330  );
331 
332  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
333  $ilCtrl->redirect($this, "edit");
334  }
335 
336  $this->form->setValuesByPost();
337  $tpl->setContent($this->form->getHtml());
338  }
339 
343  public function updateLevel()
344  {
345  $lng = $this->lng;
347  $tpl = $this->tpl;
348 
349  if (!$this->checkPermissionBool("write")) {
350  return;
351  }
352 
353  $this->initLevelForm("edit");
354  if ($this->form->checkInput()) {
355  $this->node_object->writeLevelTitle(
356  (int) $_GET["level_id"],
357  $this->form->getInput("title")
358  );
359  $this->node_object->writeLevelDescription(
360  (int) $_GET["level_id"],
361  $this->form->getInput("description")
362  );
363 
364  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
365  $ilCtrl->redirect($this, "edit");
366  }
367 
368  $this->form->setValuesByPost();
369  $tpl->setContent($this->form->getHtml());
370  }
371 
377  public function initLevelForm($a_mode = "edit")
378  {
379  $lng = $this->lng;
381  $ilTabs = $this->tabs;
382 
383  $ilCtrl->saveParameter($this, "level_id");
384  $this->setLevelHead();
385  $ilTabs->activateTab("level_settings");
386 
387  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
388  $this->form = new ilPropertyFormGUI();
389 
390  // title
391  $ti = new ilTextInputGUI($lng->txt("title"), "title");
392  $ti->setMaxLength(200);
393  $ti->setRequired(true);
394  $this->form->addItem($ti);
395 
396  // description
397  $ta = new ilTextAreaInputGUI($lng->txt("description"), "description");
398  $ta->setCols(50);
399  $ta->setRows(5);
400  $this->form->addItem($ta);
401 
402  // save and cancel commands
403  if ($this->checkPermissionBool("write")) {
404  if ($a_mode == "create") {
405  $this->form->addCommandButton("saveLevel", $lng->txt("save"));
406  $this->form->addCommandButton("edit", $lng->txt("cancel"));
407  $this->form->setTitle($lng->txt("skmg_new_level"));
408  } else {
409  $this->form->addCommandButton("updateLevel", $lng->txt("save"));
410  $this->form->addCommandButton("edit", $lng->txt("cancel"));
411  $this->form->setTitle($lng->txt("skmg_edit_level"));
412  }
413  }
414 
415  $this->form->setFormAction($ilCtrl->getFormAction($this));
416  }
417 
421  public function getLevelValues()
422  {
423  $values = array();
424 
425  $data = $this->node_object->getLevelData((int) $_GET["level_id"]);
426  $values["title"] = $data["title"];
427  $values["description"] = $data["description"];
428  $this->form->setValuesByArray($values);
429  }
430 
434  public function updateLevelOrder()
435  {
436  $lng = $this->lng;
438 
439  if (!$this->checkPermissionBool("write")) {
440  return;
441  }
442 
443  $order = ilUtil::stripSlashesArray($_POST["order"]);
444  $this->node_object->updateLevelOrder($order);
445  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
446  $ilCtrl->redirect($this, "edit");
447  }
448 
452  public function confirmLevelDeletion()
453  {
455  $tpl = $this->tpl;
456  $lng = $this->lng;
457 
458  if (!$this->checkPermissionBool("write")) {
459  return;
460  }
461 
462  $this->setTabs("levels");
463 
464  if (!is_array($_POST["id"]) || count($_POST["id"]) == 0) {
465  ilUtil::sendInfo($lng->txt("no_checkbox"), true);
466  $ilCtrl->redirect($this, "edit");
467  } else {
468  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
469  $cgui = new ilConfirmationGUI();
470  $cgui->setFormAction($ilCtrl->getFormAction($this));
471  $cgui->setHeaderText($lng->txt("skmg_really_delete_levels"));
472  $cgui->setCancel($lng->txt("cancel"), "edit");
473  $cgui->setConfirm($lng->txt("delete"), "deleteLevel");
474 
475  foreach ($_POST["id"] as $i) {
476  $cgui->addItem("id[]", $i, ilBasicSkill::lookupLevelTitle($i));
477  }
478 
479  $tpl->setContent($cgui->getHTML());
480  }
481  }
482 
486  public function deleteLevel()
487  {
488  $lng = $this->lng;
490 
491  if (!$this->checkPermissionBool("write")) {
492  return;
493  }
494 
495  if (is_array($_POST["id"])) {
496  foreach ($_POST["id"] as $id) {
497  $this->node_object->deleteLevel((int) $id);
498  }
499  $this->node_object->fixLevelNumbering();
500  }
501  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
502  $ilCtrl->redirect($this, "edit");
503  }
504 
508  public function setLevelHead()
509  {
510  $ilTabs = $this->tabs;
512  $tpl = $this->tpl;
513  $lng = $this->lng;
514  $ilHelp = $this->help;
515 
516  // tabs
517  $ilTabs->clearTargets();
518  $ilHelp->setScreenIdComponent("skmg_lev");
519 
520  $ilTabs->setBackTarget(
521  $lng->txt("back"),
522  $ilCtrl->getLinkTarget($this, "edit")
523  );
524 
525  if ($_GET["level_id"] > 0) {
526  $ilTabs->addTab(
527  "level_settings",
528  $lng->txt("settings"),
529  $ilCtrl->getLinkTarget($this, "editLevel")
530  );
531 
532  /* $ilTabs->addTab("level_trigger",
533  $lng->txt("skmg_trigger"),
534  $ilCtrl->getLinkTarget($this, "editLevelTrigger"));*/
535 
536  $ilTabs->addTab(
537  "level_resources",
538  $lng->txt("skmg_resources"),
539  $ilCtrl->getLinkTarget($this, "showLevelResources")
540  );
541  /*
542  $ilTabs->addTab("level_certificate",
543  $lng->txt("certificate"),
544  $ilCtrl->getLinkTargetByClass("ilcertificategui", "certificateEditor"));*/
545  }
546 
547  // title
548  if ($_GET["level_id"] > 0) {
549  $tpl->setTitle($lng->txt("skmg_skill_level") . ": " .
550  ilBasicSkill::lookupLevelTitle((int) $_GET["level_id"]));
551  } else {
552  $tpl->setTitle($lng->txt("skmg_skill_level"));
553  }
554 
555  include_once("./Services/Skill/classes/class.ilSkillTree.php");
556  $tree = new ilSkillTree();
557  $path = $tree->getPathFull($this->node_object->getId());
558  $desc = "";
559  foreach ($path as $p) {
560  if (in_array($p["type"], array("scat", "skll"))) {
561  $desc .= $sep . $p["title"];
562  $sep = " > ";
563  }
564  }
565  $tpl->setDescription($desc);
566  }
567 
573  public function setTabs($a_tab = "levels")
574  {
575  $ilTabs = $this->tabs;
577  $tpl = $this->tpl;
578  $lng = $this->lng;
579  $ilHelp = $this->help;
580 
581  $ilTabs->clearTargets();
582  $ilHelp->setScreenIdComponent("skmg_skll");
583  // $ilTabs->setBackTarget($lng->txt("skmg_skill_hierarchie"),
584  // $ilCtrl->getLinkTargetByClass("ilobjskillmanagementgui", "editSkills"));
585 
586  if (is_object($this->node_object)) {
587 
588  // levels
589  $ilTabs->addTab(
590  "levels",
591  $lng->txt("skmg_skill_levels"),
592  $ilCtrl->getLinkTarget($this, 'edit')
593  );
594 
595  // properties
596  $ilTabs->addTab(
597  "properties",
598  $lng->txt("settings"),
599  $ilCtrl->getLinkTarget($this, 'editProperties')
600  );
601 
602  // usage
603  $this->addUsageTab($ilTabs);
604 
605  $ilCtrl->setParameterByClass(
606  "ilskillrootgui",
607  "obj_id",
608  $this->node_object->skill_tree->getRootId()
609  );
610  $ilTabs->setBackTarget(
611  $lng->txt("obj_skmg"),
612  $ilCtrl->getLinkTargetByClass("ilskillrootgui", "listSkills")
613  );
614  $ilCtrl->setParameterByClass(
615  "ilskillrootgui",
616  "obj_id",
617  $_GET["obj_id"]
618  );
619 
620  $ilTabs->activateTab($a_tab);
621 
622  $tpl->setTitle($lng->txt("skmg_skill") . ": " .
623  $this->node_object->getTitle());
624 
625  $this->setSkillNodeDescription();
626  } else {
627  $tpl->setTitle($lng->txt("skmg_skill"));
628  $tpl->setDescription("");
629  }
630  parent::setTitleIcon();
631  }
632 
636  public function editLevelTrigger()
637  {
638  $lng = $this->lng;
640  $tpl = $this->tpl;
641  $ilTabs = $this->tabs;
642 
643  $this->setLevelHead();
644  $ilTabs->activateTab("level_trigger");
645 
646  $trigger = ilBasicSkill::lookupLevelTrigger((int) $_GET["level_id"]);
647  if (ilObject::_lookupType($trigger["obj_id"]) != "crs" ||
648  ilObject::_isInTrash($trigger["ref_id"])) {
649  $trigger = array();
650  }
651 
652  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
653  $this->form = new ilPropertyFormGUI();
654 
655  // trigger
656  $ne = new ilNonEditableValueGUI($lng->txt("skmg_trigger"), "trigger");
657  if ($trigger["obj_id"] > 0) {
658  $ne->setValue(ilObject::_lookupTitle($trigger["obj_id"]));
659  } else {
660  $ne->setValue($lng->txt("skmg_no_trigger"));
661  }
662  $this->form->addItem($ne);
663 
664  if ($trigger["obj_id"] > 0) {
665  $this->form->addCommandButton("removeLevelTrigger", $lng->txt("skmg_remove_trigger"));
666  }
667  $this->form->addCommandButton("selectLevelTrigger", $lng->txt("skmg_select_trigger"));
668 
669  $this->form->setTitle($lng->txt("skmg_skill_level_trigger"));
670  $this->form->setFormAction($ilCtrl->getFormAction($this));
671 
672  $tpl->setContent($this->form->getHTML());
673  }
674 
678  public function selectLevelTrigger()
679  {
681  $ilTabs = $this->tabs;
682  $lng = $this->lng;
683  $tree = $this->tree;
684  $tpl = $this->tpl;
685 
686  if (!$this->checkPermissionBool("write")) {
687  return;
688  }
689 
690  $this->setLevelHead();
691  $ilTabs->activateTab("level_trigger");
692 
693  include_once 'Services/Search/classes/class.ilSearchRootSelector.php';
694  $exp = new ilSearchRootSelector(
695  $ilCtrl->getLinkTarget($this, 'showRepositorySelection')
696  );
697  $exp->setExpand($_GET["search_root_expand"] ? $_GET["search_root_expand"] : $tree->readRootId());
698  $exp->setExpandTarget($ilCtrl->getLinkTarget($this, 'selectLevelTrigger'));
699  $exp->setTargetClass(get_class($this));
700  $exp->setCmd('saveLevelTrigger');
701  $exp->setClickableTypes(array("crs"));
702 
703  // build html-output
704  $exp->setOutput(0);
705  $tpl->setContent($exp->getOutput());
706  }
707 
711  public function saveLevelTrigger()
712  {
714 
715  if (!$this->checkPermissionBool("write")) {
716  return;
717  }
718 
719  ilBasicSkill::writeLevelTrigger((int) $_GET["level_id"], (int) $_GET["root_id"]);
720  $ilCtrl->redirect($this, "editLevelTrigger");
721  }
722 
726  public function removeLevelTrigger()
727  {
729 
730  ilBasicSkill::writeLevelTrigger((int) $_GET["level_id"], 0);
731  $ilCtrl->redirect($this, "editLevelTrigger");
732  }
733 
737  public function redirectToParent($a_tmp_mode = false)
738  {
740 
741  $t = ilSkillTreeNode::_lookupType((int) $_GET["obj_id"]);
742 
743  switch ($t) {
744  case "skrt":
745  $ilCtrl->setParameterByClass("ilskillrootgui", "obj_id", (int) $_GET["obj_id"]);
746  $ilCtrl->redirectByClass("ilskillrootgui", "listSkills");
747  break;
748  }
749 
750  parent::redirectToParent();
751  }
752 
753 
757 
761  public function showLevelResources()
762  {
763  $tpl = $this->tpl;
764  $ilTabs = $this->tabs;
765  $ilToolbar = $this->toolbar;
766  $lng = $this->lng;
768 
769  if ($this->checkPermissionBool("write")) {
770  $ilToolbar->addButton(
771  $lng->txt("skmg_add_resource"),
772  $ilCtrl->getLinkTarget($this, "addLevelResource")
773  );
774  }
775 
776  $this->setLevelHead();
777  $ilTabs->activateTab("level_resources");
778 
779  include_once("./Services/Skill/classes/class.ilSkillLevelResourcesTableGUI.php");
781  $this,
782  "showLevelResources",
783  $this->base_skill_id,
784  $this->tref_id,
785  (int) $_GET["level_id"],
786  $this->checkPermissionBool("write")
787  );
788 
789  $tpl->setContent($tab->getHTML());
790  }
791 
795  public function addLevelResource()
796  {
798  $ilTabs = $this->tabs;
799  $lng = $this->lng;
800  $tree = $this->tree;
801  $tpl = $this->tpl;
802 
803  $this->setLevelHead();
804  $ilTabs->activateTab("level_resources");
805 
806  include_once("./Services/Repository/classes/class.ilRepositorySelectorExplorerGUI.php");
808  $this,
809  "addLevelResource",
810  $this,
811  "saveLevelResource",
812  "root_id"
813  );
814  if (!$exp->handleCommand()) {
815  $tpl->setContent($exp->getHTML());
816  }
817  }
818 
822  public function saveLevelResource()
823  {
825  $lng = $this->lng;
826 
827  $ref_id = (int) $_GET["root_id"];
828 
829  if (!$this->checkPermissionBool("write")) {
830  return;
831  }
832 
833  if ($ref_id > 0) {
834  include_once("./Services/Skill/classes/class.ilSkillResources.php");
835  $sres = new ilSkillResources($this->base_skill_id, $this->tref_id);
836  $sres->setResourceAsImparting((int) $_GET["level_id"], $ref_id);
837  $sres->save();
838 
839  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
840  }
841 
842  $ilCtrl->redirect($this, "showLevelResources");
843  }
844 
849  {
851  $tpl = $this->tpl;
852  $lng = $this->lng;
853  $ilTabs = $this->tabs;
854 
855  if (!$this->checkPermissionBool("write")) {
856  return;
857  }
858 
859  $this->setLevelHead();
860  $ilTabs->activateTab("level_resources");
861 
862  if (!is_array($_POST["id"]) || count($_POST["id"]) == 0) {
863  ilUtil::sendInfo($lng->txt("no_checkbox"), true);
864  $ilCtrl->redirect($this, "showLevelResources");
865  } else {
866  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
867  $cgui = new ilConfirmationGUI();
868  $cgui->setFormAction($ilCtrl->getFormAction($this));
869  $cgui->setHeaderText($lng->txt("skmg_confirm_level_resources_removal"));
870  $cgui->setCancel($lng->txt("cancel"), "showLevelResources");
871  $cgui->setConfirm($lng->txt("remove"), "removeLevelResources");
872 
873  foreach ($_POST["id"] as $i) {
875  $cgui->addItem("id[]", $i, $title);
876  }
877 
878  $tpl->setContent($cgui->getHTML());
879  }
880  }
881 
885  public function removeLevelResources()
886  {
888  $lng = $this->lng;
889 
890  if (!$this->checkPermissionBool("write")) {
891  return;
892  }
893 
894  if (is_array($_POST["id"])) {
895  include_once("./Services/Skill/classes/class.ilSkillResources.php");
896  $sres = new ilSkillResources($this->base_skill_id, $this->tref_id);
897  foreach ($_POST["id"] as $i) {
898  $sres->setResourceAsImparting((int) $_GET["level_id"], $i, false);
899  $sres->setResourceAsTrigger((int) $_GET["level_id"], $i, false);
900  }
901  $sres->save();
902  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
903  }
904 
905  $ilCtrl->redirect($this, "showLevelResources");
906  }
907 
914  public function saveResourceSettings()
915  {
917 
918  include_once("./Services/Skill/classes/class.ilSkillResources.php");
919  $resources = new ilSkillResources($this->base_skill_id, $this->tref_id);
920 
921  foreach ($resources->getResourcesOfLevel((int) $_GET["level_id"]) as $r) {
922  $imparting = false;
923  if (is_array($_POST["suggested"]) && isset($_POST["suggested"][$r["rep_ref_id"]]) && $_POST["suggested"][$r["rep_ref_id"]]) {
924  $imparting = true;
925  }
926  $trigger = false;
927  if (is_array($_POST["trigger"]) && isset($_POST["trigger"][$r["rep_ref_id"]]) && $_POST["trigger"][$r["rep_ref_id"]]) {
928  $trigger = true;
929  }
930  $resources->setResourceAsImparting((int) $_GET["level_id"], $r["rep_ref_id"], $imparting);
931  $resources->setResourceAsTrigger((int) $_GET["level_id"], $r["rep_ref_id"], $trigger);
932  }
933  $resources->save();
934 
935  $ilCtrl->redirect($this, "showLevelResources");
936  }
937 }
saveLevelTrigger()
Save level trigger.
redirectToParent($a_tmp_mode=false)
Redirect to parent (identified by current obj_id)
addUsageTab($a_tabs)
Add usage tab.
Collection of basic placeholder values that can be used.
$data
Definition: storeScorm.php:23
Explorer for selecting repository items.
This class represents a property form user interface.
setSkillNodeDescription()
Set skill node description.
static lookupLevelTitle($a_id)
Lookup level title.
Skill tree.
setLocator()
Set Locator Items.
$_GET["client_id"]
editProperties()
Edit properties.
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
Put this object into the skill tree.
static _isInTrash($a_ref_id)
checks wether object is in trash
setTabs($a_tab="levels")
Set header for skill.
saveResourceSettings()
Save resource settings.
removeLevelTrigger()
Remove trigger.
This class represents a checkbox property in a property form.
getType()
Get Node Type.
static _lookupTitle($a_id)
lookup object title
updateItem()
Update item.
saveLevelResource()
Save level resource.
static _lookupType($a_obj_id)
Lookup Type.
checkPermissionBool($a_perm)
Check permission pool.
global $ilCtrl
Definition: ilias.php:18
help()
Definition: help.php:2
removeLevelResources()
Remove level resource.
setInfo($a_info)
Set Information Text.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
__construct($a_node_id=0)
Constructor.
executeCommand()
Execute command.
Basic GUI class for skill tree nodes.
confirmLevelDeletion()
Confirm level deletion.
static _lookupObjId($a_id)
Manages resources for skills.
confirmLevelResourcesRemoval()
Confirm level resources removal.
afterSave()
After saving.
GUI class to create PDF certificates.
editLevelTrigger()
Edit level trigger.
TableGUI class for skill level resources.
static _lookupType($a_id, $a_reference=false)
lookup object type
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
showProperties()
Show properties.
saveLevel()
Save level form.
const IL_LAST_NODE
Definition: class.ilTree.php:4
updateLevel()
Update level form.
setLevelHead()
Set header for level.
This class represents a non editable value in a property form.
initForm($a_mode="edit")
Init form.
__construct(Container $dic, ilPlugin $plugin)
This class represents a text area property in a property form.
updateLevelOrder()
Update level order.
$ret
Definition: parser.php:6
$DIC
Definition: xapitoken.php:46
Collection of basic placeholder values that can be used.
getLevelValues()
Get current values for level from.
initLevelForm($a_mode="edit")
Init level form.
showLevelResources()
Show level resources.
selectLevelTrigger()
Select skill level trigger.
Basic skill GUI class.
Basic Skill.
addLevel()
Add new level.
addLevelResource()
Add level resource.
$_POST["username"]
addStatusInput(ilPropertyFormGUI $a_form)
Add status input.
setExpand($a_node_id)
set the expand option this value is stored in a SESSION variable to save it different view (lo view...
deleteLevel()
Delete levels.
$i
Definition: metadata.php:24
Confirmation screen class.