public function id() { $search = $this->_getRequest()->request->get('search'); if (!$search) { return new UserNotFound($search); } // Steam ID if (preg_match('/^STEAM_/', $search)) { $parts = explode(':', $search); $id = bcadd(bcadd(bcmul($parts[2], '2'), '76561197960265728'), $parts[1]); } elseif (is_numeric($search) && strlen($search) == 8) { $id = bcadd($search, '76561197960265728'); } elseif (is_numeric($search) && strlen($search) == 17) { $id = $search; } else { $steam = new SteamUser($this->_getApi()); try { $id = $steam->resolveVanityUrl(basename($search))->steamId; } catch (SteamUserNotFoundException $e) { return new UserNotFound($search); } } return RedirectResponse::create('/users/' . $id); }