class CMSBatchAction_Publish extends CMSBatchAction (View source)

Publish items batch action.

Traits

A class that can be instantiated or replaced via DI

Methods

static Injectable
create(array ...$args)

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

static Injectable
singleton(string $class = null)

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

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.

string
response(string $successMessage, array $status)

Helper method for responding to a back action request

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

Helper method for processing batch actions.

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

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

getParameterFields()

No description

canView()

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

array
applicablePages(array $ids)

Given a list of object IDs, filter out which items can have this batch action applied to them.

Details

static Injectable create(array ...$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'); $list = SiteTree::get();

Parameters

array ...$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 = array())

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()

canView()

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

array applicablePages(array $ids)

Given a list of object IDs, filter out which items can have this batch action applied to them.

Parameters

array $ids

List of object ids

Return Value

array

Filtered list of $ids