コード例 #1
0
ファイル: ACLTest.php プロジェクト: nlegoff/Phraseanet
 public function testGet_granted_sbas()
 {
     $sbas_ids = [];
     $n = 0;
     foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
         $sbas_ids[] = $databox->get_sbas_id();
         $n++;
     }
     self::$object->give_access_to_sbas($sbas_ids);
     $sbas = self::$object->get_granted_sbas();
     $this->assertEquals(count($sbas), count($sbas_ids));
     $this->assertEquals($n, count($sbas_ids));
     foreach ($sbas as $sbas_id => $databox) {
         try {
             $this->assertTrue($databox instanceof databox);
             $this->assertEquals($sbas_id, $databox->get_sbas_id());
             unset($databox);
         } catch (Exception $e) {
             $this->fail('get granted sbas should returned OK collection');
         }
     }
 }
コード例 #2
0
ファイル: Query.php プロジェクト: luisbrito/Phraseanet
 /**
  * Restrict users on database with provided rights
  *
  * @param ACL   $ACL
  * @param array $rights
  *
  * @return $this
  */
 public function on_sbas_where_i_am(ACL $ACL, array $rights)
 {
     $this->sbas_restrictions = true;
     $databoxes = array_keys($ACL->get_granted_sbas($rights));
     if (count($this->sbas_ids) > 0) {
         $this->sbas_ids = array_intersect($this->sbas_ids, $databoxes);
     } else {
         $this->sbas_ids = $databoxes;
     }
     $this->total = $this->page = $this->total_page = null;
     return $this;
 }