class Controller extends BlockController implements FileTrackableInterface (View source)

Traits

Trait ApplicationAwareTrait A trait used with ApplicationAwareInterface

Properties

protected Application $app from ApplicationAwareTrait
protected $helpers from BlockController
protected array $sets The values to be sent to views. from AbstractController
protected string|null $action The action to be performed. from AbstractController
protected Request|null $request The current request instance. from AbstractController
protected array|null $parameters The action parameters. from AbstractController
$headerItems from BlockController
$blockViewRenderOverride from BlockController
protected $record from BlockController
protected $block from BlockController
protected $bID from BlockController
protected $btDescription from BlockController
protected $btName from BlockController
protected $btHandle from BlockController
protected $btIsInternal from BlockController
protected $btSupportsInlineAdd from BlockController
protected $btIgnorePageThemeGridFrameworkContainer from BlockController
protected $btSupportsInlineEdit from BlockController
protected $btCopyWhenPropagate from BlockController
protected $btIncludeAll from BlockController
protected $btInterfaceWidth
protected $btInterfaceHeight
protected $btHasRendered from BlockController
protected $btCacheBlockRecord
protected $btCacheBlockOutput
protected $btCacheBlockOutputLifetime from BlockController
protected $btCacheBlockOutputOnPost
protected $btCacheBlockOutputForRegisteredUsers
protected $bActionCID from BlockController
protected $btExportPageColumns
protected $btExportFileColumns
protected $btExportPageTypeColumns from BlockController
protected $btExportPageFeedColumns from BlockController
protected $btWrapperClass
protected $btDefaultSet from BlockController
protected $btFeatures
protected $btFeatureObjects from BlockController
protected $identifier from BlockController
protected $btTable
protected $btID from BlockController
protected bool $supportSavingNullValues Set this to true if the data sent to the save/performSave methods can contain NULL values that should be persisted. from BlockController
protected AggregateTracker|null $tracker

Methods

setApplication(Application $app)

Setter method for the application

__construct($blockType = null, AggregateTracker $tracker = null)

Instantiates the block controller.

Request
getRequest()

Get the current request instance.

setRequest(Request $request)

Set the current request instance.

requireAsset()

Add an asset required in views.

addHeaderItem(string $item)

Adds an item to the view's header. This item will then be automatically printed out before the section of the page.

addFooterItem(string $item)

Adds an item to the view's footer. This item will then be automatically printed out before the section of the page.

set(string $key, mixed $val)

Set a value to be sent to the view.

array
getSets()

Get the values to be sent to views.

bool
shouldRunControllerTask()

Should the action be executed? Override this method to answer something different than true.

array
getHelperObjects()

Get the the helpers that will be be automatically sent to Views as variables.

mixed
get(string|null $key = null, mixed $defaultValue = null)

Get the whole $_GET array or a specific querystring value.

getTask() deprecated

No description

string|null
getAction()

Get the action to be performed.

array|null
getParameters()

Get the action parameters.

on_start()

Override this method to perform controller initializations.

on_before_render()

Override this method to do something right before the view is rendered.

isPost() deprecated

No description

mixed
post($field = false, mixed $defaultValue = null)

Get the whole $_POST array or a specific posted value.

redirect() deprecated

Redirect the clients to a specific URL/page (specify path(s) as argument(s) of this function).

runTask(mixed $action, mixed $parameters) deprecated

No description

mixed
runAction(string $action, array $parameters = [])

Perform an action of this controller (if shouldRunControllerTask returns true).

mixed
request(string|null $key = null)

Get the whole $_REQUEST array or a specific requested value.

getBlockTypeInSetName()

No description

getIdentifier()

No description

getBlockTypeWrapperClass()

No description

mixed
install(string $path)

Installs the current block's DB xml file. If a block needs to do more than this, this should be overridden.

render(string $view)

Renders a view in the block's folder.

ErrorList|boolean
validate($args)

No description

getBlockControllerData()

No description

performSave(array $args, bool $loadExisting = false)

Persist the block options.

save(array $args)

No description

cacheBlockRecord()

No description

getPermissionsObject() deprecated

No description

getBlockTypeDefaultSet()

No description

getPermissionObject()

Gets the permissions object for this controller's block.

