Controller
class Controller extends BlockController (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 | ||
| protected | $btIncludeAll | from BlockController | |
| $btInterfaceWidth | |||
| $btInterfaceHeight | |||
| protected | $btHasRendered | from BlockController | |
| protected | $btCacheBlockRecord | ||
| protected | $btCacheBlockOutput | from BlockController | |
| protected | $btCacheBlockOutputLifetime | from BlockController | |
| protected | $btCacheBlockOutputOnPost | from BlockController | |
| protected | $btCacheBlockOutputForRegisteredUsers | from BlockController | |
| protected | $bActionCID | from BlockController | |
| protected | $btExportPageColumns | ||
| protected | $btExportFileColumns | from BlockController | |
| protected | $btExportPageTypeColumns | from BlockController | |
| protected | $btExportPageFeedColumns | from BlockController | |
| protected | $btWrapperClass | from BlockController | |
| protected | $btDefaultSet | from BlockController | |
| protected | $btFeatures | from BlockController | |
| protected | $btFeatureObjects | from BlockController | |
| protected | $identifier | from BlockController | |
| $btTable | |||
| 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 | 
| $btQuestionsTablename | |||
| $btAnswerSetTablename | |||
| $btAnswersTablename | |||
| $thankyouMsg | |||
| $submitText | |||
| $noSubmitFormRedirect | |||
| protected | $btExportTables | ||
| protected | $lastAnswerSetId | 
Methods
Instantiates the block controller.
Adds an item to the view's header. This item will then be automatically printed out before the
section of the page.Adds an item to the view's footer. This item will then be automatically printed out before the section of the page.
Should the action be executed? Override this method to answer something different than true.
Get the the helpers that will be be automatically sent to Views as variables.
Get the whole $_GET array or a specific querystring value.
Override this method to do something right before the view is rendered.
Get the whole $_POST array or a specific posted value.
Redirect the clients to a specific URL/page (specify path(s) as argument(s) of this function).
Perform an action of this controller (if shouldRunControllerTask returns true).
Get the whole $_REQUEST array or a specific requested value.
Installs the current block's DB xml file. If a block needs to do more than this, this should be overridden.
Persist the block options.
Form add or edit submit (run after the duplicate method on first block edit of new page version).
Duplicate will run when copying a page with a block, or editing a block for the first time within a page version (before the save).
No description
Gets the generic Block object attached to this controller's instance.
Automatically run when a block is deleted. This removes the special data from the block's specific database table. If a block needs to do more than this this method should be overridden.
Gets the Area object attached to this controller's instance.
Returns the name of the block type.
Returns the width of the block type's interface when presented in page.
Returns the height of the block type's interface when presented in page.
Used for localization. If we want to localize the name/description we have to include this.
Returns HTML that will be shown when a user wants help for a given block type.
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.
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.
if a the current BlockType supports inline edit or not.
if a the current BlockType supports inline add or not.
If true, container classes will not be wrapped around this block type in edit mode (if the theme in question supports a grid framework.
Returns a key/value array of strings that is used to translate items when used in javascript.
Internal helper function.
No description
No description
No description
Ties the new or edited questions to the new block number.
Users submits the completed survey.
Details
        
                            
    setApplication(Application $app)
        
    
    Setter method for the application
        
                            
    __construct($b = 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.
This function accept the same parameters as the requireAsset method of the ResponseAssetGroup.
        
                            
    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.
Array keys are the variable names, array values are the helper instances.
        
                            mixed
    get(string|null $key = null, mixed $defaultValue = null)
        
    
    Get the whole $_GET array or a specific querystring value.
        
                            
    getTask()
        deprecated
    
    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.
For instance, you can call $this->set('variableName', $variableValue) to send the view additional sets.
        
                            
    isPost()
        deprecated
    
    deprecated
No description
        
                            mixed
    post($field = false, mixed $defaultValue = null)
        
    
    Get the whole $_POST array or a specific posted value.
        
                            
    redirect()
        deprecated
    
    deprecated
Redirect the clients to a specific URL/page (specify path(s) as argument(s) of this function).
        
                            
    runTask(mixed $action, mixed $parameters)
        deprecated
    
    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
        
                            
    getBlockTypeExportPageColumns()
        
    
    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.
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.        
        
        
                            
    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
}
```.        
        
        
                            
    validate($args)
        
    
    No description
        
                            
    getBlockControllerData()
        
    
    No description
        
                    protected        
    performSave(array $args, bool $loadExisting = false)
        
    
    Persist the block options.
        
                            
    save($data = [])
        
    
    Form add or edit submit (run after the duplicate method on first block edit of new page version).
        
                            
    cacheBlockRecord()
        
    
    No description
        
                            
    getPermissionsObject()
        deprecated
    
    deprecated
No description
        
                            
    getBlockTypeDefaultSet()
        
    
    No description
        
                            
    getPermissionObject()
        
    
    Gets the permissions object for this controller's block.
        
                            BlockRecord
    duplicate($newBID)
        
    
    Duplicate will run when copying a page with a block, or editing a block for the first time within a page version (before the save).
        
                            
    __wakeup()
        
    
    No description
        
                            
    setBlockObject($b)
        
    
    Sets the block object for this controller.
        
                    protected        
    load()
        
    
    Loads the BlockRecord class based on its attribute names.
        
                            
    getBlockTypeFeatureObjects()
        
    
    No description
        
                            
    export(SimpleXMLElement $blockNode)
        
    
    No description
        
                            
    getBlockTypeDatabaseTable()
        
    
    No description
        
                            
    import($page, $arHandle, SimpleXMLElement $blockNode)
        
    
    No description
        
                    protected        
    getImportData($blockNode, $page)
        
    
    No description
        
                    protected        
    importAdditionalData($b, $blockNode)
        
    
    No description
        
                            
    setPassThruBlockController(PageController $controller)
        
    
    No description
        
                            
    validateEditBlockPassThruAction(Block $b)
        
    
    No description
        
                            
    validateComposerAddBlockPassThruAction(Type $type)
        
    
    No description
        
                            
    validateComposerEditBlockPassThruAction(Block $b)
        
    
    No description
        
                            
    getPassThruActionAndParameters($parameters)
        
    
    No description
        
                            
    isValidControllerTask($method, $parameters = [])
        
    
    No description
        
                            
    cacheBlockOutput()
        
    
    No description
        
                            
    cacheBlockOutputForRegisteredUsers()
        
    
    No description
        
                            
    cacheBlockOutputOnPost()
        
    
    No description
        
                            
    getBlockTypeCacheOutputLifetime()
        
    
    No description
        
                            
    getCollectionObject()
        
    
    No description
        
                            
    field($fieldName)
        
    
    No description
        
                            Block
    getBlockObject()
        
    
    Gets the generic Block object attached to this controller's instance.
        
                            
    delete()
        
    
    Automatically run when a block is deleted. This removes the special data from the block's specific database table. If a block needs to do more than this this method should be overridden.
        
                            
    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()
        
    
    Used for localization. If we want to localize the name/description we have to include this.
        
                            
    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()
        
    
    Returns a key/value array of strings that is used to translate items when used in javascript.
        
                        private    
    viewRequiresJqueryUI()
        
    
    Internal helper function.
        
                            
    view()
        
    
    No description
        
                            
    getDefaultThankYouMsg()
        
    
    No description
        
                            
    getDefaultSubmitText()
        
    
    No description
        
                    protected        
    questionVersioning(array $data = [])
        
    
    Ties the new or edited questions to the new block number.
New and edited questions are temporarily given bID=0, until the block is saved... painfully complicated.
        
                            
    action_submit_form(int $bID = false)
        
    
    Users submits the completed survey.