Пример #1
0
 private static function performSearch($method, $query, $country = null, $max = null)
 {
     $results = array();
     for ($page = 1; $page <= 2; $page++) {
         switch ($method) {
             case "getSongSearchResults":
                 $searchResults = parent::getSongSearchResults($query, $country, $max ? $max : 91, ($page - 1) * 90);
                 break;
             case "getArtistSearchResults":
             case "getAlbumSearchResults":
                 $searchResults = call_user_func(array(parent::getInstance(), $method), $query, $max ? $max : 91, ($page - 1) * 90);
                 break;
             default:
                 return false;
                 break;
         }
         if ($searchResults === false || count($searchResults) < 1) {
             break;
         }
         if (count($searchResults) > 90 && (!$max || $max > 100)) {
             array_pop($searchResults);
             //we need to check if there are more results
         }
         self::appendResults($searchResults, $results);
         if (count($searchResults) < 90 || $max && count($results) > $max) {
             break;
         }
     }
     if ($max) {
         return array_slice($results, 0, $max, true);
     } else {
         return $results;
     }
 }