mirror of
https://github.com/silverstripe/silverstripe-fulltextsearch
synced 2024-09-29 12:49:23 +02:00
38 lines
1001 B
PHP
38 lines
1001 B
PHP
|
<?php
|
||
|
|
||
|
namespace SilverStripe\FullTextSearch\Search\Extensions;
|
||
|
|
||
|
use Psr\Log\LoggerInterface;
|
||
|
use SilverStripe\Core\Extension;
|
||
|
use SilverStripe\FullTextSearch\Search\Updaters\SearchUpdater;
|
||
|
|
||
|
/**
|
||
|
* This extension can be applied to `SilverStripe\Dev\Tasks\MigrateFileTask` to avoid constantly re-indexing files
|
||
|
* while the file migration is running.
|
||
|
*/
|
||
|
class DisableIndexingOnFileMigration extends Extension
|
||
|
{
|
||
|
private static $dependencies = [
|
||
|
'logger' => '%$' . LoggerInterface::class . '.quiet',
|
||
|
];
|
||
|
|
||
|
/** @var LoggerInterface */
|
||
|
private $logger;
|
||
|
|
||
|
/**
|
||
|
* @param LoggerInterface $logger
|
||
|
*/
|
||
|
public function setLogger(LoggerInterface $logger)
|
||
|
{
|
||
|
$this->logger = $logger;
|
||
|
}
|
||
|
|
||
|
public function preFileMigration()
|
||
|
{
|
||
|
if (SearchUpdater::config()->get('enabled')) {
|
||
|
$this->logger->info('Disabling fulltext search re-indexing for this request only');
|
||
|
SearchUpdater::config()->set('enabled', false);
|
||
|
}
|
||
|
}
|
||
|
}
|