core/model/modx/modmanagercontroller.class.php

Show: inherited
Table of Contents

Package
modx  

\modExtraManagerController

Package: modx

Utility abstract class for usage by Extras that has a subrequest handler that does auto-routing by the &action REQUEST parameter. You must extend this class in your Extra to use it.

Parent(s)
\modManagerController
Abstract
 

Properties

Propertypublicarray  $config= 'array()'
inherited

A configuration array of options related to this controller's action object.Inherited from: \modManagerController::$$config
Default valuearray()Details
Type
array
Inherited_from
\modManagerController::$$config  
Propertypublicstring  $content= ''''
inherited

The current output contentInherited from: \modManagerController::$$content
Default value''Details
Type
string
Inherited_from
\modManagerController::$$content  
Propertypublicarray  $controllersPaths= ''
inherited

An array of possible paths to this controller's directory.Inherited from: \modManagerController::$$controllersPaths
Details
Type
array
Inherited_from
\modManagerController::$$controllersPaths  
Propertypublic\modMediaSource  $defaultSource= ''
inherited

The default media source for the userInherited from: \modManagerController::$$defaultSource
Propertyprotectedstring  $failureMessage= ''''
inherited

The failure message, if existent, for this controller.Inherited from: \modManagerController::$$failureMessage
Default value''Details
Type
string
Inherited_from
\modManagerController::$$failureMessage  
Propertypublicarray  $head= 'array('css' => array(),'js' => array(),'html' => array(),'lastjs' => array())'
inherited

An array of css/js/html to load into the HEAD of the pageInherited from: \modManagerController::$$head
Default valuearray('css' => array(),'js' => array(),'html' => array(),'lastjs' => array())Details
Type
array
Inherited_from
\modManagerController::$$head  
Propertyprotectedbool  $isFailure= 'false'
inherited

Whether or not a failure message was sent by this controller.Inherited from: \modManagerController::$$isFailure
Default valuefalseDetails
Type
bool
Inherited_from
\modManagerController::$$isFailure  
Propertypublicbool  $loadBaseJavascript= 'true'
inherited

Set to false to prevent loading of the base MODExt JS classes.Inherited from: \modManagerController::$$loadBaseJavascript
Default valuetrueDetails
Type
bool
Inherited_from
\modManagerController::$$loadBaseJavascript  
Propertypublicbool  $loadFooter= 'true'
inherited

Set to false to prevent loading of the footer HTML.Inherited from: \modManagerController::$$loadFooter
Default valuetrueDetails
Type
bool
Inherited_from
\modManagerController::$$loadFooter  
Propertypublicbool  $loadHeader= 'true'
inherited

Set to false to prevent loading of the header HTML.Inherited from: \modManagerController::$$loadHeader
Default valuetrueDetails
Type
bool
Inherited_from
\modManagerController::$$loadHeader  
Propertypublic\modX  $modx= ''
inherited

A reference to the modX objectInherited from: \modManagerController::$$modx
Details
Type
\modX
Inherited_from
\modManagerController::$$modx  
Propertypublicarray  $placeholders= 'array()'
inherited

An array of placeholders that are being set to the pageInherited from: \modManagerController::$$placeholders
Default valuearray()Details
Type
array
Inherited_from
\modManagerController::$$placeholders  
Propertyprotectedstring  $ruleOutput= 'array()'
inherited

Any Form Customization rule output that was created.Inherited from: \modManagerController::$$ruleOutput
Default valuearray()Details
Type
string
Inherited_from
\modManagerController::$$ruleOutput  
Propertypublicarray  $scriptProperties= 'array()'
inherited

An array of request parameters sent to the controllerInherited from: \modManagerController::$$scriptProperties
Default valuearray()Details
Type
array
Inherited_from
\modManagerController::$$scriptProperties  
Propertypublicarray  $templatesPaths= 'array()'
inherited

An array of possible paths to this controller's templates directory.Inherited from: \modManagerController::$$templatesPaths
Default valuearray()Details
Type
array
Inherited_from
\modManagerController::$$templatesPaths  
Propertyprotectedstring  $theme= ''default''
inherited

