namespace PhpBURN\Spices\ACL; \PhpBURN::loadSpice('acl', array('1.0')); ############################################ # Create Settings ############################################ /** * ACL Spice Settings */ $aclSettings = array('defaultVisibile' => array('public'), 'defaultPermission' => 'allow', 'defaultType' => 'unknown', 'authInfo' => array('allowedMethods' => &$_SESSION[PHPBURN_SESSIONNAME]['userInfo']['allowedMethods'])); ############################################ # Define ACL configuration ############################################ PhpBURN_ACL::setConfig($aclSettings); PhpBURN_ACL_Control::generateRules(); ############################################ # callBack functions ############################################ $callBack = array('granted' => function () { return true; }, 'denied' => function () { die("Your access to this area has been denied. You've been a bad bad dog!"); }); PhpBURN_ACL::setCallBack($callBack); ############################################ # Add Controller onCallActionBefore to be # executed before each controller call ############################################ \PhpBURN_ControllerConfig::addOnCallActionBefore('phpburn_spice_acl', function ($controllerName, $action, $parms) { PhpBURN_ACL::checkPermissions($controllerName, $action, $parms); });
/** * Executes functions settedUp on STATIC $onCallActionAfter * @param String $action * @param Array $parms */ public static function callActionAfter($controllerName, $action, array $parms) { if (array_search('PhpBURN_ControllerConfig', get_declared_classes()) == true) { if (is_array(PhpBURN_ControllerConfig::getOnCallActionAfter()) && count(PhpBURN_ControllerConfig::getOnCallActionAfter()) > 0) { foreach (PhpBURN_ControllerConfig::getOnCallActionAfter() as $function) { $function($controllerName, $action, $parms); } } } else { PhpBURN_Message::output('[!onCallActionBefore cannot be loaded because PhpBURN_ControllerConfig is not instanced - Please add PhpBURN::load("Tools.Controller.ControllerConfig"); to your config/controller.php Configurations!]', PhpBURN_Message::WARNING); } }