...
To add your plugin to the ACL you must first decide under which permission group your access permissions will go. There are existing permission groups, but you may wish to create your own. To do so, invoke Permissions::addGroup().
Code Block |
---|
language | php |
---|
title | /plugins/my_plugin/my_plugin_plugin.php |
---|
|
<?php
class MyPluginPlugin extends Plugin {
...
public function install($plugin_id) {
$this->uses(array("Permissions"));
// Add a new permission group
$group = array('name' => "Permission Group Name", 'level' => "staff", 'alias' => "my_plugin");
$group_id = $this->Permissions->addGroup($group);
}
}
?> |
Once you have a permission group to reference, invoke Permissions::add() with the appropriate parameters to create your access permission, setting 'alias' as the controller class name (e.g. FooBar becomes foo_bar) and 'action' as the method to control (use * for all methods in a controller).
Code Block |
---|
language | php |
---|
title | /plugins/my_plugin/my_plugin_plugin.php |
---|
|
<?php
class MyPluginPlugin extends Plugin {
...
public function install($plugin_id) {
$this->uses(array("Permissions"));
// Add a new permission group
$group = array('name' => "Permission Group Name", 'level' => "staff", 'alias' => "my_plugin");
$group_id = $this->Permissions->addGroup($group);
// Add a new permission to the group
$perm = array('group_id' => $group_id, 'name' => "Some Action", 'alias' => "my_plugin", 'action' => "someMethod");
$this->Permissions->add($perm);
}
}
?> |
Note |
---|
title | Clean up after your plugin |
---|
|
Be sure to remove any permissions or permission groups you've added when your plugin is uninstalled by using the Permissions::deleteGroup() and Permissions::delete() methods when your plugin's uninstall() method is called. |
...