The current manager theme.Inherited from: \modManagerController::$$theme
Default value'default'Details
Type
string
Inherited_from
\modManagerController::$$theme  
Propertyprotectedstring  $title= ''''
inherited

The pagetitle for this controller.Inherited from: \modManagerController::$$title
Default value''Details
Type
string
Inherited_from
\modManagerController::$$title  
Propertypublic\modContext  $workingContext= ''
inherited

The current working context.Inherited from: \modManagerController::$$workingContext
Details
Type
\modContext
Inherited_from
\modManagerController::$$workingContext  

Methods

methodpublic__construct( \modX $modx, array $config = array() ) : void
inherited

The constructor for the modManaagerController class.

Inherited from: \modManagerController::__construct()
Parameters
Name Type Description
$modx \modX

A reference to the modX object.

$config array

A configuration array of options related to this controller's action object.

methodprivate_postfixVersionToScript( string $str, string $version ) : string
inherited

Appends a version postfix to a script tag

Inherited from: \modManagerController::_postfixVersionToScript()
Parameters
Name Type Description
$str string

The script tag to append the version to

$version string

The version to append

Returns
Type Description
string The adjusted script tag
Details
Access
private  
methodprivate_prepareHead( ) : void
inherited

Prepare the set html/css/js to be added

Inherited from: \modManagerController::_prepareHead()
methodprivate_prepareVersionPostfix( ) : string
inherited

Grabs a stripped version of modx to prevent caching of JS after upgrades

Inherited from: \modManagerController::_prepareVersionPostfix()
Returns
Type Description
string The parsed version string
Details
Access
private  
methodpublicaddCss( string $script ) : void
inherited

Add a external CSS file to the head of the page

Inherited from: \modManagerController::addCss()
Parameters
Name Type Description
$script string
methodpublicaddHtml( string $script ) : void
inherited

Add a block of HTML to the head of the page

Inherited from: \modManagerController::addHtml()
Parameters
Name Type Description
$script string
methodpublicaddJavascript( string $script ) : void
inherited

Add an external Javascript file to the head of the page

Inherited from: \modManagerController::addJavascript()
Parameters
Name Type Description
$script string
methodpublicaddLastJavascript( string $script ) : void
inherited

Add an external Javascript file to the head of the page

Inherited from: \modManagerController::addLastJavascript()
Parameters
Name Type Description
$script string
methodpublicaddLexiconTopic( string $topic ) : string
inherited

Adds a topic to the JS language array

Inherited from: \modManagerController::addLexiconTopic()
Parameters
Name Type Description
$topic string
Returns
Type Description
string
methodprotectedassignPlaceholders( ) : void
methodpubliccheckFormCustomizationRules( \xPDOObject $obj = null, bool $forParent = false ) : bool
inherited

Checks Form Customization rules for an object.

Inherited from: \modManagerController::checkFormCustomizationRules()
Parameters
Name Type Description
$obj \xPDOObject

If passed, will validate against for rules with constraints.

$forParent bool
Returns
Type Description
bool
methodpubliccheckPermissions( ) : bool

Check whether the active user has access to view this page

Returns
Type Description
bool True if the user passes permission checks
methodpublicfailure( string $message ) : void
inherited

Set a failure on this controller. This will return the error message.

Inherited from: \modManagerController::failure()
Parameters
Name Type Description
$message string
methodpublicfetchTemplate( string $tpl ) : string
inherited

Fetch the template content

Inherited from: \modManagerController::fetchTemplate()
Parameters
Name Type Description
$tpl string

The path to the template

Returns
Type Description
string The output of the template
methodpublicfirePostRenderEvents( ) : void
inherited

Can be used to fire events after all the CSS/JS is loaded for a page

Inherited from: \modManagerController::firePostRenderEvents()
methodpublicfirePreRenderEvents( ) : void
inherited

Fire any pre-render events for the controller

Inherited from: \modManagerController::firePreRenderEvents()
methodpublicgetControllerClassName( string $action, string $namespace = '', string $postFix = 'ManagerController' ) : string
static

Return the class name of a controller given the action

Parameters
Name Type Description
$action string

The action name, eg: "home" or "create"

$namespace string

The namespace of the Exra

$postFix string

The string to postfix to the class name

Returns
Type Description
string A full class name of the controller class
Details
Static
 
methodpublicgetControllersPaths( bool $coreOnly = false ) : array
inherited

Get the path to this controller's directory. Override this to point to a custom directory.

Inherited from: \modManagerController::getControllersPaths()
Parameters
Name Type Description
$coreOnly bool

Ensure that it grabs the path from the core namespace only.

Returns
Type Description
array
methodpublicgetDefaultController( ) : string
static

Define the default controller action for this namespace

Returns
Type Description
string A default controller action
Details
Static
 
methodpublicgetDefaultState( ) : array | mixed | string
inherited

Get the default state for the UI

Inherited from: \modManagerController::getDefaultState()
Returns
Type Description
array | mixed | string
methodpublicgetFooter( ) : string
inherited

Get the page footer for the controller.

Inherited from: \modManagerController::getFooter()
Returns
Type Description
string
methodpublicgetHeader( ) : string
inherited

Get the page header for the controller.

Inherited from: \modManagerController::getHeader()
Returns
Type Description
string
methodpublicgetInstance( \modX $modx, string $className, array $config = array() ) : \modManagerController
static

Get an instance of this extra controller

Parameters
Name Type Description
$modx \modX

A reference to the modX object

$className string

The string className that is being requested to load

$config array

An array of configuration options built from the modAction object

Returns
Type Description
\modManagerController A newly created modManagerController instance
Details
Static
 
methodpublicgetLanguageTopics( ) : array
inherited

Specify an array of language topics to load for this controller

Inherited from: \modManagerController::getLanguageTopics()
Returns
Type Description
array
methodpublicgetPageTitle( ) : string

The page title for this controller

Returns
Type Description
string The string title of the page
methodpublicgetPlaceholder( string $k, mixed $default = null ) : mixed
inherited

Get a specific placeholder set

Inherited from: \modManagerController::getPlaceholder()
Parameters
Name Type Description
$k string
$default mixed
Returns
Type Description
mixed
methodpublicgetPlaceholders( ) : array
inherited

Get all the set placeholders

Inherited from: \modManagerController::getPlaceholders()
Returns
Type Description
array
methodpublicgetTemplateFile( ) : string

Specify the location of the template file

Returns
Type Description
string The absolute path to the template file
methodpublicgetTemplatesPaths( bool $coreOnly = false ) : array | string
inherited

Get an array of possible paths to this controller's template's directory.

Inherited from: \modManagerController::getTemplatesPaths()

Override this to point to a custom directory.

Parameters
Name Type Description
$coreOnly bool

Ensure that it grabs the path from the core namespace only.

Returns
Type Description
array | string
methodpublicinitialize( ) : void
inherited

Can be used to provide custom methods prior to processing

Inherited from: \modManagerController::initialize()
methodpublicloadController(  $controller, bool $coreOnly = false ) : mixed | string
inherited

Load another manual controller file (such as header/footer)

Inherited from: \modManagerController::loadController()
Parameters
Name Type Description
$controller
$coreOnly bool
Returns
Type Description
mixed | string
methodpublicloadControllersPath( ) : array
inherited

Load an array of possible paths to this controller's directory. Only override this if you want to override default behavior; otherwise, overriding getControllersPath is preferred.

Inherited from: \modManagerController::loadControllersPath()
Returns
Type Description
array
methodpublicloadCustomCssJs( ) : void

Loads any page-specific CSS/JS for the controller

methodpublicloadTemplatesPath( ) : string
inherited

Load the path to this controller's template's directory. Only override this if you want to override default behavior; otherwise, overriding getTemplatesPath is preferred.

Inherited from: \modManagerController::loadTemplatesPath()
Returns
Type Description
string
methodpublicloadWorkingContext( ) : \modContext | string
inherited

Load the working context for this controller.

Inherited from: \modManagerController::loadWorkingContext()
Returns
Type Description
\modContext | string
methodpublicprepareLanguage( ) : void
inherited

Prepares the language placeholders

Inherited from: \modManagerController::prepareLanguage()
methodpublicprocess( array $scriptProperties = array() ) : void

Do any page-specific logic and/or processing here

Parameters
Name Type Description
$scriptProperties array
methodpublicregisterBaseScripts( ) : void
inherited

Registers the core and base JS scripts

Inherited from: \modManagerController::registerBaseScripts()
Details
Access
public  
methodpublicregisterCssJs( ) : void
inherited

Registers CSS/JS to manager interface

Inherited from: \modManagerController::registerCssJs()
methodpublicrender( ) : string
inherited

Render the controller.

Inherited from: \modManagerController::render()
Returns
Type Description
string
methodpublicsetPlaceholder( string $k, mixed $v ) : void
inherited

Set a placeholder for this controller's template

Inherited from: \modManagerController::setPlaceholder()
Parameters
Name Type Description
$k string

The key of the placeholder

$v mixed

The value of the placeholder

methodpublicsetPlaceholders( array $keys ) : void
inherited

Set an array of placeholders

Inherited from: \modManagerController::setPlaceholders()
Parameters
Name Type Description
$keys array
methodpublicsetProperties( array $properties ) : void
inherited

Sets the properties array for this controller

Inherited from: \modManagerController::setProperties()
Parameters
Name Type Description
$properties array
methodpublicsetProperty( string $key, mixed $value ) : void
inherited

Set a property for this controller

Inherited from: \modManagerController::setProperty()
Parameters
Name Type Description
$key string
$value mixed
methodpublicsetTemplatePaths( array $paths ) : void
inherited

Set the possible template paths for this controller

Inherited from: \modManagerController::setTemplatePaths()
Parameters
Name Type Description
$paths array

\modManagerController

Package: modx

Abstract class for manager controllers. Not to be initialized directly; must be extended by the implementing controller.

Children
\modManagerControllerDeprecated
\modExtraManagerController
\TvInputManagerController
\TvInputPropertiesManagerController
\TvPropertiesManagerController
\WorkspacesPackageViewManagerController
\WorkspacesManagerController
\WorkspacesNamespaceManagerController
\WorkspacesLexiconManagerController
\ResourceManagerController
\ResourceSiteScheduleManagerController
\ResourceDataManagerController
\SecurityPermissionManagerController
\SecurityUserManagerController
\SecurityUserCreateManagerController
\SecurityUserUpdateManagerController
\SecurityProfileManagerController
\SecurityAccessPolicyTemplateUpdateManagerController
\SecurityAccessPolicyUpdateManagerController
\SecurityMessageManagerController
\SecurityResourceGroupIndexManagerController
\SecurityUserGroupCreateManagerController
\SecurityUserGroupUpdateManagerController
\SecurityLogoutManagerController
\SecurityFormsManagerController
\SecurityFormsSetUpdateManagerController
\SecurityFormsProfileUpdateManagerController
\SecurityLoginManagerController
\SystemDashboardsManagerController
\SystemDashboardsWidgetCreateManagerController
\SystemDashboardsWidgetUpdateManagerController
\SystemDashboardsCreateManagerController
\SystemDashboardsUpdateManagerController
\SystemFileEditManagerController
\SystemFileCreateManagerController
\SystemContentTypeManagerController
\SystemImportManagerController
\SystemImportHtmlManagerController
\SystemLogsIndexManagerController
\SystemEventManagerController
\SystemSettingsManagerController
\SystemActionManagerController
\SystemInfoManagerController
\HelpManagerController
\ContextViewManagerController
\ContextManagerController
\ContextUpdateManagerController
\WelcomeManagerController
\BrowserManagerController
\SourceIndexManagerController
\SourceUpdateManagerController
\SearchManagerController
\ElementChunkCreateManagerController
\ElementChunkUpdateManagerController
\ElementPropertySetIndexManagerController
\ElementTemplateCreateManagerController
\ElementTemplateUpdateManagerController
\ElementSnippetCreateManagerController
\ElementSnippetUpdateManagerController
\ElementPluginCreateManagerController
\ElementPluginUpdateManagerController
\ElementTVCreateManagerController
\ElementTVUpdateManagerController

Properties

Propertypublicarray  $config= 'array()'

A configuration array of options related to this controller's action object.
Default valuearray()Details
Type
array
Propertypublicstring  $content= ''''

