Themes
Theme selector controller
class Cms\Controllers\Themes
extends Backend\Classes\Controller
Extends
Class | Description |
---|---|
Controller
|
The Backend base controller class, used by Backend controllers. |
Traits
Trait | Description |
---|---|
AssetMaker
|
Asset Maker Trait Adds asset based methods to a class |
ConfigMaker
|
Config Maker Trait Adds configuration based methods to a class |
ErrorMaker
|
Error Maker Trait
Adds exception based methods to a class, goes well with |
EventEmitter
|
Adds system event related features to any class. |
ExtendableTrait
|
This extension trait is used when access to the underlying base class is not available, such as classes that belong to the foundation framework (Laravel). It is currently used by the Controller and Model classes. |
ResponseMaker
|
Response Maker Trait Stores attributes the can be used to prepare a response from the server. |
SecurityController
|
Security Controller Trait Adds cross-site scripting protection methods to a controller based class |
ViewMaker
|
View Maker Trait Adds view based methods to a class |
WidgetMaker
|
Widget Maker Trait |
Properties
public
$requiredPermissions
:
array
= ["cms.manage_themes","cms.manage_theme_options"]
Permissions required to view this page.
inherited public $assetPath : string
Specifies a path to the asset directory.
inherited public $bodyClass : string
Body class property used for customising the layout on a controller basis.
inherited
public
$hiddenActions
:
array
= ["run","actionExists","pageAction","getId","setStatusCode","handleError","makeHintPartial"]
Default methods which cannot be called as actions.
inherited public $implement : array
Behaviors implemented by this controller.
inherited public $layout : string
Layout to use for the view.
inherited public $pageTitle : string
Page title
inherited public $pageTitleTemplate : string
Page title template
inherited
public
$suppressLayout
:
bool
= false
Prevents the use of a layout.
inherited
public
$suppressView
:
bool
= false
Prevents the automatic view display.
inherited
public
$vars
:
array
= []
A list of variables to pass to the page.
inherited public $widget : array
Collection of WidgetBase objects used on this page.
inherited protected $action : string
Page action being called.
inherited
protected
$assets
:
array
= {"js":[],"css":[],"rss":[],"vite":[]}
Collection of assets to display in the layout.
inherited protected $configPath : string
Specifies a path to the config directory.
inherited
protected
static
$extendableCallbacks
:
array
= []
Used to extend the constructor of an extendable class. Eg:
Class::extend(function($obj) { })
inherited
protected
static
$extendableClassLoader
:
ClassLoader
|
null
= null
Class loader instance.
inherited
protected
static
$extendableStaticMethods
:
array
= []
Collection of static methods used by behaviors.
inherited
protected
$extensionData
:
array
= {"extensions":[],"methods":[],"dynamicMethods":[],"dynamicProperties":[]}
Class reflection information, including behaviors.
inherited protected $fatalError : string
Object used for storing a fatal error.
inherited
protected
$guarded
:
array
= []
Controller specified methods which cannot be called as actions.
inherited protected $layoutPath : string
Specifies a path to the layout directory.
inherited protected $orderFactor : integer
Ensures "first-come, first-served" applies to assets of the same ordering.
inherited protected $params : array
Routed parameters.
inherited
protected
$publicActions
:
array
= []
Defines a collection of actions available without authentication.
inherited
protected
$responseHeaderBag
:
Symfony\Component\HttpFoundation\ResponseHeaderBag
= null
inherited
protected
$responseOverride
:
mixed
= null
Override the standard controller response.
inherited
protected
$statusCode
:
int
= 200
Response status code
inherited protected $user : object
Reference the logged in admin user.
inherited protected $viewPath : string | array
Specifies a path to the views directory.
Methods
public __construct ()
Constructor.
public
download ($name, $outputName = null
)
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
$outputName | mixed |
mixed
|
public index ()
public index_onCreate ()
public index_onDelete ()
public index_onDuplicateTheme ()
public index_onExport ()
public index_onImport ()
public index_onLoadCreateForm ()
public index_onLoadDuplicateForm ()
public index_onLoadExportForm ()
public index_onLoadFieldsForm ()
public index_onLoadImportForm ()
public index_onSaveFields ()
public index_onSetActiveTheme ()
protected
findThemeObject ($name = null
)
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
protected makeCreateFormWidget ()
protected makeExportFormWidget ($theme)
Property | Type | Description |
---|---|---|
$theme | mixed |
mixed
|
protected makeFieldsFormWidget ($theme)
Property | Type | Description |
---|---|---|
$theme | mixed |
mixed
|
protected makeImportFormWidget ($theme)
Property | Type | Description |
---|---|---|
$theme | mixed |
mixed
|
inherited public __call ($name, $params)
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
$params | mixed |
mixed
|
inherited public static __callStatic ($name, $params)
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
$params | mixed |
mixed
|
inherited public __get ($name)
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
inherited public __set ($name, $value)
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
$value | mixed |
mixed
|
inherited
public
actionExists (string $name, boolean $internal = false
)
: bool
This method is used internally.
Determines whether an action with the specified name exists. Action must be a class public method. Action name can not be prefixed with the underscore character.
Property | Type | Description |
---|---|---|
$name | string |
string
Specifies the action name. |
$internal | boolean |
boolean
Allow protected actions. |
inherited
public
actionUrl ($action = null
, $path = null
)
Returns a URL for this controller and supplied action.
Property | Type | Description |
---|---|---|
$action | mixed |
mixed
|
$path | mixed |
mixed
|
inherited
public
addCss (string | array $name, array $attributes = []
)
: void
Adds StyleSheet asset to the asset list. Call $this->makeAssets() in a view to output corresponding markup.
Property | Type | Description |
---|---|---|
$name | string | array |
string | array
When an array of paths are provided they will be passed to the Asset Combiner |
$attributes | array |
array
When a string is provided it will be used as the 'build' attribute value |
inherited
public
addDynamicMethod (string $dynamicName, callable $method, string $extension = null
)
Programmatically adds a method to the extendable class
Property | Type | Description |
---|---|---|
$dynamicName | string |
string
|
$method | callable |
callable
|
$extension | string |
string
|
inherited
public
addDynamicProperty (string $dynamicName, mixed $value = null
)
: void
Programmatically adds a property to the extendable class
Property | Type | Description |
---|---|---|
$dynamicName | string |
string
The name of the property to add |
$value | mixed |
mixed
The value of the property |
inherited
public
addJs (string | array $name, array $attributes = []
)
: void
Adds JavaScript asset to the asset list. Call $this->makeAssets() in a view to output corresponding markup.
Property | Type | Description |
---|---|---|
$name | string | array |
string | array
When an array of paths are provided they will be passed to the Asset Combiner |
$attributes | array |
array
When a string is provided it will be used as the 'build' attribute value |
inherited
public
addRss (string $name, array $attributes = []
)
: void
Adds an RSS link asset to the asset list. Call $this->makeAssets() in a view to output corresponding markup.
Property | Type | Description |
---|---|---|
$name | string |
string
|
$attributes | array |
array
|
inherited public addViewPath (string | array $path) : void
Prepends a path on the available view path locations.
Property | Type | Description |
---|---|---|
$path | string | array |
string | array
|
inherited
public
addVite (array | string $entrypoints, ?string $package = null
)
: void
Adds Vite tags
Property | Type | Description |
---|---|---|
$entrypoints | array | string |
array | string
The list of entry points for Vite |
$package | ?string |
?string
The package name of the plugin or theme |
inherited public asExtension (string $shortName) : mixed
Short hand for getClassExtension()
method, except takes the short
extension name, example:
$this->asExtension('FormController')
Property | Type | Description |
---|---|---|
$shortName | string |
string
|
inherited public static clearExtendedClasses () : void
Clear the list of extended classes so they will be re-extended.
inherited
public
combineAssets (array $assets, string $localPath = ""
)
: string
Run the provided assets through the Asset Combiner
Property | Type | Description |
---|---|---|
$assets | array |
array
|
$localPath | string |
string
|
inherited public extendClassWith (string $extensionName) : void
Dynamically extend a class with a specified behavior
Property | Type | Description |
---|---|---|
$extensionName | string |
string
|
inherited
public
extendableCall (string $name, array $params = null
)
: mixed
Magic method for __call()
.
Callback priority is as follows:
- "Dynamic Methods" added locally to the object via addDynamicMethod($name, $callable)
- Methods available on Behaviors that have been implemented by the object
- Pass it to the parent's __call() method if it defines one
Property | Type | Description |
---|---|---|
$name | string |
string
|
$params | array |
array
|
inherited
public
static
extendableCallStatic (string $name, array $params = null
)
: mixed
Magic method for __callStatic()
Property | Type | Description |
---|---|---|
$name | string |
string
|
$params | array |
array
|
inherited public extendableConstruct ()
This method should be called as part of the constructor.
inherited
public
static
extendableExtendCallback (callable $callback, boolean $scoped = false
, $outerScope = null
)
: void
Helper method for ::extend()
static method.
Property | Type | Description |
---|---|---|
$callback | callable |
callable
|
$scoped | boolean |
boolean
|
$outerScope | mixed |
mixed
|
inherited public extendableGet (string $name) : mixed | null
Magic method for __get()
Property | Type | Description |
---|---|---|
$name | string |
string
|
inherited public extendableSet (string $name, mixed $value) : void
Magic method for __set()
Property | Type | Description |
---|---|---|
$name | string |
string
|
$value | mixed |
mixed
|
inherited
public
fireSystemEvent (string $event, array $params = []
, boolean $halt = true
)
: mixed
Fires a combination of local and global events. The first segment is removed from the event name locally and the local object is passed as the first argument to the event globally. Halting is also enabled by default.
For example:
$this->fireSystemEvent('backend.list.myEvent', ['my value']);
Is equivalent to:
$this->fireEvent('list.myEvent', ['myvalue'], true);
Event::fire('backend.list.myEvent', [$this, 'myvalue'], true);
Property | Type | Description |
---|---|---|
$event | string |
string
Event name |
$params | array |
array
Event parameters |
$halt | boolean |
boolean
Halt after first non-null result |
inherited
public
fireViewEvent (string $event, array $params = []
)
: string
Special event function used for extending within view files, allowing HTML to be injected multiple times.
For example:
= $this->fireViewEvent('backend.auth.extendSigninView') ?>Property | Type | Description |
---|---|---|
$event | string |
string
Event name |
$params | array |
array
Event parameters |
inherited public flushAssets () : void
Disables the use, and subequent broadcast, of assets. This is useful to call during an AJAX request to speed things up. This method works by specifically targeting the hasAssetsDefined method.
inherited public getAjaxHandler () : string
Returns the AJAX handler for the current request, if available.
inherited
public
getAssetPath (string $fileName, $assetPath = null
)
: string
Returns the URL to the provided asset. If the provided fileName is a relative path without a leading slash it will be assumbed to be relative to the asset path.
Property | Type | Description |
---|---|---|
$fileName | string |
string
|
$assetPath | mixed |
mixed
|
inherited public getAssetPaths () : array
Returns an array of all registered asset paths.
Assets will be prioritized based on their defined ordering.
inherited public getClassExtension (string $name) : mixed
Returns a behavior object from an extendable class, example:
$this->getClassExtension('Backend.Behaviors.FormController')
Property | Type | Description |
---|---|---|
$name | string |
string
Fully qualified behavior name |
inherited public getClassMethods () : array
Get a list of class methods, extension equivalent of get_class_methods()
inherited
public
getConfigPath (string $fileName, mixed $configPath = null
)
: string
Locates a file based on it's definition. If the file starts with the ~ symbol it will be returned in context of the application base path, otherwise it will be returned in context of the config path.
Property | Type | Description |
---|---|---|
$fileName | string |
string
File to load. |
$configPath | mixed |
mixed
Explicitly define a config path. |
Full path to the config file.
inherited public getDynamicProperties () : array
Returns all dynamic properties and their values
['property' => 'value']
inherited public getFatalError () : string
The fatal error message
inherited
public
getId ($suffix = null
)
Returns a unique ID for the controller and route. Useful in creating HTML markup.
Property | Type | Description |
---|---|---|
$suffix | mixed |
mixed
|
inherited public getPublicActions ()
Returns the controllers public actions.
inherited public getResponseHeaders () : Symfony\Component\HttpFoundation\ResponseHeaderBag | null
Get the header response bag
inherited public getStatusCode () : int
Returns the status code for the current web response.
Status code
inherited
public
getViewPath (string $fileName, $viewPaths = null
)
: string
Locates a file based on its definition. The file name can be prefixed with a symbol (~|$) to return in context of the application or plugin base path, otherwise it will be returned in context of this object view path.
If the fileName cannot be found it will be returned unmodified.
Property | Type | Description |
---|---|---|
$fileName | string |
string
|
$viewPaths | mixed |
mixed
|
inherited public getViewPaths () : array
Returns the active view path locations.
inherited
public
guessConfigPath (string $suffix = ""
)
: string
Guess the package path for the called class.
Property | Type | Description |
---|---|---|
$suffix | string |
string
An extra path to attach to the end |
inherited
public
guessConfigPathFrom (string $class, string $suffix = ""
)
: string
Guess the package path from a specified class.
Property | Type | Description |
---|---|---|
$class | string |
string
Class to guess path from. |
$suffix | string |
string
An extra path to attach to the end |
inherited
public
guessViewPath (string $suffix = ""
, boolean $isPublic = false
)
: string | null
Guess the package path for the called class.
Property | Type | Description |
---|---|---|
$suffix | string |
string
An extra path to attach to the end |
$isPublic | boolean |
boolean
Returns public path instead of an absolute one |
inherited
public
guessViewPathFrom (string $class, string $suffix = ""
, boolean $isPublic = false
)
: string | null
Guess the package path from a specified class.
Property | Type | Description |
---|---|---|
$class | string |
string
Class to guess path from. |
$suffix | string |
string
An extra path to attach to the end |
$isPublic | boolean |
boolean
Returns public path instead of an absolute one |
inherited public handleError ($exception)
Sets standard page variables in the case of a controller error.
Property | Type | Description |
---|---|---|
$exception | mixed |
mixed
|
inherited public hasAssetsDefined () : bool
Returns true if assets any have been added.
inherited public hasFatalError () : bool
Whether a fatal error has been set or not.
inherited public isBackendHintHidden (string $name) : bool
Checks if a hint has been hidden by the user.
Property | Type | Description |
---|---|---|
$name | string |
string
Unique key name |
inherited public isClassExtendedWith (string $name) : bool
Check if extendable class is extended with a behavior object
Property | Type | Description |
---|---|---|
$name | string |
string
Fully qualified behavior name |
inherited
public
makeAssets ($type = null
)
: string | null
Outputs <link>
and <script>
tags to load assets previously added
with addJs, addCss, & addRss method calls depending on the provided $type
Property | Type | Description |
---|---|---|
$type | mixed |
mixed
|
inherited
public
makeConfig (array $configFile = []
, array $requiredConfig = []
)
: array | stdClass
Reads the contents of the supplied file and applies it to this object.
Property | Type | Description |
---|---|---|
$configFile | array |
array
|
$requiredConfig | array |
array
|
inherited
public
makeConfigFromArray (array $configArray = []
)
: stdClass
Makes a config object from an array, making the first level keys properties of a new object.
Property | Type | Description |
---|---|---|
$configArray | array |
array
Config array. |
The config object
inherited
public
makeFileContents (string $filePath, array $extraParams = []
)
: string
Includes a file path using output buffering, making the provided vars available.
Property | Type | Description |
---|---|---|
$filePath | string |
string
|
$extraParams | array |
array
|
inherited
public
makeFormWidget (string $class, array $fieldConfig = []
, array $widgetConfig = []
)
: Backend\Classes\FormWidgetBase
Makes a form widget object with the supplied form field and widget configuration.
Property | Type | Description |
---|---|---|
$class | string |
string
Widget class name |
$fieldConfig | array |
array
A field name, an array of config or a FormField object. |
$widgetConfig | array |
array
An array of config. |
The widget object
inherited
public
makeHintPartial (string $name, string $partial = null
, array $params = []
)
: string
Renders a hint partial, used for displaying informative information that can be hidden by the user. If you don't want to render a partial, you can supply content via the 'content' key of $params.
Property | Type | Description |
---|---|---|
$name | string |
string
Unique key name |
$partial | string |
string
Reference to content (partial name) |
$params | array |
array
Extra parameters |
inherited
public
makeLayout ($name = null
, array $params = []
, boolean $throwException = true
)
: string | bool
Render a layout, defaulting to the layout propery specified on the class
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
$params | array |
array
|
$throwException | boolean |
boolean
|
The layout contents, or false.
inherited
public
makeLayoutPartial (string $partial, array $params = []
)
: string
Renders a layout partial
Property | Type | Description |
---|---|---|
$partial | string |
string
|
$params | array |
array
|
inherited
public
makePartial (string $partial, array $params = []
, boolean $throwException = true
)
: mixed
Render a partial file contents located in the views folder.
Property | Type | Description |
---|---|---|
$partial | string |
string
|
$params | array |
array
|
$throwException | boolean |
boolean
|
Partial contents or false if not throwing an exception.
inherited public makeResponse (mixed $contents) : mixed
Prepares a response that considers overrides and custom responses.
Property | Type | Description |
---|---|---|
$contents | mixed |
mixed
|
inherited public makeView (string $view) : string
Loads the specified view. Applies the layout if one is set.
The view file must have the .php extension (or ".htm" for historical reasons) and be located in the views directory
Property | Type | Description |
---|---|---|
$view | string |
string
|
inherited
public
makeViewContent (string $contents, $layout = null
)
: string
Renders supplied contents inside a layout.
Property | Type | Description |
---|---|---|
$contents | string |
string
|
$layout | mixed |
mixed
|
inherited
public
makeWidget (string $class, array $widgetConfig = []
)
: mixed | Backend\Classes\WidgetBase
Makes a widget object with the supplied configuration file.
Property | Type | Description |
---|---|---|
$class | string |
string
Widget class name |
$widgetConfig | array |
array
An array of config. |
The widget object
inherited public mergeConfig (mixed $configA, mixed $configB) : stdClass
Merges two configuration sources, either prepared or not, and returns them as a single configuration object.
Property | Type | Description |
---|---|---|
$configA | mixed |
mixed
|
$configB | mixed |
mixed
|
The config object
inherited public methodExists (string $name) : bool
Checks if a method exists, extension equivalent of method_exists()
Property | Type | Description |
---|---|---|
$name | string |
string
|
inherited public onHideBackendHint () : void
Ajax handler to hide a backend hint, once hidden the partial will no longer display for the user.
inherited public orderAssets (array $assets) : array
Prioritize assets based on the given order.
Property | Type | Description |
---|---|---|
$assets | array |
array
|
inherited public pageAction ()
Invokes the current controller action without rendering a view, used by AJAX handler that may rely on the logic inside the action.
inherited public propertyExists (string $name) : bool
Checks if a property exists, extension equivalent of property_exists()
Property | Type | Description |
---|---|---|
$name | string |
string
|
inherited
public
run (string $action = null
, array $params = []
)
: mixed
Execute the controller action.
Property | Type | Description |
---|---|---|
$action | string |
string
The action name. |
$params | array |
array
Routing parameters to pass to the action. |
The action result.
inherited public setResponse (mixed $response) : $this
Sets the response for the current page request cycle, this value takes priority over the standard response prepared by the controller.
Property | Type | Description |
---|---|---|
$response | mixed |
mixed
Response object or string |
inherited public setResponseCookie (Symfony\Component\HttpFoundation\Cookie | mixed $cookie) : $this
Add a cookie to the response.
Property | Type | Description |
---|---|---|
$cookie | Symfony\Component\HttpFoundation\Cookie | mixed |
Symfony\Component\HttpFoundation\Cookie | mixed
|
inherited
public
setResponseHeader (string $key, array | string $values, boolean $replace = true
)
: $this
Set a header on the Response.
Property | Type | Description |
---|---|---|
$key | string |
string
|
$values | array | string |
array | string
|
$replace | boolean |
boolean
|
inherited public setStatusCode (int $code) : $this
Sets the status code for the current web response.
Property | Type | Description |
---|---|---|
$code | int |
int
Status code |
inherited protected addAsset (string $type, string $path, array $attributes) : void
Adds the provided asset to the internal asset collections
Property | Type | Description |
---|---|---|
$type | string |
string
|
$path | string |
string
|
$attributes | array |
array
|
inherited protected execAjaxHandlers ()
This method is used internally.
Invokes a controller event handler and loads the supplied partials.
inherited protected execPageAction (string $actionName, array $parameters)
This method is used internally.
Invokes the controller action and loads the corresponding view.
Property | Type | Description |
---|---|---|
$actionName | string |
string
Specifies a action name to execute. |
$parameters | array |
array
A list of the action parameters. |
inherited protected extendableIsAccessible (mixed $class, string $propertyName) : bool
Checks if a property is accessible, property equivalent of is_callable()
Property | Type | Description |
---|---|---|
$class | mixed |
mixed
|
$propertyName | string |
string
|
inherited protected extensionCallMethod (ReflectionClass $class, string $method, array $params)
Calls a method through reflection.
Property | Type | Description |
---|---|---|
$class | ReflectionClass |
ReflectionClass
|
$method | string |
string
|
$params | array |
array
|
inherited protected extensionExtractMethods (string $extensionName, object $extensionObject) : void
Extracts the available methods from a behavior and adds it to the list of callable methods.
Property | Type | Description |
---|---|---|
$extensionName | string |
string
|
$extensionObject | object |
object
|
inherited protected extensionGetClassLoader () : Winter\Storm\Support\ClassLoader | null
Gets the class loader
inherited
protected
extensionGetParentClass ($instance = null
)
: ReflectionClass | false
Gets the parent class using reflection.
The parent class must either not be the Extendable
class, or must not be using the ExtendableTrait
trait,
in order to prevent infinite loops.
Property | Type | Description |
---|---|---|
$instance | mixed |
mixed
|
inherited protected extensionMethodExists (ReflectionClass $class, string $methodName) : bool
Determines if the given class reflection contains the given method.
Property | Type | Description |
---|---|---|
$class | ReflectionClass |
ReflectionClass
|
$methodName | string |
string
|
inherited protected extensionNormalizeClassName (string $name) : string
Normalizes the provided extension name allowing for the ClassLoader to inject aliased classes
Property | Type | Description |
---|---|---|
$name | string |
string
|
inherited protected getAssetEntryBuildPath (array $asset) : string
Internal helper, attaches a build code to an asset path
Property | Type | Description |
---|---|---|
$asset | array |
array
|
inherited protected getAssetScheme (string $asset) : string
Internal helper, get asset scheme
Property | Type | Description |
---|---|---|
$asset | string |
string
|
inherited protected getLocalPath (string | null $relativePath) : string
Property | Type | Description |
---|---|---|
$relativePath | string | null |
string | null
|
inherited protected handleViewException (Throwable $e, integer $obLevel) : void
Handle a view exception.
Property | Type | Description |
---|---|---|
$e | Throwable |
Throwable
|
$obLevel | integer |
integer
|
inherited protected makeXsrfCookie () : Symfony\Component\HttpFoundation\Cookie
Adds anti-CSRF cookie.
Adds a cookie with a token for CSRF checks to the response.
inherited protected removeDuplicates () : void
Removes duplicate assets from the entire collection.
inherited protected runAjaxHandler ($handler) : bool
Tries to find and run an AJAX handler in the page action.
The method stops as soon as the handler is found.
Property | Type | Description |
---|---|---|
$handler | mixed |
mixed
|
Returns true if the handler was found. Returns false otherwise.
inherited protected runAjaxHandlerForWidget ($widget, $handler) : mixed
Specific code for executing an AJAX handler for a widget.
This will append the widget view paths to the controller and merge the vars.
Property | Type | Description |
---|---|---|
$widget | mixed |
mixed
|
$handler | mixed |
mixed
|
inherited protected verifyCsrfToken () : bool
Checks the request data / headers for a valid CSRF token.
Returns false if a valid token is not found or cms.enableCsrfProtection is set to false
inherited protected verifyForceSecure () : bool
Checks if the back-end should force a secure protocol (HTTPS) enabled by config.