54 parent::__construct( $page, $user, $comment, $row, $slots, $wikiID );
55 $this->mCallback = $callback;
64 if ( $this->mCallback ) {
65 $this->loadFreshRow();
67 return parent::getVisibility();
78 public function getUser( $audience = self::FOR_PUBLIC, ?
Authority $performer =
null ) {
79 if ( $this->mCallback ) {
80 $this->loadFreshRow();
82 return parent::getUser( $audience, $performer );
98 private function loadFreshRow() {
99 [ $freshRevDeleted, $freshUser ] = ( $this->mCallback )( $this->mId );
103 $this->mCallback =
null;
105 if ( $freshRevDeleted !==
null && $freshUser !==
null ) {
106 $this->mDeleted = intval( $freshRevDeleted );
107 $this->mUser = $freshUser;
109 throw new RevisionAccessException(
110 'Unable to load fresh row for rev_id: {rev_id}',
111 [
'rev_id' => $this->mId ]
Interface for objects (potentially) representing an editable wiki page.