*/ class Request extends SymfonyRequest { /** * @return Request */ public static function build() { $return = Request::createFromGlobals(); return $return; } public function getAll() { return [ 'attributes' => $this->attributes->all(), 'query' => $this->query->all(), 'request' => $this->request->all() ]; } public function getSession($key = null, $default = null) { if ($key === null) { return $_SESSION; } else { if (isset($_SESSION[$key]) === true) { return $_SESSION[$key]; } else { return $default; } } } public function getSessionId() { return session_id(); } public function closeSession() { session_write_close(); return $this; } public function addSession($key = null, $value = null) { if (is_array($key)) { $temp = &$_SESSION; foreach($key as $k) { if (is_null($k)) { $temp = &$temp[]; } else { $temp = &$temp[$k]; } } $temp = $value; unset($temp); } elseif ($key != null) { $_SESSION[$key] = $value; } else { $_SESSION[] = $value; } } public function removeSession($key = null) { if (is_array($key)) { $firstElement = $key[0]; $dot = dot(\WHMCS\Session::get($firstElement)); unset($key[0]); $dot->delete([implode('.', $key)]); \WHMCS\Session::set($firstElement, $dot->all()); } elseif ($key != null) { unset($_SESSION[$key]); } else { unset($_SESSION); } } }