You've already forked joomla_test
							
							
		
			
	
	
		
			138 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			138 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | /** | ||
|  |  * @package     Joomla.Platform | ||
|  |  * @subpackage  Controller | ||
|  |  * | ||
|  |  * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved. | ||
|  |  * @license     GNU General Public License version 2 or later; see LICENSE | ||
|  |  */ | ||
|  | 
 | ||
|  | defined('JPATH_PLATFORM') or die; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Joomla Platform Base Controller Class | ||
|  |  * | ||
|  |  * @package     Joomla.Platform | ||
|  |  * @subpackage  Controller | ||
|  |  * @since       12.1 | ||
|  |  */ | ||
|  | abstract class JControllerBase implements JController | ||
|  | { | ||
|  | 	/** | ||
|  | 	 * The application object. | ||
|  | 	 * | ||
|  | 	 * @var    JApplicationBase | ||
|  | 	 * @since  12.1 | ||
|  | 	 */ | ||
|  | 	protected $app; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * The input object. | ||
|  | 	 * | ||
|  | 	 * @var    JInput | ||
|  | 	 * @since  12.1 | ||
|  | 	 */ | ||
|  | 	protected $input; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Instantiate the controller. | ||
|  | 	 * | ||
|  | 	 * @param   JInput            $input  The input object. | ||
|  | 	 * @param   JApplicationBase  $app    The application object. | ||
|  | 	 * | ||
|  | 	 * @since  12.1 | ||
|  | 	 */ | ||
|  | 	public function __construct(JInput $input = null, JApplicationBase $app = null) | ||
|  | 	{ | ||
|  | 		// Setup dependencies.
 | ||
|  | 		$this->app = isset($app) ? $app : $this->loadApplication(); | ||
|  | 		$this->input = isset($input) ? $input : $this->loadInput(); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Get the application object. | ||
|  | 	 * | ||
|  | 	 * @return  JApplicationBase  The application object. | ||
|  | 	 * | ||
|  | 	 * @since   12.1 | ||
|  | 	 */ | ||
|  | 	public function getApplication() | ||
|  | 	{ | ||
|  | 		return $this->app; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Get the input object. | ||
|  | 	 * | ||
|  | 	 * @return  JInput  The input object. | ||
|  | 	 * | ||
|  | 	 * @since   12.1 | ||
|  | 	 */ | ||
|  | 	public function getInput() | ||
|  | 	{ | ||
|  | 		return $this->input; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Serialize the controller. | ||
|  | 	 * | ||
|  | 	 * @return  string  The serialized controller. | ||
|  | 	 * | ||
|  | 	 * @since   12.1 | ||
|  | 	 */ | ||
|  | 	public function serialize() | ||
|  | 	{ | ||
|  | 		return serialize($this->input); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Unserialize the controller. | ||
|  | 	 * | ||
|  | 	 * @param   string  $input  The serialized controller. | ||
|  | 	 * | ||
|  | 	 * @return  JController  Supports chaining. | ||
|  | 	 * | ||
|  | 	 * @since   12.1 | ||
|  | 	 * @throws  UnexpectedValueException if input is not the right class. | ||
|  | 	 */ | ||
|  | 	public function unserialize($input) | ||
|  | 	{ | ||
|  | 		// Setup dependencies.
 | ||
|  | 		$this->app = $this->loadApplication(); | ||
|  | 
 | ||
|  | 		// Unserialize the input.
 | ||
|  | 		$this->input = unserialize($input); | ||
|  | 
 | ||
|  | 		if (!($this->input instanceof JInput)) | ||
|  | 		{ | ||
|  | 			throw new UnexpectedValueException(sprintf('%s::unserialize would not accept a `%s`.', get_class($this), gettype($this->input))); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return $this; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Load the application object. | ||
|  | 	 * | ||
|  | 	 * @return  JApplicationBase  The application object. | ||
|  | 	 * | ||
|  | 	 * @since   12.1 | ||
|  | 	 */ | ||
|  | 	protected function loadApplication() | ||
|  | 	{ | ||
|  | 		return JFactory::getApplication(); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Load the input object. | ||
|  | 	 * | ||
|  | 	 * @return  JInput  The input object. | ||
|  | 	 * | ||
|  | 	 * @since   12.1 | ||
|  | 	 */ | ||
|  | 	protected function loadInput() | ||
|  | 	{ | ||
|  | 		return $this->app->input; | ||
|  | 	} | ||
|  | } |