Craft 3 Class Reference

Abstract Class craft\controllers\BaseUpdaterController

Inheritance
craft\controllers\BaseUpdaterController » craft\web\Controller » yii\web\Controller » yii\base\Controller » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable, yii\base\ViewContextInterface
Subclasses
craft\controllers\UpdaterController, craft\controllers\pluginstore\InstallController, craft\controllers\pluginstore\RemoveController
Available since version
3.0
Source Code
https://github.com/craftcms/cms/blob/master/src/controllers/BaseUpdaterController.php

BaseUpdaterController provides the base class for Craft/plugin installation/updating/removal.

Public Properties
Property Type Description Defined By
$action yii\base\Action The action that is currently being executed. yii\base\Controller
$actionParams array The parameters bound to the current action. yii\web\Controller
$defaultAction string The ID of the action that is used when the action ID is not specified in the request. yii\base\Controller
$enableCsrfValidation boolean Whether to enable CSRF validation for the actions in this controller. yii\web\Controller
$id string The ID of this controller. yii\base\Controller
$layout null, string, false The name of the layout to be applied to this controller's views. yii\base\Controller
$module yii\base\Module The module that this controller belongs to. yii\base\Controller
Protected Properties
Property Type Description Defined By
$allowAnonymous boolean, string[] Whether this controller’s actions can be accessed anonymously If set to false, you are required to be logged in to execute any of the given controller's actions. craft\controllers\BaseUpdaterController
$data array The data associated with the current update craft\controllers\BaseUpdaterController
Public Methods
Method Description Defined By
__call() Calls the named method which is not a class method. yii\base\BaseObject
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of an object property. yii\base\BaseObject
__isset() Checks if a property is set, i.e. defined and not null. yii\base\BaseObject
__set() Sets value of an object property. yii\base\BaseObject
__unset() Sets an object property to null. yii\base\BaseObject
actionComposerInstall() Installs Composer dependencies. craft\controllers\BaseUpdaterController
actionComposerOptimize() Optimizes the Composer autoloader. craft\controllers\BaseUpdaterController
actionComposerRemove() Removes Composer dependencies. craft\controllers\BaseUpdaterController
actionFinish() Finishes the update process. craft\controllers\BaseUpdaterController
actionIndex() Kicks off the update. craft\controllers\BaseUpdaterController
actionRecheckComposer() Rechecks for composer.json, if it couldn't be found in the initial state. craft\controllers\BaseUpdaterController
actions() Declares external actions for the controller. yii\base\Controller
afterAction() This method is invoked right after an action is executed. yii\base\Controller
asErrorJson() Responds to the request with a JSON error message. craft\web\Controller
asJson() Send data formatted as JSON. yii\web\Controller
asJsonP() Sets the response format of the given data as JSONP. craft\web\Controller
asRaw() Sets the response format of the given data as RAW. craft\web\Controller
asXml() Send data formatted as XML. yii\web\Controller
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
beforeAction() {@inheritdoc} craft\controllers\BaseUpdaterController
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
bindActionParams() Binds the parameters to the action. yii\base\Controller
canGetProperty() Returns a value indicating whether a property can be read. yii\base\BaseObject
canSetProperty() Returns a value indicating whether a property can be set. yii\base\BaseObject
className() Returns the fully qualified name of this class. yii\base\BaseObject
createAction() Creates an action based on the given action ID. yii\base\Controller
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
findLayoutFile() Finds the applicable layout file. yii\base\Controller
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getModules() Returns all ancestor modules of this controller. yii\base\Controller
getRoute() Returns the route of the current request. yii\base\Controller
getUniqueId() Returns the unique ID of the controller. yii\base\Controller
getView() Returns the view object that can be used to render views or view files. yii\base\Controller
getViewPath() yii\base\ViewContextInterface
goBack() Redirects the browser to the last visited page. yii\web\Controller
goHome() Redirects the browser to the home page. yii\web\Controller
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\BaseObject
hasProperty() Returns a value indicating whether a property is defined. yii\base\BaseObject
init() Initializes the object. yii\base\BaseObject
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
redirect() Redirects the browser to the specified URL. craft\web\Controller
redirectToPostedUrl() Redirects to the URI specified in the POST. craft\web\Controller
refresh() Refreshes the current page. yii\web\Controller
render() Renders a view and applies layout if available. yii\base\Controller
renderAjax() Renders a view in response to an AJAX request. yii\web\Controller
renderContent() Renders a static string by applying a layout. yii\base\Controller
renderFile() Renders a view file. yii\base\Controller
renderPartial() Renders a view without applying layout. yii\base\Controller
renderTemplate() Renders a template. craft\web\Controller
requireAcceptsJson() Throws a 400 error if the request doesn't accept JSON. craft\web\Controller
requireAdmin() Throws a 403 error if the current user is not an admin. craft\web\Controller
requireAuthorization() Checks whether the current user can perform a given action, and ends the request with a 403 error if they don’t. craft\web\Controller
requireElevatedSession() Requires that the user has an elevated session. craft\web\Controller
requireLogin() Redirects the user to the login template if they're not logged in. craft\web\Controller
requirePermission() Checks whether the current user has a given permission, and ends the request with a 403 error if they don’t. craft\web\Controller
requirePostRequest() Throws a 400 error if this isn’t a POST request craft\web\Controller
requireToken() Throws a 400 error if the current request doesn’t have a valid token. craft\web\Controller
run() Runs a request specified in terms of a route. yii\base\Controller
runAction() Runs an action within this controller with the specified action ID and parameters. craft\web\Controller
setView() Sets the view object to be used by this controller. yii\base\Controller
setViewPath() Sets the directory that contains the view files. yii\base\Controller
trigger() Triggers an event. yii\base\Component
Protected Methods
Method Description Defined By
actionOption() Returns an option definition that kicks off a new action. craft\controllers\BaseUpdaterController
actionState() Sets the state info for the given next action. craft\controllers\BaseUpdaterController
actionStatus() Returns the status message for the given action. craft\controllers\BaseUpdaterController
ensureComposerJson() Ensures that composer.json can be found. craft\controllers\BaseUpdaterController
finishedState() Sets the state info for when the job is done. craft\controllers\BaseUpdaterController
initialData() Returns the initial data. craft\controllers\BaseUpdaterController
initialState() Returns the initial state for the updater JS. craft\controllers\BaseUpdaterController
noComposerJsonState() Returns the initial state if composer.json couldn't be found. craft\controllers\BaseUpdaterController
pageTitle() Returns the page title craft\controllers\BaseUpdaterController
postComposerInstallState() Returns the state data for after actionComposerInstall() is done. craft\controllers\BaseUpdaterController
returnUrl() Returns the return URL that should be passed with a finished state. craft\controllers\BaseUpdaterController
runMigrations() Runs the migrations for a given list of handles. craft\controllers\BaseUpdaterController
send() Sends a state response. craft\controllers\BaseUpdaterController
sendComposerError() Sends an "error" state response for a Composer error craft\controllers\BaseUpdaterController
sendFinished() Sends a "finished" state response. craft\controllers\BaseUpdaterController
sendNextAction() Sends a "next action" state response. craft\controllers\BaseUpdaterController
Events
Event Type Description Defined By
EVENT_AFTER_ACTION yii\base\ActionEvent An event raised right after executing a controller action. yii\base\Controller
EVENT_BEFORE_ACTION yii\base\ActionEvent An event raised right before executing a controller action. yii\base\Controller
Constants
Constant Value Description Defined By
ACTION_COMPOSER_INSTALL 'composer-install' craft\controllers\BaseUpdaterController
ACTION_COMPOSER_OPTIMIZE 'composer-optimize' craft\controllers\BaseUpdaterController
ACTION_COMPOSER_REMOVE 'composer-remove' craft\controllers\BaseUpdaterController
ACTION_FINISH 'finish' craft\controllers\BaseUpdaterController
ACTION_RECHECK_COMPOSER 'recheck-composer' craft\controllers\BaseUpdaterController

