Josh Lief, General Manager, VIRginia International Raceway
Buentec has really helped define and enhance VIR’s web presence. Starting with a complete re-design of our website, David has become a valuable member of the VIR marketing team and is great to work with.
Written by David Parrish
One of the more limiting things in Joomla! is the way that user and group access is handled. In order for a backend Joomla! user to have access to modules and components they have to be set up as either an Administrator or Super Administrator. The problem is that this gives them access to a host of capabilities that the average content owner should not mess with. By altering gacl.class.php you can alter the default Joomla! access control and specifically define the role for individual users or groups. Here is how it is done.The file:
includes/gacl.class.php
can be modified to alter user access for the built in Joomla groups. For instance, you can give Backend Managers access to the Web Links component in the following way:
around line 152 you will find
// uncomment following to allow managers to edit modules
replace the following code:
//array( 'administration', 'edit', 'users', 'manager', 'modules', 'all' );
// access to components
//$this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'components', 'all' );
//$this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'components', 'all' );
//$this->_mos_add_acl( 'administration', 'edit', 'users', 'super administrator', 'components', 'all' );
//$this->_mos_add_acl( 'administration', 'edit', 'users', 'administrator', 'components', 'all' );
//$this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_newsflash' );
//$this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_frontpage' );
//$this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_media' );
// ** add additional components for a manager as desired, or give access to all
with this code:
// Standard Access - Start
$this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'components', 'all' );
$this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'components', 'all' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'super administrator', 'components', 'all' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'administrator', 'components', 'all' );
// Standard Access - End
// Custom Access - Start
// added for managers' access
//necessary to give managers access to components menu
$this->_mos_add_acl( 'administration', 'install', 'users', 'manager', 'components', 'all' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_massmail' );
$this->_mos_add_acl( 'administration', 'manage', 'users', 'manager', 'components', 'com_massmail' );
$this->_mos_add_acl( 'administration', 'manage', 'users', 'manager', 'components', 'com_trash' );
$this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_banners' );
//grant access to the web links componenet
$this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_weblinks' );
// Custom Access - End
The info above was extracted and modified ever so slightly from a thread in the Joomla! Forums:
http://forum.joomla.org/index.php/topic,69154.0.html 