The current output content
Default value''Details
Type
string
Propertypublicarray  $controllersPaths= ''

An array of possible paths to this controller's directory.
Details
Type
array
Propertypublic\modMediaSource  $defaultSource= ''

The default media source for the user
Details
Type
\modMediaSource
Propertyprotectedstring  $failureMessage= ''''

The failure message, if existent, for this controller.
Default value''Details
Type
string
Propertypublicarray  $head= 'array('css' => array(),'js' => array(),'html' => array(),'lastjs' => array())'

An array of css/js/html to load into the HEAD of the page
Default valuearray('css' => array(),'js' => array(),'html' => array(),'lastjs' => array())Details
Type
array
Propertyprotectedbool  $isFailure= 'false'

Whether or not a failure message was sent by this controller.
Default valuefalseDetails
Type
bool
Propertypublicbool  $loadBaseJavascript= 'true'

Set to false to prevent loading of the base MODExt JS classes.
Default valuetrueDetails
Type
bool
Propertypublicbool  $loadFooter= 'true'

Set to false to prevent loading of the footer HTML.
Default valuetrueDetails
Type
bool
Propertypublicbool  $loadHeader= 'true'

Set to false to prevent loading of the header HTML.
Default valuetrueDetails
Type
bool
Propertypublic\modX  $modx= ''

A reference to the modX object
Details
Type
\modX
Propertypublicarray  $placeholders= 'array()'

An array of placeholders that are being set to the page
Default valuearray()Details
Type
array
Propertyprotectedstring  $ruleOutput= 'array()'

Any Form Customization rule output that was created.
Default valuearray()Details
Type
string
Propertypublicarray  $scriptProperties= 'array()'

An array of request parameters sent to the controller
Default valuearray()Details
Type
array
Propertypublicarray  $templatesPaths= 'array()'

An array of possible paths to this controller's templates directory.
Default valuearray()Details
Type
array
Propertyprotectedstring  $theme= ''default''

The current manager theme.
Default value'default'Details
Type
string
Propertyprotectedstring  $title= ''''

