コード例 #1
0
ファイル: ACLTest.php プロジェクト: nlegoff/Phraseanet
 public function testGet_granted_base()
 {
     $base_ids = [];
     $n = 0;
     foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
         foreach ($databox->get_collections() as $collection) {
             $base_ids[] = $collection->get_base_id();
             $n++;
         }
     }
     if ($n === 0) {
         $this->fail('Not enough collection to test');
     }
     self::$object->give_access_to_base($base_ids);
     $bases = array_keys(self::$object->get_granted_base());
     $this->assertEquals(count($bases), count($base_ids));
     $this->assertEquals($n, count($base_ids));
     foreach ($bases as $base_id) {
         try {
             $collection = collection::get_from_base_id(self::$DI['app'], $base_id);
             $this->assertTrue($collection instanceof collection);
             $this->assertEquals($base_id, $collection->get_base_id());
             unset($collection);
         } catch (Exception $e) {
             $this->fail('get granted base should returned OK collection');
         }
     }
 }
コード例 #2
0
 /**
  * Resets admin rights on a databox.
  *
  * @param \ACL     $acl
  * @param \databox $databox
  */
 private function doResetAdminRightsOnDatabox(\ACL $acl, \databox $databox)
 {
     $collections = $databox->get_collections();
     $acl->update_rights_to_sbas($databox->get_sbas_id(), ['bas_manage' => '1', 'bas_modify_struct' => '1', 'bas_modif_th' => '1', 'bas_chupub' => '1']);
     $acl->give_access_to_base(array_map(function (\collection $collection) {
         return $collection->get_base_id();
     }, $collections));
     foreach ($collections as $collection) {
         $this->doResetRightsOnCollection($acl, $collection);
     }
 }