Property Details

$allowAnonymous protected property #

Whether this controller’s actions can be accessed anonymously If set to false, you are required to be logged in to execute any of the given controller's actions. If set to true, anonymous access is allowed for all of the given controller's actions. If the value is an array of action IDs, then you must be logged in for any actions except for the ones in the array list. If you have a controller that where the majority of actions allow anonymous access, but you only want require login on a few, you can set this to true and call requireLogin() in the individual methods.

protected boolean, string[] $allowAnonymous true

$data protected property #

The data associated with the current update

protected array $data = []

Method Details

actionComposerInstall() public method #

Installs Composer dependencies.

public yii\web\Response actionComposerInstall ( )

actionComposerOptimize() public method #

Optimizes the Composer autoloader.

public yii\web\Response actionComposerOptimize ( )

actionComposerRemove() public method #

Removes Composer dependencies.

public yii\web\Response actionComposerRemove ( )

actionFinish() public method #

Finishes the update process.

public yii\web\Response actionFinish ( )

actionIndex() public method #

Kicks off the update.

public yii\web\Response actionIndex ( )
throws yii\web\BadRequestHttpException

actionOption() protected method #

Returns an option definition that kicks off a new action.

protected array actionOption ( \craft\controllers\string $label, \craft\controllers\string $action, array $state = [] )
$label string
$action string
$state array

