items = $this->get('Items'); $this->pagination = $this->get('Pagination'); $this->state = $this->get('State'); UsersHelper::addSubmenu('users'); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } // Include the component HTML helpers. JHtml::addIncludePath(JPATH_COMPONENT . '/helpers/html'); $this->addToolbar(); $this->sidebar = JHtmlSidebar::render(); parent::display($tpl); } /** * Add the page title and toolbar. * * @since 1.6 */ protected function addToolbar() { $canDo = UsersHelper::getActions(); $user = JFactory::getUser(); // Get the toolbar object instance $bar = JToolBar::getInstance('toolbar'); JToolbarHelper::title(JText::_('COM_USERS_VIEW_USERS_TITLE'), 'user'); if ($canDo->get('core.create')) { JToolbarHelper::addNew('user.add'); } if ($canDo->get('core.edit')) { JToolbarHelper::editList('user.edit'); } if ($canDo->get('core.edit.state')) { JToolbarHelper::divider(); JToolbarHelper::publish('users.activate', 'COM_USERS_TOOLBAR_ACTIVATE', true); JToolbarHelper::unpublish('users.block', 'COM_USERS_TOOLBAR_BLOCK', true); JToolbarHelper::custom('users.unblock', 'unblock.png', 'unblock_f2.png', 'COM_USERS_TOOLBAR_UNBLOCK', true); JToolbarHelper::divider(); } if ($canDo->get('core.delete')) { JToolbarHelper::deleteList('', 'users.delete'); JToolbarHelper::divider(); } // Add a batch button if ($user->authorise('core.create', 'com_users') && $user->authorise('core.edit', 'com_users') && $user->authorise('core.edit.state', 'com_users')) { JHtml::_('bootstrap.modal', 'collapseModal'); $title = JText::_('JTOOLBAR_BATCH'); // Instantiate a new JLayoutFile instance and render the batch button $layout = new JLayoutFile('joomla.toolbar.batch'); $dhtml = $layout->render(array('title' => $title)); $bar->appendButton('Custom', $dhtml, 'batch'); } if ($canDo->get('core.admin')) { JToolbarHelper::preferences('com_users'); JToolbarHelper::divider(); } JToolbarHelper::help('JHELP_USERS_USER_MANAGER'); JHtmlSidebar::setAction('index.php?option=com_users&view=users'); JHtmlSidebar::addFilter( JText::_('COM_USERS_FILTER_STATE'), 'filter_state', JHtml::_('select.options', UsersHelper::getStateOptions(), 'value', 'text', $this->state->get('filter.state')) ); JHtmlSidebar::addFilter( JText::_('COM_USERS_FILTER_ACTIVE'), 'filter_active', JHtml::_('select.options', UsersHelper::getActiveOptions(), 'value', 'text', $this->state->get('filter.active')) ); JHtmlSidebar::addFilter( JText::_('COM_USERS_FILTER_USERGROUP'), 'filter_group_id', JHtml::_('select.options', UsersHelper::getGroups(), 'value', 'text', $this->state->get('filter.group_id')) ); JHtmlSidebar::addFilter( JText::_('COM_USERS_OPTION_FILTER_DATE'), 'filter_range', JHtml::_('select.options', Usershelper::getRangeOptions(), 'value', 'text', $this->state->get('filter.range')) ); } /** * Returns an array of fields the table can be sorted by * * @return array Array containing the field name to sort by as the key and display text as value * * @since 3.0 */ protected function getSortFields() { return array( 'a.name' => JText::_('COM_USERS_HEADING_NAME'), 'a.username' => JText::_('JGLOBAL_USERNAME'), 'a.block' => JText::_('COM_USERS_HEADING_ENABLED'), 'a.activation' => JText::_('COM_USERS_HEADING_ACTIVATED'), 'a.email' => JText::_('JGLOBAL_EMAIL'), 'a.lastvisitDate' => JText::_('COM_USERS_HEADING_LAST_VISIT_DATE'), 'a.registerDate' => JText::_('COM_USERS_HEADING_REGISTRATION_DATE'), 'a.id' => JText::_('JGRID_HEADING_ID') ); } }