ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f87
ilContainerStartObjectsGUI Class Reference

Class ilContainerStartObjectsGUI. More...

+ Collaboration diagram for ilContainerStartObjectsGUI:

Public Member Functions

 __construct (ilObject $a_parent_obj)
 
 executeCommand ()
 
 setTabs ($a_active="manage")
 

Protected Member Functions

 checkPermission ($a_cmd)
 
 listStructureObject ()
 
 saveSortingObject ()
 
 askDeleteStarterObject ()
 
 deleteStarterObject ()
 
 selectStarterObject ()
 
 addStarterObject ()
 

Protected Attributes

 $object
 
 $start_object
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilContainerStartObjectsGUI::__construct ( ilObject  $a_parent_obj)

Definition at line 18 of file class.ilContainerStartObjectsGUI.php.

References $ilCtrl, $lng, and $tpl.

19  {
20  global $ilCtrl, $ilTabs, $lng, $tpl;
21 
22  $this->ctrl = $ilCtrl;
23  $this->tabs_gui = $ilTabs;
24  $this->lng = $lng;
25  $this->tpl = $tpl;
26  $this->object = $a_parent_obj;
27 
28  include_once "Services/Container/classes/class.ilContainerStartObjects.php";
29  $this->start_object = new ilContainerStartObjects($this->object->getRefId(),
30  $this->object->getId());
31 
32  $this->lng->loadLanguageModule("crs");
33  }
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40

Member Function Documentation

◆ addStarterObject()

ilContainerStartObjectsGUI::addStarterObject ( )
protected

Definition at line 210 of file class.ilContainerStartObjectsGUI.php.

