Browse Source

Modification de findBySearch (Element) pour limiter aux followed (si network personel).

bastien 12 years ago
parent
commit
11576975ce

+ 1 - 1
src/Muzich/CoreBundle/Controller/SearchController.php View File

@@ -55,7 +55,7 @@ class SearchController extends Controller
55 55
   {
56 56
     $elements = $this->getDoctrine()
57 57
       ->getRepository('MuzichCoreBundle:Element')
58
-      ->findBySearch($search)
58
+      ->findBySearch($search, $this->getUser()->getId())
59 59
       ->execute()
60 60
     ;
61 61
     

+ 9 - 7
src/Muzich/CoreBundle/Repository/ElementRepository.php View File

@@ -30,18 +30,20 @@ class ElementRepository extends EntityRepository
30 30
    * @param ElementSearcher $searcher
31 31
    * @return Doctrine\ORM\Query
32 32
    */
33
-  public function findBySearch(ElementSearcher $searcher)
33
+  public function findBySearch(ElementSearcher $searcher, $user_id)
34 34
   {;
35 35
     $params = array();
36
+    $join_personal = '';
36 37
     
37 38
     switch ($searcher->getNetwork())
38 39
     {
39
-      case ElementSearcher::NETWORK_PUBLIC:
40
-        
41
-      break;
42
-    
43 40
       case ElementSearcher::NETWORK_PERSONAL:
44 41
         
42
+        $join_personal = "
43
+          JOIN eu.followers_users f WITH f.follower = :userid
44
+        ";
45
+        $params['userid'] = $user_id;
46
+        
45 47
       break;
46 48
     }
47 49
     
@@ -60,10 +62,10 @@ class ElementRepository extends EntityRepository
60 62
     
61 63
     $query_string = "SELECT e, et, t, eu 
62 64
       FROM MuzichCoreBundle:Element e 
63
-      JOIN e.type et JOIN e.tags t $query_with JOIN e.owner eu
65
+      JOIN e.type et JOIN e.tags t $query_with JOIN e.owner eu $join_personal
64 66
       ORDER BY e.date_added DESC "
65 67
     ;
66
-    
68
+    //die($query_string);
67 69
     $query = $this->getEntityManager()
68 70
       ->createQuery($query_string)
69 71
       ->setParameters($params)