public static function getAccessTokenFromCode($code, $redirectUri = false) { if (!$redirectUri) { $requestPaths = XenForo_Application::get('requestPaths'); $redirectUri = preg_replace('#(&|\\?)code=[^&]*#', '', $requestPaths['fullUri']); } else { // FB does this strange thing with slashes after a ? for some reason $parts = explode('?', $redirectUri, 2); if (isset($parts[1])) { $redirectUri = $parts[0] . '?' . str_replace('/', '%2F', $parts[1]); } } return XenForo_Helper_Facebook::getAccessToken($redirectUri, $code); }