The pagetitle for this controller.
Default value''Details
Type
string
Propertypublic\modContext  $workingContext= ''

The current working context.
Details
Type
\modContext

Methods

methodpublic__construct( \modX $modx, array $config = array() ) : void

The constructor for the modManaagerController class.

Parameters
Name Type Description
$modx \modX

A reference to the modX object.

$config array

A configuration array of options related to this controller's action object.

methodprivate_postfixVersionToScript( string $str, string $version ) : string

Appends a version postfix to a script tag

Parameters
Name Type Description
$str string

The script tag to append the version to

$version string

The version to append

Returns
Type Description
string The adjusted script tag
Details
Access
private  
methodprivate_prepareHead( ) : void

Prepare the set html/css/js to be added

methodprivate_prepareVersionPostfix( ) : string

Grabs a stripped version of modx to prevent caching of JS after upgrades

Returns
Type Description
string The parsed version string
Details
Access
private  
methodpublicaddCss( string $script ) : void

Add a external CSS file to the head of the page

Parameters
Name Type Description
$script string
methodpublicaddHtml( string $script ) : void

Add a block of HTML to the head of the page

Parameters
Name Type Description
$script string
methodpublicaddJavascript( string $script ) : void

Add an external Javascript file to the head of the page

Parameters
Name Type Description
$script string
methodpublicaddLastJavascript( string $script ) : void