References $_POST, checkPermission(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

211  {
212  $this->checkPermission('write');
213 
214  if(!count($_POST['starter']))
215  {
216  ilUtil::sendFailure($this->lng->txt('select_one'), true);
217  $this->ctrl->redirect($this, "selectStarter");
218  }
219 
220  $added = 0;
221  foreach($_POST['starter'] as $item_ref_id)
222  {
223  if(!$this->start_object->exists($item_ref_id))
224  {
225  ++$added;
226  $this->start_object->add($item_ref_id);
227  }
228  }
229  if($added)
230  {
231  ilUtil::sendSuccess($this->lng->txt('crs_added_starters'), true);
232  $this->ctrl->redirect($this, "listStructure");
233  }
234  else
235  {
236  ilUtil::sendFailure($this->lng->txt('crs_starters_already_assigned'), true);
237  $this->ctrl->redirect($this, "selectStarter");
238  }
239  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ askDeleteStarterObject()

ilContainerStartObjectsGUI::askDeleteStarterObject ( )
protected

Definition at line 146 of file class.ilContainerStartObjectsGUI.php.

References $_POST, ilObject\_getIcon(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilObject\_lookupType(), checkPermission(), ilUtil\sendFailure(), and setTabs().

147  {
148  if(!count($_POST['starter']))
149  {
150  ilUtil::sendFailure($this->lng->txt('select_one'), true);
151  $this->ctrl->redirect($this, "listStructure");
152  }
153 
154  $this->checkPermission('write');
155  $this->setTabs();
156 
157  // display confirmation message
158  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
159  $cgui = new ilConfirmationGUI();
160  $cgui->setFormAction($this->ctrl->getFormAction($this, "listStructure"));
161  $cgui->setHeaderText($this->lng->txt("crs_starter_delete_sure"));
162  $cgui->setCancel($this->lng->txt("cancel"), "listStructure");
163  $cgui->setConfirm($this->lng->txt("delete"), "deleteStarter");
164 
165  // list objects that should be deleted
166  $all = $this->start_object->getStartObjects();
167  foreach($_POST['starter'] as $starter_id)
168  {
169  $obj_id = ilObject::_lookupObjId($all[$starter_id]["item_ref_id"]);
170  $title = ilObject::_lookupTitle($obj_id);
171  $icon = ilObject::_getIcon($obj_id, "tiny");
172  $alt = $this->lng->txt('obj_'.ilObject::_lookupType($obj_id));
173  $cgui->addItem("starter[]", $starter_id, $title, $icon, $alt);
174  }
175 
176  $this->tpl->setContent($cgui->getHTML());
177  }
static _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
$_POST['username']
Definition: cron.php:12
static _lookupTitle($a_id)
lookup object title
static _lookupObjId($a_id)
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Confirmation screen class.
+ Here is the call graph for this function:

◆ checkPermission()

ilContainerStartObjectsGUI::checkPermission (   $a_cmd)
protected

Definition at line 81 of file class.ilContainerStartObjectsGUI.php.

References $ref_id, ilUtil\redirect(), and ilUtil\sendFailure().

Referenced by addStarterObject(), askDeleteStarterObject(), deleteStarterObject(), executeCommand(), listStructureObject(), and selectStarterObject().

82  {
83  global $ilAccess;
84 
85  $ref_id = $this->object->getRefId();
86  if(!$ilAccess->checkAccess($a_cmd, "", $ref_id))
87  {
88  ilUtil::sendFailure($this->lng->txt("permission_denied"), true);
89  ilUtil::redirect("goto.php?target=".$this->object->getType()."_".$ref_id);
90  }
91  }
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$ref_id
Definition: sahs_server.php:39
static redirect($a_script)
http redirect to other script
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteStarterObject()

ilContainerStartObjectsGUI::deleteStarterObject ( )
protected

Definition at line 179 of file class.ilContainerStartObjectsGUI.php.

References $_POST, checkPermission(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

180  {
181  $this->checkPermission('write');
182 
183  if(!count($_POST['starter']))
184  {
185  ilUtil::sendFailure($this->lng->txt('select_one'), true);
186  }
187  else
188  {
189  foreach($_POST['starter'] as $starter_id)
190  {
191  $this->start_object->delete((int)$starter_id);
192  }
193 
194  ilUtil::sendSuccess($this->lng->txt('crs_starter_deleted'), true);
195  }
196 
197  $this->ctrl->redirect($this, "listStructure");
198  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ executeCommand()

ilContainerStartObjectsGUI::executeCommand ( )

Definition at line 35 of file class.ilContainerStartObjectsGUI.php.

References $cmd, $ret, ilPageObject\_exists(), checkPermission(), and ilObjStyleSheet\getEffectiveContentStyleId().

36  {
37  // $this->prepareOutput();
38 
39  switch($this->ctrl->getNextClass($this))
40  {
41  case "ilcontainerstartobjectspagegui":
42  $this->checkPermission("write");
43  $this->tabs_gui->clearTargets();
44  $this->tabs_gui->setBackTarget($this->lng->txt("back"),
45  $this->ctrl->getLinkTarget($this, "listStructure"));
46 
47  include_once "Services/Container/classes/class.ilContainerStartObjectsPage.php";
48  if(!ilContainerStartObjectsPage::_exists("cstr", $this->object->getId()))
49  {
50  // doesn't exist -> create new one
51  $new_page_object = new ilContainerStartObjectsPage();
52  $new_page_object->setParentId($this->object->getId());
53  $new_page_object->setId($this->object->getId());
54  $new_page_object->createFromXML();
55  unset($new_page_object);
56  }
57 
58  $this->ctrl->setReturnByClass("ilcontainerstartobjectspagegui", "edit");
59  include_once "Services/Container/classes/class.ilContainerStartObjectsPageGUI.php";
60  $pgui = new ilContainerStartObjectsPageGUI($this->object->getId());
61 
62  // needed for editor?
63  include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
64  $pgui->setStyleId(ilObjStyleSheet::getEffectiveContentStyleId(0));
65 
66  $ret = $this->ctrl->forwardCommand($pgui);
67  if($ret)
68  {
69  $this->tpl->setContent($ret);
70  }
71  break;
72 
73  default:
74  $cmd = $this->ctrl->getCmd("listStructure");
75  $cmd .= "Object";
76  $this->$cmd();
77  break;
78  }
79  }
Container start objects page GUI class.
Container start objects page object.
$cmd
Definition: sahs_server.php:35
static _exists($a_parent_type, $a_id, $a_lang="")
Checks whether page exists.
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
+ Here is the call graph for this function:

◆ listStructureObject()

ilContainerStartObjectsGUI::listStructureObject ( )
protected

Definition at line 112 of file class.ilContainerStartObjectsGUI.php.

References checkPermission(), and setTabs().

113  {
114  global $ilToolbar;
115 
116  $this->checkPermission('write');
117  $this->setTabs();
118 
119  $ilToolbar->addButton($this->lng->txt('crs_add_starter'),
120  $this->ctrl->getLinkTarget($this, 'selectStarter'));
121 
122  include_once './Services/Container/classes/class.ilContainerStartObjectsTableGUI.php';
123  $table = new ilContainerStartObjectsTableGUI($this, 'listStructure', $this->start_object);
124  $this->tpl->setContent($table->getHTML());
125  }
+ Here is the call graph for this function:

◆ saveSortingObject()

ilContainerStartObjectsGUI::saveSortingObject ( )
protected

Definition at line 127 of file class.ilContainerStartObjectsGUI.php.

References $_POST, and ilUtil\sendSuccess().

128  {
129  $pos = $_POST["pos"];
130  if(is_array($pos))
131  {
132  asort($pos);
133  $counter = 0;
134  foreach(array_keys($pos) as $start_id)
135  {
136  $counter += 10;
137  $this->start_object->setObjectPos($start_id, $counter);
138  }
139 
140  ilUtil::sendSuccess($this->lng->txt('cntr_saved_sorting'), true);
141  }
142 
143  $this->ctrl->redirect($this, "listStructure");
144  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
+ Here is the call graph for this function:

◆ selectStarterObject()

ilContainerStartObjectsGUI::selectStarterObject ( )
protected

Definition at line 200 of file class.ilContainerStartObjectsGUI.php.

References checkPermission(), and setTabs().

201  {
202  $this->checkPermission('write');
203  $this->setTabs();
204 
205  include_once './Services/Container/classes/class.ilContainerStartObjectsTableGUI.php';
206  $table = new ilContainerStartObjectsTableGUI($this, 'selectStarter', $this->start_object);
207  $this->tpl->setContent($table->getHTML());
208  }
+ Here is the call graph for this function:

◆ setTabs()

ilContainerStartObjectsGUI::setTabs (   $a_active = "manage")

Definition at line 93 of file class.ilContainerStartObjectsGUI.php.

References $ilSetting.

Referenced by askDeleteStarterObject(), listStructureObject(), and selectStarterObject().

94  {
95  global $ilSetting;
96 
97  $this->tabs_gui->addSubTab("manage",
98  $this->lng->txt("cntr_manage"),
99  $this->ctrl->getLinkTarget($this, "listStructure"));
100 
101  // :TODO: depending on this setting?
102  if ($ilSetting->get("enable_cat_page_edit"))
103  {
104  $this->tabs_gui->addSubTab("page_editor",
105  $this->lng->txt("cntr_text_media_editor"),
106  $this->ctrl->getLinkTargetByClass("ilContainerStartObjectsPageGUI", "edit"));
107  }
108 
109  $this->tabs_gui->activateSubTab($a_active);
110  }
global $ilSetting
Definition: privfeed.php:40
+ Here is the caller graph for this function:

Field Documentation

◆ $object

ilContainerStartObjectsGUI::$object
protected

Definition at line 15 of file class.ilContainerStartObjectsGUI.php.

◆ $start_object

ilContainerStartObjectsGUI::$start_object
protected

Definition at line 16 of file class.ilContainerStartObjectsGUI.php.


The documentation for this class was generated from the following file: