if ( !class_exists( 'SecurePoll_RemoteMWAuth' ) ) { header( 'HTTP/1.1 500 Internal Server Error' ); echo "SecurePoll is disabled.\n"; exit( 1 ); } header( 'Content-Type: application/vnd.php.serialized; charset=utf-8' ); $token = $wgRequest->getVal( 'token' ); $id = $wgRequest->getInt( 'id' ); if ( is_null( $token ) || !$id ) { echo serialize( Status::newFatal( 'securepoll-api-invalid-params' ) ); exit; } $user = User::newFromId( $id ); if ( !$user ) { echo serialize( Status::newFatal( 'securepoll-api-no-user' ) ); exit; } $token2 = SecurePoll_RemoteMWAuth::encodeToken( $user->getToken() ); if ( $token2 !== $token ) { echo serialize( Status::newFatal( 'securepoll-api-token-mismatch' ) ); exit; } $context = new SecurePoll_Context; $auth = $context->newAuth( 'local' ); $status = Status::newGood( $auth->getUserParams( $user ) ); echo serialize( $status );