ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
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 
4 include_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 ?>
exit
Definition: login.php:54
asyncGetContent($delete_item=false, $delete_folder=false, ilCloudFileNode $node)
addSelectionListItems($delete_item, $delete_folder)
global $ilCtrl
Definition: ilias.php:18
User interface class for advanced drop-down selection lists.
global $lng
Definition: privfeed.php:40
Class ilCloudPluginListGUI.
Class ilCloudPluginActionListGUI.
ilCloudFileTree class