OSDial
view release on metacpan or search on metacpan
lib/OSDial.pm view on Meta::CPAN
=cut
sub media_save_file {
my ($self,$dir,$filename,$overwrite) = @_;
$dir = '.' unless ($dir);
$overwrite = 0 unless ($overwrite);
unless (-e $dir) {
mkdir($dir,oct('0777'));
my ($login,$pass,$uid,$gid) = getpwnam('asterisk');
chown($uid,$gid,$dir);
}
chmod(oct('0777'),$dir);
my $file = $dir.'/'.$filename;
$self->debug(3,'media_save_file'," Adding File:%s Dir:%s Name:%s Overwrite:%s", $file, $dir, $filename, $overwrite);
return '*'.$filename if (-e $file and $overwrite==0);
my $filedata = $self->media_get_filedata($filename);
return '!'.$filename unless ($filedata);
open(MSF, '>'.$file);
binmode(MSF);
print MSF $filedata;
close(MSF);
my ($login,$pass,$uid,$gid) = getpwnam('asterisk');
chown($uid,$gid,$file);
chmod(oct('0666'),$file);
return '='.$filename if ($overwrite);
return '+'.$filename;
}
=over 4
lib/OSDial.pm view on Meta::CPAN
sub media_save_files {
my ($self,$dir,$pattern,$overwrite) = @_;
$dir = '.' unless ($dir);
$overwrite = 0 unless ($overwrite);
$pattern = '.*' unless ($pattern);
$self->debug(3,'media_save_files',"Adding Files:%s Pattern:%s Overwrite:%s", $dir, $pattern, $overwrite);
unless (-e $dir) {
mkdir($dir,oct('0777'));
my ($login,$pass,$uid,$gid) = getpwnam('asterisk');
chown($uid,$gid,$dir);
}
chmod(oct('0777'),$dir);
my @files;
while (my $sret = $self->sql_query("SELECT * FROM osdial_media;", "MSF")) {
if ($sret->{filename} =~ /$pattern/) {
push @files, $self->media_save_file($dir, $sret->{filename}, $overwrite);
chmod(oct('0666'),$dir.'/'.$sret->{filename});
}
}
( run in 0.864 second using v1.01-cache-2.11-cpan-5511b514fd6 )