getRequest(); $rcId = $request->getInt( 'rcid' ); $rc = RecentChange::newFromId( $rcId ); if ( is_null( $rc ) ) { throw new ErrorPageError( 'markedaspatrollederror', 'markedaspatrollederrortext' ); } $user = $this->getUser(); if ( !$user->matchEditToken( $request->getVal( 'token' ), $rcId ) ) { throw new ErrorPageError( 'sessionfailure-title', 'sessionfailure' ); } $errors = $rc->doMarkPatrolled( $user ); if ( in_array( array( 'rcpatroldisabled' ), $errors ) ) { throw new ErrorPageError( 'rcpatroldisabled', 'rcpatroldisabledtext' ); } if ( in_array( array( 'hookaborted' ), $errors ) ) { // The hook itself has handled any output return; } # It would be nice to see where the user had actually come from, but for now just guess $returnto = $rc->getAttribute( 'rc_type' ) == RC_NEW ? 'Newpages' : 'Recentchanges'; $return = SpecialPage::getTitleFor( $returnto ); if ( in_array( array( 'markedaspatrollederror-noautopatrol' ), $errors ) ) { $this->getOutput()->setPageTitle( $this->msg( 'markedaspatrollederror' ) ); $this->getOutput()->addWikiMsg( 'markedaspatrollederror-noautopatrol' ); $this->getOutput()->returnToMain( null, $return ); return; } if ( count( $errors ) ) { throw new PermissionsError( 'patrol', $errors ); } # Inform the user $this->getOutput()->setPageTitle( $this->msg( 'markedaspatrolled' ) ); $this->getOutput()->addWikiMsg( 'markedaspatrolledtext', $rc->getTitle()->getPrefixedText() ); $this->getOutput()->returnToMain( null, $return ); } }