Add an external Javascript file to the head of the page

Parameters
Name Type Description
$script string
methodpublicaddLexiconTopic( string $topic ) : string

Adds a topic to the JS language array

Parameters
Name Type Description
$topic string
Returns
Type Description
string
methodprotectedassignPlaceholders( ) : void

methodpubliccheckFormCustomizationRules( \xPDOObject $obj = null, bool $forParent = false ) : bool

Checks Form Customization rules for an object.

Parameters
Name Type Description
$obj \xPDOObject

If passed, will validate against for rules with constraints.

$forParent bool
Returns
Type Description
bool
methodpubliccheckPermissions( ) : boolean
abstract

Do permission checking in this method. Returning false will present a "permission denied" message.

Returns
Type Description
boolean
Details
Abstract
 
methodpublicfailure( string $message ) : void

Set a failure on this controller. This will return the error message.

Parameters
Name Type Description
$message string
methodpublicfetchTemplate( string $tpl ) : string

Fetch the template content

Parameters
Name Type Description
$tpl string

The path to the template

Returns
Type Description
string The output of the template
methodpublicfirePostRenderEvents( ) : void

Can be used to fire events after all the CSS/JS is loaded for a page

methodpublicfirePreRenderEvents( ) : void

Fire any pre-render events for the controller

methodpublicgetControllersPaths( bool $coreOnly = false ) : array

Get the path to this controller's directory. Override this to point to a custom directory.

