2 changed files with 73 additions and 0 deletions
@ -0,0 +1,72 @@ |
|||
#!/usr/bin/perl |
|||
|
|||
# Set ucp_url to something like this: |
|||
# https://webserver/cgi-bin/fusionpbx_get_recording.pl?file={odoo_uuid}&start={odoo_start}&resource={user_resource} |
|||
|
|||
my(%args); |
|||
if($ENV{'REQUEST_METHOD'} eq "GET") { |
|||
$query=$ENV{'QUERY_STRING'}; |
|||
my(@line_args)=split(/&/,$query); |
|||
|
|||
for my $arg (@line_args){ |
|||
$arg=~ s/\+/ /g; # replace + with spaces..... |
|||
($key,$val)=split(/=/,$arg); |
|||
$val =~ s/%(..)/pack("c",hex($1))/ge; |
|||
if($key eq "file" || $key eq "usename" || $key eq "content" ||$key eq "remove" ){ |
|||
$args{$key}=$val; |
|||
} |
|||
} |
|||
|
|||
|
|||
} |
|||
else{ |
|||
print "Content-type: text/html\n\n"; |
|||
print "No Arguments....."; |
|||
exit 1; |
|||
} |
|||
|
|||
my $time = $start; |
|||
my @months = ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); |
|||
my ($sec, $min, $hour, $day,$month,$year) = (gmtime($time))[0,1,2,3,4,5]; |
|||
|
|||
print "Unix time ".$time." converts to ".$months[$month]." ".$day.", ".($year+1900); |
|||
print " ".$hour.":".$min.":".$sec."\n"; |
|||
|
|||
$resource =~ s/@/./ |
|||
|
|||
$filename="/usr/local/freeswitch/recordings/".$resource."/".$year."/".$months[$month]."/".$day."/".$args{"file"}; |
|||
my(@stat)=stat $filename; |
|||
binmode(STDOUT); |
|||
if(open (F,"<", "$filename")){ |
|||
print "Connection: close\n"; |
|||
if($args{"content"}){ |
|||
print "Content-Type: ".$args{"content"}."\n\\"; |
|||
} |
|||
else{ |
|||
print "Content-Type: application/octet-stream\n"; |
|||
} |
|||
|
|||
print "Content-Length: ".$stat[7]."\n"; |
|||
if($args{"usename"}){ |
|||
print "Content-Disposition: attachment; filename=\"".$args{"usename"}."\"\n\n"; |
|||
} |
|||
else { |
|||
print "Content-Disposition: attachment; filename=\"".$args{"file"}."\"\n\n"; |
|||
} |
|||
|
|||
while($len=sysread( F, $buf,512)){ |
|||
print $buf; |
|||
} |
|||
close F; |
|||
if($args{"remove"}==1){ |
|||
unlink $filename; |
|||
} |
|||
} |
|||
else { |
|||
print "Connection: close\n"; |
|||
print "Content-Type: text/html\n\n"; |
|||
print "<H1>Error </H1>\n"; |
|||
print "The file ".$args{"file"}." does not exists in the server<br>\n"; |
|||
print "Please contact to the administrator for more info.\n\n"; |
|||
} |
|||
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue