class CMSBatchAction_Restore extends CMSBatchAction (View source)

Batch restore of pages

Traits

A class that can be instantiated or replaced via DI

Properties

protected $managedClass from  CMSBatchAction

Methods

public static 
create(mixed ...$args)

An implementation of the factory method, allows you to create an instance of a class

public static 
singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

public
getActionTitle()

The the text to show in the dropdown for this action

public
string
run(SS_List $pages)

Run this action for the given set of pages.

public
string
response(string $successMessage, array $status)

Helper method for responding to a back action request

public
string
batchaction(SS_List $objs, string $helperMethod, string $successMessage, array $arguments = [])

Helper method for processing batch actions.

public
array
applicablePagesHelper(array $ids, string $methodName, bool $checkStagePages = true, bool $checkLivePages = true)

Helper method for applicablePages() methods. Acts as a skeleton implementation.

public
getParameterFields()

No description

public
canView()

If you wish to restrict the batch action to some users, overload this function.

public
array
applicablePages(array $ids)

{SiteTree::canEdit()}

Details

static Injectable create(mixed ...$args)

An implementation of the factory method, allows you to create an instance of a class

This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.

This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();

Parameters

mixed ...$args

Return Value

Injectable

static Injectable singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).

Parameters

string $class

Optional classname to create, if the called class should not be used

Return Value

Injectable

The singleton instance

getActionTitle()

The the text to show in the dropdown for this action

string run(SS_List $pages)

Run this action for the given set of pages.

Return a set of status-updated JavaScript to return to the CMS.

Parameters

SS_List $pages

Return Value

string

string response(string $successMessage, array $status)

Helper method for responding to a back action request

Parameters

string $successMessage

The message to return as a notification. Can have up to two %d's in it. The first will be replaced by the number of successful changes, the second by the number of failures

array $status

A status array like batchactions builds. Should be key => value pairs, the key can be any string: "error" indicates errors, anything else indicates a type of success. The value is an array. We don't care what's in it, we just use count($value) to find the number of items that succeeded or failed

Return Value

string

string batchaction(SS_List $objs, string $helperMethod, string $successMessage, array $arguments = [])

Helper method for processing batch actions.

Returns a set of status-updating JavaScript to return to the CMS.

Parameters

SS_List $objs

The SS_List of objects to perform this batch action on.

string $helperMethod

The method to call on each of those objects.

string $successMessage
array $arguments

Return Value

string

JSON encoded map in the following format: { 'modified': { 3: {'TreeTitle': 'Page3'}, 5: {'TreeTitle': 'Page5'} }, 'deleted': { // all deleted pages } }

array applicablePagesHelper(array $ids, string $methodName, bool $checkStagePages = true, bool $checkLivePages = true)

Helper method for applicablePages() methods. Acts as a skeleton implementation.

Parameters

array $ids

The IDs passed to applicablePages

string $methodName

The canXXX() method to call on each page to check if the action is applicable

bool $checkStagePages

Set to true if you want to check stage pages

bool $checkLivePages

Set to true if you want to check live pages (e.g, for deleted-from-draft)

Return Value

array

getParameterFields()

No description

canView()

If you wish to restrict the batch action to some users, overload this function.

array applicablePages(array $ids)

{SiteTree::canEdit()}

Parameters

array $ids

List of object ids

Return Value

array

Filtered list of $ids