class OldPageRedirector extends Extension (View source)

Properties

protected object $owner

The object this extension is applied to.

from  Extension

Methods

public
__construct()

No description

public static 
add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

public
setOwner(object $owner)

Set the owner of this extension.

public
mixed
withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

public
clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

public
object
getOwner()

Returns the owner of this extension.

public static 
string
get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

public
onBeforeHTTPError404(HTTPRequest $request)

On every URL that generates a 404, we'll capture it here and see if we can find an old URL that it should be redirecting to.

public static 
string|bool
find_old_page(array $params, SiteTree|null $parent = null, bool $redirect = false)

Attempt to find an old/renamed page from some given the URL as an array

Details

__construct()

No description

static add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

Parameters

string $class
string $extensionClass
mixed $args

setOwner(object $owner)

Set the owner of this extension.

Parameters

object $owner

The owner object

mixed withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

Parameters

mixed $owner

Owner to set

callable $callback

Callback to invoke

array $args

Args to pass to callback

Return Value

mixed

clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

object getOwner()

Returns the owner of this extension.

Return Value

object

static string get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

Parameters

string $extensionStr

E.g. "Versioned('Stage','Live')"

Return Value

string

Extension classname, e.g. "Versioned"

onBeforeHTTPError404(HTTPRequest $request)

On every URL that generates a 404, we'll capture it here and see if we can find an old URL that it should be redirecting to.

Parameters

HTTPRequest $request

The request object

Exceptions

HTTPResponse_Exception

static string|bool find_old_page(array $params, SiteTree|null $parent = null, bool $redirect = false)

Attempt to find an old/renamed page from some given the URL as an array

Parameters

array $params

The array of URL, e.g. /foo/bar as ['foo', 'bar']

SiteTree|null $parent

The current parent in the recursive flow

bool $redirect

Whether we've found an old page worthy of a redirect

Return Value

string|bool

False, or the new URL