diff --git a/_config/config.yml b/_config/config.yml index e69de29..553eb00 100644 --- a/_config/config.yml +++ b/_config/config.yml @@ -0,0 +1,7 @@ +--- +Name: Search Module dev/build +--- +SilverStripe\ORM\DatabaseAdmin: + extensions: + - Werkbot\Search\DatabaseAdminExtension + diff --git a/src/DatabaseAdminExtension.php b/src/DatabaseAdminExtension.php new file mode 100644 index 0000000..e46182a --- /dev/null +++ b/src/DatabaseAdminExtension.php @@ -0,0 +1,15 @@ +run(Controller::curr()->getRequest()); + } +} + diff --git a/src/SearchableExtension.php b/src/SearchableExtension.php index 7a3ca3a..618fb4d 100644 --- a/src/SearchableExtension.php +++ b/src/SearchableExtension.php @@ -1,12 +1,11 @@ "Text", "getSearchableSummary" => 'HTMLText', @@ -223,23 +222,5 @@ public function onAfterDelete() { $this->owner->deleteIndex(); } - /** - * requireDefaultRecords - * Runs the index on a dev/build - **/ - public function requireDefaultRecords() - { - parent::requireDefaultRecords(); - - if (!file_exists(dirname(__DIR__, 4).'/search')) { - mkdir(dirname(__DIR__, 4).'/search'); - echo "Created search folder

"; - } - $indexer = TNTSearchHelper::Instance()->getTNTSearchIndex(true); - if ($query = $this->owner->getIndexQuery()) { - $indexer->query($query); - $indexer->run(); - DB::alteration_message('Indexing...'.$this->owner->ClassName, 'created'); - } - } } + diff --git a/src/Tasks/SearchIndex.php b/src/Tasks/SearchIndex.php index 60e8268..749d0d0 100644 --- a/src/Tasks/SearchIndex.php +++ b/src/Tasks/SearchIndex.php @@ -1,34 +1,34 @@
"; - } - $indexer = TNTSearchHelper::Instance()->getTNTSearchIndex(true); - $classes = ClassInfo::classesWithExtension(SearchableExtension::class); - foreach ($classes as $Title => $ClassName) { - $searchableClass = singleton($ClassName); - if ($query = $searchableClass->getIndexQuery()) { - echo "Indexing...$ClassName
"; - $indexer->query($query); - $indexer->run(); - echo "

"; - } + if (!file_exists(dirname(__DIR__, 5) . '/search')) { + mkdir(dirname(__DIR__, 5) . '/search'); + echo "Created search folder

"; + } + $indexer = TNTSearchHelper::Instance()->getTNTSearchIndex(true); + $classes = ClassInfo::classesWithExtension(SearchableExtension::class); + foreach ($classes as $title => $className) { + $searchableClass = singleton($className); + if ($query = $searchableClass->getIndexQuery()) { + $indexer->query($query); + $indexer->run(); + DB::alteration_message('Indexing...' . $className, 'created'); } + } } } +