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;
 | |
| 	}
 | |
| }
 | 
