public function testGetConst()
 {
     $this->assertEquals(AccessLevel::NONE_LEVEL, AccessLevel::getConst('NONE_LEVEL'));
     $this->assertEquals(AccessLevel::BASIC_LEVEL, AccessLevel::getConst('BASIC_LEVEL'));
     $this->assertEquals(AccessLevel::LOCAL_LEVEL, AccessLevel::getConst('LOCAL_LEVEL'));
     $this->assertEquals(AccessLevel::DEEP_LEVEL, AccessLevel::getConst('DEEP_LEVEL'));
     $this->assertEquals(AccessLevel::GLOBAL_LEVEL, AccessLevel::getConst('GLOBAL_LEVEL'));
     $this->assertEquals(AccessLevel::SYSTEM_LEVEL, AccessLevel::getConst('SYSTEM_LEVEL'));
 }
Ejemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function getAccessLevel($mask, $permission = null, $object = null)
 {
     if (0 === $this->removeServiceBits($mask)) {
         return AccessLevel::NONE_LEVEL;
     }
     $identity = $this->getServiceBits($mask);
     if ($permission !== null) {
         $permissionMask = $this->getMaskBuilderConst($identity, 'GROUP_' . $permission);
         $mask = $mask & $permissionMask;
     }
     $result = AccessLevel::NONE_LEVEL;
     foreach (AccessLevel::$allAccessLevelNames as $accessLevel) {
         if (0 !== ($mask & $this->getMaskBuilderConst($identity, 'GROUP_' . $accessLevel))) {
             $result = AccessLevel::getConst($accessLevel . '_LEVEL');
         }
     }
     return $this->metadataProvider->getMaxAccessLevel($result, $this->getObjectClassName($object));
 }