53 parent::__construct( $page, $user, $comment, $row, $slots, $wikiID );
54 $this->mCallback = $callback;
63 if ( $this->mCallback ) {
64 $this->loadFreshRow();
66 return parent::getVisibility();
77 public function getUser( $audience = self::FOR_PUBLIC, ?
Authority $performer =
null ) {
78 if ( $this->mCallback ) {
79 $this->loadFreshRow();
81 return parent::getUser( $audience, $performer );
89 private function loadFreshRow() {
90 [ $freshRevDeleted, $freshUser ] = ( $this->mCallback )( $this->mId );
94 $this->mCallback =
null;
96 if ( $freshRevDeleted !==
null && $freshUser !==
null ) {
97 $this->mDeleted = intval( $freshRevDeleted );
98 $this->mUser = $freshUser;
100 throw new RevisionAccessException(
101 'Unable to load fresh row for rev_id: {rev_id}',
102 [
'rev_id' => $this->mId ]
Interface for objects (potentially) representing an editable wiki page.