function JAuthorization($options = NULL)
{
parent::gacl( $options );
// ARO value is currently the user type,
// this changes to user id in proper implementation
// No hierarchial inheritance so have to do that the long way
$this->acl = array();
// special ACl with return value to edit user
$this->addACL( 'com_user', 'edit', 'users', 'super administrator', null, null, '' );
$this->addACL( 'com_user', 'edit', 'users', 'administrator', null, null, '' );
$this->addACL( 'com_user', 'edit', 'users', 'manager', null, null, '' );
// return value defines xml setup file variant
$this->addACL( 'com_user', 'edit', 'users', 'author', null, null, 'author' );
$this->addACL( 'com_user', 'edit', 'users', 'editor', null, null, 'author' );
$this->addACL( 'com_user', 'edit', 'users', 'publisher', null, null, 'author' );
$this->addACL( 'com_user', 'edit', 'users', 'registered', null, null, 'registered' );
// backend login
$this->addACL( 'login', 'administrator', 'users', 'administrator' );
$this->addACL( 'login', 'administrator', 'users', 'super administrator' );
$this->addACL( 'login', 'administrator', 'users', 'manager' );
$this->addACL( 'login', 'site', 'users', 'administrator' );
$this->addACL( 'login', 'site', 'users', 'super administrator' );
$this->addACL( 'login', 'site', 'users', 'manager' );
$this->addACL( 'login', 'site', 'users', 'registered' );
$this->addACL( 'login', 'site', 'users', 'author' );
$this->addACL( 'login', 'site', 'users', 'editor' );
$this->addACL( 'login', 'site', 'users', 'publisher' );
// backend menus
$this->addACL( 'com_banners', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_banners', 'manage', 'users', 'administrator' );
$this->addACL( 'com_banners', 'manage', 'users', 'manager' );
$this->addACL( 'com_checkin', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_checkin', 'manage', 'users', 'administrator' );
$this->addACL( 'com_cache', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_cache', 'manage', 'users', 'administrator' );
$this->addACL( 'com_config', 'manage', 'users', 'super administrator' );
//$this->addACL( 'com_config', 'manage', 'users', 'administrator' );
$this->addACL( 'com_contact', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_contact', 'manage', 'users', 'administrator' );
$this->addACL( 'com_contact', 'manage', 'users', 'manager' );
$this->addACL( 'com_components', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_components', 'manage', 'users', 'administrator' );
$this->addACL( 'com_frontpage', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_frontpage', 'manage', 'users', 'administrator' );
$this->addACL( 'com_frontpage', 'manage', 'users', 'manager' );
$this->addACL( 'com_frontpage', 'edit', 'users', 'manager' );
// access to installers and base installer
$this->addACL( 'com_installer', 'installer', 'users', 'administrator' );
$this->addACL( 'com_installer', 'installer', 'users', 'super administrator' );
$this->addACL( 'com_installer', 'component', 'users', 'administrator' );
$this->addACL( 'com_installer', 'component', 'users', 'super administrator' );
$this->addACL( 'com_installer', 'language', 'users', 'super administrator' );
$this->addACL( 'com_installer', 'language', 'users', 'administrator' );
$this->addACL( 'com_installer', 'module', 'users', 'administrator' );
$this->addACL( 'com_installer', 'module', 'users', 'super administrator' );
$this->addACL( 'com_installer', 'plugin', 'users', 'administrator' );
$this->addACL( 'com_installer', 'plugin', 'users', 'super administrator' );
$this->addACL( 'com_installer', 'template', 'users', 'super administrator' );
$this->addACL( 'com_installer', 'template', 'users', 'administrator' );
$this->addACL( 'com_languages', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_plugins', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_plugins', 'manage', 'users', 'administrator' );
// uncomment following to allow managers to edit modules
//array( 'administration', 'edit', 'users', 'manager', 'modules', 'all' );
$this->addACL( 'com_massmail', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_media', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_media', 'manage', 'users', 'administrator' );
$this->addACL( 'com_media', 'manage', 'users', 'manager' );
$this->addACL( 'com_media', 'popup', 'users', 'super administrator' );
$this->addACL( 'com_media', 'popup', 'users', 'administrator' );
$this->addACL( 'com_media', 'popup', 'users', 'manager' );
$this->addACL( 'com_media', 'popup', 'users', 'registered' );
$this->addACL( 'com_media', 'popup', 'users', 'author' );
$this->addACL( 'com_media', 'popup', 'users', 'editor' );
$this->addACL( 'com_media', 'popup', 'users', 'publisher' );
$this->addACL( 'com_menus', 'manage', 'users', 'administrator' );
$this->addACL( 'com_menus', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_modules', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_modules', 'manage', 'users', 'administrator' );
$this->addACL( 'com_newsfeeds', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_newsfeeds', 'manage', 'users', 'administrator' );
$this->addACL( 'com_newsfeeds', 'manage', 'users', 'manager' );
$this->addACL( 'com_banners', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_banners', 'manage', 'users', 'administrator' );
$this->addACL( 'com_banners', 'manage', 'users', 'manager' );
$this->addACL( 'com_poll', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_poll', 'manage', 'users', 'administrator' );
$this->addACL( 'com_poll', 'manage', 'users', 'manager' );
$this->addACL( 'com_templates', 'manage', 'users', 'super administrator' );
//$this->addACL( 'com_templates', 'manage', 'user', 'administrator' )
$this->addACL( 'com_trash', 'manage', 'users', 'administrator' );
$this->addACL( 'com_trash', 'manage', 'users', 'super administrator' );
// email block users property
$this->addACL( 'com_users', 'block user', 'users', 'administrator' );
$this->addACL( 'com_users', 'block user', 'users', 'super administrator' );
$this->addACL( 'com_users', 'manage', 'users', 'administrator' );
$this->addACL( 'com_users', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_weblinks', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_weblinks', 'manage', 'users', 'administrator' );
$this->addACL( 'com_weblinks', 'manage', 'users', 'manager' );
// email system events
$this->addACL( 'com_users', 'email_events', 'users', 'administrator' );
$this->addACL( 'com_users', 'email_events', 'users', 'super administrator' );
$this->addACL( 'workflow', 'email_events', 'users', 'administrator', null, null );
$this->addACL( 'workflow', 'email_events', 'users', 'super administrator', null, null );
// actions
$this->addACL( 'com_content', 'add', 'users', 'author', 'content', 'all' );
$this->addACL( 'com_content', 'add', 'users', 'editor', 'content', 'all' );
$this->addACL( 'com_content', 'add', 'users', 'publisher', 'content', 'all' );
$this->addACL( 'com_content', 'edit', 'users', 'author', 'content', 'own' );
$this->addACL( 'com_content', 'edit', 'users', 'editor', 'content', 'all' );
$this->addACL( 'com_content', 'edit', 'users', 'publisher', 'content', 'all' );
$this->addACL( 'com_content', 'publish', 'users', 'publisher', 'content', 'all' );
$this->addACL( 'com_content', 'add', 'users', 'manager', 'content', 'all' );
$this->addACL( 'com_content', 'edit', 'users', 'manager', 'content', 'all' );
$this->addACL( 'com_content', 'publish', 'users', 'manager', 'content', 'all' );
$this->addACL( 'com_content', 'add', 'users', 'administrator', 'content', 'all' );
$this->addACL( 'com_content', 'edit', 'users', 'administrator', 'content', 'all' );
$this->addACL( 'com_content', 'publish', 'users', 'administrator', 'content', 'all' );
$this->addACL( 'com_content', 'add', 'users', 'super administrator', 'content', 'all' );
$this->addACL( 'com_content', 'edit', 'users', 'super administrator', 'content', 'all' );
$this->addACL( 'com_content', 'publish', 'users', 'super administrator', 'content', 'all' );
}
$this->addACL( 'com_banners', 'manage', 'users', 'super administrator' );per permettere all'utente manager di vedere solo il componente, ma invece, mettendo questa stringa, non appaiono proprio nessun componente all'utente manager.
$this->addACL( 'com_banners', 'manage', 'users', 'administrator' );
$this->addACL( 'com_banners', 'manage', 'users', 'manager' );