| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 
 | <?php
class Mock_Core_Input extends CI_Input {
	/**
	 * Since we use GLOBAL to fetch Security and Utf8 classes,
	 * we need to use inversion of control to mock up
	 * the same process within CI_Input class constructor.
	 *
	 * @covers CI_Input::__construct()
	 */
	public function __construct($security, $utf8)
	{
		$this->_allow_get_array	= (config_item('allow_get_array') === TRUE);
		$this->_enable_xss	= (config_item('global_xss_filtering') === TRUE);
		$this->_enable_csrf	= (config_item('csrf_protection') === TRUE);
		// Assign Security and Utf8 classes
		$this->security = $security;
		$this->uni = $utf8;
		// Sanitize global arrays
		$this->_sanitize_globals();
	}
	public function fetch_from_array($array, $index = '', $xss_clean = FALSE)
	{
		return parent::_fetch_from_array($array, $index, $xss_clean);
	}
	/**
	 * Lie about being a CLI request
	 *
	 * We take advantage of this in libraries/Session_test
	 */
	public function is_cli_request()
	{
		return FALSE;
	}
	public function __set($name, $value)
	{
		if ($name === 'ip_address')
		{
			$this->ip_address = $value;
		}
	}
}
 |