| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 | <?php namespace System;class Input {	/**	 * The input data for the request.	 *	 * @var array	 */	public static $input;	/**	 * Determine if the input data contains an item.	 *	 * @param  string  $key	 * @return bool	 */	public static function has($key)	{		return ( ! is_null(static::get($key)) and trim((string) static::get($key)) !== '');	}	/**	 * Get an item from the input data.	 *	 * @param  string  $key	 * @param  mixed   $default	 * @return string	 */	public static function get($key = null, $default = null)	{		if (is_null(static::$input))		{			static::hydrate();		}		return Arr::get(static::$input, $key, $default);	}	/**	 * Determine if the old input data contains an item.	 *	 * @param  string  $key	 * @return bool	 */	public static function had($key)	{		return ( ! is_null(static::old($key)) and trim((string) static::old($key)) !== '');	}	/**	 * Get input data from the previous request.	 *	 * @param  string  $key	 * @param  mixed   $default	 * @return string	 */	public static function old($key = null, $default = null)	{		if (Config::get('session.driver') == '')		{			throw new \Exception("Sessions must be enabled to retrieve old input data.");		}		return Arr::get(Session::get('laravel_old_input', array()), $key, $default);	}	/**	 * Get an item from the uploaded file data.	 *	 * @param  string  $key	 * @param  mixed   $default	 * @return array	 */	public static function file($key = null, $default = null)	{		if (strpos($key, '.') !== false)		{			list($file, $key) = explode('.', $key);			return (isset($_FILES[$file][$key])) ? $_FILES[$file][$key] : $default;		}		return Arr::get($_FILES, $key, $default);	}	/**	 * Hydrate the input data for the request.	 *	 * @return void	 */	public static function hydrate()	{		switch (Request::method())		{			case 'GET':				static::$input =& $_GET;				break;			case 'POST':				static::$input =& $_POST;				break;			case 'PUT':			case 'DELETE':				// The request method can be spoofed by specifying a "REQUEST_METHOD" in the $_POST array.				// If the method is being spoofed, the $_POST array will be considered the input.				if (isset($_POST['REQUEST_METHOD']) and in_array($_POST['REQUEST_METHOD'], array('PUT', 'DELETE')))				{					static::$input =& $_POST;				}				else				{					parse_str(file_get_contents('php://input'), static::$input);				}		}	}}
 |