$b['timestamp']) return -1; else return 1; return 0; } function read_directory($directory) { $result = array(); if ($dir = opendir(SPOOL_DIR . '/' . $directory)) { while (($filename = readdir($dir)) !== false) { if (($pos = strpos($filename, '.vmsg')) !== false) { $fname = substr($filename,0,$pos); $info = message_info('incoming', $fname); $info['fname'] = $fname; $result[] = $info; } } closedir($dir); } usort($result, "call_cmp"); return $result; } function callinfo($dir, $call) { return read_info($dir, $call); } function send_call($dir, $call) { $dir = str_replace('/','x',$dir); $call = str_replace('/','x',$call); $fname = SPOOL_DIR . '/' . $dir . '/' . $call . '.vmsg'; if (!is_file($fname)) { printf("

Anruf %s in %s nicht gefunden!

", $call, $dir); return; } if (($p = popen('vboxtoau < ' . $fname, 'r')) === false) { printf("

Anruf %s in %s konnte geoeffnet werden!

", $call, $dir); return; } $info = read_info($dir, $call); if (empty($info['read'])) { $info['read'] = date('U'); write_info($dir, $call, $info); } header(sprintf('Content-disposition: inline; filename="%s.au"', $call)); header('Content-Type: audio/basic'); header("Cache-Control: "); header("Pragma: "); sleep(1); fpassthru($p); pclose($p); } ?>