ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilLMPagesTableGUI.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2011 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
5 include_once("./Services/Table/classes/class.ilTable2GUI.php");
6 
16 {
20  function __construct($a_parent_obj, $a_parent_cmd, $a_lm)
21  {
22  global $ilCtrl, $lng, $ilAccess, $lng;
23 
24  $this->lm = $a_lm;
25  $this->lm_set = new ilSetting("lm");
26  parent::__construct($a_parent_obj, $a_parent_cmd);
27  $this->setData(ilLMPageObject::getPageList($this->lm->getId()));
28  $this->setTitle($lng->txt("cont_pages"));
29 
30  $this->addColumn($this->lng->txt(""), "", "1");
31  $this->addColumn($this->lng->txt("type"), "", "1");
32  $this->addColumn($this->lng->txt("title"));
33  $this->addColumn($this->lng->txt("cont_usage"));
34 
35  $this->setSelectAllCheckbox("id[]");
36 
37  if ($this->lm->getLayoutPerPage())
38  {
39  $this->addColumn($this->lng->txt("cont_layout"));
40  }
41 
42  $this->setLimit(9999);
43 
44  $this->setFormAction($ilCtrl->getFormAction($a_parent_obj));
45  $this->setRowTemplate("tpl.page_list_row.html", "Modules/LearningModule");
46 
48  ilEditClipboard::getAction() == "copy")
49  {
50  $this->addMultiCommand("pastePage", $lng->txt("pastePage"));
51  }
52 
53  if ($this->lm->getLayoutPerPage())
54  {
55  $this->addMultiCommand("setPageLayout", $lng->txt("cont_set_layout"));
56  }
57 
58  $this->addMultiCommand("activatePages", $lng->txt("cont_de_activate"));
59  $this->addMultiCommand("movePage", $lng->txt("movePage"));
60  $this->addMultiCommand("copyPage", $lng->txt("copyPage"));
61  $this->addMultiCommand("delete", $lng->txt("delete"));
62  $this->addMultiCommand("selectHeader", $lng->txt("selectHeader"));
63  $this->addMultiCommand("selectFooter", $lng->txt("selectFooter"));
64 
65 // $this->addCommandButton("", $lng->txt(""));
66  }
67 
71  protected function fillRow($a_set)
72  {
73  global $lng, $ilCtrl;
74 //var_dump($a_set);
75 
76  // icon...
77 
78  // check activation
79  include_once("./Modules/LearningModule/classes/class.ilLMPage.php");
80  $active = ilLMPage::_lookupActive($a_set["obj_id"], $this->lm->getType(),
81  $this->lm_set->get("time_scheduled_page_activation"));
82 
83  // is page scheduled?
84  $img_sc = ($this->lm_set->get("time_scheduled_page_activation") &&
85  ilLMPage::_isScheduledActivation($a_set["obj_id"], $this->lm->getType()))
86  ? "_sc"
87  : "";
88 
89  if (!$active)
90  {
91  $img = "icon_pg_d".$img_sc.".svg";
92  $alt = $lng->txt("cont_page_deactivated");
93  }
94  else
95  {
97  $this->lm->getType()))
98  {
99  $img = "icon_pg_del".$img_sc.".svg";
100  $alt = $lng->txt("cont_page_deactivated_elements");
101  }
102  else
103  {
104  $img = "icon_pg".$img_sc.".svg";
105  $alt = $this->lng->txt("pg");
106  }
107  }
108  $this->tpl->setVariable("ICON", ilUtil::img(ilUtil::getImagePath($img), $alt));
109 
110  // title/link
111  $ilCtrl->setParameter($this, "backcmd", "");
112  $ilCtrl->setParameterByClass("ilLMPageObjectGUI", "obj_id", $a_set["obj_id"]);
113  $this->tpl->setVariable("HREF_TITLE",
114  $ilCtrl->getLinkTargetByClass("ilLMPageObjectGUI", "edit"));
115  $this->tpl->setVariable("TITLE", $a_set["title"]);
116  $this->tpl->setVariable("ID", $a_set["obj_id"]);
117 
118  // context
119  if ($this->lm->lm_tree->isInTree($a_set["obj_id"]))
120  {
121  $path_str = $this->parent_obj->getContextPath($a_set["obj_id"]);
122  }
123  else
124  {
125  $path_str = "---";
126  }
127 
128  // check whether page is header or footer
129  $add_str = "";
130  if ($a_set["obj_id"] == $this->lm->getHeaderPage())
131  {
132  $add_str = " <b>(".$lng->txt("cont_header").")</b>";
133  }
134  if ($a_set["obj_id"] == $this->lm->getFooterPage())
135  {
136  $add_str.= " <b>(".$lng->txt("cont_footer").")</b>";
137  }
138 
139  $this->tpl->setVariable("USAGE", $path_str.$add_str);
140 
141  // layout
142  if ($this->lm->getLayoutPerPage())
143  {
144  if (($l = ilLMObject::lookupLayout($a_set["obj_id"])) != "")
145  {
146  $this->tpl->setVariable("LAYOUT",
147  $lng->txt("cont_layout_".$l));
148  }
149  }
150  }
151 
152 }
153 ?>
ILIAS Setting Class.
global $ilCtrl
Definition: ilias.php:18
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
Class ilTable2GUI.
static _lookupActive($a_id, $a_parent_type, $a_check_scheduled_activation=false, $a_lang="-")
lookup activation status
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
addMultiCommand($a_cmd, $a_text)
Add Command button.
static lookupLayout($a_obj_id)
Lookup type.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
static _lookupContainsDeactivatedElements($a_id, $a_parent_type, $a_lang="-")
lookup whether page contains deactivated elements
static _isScheduledActivation($a_id, $a_parent_type, $a_lang="-")
Check whether page is activated by time schedule.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
static img($a_src, $a_alt="", $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
global $l
Definition: afr.php:30
global $lng
Definition: privfeed.php:17
__construct($a_parent_obj, $a_parent_cmd, $a_lm)
Constructor.
fillRow($a_set)
Fill table row.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
static getPageList($lm_id)
static
addColumn($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
TableGUI class for all pages of a learning module.
setLimit($a_limit=0, $a_default_limit=0)