diff --git a/src/Control/CLIRequestBuilder.php b/src/Control/CLIRequestBuilder.php index 660ffb7e0..445da1dbd 100644 --- a/src/Control/CLIRequestBuilder.php +++ b/src/Control/CLIRequestBuilder.php @@ -2,6 +2,8 @@ namespace SilverStripe\Control; +use SilverStripe\Core\Environment; + /** * CLI specific request building logic */ @@ -66,4 +68,19 @@ class CLIRequestBuilder extends HTTPRequestBuilder // Parse rest of variables as standard return parent::cleanEnvironment($variables); } + + /** + * @param array $variables + * @param string $input + * @return HTTPRequest + */ + public static function createFromVariables(array $variables, $input, $url = null) + { + $request = parent::createFromVariables($variables, $input, $url); + // unset scheme so that SS_BASE_URL can provide `is_https` information if required + $scheme = parse_url(Environment::getEnv('SS_BASE_URL'), PHP_URL_SCHEME); + $request->setScheme($scheme); + + return $request; + } } diff --git a/src/Control/Email/Email.php b/src/Control/Email/Email.php index 230af870f..8d79db709 100644 --- a/src/Control/Email/Email.php +++ b/src/Control/Email/Email.php @@ -790,6 +790,9 @@ class Email extends ViewableData return $this; } + // Do not interfere with emails styles + Requirements::clear(); + // Render plain part if ($plainTemplate && !$plainPart) { $plainPart = $this->renderWith($plainTemplate, $this->getData()); @@ -806,6 +809,9 @@ class Email extends ViewableData $htmlPartObject = DBField::create_field('HTMLFragment', $htmlPart); $plainPart = $htmlPartObject->Plain(); } + + // Rendering is finished + Requirements::restore(); // Fail if no email to send if (!$plainPart && !$htmlPart) {