/**
  * Returns true if and only if the assertion conditions are met
  *
  * This method is passed the ACL, Role, Resource, and privilege to which
  * the authorization query applies. If the $role, $resource, or $privilege
  * parameters are null, it means that the query applies to all Roles,
  * Resources, or privileges, respectively.
  *
  * @param  Zend_Acl                    $acl
  * @param  Zend_Acl_Role_Interface     $role
  * @param  Zend_Acl_Resource_Interface $resource
  * @param  string                      $privilege
  * @return boolean
  */
 public function assert(Zend_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null, $privilege = null)
 {
     // We need specific objects to check against each other
     if (NULL === $resource) {
         return false;
     }
     /**
      * @var $resource \Application\Model\AlarmModel
      */
     if (!$resource instanceof \Application\Model\AlarmModel) {
         throw new Exception('Role must be an instance of AlarmModel');
     }
     if (AlarmRuleCondition::isExpense($resource->condition)) {
         return true;
     }
     return false;
 }
Exemple #2
0
 /**
  * Implements Zend_Acl_Resource_Interface.
  * Returns the string identifier of the Resource
  *
  * @return string
  */
 public function getResourceId()
 {
     switch (true) {
         case AlarmRuleCondition::isConsumptionData($this->condition):
             return 'ruleConsumptionData';
         case AlarmRuleCondition::isConsumptionVoice($this->condition):
             return 'ruleConsumptionVoice';
         case AlarmRuleCondition::isConsumptionSms($this->condition):
             return 'ruleConsumptionSms';
         case AlarmRuleCondition::isExpense($this->condition):
             return 'ruleExpense';
         case AlarmRuleCondition::isLifeCycle($this->condition):
             return 'ruleLifeCycle';
         case AlarmRuleCondition::isSupervision($this->condition):
             return 'ruleSupervision';
     }
 }