ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilObjWorkspaceFolderTableGUI.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
14 include_once "Services/Table/classes/class.ilTable2GUI.php";
15 
17 {
18  function __construct($a_parent_obj, $a_parent_cmd, $a_node_id, $a_access_handler)
19  {
20  global $ilCtrl;
21 
22  $this->node_id = $a_node_id;
23  $this->setId("tbl_wfld");
24  $this->access_handler = $a_access_handler;
25 
26  parent::__construct($a_parent_obj, $a_parent_cmd);
27 
28  // $this->setTitle(":TODO:");
29  $this->setLimit(999);
30 
31  $this->addColumn($this->lng->txt("content"));
32 
33  // $this->setEnableHeader(true);
34  // $this->setFormAction($ilCtrl->getFormAction($a_parent_obj));
35  $this->setRowTemplate("tpl.list_row.html", "Modules/WorkspaceFolder");
36  //$this->disable("footer");
37  // $this->setEnableTitle(true);
38  $this->setEnableNumInfo(false);
39 
40  $this->getItems();
41  }
42 
43  protected function getItems()
44  {
45  global $ilUser;
46 
47  include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
48  $tree = new ilWorkspaceTree($ilUser->getId());
49  $nodes = $tree->getChilds($this->node_id, "title");
50 
51  $this->shared_objects = $this->access_handler->getObjectsIShare();
52 
53  $this->setData($nodes);
54  }
55 
56  protected function fillRow($node)
57  {
58  global $objDefinition, $ilCtrl;
59 
60  $class = $objDefinition->getClassName($node["type"]);
61  $location = $objDefinition->getLocation($node["type"]);
62  $full_class = "ilObj".$class."ListGUI";
63 
64  include_once($location."/class.".$full_class.".php");
65  $item_list_gui = new $full_class();
66 
67  $item_list_gui->setDetailsLevel(ilObjectListGUI::DETAILS_ALL);
68  $item_list_gui->enableDelete(true);
69  $item_list_gui->enableCut(true);
70  $item_list_gui->enableSubscribe(false);
71  $item_list_gui->enablePayment(false);
72  $item_list_gui->enableLink(false);
73  $item_list_gui->enablePath(false);
74  $item_list_gui->enableLinkedPath(false);
75  $item_list_gui->enableSearchFragments(true);
76  $item_list_gui->enableRelevance(false);
77  $item_list_gui->enableIcon(true);
78  $item_list_gui->enableTimings(false);
79  // $item_list_gui->enableCheckbox(false);
80  // $item_list_gui->setSeparateCommands(true);
81 
82  $item_list_gui->enableNotes(true);
83  $item_list_gui->enableCopy($objDefinition->allowCopy($node["type"]));
84 
85  if($node["type"] == "file")
86  {
87  $item_list_gui->enableRepositoryTransfer(true);
88  }
89 
90  $item_list_gui->setContainerObject($this->parent_obj);
91 
92  if(in_array($node["type"], array("file", "blog")))
93  {
94  // add "share" link
95  $ilCtrl->setParameterByClass("ilworkspaceaccessgui", "wsp_id", $node["wsp_id"]);
96  $share_link = $ilCtrl->getLinkTargetByClass(array("ilObj".$class."GUI", "ilworkspaceaccessgui"), "share");
97  $item_list_gui->addCustomCommand($share_link, "wsp_permissions");
98 
99  // show "shared" status
100  if(in_array($node["obj_id"], $this->shared_objects))
101  {
102  $item_list_gui->addCustomProperty($this->lng->txt("status"), $this->lng->txt("wsp_status_shared"), true, true);
103  }
104  }
105 
106  if($html = $item_list_gui->getListItemHTML($node["wsp_id"], $node["obj_id"],
107  $node["title"], $node["description"], false, false, "", ilObjectListGUI::CONTEXT_WORKSPACE))
108  {
109  $this->tpl->setVariable("ITEM_LIST_NODE", $html);
110  }
111  }
112 
113 }
114 
115 ?>