X-Git-Url: https://git.cyclocoop.org/%27.WWW_URL.%27admin/?a=blobdiff_plain;f=includes%2Fdeferred%2FSearchUpdate.php;h=84f6fc0eaf6fc4178097fbbd2d6c7d1278bac7ff;hb=fa0f6f34972c0e0f4aac24a03b3efdfc45f256f6;hp=3625476398a486130d6ad7c5af686852f2a16b08;hpb=0a20a21168fdb16f75e622dc6919c6538798c28b;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/deferred/SearchUpdate.php b/includes/deferred/SearchUpdate.php index 3625476398..84f6fc0eaf 100644 --- a/includes/deferred/SearchUpdate.php +++ b/includes/deferred/SearchUpdate.php @@ -37,38 +37,38 @@ class SearchUpdate implements DeferrableUpdate { /** @var Title Title we're updating */ private $title; - /** @var Content|bool Content of the page (not text) */ + /** @var Content|null Content of the page (not text) */ private $content; - /** @var WikiPage **/ + /** @var WikiPage */ private $page; /** * @param int $id Page id to update - * @param Title|string $title Title of page to update - * @param Content|string|bool $c Content of the page to update. Default: false. - * If a Content object, text will be gotten from it. String is for back-compat. - * Passing false tells the backend to just update the title, not the content + * @param Title $title Title of page to update + * @param Content|null $c Content of the page to update. */ - public function __construct( $id, $title, $c = false ) { + public function __construct( $id, $title, $c = null ) { if ( is_string( $title ) ) { - $nt = Title::newFromText( $title ); + wfDeprecated( __METHOD__ . " with a string for the title", '1.34' ); + $this->title = Title::newFromText( $title ); + if ( $this->title === null ) { + throw new InvalidArgumentException( "Cannot construct the title: $title" ); + } } else { - $nt = $title; + $this->title = $title; } - if ( $nt ) { - $this->id = $id; - // is_string() check is back-compat for ApprovedRevs - if ( is_string( $c ) ) { - $this->content = new TextContent( $c ); - } else { - $this->content = $c ?: false; - } - $this->title = $nt; - } else { - wfDebug( "SearchUpdate object created with invalid title '$title'\n" ); + $this->id = $id; + // is_string() check is back-compat for ApprovedRevs + if ( is_string( $c ) ) { + wfDeprecated( __METHOD__ . " with a string for the content", '1.34' ); + $c = new TextContent( $c ); + } elseif ( is_bool( $c ) ) { + wfDeprecated( __METHOD__ . " with a boolean for the content", '1.34' ); + $c = null; } + $this->content = $c; } /** @@ -94,15 +94,13 @@ class SearchUpdate implements DeferrableUpdate { if ( $this->getLatestPage() === null ) { $search->delete( $this->id, $normalTitle ); continue; - } elseif ( $this->content === false ) { + } elseif ( $this->content === null ) { $search->updateTitle( $this->id, $normalTitle ); continue; } - $text = $search->getTextFromContent( $this->title, $this->content ); - if ( !$search->textAlreadyUpdatedForIndex() ) { - $text = $this->updateText( $text, $search ); - } + $text = $this->content !== null ? $this->content->getTextForSearchIndex() : ''; + $text = $this->updateText( $text, $search ); # Perform the actual update $search->update( $this->id, $normalTitle, $search->normalizeText( $text ) );