duplicate($newBID)

Automatically run when a block is duplicated. This most likely happens when a block is edited: a block is first duplicated, and then presented to the user to make changes.

__wakeup()

No description

setBlockObject($b)

Sets the block object for this controller.

load()

Loads the BlockRecord class based on its attribute names.

export(SimpleXMLElement $blockNode)

No description

import($page, $arHandle, SimpleXMLElement $blockNode)

No description

getImportData($blockNode, $page)

No description

importAdditionalData($b, $blockNode)

No description

setPassThruBlockController(PageController $controller)

No description

int|null
getBlockTypeID()

No description

getPassThruActionAndParameters($parameters)

No description

getActionURL($task)

Creates a URL that can be posted or navigated to that, when done so, will automatically run the corresponding method inside the block's controller.

isValidControllerTask($method, $parameters = [])

No description

cacheBlockOutput()

No description

cacheBlockOutputOnPost()

No description

getCollectionObject()

No description

field($fieldName)

No description

getBlockObject()

Gets the generic Block object attached to this controller's instance.

$void
delete()

On delete update the tracker.

outputAutoHeaderItems()

No description

registerViewAssets($outputContent = '')

No description

setupAndRun($method)

No description

Area
getAreaObject()

Gets the Area object attached to this controller's instance.

setAreaObject($a)

No description

uninstall()

No description

string
getBlockTypeName()

Returns the name of the block type.

int
getInterfaceWidth()

Returns the width of the block type's interface when presented in page.

int
getInterfaceHeight()

Returns the height of the block type's interface when presented in page.

string
getBlockTypeDescription()

Returns the description of the block type.

getBlockTypeHelp()

Returns HTML that will be shown when a user wants help for a given block type.

isCopiedWhenPropagated()

No description

bool
includeAll()

Returns whether this block type is included in all versions. Default is false - block types are typically versioned but sometimes it makes sense not to do so.

bool
isBlockTypeInternal()

Returns whether this block type is internal to Concrete. If it's internal it's not displayed in the front end interface. Examples include the LibraryFile block.

bool
supportsInlineEdit()

if a the current BlockType supports inline edit or not.

bool
supportsInlineAdd()

if a the current BlockType supports inline add or not.

bool
ignorePageThemeGridFrameworkContainer()

