| 
				
			 | 
			
			
				@@ -8,17 +8,17 @@ use Muzich\CoreBundle\Searcher\ElementSearcher; 
			 | 
		
	
		
			
			| 
				8
			 | 
			
				8
			 | 
			
			
				 class Controller extends BaseController 
			 | 
		
	
		
			
			| 
				9
			 | 
			
				9
			 | 
			
			
				 { 
			 | 
		
	
		
			
			| 
				10
			 | 
			
				10
			 | 
			
			
				    
			 | 
		
	
		
			
			| 
				11
			 | 
			
				
			 | 
			
			
				-  private $ElementSearcher = null; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				11
			 | 
			
			
				+  //private $ElementSearcher = null; 
			 | 
		
	
		
			
			| 
				12
			 | 
			
				12
			 | 
			
			
				      
			 | 
		
	
		
			
			| 
				13
			 | 
			
				13
			 | 
			
			
				   /** 
			 | 
		
	
		
			
			| 
				14
			 | 
			
				
			 | 
			
			
				-   * Met a jour l'objet ElementSearcher 
			 | 
		
	
		
			
			| 
				
			 | 
			
				14
			 | 
			
			
				+   * Met a jour l'objet ElementSearcher (en réallité on met a jour les 
			 | 
		
	
		
			
			| 
				
			 | 
			
				15
			 | 
			
			
				+   * paramètres en sessions). 
			 | 
		
	
		
			
			| 
				15
			 | 
			
				16
			 | 
			
			
				    *  
			 | 
		
	
		
			
			| 
				16
			 | 
			
				17
			 | 
			
			
				    * @param ElementSearcher $es  
			 | 
		
	
		
			
			| 
				17
			 | 
			
				18
			 | 
			
			
				    */ 
			 | 
		
	
		
			
			| 
				18
			 | 
			
				19
			 | 
			
			
				   protected function setElementSearcher(ElementSearcher $es) 
			 | 
		
	
		
			
			| 
				19
			 | 
			
				20
			 | 
			
			
				   { 
			 | 
		
	
		
			
			| 
				20
			 | 
			
				
			 | 
			
			
				-    $this->ElementSearcher = $es; 
			 | 
		
	
		
			
			| 
				21
			 | 
			
				
			 | 
			
			
				-    $session->set('user.element_search.params', $es->getParams()); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				21
			 | 
			
			
				+    $this->get("session")->set('user.element_search.params', $es->getParams()); 
			 | 
		
	
		
			
			| 
				22
			 | 
			
				22
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				23
			 | 
			
				23
			 | 
			
			
				    
			 | 
		
	
		
			
			| 
				24
			 | 
			
				24
			 | 
			
			
				   /** 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -29,43 +29,31 @@ class Controller extends BaseController 
			 | 
		
	
		
			
			| 
				29
			 | 
			
				29
			 | 
			
			
				    */ 
			 | 
		
	
		
			
			| 
				30
			 | 
			
				30
			 | 
			
			
				   protected function getElementSearcher($user_id) 
			 | 
		
	
		
			
			| 
				31
			 | 
			
				31
			 | 
			
			
				   { 
			 | 
		
	
		
			
			| 
				32
			 | 
			
				
			 | 
			
			
				-    // Premièrement, est-ce que l'objet existe 
			 | 
		
	
		
			
			| 
				33
			 | 
			
				
			 | 
			
			
				-    if (!$this->ElementSearcher) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				32
			 | 
			
			
				+    $session = $this->get("session"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				33
			 | 
			
			
				+    // Si l'objet n'existe pas encore, a t-on déjà des paramètres de recherche 
			 | 
		
	
		
			
			| 
				
			 | 
			
				34
			 | 
			
			
				+    if (!$session->has('user.element_search.params')) 
			 | 
		
	
		
			
			| 
				34
			 | 
			
				35
			 | 
			
			
				     { 
			 | 
		
	
		
			
			| 
				35
			 | 
			
				
			 | 
			
			
				-      $session  = $this->get("session"); 
			 | 
		
	
		
			
			| 
				36
			 | 
			
				
			 | 
			
			
				-      // Si l'objet n'existe pas encore, a t-on déjà des paramètres de recherche 
			 | 
		
	
		
			
			| 
				37
			 | 
			
				
			 | 
			
			
				-      if (!$session->has('user.element_search.params')) 
			 | 
		
	
		
			
			| 
				38
			 | 
			
				
			 | 
			
			
				-      { 
			 | 
		
	
		
			
			| 
				39
			 | 
			
				
			 | 
			
			
				-        // Il nous faut instancier notre premier objet recherche 
			 | 
		
	
		
			
			| 
				40
			 | 
			
				
			 | 
			
			
				-        // Premièrement on récupère les tags favoris de l'utilisateur 
			 | 
		
	
		
			
			| 
				41
			 | 
			
				
			 | 
			
			
				-        $tags_id = array(); 
			 | 
		
	
		
			
			| 
				42
			 | 
			
				
			 | 
			
			
				-        foreach ($this->getDoctrine()->getRepository('MuzichCoreBundle:User') 
			 | 
		
	
		
			
			| 
				43
			 | 
			
				
			 | 
			
			
				-          // TODO: 3: CONFIG !! 
			 | 
		
	
		
			
			| 
				44
			 | 
			
				
			 | 
			
			
				-          ->getTagIdsFavorites($user_id, 3) 
			 | 
		
	
		
			
			| 
				45
			 | 
			
				
			 | 
			
			
				-          as $tag) 
			 | 
		
	
		
			
			| 
				46
			 | 
			
				
			 | 
			
			
				-        { 
			 | 
		
	
		
			
			| 
				47
			 | 
			
				
			 | 
			
			
				-          $tags_id[] = $tag['id']; 
			 | 
		
	
		
			
			| 
				48
			 | 
			
				
			 | 
			
			
				-        } 
			 | 
		
	
		
			
			| 
				49
			 | 
			
				
			 | 
			
			
				-         
			 | 
		
	
		
			
			| 
				50
			 | 
			
				
			 | 
			
			
				-        // Ensuite on fabrique l'objet ElementSearcher 
			 | 
		
	
		
			
			| 
				51
			 | 
			
				
			 | 
			
			
				-        $this->ElementSearcher = new ElementSearcher(); 
			 | 
		
	
		
			
			| 
				52
			 | 
			
				
			 | 
			
			
				-        $this->ElementSearcher->init(array( 
			 | 
		
	
		
			
			| 
				53
			 | 
			
				
			 | 
			
			
				-          'tags' => $tags_id 
			 | 
		
	
		
			
			| 
				54
			 | 
			
				
			 | 
			
			
				-        )); 
			 | 
		
	
		
			
			| 
				55
			 | 
			
				
			 | 
			
			
				-         
			 | 
		
	
		
			
			| 
				56
			 | 
			
				
			 | 
			
			
				-        // Et on met en session les paramètres 
			 | 
		
	
		
			
			| 
				57
			 | 
			
				
			 | 
			
			
				-        $session->set('user.element_search.params', $this->ElementSearcher->getParams()); 
			 | 
		
	
		
			
			| 
				58
			 | 
			
				
			 | 
			
			
				-      } 
			 | 
		
	
		
			
			| 
				59
			 | 
			
				
			 | 
			
			
				-      else 
			 | 
		
	
		
			
			| 
				60
			 | 
			
				
			 | 
			
			
				-      { 
			 | 
		
	
		
			
			| 
				61
			 | 
			
				
			 | 
			
			
				-        // Des paramètres existes, on fabrique l'objet recherche 
			 | 
		
	
		
			
			| 
				62
			 | 
			
				
			 | 
			
			
				-        $this->ElementSearcher = new ElementSearcher(); 
			 | 
		
	
		
			
			| 
				63
			 | 
			
				
			 | 
			
			
				-        $this->ElementSearcher->init($session->get('user.element_search.params')); 
			 | 
		
	
		
			
			| 
				64
			 | 
			
				
			 | 
			
			
				-      } 
			 | 
		
	
		
			
			| 
				65
			 | 
			
				
			 | 
			
			
				-       
			 | 
		
	
		
			
			| 
				66
			 | 
			
				
			 | 
			
			
				-      // L'objet existe déjà, on le retourne 
			 | 
		
	
		
			
			| 
				67
			 | 
			
				
			 | 
			
			
				-      return $this->ElementSearcher; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				36
			 | 
			
			
				+      // Il nous faut instancier notre premier objet recherche 
			 | 
		
	
		
			
			| 
				
			 | 
			
				37
			 | 
			
			
				+      // Premièrement on récupère les tags favoris de l'utilisateur 
			 | 
		
	
		
			
			| 
				
			 | 
			
				38
			 | 
			
			
				+      $this->ElementSearcher = new ElementSearcher(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				39
			 | 
			
			
				+      $this->ElementSearcher->init(array( 
			 | 
		
	
		
			
			| 
				
			 | 
			
				40
			 | 
			
			
				+        'tags' => $this->getDoctrine()->getRepository('MuzichCoreBundle:User') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				41
			 | 
			
			
				+        // TODO: 3: CONFIG !! 
			 | 
		
	
		
			
			| 
				
			 | 
			
				42
			 | 
			
			
				+        ->getTagIdsFavorites($user_id, 3) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				43
			 | 
			
			
				+      )); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				44
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				45
			 | 
			
			
				+      // Et on met en session les paramètres 
			 | 
		
	
		
			
			| 
				
			 | 
			
				46
			 | 
			
			
				+      $session->set('user.element_search.params', $this->ElementSearcher->getParams()); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				47
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				48
			 | 
			
			
				+    else 
			 | 
		
	
		
			
			| 
				
			 | 
			
				49
			 | 
			
			
				+    { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				50
			 | 
			
			
				+      // Des paramètres existes, on fabrique l'objet recherche 
			 | 
		
	
		
			
			| 
				
			 | 
			
				51
			 | 
			
			
				+      $this->ElementSearcher = new ElementSearcher(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				52
			 | 
			
			
				+      $this->ElementSearcher->init($session->get('user.element_search.params')); 
			 | 
		
	
		
			
			| 
				68
			 | 
			
				53
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				54
			 | 
			
			
				+     
			 | 
		
	
		
			
			| 
				
			 | 
			
				55
			 | 
			
			
				+    // on le retourne 
			 | 
		
	
		
			
			| 
				
			 | 
			
				56
			 | 
			
			
				+    return $this->ElementSearcher; 
			 | 
		
	
		
			
			| 
				69
			 | 
			
				57
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				70
			 | 
			
				58
			 | 
			
			
				    
			 | 
		
	
		
			
			| 
				71
			 | 
			
				59
			 | 
			
			
				   /** 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -78,4 +66,16 @@ class Controller extends BaseController 
			 | 
		
	
		
			
			| 
				78
			 | 
			
				66
			 | 
			
			
				     return $this->container->get('security.context')->getToken()->getUser(); 
			 | 
		
	
		
			
			| 
				79
			 | 
			
				67
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				80
			 | 
			
				68
			 | 
			
			
				    
			 | 
		
	
		
			
			| 
				
			 | 
			
				69
			 | 
			
			
				+  /** 
			 | 
		
	
		
			
			| 
				
			 | 
			
				70
			 | 
			
			
				+   * Retourne un tabeau avec les tags connus. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				71
			 | 
			
			
				+   * TODO: Voir pour que cette info soit stocké (par exemple) dans un champs 
			 | 
		
	
		
			
			| 
				
			 | 
			
				72
			 | 
			
			
				+   * texte en base. (json array) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				73
			 | 
			
			
				+   *  
			 | 
		
	
		
			
			| 
				
			 | 
			
				74
			 | 
			
			
				+   * @return array 
			 | 
		
	
		
			
			| 
				
			 | 
			
				75
			 | 
			
			
				+   */ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				76
			 | 
			
			
				+  protected function getTagsArray() 
			 | 
		
	
		
			
			| 
				
			 | 
			
				77
			 | 
			
			
				+  { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				78
			 | 
			
			
				+    return $this->getDoctrine()->getRepository('MuzichCoreBundle:Tag')->getTagsArray(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				79
			 | 
			
			
				+  } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				80
			 | 
			
			
				+   
			 | 
		
	
		
			
			| 
				81
			 | 
			
				81
			 | 
			
			
				 } 
			 |