Extension:Approved Revs/MediaWiki search patch

If you have Approved Revs 0.6.2 or later, MediaWiki search will correctly find pages based on the text in their approved revision. However, if you're using MediaWiki 1.19 or earlier (or a pre-release version of MediaWiki 1.20), the results will not be fully displayed correctly for pages whose approved revision is not their latest. To get the results displayed correctly, you will probably need to apply a small patch onto the MediaWiki code. This patch depends on your version of MediaWiki; below are the two options.

MediaWiki 1.16 - 1.19

edit

In the file includes/search/SearchEngine.php, in the function initFromTitle(), change the line:

                        $this->mRevision = Revision::newFromTitle( $this->mTitle );

to:

                        $id = false;
                        wfRunHooks( 'SearchResultInitFromTitle', array( $title, &$id ) );
                        $this->mRevision = Revision::newFromTitle( $this->mTitle, $id );

MediaWiki 1.20 (pre-release versions)

edit

In the file includes/search/SearchEngine.php, in the function initFromTitle(), around line 760, change the lines:

                        $this->mRevision = Revision::newFromTitle(
                                $this->mTitle, false, Revision::AVOID_MASTER );

to:

                        $id = false;
                        wfRunHooks( 'SearchResultInitFromTitle', array( $title, &$id ) );
                        $this->mRevision = Revision::newFromTitle(
                                $this->mTitle, $id, Revision::AVOID_MASTER );