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