/** * Create a token in the user's session * * @param int $timeout time in seconds the token should be valid * @param string $name name of session variable * * @return string token value */ public function createToken($timeout = 300, $name = 'XOOPS_TOKEN') { $this->garbageCollection($name); $timeout = $timeout <= 0 ? 300 : $timeout; $token_id = Random::generateOneTimeToken(); // save token data on the server if (!isset($_SESSION[$name . '_SESSION'])) { $_SESSION[$name . '_SESSION'] = array(); } $token_data = array('id' => $token_id, 'expire' => time() + (int) $timeout); array_push($_SESSION[$name . '_SESSION'], $token_data); return $token_id; }