* Copyright (c) 2006, Cake Software Foundation, Inc. * 1785 E. Sahara Avenue, Suite 490-204 * Las Vegas, Nevada 89104 * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * * @filesource * @copyright Copyright (c) 2006, Cake Software Foundation, Inc. * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project * @package cake * @subpackage cake.cake.libs.controller.components * @since CakePHP v 0.10.0.1076 * @version $Revision$ * @modifiedby $LastChangedBy$ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ /** * Access Control List factory class. * * Looks for ACL implementation class in core config, and returns an instance of that class. * * @package cake * @subpackage cake.cake.libs.controller.components */ class AclComponent extends Object { var $_instance = null; var $controller = true; /** * Constructor. Will return an instance of the correct ACL class. * */ function __construct() { $this->getACL(); } /** * Static function used to gain an instance of the correct ACL class. * * @return MyACL */ function &getACL() { if ($this->_instance == null) { uses('controller' . DS . 'components' . DS . ACL_FILENAME); $classname = ACL_CLASSNAME; $this->_instance = new $classname; } return $this->_instance; } /** * Empty class defintion, to be overridden in subclasses. * */ function _initACL() { } /** * Pass-thru function for ACL check instance. * * @return boolean */ function check($aro, $aco, $action = "*") { return $this->_instance->check($aro, $aco, $action); } /** * Pass-thru function for ACL allow instance. * * @return boolean */ function allow($aro, $aco, $action = "*") { return $this->_instance->allow($aro, $aco, $action); } /** * Pass-thru function for ACL deny instance. * * @return boolean */ function deny($aro, $aco, $action = "*") { return $this->_instance->deny($aro, $aco, $action); } /** * Pass-thru function for ACL inherit instance. * * @return boolean */ function inherit($aro, $aco, $action = "*") { return $this->_instance->inherit($aro, $aco, $action); } /** * Pass-thru function for ACL grant instance. * * @return boolean */ function grant($aro, $aco, $action = "*") { return $this->_instance->grant($aro, $aco, $action); } /** * Pass-thru function for ACL grant instance. * * @return boolean */ function revoke($aro, $aco, $action = "*") { return $this->_instance->revoke($aro, $aco, $action); } /** * Pass-thru function for ACL getAro instance. * * @return Aro */ function getAro($id) { return $this->_instance->getAro($id); } /** * Pass-thru function for ACL getAco instance. * * @return Aco */ function getAco($id) { return $this->_instance->getAco($id); } } ?>