Browse Source

Evolution #174: Récupé d'image: jamendo tracks

bastien 13 years ago
parent
commit
e516073186
1 changed files with 30 additions and 2 deletions
  1. 30 2
      src/Muzich/CoreBundle/ElementFactory/Site/JamendocomFactory.php

+ 30 - 2
src/Muzich/CoreBundle/ElementFactory/Site/JamendocomFactory.php View File

@@ -68,8 +68,29 @@ class JamendocomFactory extends BaseFactory
68 68
     // http://www.jamendo.com/fr/track/207079
69 69
     else if (preg_match("#^\/[a-zA-Z0-9_-]+\/track\/([0-9]+)#", $url_object, $chaines))
70 70
     {
71
+      /*
72
+      * Pour une track c'est un peu différent
73
+      */
71 74
       $id_track = $chaines[1];
72
-      $get_url = "http://api.jamendo.com/get2/image/track/json/?id=".$id_track;
75
+      $get_album_url = "http://www.jamendo.com/get/album/id/track/page/json/".$id_track.'/';
76
+      
77
+      $ch = curl_init($get_album_url);
78
+      curl_setopt_array($ch, array(
79
+        CURLOPT_RETURNTRANSFER => true,
80
+        CURLOPT_HTTPHEADER => array('Content-type: application/json')
81
+      ));
82
+      $result = json_decode(curl_exec($ch));
83
+      if (count($result))
84
+      {
85
+        $album_url = str_replace('http://www.jamendo.com', '', $result[0]);
86
+        
87
+        $expl_alb = null;
88
+        if (preg_match("#^\/album\/([0-9]+)#", $album_url, $expl_alb))
89
+        {
90
+          $id_album = $expl_alb[1];
91
+          $get_url = "http://api.jamendo.com/get2/image/album/json/?id=".$id_album;
92
+        }
93
+      }
73 94
     }
74 95
     
75 96
     if ($get_url)
@@ -77,7 +98,7 @@ class JamendocomFactory extends BaseFactory
77 98
       $ch = curl_init($get_url);
78 99
       $options = array(
79 100
         CURLOPT_RETURNTRANSFER => true,
80
-        CURLOPT_HTTPHEADER => array('Content-type: application/json')
101
+        CURLOPT_HTTPHEADER => array('Content-type: text/plain')
81 102
       );
82 103
       curl_setopt_array( $ch, $options );
83 104
       $result = json_decode(curl_exec($ch));
@@ -89,6 +110,13 @@ class JamendocomFactory extends BaseFactory
89 110
     }
90 111
     
91 112
       
113
+    /**
114
+     * www.jamendo.com/get/album/id/track/page/plain/2000/
115
+     * api.jamendo.com/get2/image/track/json/?id=
116
+     * 
117
+     * api.jamendo.com/get2/album/id/track/json/?id=
118
+     * 
119
+     */
92 120
     
93 121
 
94 122