ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
class.ilForumDraftsTableGUI.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
26 {
27  public function __construct(ilObjForumGUI $a_parent_obj, string $a_parent_cmd, protected bool $mayEdit)
28  {
29  $this->setId('frm_drafts_' . substr(md5($a_parent_cmd), 0, 3) . '_' . $a_parent_obj->getObject()->getId());
30 
31  parent::__construct($a_parent_obj, $a_parent_cmd);
32  $this->initTableColumns();
33  $this->setFormAction($this->ctrl->getFormAction($this->getParentObject(), 'showThreads'));
34  $this->setRowTemplate('tpl.forums_threads_drafts_table.html', 'Modules/Forum');
35  $this->setShowRowsSelector(false);
36  $this->setEnableNumInfo(false);
37  }
38 
39  public function initTableColumns(): void
40  {
41  $this->addColumn('', 'check', '1px', true);
42  $this->addColumn($this->lng->txt('drafts'), '');
43  $this->addColumn($this->lng->txt('edited_on'), '');
44 
45  $this->addMultiCommand('confirmDeleteThreadDrafts', $this->lng->txt('delete'));
46  $this->setSelectAllCheckbox('draft_ids');
47  }
48 
49  protected function fillRow(array $a_set): void
50  {
51  global $DIC;
52 
53  $selected_draft_ids = [];
54  if ($DIC->http()->wrapper()->post()->has('draft_ids')) {
55  $selected_draft_ids = $DIC->http()->wrapper()->post()->retrieve(
56  'draft_ids',
57  $DIC->refinery()->kindlyTo()->listOf($DIC->refinery()->kindlyTo()->int())
58  );
59  }
60 
61  $this->tpl->setVariable(
62  'VAL_CHECK',
64  in_array($a_set['draft_id'], $selected_draft_ids, true),
65  'draft_ids[]',
66  (string) $a_set['draft_id']
67  )
68  );
69 
70  if ($this->mayEdit) {
71  $this->ctrl->setParameter($this->getParentObject(), 'draft_id', $a_set['draft_id']);
72  $url = $this->ctrl->getLinkTarget($this->getParentObject(), 'editThreadDraft');
73  $this->ctrl->setParameter($this->getParentObject(), 'draft_id', null);
74  $this->tpl->setVariable('VAL_EDIT_URL', $url);
75  $this->tpl->setVariable('VAL_LINKED_SUBJECT', $a_set['subject']);
76  } else {
77  $this->tpl->setVariable('VAL_UNLINKED_SUBJECT', $a_set['subject']);
78  }
79 
80  $date = ilDatePresentation::formatDate(new ilDateTime($a_set['post_update'], IL_CAL_DATETIME));
81  $this->tpl->setVariable('VAL_DATE', $date);
82  }
83 }
const IL_CAL_DATETIME
setFormAction(string $a_form_action, bool $a_multipart=false)
setSelectAllCheckbox(string $a_select_all_checkbox, bool $a_select_all_on_top=false)
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
Class ilForumDraftsTableGUI.
setId(string $a_val)
global $DIC
Definition: feed.php:28
setShowRowsSelector(bool $a_value)
Toggle rows-per-page selector.
__construct(VocabulariesInterface $vocabularies)
ilObjForumGUI: ilPermissionGUI, ilForumExportGUI, ilInfoScreenGUI ilObjForumGUI: ilColumnGUI...
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
__construct(ilObjForumGUI $a_parent_obj, string $a_parent_cmd, protected bool $mayEdit)
$url
Definition: ltiregstart.php:35
static formCheckbox(bool $checked, string $varname, string $value, bool $disabled=false)
setEnableNumInfo(bool $a_val)
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
addMultiCommand(string $a_cmd, string $a_text)