Parameters
Name Type Description
$coreOnly bool

Ensure that it grabs the path from the core namespace only.

Returns
Type Description
array
methodpublicgetDefaultState( ) : array | mixed | string

Get the default state for the UI

Returns
Type Description
array | mixed | string
methodpublicgetFooter( ) : string

Get the page footer for the controller.

Returns
Type Description
string
methodpublicgetHeader( ) : string

Get the page header for the controller.

Returns
Type Description
string
methodpublicgetInstance( \modX $modx, string $className, array $config = array() ) : \The
static

Return the proper instance of the derived class. This can be used to override how the manager loads a controller class; for example, when handling derivative classes with class_key settings.

Parameters
Name Type Description
$modx \modX

A reference to the modX object.

$className string

The name of the class that is being requested.

$config array

A configuration array of options related to this controller's action object.

Returns
Type Description
\The class specified by $className
Details
Static
 
methodpublicgetLanguageTopics( ) : array

Specify an array of language topics to load for this controller

Returns
Type Description
array
methodpublicgetPageTitle( ) : string
abstract

Return a string to set as the controller's page title.

Returns
Type Description
string
Details
Abstract
 
methodpublicgetPlaceholder( string $k, mixed $default = null ) : mixed

Get a specific placeholder set

Parameters
Name Type Description
$k string
$default mixed
Returns
Type Description
mixed
methodpublicgetPlaceholders( ) : array

Get all the set placeholders

Returns
Type Description
array
methodpublicgetTemplateFile( ) : string
abstract

Return the relative path to the template file to load

Returns
Type Description
string
Details
Abstract
 
methodpublicgetTemplatesPaths( bool $coreOnly = false ) : array | string

Get an array of possible paths to this controller's template's directory.

Override this to point to a custom directory.

Parameters
Name Type Description
$coreOnly bool

Ensure that it grabs the path from the core namespace only.

Returns
Type Description
array | string
methodpublicinitialize( ) : void

Can be used to provide custom methods prior to processing

methodpublicloadController(  $controller, bool $coreOnly = false ) : mixed | string

Load another manual controller file (such as header/footer)

Parameters
Name Type Description
$controller
$coreOnly bool
Returns
Type Description
mixed | string
methodpublicloadControllersPath( ) : array

Load an array of possible paths to this controller's directory. Only override this if you want to override default behavior; otherwise, overriding getControllersPath is preferred.

Returns
Type Description
array
methodpublicloadCustomCssJs( ) : void
abstract

Register any custom CSS or JS in this method.

Details
Abstract
 
methodpublicloadTemplatesPath( ) : string

Load the path to this controller's template's directory. Only override this if you want to override default behavior; otherwise, overriding getTemplatesPath is preferred.

Returns
Type Description
string
methodpublicloadWorkingContext( ) : \modContext | string

Load the working context for this controller.

Returns
Type Description
\modContext | string
methodpublicprepareLanguage( ) : void

Prepares the language placeholders

methodpublicprocess( array $scriptProperties = array() ) : mixed
abstract

Process the controller, returning an array of placeholders to set.

Parameters
Name Type Description
$scriptProperties array

A array of REQUEST parameters.

Returns
Type Description
mixed Either an error or output string, or an array of placeholders to set.
Details
Abstract
 
methodpublicregisterBaseScripts( ) : void

Registers the core and base JS scripts

Details
Access
public  
methodpublicregisterCssJs( ) : void

Registers CSS/JS to manager interface

methodpublicrender( ) : string

Render the controller.

Returns
Type Description
string
methodpublicsetPlaceholder( string $k, mixed $v ) : void

Set a placeholder for this controller's template

Parameters
Name Type Description
$k string

The key of the placeholder

$v mixed

The value of the placeholder

methodpublicsetPlaceholders( array $keys ) : void

Set an array of placeholders

Parameters
Name Type Description
$keys array
methodpublicsetProperties( array $properties ) : void

Sets the properties array for this controller

Parameters
Name Type Description
$properties array
methodpublicsetProperty( string $key, mixed $value ) : void

Set a property for this controller

Parameters
Name Type Description
$key string
$value mixed
methodpublicsetTemplatePaths( array $paths ) : void

Set the possible template paths for this controller

Parameters
Name Type Description
$paths array
Documentation was generated by DocBlox 0.18.1.