diff options
Diffstat (limited to 'www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/FulltextSearchTableUpdateJob.php')
-rw-r--r-- | www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/FulltextSearchTableUpdateJob.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/FulltextSearchTableUpdateJob.php b/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/FulltextSearchTableUpdateJob.php new file mode 100644 index 00000000..8dfb4dd8 --- /dev/null +++ b/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/FulltextSearchTableUpdateJob.php @@ -0,0 +1,52 @@ +<?php + +namespace SMW\MediaWiki\Jobs; + +use SMW\MediaWiki\Job; +use Hooks; +use SMW\ApplicationFactory; +use SMW\SQLStore\QueryEngine\FulltextSearchTableFactory; +use Title; + +/** + * @license GNU GPL v2+ + * @since 2.5 + * + * @author mwjames + */ +class FulltextSearchTableUpdateJob extends Job { + + /** + * @since 2.5 + * + * @param Title $title + * @param array $params job parameters + */ + public function __construct( Title $title, $params = [] ) { + parent::__construct( 'smw.fulltextSearchTableUpdate', $title, $params ); + $this->removeDuplicates = true; + } + + /** + * @see Job::run + * + * @since 2.5 + */ + public function run() { + + $fulltextSearchTableFactory = new FulltextSearchTableFactory(); + + $textChangeUpdater = $fulltextSearchTableFactory->newTextChangeUpdater( + ApplicationFactory::getInstance()->getStore( '\SMW\SQLStore\SQLStore' ) + ); + + $textChangeUpdater->pushUpdatesFromJobParameters( + $this->params + ); + + Hooks::run( 'SMW::Job::AfterFulltextSearchTableUpdateComplete', [ $this ] ); + + return true; + } + +} |