/** * Get the toolbar to render. * * @return RToolbar */ public function getToolbar() { $canDo = JabHelper::getActions($this->state->get('filter.category_id')); $user = JFactory::getUser(); $firstGroup = new RToolbarButtonGroup(); $secondGroup = new RToolbarButtonGroup(); $thirdGroup = new RToolbarButtonGroup(); if ($user->authorise('core.admin', 'com_jab.panel')) { $panel = RToolbarBuilder::createStandardButton('states.topanel', 'COM_JAB_CONTROL_PANEL_TITLE', '', 'icon-home', false); $firstGroup->addButton($panel); // Add / edit if ($canDo->get('core.create') || count($user->getAuthorisedCategories('com_jab', 'core.create')) > 0) { $new = RToolbarBuilder::createNewButton('state.add'); $secondGroup->addButton($new); } if ($canDo->get('core.edit')) { $edit = RToolbarBuilder::createEditButton('state.edit'); $secondGroup->addButton($edit); } // Publish / Unpublish if ($canDo->get('core.edit.state')) { $publish = RToolbarBuilder::createPublishButton('states.publish'); $unpublish = RToolbarBuilder::createUnpublishButton('states.unpublish'); $secondGroup->addButton($publish)->addButton($unpublish); } // Delete / Trash if ($canDo->get('core.delete')) { $delete = RToolbarBuilder::createDeleteButton('states.delete'); $thirdGroup->addButton($delete); } // Preferences if ($canDo->get('core.admin')) { $options = RToolbarBuilder::createOptionsButton('com_jab'); $thirdGroup->addButton($options); } } $toolbar = new RToolbar(); $toolbar->addGroup($firstGroup)->addGroup($secondGroup)->addGroup($thirdGroup); return $toolbar; }