mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
FIX Cast absoluteUrl() argument to string
This commit is contained in:
parent
55f8fce12b
commit
700288d5ca
@ -345,7 +345,7 @@ class Director implements TemplateGlobalProvider
|
|||||||
$handler = function () use ($arguments) {
|
$handler = function () use ($arguments) {
|
||||||
// Redirection
|
// Redirection
|
||||||
$response = new HTTPResponse();
|
$response = new HTTPResponse();
|
||||||
$response->redirect(static::absoluteURL($arguments['Redirect']));
|
$response->redirect(static::absoluteUrl((string) $arguments['Redirect']));
|
||||||
return $response;
|
return $response;
|
||||||
};
|
};
|
||||||
break;
|
break;
|
||||||
|
@ -70,7 +70,7 @@ class HTTP
|
|||||||
if (preg_match('/^\w+:/', $url ?? '')) {
|
if (preg_match('/^\w+:/', $url ?? '')) {
|
||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
return Director::absoluteURL($url);
|
return Director::absoluteURL((string) $url);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,8 +87,8 @@ class HTTP
|
|||||||
* As of 3.2 $code should be a callable which takes a single parameter and returns the rewritten,
|
* As of 3.2 $code should be a callable which takes a single parameter and returns the rewritten,
|
||||||
* for example:
|
* for example:
|
||||||
* <code>
|
* <code>
|
||||||
* function($url) {
|
* function(string $url) {
|
||||||
* return Director::absoluteURL($url, true);
|
* return Director::absoluteURL((string) $url, true);
|
||||||
* }
|
* }
|
||||||
* </code>
|
* </code>
|
||||||
*
|
*
|
||||||
|
@ -346,7 +346,7 @@ class HTTPResponse
|
|||||||
{
|
{
|
||||||
$headersSent = headers_sent($file, $line);
|
$headersSent = headers_sent($file, $line);
|
||||||
$location = $this->getHeader('location');
|
$location = $this->getHeader('location');
|
||||||
$url = Director::absoluteURL($location);
|
$url = Director::absoluteURL((string) $location);
|
||||||
$urlATT = Convert::raw2htmlatt($url);
|
$urlATT = Convert::raw2htmlatt($url);
|
||||||
$urlJS = Convert::raw2js($url);
|
$urlJS = Convert::raw2js($url);
|
||||||
$title = (Director::isDev() && $headersSent)
|
$title = (Director::isDev() && $headersSent)
|
||||||
|
@ -199,7 +199,7 @@ class RSSFeed extends ViewableData
|
|||||||
*/
|
*/
|
||||||
public function Link($action = null)
|
public function Link($action = null)
|
||||||
{
|
{
|
||||||
return Controller::join_links(Director::absoluteURL($this->link), $action);
|
return Controller::join_links(Director::absoluteURL((string) $this->link), $action);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -125,7 +125,7 @@ class RSSFeed_Entry extends ViewableData
|
|||||||
return $this->failover->AbsoluteLink();
|
return $this->failover->AbsoluteLink();
|
||||||
} else {
|
} else {
|
||||||
if ($this->failover->hasMethod('Link')) {
|
if ($this->failover->hasMethod('Link')) {
|
||||||
return Director::absoluteURL($this->failover->Link());
|
return Director::absoluteURL((string) $this->failover->Link());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -658,7 +658,7 @@ class RequestHandler extends ViewableData
|
|||||||
?: Director::baseURL();
|
?: Director::baseURL();
|
||||||
|
|
||||||
// Only direct to absolute urls
|
// Only direct to absolute urls
|
||||||
$url = Director::absoluteURL($url);
|
$url = Director::absoluteURL((string) $url);
|
||||||
return $this->redirect($url);
|
return $this->redirect($url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -675,7 +675,7 @@ class TinyMCEConfig extends HTMLEditorConfig implements i18nEntityProvider
|
|||||||
);
|
);
|
||||||
} elseif (!Director::is_absolute_url($path)) {
|
} elseif (!Director::is_absolute_url($path)) {
|
||||||
// Non-absolute urls are made absolute
|
// Non-absolute urls are made absolute
|
||||||
$path = Director::absoluteURL($path);
|
$path = Director::absoluteURL((string) $path);
|
||||||
}
|
}
|
||||||
$plugins[$plugin] = $path;
|
$plugins[$plugin] = $path;
|
||||||
}
|
}
|
||||||
|
@ -167,7 +167,7 @@ class DatabaseAdmin extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Convert to absolute URL
|
// Convert to absolute URL
|
||||||
return Director::absoluteURL($url, true);
|
return Director::absoluteURL((string) $url, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -135,7 +135,7 @@ class PasswordExpirationMiddleware implements HTTPMiddleware
|
|||||||
$defaultRedirectUrl = static::config()->get('default_redirect');
|
$defaultRedirectUrl = static::config()->get('default_redirect');
|
||||||
|
|
||||||
if ($sessionRedirectUrl || $defaultRedirectUrl) {
|
if ($sessionRedirectUrl || $defaultRedirectUrl) {
|
||||||
$redirectUrl = $this->absoluteUrl($sessionRedirectUrl ?? $defaultRedirectUrl);
|
$redirectUrl = $this->absoluteUrl((string) ($sessionRedirectUrl ?? $defaultRedirectUrl));
|
||||||
} else {
|
} else {
|
||||||
$redirectUrl = null;
|
$redirectUrl = null;
|
||||||
}
|
}
|
||||||
@ -153,7 +153,7 @@ class PasswordExpirationMiddleware implements HTTPMiddleware
|
|||||||
$allowedStartswith = static::config()->get('whitelisted_url_startswith');
|
$allowedStartswith = static::config()->get('whitelisted_url_startswith');
|
||||||
if (is_array($allowedStartswith)) {
|
if (is_array($allowedStartswith)) {
|
||||||
foreach ($allowedStartswith as $pattern) {
|
foreach ($allowedStartswith as $pattern) {
|
||||||
$startswith = $this->absoluteUrl($pattern);
|
$startswith = $this->absoluteUrl((string) $pattern);
|
||||||
|
|
||||||
if (strncmp($currentUrl ?? '', $startswith ?? '', strlen($startswith ?? '')) === 0) {
|
if (strncmp($currentUrl ?? '', $startswith ?? '', strlen($startswith ?? '')) === 0) {
|
||||||
return null;
|
return null;
|
||||||
@ -178,7 +178,7 @@ class PasswordExpirationMiddleware implements HTTPMiddleware
|
|||||||
// add BASE_URL explicitly if not absolute
|
// add BASE_URL explicitly if not absolute
|
||||||
$url = Controller::join_links(Director::absoluteBaseURL(), $url);
|
$url = Controller::join_links(Director::absoluteBaseURL(), $url);
|
||||||
} else {
|
} else {
|
||||||
$url = Director::absoluteURL($url) ?: Controller::join_links(Director::absoluteBaseURL(), $url);
|
$url = Director::absoluteURL((string) $url) ?: Controller::join_links(Director::absoluteBaseURL(), $url);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (substr($url ?? '', -1) === '/') {
|
if (substr($url ?? '', -1) === '/') {
|
||||||
|
@ -447,7 +447,7 @@ class SecurityTest extends FunctionalTest
|
|||||||
$this->assertEquals(302, $expiredResponse->getStatusCode());
|
$this->assertEquals(302, $expiredResponse->getStatusCode());
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
Director::absoluteURL('Security/changepassword') . '?BackURL=test%2Flink',
|
Director::absoluteURL('Security/changepassword') . '?BackURL=test%2Flink',
|
||||||
Director::absoluteURL($expiredResponse->getHeader('Location'))
|
Director::absoluteURL((string) $expiredResponse->getHeader('Location'))
|
||||||
);
|
);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
$this->idFromFixture(Member::class, 'expiredpassword'),
|
$this->idFromFixture(Member::class, 'expiredpassword'),
|
||||||
@ -517,9 +517,8 @@ class SecurityTest extends FunctionalTest
|
|||||||
$this->assertEquals(302, $response->getStatusCode());
|
$this->assertEquals(302, $response->getStatusCode());
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
Director::absoluteURL('Security/changepassword'),
|
Director::absoluteURL('Security/changepassword'),
|
||||||
Director::absoluteURL($response->getHeader('Location'))
|
Director::absoluteURL((string) $response->getHeader('Location'))
|
||||||
);
|
);
|
||||||
|
|
||||||
// Follow redirection to form without hash in GET parameter
|
// Follow redirection to form without hash in GET parameter
|
||||||
$this->get('Security/changepassword');
|
$this->get('Security/changepassword');
|
||||||
$this->doTestChangepasswordForm('1nitialPassword', 'changedPassword#123');
|
$this->doTestChangepasswordForm('1nitialPassword', 'changedPassword#123');
|
||||||
|
Loading…
Reference in New Issue
Block a user