Merge remote-tracking branch 'origin/4.0' into 4.1

This commit is contained in:
Damian Mooyman 2018-06-13 11:24:12 +12:00
commit c2123f772f
No known key found for this signature in database
GPG Key ID: 78B823A10DE27D1A
2 changed files with 14 additions and 4 deletions

View File

@ -1181,8 +1181,6 @@ warnings:
message: 'Renamed to restoreFormState()' message: 'Renamed to restoreFormState()'
'SilverStripe\Forms\Form->resetValidation()': 'SilverStripe\Forms\Form->resetValidation()':
message: 'Renamed to clearFormState()' message: 'Renamed to clearFormState()'
'SilverStripe\Forms\Form->transformTo()':
message: 'Removed'
'SilverStripe\Forms\Form->callfieldmethod()': 'SilverStripe\Forms\Form->callfieldmethod()':
message: 'Removed' message: 'Removed'
'SilverStripe\Forms\Form->addErrorMessage()': 'SilverStripe\Forms\Form->addErrorMessage()':

View File

@ -43,7 +43,8 @@ class CanonicalURLMiddleware implements HTTPMiddleware
/** /**
* Environment variables this middleware is enabled in, or a fixed boolean flag to * Environment variables this middleware is enabled in, or a fixed boolean flag to
* apply to all environments * apply to all environments. cli is disabled unless present here as `cli`, or set to true
* to force enabled.
* *
* @var array|bool * @var array|bool
*/ */
@ -292,7 +293,7 @@ class CanonicalURLMiddleware implements HTTPMiddleware
} }
/** /**
* Get enabled flag, or list of environments to enable in * Get enabled flag, or list of environments to enable in.
* *
* @return array|bool * @return array|bool
*/ */
@ -302,6 +303,10 @@ class CanonicalURLMiddleware implements HTTPMiddleware
} }
/** /**
* Set enabled flag, or list of environments to enable in.
* Note: CLI is disabled by default, so `"cli"(string)` or `true(bool)` should be specified if you wish to
* enable for testing.
*
* @param array|bool $enabledEnvs * @param array|bool $enabledEnvs
* @return $this * @return $this
*/ */
@ -326,6 +331,13 @@ class CanonicalURLMiddleware implements HTTPMiddleware
if (is_bool($enabledEnvs)) { if (is_bool($enabledEnvs)) {
return $enabledEnvs; return $enabledEnvs;
} }
// If CLI, EnabledEnvs must contain CLI
if (Director::is_cli() && !in_array('cli', $enabledEnvs)) {
return false;
}
// Check other envs
return empty($enabledEnvs) || in_array(Director::get_environment_type(), $enabledEnvs); return empty($enabledEnvs) || in_array(Director::get_environment_type(), $enabledEnvs);
} }
} }