+ return array( $this->getRbTitle()->getPrefixedText(), $this->getRbUser() );
+ }
+
+ private function getRbUser() {
+ if ( $this->mUser !== null ) {
+ return $this->mUser;
+ }
+
+ $params = $this->extractRequestParams();
+
+ // We need to be able to revert IPs, but getCanonicalName rejects them
+ $this->mUser = User::isIP( $params['user'] )
+ ? $params['user']
+ : User::getCanonicalName( $params['user'] );
+ if ( !$this->mUser ) {
+ $this->dieUsageMsg( array( 'invaliduser', $params['user'] ) );
+ }
+
+ return $this->mUser;
+ }
+
+ /**
+ * @return Title
+ */
+ private function getRbTitle() {
+ if ( $this->mTitleObj !== null ) {
+ return $this->mTitleObj;
+ }
+
+ $params = $this->extractRequestParams();
+
+ $this->mTitleObj = Title::newFromText( $params['title'] );
+
+ if ( !$this->mTitleObj ) {
+ $this->dieUsageMsg( array( 'invalidtitle', $params['title'] ) );
+ }
+ if ( !$this->mTitleObj->exists() ) {
+ $this->dieUsageMsg( 'notanarticle' );
+ }
+
+ return $this->mTitleObj;