public function testGet_mask_and() { foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) { foreach ($databox->get_collections() as $collection) { $base_id = $collection->get_base_id(); self::$object->give_access_to_base([$base_id]); self::$object->update_rights_to_base($base_id, ['actif' => false]); $this->assertFalse(self::$object->get_mask_and($base_id)); self::$object->update_rights_to_base($base_id, ['mask_and' => 42]); $this->assertEquals('42', self::$object->get_mask_and($base_id)); self::$object->update_rights_to_base($base_id, ['mask_and' => 1]); $this->assertEquals('1', self::$object->get_mask_and($base_id)); self::$object->update_rights_to_base($base_id, ['mask_and' => 0]); $this->assertEquals('0', self::$object->get_mask_and($base_id)); } } }
private function getFlagsRules(\appbox $appbox, \ACL $acl, array $collections) { $rules = []; foreach ($collections as $collectionId) { $databoxId = \phrasea::sbasFromBas($this->app, $collectionId); $databox = $appbox->get_databox($databoxId); $mask_xor = $acl->get_mask_xor($collectionId); $mask_and = $acl->get_mask_and($collectionId); foreach ($databox->getStatusStructure()->getBits() as $bit) { $rules[$databoxId][$collectionId][$bit] = $this->computeAccess($mask_xor, $mask_and, $bit); } } return $rules; }