SS 4.0 - Update Variants

This commit is contained in:
Brett Tasker 2017-04-22 21:24:33 +12:00
parent fcf9a4f888
commit eac9485924
4 changed files with 15 additions and 9 deletions

View File

@ -1,5 +1,7 @@
<?php <?php
namespace SilverStripe\FullTextSearch\Search\Variants; namespace SilverStripe\FullTextSearch\Search\Variants;
use SilverStripe\Core\ClassInfo; use SilverStripe\Core\ClassInfo;
/** /**
* A Search Variant handles decorators and other situations where the items to reindex or search through are modified * A Search Variant handles decorators and other situations where the items to reindex or search through are modified
@ -22,7 +24,10 @@ abstract class SearchVariant
* Return false if there is something missing from the environment (probably a * Return false if there is something missing from the environment (probably a
* not installed module) that means this variant can't apply to any class * not installed module) that means this variant can't apply to any class
*/ */
abstract public function appliesToEnvironment(); public function appliesToEnvironment()
{
return true;
}
/** /**
* Return true if this variant applies to the passed class & subclass * Return true if this variant applies to the passed class & subclass

View File

@ -1,6 +1,8 @@
<?php <?php
namespace SilverStripe\FullTextSearch\Search\Variants; namespace SilverStripe\FullTextSearch\Search\Variants;
use SilverStripe\ORM\Queries\SQLSelect;
class SearchVariantSiteTreeSubsitesPolyhome extends SearchVariant class SearchVariantSiteTreeSubsitesPolyhome extends SearchVariant
{ {
public function appliesToEnvironment() public function appliesToEnvironment()
@ -78,7 +80,7 @@ class SearchVariantSiteTreeSubsitesPolyhome extends SearchVariant
} }
if (self::$subsites === null) { if (self::$subsites === null) {
$query = new SQLQuery('ID', 'Subsite'); $query = new SQLSelect('ID', 'Subsite');
self::$subsites = array_merge(array('0'), $query->execute()->column()); self::$subsites = array_merge(array('0'), $query->execute()->column());
} }

View File

@ -1,5 +1,9 @@
<?php <?php
namespace SilverStripe\FullTextSearch\Search\Variants; namespace SilverStripe\FullTextSearch\Search\Variants;
use SilverStripe\ORM\Queries\SQLSelect;
class SearchVariantSubsites extends SearchVariant class SearchVariantSubsites extends SearchVariant
{ {
public function appliesToEnvironment() public function appliesToEnvironment()
@ -74,7 +78,7 @@ class SearchVariantSubsites extends SearchVariant
public function extractManipulationWriteState(&$writes) public function extractManipulationWriteState(&$writes)
{ {
$self = get_class($this); $self = get_class($this);
$query = new SQLQuery('"ID"', '"Subsite"'); $query = new SQLSelect('"ID"', '"Subsite"');
$subsites = array_merge(array('0'), $query->execute()->column()); $subsites = array_merge(array('0'), $query->execute()->column());
foreach ($writes as $key => $write) { foreach ($writes as $key => $write) {

View File

@ -3,14 +3,9 @@ namespace SilverStripe\FullTextSearch\Search\Variants;
class SearchVariantVersioned extends SearchVariant class SearchVariantVersioned extends SearchVariant
{ {
public function appliesToEnvironment()
{
return class_exists('Versioned');
}
public function appliesTo($class, $includeSubclasses) public function appliesTo($class, $includeSubclasses)
{ {
return SearchIntrospection::has_extension($class, 'Versioned', $includeSubclasses); return SearchIntrospection::has_extension($class, Versioned::class, $includeSubclasses);
} }
public function currentState() public function currentState()