If true, container classes will not be wrapped around this block type in edit mode (if the theme in question supports a grid framework.

getJavaScriptStrings()

No description

bool|null
view()

No description

add()

No description

edit()

No description

bool
File|null
int
getFileID()

No description

int
getFileOnstateID()

No description

int
getFileLinkID()

No description

File|null
getFileOnstateObject()

No description

File|null
getFileObject()

No description

File|null
getFileLinkObject()

No description

string
getAltText()

No description

string|null
getTitle()

No description

string
getExternalLink()

No description

int
getInternalLinkCID()

No description

string
getLinkURL()

No description

bool
shouldLinkOpenInNewWindow()

No description

validate_composer()

No description

array
getUsedFiles()

No description

getUsedCollection()

No description

getTracker()

No description

string[]
getImageLinkPickers()

No description

Details

setApplication(Application $app)

Setter method for the application

Parameters

Application $app

__construct($blockType = null, AggregateTracker $tracker = null)

Instantiates the block controller.

Parameters

$blockType
AggregateTracker $tracker

Request getRequest()

Get the current request instance.

Return Value

Request

setRequest(Request $request)

Set the current request instance.

Parameters

Request $request

requireAsset()

Add an asset required in views.

This function accept the same parameters as the requireAsset method of the ResponseAssetGroup.

See also

ResponseAssetGroup::requireAsset

addHeaderItem(string $item)

Adds an item to the view's header. This item will then be automatically printed out before the section of the page.

Parameters

string $item

addFooterItem(string $item)

Adds an item to the view's footer. This item will then be automatically printed out before the section of the page.

Parameters

string $item

set(string $key, mixed $val)

Set a value to be sent to the view.

Parameters

string $key The name of the value
mixed $val The value

array getSets()

Get the values to be sent to views.

Return Value

array

bool shouldRunControllerTask()

Should the action be executed? Override this method to answer something different than true.

Return Value

bool

array getHelperObjects()

Get the the helpers that will be be automatically sent to Views as variables.

Array keys are the variable names, array values are the helper instances.

Return Value

array

mixed get(string|null $key = null, mixed $defaultValue = null)

Get the whole $_GET array or a specific querystring value.

Parameters

string|null $key set to null to get the whole $_GET array, or a string to get a specific value in the controller sets or from the querystring parameters
mixed $defaultValue what to return if $key is specified but it does not exist neither in the sets nor in the querystring

Return Value

mixed

getTask() deprecated

deprecated use the getAction() method

string|null getAction()

Get the action to be performed.

Return Value

string|null

array|null getParameters()

Get the action parameters.

Return Value

array|null

on_start()

Override this method to perform controller initializations.

on_before_render()

Override this method to do something right before the view is rendered.

For instance, you can call $this->set('variableName', $variableValue) to send the view additional sets.

isPost() deprecated

deprecated Use $this->getRequest()->isPost();

mixed post($field = false, mixed $defaultValue = null)

Get the whole $_POST array or a specific posted value.

Parameters

$field
mixed $defaultValue what to return if $key is specified but it does not exist in the $_POST

Return Value

mixed

redirect() deprecated

deprecated you should return a Response instance from your methods

Redirect the clients to a specific URL/page (specify path(s) as argument(s) of this function).

runTask(mixed $action, mixed $parameters) deprecated

deprecated use the runAction method

Parameters

mixed $action
mixed $parameters

mixed runAction(string $action, array $parameters = [])

Perform an action of this controller (if shouldRunControllerTask returns true).

Parameters

string $action the action to be performed
array $parameters the action parameters

Return Value

mixed in case the action is executed, you'll receive the result of the action, or NULL otherwise

mixed request(string|null $key = null)

Get the whole $_REQUEST array or a specific requested value.

Parameters

string|null $key set to null to get the whole $_REQUEST array, or a string to get a specific value in $_GET or in $_POST

Return Value

mixed

getBlockTypeInSetName()

getBlockTypeExportPageColumns()

getIdentifier()

getBlockTypeWrapperClass()

mixed install(string $path)

Installs the current block's DB xml file. If a block needs to do more than this, this should be overridden.

public function install($path) { $this->doMySpecialInstallMethod(); $this->doSecondSpecialInstallMethod(); parent::install($path); } .

There are several different possible return values: Returns FALSE if $btTable is set but no db.xml file exists. Otherwise returns object with two properties: ->result (a boolean), and ->message (a string). If ->result is true, the installation was successful (although the db.xml file might only have one field declared which will cause C5 to have problems later on, so you you will want to check for that separately). If ->result is false, the installation failed and you can check ->message for the explanation (usually -- sometimes ->message will be blank, in which case there's either a malformed db.xml file or an "unknown database error"). See concrete/models/block_types.php::doInstallBlockType() for usage example.

Parameters

string $path

Return Value

mixed boolean or object having ->result (boolean) and ->message (string) properties

render(string $view)

Renders a view in the block's folder.

public function view() { // The view() method is automatically run when a block is viewed $this->render("other_special_view"); // don't use .php } .

Parameters

string $view

ErrorList|boolean validate($args)

Parameters

$args array|string|null

Return Value

ErrorList|boolean

getBlockControllerData()

protected performSave(array $args, bool $loadExisting = false)

Persist the block options.

Parameters

array $args An array that contains the block options
bool $loadExisting Shall we initialize the record to be saved with the current data?

save(array $args)

Parameters

array $args

cacheBlockRecord()

getPermissionsObject() deprecated

deprecated

getBlockTypeDefaultSet()

getPermissionObject()

Gets the permissions object for this controller's block.

BlockRecord duplicate($newBID)

Automatically run when a block is duplicated. This most likely happens when a block is edited: a block is first duplicated, and then presented to the user to make changes.

Parameters

$newBID

Return Value

BlockRecord $newInstance

__wakeup()

setBlockObject($b)

Sets the block object for this controller.

Parameters

$b

protected load()

Loads the BlockRecord class based on its attribute names.

getBlockTypeFeatureObjects()

export(SimpleXMLElement $blockNode)

Parameters

SimpleXMLElement $blockNode

getBlockTypeDatabaseTable()

import($page, $arHandle, SimpleXMLElement $blockNode)

Parameters

$page
$arHandle
SimpleXMLElement $blockNode

protected getImportData($blockNode, $page)

Parameters

$blockNode
$page

protected importAdditionalData($b, $blockNode)

Parameters

$b
$blockNode

setPassThruBlockController(PageController $controller)

Parameters

PageController $controller

validateAddBlockPassThruAction(Checker $ap, BlockType $bt)

Parameters

Checker $ap
BlockType $bt

validateEditBlockPassThruAction(Block $b)

Parameters

Block $b

validateComposerAddBlockPassThruAction(Type $type)

Parameters

Type $type

int|null getBlockTypeID()

Return Value

int|null

validateComposerEditBlockPassThruAction(Block $b)

Parameters

Block $b

getPassThruActionAndParameters($parameters)

Parameters

$parameters

UrlImmutable|null getActionURL($task)

Creates a URL that can be posted or navigated to that, when done so, will automatically run the corresponding method inside the block's controller.

It can also be used to perform system operations, accordingly to the current action.

Parameters

$task

Return Value

UrlImmutable|null Return NULL in case of problems

isValidControllerTask($method, $parameters = [])

Parameters

$method
$parameters

cacheBlockOutput()

cacheBlockOutputForRegisteredUsers()

cacheBlockOutputOnPost()

getBlockTypeCacheOutputLifetime()

getCollectionObject()

field($fieldName)

Parameters

$fieldName

Block getBlockObject()

Gets the generic Block object attached to this controller's instance.

Return Value

Block $b

$void delete()

On delete update the tracker.

Return Value

$void

outputAutoHeaderItems()

registerViewAssets($outputContent = '')

Parameters

$outputContent

setupAndRun($method)

Parameters

$method

Area getAreaObject()

Gets the Area object attached to this controller's instance.

Return Value

Area $a

setAreaObject($a)

Parameters

$a

uninstall()

string getBlockTypeName()

Returns the name of the block type.

Return Value

string $btName

int getInterfaceWidth()

Returns the width of the block type's interface when presented in page.

Return Value

int

int getInterfaceHeight()

Returns the height of the block type's interface when presented in page.

Return Value

int

string getBlockTypeDescription()

Returns the description of the block type.

Return Value

string

getBlockTypeHelp()

Returns HTML that will be shown when a user wants help for a given block type.

isCopiedWhenPropagated()

bool includeAll()

Returns whether this block type is included in all versions. Default is false - block types are typically versioned but sometimes it makes sense not to do so.

Return Value

bool

bool isBlockTypeInternal()

Returns whether this block type is internal to Concrete. If it's internal it's not displayed in the front end interface. Examples include the LibraryFile block.

Return Value

bool

bool supportsInlineEdit()

if a the current BlockType supports inline edit or not.

Return Value

bool

bool supportsInlineAdd()

if a the current BlockType supports inline add or not.

Return Value

bool

bool ignorePageThemeGridFrameworkContainer()

If true, container classes will not be wrapped around this block type in edit mode (if the theme in question supports a grid framework.

Return Value

bool

getJavaScriptStrings()

bool|null view()

Return Value

bool|null

add()

edit()

bool isComposerControlDraftValueEmpty()

Return Value

bool

File|null getImageFeatureDetailFileObject()

Return Value

File|null

int getFileID()

Return Value

int

int getFileOnstateID()

Return Value

int

int getFileLinkID()

Return Value

int

File|null getFileOnstateObject()

Return Value

File|null

File|null getFileObject()

Return Value

File|null

File|null getFileLinkObject()

Return Value

File|null

string getAltText()

Return Value

string

string|null getTitle()

Return Value

string|null

Return Value

string

int getInternalLinkCID()

Return Value

int

string getLinkURL()

Return Value

string

bool shouldLinkOpenInNewWindow()

Return Value

bool

Error validate_composer()

Return Value

Error

array getUsedFiles()

Return Value

array An array of file IDs or file objects

Collection getUsedCollection()

Return Value

Collection The collection these files are attached to

protected AggregateTracker getTracker()

Return Value

AggregateTracker

protected string[] getImageLinkPickers()

Return Value

string[]