You've already forked joomla_test
							
							
		
			
	
	
		
			206 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			206 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | /** | ||
|  |  * @package     Joomla.Administrator | ||
|  |  * @subpackage  com_users | ||
|  |  * | ||
|  |  * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved. | ||
|  |  * @license     GNU General Public License version 2 or later; see LICENSE.txt | ||
|  |  */ | ||
|  | 
 | ||
|  | defined('_JEXEC') or die; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Extended Utility class for the Users component. | ||
|  |  * | ||
|  |  * @package     Joomla.Administrator | ||
|  |  * @subpackage  com_users | ||
|  |  * @since       2.5 | ||
|  |  */ | ||
|  | class JHtmlUsers | ||
|  | { | ||
|  | 	/** | ||
|  | 	 * Display an image. | ||
|  | 	 * | ||
|  | 	 * @param   string  $src  The source of the image | ||
|  | 	 * | ||
|  | 	 * @return  string  A <img> element if the specified file exists, otherwise, a null string | ||
|  | 	 * | ||
|  | 	 * @since   2.5 | ||
|  | 	 */ | ||
|  | 	public static function image($src) | ||
|  | 	{ | ||
|  | 		$src = preg_replace('#[^A-Z0-9\-_\./]#i', '', $src); | ||
|  | 		$file = JPATH_SITE . '/' . $src; | ||
|  | 
 | ||
|  | 		jimport('joomla.filesystem.path'); | ||
|  | 		JPath::check($file); | ||
|  | 
 | ||
|  | 		if (!file_exists($file)) | ||
|  | 		{ | ||
|  | 			return ''; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return '<img src="' . JUri::root() . $src . '" alt="" />'; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Displays an icon to add a note for this user. | ||
|  | 	 * | ||
|  | 	 * @param   integer  $userId  The user ID | ||
|  | 	 * | ||
|  | 	 * @return  string  A link to add a note | ||
|  | 	 * | ||
|  | 	 * @since   2.5 | ||
|  | 	 */ | ||
|  | 	public static function addNote($userId) | ||
|  | 	{ | ||
|  | 		$title = JText::_('COM_USERS_ADD_NOTE'); | ||
|  | 
 | ||
|  | 		return '<a href="' . JRoute::_('index.php?option=com_users&task=note.add&u_id=' . (int) $userId) . '">' | ||
|  | 			. '<span class="label label-info"><i class="icon-vcard"></i>' . $title . '</span></a>'; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Displays an icon to filter the notes list on this user. | ||
|  | 	 * | ||
|  | 	 * @param   integer  $count   The number of notes for the user | ||
|  | 	 * @param   integer  $userId  The user ID | ||
|  | 	 * | ||
|  | 	 * @return  string  A link to apply a filter | ||
|  | 	 * | ||
|  | 	 * @since   2.5 | ||
|  | 	 */ | ||
|  | 	public static function filterNotes($count, $userId) | ||
|  | 	{ | ||
|  | 		if (empty($count)) | ||
|  | 		{ | ||
|  | 			return ''; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		$title = JText::_('COM_USERS_FILTER_NOTES'); | ||
|  | 
 | ||
|  | 		return '<a href="' . JRoute::_('index.php?option=com_users&view=notes&filter_search=uid:' . (int) $userId) . '">' | ||
|  | 			. JHtml::_('image', 'admin/filter_16.png', 'COM_USERS_NOTES', array('title' => $title), true) . '</a>'; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Displays a note icon. | ||
|  | 	 * | ||
|  | 	 * @param   integer  $count   The number of notes for the user | ||
|  | 	 * @param   integer  $userId  The user ID | ||
|  | 	 * | ||
|  | 	 * @return  string  A link to a modal window with the user notes | ||
|  | 	 * | ||
|  | 	 * @since   2.5 | ||
|  | 	 */ | ||
|  | 	public static function notes($count, $userId) | ||
|  | 	{ | ||
|  | 		if (empty($count)) | ||
|  | 		{ | ||
|  | 			return ''; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		$title = JText::plural('COM_USERS_N_USER_NOTES', $count); | ||
|  | 
 | ||
|  | 		return '<a class="modal"' | ||
|  | 			. ' href="' . JRoute::_('index.php?option=com_users&view=notes&tmpl=component&layout=modal&u_id=' . (int) $userId) . '"' | ||
|  | 			. ' rel="{handler: \'iframe\', size: {x: 800, y: 450}}">' | ||
|  | 			. '<span class="label label-info"><i class="icon-drawer-2"></i>' . $title . '</span></a>'; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Build an array of block/unblock user states to be used by jgrid.state, | ||
|  | 	 * State options will be different for any user | ||
|  | 	 * and for currently logged in user | ||
|  | 	 * | ||
|  | 	 * @param   boolean  $self  True if state array is for currently logged in user | ||
|  | 	 * | ||
|  | 	 * @return  array  a list of possible states to display | ||
|  | 	 * | ||
|  | 	 * @since  3.0 | ||
|  | 	 */ | ||
|  | 	public static function blockStates( $self = false) | ||
|  | 	{ | ||
|  | 		if ($self) | ||
|  | 		{ | ||
|  | 			$states = array( | ||
|  | 				1 => array( | ||
|  | 					'task'				=> 'unblock', | ||
|  | 					'text'				=> '', | ||
|  | 					'active_title'		=> 'COM_USERS_USER_FIELD_BLOCK_DESC', | ||
|  | 					'inactive_title'	=> '', | ||
|  | 					'tip'				=> true, | ||
|  | 					'active_class'		=> 'unpublish', | ||
|  | 					'inactive_class'	=> 'unpublish' | ||
|  | 				), | ||
|  | 				0 => array( | ||
|  | 					'task'				=> 'block', | ||
|  | 					'text'				=> '', | ||
|  | 					'active_title'		=> '', | ||
|  | 					'inactive_title'	=> 'COM_USERS_USERS_ERROR_CANNOT_BLOCK_SELF', | ||
|  | 					'tip'				=> true, | ||
|  | 					'active_class'		=> 'publish', | ||
|  | 					'inactive_class'	=> 'publish' | ||
|  | 				) | ||
|  | 			); | ||
|  | 		} | ||
|  | 		else | ||
|  | 		{ | ||
|  | 			$states = array( | ||
|  | 				1 => array( | ||
|  | 					'task'				=> 'unblock', | ||
|  | 					'text'				=> '', | ||
|  | 					'active_title'		=> 'COM_USERS_TOOLBAR_UNBLOCK', | ||
|  | 					'inactive_title'	=> '', | ||
|  | 					'tip'				=> true, | ||
|  | 					'active_class'		=> 'unpublish', | ||
|  | 					'inactive_class'	=> 'unpublish' | ||
|  | 				), | ||
|  | 				0 => array( | ||
|  | 					'task'				=> 'block', | ||
|  | 					'text'				=> '', | ||
|  | 					'active_title'		=> 'COM_USERS_USER_FIELD_BLOCK_DESC', | ||
|  | 					'inactive_title'	=> '', | ||
|  | 					'tip'				=> true, | ||
|  | 					'active_class'		=> 'publish', | ||
|  | 					'inactive_class'	=> 'publish' | ||
|  | 				) | ||
|  | 			); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return $states; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Build an array of activate states to be used by jgrid.state, | ||
|  | 	 * | ||
|  | 	 * @return  array  a list of possible states to display | ||
|  | 	 * | ||
|  | 	 * @since  3.0 | ||
|  | 	 */ | ||
|  | 	public static function activateStates() | ||
|  | 	{ | ||
|  | 		$states = array( | ||
|  | 			1	=> array( | ||
|  | 				'task'				=> 'activate', | ||
|  | 				'text'				=> '', | ||
|  | 				'active_title'		=> 'COM_USERS_TOOLBAR_ACTIVATE', | ||
|  | 				'inactive_title'	=> '', | ||
|  | 				'tip'				=> true, | ||
|  | 				'active_class'		=> 'unpublish', | ||
|  | 				'inactive_class'	=> 'unpublish' | ||
|  | 			), | ||
|  | 			0	=> array( | ||
|  | 				'task'				=> '', | ||
|  | 				'text'				=> '', | ||
|  | 				'active_title'		=> '', | ||
|  | 				'inactive_title'	=> 'COM_USERS_ACTIVATED', | ||
|  | 				'tip'				=> true, | ||
|  | 				'active_class'		=> 'publish', | ||
|  | 				'inactive_class'	=> 'publish' | ||
|  | 			) | ||
|  | 		); | ||
|  | 		return $states; | ||
|  | 	} | ||
|  | } |