#1784 HTML UI: Replace listen.m3u with the name of the file being played
This commit is contained in:
parent
2fdaf79f9a
commit
29e7838554
|
@ -448,15 +448,12 @@ class uiBrowser extends uiBase {
|
|||
$id = BasicStor::IdFromGunid($clipid);
|
||||
$type = Greenbox::getFileType($id);
|
||||
|
||||
if (strtolower($type) === strtolower(UI_FILETYPE_AUDIOCLIP)) {
|
||||
$m3u = "http://{$_SERVER['SERVER_NAME']}".$CC_CONFIG['accessRawAudioUrl']."?sessid={$this->sessid}&id=$clipid\n";
|
||||
if (1) {
|
||||
header("Location: http://{$_SERVER['SERVER_NAME']}".$CC_CONFIG['accessRawAudioUrl']."?sessid={$this->sessid}&id=$clipid\n");
|
||||
} else {
|
||||
$m3u = $this->getMetadataValue($id, UI_MDATA_KEY_URL);
|
||||
}
|
||||
touch(UI_TESTSTREAM_MU3_TMP);
|
||||
$handle = fopen(UI_TESTSTREAM_MU3_TMP, "w");
|
||||
fwrite($handle, $m3u);
|
||||
fclose($handle);
|
||||
|
||||
} // fn listen2Audio
|
||||
|
||||
} // class uiBrowser
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
require_once(dirname(__FILE__).'/../conf.php');
|
||||
require_once('DB.php');
|
||||
require_once(dirname(__FILE__).'/../LocStor.php');
|
||||
require_once(dirname(__FILE__).'/../MetaData.php');
|
||||
|
||||
$CC_DBC = DB::connect($CC_CONFIG['dsn'], TRUE);
|
||||
$CC_DBC->setErrorHandling(PEAR_ERROR_RETURN);
|
||||
|
@ -45,6 +46,21 @@ function http_error($code, $err)
|
|||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function encodes an filename to
|
||||
* be transferred via HTTP header.
|
||||
*
|
||||
* @param string $p_string utf8 filename
|
||||
* @return string HTTP header encoded filename
|
||||
*/
|
||||
function sg_2hexstring($p_string)
|
||||
{
|
||||
for ($x=0; $x < strlen($p_string); $x++) {
|
||||
$return .= '%' . bin2hex($p_string[$x]);
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
|
||||
// parameter checking:
|
||||
if (preg_match("|^[0-9a-fA-F]{32}$|", $_REQUEST['sessid'])) {
|
||||
$sessid = $_REQUEST['sessid'];
|
||||
|
@ -85,8 +101,11 @@ switch ($ftype) {
|
|||
case "audioclip":
|
||||
$realFname = $ac->getRealFileName();
|
||||
$mime = $ac->getMime();
|
||||
$md = new MetaData($ac->getGunId(), null);
|
||||
$fileName = $md->getMetadataValue('dc:title').'.'.$ac->getFileExtension();
|
||||
header("Content-type: $mime");
|
||||
header("Content-length: ".filesize($realFname));
|
||||
header("Content-Disposition: attachment; filename*=".sg_2hexstring($fileName).";");
|
||||
readfile($realFname);
|
||||
break;
|
||||
case "webstream":
|
||||
|
|
Loading…
Reference in New Issue