/** * Retrieve a list of html buttons to use in the bottom panel (submit area) when in select mode. * * @return string[] */ protected function getSelectButtons() { $definition = $this->getDataDefinition(); $basicDefinition = $definition->getBasicDefinition(); $buttons = array(); if ($basicDefinition->isDeletable()) { $buttons['delete'] = sprintf('<input ' . 'type="submit"' . 'name="delete"' . 'id="delete"' . 'class="tl_submit"' . 'accesskey="d"' . 'onclick="return confirm(\'%s\')"' . 'value="%s" />', specialchars($this->translate('MSC.delAllConfirm')), specialchars($this->translate('MSC.deleteSelected'))); } if ($basicDefinition->isEditable()) { $buttons['cut'] = sprintf('<input type="submit" name="cut" id="cut" class="tl_submit" accesskey="x" value="%s">', specialchars($this->translate('MSC.moveSelected'))); } if ($basicDefinition->isCreatable()) { $buttons['copy'] = sprintf('<input type="submit" name="copy" id="copy" class="tl_submit" accesskey="c" value="%s">', specialchars($this->translate('MSC.copySelected'))); } if ($basicDefinition->isEditable()) { $buttons['override'] = sprintf('<input type="submit" name="override" id="override" class="tl_submit" accesskey="v" value="%s">', specialchars($this->translate('MSC.overrideSelected'))); $buttons['edit'] = sprintf('<input type="submit" name="edit" id="edit" class="tl_submit" accesskey="s" value="%s">', specialchars($this->translate('MSC.editSelected'))); } $event = new GetSelectModeButtonsEvent($this->getEnvironment()); $event->setButtons($buttons); $this->getEnvironment()->getEventDispatcher()->dispatch(GetSelectModeButtonsEvent::NAME, $event); return $event->getButtons(); }
/** * Deactivate some buttons for edit all mode. * * @param GetSelectModeButtonsEvent $event The event. * * @return void * * Todo remove this if the deactivated buttons correct worked */ public function deactivateButtonsForEditAll(GetSelectModeButtonsEvent $event) { if ($event->getEnvironment()->getInputProvider()->getParameter('act') !== 'select') { return; } $buttons = $event->getButtons(); foreach (array('override', 'edit') as $button) { unset($buttons[$button]); } if (in_array($event->getEnvironment()->getDataDefinition()->getName(), array('orm_avisota_mailing_list', 'orm_avisota_transport', 'orm_avisota_queue', 'orm_avisota_recipient_source'))) { foreach (array('cut') as $button) { unset($buttons[$button]); } } $event->setButtons($buttons); }
/** * @param GetSelectModeButtonsEvent $event */ public function deactivateButtonsForEditAll(GetSelectModeButtonsEvent $event) { $environment = $event->getEnvironment(); $dataDefinition = $environment->getDataDefinition(); if ($environment->getInputProvider()->getParameter('act') !== 'select' || !in_array($dataDefinition->getName(), array('orm_avisota_layout', 'orm_avisota_message_category', 'orm_avisota_theme'))) { return; } $buttons = $event->getButtons(); foreach (array('cut') as $button) { if (!array_key_exists($button, $buttons)) { continue; } unset($buttons[$button]); } if (in_array($dataDefinition->getName(), array('orm_avisota_layout', 'orm_avisota_theme'))) { foreach (array('delete', 'copy') as $button) { if (!array_key_exists($button, $buttons)) { continue; } unset($buttons[$button]); } } $event->setButtons($buttons); }
/** * @param GetSelectModeButtonsEvent $event */ public function deactivateSelectButtons(GetSelectModeButtonsEvent $event) { if ($event->getEnvironment()->getInputProvider()->getParameter('act') !== 'select' || !in_array($event->getEnvironment()->getDataDefinition()->getName(), array('orm_avisota_salutation_group', 'orm_avisota_salutation'))) { return; } $buttons = $event->getButtons(); foreach (array('cut') as $button) { unset($buttons[$button]); } $event->setButtons($buttons); }