예제 #1
0
 /**
  * {@inheritdoc}
  */
 public function unserialize($serialized)
 {
     list($this->field, $parentStr) = unserialize($serialized);
     parent::unserialize($parentStr);
 }
예제 #2
0
 /**
  * Constructor
  *
  * @param integer $id
  * @param AclInterface $acl
  * @param string $field
  * @param SecurityIdentityInterface $sid
  * @param string $strategy
  * @param integer $mask
  * @param Boolean $granting
  * @param Boolean $auditFailure
  * @param Boolean $auditSuccess
  * @return void
  */
 public function __construct($id, AclInterface $acl, $field, SecurityIdentityInterface $sid, $strategy, $mask, $granting, $auditFailure, $auditSuccess)
 {
     parent::__construct($id, $acl, $sid, $strategy, $mask, $granting, $auditFailure, $auditSuccess);
     $this->field = $field;
 }
예제 #3
0
 /**
  * @param $index
  * @param Acl $acl
  * @param Entry $ace
  * @param $mask
  * @return $this
  */
 protected function removeMask($index, Acl $acl, Entry $ace, $mask)
 {
     $acl->updateObjectAce($index, $ace->getMask() & ~$mask);
     return $this;
 }
예제 #4
0
 /**
  * @param Entry $entryA
  * @param Entry $entryB
  *
  * @return int
  */
 protected function compareEntries(Entry $entryA, Entry $entryB)
 {
     $sidA = $entryA->getSecurityIdentity();
     $sidB = $entryB->getSecurityIdentity();
     if ($sidA instanceof UserSecurityIdentity && $sidB instanceof UserSecurityIdentity) {
         return strcmp($sidA->getUsername(), $sidB->getUsername());
     } elseif ($sidA instanceof BusinessUnitSecurityIdentity && $sidB instanceof BusinessUnitSecurityIdentity) {
         $idA = (int) $sidA->getId();
         $idB = (int) $sidB->getId();
         return $idA < $idB ? -1 : 1;
     } elseif ($sidA instanceof UserSecurityIdentity && $sidB instanceof BusinessUnitSecurityIdentity) {
         return 1;
     } elseif ($sidA instanceof BusinessUnitSecurityIdentity && $sidB instanceof UserSecurityIdentity) {
         return -1;
     } else {
         return 0;
     }
 }