Example #1
0
 private function printSongs($songs, $artistName = false, $albumName = false)
 {
     header('Content-Type:  text/xml');
     $tmpl = new \OC_Template('media', 'ampache/songs');
     foreach ($songs as $song) {
         $songData = array();
         if ($artistName) {
             $songData['artist_name'] = xmlentities($artistName);
         } else {
             $songData['artist_name'] = xmlentities($this->collection->getArtistName($song['song_artist']));
         }
         if ($albumName) {
             $songData['album_name'] = xmlentities($albumName);
         } else {
             $songData['album_name'] = xmlentities($this->collection->getAlbumName($song['song_album']));
         }
         $songData['id'] = $song['song_id'];
         $songData['name'] = xmlentities($song['song_name']);
         $songData['artist'] = $song['song_artist'];
         $songData['album'] = $song['song_album'];
         $songData['length'] = $song['song_length'];
         $songData['track'] = $song['song_track'];
         $songData['size'] = $song['song_size'];
         $url = \OCP\Util::linkToRemote('ampache') . 'server/xml.server.php/?action=play&song=' . $songData['id'] . '&auth=' . $_GET['auth'];
         $songData['url'] = xmlentities($url);
         $tmpl->append('songs', $songData);
     }
     $tmpl->printPage();
 }
Example #2
0
     break;
 case 'get_songs':
     \OCP\JSON::encodedPrint($collection->getSongs($arguments['artist'], $arguments['album'], $arguments['search']));
     break;
 case 'get_path_info':
     if (\OC\Files\Filesystem::file_exists($arguments['path'])) {
         $songId = $collection->getSongByPath($arguments['path']);
         if ($songId == 0) {
             unset($_SESSION['collection']);
             $scanner = new Scanner($collection);
             $songId = $scanner->scanFile($arguments['path']);
         }
         if ($songId > 0) {
             $song = $collection->getSong($songId);
             $song['artist'] = $collection->getArtistName($song['song_artist']);
             $song['album'] = $collection->getAlbumName($song['song_album']);
             \OCP\JSON::encodedPrint($song);
         }
     }
     break;
 case 'play':
     $ftype = \OC\Files\Filesystem::getMimeType($arguments['path']);
     if (substr($ftype, 0, 5) != 'audio' and $ftype != 'application/ogg') {
         echo 'Not an audio file';
         exit;
     }
     $songId = $collection->getSongByPath($arguments['path']);
     $collection->registerPlay($songId);
     header('Content-Type:' . $ftype);
     \OCP\Response::enableCaching(3600 * 24);
     // 24 hour