ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilPDSelectedItemsBlockGUI.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/Block/classes/class.ilBlockGUI.php");
6 include_once './Services/PersonalDesktop/interfaces/interface.ilDesktopItemHandling.php';
7 require_once('./Services/Repository/classes/class.ilObjectPlugin.php');
8 
19 {
23  protected $rbacsystem;
24 
28  protected $settings;
29 
33  protected $obj_definition;
34 
36  public static $block_type = 'pditems';
37 
39  protected $viewSettings;
40 
42  protected $view;
43 
45  protected $manage = false;
46 
48  protected $content = '';
49 
51  protected $lng;
52 
54  protected $ctrl;
55 
57  protected $user;
58 
62  public function __construct()
63  {
64  global $DIC;
65  $this->rbacsystem = $DIC->rbac()->system();
66  $this->settings = $DIC->settings();
67  $this->obj_definition = $DIC["objDefinition"];
68  $this->access = $DIC->access();
69 
70  parent::__construct();
71 
72  $this->lng = $DIC->language();
73  $this->ctrl = $DIC->ctrl();
74  $this->user = $DIC->user();
75 
76  $this->lng->loadLanguageModule('pd');
77  $this->lng->loadLanguageModule('cntr'); // #14158
78 
79  $this->setEnableNumInfo(false);
80  $this->setLimit(99999);
81  $this->setAvailableDetailLevels(3, 1);
82  $this->allow_moving = false;
83 
84  $this->initViewSettings();
85  }
86 
90  protected function initViewSettings()
91  {
92  require_once 'Services/PersonalDesktop/ItemsBlock/classes/class.ilPDSelectedItemsBlockViewSettings.php';
93  $this->viewSettings = new ilPDSelectedItemsBlockViewSettings($this->user, (int) $_GET['view']);
94  $this->viewSettings->parse();
95 
96  require_once 'Services/PersonalDesktop/ItemsBlock/classes/class.ilPDSelectedItemsBlockViewGUI.php';
97  $this->view = ilPDSelectedItemsBlockViewGUI::bySettings($this->viewSettings);
98 
99  $_GET['view'] = $this->viewSettings->getCurrentView();
100  $this->ctrl->saveParameter($this, 'view');
101  }
102 
106  public function getViewSettings()
107  {
108  return $this->viewSettings;
109  }
110 
114  public function isManagedView()
115  {
116  return $this->manage;
117  }
118 
122  public function fillDetailRow()
123  {
124  // $this->ctrl->setParameterByClass('ilpersonaldesktopgui', 'view', $this->viewSettings->getCurrentView());
125  parent::fillDetailRow();
126  // $this->ctrl->setParameterByClass('ilpersonaldesktopgui', 'view', '');
127  }
128 
132  public function addToDeskObject()
133  {
134  include_once './Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
136  ilUtil::sendSuccess($this->lng->txt("msg_obj_modified"), true);
137  $this->ctrl->setParameterByClass('ilpersonaldesktopgui', 'view', $this->viewSettings->getCurrentView());
138  $this->ctrl->redirectByClass('ilpersonaldesktopgui', 'show');
139  }
140 
144  public function removeFromDeskObject()
145  {
146  include_once './Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
148  ilUtil::sendSuccess($this->lng->txt("removed_from_desktop"), true);
149  $this->ctrl->setParameterByClass('ilpersonaldesktopgui', 'view', $this->viewSettings->getCurrentView());
150  $this->ctrl->redirectByClass('ilpersonaldesktopgui', 'show');
151  }
152 
156  public static function getBlockType()
157  {
158  return self::$block_type;
159  }
160 
164  public static function getScreenMode()
165  {
166  $cmd = $_GET['cmd'];
167  if ($cmd == 'post') {
168  $cmd = $_POST['cmd'];
169  $cmd = array_shift(array_keys($cmd));
170  }
171 
172  switch ($cmd) {
173  case 'confirmRemove':
174  case 'manage':
175  return IL_SCREEN_FULL;
176 
177  default:
178  return IL_SCREEN_SIDE;
179  }
180  }
181 
185  public static function isRepositoryObject()
186  {
187  return false;
188  }
189 
193  public function getHTML()
194  {
195  global $DIC;
196 
197  $DIC->database()->useSlave(true);
198 
199  // workaround to show details row
200  $this->setData(array('dummy'));
201 
202  require_once 'Services/Object/classes/class.ilObjectListGUI.php';
203  ilObjectListGUI::prepareJSLinks(
204  '',
205  $this->ctrl->getLinkTargetByClass(array('ilcommonactiondispatchergui', 'ilnotegui'), '', '', true, false),
206  $this->ctrl->getLinkTargetByClass(array('ilcommonactiondispatchergui', 'iltagginggui'), '', '', true, false)
207  );
208 
209  $DIC['ilHelp']->setDefaultScreenId(ilHelpGUI::ID_PART_SCREEN, $this->view->getScreenId());
210  $this->setTitle($this->view->getTitle());
211  $this->setContent($this->getViewBlockHtml());
212 
213  if ($this->getContent() == '') {
214  $this->setEnableDetailRow(false);
215  }
216 
217  // $this->ctrl->clearParametersByClass('ilpersonaldesktopgui');
218  $this->ctrl->clearParameters($this);
219 
220  $DIC->database()->useSlave(false);
221 
222  return parent::getHTML();
223  }
224 
225  // Overwritten from ilBlockGUI as there seems to be no other possibility to
226  // not show Commands in the HEADER(!!!!) of a block in the VIEW_MY_STUDYPROGRAMME
227  // case... Sigh.
228  public function getFooterLinks()
229  {
230  if ($this->viewSettings->isStudyProgrammeViewActive()) {
231  return array();
232  }
233 
234  return parent::getFooterLinks();
235  }
236 
240  public function executeCommand()
241  {
242  $next_class = $this->ctrl->getNextClass();
243  $cmd = $this->ctrl->getCmd('getHTML');
244 
245  switch ($next_class) {
246  case 'ilcommonactiondispatchergui':
247  include_once('Services/Object/classes/class.ilCommonActionDispatcherGUI.php');
249  $this->ctrl->forwardCommand($gui);
250  break;
251 
252  default:
253  if (method_exists($this, $cmd)) {
254  return $this->$cmd();
255  } else {
256  return $this->{$cmd . 'Object'}();
257  }
258  }
259  }
260 
264  protected function getContent()
265  {
266  return $this->content;
267  }
268 
272  protected function setContent($a_content)
273  {
274  $this->content = $a_content;
275  }
276 
280  public function fillDataSection()
281  {
282  if ($this->getContent() == '') {
283  $this->setDataSection($this->view->getIntroductionHtml());
284  } else {
285  $this->tpl->setVariable('BLOCK_ROW', $this->getContent());
286  }
287  }
288 
289 
293  public function fillFooter()
294  {
295  $this->setFooterLinks();
296  $this->fillFooterLinks();
297  $this->tpl->setVariable('FCOLSPAN', $this->getColSpan());
298  if ($this->tpl->blockExists('block_footer')) {
299  $this->tpl->setCurrentBlock('block_footer');
300  $this->tpl->parseCurrentBlock();
301  }
302  }
303 
307  protected function setFooterLinks()
308  {
309  if ($this->getContent() == '') {
310  $this->setEnableNumInfo(false);
311  return '';
312  }
313 
314  if ($this->manage) {
315  return '';
316  }
317 
318  $this->addFooterLink(
319  $this->lng->txt("pd_sort_by_type"),
320  $this->ctrl->getLinkTarget($this, "orderPDItemsByType"),
321  $this->ctrl->getLinkTarget($this, "orderPDItemsByType", "", true),
322  "block_" . $this->getBlockType() . "_" . $this->block_id,
323  false,
324  false,
325  $this->viewSettings->isSortedByType()
326  );
327 
328  $this->addFooterLink(
329  $this->lng->txt("pd_sort_by_location"),
330  $this->ctrl->getLinkTarget($this, "orderPDItemsByLocation"),
331  $this->ctrl->getLinkTarget($this, "orderPDItemsByLocation", "", true),
332  "block_" . $this->getBlockType() . "_" . $this->block_id,
333  false,
334  false,
335  $this->viewSettings->isSortedByLocation()
336  );
337 
338  if ($this->viewSettings->isMembershipsViewActive()) {
339  $this->addFooterLink(
340  $this->lng->txt("pd_sort_by_start_date"),
341  $this->ctrl->getLinkTarget($this, "orderPDItemsByStartDate"),
342  $this->ctrl->getLinkTarget($this, "orderPDItemsByStartDate", "", true),
343  "block_" . $this->getBlockType() . "_" . $this->block_id,
344  false,
345  false,
346  $this->viewSettings->isSortedByStartDate()
347  );
348  }
349 
350  $this->addFooterLink(
351  $this->viewSettings->isSelectedItemsViewActive() ?
352  $this->lng->txt("pd_remove_multiple") :
353  $this->lng->txt("pd_unsubscribe_multiple_memberships"),
354  $this->ctrl->getLinkTarget($this, "manage"),
355  null,
356  "block_" . $this->getBlockType() . "_" . $this->block_id
357  );
358  }
359 
366  protected function renderGroupedItems(ilTemplate $tpl, array $grouped_items, $show_header = false)
367  {
370 
371  if (0 == count($grouped_items)) {
372  return false;
373  }
374 
375  $output = false;
376 
377  require_once 'Services/Object/classes/class.ilObjectActivation.php';
378  require_once 'Services/PersonalDesktop/ItemsBlock/classes/class.ilPDSelectedItemsBlockListGUIFactory.php';
379  $list_factory = new ilPDSelectedItemsBlockListGUIFactory($this);
380 
381  foreach ($grouped_items as $group) {
382  $item_html = array();
383 
384  foreach ($group->getItems() as $item) {
385  try {
386  $item_list_gui = $list_factory->byType($item['type']);
388 
389  // #15232
390  if ($this->manage) {
391  if ($this->view->mayRemoveItem((int) $item['ref_id'])) {
392  $item_list_gui->enableCheckbox(true);
393  } else {
394  $item_list_gui->enableCheckbox(false);
395  }
396  }
397 
398  $html = $item_list_gui->getListItemHTML($item['ref_id'], $item['obj_id'], $item['title'], $item['description']);
399  if ($html != '') {
400  $item_html[] = array(
401  'html' => $html,
402  'item_ref_id' => $item['ref_id'],
403  'item_obj_id' => $item['obj_id'],
404  'parent_ref' => $item['parent_ref'],
405  'type' => $item['type'],
406  'item_icon_image_type' => $item_list_gui->getIconImageType()
407  );
408  }
409  } catch (ilException $e) {
410  continue;
411  }
412  }
413 
414  if (0 == count($item_html)) {
415  continue;
416  }
417 
418  if ($show_header) {
419  $this->addSectionHeader($tpl, $group);
420  $this->resetRowType() ;
421  }
422 
423  foreach ($item_html as $item) {
424  $this->addStandardRow(
425  $tpl,
426  $item['html'],
427  $item['item_ref_id'],
428  $item['item_obj_id'],
429  $item['item_icon_image_type'],
430  'th_' . md5($group->getLabel())
431  );
432  $output = true;
433  }
434  }
435 
436  return $output;
437  }
438 
442  protected function getViewBlockHtml()
443  {
444  $tpl = $this->newBlockTemplate();
445 
446  $this->renderGroupedItems(
447  $tpl,
448  $this->view->getItemGroups(),
449  ($this->getCurrentDetailLevel() >= $this->view->getMinimumDetailLevelForSection())
450  );
451 
452  if ($this->manage && $this->view->supportsSelectAll()) {
453  // #11355 - see ContainerContentGUI::renderSelectAllBlock()
454  $tpl->setCurrentBlock('select_all_row');
455  $tpl->setVariable('CHECKBOXNAME', 'ilToolbarSelectAll');
456  $tpl->setVariable('SEL_ALL_PARENT', 'ilToolbar');
457  $tpl->setVariable('SEL_ALL_CB_NAME', 'id');
458  $tpl->setVariable('TXT_SELECT_ALL', $this->lng->txt('select_all'));
459  $tpl->parseCurrentBlock();
460  }
461 
462  return $tpl->get();
463  }
464 
465  protected function resetRowType()
466  {
467  $this->cur_row_type = "";
468  }
469 
476  public function newBlockTemplate()
477  {
478  $tpl = new ilTemplate("tpl.pd_list_block.html", true, true, "Services/PersonalDesktop");
479  $this->cur_row_type = "";
480  return $tpl;
481  }
482 
487  protected function addSectionHeader(ilTemplate $a_tpl, ilPDSelectedItemsBlockGroup $group)
488  {
489  if ($group->hasIcon()) {
490  $a_tpl->setCurrentBlock('container_header_row_image');
491  $a_tpl->setVariable('HEADER_IMG', $group->getIconPath());
492  $a_tpl->setVariable('HEADER_ALT', $group->getLabel());
493  } else {
494  $a_tpl->setCurrentBlock('container_header_row');
495  }
496 
497  $a_tpl->setVariable('BLOCK_HEADER_CONTENT', $group->getLabel());
498  $a_tpl->setVariable('BLOCK_HEADER_ID', 'th_' . md5($group->getLabel()));
499  $a_tpl->parseCurrentBlock();
500 
501  $a_tpl->touchBlock('container_row');
502 
503  $this->resetRowType();
504  }
505 
513  public function addStandardRow(
514  &$a_tpl,
515  $a_html,
516  $a_item_ref_id = "",
517  $a_item_obj_id = "",
518  $a_image_type = "",
519  $a_related_header = ""
520  ) {
522 
523  $this->cur_row_type = ($this->cur_row_type == "row_type_1")
524  ? "row_type_2"
525  : "row_type_1";
526  $a_tpl->touchBlock($this->cur_row_type);
527 
528  if ($a_image_type != "") {
529  if (!is_array($a_image_type) && !in_array($a_image_type, array("lm", "htlm", "sahs"))) {
530  $icon = ilUtil::getImagePath("icon_" . $a_image_type . ".svg");
531  $title = $this->lng->txt("obj_" . $a_image_type);
532  } else {
533  $icon = ilUtil::getImagePath("icon_lm.svg");
534  $title = $this->lng->txt("learning_resource");
535  }
536 
537  // custom icon
538  if ($ilSetting->get("custom_icons") &&
539  in_array($a_image_type, array("cat","grp","crs"))) {
540  require_once("./Services/Container/classes/class.ilContainer.php");
541  if (($path = ilContainer::_lookupIconPath($a_item_obj_id, "small")) != "") {
542  $icon = $path;
543  }
544  }
545 
546  $a_tpl->setCurrentBlock("block_row_image");
547  $a_tpl->setVariable("ROW_IMG", $icon);
548  $a_tpl->setVariable("ROW_ALT", $title);
549  $a_tpl->parseCurrentBlock();
550  } else {
551  $a_tpl->setVariable("ROW_NBSP", "&nbsp;");
552  }
553  $a_tpl->setCurrentBlock("container_standard_row");
554  $a_tpl->setVariable("BLOCK_ROW_CONTENT", $a_html);
555  $rel_headers = ($a_related_header != "")
556  ? "th_selected_items " . $a_related_header
557  : "th_selected_items";
558  $a_tpl->setVariable("BLOCK_ROW_HEADERS", $rel_headers);
559  $a_tpl->parseCurrentBlock();
560  $a_tpl->touchBlock("container_row");
561  }
562 
566  protected function changeSortMode($sort_type)
567  {
568  $this->user->writePref('pd_order_items', $sort_type);
569  $this->initViewSettings();
570 
571  if ($this->ctrl->isAsynch()) {
572  echo $this->getHTML();
573  exit;
574  }
575 
576  $this->ctrl->setParameterByClass('ilpersonaldesktopgui', 'view', $this->viewSettings->getCurrentView());
577  $this->ctrl->redirectByClass('ilpersonaldesktopgui', 'show');
578  }
579 
583  public function orderPDItemsByLocation()
584  {
585  $this->changeSortMode($this->viewSettings->getSortByLocationMode());
586  }
587 
591  public function orderPDItemsByType()
592  {
593  $this->changeSortMode($this->viewSettings->getSortByTypeMode());
594  }
595 
599  public function orderPDItemsByStartDate()
600  {
601  $this->changeSortMode($this->viewSettings->getSortByStartDateMode());
602  }
603 
604  public function manageObject()
605  {
607  $lng = $this->lng;
608 
609  $this->manage = true;
610  $this->setAvailableDetailLevels(1, 1);
611 
612  $top_tb = new ilToolbarGUI();
613  $top_tb->setFormAction($ilCtrl->getFormAction($this));
614  $top_tb->setLeadingImage(ilUtil::getImagePath("arrow_upright.svg"), $lng->txt("actions"));
615 
616  $button = ilSubmitButton::getInstance();
617  if ($this->viewSettings->isSelectedItemsViewActive()) {
618  $button->setCaption("remove");
619  } else {
620  $button->setCaption("pd_unsubscribe_memberships");
621  }
622  $button->setCommand("confirmRemove");
623  $top_tb->addStickyItem($button);
624 
625  $button2 = ilSubmitButton::getInstance();
626  $button2->setCaption("cancel");
627  $button2->setCommand("getHTML");
628  $top_tb->addStickyItem($button2);
629 
630  $top_tb->setCloseFormTag(false);
631 
632  $bot_tb = new ilToolbarGUI();
633  $bot_tb->setLeadingImage(ilUtil::getImagePath("arrow_downright.svg"), $lng->txt("actions"));
634  $bot_tb->addStickyItem($button);
635  $bot_tb->addStickyItem($button2);
636  $bot_tb->setOpenFormTag(false);
637  return $top_tb->getHTML() . $this->getHTML() . $bot_tb->getHTML();
638  }
639 
640  public function confirmRemoveObject()
641  {
643 
644  $ilCtrl->setParameter($this, 'view', $this->viewSettings->getCurrentView());
645  if (!sizeof($_POST["id"])) {
646  ilUtil::sendFailure($this->lng->txt("select_one"), true);
647  $ilCtrl->redirect($this, "manage");
648  }
649 
650  if ($this->viewSettings->isSelectedItemsViewActive()) {
651  $question = $this->lng->txt("pd_info_delete_sure_remove");
652  $cmd = "confirmedRemove";
653  } else {
654  $question = $this->lng->txt("pd_info_delete_sure_unsubscribe");
655  $cmd = "confirmedUnsubscribe";
656  }
657 
658  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
659  $cgui = new ilConfirmationGUI();
660  $cgui->setHeaderText($question);
661 
662  $cgui->setFormAction($ilCtrl->getFormAction($this));
663  $cgui->setCancel($this->lng->txt("cancel"), "manage");
664  $cgui->setConfirm($this->lng->txt("confirm"), $cmd);
665 
666  foreach ($_POST["id"] as $ref_id) {
667  $obj_id = ilObject::_lookupObjectId($ref_id);
668  $title = ilObject::_lookupTitle($obj_id);
669  $type = ilObject::_lookupType($obj_id);
670 
671  $cgui->addItem(
672  "ref_id[]",
673  $ref_id,
674  $title,
675  ilObject::_getIcon($obj_id, "small", $type),
676  $this->lng->txt("icon") . " " . $this->lng->txt("obj_" . $type)
677  );
678  }
679 
680  return $cgui->getHTML();
681  }
682 
683  public function confirmedRemove()
684  {
687 
688  if (!sizeof($_POST["ref_id"])) {
689  $ilCtrl->redirect($this, "manage");
690  }
691 
692  foreach ($_POST["ref_id"] as $ref_id) {
693  $type = ilObject::_lookupType($ref_id, true);
694  ilObjUser::_dropDesktopItem($ilUser->getId(), $ref_id, $type);
695  }
696 
697  // #12909
698  ilUtil::sendSuccess($this->lng->txt("pd_remove_multi_confirm"), true);
699  $ilCtrl->setParameterByClass('ilpersonaldesktopgui', 'view', $this->viewSettings->getCurrentView());
700  $ilCtrl->redirectByClass("ilpersonaldesktopgui", "show");
701  }
702 
703  public function confirmedUnsubscribe()
704  {
706  $ilAccess = $this->access;
708 
709  if (!sizeof($_POST["ref_id"])) {
710  $ilCtrl->redirect($this, "manage");
711  }
712 
713  foreach ($_POST["ref_id"] as $ref_id) {
714  if ($ilAccess->checkAccess("leave", "", $ref_id)) {
715  switch (ilObject::_lookupType($ref_id, true)) {
716  case "crs":
717  // see ilObjCourseGUI:performUnsubscribeObject()
718  include_once "Modules/Course/classes/class.ilCourseParticipants.php";
719  $members = new ilCourseParticipants(ilObject::_lookupObjId($ref_id));
720  $members->delete($ilUser->getId());
721 
722  $members->sendUnsubscribeNotificationToAdmins($ilUser->getId());
723  $members->sendNotification(
724  $members->NOTIFY_UNSUBSCRIBE,
725  $ilUser->getId()
726  );
727  break;
728 
729  case "grp":
730  // see ilObjGroupGUI:performUnsubscribeObject()
731  include_once "Modules/Group/classes/class.ilGroupParticipants.php";
732  $members = new ilGroupParticipants(ilObject::_lookupObjId($ref_id));
733  $members->delete($ilUser->getId());
734 
735  include_once './Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
736  $members->sendNotification(
738  $ilUser->getId()
739  );
740  $members->sendNotification(
742  $ilUser->getId()
743  );
744  break;
745 
746  default:
747  // do nothing
748  continue;
749  }
750 
751  include_once './Modules/Forum/classes/class.ilForumNotification.php';
753  }
754  }
755 
756 
757  ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
758  $ilCtrl->setParameterByClass('ilpersonaldesktopgui', 'view', $this->viewSettings->getCurrentView());
759  $ilCtrl->redirectByClass("ilpersonaldesktopgui", "show");
760  }
761 }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
removeFromDeskObject()
Remove from desktop public.
__construct()
ilPDSelectedItemsBlockGUI constructor.
newBlockTemplate()
returns a new list block template
$type
global $DIC
Definition: saml.php:7
setDataSection($a_content)
Call this from overwritten fillDataSection(), if standard row based data is not used.
$_GET["client_id"]
Class ilPDSelectedItemsBlockGroup.
fillFooterLinks($a_top=false, $a_numinfo="")
Fill footer links.
static _lookupTitle($a_id)
lookup object title
setEnableNumInfo($a_enablenuminfo)
Set Enable Item Number Info.
Class ilPDSelectedItemsBlockListGUIFactory.
static addToDesktop()
Add desktop item public.
addStandardRow(&$a_tpl, $a_html, $a_item_ref_id="", $a_item_obj_id="", $a_image_type="", $a_related_header="")
adds a standard row to a block template
user()
Definition: user.php:4
static _lookupObjectId($a_ref_id)
lookup object id
static _lookupIconPath($a_id, $a_size="big")
lookup icon path
orderPDItemsByLocation()
Sort desktop items by location.
global $ilCtrl
Definition: ilias.php:18
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\+" &#(? foreach( $entity_files as $file) $output
const IL_SCREEN_FULL
setVariable($variable, $value='')
Sets a variable value.
Definition: IT.php:613
addFooterLink( $a_text, $a_href="", $a_onclick="", $a_block_id="", $a_top=false, $a_omit_separator=false, $a_checked=false)
Add a footer text/link.
setTitle($a_title)
Set Title.
$a_content
Definition: workflow.php:93
static bySettings(ilPDSelectedItemsBlockViewSettings $viewSettings)
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
Class ilPDSelectedItemsBlockViewSettings.
touchBlock($block)
overwrites ITX::touchBlock.
setData($a_data)
Set Data.
static _lookupObjId($a_id)
addToDeskObject()
Add desktop item public.
special template class to simplify handling of ITX/PEAR
setAvailableDetailLevels($a_max, $a_min=0)
Set Available Detail Levels.
orderPDItemsByType()
Sort desktop items by Type.
static _dropDesktopItem($a_usr_id, $a_item_id, $a_type)
drop an item from user&#39;s personal desktop
$ilUser
Definition: imgupload.php:18
addSectionHeader(ilTemplate $a_tpl, ilPDSelectedItemsBlockGroup $group)
static addListGUIActivationProperty(ilObjectListGUI $a_list_gui, array &$a_item)
Get timing details for list gui.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static checkForumsExistsDelete($ref_id, $user_id=0)
setCurrentBlock($part="DEFAULT")
Überladene Funktion, die sich hier lokal noch den aktuellen Block merkt.
get( $part="DEFAULT", $add_error_mess=false, $handle_referer=false, $add_ilias_footer=false, $add_standard_elements=false, $a_main_menu=true, $a_tabs=true)
??? public
orderPDItemsByStartDate()
Sort desktop items by start date.
static removeFromDesktop()
Remove item from personal desktop public.
setLimit($a_limit)
Set Limit.
settings()
Definition: settings.php:2
Interface for gui classes (e.g ilLuceneSearchGUI) that offer add/remove to/from desktop.
global $ilSetting
Definition: privfeed.php:17
BlockGUI class for Selected Items on Personal Desktop.
getColSpan()
Get Columns Span.
This class represents a block method of a block.
const IL_SCREEN_SIDE
setEnableDetailRow($a_enabledetailrow)
Set EnableDetailRow.
const ID_PART_SCREEN
$_POST["username"]
$html
Definition: example_001.php:87
parseCurrentBlock($part="DEFAULT")
Überladene Funktion, die auf den aktuelle Block vorher noch ein replace ausführt public...
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
getViewBlockHtml()
get selected item block
getCurrentDetailLevel()
Get Current Detail Level.
Confirmation screen class.