Created
September 4, 2012 09:18
-
-
Save digitaldisseny/3619015 to your computer and use it in GitHub Desktop.
Hide admin user from user list with a template override
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* @package Joomla.Administrator | |
* @subpackage com_users | |
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved. | |
* @license GNU General Public License version 2 or later; see LICENSE.txt | |
*/ | |
// No direct access. | |
defined('_JEXEC') or die; | |
// Load the tooltip behavior. | |
JHtml::_('behavior.tooltip'); | |
JHtml::_('behavior.multiselect'); | |
JHtml::_('behavior.modal'); | |
$canDo = UsersHelper::getActions(); | |
$listOrder = $this->escape($this->state->get('list.ordering')); | |
$listDirn = $this->escape($this->state->get('list.direction')); | |
$loggeduser = JFactory::getUser(); | |
?> | |
<form action="<?php echo JRoute::_('index.php?option=com_users&view=users');?>" method="post" name="adminForm" id="adminForm"> | |
<fieldset id="filter-bar"> | |
<div class="filter-search fltlft"> | |
<label class="filter-search-lbl" for="filter_search"><?php echo JText::_('COM_USERS_SEARCH_USERS'); ?></label> | |
<input type="text" name="filter_search" id="filter_search" value="<?php echo $this->escape($this->state->get('filter.search')); ?>" title="<?php echo JText::_('COM_USERS_SEARCH_USERS'); ?>" /> | |
<button type="submit"><?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?></button> | |
<button type="button" onclick="document.id('filter_search').value='';this.form.submit();"><?php echo JText::_('JSEARCH_RESET'); ?></button> | |
</div> | |
<div class="filter-select fltrt"> | |
<label for="filter_state"> | |
<?php echo JText::_('COM_USERS_FILTER_LABEL'); ?> | |
</label> | |
<select name="filter_state" class="inputbox" onchange="this.form.submit()"> | |
<option value="*"><?php echo JText::_('COM_USERS_FILTER_STATE');?></option> | |
<?php echo JHtml::_('select.options', UsersHelper::getStateOptions(), 'value', 'text', $this->state->get('filter.state'));?> | |
</select> | |
<select name="filter_active" class="inputbox" onchange="this.form.submit()"> | |
<option value="*"><?php echo JText::_('COM_USERS_FILTER_ACTIVE');?></option> | |
<?php echo JHtml::_('select.options', UsersHelper::getActiveOptions(), 'value', 'text', $this->state->get('filter.active'));?> | |
</select> | |
<select name="filter_group_id" class="inputbox" onchange="this.form.submit()"> | |
<option value=""><?php echo JText::_('COM_USERS_FILTER_USERGROUP');?></option> | |
<?php echo JHtml::_('select.options', UsersHelper::getGroups(), 'value', 'text', $this->state->get('filter.group_id'));?> | |
</select> | |
<select name="filter_range" id="filter_range" class="inputbox" onchange="this.form.submit()"> | |
<option value=""><?php echo JText::_('COM_USERS_OPTION_FILTER_DATE');?></option> | |
<?php echo JHtml::_('select.options', Usershelper::getRangeOptions(), 'value', 'text', $this->state->get('filter.range'));?> | |
</select> | |
</div> | |
</fieldset> | |
<div class="clr"> </div> | |
<table class="adminlist"> | |
<thead> | |
<tr> | |
<th width="1%"> | |
<input type="checkbox" name="checkall-toggle" value="" title="<?php echo JText::_('JGLOBAL_CHECK_ALL'); ?>" onclick="Joomla.checkAll(this)" /> | |
</th> | |
<th class="left"> | |
<?php echo JHtml::_('grid.sort', 'COM_USERS_HEADING_NAME', 'a.name', $listDirn, $listOrder); ?> | |
</th> | |
<th class="nowrap" width="10%"> | |
<?php echo JHtml::_('grid.sort', 'JGLOBAL_USERNAME', 'a.username', $listDirn, $listOrder); ?> | |
</th> | |
<th class="nowrap" width="5%"> | |
<?php echo JHtml::_('grid.sort', 'COM_USERS_HEADING_ENABLED', 'a.block', $listDirn, $listOrder); ?> | |
</th> | |
<th class="nowrap" width="5%"> | |
<?php echo JHtml::_('grid.sort', 'COM_USERS_HEADING_ACTIVATED', 'a.activation', $listDirn, $listOrder); ?> | |
</th> | |
<th class="nowrap" width="10%"> | |
<?php echo JText::_('COM_USERS_HEADING_GROUPS'); ?> | |
</th> | |
<th class="nowrap" width="15%"> | |
<?php echo JHtml::_('grid.sort', 'JGLOBAL_EMAIL', 'a.email', $listDirn, $listOrder); ?> | |
</th> | |
<th class="nowrap" width="10%"> | |
<?php echo JHtml::_('grid.sort', 'COM_USERS_HEADING_LAST_VISIT_DATE', 'a.lastvisitDate', $listDirn, $listOrder); ?> | |
</th> | |
<th class="nowrap" width="10%"> | |
<?php echo JHtml::_('grid.sort', 'COM_USERS_HEADING_REGISTRATION_DATE', 'a.registerDate', $listDirn, $listOrder); ?> | |
</th> | |
<th class="nowrap" width="3%"> | |
<?php echo JHtml::_('grid.sort', 'JGRID_HEADING_ID', 'a.id', $listDirn, $listOrder); ?> | |
</th> | |
</tr> | |
</thead> | |
<tfoot> | |
<tr> | |
<td colspan="15"> | |
<?php echo $this->pagination->getListFooter(); ?> | |
</td> | |
</tr> | |
</tfoot> | |
<tbody> | |
<?php foreach ($this->items as $i => $item) : | |
$canEdit = $canDo->get('core.edit'); | |
$canChange = $loggeduser->authorise('core.edit.state', 'com_users'); | |
// If this group is super admin and this user is not super admin, $canEdit is false | |
if ((!$loggeduser->authorise('core.admin')) && JAccess::check($item->id, 'core.admin')) { | |
$canEdit = false; | |
$canChange = false; | |
} | |
?> | |
<?php | |
// Only show admin user to admin | |
if ($item->username != 'admin' || $loggeduser->username == 'admin'): ?> | |
<tr class="row<?php echo $i % 2; ?>"> | |
<td class="center"> | |
<?php if ($canEdit) : ?> | |
<?php echo JHtml::_('grid.id', $i, $item->id); ?> | |
<?php endif; ?> | |
</td> | |
<td> | |
<div class="fltrt"> | |
<?php echo JHtml::_('users.filterNotes', $item->note_count, $item->id); ?> | |
<?php echo JHtml::_('users.notes', $item->note_count, $item->id); ?> | |
<?php echo JHtml::_('users.addNote', $item->id); ?> | |
</div> | |
<?php if ($canEdit) : ?> | |
<a href="<?php echo JRoute::_('index.php?option=com_users&task=user.edit&id='.(int) $item->id); ?>" title="<?php echo JText::sprintf('COM_USERS_EDIT_USER', $this->escape($item->name)); ?>"> | |
<?php echo $this->escape($item->name); ?></a> | |
<?php else : ?> | |
<?php echo $this->escape($item->name); ?> | |
<?php endif; ?> | |
<?php if (JDEBUG) : ?> | |
<div class="fltrt"><div class="button2-left smallsub"><div class="blank"><a href="<?php echo JRoute::_('index.php?option=com_users&view=debuguser&user_id='.(int) $item->id);?>"> | |
<?php echo JText::_('COM_USERS_DEBUG_USER');?></a></div></div></div> | |
<?php endif; ?> | |
</td> | |
<td class="center"> | |
<?php echo $this->escape($item->username); ?> | |
</td> | |
<td class="center"> | |
<?php if ($canChange) : ?> | |
<?php if ($loggeduser->id != $item->id) : ?> | |
<?php echo JHtml::_('grid.boolean', $i, !$item->block, 'users.unblock', 'users.block'); ?> | |
<?php else : ?> | |
<?php echo JHtml::_('grid.boolean', $i, !$item->block, 'users.block', null); ?> | |
<?php endif; ?> | |
<?php else : ?> | |
<?php echo JText::_($item->block ? 'JNO' : 'JYES'); ?> | |
<?php endif; ?> | |
</td> | |
<td class="center"> | |
<?php echo JHtml::_('grid.boolean', $i, !$item->activation, 'users.activate', null); ?> | |
</td> | |
<td class="center"> | |
<?php if (substr_count($item->group_names, "\n") > 1) : ?> | |
<span class="hasTip" title="<?php echo JText::_('COM_USERS_HEADING_GROUPS').'::'.nl2br($item->group_names); ?>"><?php echo JText::_('COM_USERS_USERS_MULTIPLE_GROUPS'); ?></span> | |
<?php else : ?> | |
<?php echo nl2br($item->group_names); ?> | |
<?php endif; ?> | |
</td> | |
<td class="center"> | |
<?php echo $this->escape($item->email); ?> | |
</td> | |
<td class="center"> | |
<?php if ($item->lastvisitDate!='0000-00-00 00:00:00'):?> | |
<?php echo JHtml::_('date', $item->lastvisitDate, 'Y-m-d H:i:s'); ?> | |
<?php else:?> | |
<?php echo JText::_('JNEVER'); ?> | |
<?php endif;?> | |
</td> | |
<td class="center"> | |
<?php echo JHtml::_('date', $item->registerDate, 'Y-m-d H:i:s'); ?> | |
</td> | |
<td class="center"> | |
<?php echo (int) $item->id; ?> | |
</td> | |
</tr> | |
<?php endif; ?> | |
<?php endforeach; ?> | |
</tbody> | |
</table> | |
<?php //Load the batch processing form. ?> | |
<?php echo $this->loadTemplate('batch'); ?> | |
<div> | |
<input type="hidden" name="task" value="" /> | |
<input type="hidden" name="boxchecked" value="0" /> | |
<input type="hidden" name="filter_order" value="<?php echo $listOrder; ?>" /> | |
<input type="hidden" name="filter_order_Dir" value="<?php echo $listDirn; ?>" /> | |
<?php echo JHtml::_('form.token'); ?> | |
</div> | |
</form> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment