ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
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  include_once "./Services/Certificate/classes/class.ilCertificateGUI.php";
105  include_once("./Services/Skill/classes/class.ilSkillCertificateAdapter.php");
106  $output_gui = new ilCertificateGUI(
107  new ilSkillCertificateAdapter($this->node_object, (int) $_GET["level_id"])
108  );
109  $ret = $ilCtrl->forwardCommand($output_gui);
110  break;
111 
112  default:
113  $ret = $this->$cmd();
114  break;
115  }
116  }
117 
121  public function showProperties()
122  {
123  $tpl = $this->tpl;
124 
125  $this->setTabs();
126  $this->setLocator();
127 
128  $tpl->setContent("Properties");
129  }
130 
134  public function saveItem()
135  {
136  if (!$this->checkPermissionBool("write")) {
137  return;
138  }
139 
140  $it = new ilBasicSkill();
141  $it->setTitle($this->form->getInput("title"));
142  $it->setOrderNr($this->form->getInput("order_nr"));
143  $it->setStatus($this->form->getInput("status"));
144  $it->setSelfEvaluation($_POST["self_eval"]);
145  $it->create();
146  ilSkillTreeNode::putInTree($it, (int) $_GET["obj_id"], IL_LAST_NODE);
147  $this->node_object = $it;
148  }
149 
153  public function afterSave()
154  {
156 
157  $ilCtrl->setParameterByClass(
158  "ilbasicskillgui",
159  "obj_id",
160  $this->node_object->getId()
161  );
162  $ilCtrl->redirectByClass("ilbasicskillgui", "edit");
163  }
164 
168  public function updateItem()
169  {
170  if (!$this->checkPermissionBool("write")) {
171  return;
172  }
173 
174  $this->node_object->setTitle($this->form->getInput("title"));
175  $this->node_object->setOrderNr($this->form->getInput("order_nr"));
176  $this->node_object->setSelfEvaluation($_POST["self_eval"]);
177  $this->node_object->setStatus($_POST["status"]);
178  $this->node_object->update();
179  }
180 
184  public function edit()
185  {
186  $tpl = $this->tpl;
187  $ilToolbar = $this->toolbar;
188  $lng = $this->lng;
190 
191  $this->setTabs("levels");
192 
193  if ($this->isInUse()) {
194  ilUtil::sendInfo($lng->txt("skmg_skill_in_use"));
195  } else {
196  if ($this->checkPermissionBool("write")) {
197  $ilToolbar->addButton(
198  $lng->txt("skmg_add_level"),
199  $ilCtrl->getLinkTarget($this, "addLevel")
200  );
201  }
202  }
203 
204  include_once("./Services/Skill/classes/class.ilSkillLevelTableGUI.php");
205  $table = new ilSkillLevelTableGUI($this->base_skill_id, $this, "edit", 0, $this->isInUse());
206  $tpl->setContent($table->getHTML());
207  }
208 
214  public function initForm($a_mode = "edit")
215  {
216  $lng = $this->lng;
218 
219  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
220  $this->form = new ilPropertyFormGUI();
221 
222  // title
223  $ti = new ilTextInputGUI($lng->txt("title"), "title");
224  $ti->setMaxLength(200);
225  $ti->setSize(50);
226  $ti->setRequired(true);
227  $this->form->addItem($ti);
228 
229  // order nr
230  $ni = new ilNumberInputGUI($lng->txt("skmg_order_nr"), "order_nr");
231  $ni->setInfo($lng->txt("skmg_order_nr_info"));
232  $ni->setMaxLength(6);
233  $ni->setSize(6);
234  $ni->setRequired(true);
235  if ($a_mode == "create") {
236  include_once("./Services/Skill/classes/class.ilSkillTree.php");
237  $tree = new ilSkillTree();
238  $max = $tree->getMaxOrderNr((int) $_GET["obj_id"]);
239  $ni->setValue($max + 10);
240  }
241  $this->form->addItem($ni);
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  }
900  $sres->save();
901  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
902  }
903 
904  $ilCtrl->redirect($this, "showLevelResources");
905  }
906 
913  public function saveResourceSettings()
914  {
916 
917  include_once("./Services/Skill/classes/class.ilSkillResources.php");
918  $resources = new ilSkillResources($this->base_skill_id, $this->tref_id);
919 
920  foreach ($resources->getResourcesOfLevel((int) $_GET["level_id"]) as $r) {
921  $imparting = false;
922  if (is_array($_POST["suggested"]) && isset($_POST["suggested"][$r["rep_ref_id"]]) && $_POST["suggested"][$r["rep_ref_id"]]) {
923  $imparting = true;
924  }
925  $trigger = false;
926  if (is_array($_POST["trigger"]) && isset($_POST["trigger"][$r["rep_ref_id"]]) && $_POST["trigger"][$r["rep_ref_id"]]) {
927  $trigger = true;
928  }
929  $resources->setResourceAsImparting((int) $_GET["level_id"], $r["rep_ref_id"], $imparting);
930  $resources->setResourceAsTrigger((int) $_GET["level_id"], $r["rep_ref_id"], $trigger);
931  }
932  $resources->save();
933 
934  $ilCtrl->redirect($this, "showLevelResources");
935  }
936 }
saveLevelTrigger()
Save level trigger.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
redirectToParent($a_tmp_mode=false)
Redirect to parent (identified by current obj_id)
addUsageTab($a_tabs)
Add usage tab.
Explorer for selecting repository items.
This class represents a property form user interface.
setSkillNodeDescription()
Set skill node description.
global $DIC
Definition: saml.php:7
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.
if(!array_key_exists('StateId', $_REQUEST)) $id
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
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.
$r
Definition: example_031.php:79
Basic GUI class for skill tree nodes.
This class represents a number property in a property form.
confirmLevelDeletion()
Confirm level deletion.
static _lookupObjId($a_id)
Manages resources for skills.
confirmLevelResourcesRemoval()
Confirm level resources removal.
afterSave()
After saving.
This class represents a text property in a property form.
GUI class to create PDF certificates.
editLevelTrigger()
Edit level trigger.
TableGUI class for skill level resources.
setMaxLength($a_maxlength)
Set Max Length.
Create styles array
The data for the language used.
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.
This class represents a text area property in a property form.
updateLevelOrder()
Update level order.
$ret
Definition: parser.php:6
$i
Definition: disco.tpl.php:19
getLevelValues()
Get current values for level from.
initLevelForm($a_mode="edit")
Init level form.
if(empty($password)) $table
Definition: pwgen.php:24
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.
Confirmation screen class.