PHP Class Acl\AclExtras

Can be used in either a CLI or Web context.
Show file Open project: cakephp/acl Class Usage Examples

Public Properties

Property Type Description
$Acl Acl\Controller\Component\AclComponent Contains instance of AclComponent
$args array Contains arguments parsed from the command line.
$dataSource string Contains database source to use
$rootNode string Root node name.

Protected Properties

Property Type Description
$_clean boolean Internal Clean Actions switch
$foundACOs array List of ACOs found during synchronization
$pluginPrefixes array Contains plugins route prefixes
$prefixes array Contains app route prefixes

Public Methods

Method Description
acoSync ( array $params = [] ) : void Sync the ACO table
acoUpdate ( array $params = [] ) : boolean Updates the Aco Tree with new controller actions.
err ( string $msg ) : void Output an error message.
getControllerList ( string $plugin = null, string $prefix = null ) : array Get a list of controllers in the app and plugins.
out ( string $msg ) : void Output a message.
recover ( ) : void Recover an Acl Tree
startup ( Controller $controller = null ) : void Start up And load Acl Component / Aco model

Protected Methods

Method Description
_buildPrefixes ( ) : void Build prefixes for App and Plugins based on configured routes
_checkMethods ( string $className, string $controllerName, array $node, string $pluginPath = null, string $prefixPath = null ) : boolean Check and Add/delete controller Methods
_checkNode ( string $path, string $alias, integer $parentId = null ) : array Check a node for existance, create it if it doesn't exist.
_cleaner ( integer $parentId, array $preservedItems = [] ) : void Delete unused ACOs.
_getCallbacks ( string $className, string $pluginPath = null, string $prefixPath = null ) : array Get a list of registered callback methods
_getNamespace ( string $className, string $pluginPath = null, string $prefixPath = null ) : string Get the namespace for a given class.
_pluginAlias ( string $plugin ) : string Returns the aliased name for the plugin (Needed in order to correctly handle nested plugins)
_processControllers ( Acl\Model\Entity\Aco $root ) : void Updates the Aco Tree with all App controllers.
_processPlugins ( Acl\Model\Entity\Aco $root, array $plugins = [] ) : void Updates the Aco Tree with all Plugins.
_processPrefixes ( Acl\Model\Entity\Aco $root ) : void Updates the Aco Tree with all App route prefixes.
_updateControllers ( array $root, array $controllers, string $plugin = null, string $prefix = null ) : array Updates a collection of controllers.

Method Details

_buildPrefixes() protected method

Build prefixes for App and Plugins based on configured routes
protected _buildPrefixes ( ) : void
return void

_checkMethods() protected method

Check and Add/delete controller Methods
protected _checkMethods ( string $className, string $controllerName, array $node, string $pluginPath = null, string $prefixPath = null ) : boolean
$className string The classname to check
$controllerName string The controller name
$node array The node to check.
$pluginPath string The plugin path to use.
$prefixPath string The prefix path to use.
return boolean

_checkNode() protected method

Check a node for existance, create it if it doesn't exist.
protected _checkNode ( string $path, string $alias, integer $parentId = null ) : array
$path string The path to check
$alias string The alias to create
$parentId integer The parent id to use when creating.
return array Aco Node array

_cleaner() protected method

Delete unused ACOs.
protected _cleaner ( integer $parentId, array $preservedItems = [] ) : void
$parentId integer Id of the parent node.
$preservedItems array list of items that will not be erased.
return void

_getCallbacks() protected method

Get a list of registered callback methods
protected _getCallbacks ( string $className, string $pluginPath = null, string $prefixPath = null ) : array
$className string The class to reflect on.
$pluginPath string The plugin path.
$prefixPath string The prefix path.
return array

_getNamespace() protected method

Get the namespace for a given class.
protected _getNamespace ( string $className, string $pluginPath = null, string $prefixPath = null ) : string
$className string The class you want a namespace for.
$pluginPath string The plugin path.
$prefixPath string The prefix path.
return string

_pluginAlias() protected method

Returns the aliased name for the plugin (Needed in order to correctly handle nested plugins)
protected _pluginAlias ( string $plugin ) : string
$plugin string The name of the plugin to alias
return string

_processControllers() protected method

Updates the Aco Tree with all App controllers.
protected _processControllers ( Acl\Model\Entity\Aco $root ) : void
$root Acl\Model\Entity\Aco The root note of Aco Tree
return void

_processPlugins() protected method

Updates the Aco Tree with all Plugins.
protected _processPlugins ( Acl\Model\Entity\Aco $root, array $plugins = [] ) : void
$root Acl\Model\Entity\Aco The root note of Aco Tree
$plugins array list of App plugins
return void

_processPrefixes() protected method

Updates the Aco Tree with all App route prefixes.
protected _processPrefixes ( Acl\Model\Entity\Aco $root ) : void
$root Acl\Model\Entity\Aco The root note of Aco Tree
return void

_updateControllers() protected method

Updates a collection of controllers.
protected _updateControllers ( array $root, array $controllers, string $plugin = null, string $prefix = null ) : array
$root array Array or ACO information for root node.
$controllers array Array of Controllers
$plugin string Name of the plugin you are making controllers for.
$prefix string Name of the prefix you are making controllers for.
return array

acoSync() public method

Sync the ACO table
public acoSync ( array $params = [] ) : void
$params array An array of parameters
return void

acoUpdate() public method

Updates the Aco Tree with new controller actions.
public acoUpdate ( array $params = [] ) : boolean
$params array An array of parameters
return boolean

err() public method

Will either use shell->err, or controller->Flash->error()
public err ( string $msg ) : void
$msg string The message to output.
return void

getControllerList() public method

Returns an array of path => import notation.
public getControllerList ( string $plugin = null, string $prefix = null ) : array
$plugin string Name of plugin to get controllers for
$prefix string Name of prefix to get controllers for
return array

out() public method

Will either use shell->out, or controller->Flash->success()
public out ( string $msg ) : void
$msg string The message to output.
return void

recover() public method

Recover an Acl Tree
public recover ( ) : void
return void

startup() public method

Start up And load Acl Component / Aco model
public startup ( Controller $controller = null ) : void
$controller Cake\Controller\Controller Controller instance
return void

Property Details

$Acl public property

Contains instance of AclComponent
public AclComponent,Acl\Controller\Component $Acl
return Acl\Controller\Component\AclComponent

$_clean protected property

Internal Clean Actions switch
protected bool $_clean
return boolean

$args public property

Contains arguments parsed from the command line.
public array $args
return array

$dataSource public property

Contains database source to use
public string $dataSource
return string

$foundACOs protected property

List of ACOs found during synchronization
protected array $foundACOs
return array

$pluginPrefixes protected property

Contains plugins route prefixes
protected array $pluginPrefixes
return array

$prefixes protected property

Contains app route prefixes
protected array $prefixes
return array

$rootNode public property

Root node name.
public string $rootNode
return string