function read_info($dir, $call)
{
$info = array();
- if (($f = fopen(SPOOL_DIR . '/' . $dir . '/' . $call . '.info', 'r')) !== false) {
+ $fname = SPOOL_DIR . '/' . $dir . '/' . $call . '.info';
+
+ if (is_file($fname) && ($f = fopen($fname, 'r')) !== false) {
$line = fgets($f, 1024);
fclose($f);
$info = unserialize($line);
return -1;
elseif ($a['timestamp'] > $b['timestamp'])
return -1;
- else
+ elseif ($a['timestamp'] < $b['timestamp'])
return 1;
return 0;
}
if ($dir = opendir(SPOOL_DIR . '/' . $directory)) {
while (($filename = readdir($dir)) !== false) {
- if (($pos = strpos($filename, '.vmsg')) !== false) {
+ if (($pos = strpos($filename, '.vmsg')) !== false || ($pos = strpos($filename, '.msg')) !== false) {
$fname = substr($filename,0,$pos);
$info = message_info($directory, $fname);
$info['fname'] = $fname;
function send_call($dir, $call)
{
+ if ($_SERVER['HTTP_USER_AGENT'] == 'NSPlayer') return;
+
$dir = str_replace('/','x',$dir);
$call = str_replace('/','x',$call);
- $fname = SPOOL_DIR . '/' . $dir . '/' . $call . '.vmsg';
+
+ if ($dir == 'messages')
+ $ext = '.msg';
+ else
+ $ext = '.vmsg';
+
+ $fname = SPOOL_DIR . '/' . $dir . '/' . $call . $ext;
+ $aufile = SPOOL_DIR . '/' . $dir . '/' . $call . '.au';
if (!is_file($fname)) {
printf("<html><body><h3>Anruf %s in %s nicht gefunden!</h3></body></html>", $call, $dir);
return;
}
- if (($p = popen('vboxtoau < ' . $fname, 'r')) === false) {
+ system('vboxtoau < ' . $fname . ' > ' . $aufile);
+
+ if (($f = fopen($aufile, 'r')) === false) {
printf("<html><body><h3>Anruf %s in %s konnte geoeffnet werden!</h3></body></html>", $call, $dir);
return;
}
header(sprintf('Content-disposition: inline; filename="%s.au"', $call));
header('Content-Type: audio/basic');
- header("Cache-Control: ");
- header("Pragma: ");
+ header("Content-Length: " . filesize($aufile));
+ header("Cache-Control: no-cache" );
+ header("Pragma: no-cache" );
sleep(1);
- fpassthru($p);
-
- pclose($p);
+ fpassthru($f);
+ fclose($f);
+ unlink($aufile);
}
function archive_call($call)
unlink($basename . '.info');
}
+function save_call()
+{
+ $info = read_info($_POST['dir'], $_POST['call']);
+ $info['name'] = $_POST['name'];
+ $info['note'] = $_POST['note'];
+ write_info($_POST['dir'], $_POST['call'], $info);
+}
+
?>