55 public function __construct($a_node_type, $a_access_handler, $a_obj_type, $a_node_id, $a_obj_id, $a_news_id = 0)
59 $this->ctrl = $DIC->ctrl();
61 $this->node_type = (int) $a_node_type;
62 $this->access_handler = $a_access_handler;
63 $this->obj_type = (string) $a_obj_type;
64 $this->node_id = (int) $a_node_id;
65 $this->obj_id = (int) $a_obj_id;
66 $this->news_id = (int) $a_news_id;
76 return self::buildAjaxHash(
107 return $a_node_type .
";" . $a_node_id .
";" . $a_obj_type .
";" .
108 $a_obj_id .
";" . $a_sub_type .
";" . $a_sub_id .
";" . $a_news_id;
120 $ilAccess = $DIC->access();
122 if (isset(
$_GET[
"cadh"])) {
123 $parts = explode(
";", (
string)
$_GET[
"cadh"]);
134 case self::TYPE_REPOSITORY:
135 $access_handler = $ilAccess;
138 case self::TYPE_WORKSPACE:
139 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
141 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
157 if (
$node_type == self::TYPE_REPOSITORY && $obj_type !=
"poll") {
158 $dispatcher->enableCommentsSettings(
true);
171 if ($this->node_id &&
172 !$this->access_handler->checkAccess(
"visible",
"", $this->node_id) &&
173 !$this->access_handler->checkAccess(
"read",
"", $this->node_id)) {
177 $next_class =
$ilCtrl->getNextClass($this);
180 $ilCtrl->saveParameter($this,
"cadh");
182 switch ($next_class) {
186 if ($this->sub_type) {
190 include_once
"Services/Notes/classes/class.ilNoteGUI.php";
191 $note_gui =
new ilNoteGUI($this->obj_id, $this->sub_id,
$obj_type,
false, $this->news_id);
192 $note_gui->enablePrivateNotes(
true);
194 $has_write = $this->access_handler->checkAccess(
"write",
"", $this->node_id);
195 if ($has_write &&
$ilSetting->get(
"comments_del_tutor", 1)) {
196 $note_gui->enablePublicNotesDeletion(
true);
200 if ($this->enable_comments_settings) {
203 $this->access_handler->checkAccess(
"edit_permissions",
"", $this->node_id)) {
204 $note_gui->enableCommentsSettings();
209 elseif ($this->sub_id) {
210 $note_gui->enablePublicNotes(
true);
213 $ilCtrl->forwardCommand($note_gui);
217 include_once
"Services/Tagging/classes/class.ilTaggingGUI.php";
219 $tags_gui->setObject($this->obj_id, $this->obj_type);
220 $ilCtrl->forwardCommand($tags_gui);
223 case "ilobjectactivationgui":
224 $ilCtrl->setParameter($this,
"parent_id", (
int) $_REQUEST[
'parent_id']);
225 include_once
'Services/Object/classes/class.ilObjectActivationGUI.php';
227 $ilCtrl->forwardCommand($act_gui);
231 include_once(
"./Services/Rating/classes/class.ilRatingGUI.php");
233 if (!
$_GET[
"rnsb"]) {
234 $rating_gui->setObject($this->obj_id, $this->obj_type, $this->sub_id, $this->sub_type);
237 $rating_gui->setObject($this->obj_id, $this->obj_type);
239 $ilCtrl->forwardCommand($rating_gui);
240 if ($this->rating_callback) {
243 $ilCtrl->redirect($this->rating_callback[0], $this->rating_callback[1]);
262 $this->sub_type = (string) $a_sub_obj_type;
263 $this->sub_id = (int) $a_sub_obj_id;
273 $this->enable_comments_settings = (bool) $a_value;
284 $this->rating_callback = array($a_gui, $a_cmd);
293 if ($this->node_id &&
294 !$this->access_handler->checkAccess(
"visible",
"", $this->node_id) &&
295 !$this->access_handler->checkAccess(
"read",
"", $this->node_id)) {
299 include_once
'Services/Object/classes/class.ilObjectListGUIFactory.php';
302 ($this->node_type == self::TYPE_REPOSITORY)
308 $this->header_action->enableCopy(
false);
309 $this->header_action->enableCut(
false);
310 $this->header_action->enableDelete(
false);
311 $this->header_action->enableLink(
false);
312 $this->header_action->enableInfoscreen(
false);
313 $this->header_action->enableTimings(
false);
314 $this->header_action->enableSubscribe($this->node_type == self::TYPE_REPOSITORY);
316 $this->header_action->initItem($this->node_id, $this->obj_id);
317 $this->header_action->setHeaderSubObject($this->sub_type, $this->sub_id);
318 $this->header_action->setAjaxHash($this->
getAjaxHash());
320 return $this->header_action;
enableCommentsSettings($a_value)
Toggle comments settings.
Access handler for personal workspace.
initHeaderAction()
Set header action menu.
$enable_comments_settings
Tree handler for personal workspace.
Class ilObjectActivationGUI.
setRatingCallback($a_gui, $a_cmd)
Add callback for rating gui.
static buildAjaxHash( $a_node_type, $a_node_id, $a_obj_type, $a_obj_id, $a_sub_type=null, $a_sub_id=null, $a_news_id=0)
Build ajax hash.
__construct($a_node_type, $a_access_handler, $a_obj_type, $a_node_id, $a_obj_id, $a_news_id=0)
Constructor.
static _getListGUIByType($a_type, $a_context=ilObjectListGUI::CONTEXT_REPOSITORY)
getAjaxHash()
Build ajax hash for current (object/node) properties.
Class ilCommonActionDispatcherGUI.
setSubObject($a_sub_obj_type, $a_sub_obj_id)
Set sub object attributes.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call