| 
				
			 | 
			
			
				@@ -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
			 | 
			
			
				   } 
			 |