|  | @@ -247,38 +247,38 @@ class ElementSearcherQueryBuilder
 | 
	
		
			
			| 247 | 247 |              $tag_ids .= ','.(int)$tag_id;
 | 
	
		
			
			| 248 | 248 |            }
 | 
	
		
			
			| 249 | 249 |          }
 | 
	
		
			
			| 250 |  | -      }
 | 
	
		
			
			| 251 | 250 |        
 | 
	
		
			
			| 252 |  | -      $sql = "SELECT et.element_id FROM elements_tag et "
 | 
	
		
			
			| 253 |  | -      ."WHERE et.tag_id IN ($tag_ids) group by et.element_id "
 | 
	
		
			
			| 254 |  | -      ."having count(distinct et.tag_id) = ".count($tags);
 | 
	
		
			
			| 255 |  | -      $rsm = new \Doctrine\ORM\Query\ResultSetMapping;
 | 
	
		
			
			| 256 |  | -      $rsm->addScalarResult('element_id', 'element_id');
 | 
	
		
			
			| 257 |  | -   
 | 
	
		
			
			| 258 |  | -      $strict_element_ids_result = $this->em
 | 
	
		
			
			| 259 |  | -        ->createNativeQuery($sql, $rsm)
 | 
	
		
			
			| 260 |  | -        //->setParameter('ids', $tag_ids)
 | 
	
		
			
			| 261 |  | -        ->getScalarResult()
 | 
	
		
			
			| 262 |  | -      ;
 | 
	
		
			
			| 263 |  | -      
 | 
	
		
			
			| 264 |  | -      $strict_element_ids = array();
 | 
	
		
			
			| 265 |  | -      if (count($strict_element_ids_result))
 | 
	
		
			
			| 266 |  | -      {
 | 
	
		
			
			| 267 |  | -        foreach ($strict_element_ids_result as $strict_id)
 | 
	
		
			
			|  | 251 | +        $sql = "SELECT et.element_id FROM elements_tag et "
 | 
	
		
			
			|  | 252 | +        ."WHERE et.tag_id IN ($tag_ids) group by et.element_id "
 | 
	
		
			
			|  | 253 | +        ."having count(distinct et.tag_id) = ".count($tags);
 | 
	
		
			
			|  | 254 | +        $rsm = new \Doctrine\ORM\Query\ResultSetMapping;
 | 
	
		
			
			|  | 255 | +        $rsm->addScalarResult('element_id', 'element_id');
 | 
	
		
			
			|  | 256 | +
 | 
	
		
			
			|  | 257 | +        $strict_element_ids_result = $this->em
 | 
	
		
			
			|  | 258 | +          ->createNativeQuery($sql, $rsm)
 | 
	
		
			
			|  | 259 | +          //->setParameter('ids', $tag_ids)
 | 
	
		
			
			|  | 260 | +          ->getScalarResult()
 | 
	
		
			
			|  | 261 | +        ;
 | 
	
		
			
			|  | 262 | +
 | 
	
		
			
			|  | 263 | +        $strict_element_ids = array();
 | 
	
		
			
			|  | 264 | +        if (count($strict_element_ids_result))
 | 
	
		
			
			| 268 | 265 |          {
 | 
	
		
			
			| 269 |  | -          $strict_element_ids[] = $strict_id['element_id'];
 | 
	
		
			
			|  | 266 | +          foreach ($strict_element_ids_result as $strict_id)
 | 
	
		
			
			|  | 267 | +          {
 | 
	
		
			
			|  | 268 | +            $strict_element_ids[] = $strict_id['element_id'];
 | 
	
		
			
			|  | 269 | +          }
 | 
	
		
			
			|  | 270 | +        }
 | 
	
		
			
			|  | 271 | +
 | 
	
		
			
			|  | 272 | +        if (count($strict_element_ids))
 | 
	
		
			
			|  | 273 | +        {
 | 
	
		
			
			|  | 274 | +          $this->query_ids->andWhere('e.id IN (:tag_strict_ids)');
 | 
	
		
			
			|  | 275 | +          $this->parameters_ids['tag_strict_ids'] = $strict_element_ids;
 | 
	
		
			
			|  | 276 | +        }
 | 
	
		
			
			|  | 277 | +        // Ce else palie au bug du au cas ou $strict_element_ids est egal a array();
 | 
	
		
			
			|  | 278 | +        else
 | 
	
		
			
			|  | 279 | +        {
 | 
	
		
			
			|  | 280 | +          return false;
 | 
	
		
			
			| 270 | 281 |          }
 | 
	
		
			
			| 271 |  | -      }
 | 
	
		
			
			| 272 |  | -      
 | 
	
		
			
			| 273 |  | -      if (count($strict_element_ids))
 | 
	
		
			
			| 274 |  | -      {
 | 
	
		
			
			| 275 |  | -        $this->query_ids->andWhere('e.id IN (:tag_strict_ids)');
 | 
	
		
			
			| 276 |  | -        $this->parameters_ids['tag_strict_ids'] = $strict_element_ids;
 | 
	
		
			
			| 277 |  | -      }
 | 
	
		
			
			| 278 |  | -      // Ce else palie au bug du au cas ou $strict_element_ids est egal a array();
 | 
	
		
			
			| 279 |  | -      else
 | 
	
		
			
			| 280 |  | -      {
 | 
	
		
			
			| 281 |  | -        return false;
 | 
	
		
			
			| 282 | 282 |        }
 | 
	
		
			
			| 283 | 283 |      }
 | 
	
		
			
			| 284 | 284 |    }
 |