Source of file FeatureFlagChecker.php
Size: 1,063 Bytes - Last Modified: 2021-12-23T10:30:28+00:00
/var/www/docs.ssmods.com/process/src/src/FeatureFlagChecker.php
123456789101112131415161718192021222324252627282930313233343536373839404142 | <?php namespace SilverStripe\FeatureFlags; /** * Default implementation fo FeatureFlagCheckable. * Uses the FeatureSelection / FeatureSelectionItem data objects */ class FeatureFlagChecker implements FeatureFlagCheckable { public static function isEnabled($code, $context) { $feature = FeatureSelection::get()->filter([ 'Code' => $code ])->first(); // Simple modes if ($feature->EnableMode === 'On') { return true; } if ($feature->EnableMode === 'Off') { return false; } // TODO: validate context // Check each context value against the selections foreach ($context as $key => $obj) { $contextTest = $feature->Items()->filter([ 'ContextKey' => $key, 'ContextID' => $obj ? $obj->ID : 0, ]); // Any context match will result in the feature being enabled if ($contextTest->count() > 0) { return true; } } return false; } } |