actionRecheckComposer() public method #

Rechecks for composer.json, if it couldn't be found in the initial state.

public yii\web\Response actionRecheckComposer ( )

actionState() protected method #

Sets the state info for the given next action.

protected array actionState ( \craft\controllers\string $nextAction, array $state = [] )
$nextAction string
$state array

actionStatus() protected method #

Returns the status message for the given action.

protected string actionStatus ( \craft\controllers\string $action )
$action string
throws yii\base\Exception if $action isn't valid

beforeAction() public method #

{@inheritdoc}

public void beforeAction ( $action )
$action
throws yii\web\NotFoundHttpException if it's not a CP request
throws yii\web\BadRequestHttpException if there's invalid data in the request

ensureComposerJson() protected method #

Ensures that composer.json can be found.

protected boolean ensureComposerJson ( )
return boolean Whether composer.json can be found

finishedState() protected method #

Sets the state info for when the job is done.

protected array finishedState ( array $state = [] )
$state array

initialData() protected abstract method #

Returns the initial data.

protected abstract array initialData ( )

initialState() protected abstract method #

Returns the initial state for the updater JS.

protected abstract array initialState ( )

noComposerJsonState() protected method #

Returns the initial state if composer.json couldn't be found.

See also ensureComposerJson().

protected array noComposerJsonState ( )

pageTitle() protected abstract method #

Returns the page title

protected abstract string pageTitle ( )

postComposerInstallState() protected abstract method #

Returns the state data for after actionComposerInstall() is done.

protected abstract array postComposerInstallState ( )

returnUrl() protected abstract method #

Returns the return URL that should be passed with a finished state.

protected abstract string returnUrl ( )

runMigrations() protected method #

Runs the migrations for a given list of handles.

protected yii\web\Response, null runMigrations ( array $handles, \craft\controllers\string $restoreAction null )
$handles string[]
$restoreAction string, null

send() protected method #

Sends a state response.

protected yii\web\Response send ( array $state = [] )
$state array

sendComposerError() protected method #

Sends an "error" state response for a Composer error

protected yii\web\Response sendComposerError ( \craft\controllers\string $error, Throwable $e, \Composer\IO\BufferIO $io, array $state = [] )
$error string The status message to show
$e Throwable The exception that was thrown
$io \Composer\IO\BufferIO The IO object that Composer was instantiated with
$state array

sendFinished() protected method #

Sends a "finished" state response.

protected yii\web\Response sendFinished ( array $state = [] )
$state array

sendNextAction() protected method #

Sends a "next action" state response.

protected yii\web\Response sendNextAction ( \craft\controllers\string $nextAction, array $state = [] )
$nextAction string The next action that should be run
$state array