diff --git a/agc_2-X/branches/agc_30/bin/agcd.pl b/agc_2-X/branches/agc_30/bin/agid.pl similarity index 93% rename from agc_2-X/branches/agc_30/bin/agcd.pl rename to agc_2-X/branches/agc_30/bin/agid.pl index 5116c3f8..88de85f9 100644 --- a/agc_2-X/branches/agc_30/bin/agcd.pl +++ b/agc_2-X/branches/agc_30/bin/agid.pl @@ -3,9 +3,9 @@ use strict; use lib '../lib'; -use Astguiclient::Server; +use Astguiclient::Daemon::AGI; -Astguiclient::Server->run( port => '4573' ); +Astguiclient::Daemon::AGI->run( port => '4573' ); __END__ diff --git a/agc_2-X/branches/agc_30/lib/Astguiclient.pm b/agc_2-X/branches/agc_30/lib/Astguiclient.pm index 16b2ecd0..2028c789 100644 --- a/agc_2-X/branches/agc_30/lib/Astguiclient.pm +++ b/agc_2-X/branches/agc_30/lib/Astguiclient.pm @@ -2,8 +2,8 @@ package Astguiclient; use strict; +use DBI; use Astguiclient::Config (); -use Astguiclient::DBI (); use base 'Class::Accessor::Fast'; __PACKAGE__->mk_accessors( @@ -33,7 +33,7 @@ sub new { my $f = $self->config->file(); my $dsn = "DBI:mysql:datbase=$f->{'Database'}{'DB_name'};host=$f->{'Database'}{'Host'};port=$f->{'Database'}{'Port'}"; $self->dbi ( - Astguiclient::DB->connect( $dsn, $f->{'Database'}{'User'}, $f->{'Database'}{'Password'} ) + DBI->connect( $dsn, $f->{'Database'}{'User'}, $f->{'Database'}{'Password'} ) ); return $self; diff --git a/agc_2-X/branches/agc_30/lib/Astguiclient/Campaign.pm b/agc_2-X/branches/agc_30/lib/Astguiclient/Campaign.pm index ff8cac68..39d6a56b 100644 --- a/agc_2-X/branches/agc_30/lib/Astguiclient/Campaign.pm +++ b/agc_2-X/branches/agc_30/lib/Astguiclient/Campaign.pm @@ -57,7 +57,7 @@ sub find { my $sql; if( defined $args{id} ) { - $args{id} = Astguiclient->dbi->quote( $args{id} ); + $args{id} = $self->dbi->quote( $args{id} ); $sql = "SELECT * FROM vicidial_campaigns WHERE id = $args{id}"; } elsif( $type eq 'active_agents' ) { $sql = @@ -68,7 +68,7 @@ sub find { $sql = "SELECT * FROM vicidial_campaigns"; } - my $sth = Astguiclient->dbi->prepare( $sql ); + my $sth = $self->dbi->prepare( $sql ); $sth->execute(); while( my $ref = $sth->fetchrow_hashref() ) { push( @records, Astguiclient::Campaign::Record->new( $ref ) ); @@ -76,8 +76,32 @@ sub find { return @records; } - +=head2 hopper $COUNT + +Return a list of numbers to call. A count is required for this to +work properly. + +=cut + +sub hopper { + my($self, $count) = @_; + + my $sth = $self->dbi->prepare("SELECT vicidial_list.lead_id, vicidial_list.phone_code, vicidial_list.phone_number FROM vicidial_list + INNER JOIN vicidial_lists ON vicidial_list.list_id = vicidial_lists.list_id + WHERE vicidial_lists.campaign_id = ? AND vicidial_list.called_since_last_reset = 'N' + ORDER by lead_id asc LIMIT $count") + $sth->execute( $self->{campaign_id} ); + my(@hopper); + while( my $ref = $sth->fetchrow_array() ) { + # Make the dial string aka the phone number were calling. + $ref->{dial_string} = "Local/9" . $ref->{phone_code} . $ref->{phone_number}; + push(@hopper, $ref); + } + + return @hopper; +} + =head1 AUTHOR Jason Yates diff --git a/agc_2-X/branches/agc_30/lib/Astguiclient/Server.pm b/agc_2-X/branches/agc_30/lib/Astguiclient/Daemon/AGI.pm similarity index 100% rename from agc_2-X/branches/agc_30/lib/Astguiclient/Server.pm rename to agc_2-X/branches/agc_30/lib/Astguiclient/Daemon/AGI.pm