public static function &getInstance($args = array()) { if (is_null(self::$instance)) { self::$instance = new Request(); self::$instance->args = $args; if (!isset($_SESSION[Config::Core_get('session_flash_varname')])) { $_SESSION[Config::Core_get('session_flash_varname')] = array('new' => array(), 'old' => array()); } $_SESSION[Config::Core_get('session_flash_varname')]['old'] = $_SESSION[Config::Core_get('session_flash_varname')]['new']; $_SESSION[Config::Core_get('session_flash_varname')]['new'] = array(); self::$instance->protocol = strtolower(explode('/', $_SERVER['SERVER_PROTOCOL'])[0]); self::$instance->host = $_SERVER['HTTP_HOST']; self::$instance->urn = $_SERVER['REQUEST_URI']; self::$instance->uri = self::$instance->protocol . '://' . self::$instance->host . self::$instance->urn; self::$instance->url = self::$instance->protocol . '://' . self::$instance->host; self::$instance->method = strtolower($_SERVER['REQUEST_METHOD']); if (!isset($_SESSION[Config::Core_get('session_history_varname')])) { $_SESSION[Config::Core_get('session_history_varname')] = array_fill(0, 10, self::$instance->url); } if (self::$instance->method = 'post') { foreach ($_FILES as $key => &$value) { if (is_array($_FILES[$key]['name'])) { $value = Tools::diverse_array($value); } $value = (object) $value; } } self::$instance->addReferer(self::$instance->uri); } return self::$instance; }