Ejemplo n.º 1
0
function action_getCurStatus($msg = "")
{
    global $config;
    doPrint("got json status request");
    $data = getData();
    $data = fillInDefaults($data);
    $text = "idle";
    if (isset($data['ppid'])) {
        $file = $data['filename'];
        $file = str_replace($config["searchPath"], "", $file);
        if ($data['playingStream'] == 0 and strpos($file, "/") !== 0) {
            $file = "/" . $file;
        }
        $bitrate = "";
        if (isset($data["bitrate"]) and !empty($data["bitrate"])) {
            $bitrate = " (" . $data["bitrate"] . "kb)";
        }
        if ($data['pause']) {
            $text = "paused (pid: " . $data['ppid'] . "): " . $file . $bitrate;
        } else {
            $text = "playing (pid: " . $data['ppid'] . "): " . $file . $bitrate;
        }
    } else {
        $data['playingStream'] = 0;
    }
    list($remMin, $remSec, $remaining, $stream, $started) = getRemaining($data);
    $pre = "-";
    if ($stream == 1 or empty($remSec) and empty($remMin)) {
        $pre = " ";
    }
    if (!empty($msg)) {
        $text = $msg;
    }
    $status[] = array('artist' => utf8_encode($data['artist']), 'album' => utf8_encode($data['album']), 'nr' => $data['track'], 'title' => utf8_encode($data['title']), 'length' => $data['length'], 'token' => $data['token'], 'volume' => getVolume(), 'status' => utf8_encode($text), 'remMin' => $remMin, 'remSec' => $remSec, 'pre' => $pre, 'play' => $data['play'], 'pause' => $data['pause'], 'repeat' => $data['repeat'], 'mute' => $data['mute'], 'quiet' => $data['quiet'], 'totalTime' => $data['totalTime'], "stream" => $data['playingStream'], "version" => "WebMP3 " . $WEBMP3_VERSION, "partymode" => $data['partymode']);
    if (isset($_REQUEST['debug'])) {
        print "<pre>time: " . time() . "\n\nstatus:";
        print_r($status);
        print "\ndata:\n";
        print_r($data);
    }
    if (isset($config['lastError']) and !empty($config['lastError'])) {
        header("HTTP/1.0 508 Application Error");
        print $config['lastError'];
        doPrint("Error: " . $config['lastError']);
        exit(1);
    }
    $jsonstatus = json_encode($status);
    echo '({"total":"' . count($status) . '","results":' . $jsonstatus . '})';
}
Ejemplo n.º 2
0
function getData($called = 0, $errMsg = "")
{
    global $config;
    global $data;
    $called++;
    if ($called > 1) {
        sleep(1);
        doPrint($called . " try to get data");
    }
    if ($called == 10) {
        die($errMsg);
    }
    if (file_exists($config["playlist"])) {
        $tmp = file($config["playlist"]);
        if (!isset($tmp[0])) {
            return getData($called, "error in getData(), playlist corrupt?");
        }
        $data = unserialize($tmp[0]);
    } else {
        $data = fillInDefaults(array());
    }
    # check playlist for empty entries
    $playlist = array();
    foreach ($data['playlist'] as $key => $track) {
        if (!is_array($track)) {
        } elseif (!isset($track['filename'])) {
        } else {
            $playlist[$key] = $track;
        }
    }
    $data['playlist'] = $playlist;
    if (!isset($data['partymode'])) {
        $data['partymode'] = "0";
    }
    return $data;
}