ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilCloudPluginActionListGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once("class.ilCloudPluginListGUI.php");
5
20
24 protected $selection_list;
28 protected $node = NULL;
29
30
38 public function getSelectionListItemsHTML($delete_item = false, $delete_folder = false, ilCloudFileNode $node) {
39
40 global $lng, $ilCtrl;
41
46 $this->node = $node;
47
48 if (($delete_item && !$node->getIsDir()) || ($delete_folder && $node->getIsDir()) || $this->checkHasAction()) {
49 include_once("./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
50 $this->selection_list = new ilAdvancedSelectionListGUI();
51 $this->selection_list->setId("id_action_list_" . $this->node->getId());
52 $this->selection_list->setListTitle($lng->txt("actions"));
53 $this->selection_list->setItemLinkClass("xsmall");
54
55 if ($this->getAsyncMode()) {
56 $this->selection_list->setAsynch(true);
57 $this->selection_list->setAsynchUrl(html_entity_decode($ilCtrl->getLinkTargetByClass("ilobjcloudgui", "asyncGetActionListContent", false)
58 . "&node_id=" . $node->getId()));
59 } else {
60 $this->addSelectionListItems($delete_item, $delete_folder);
61 }
62
63 return $this->selection_list->getHtml();
64 } else {
65 return "";
66 }
67 }
68
69
74 protected function addSelectionListItems($delete_item, $delete_folder) {
75 global $lng;
76 $this->addItemsBefore();
77 if (($delete_item && !$this->node->getIsDir()) || ($delete_folder && $this->node->getIsDir())) {
78 $this->selection_list->addItem($lng->txt("delete"), "delete_item", "javascript:il.CloudFileList.deleteItem(\'" . $this->node->getId()
79 . "\');");
80 }
81
82 $this->addItemsAfter();
83 }
84
85
91 public function asyncGetContent($delete_item = false, $delete_folder = false, ilCloudFileNode $node) {
92 global $lng;
93 $this->node = $node;
94 include_once("./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
95 $this->selection_list = new ilAdvancedSelectionListGUI();
96 $this->selection_list->setId($this->node->getId());
97 $this->selection_list->setListTitle($lng->txt("actions"));
98 $this->selection_list->setItemLinkClass("xsmall");
99
100 $this->addSelectionListItems($delete_item, $delete_folder);
101 if ($this->selection_list->getItems() != NULL) {
102 echo $this->selection_list->getHTML(true);
103 exit;
104 } else {
105 echo $lng->txt("empty");
106 exit;
107 }
108 }
109
110
111 protected function addItemsBefore() { }
112
113
114 protected function addItemsAfter() { }
115
116
117 protected function checkHasAction() { }
118
119
123 protected function getAsyncMode() {
124 return true;
125 }
126}
127
128?>
User interface class for advanced drop-down selection lists.
ilCloudFileTree class
Class ilCloudPluginActionListGUI.
asyncGetContent($delete_item=false, $delete_folder=false, ilCloudFileNode $node)
addSelectionListItems($delete_item, $delete_folder)
Class ilCloudPluginListGUI.
global $ilCtrl
Definition: ilias.php:18
exit
Definition: login.php:54
global $lng
Definition: privfeed.php:40