ILIAS  release_4-4 Revision
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 
18 {
22  protected $node = null;
23 
29  public function getSelectionListItemsHTML($delete_item = false, $delete_folder = false, ilCloudFileNode $node)
30  {
31 
32  global $lng, $ilCtrl;
33 
38  $this->node = $node;
39 
40  if(($delete_item && !$node->getIsDir())|| ($delete_folder && $node->getIsDir()) ||$this->checkHasAction())
41  {
42  include_once("./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
43  $this->selection_list = new ilAdvancedSelectionListGUI();
44  $this->selection_list->setId("id_action_list_".$this->node->getId());
45  $this->selection_list->setListTitle($lng->txt("actions"));
46  $this->selection_list->setItemLinkClass("xsmall");
47 
48  if($this->getAsyncMode())
49  {
50  $this->selection_list->setAsynch(true);
51  $this->selection_list->setAsynchUrl(html_entity_decode($ilCtrl->getLinkTargetByClass("ilobjcloudgui", "asyncGetActionListContent", false) . "&node_id=" . $node->getId()));
52  }
53  else
54  {
55  $this->addSelectionListItems($delete_item, $delete_folder);
56  }
57 
58  return $this->selection_list->getHtml();
59  }
60  else
61  {
62  return "";
63  }
64 
65  }
66 
67  protected function addSelectionListItems($delete_item, $delete_folder)
68  {
69  global $lng;
70  $this->addItemsBefore();
71  if (($delete_item && !$this->node->getIsDir()) || ($delete_folder && $this->node->getIsDir()))
72  {
73  $this->selection_list->addItem($lng->txt("delete"), "delete_item", "javascript:il.CloudFileList.deleteItem(\'" . $this->node->getId() . "\');");
74  }
75 
76  $this->addItemsAfter();
77  }
78 
84  public function asyncGetContent($delete_item = false, $delete_folder = false, ilCloudFileNode $node)
85  {
86  global $lng;
87  $this->node = $node;
88  include_once("./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
89  $this->selection_list = new ilAdvancedSelectionListGUI();
90  $this->selection_list->setId($this->node->getId());
91  $this->selection_list->setListTitle($lng->txt("actions"));
92  $this->selection_list->setItemLinkClass("xsmall");
93 
94  $this->addSelectionListItems($delete_item , $delete_folder);
95  if ($this->selection_list->getItems() != null)
96  {
97  echo $this->selection_list->getHTML(true);
98  exit;
99  } else
100  {
101  echo $lng->txt("empty");
102  exit;
103  }
104  }
105 
106  protected function addItemsBefore(){}
107  protected function addItemsAfter(){}
108  protected function checkHasAction(){}
109  protected function getAsyncMode()
110  {
111  return true;
112  }
113 }
114 ?>
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