$lastLine = exec($cmd, $output, $exitCode);
if ($exitCode !== 0) {
- if (strpos($lastLine, 'Unsupported URL') !== false) {
+ if ($exitCode === 127) {
+ errorOut(
+ 'youtube-dl not found at ' . $youtubedlPath,
+ '500 youtube-dl not found'
+ );
+ } else if (strpos($lastLine, 'Unsupported URL') !== false) {
errorOut(
'Unsupported URL at ' . $pageUrl,
'406 Unsupported URL (No video found)'
}
$json = implode("\n", $output);
+ return $json;
}
function extractVideoUrlFromJson($json)
ini_set('track_errors', 1);
$xml = @file_get_contents('http://' . $dreamboxHost . '/web/session');
if ($xml === false) {
- errorOut('Failed to fetch dreambox session token: ' . $php_errormsg);
+ list($http, $code, $message) = explode(
+ ' ', $http_response_header[0], 3
+ );
+ if ($code == 401) {
+ //dreambox web interface authentication has been enabled
+ errorOut(
+ 'Error: Web interface authentication is required',
+ '401 Dreambox web authentication required'
+ );
+ } else {
+ errorOut(
+ 'Failed to fetch dreambox session token: ' . $php_errormsg,
+ $code . ' ' . $message
+ );
+ }
}
$sx = simplexml_load_string($xml);
$token = (string) $sx;
);
$ret = file_get_contents($playUrl, false, $ctx);
if ($ret !== false) {
- header('HTTP/1.0 200 OK');
+ if (php_sapi_name() != 'cli') {
+ header('HTTP/1.0 200 OK');
+ }
echo "Video play request sent to dreambox\n";
exit(0);
} else {