diff options
Diffstat (limited to 'FS/bin/freeside-fetch')
| -rwxr-xr-x | FS/bin/freeside-fetch | 93 | 
1 files changed, 0 insertions, 93 deletions
| diff --git a/FS/bin/freeside-fetch b/FS/bin/freeside-fetch deleted file mode 100755 index c1ab78373..000000000 --- a/FS/bin/freeside-fetch +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use LWP::UserAgent; -use FS::UID qw(adminsuidsetup); -use FS::Record qw(qsearchs); -use FS::Misc qw(send_email); - -my $user = shift or die &usage; -my $employeelist = shift or die &usage; -my $url = shift or die &usage; -adminsuidsetup $user; - -my @employees = split ',', $employeelist; - -foreach my $employee (@employees) { - -  $employee =~ /^(\w+)$/; - -  my $access_user = qsearchs( 'access_user', { 'username' => $1 } ); -  unless ($access_user) { -    warn "Can't find employee $employee... skipping"; -    next; -  } - -  my $email_address = $access_user->option('email_address'); -  unless ($email_address) { -    warn "No email address for $employee... skipping"; -    next; -  } - -  no warnings 'redefine'; -  local *LWP::UserAgent::get_basic_credentials = sub { -    return ($access_user->username, $access_user->_password); -  }; - -  my $ua = new LWP::UserAgent; -  $ua->timeout(1800); #30m, some reports can take a while -  $ua->agent("FreesideFetcher/0.1 " . $ua->agent); - -  my $req = new HTTP::Request GET => $url; -  my $res = $ua->request($req); - -  my $conf = new FS::Conf; -  my $subject = $conf->config('email_report-subject') || 'Freeside report'; - -  my %options = ( 'from'             => $email_address, -                  'to'               => $email_address, -                  'subject'          => $subject, -                  'body'             => $res->content, -                ); - -  $options{'content-type'} = $res->content_type -    if $res->content_type; -  $options{'content-encoding'} = $res->content_encoding -    if $res->content_encoding; - -  if ($res->is_success) { -    send_email %options; -  }else{ -    warn "fetching $url failed for $employee: " . $res->status_line; -  } -} - -sub usage { -  die "Usage:\n\n  freeside-fetch user employee[,employee ...] url\n\n"; -} - -=head1 NAME - -freeside-fetch - Send a freeside page to a list of employees. - -=head1 SYNOPSIS - -  freeside-fetch user employee[,employee ...] url - -=head1 DESCRIPTION - -  Fetches a web page specified by url as if employee and emails it to -  employee.  Useful when run out of cron to send freeside web pages. - -  user: Freeside user - -  employee: the username of an employee to receive the emailed page.  May be a comma separated list - -  url: the web page to be received - -=head1 BUGS - -  Can leak employee usernames and passwords if requested to access inappropriate urls. - -=cut - | 
