示例#1
0
 /**
  * @param SelectStatement|Subselect                         $AST
  * @param AclConditionStorage|SubRequestAclConditionStorage $aclCondition
  */
 protected function addRequestConditions($AST, $aclCondition)
 {
     $whereConditions = $aclCondition->getWhereConditions();
     if (count($whereConditions)) {
         $this->addAclToWhereClause($AST, $whereConditions);
     }
     $joinConditions = $aclCondition->getJoinConditions();
     if (count($joinConditions)) {
         $this->addAclToJoinClause($AST, $joinConditions);
     }
 }
 public function testStorage()
 {
     $whereConditions = [new AclCondition('test', 'id', [])];
     $joinConditions = [new JoinAclCondition('testJoin', 'id', [])];
     $subRequests = [new SubRequestAclConditionStorage([], [])];
     $storage = new AclConditionStorage([], []);
     $this->assertTrue($storage->isEmpty());
     $storage->setJoinConditions($joinConditions);
     $this->assertFalse($storage->isEmpty());
     $storage->setJoinConditions([]);
     $storage->setWhereConditions($whereConditions);
     $this->assertFalse($storage->isEmpty());
     $storage->setWhereConditions([]);
     $storage->setSubRequests($subRequests);
     $this->assertFalse($storage->isEmpty());
     $storage->setWhereConditions($whereConditions);
     $storage->setJoinConditions($joinConditions);
     $this->assertEquals($whereConditions, $storage->getWhereConditions());
     $this->assertEquals($joinConditions, $storage->getJoinConditions());
     $this->assertEquals($subRequests, $storage->getSubRequests());
 }