Exemplo n.º 1
0
                // Now let's update audioscrobbler
                $el->setStartTime(time());
                if ($enable_audioscrobbler == "true") {
                    $jzSERVICES->loadService("reporting", "audioscrobbler");
                    $jzSERVICES->updatePlayCountReporting($el);
                }
            }
            $meta = $el->getMeta();
            if ($meta['artist'] != "" and $meta['artist'] != "-") {
                $title = $meta['artist'] . " - " . $el->getName();
            } else {
                $title = $el->getName();
            }
            if (isset($_GET['jz_user'])) {
                $be->setPlaying($_GET['jz_user'], $el, $_GET['sid']);
            }
            session_write_close();
            // Close session while file is streaming
            sendMedia($el->getFileName("host"), $title, $resample);
        }
        exit;
        break;
        // download a collection of media:
    // download a collection of media:
    case "image":
        if (preg_match("/\\.({$ext_graphic})\$/i", $_GET['jz_path'])) {
            showImage($_GET['jz_path']);
        }
        exit;
        break;
}
Exemplo n.º 2
0
     $el =& new jzMediaTrack($_GET['jz_path']);
     if (!checkStreamLimit($el)) {
         // TODO: AJAX this so we don't come to a page, but get a Javascript alert.
         echo word('Sorry, you have reached your download limit.');
         exit;
     }
     // Are they downloading something resampled?
     if (stristr($_GET['jz_path'], "data/resample")) {
         $name = $el->getPath();
         $name = $name[sizeof($name) - 1];
         sendMedia($_GET['jz_path'], $name, $resample, true);
     } else {
         $el->increaseDownloadCount();
         $name = $el->getPath();
         $name = $name[sizeof($name) - 1];
         sendMedia($el->getFileName("host"), $name, $resample, true);
     }
     exit;
 } else {
     if ($_GET['type'] == "playlist") {
         $pl = $jzUSER->loadPlaylist($_GET['jz_pl_id']);
         $pl->download();
     } else {
         $pl = new jzPlaylist();
         if ($_GET['type'] == "track") {
             $el =& new jzMediaTrack($_GET['jz_path']);
         } else {
             $el =& new jzMediaNode($_GET['jz_path']);
         }
         if ($el->getLevel() == 0) {
             die;
Exemplo n.º 3
0
/**
 * Sends a clip of a media file.
 * 
 * @author Ben Dodson
 * @version 8/17/05
 * @since 8/17/05
 */
function sendClip($el)
{
    global $clip_length, $clip_start;
    if (!$el->isLeaf()) {
        return false;
    }
    $fname = $el->getFilename("host");
    $ext = substr($fname, strrpos($fname, ".") + 1);
    $clipfile = substr($fname, 0, -4) . ".clip." . $ext;
    if (is_file($clipfile)) {
        sendMedia($clipfile, $el->getName() . " Clip." . $ext);
        exit;
    }
    $meta = $el->getMeta();
    $bitrate = $meta['bitrate'];
    if (!is_numeric($bitrate)) {
        // Let's assume 160.
        $bitrate = 160;
    }
    $cstart = $clip_start * ($bitrate * 1024 / 8);
    $clength = $clip_length * ($bitrate * 1024 / 8);
    $contents = substr(file_get_contents($fname), $cstart, $clength);
    sendContentType($ext);
    header("Content-length: " . $clength);
    header("Content-Disposition: inline; filename=\"" . $el->getName() . " Clip." . $ext . "\"");
    header("Expires: " . gmdate("D, d M Y H:i:s", mktime(date("H") + 2, date("i"), date("s"), date("m"), date("d"), date("Y"))) . " GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-cache, must-revalidate");
    header("Pragma: no-cache");
    print $contents;
    exit;
}