diff options
Diffstat (limited to 'server/music-search.php')
-rw-r--r-- | server/music-search.php | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/server/music-search.php b/server/music-search.php deleted file mode 100644 index b1c7cee7..00000000 --- a/server/music-search.php +++ /dev/null @@ -1,109 +0,0 @@ -<?php - -/* - -Jappix - An open social platform -This is the Jappix music search script - -------------------------------------------------- - -License: AGPL -Author: Valérian Saliou - -*/ - -// PHP base -define('JAPPIX_BASE', '..'); - -// Get the needed files -require_once('./functions.php'); -require_once('./read-main.php'); -require_once('./read-hosts.php'); - -// Prepare application -enableErrorSink(); -hideErrors(); -compressThis(); - -// Not allowed for a special node -if(isStatic() || isUpload()) { - exit; -} - -// If valid data was sent -if((isset($_GET['searchquery']) && !empty($_GET['searchquery'])) && (isset($_GET['location']) && !empty($_GET['location']))) { - // Set a XML header - header('Content-Type: text/xml; charset=utf-8'); - - // Get the values - $searchquery = $_GET['searchquery']; - $location = $_GET['location']; - - // Jamendo search? - if($location == 'jamendo') { - exit(readUrl('http://api.jamendo.com/get2/name+id+duration+url/track/xml/?searchquery='.urlencode($searchquery).'&order=searchweight_desc')); - } - - // Local music search - $xml = '<data>'; - $searchquery = strtolower($searchquery); - - // Escape the regex special characters - $searchquery = escapeRegex($searchquery); - - // Search in the directory - $repertory = '../store/music/'; - $scan = scandir($repertory); - - foreach($scan as $current) { - // This file match our query! - if(is_file($repertory.$current) && $current && preg_match('/(^|\s|\[)('.$searchquery.')(.+)?(\.(og(g|a)|mp3|wav))$/i', strtolower($current))) { - // Get the basic informations - $title = preg_replace('/^(.+)(\.)(og(g|a)|mp3|wav)$/i', '$1', $current); - $url = $location.'store/music/'.$current; - $ext = getFileExt($current); - $id = md5($url); - - // Get the MIME type - if($ext == 'mp3') { - $type = 'audio/mpeg'; - } else if($ext == 'wav') { - $type = 'audio/x-wav'; - } else { - $type = 'audio/ogg'; - } - - // Get the advanced informations - $locked_title = $title; - $artist = ''; - $source = ''; - - $title_regex = '/^(([^-]+) - )?([^\[]+)( \[(.+))?$/i'; - $artist_regex = '/^(.+) - (.+)$/i'; - $source_regex = '/^(.+) \[(.+)\]$/i'; - - if(preg_match($title_regex, $locked_title)) { - $title = preg_replace($title_regex, '$3', $locked_title); - } - - if(preg_match($artist_regex, $locked_title)) { - $artist = preg_replace($artist_regex, '$1', $locked_title); - } - - if(preg_match($source_regex, $locked_title)) { - $source = preg_replace($source_regex, '$2', $locked_title); - } - - // Generate the XML - $xml .= '<data><track><name>'.htmlspecialchars($title).'</name><artist>'.htmlspecialchars($artist).'</artist><source>'.htmlspecialchars($source).'</source><id>'.htmlspecialchars($id).'</id><url>'.htmlspecialchars($url).'</url><type>'.$type.'</type></track></data>'; - } - } - - // End - $xml .= '</data>'; - - // Return the path to the file - exit($xml); -} - -?> |