Exemple #1
0
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);
});
Exemple #2
0
 /**
  * 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);
     }
 }