<& /elements/header.html, "Advertising source Listing" &> Where a customer heard about your service. Tracked for informational purposes.

Add a new advertising source

<% $cgi->param('showdisabled') ? do { $cgi->param('showdisabled', 0); '( hide disabled advertising sources )'; } : do { $cgi->param('showdisabled', 1); '( show disabled advertising sources )'; } %> % ### % # Header % ### <& /elements/table-grid.html &> % my $bgcolor1 = '#eeeeee'; % my $bgcolor2 = '#ffffff'; % my $bgcolor = ''; Advertising source % if ( ! $cgi->param('showdisabled') ) { % } % if ( $show_agentnums ) { Agent % } >Prospects, Customers and Packages % for my $period ( keys %after ) { <% $period %> % } % ### % # Rows % ### %foreach my $part_referral ( FS::part_referral->all_part_referral(1,!scalar($cgi->param('showdisabled'))) ) { % % if ( $bgcolor eq $bgcolor1 ) { % $bgcolor = $bgcolor2; % } else { % $bgcolor = $bgcolor1; % } % % $a = 0; % if ( $part_referral->agentnum || $curuser->access_right('Edit global advertising sources') ) { % $a++; % % } <% $part_referral->refnum %><% $a ? '' : '' %> % if ( $a ) { % } <% $part_referral->referral %><% $a ? '' : '' %> % if ( ! $cgi->param('showdisabled') ) { <% $part_referral->disabled ? 'DISABLED' : 'Active' %> % } % if ( $show_agentnums ) { <% $part_referral->agentnum ? $part_referral->agent->agent : '(global)' %> % } % for my $period ( keys %after ) { % my @param = ( $part_referral->refnum, % $today-$after{$period}, % $today+$before{$period}, % ); % $prospect_sth->execute(@param) or die $prospect_sth->errstr; % my $num_prospect = $prospect_sth->fetchrow_arrayref->[0]; % $cust_sth->execute(@param) or die $cust_sth->errstr; % my $num_cust = $cust_sth->fetchrow_arrayref->[0]; % $pkg_sth->execute(@param) or die $pkg_sth->errstr; % my $num_pkg = $pkg_sth->fetchrow_arrayref->[0];
<% $num_prospect %>  prospects 
<% $num_cust %>  customers 
<% $num_pkg %>  packages 
% } % } % ### % # Bottom Totals % ### % $prospect_statement =~ s/AND refnum = \?//; % $prospect_sth = dbh->prepare($prospect_statement) % or die dbh->errstr; % % $cust_statement =~ s/AND refnum = \?//; % $cust_sth = dbh->prepare($cust_statement) % or die dbh->errstr; % % $pkg_statement =~ s/AND h_pkg_referral\.refnum = \?//; % $pkg_sth = dbh->prepare($pkg_statement) % or die dbh->errstr; param('showdisabled') %>Total % for my $period ( keys %after ) { % my @param = ( $today-$after{$period}, % $today+$before{$period}, % ); % $prospect_sth->execute(@param) or die $prospect_sth->errstr; % my $num_prospect = $prospect_sth->fetchrow_arrayref->[0]; % $cust_sth->execute( @param ) or die $cust_sth->errstr; % my $num_cust = $cust_sth->fetchrow_arrayref->[0]; % $pkg_sth->execute(@param) or die $pkg_sth->errstr; % my $num_pkg = $pkg_sth->fetchrow_arrayref->[0];
<% $num_prospect %>  prospects 
<% $num_cust %>  customers 
<% $num_pkg %>  packages 
% } <& /elements/footer.html &> <%init> die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Edit advertising sources') || $FS::CurrentUser::CurrentUser->access_right('Edit global advertising sources'); my $today = timelocal(0, 0, 0, (localtime(time))[3..5] ); tie my %after, 'Tie::IxHash', 'Today' => 0, 'Yesterday' => 86400, # 60sec * 60min * 24hrs 'Past week' => 518400, # 60sec * 60min * 24hrs * 6days 'Past 30 days' => 2505600, # 60sec * 60min * 24hrs * 29days 'Past 60 days' => 5097600, # 60sec * 60min * 24hrs * 59days 'Past 90 days' => 7689600, # 60sec * 60min * 24hrs * 89days 'Past 6 months' => 15724800, # 60sec * 60min * 24hrs * 182days 'Past year' => 31486000, # 60sec * 60min * 24hrs * 364days 'Total' => $today, ; my %before = ( 'Today' => 86400, # 60sec * 60min * 24hrs 'Yesterday' => 0, 'Past week' => 86400, # 60sec * 60min * 24hrs 'Past 30 days' => 86400, # 60sec * 60min * 24hrs 'Past 60 days' => 86400, # 60sec * 60min * 24hrs 'Past 90 days' => 86400, # 60sec * 60min * 24hrs 'Past 6 months' => 86400, # 60sec * 60min * 24hrs 'Past year' => 86400, # 60sec * 60min * 24hrs 'Total' => 86400, # 60sec * 60min * 24hrs ); my $curuser = $FS::CurrentUser::CurrentUser; my $show_agentnums = ( scalar($curuser->agentnums) > 1 ); my $prospect_statement = "SELECT COUNT(*) FROM h_prospect_main WHERE history_action = 'insert' AND refnum = ? AND history_date >= ? AND history_date < ? AND ". $curuser->agentnums_sql; my $prospect_sth = dbh->prepare($prospect_statement) or die dbh->errstr; my $cust_statement = "SELECT COUNT(*) FROM h_cust_main WHERE history_action = 'insert' AND refnum = ? AND history_date >= ? AND history_date < ? AND ". $curuser->agentnums_sql; my $cust_sth = dbh->prepare($cust_statement) or die dbh->errstr; my $pkg_statement = "SELECT COUNT(*) FROM h_pkg_referral LEFT JOIN cust_pkg USING ( pkgnum ) LEFT JOIN cust_main USING ( custnum ) WHERE history_action = 'insert' AND h_pkg_referral.refnum = ? AND history_date >= ? AND history_date < ? AND ". $curuser->agentnums_sql; my $pkg_sth = dbh->prepare($pkg_statement) or die dbh->errstr;