Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #use strict;
- # use warnings;
- use URI::Escape;
- use WWW::Curl::Easy;
- use Time::HiRes qw(time);
- use POSIX qw(strftime);
- use DBI;
- use File::Compare;
- my $PATHconf = '/etc/astguiclient.conf';
- open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n";
- @conf = <conf>;
- close(conf);
- $i=0;
- foreach(@conf)
- {
- $line = $conf[$i];
- $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi;
- if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) )
- {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;}
- if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) )
- {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;}
- if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) )
- {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;}
- if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) )
- {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;}
- if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) )
- {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;}
- if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) )
- {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;}
- if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) )
- {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;}
- if ( ($line =~ /^VARDB_custom_user/) && ($CLIDB_custom_user < 1) )
- {$VARDB_custom_user = $line; $VARDB_custom_user =~ s/.*=//gi;}
- if ( ($line =~ /^VARDB_custom_pass/) && ($CLIDB_custom_pass < 1) )
- {$VARDB_custom_pass = $line; $VARDB_custom_pass =~ s/.*=//gi;}
- if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) )
- {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;}
- $i++;
- }
- $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass")
- or die "Couldn 't connect to database: " . DBI->errstr;
- #SlaveDB
- $VARDB_serverSlave="64.37.68.163";
- $VARDB_userSlave="slave";
- $VARDB_passSlave="slave1234";
- $dbhSlave = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_serverSlave:$VARDB_port", "$VARDB_userSlave", "$VARDB_passSlave")
- or die "Couldn 't connect to database: " . DBI->errstr;
- my $sql = "SELECT a.list_id,t1.ActiveFlag
- FROM vicidial_lists a
- JOIN
- (SELECT a.list_id,
- dh.DailyTotal,
- a.daily_success_cap,
- CASE
- WHEN a.allow_list_login_schedule = '1'
- AND asterisk.f_CheckCallTime( a . list_login_schedule) = 0
- THEN
- 'N'
- WHEN a.enable_daily_success_cap = 'Y'
- AND dh.DailyTotal >= a.daily_success_cap
- THEN
- 'N'
- WHEN a.enable_hourly_success_cap = 'Y'
- AND dh.hourlyTotal >= a.hourly_success_cap
- THEN
- 'N'
- ELSE
- 'Y'
- END
- AS ActiveFlag
- FROM vicidial_lists a
- LEFT JOIN
- (SELECT a.list_id,
- count(0)
- DailyTotal,
- sum(if(hour(event_time) = hour(now()), 1, 0))
- AS HourlyTotal
- FROM vicidial_agent_log b JOIN vicidial_list a USING (lead_id)
- WHERE b.event_time > curdate()
- AND b.status IN (SELECT status
- FROM vicidial_statuses
- WHERE vicidial_statuses.sale = 'Y'
- UNION ALL
- SELECT status
- FROM vicidial_campaign_statuses
- WHERE sale = 'Y')
- GROUP BY 1) AS dh
- ON dh.list_id = a.list_id
- WHERE ( a.enable_hourly_success_cap = 'Y'
- OR a.enable_daily_success_cap = 'Y'
- OR a.allow_list_login_schedule = '1')) AS t1
- ON t1.list_id = a.list_id
- WHERE a.active <> t1.ActiveFlag;";
- my $sth = $dbhSlave->prepare($sql);
- $sth->execute();
- while (my @row = $sth->fetchrow_array) {
- $sql= "update vicidial_lists set active='$row[1]' where list_id ='$row[0]' limit 1;\n";
- $affected_rows = $dbhA->do($sql); # or die "Couldn't execute query:|$stmtA|\n";
- $update ="insert into vicidial_admin_log ( event_date, user, ip_address, event_section, event_type, record_id, event_code, event_sql, event_notes, user_group) values (now(),'system_user','localhost','LISTS','MODIFY',$row[0],'ADMIN MODIFY LIST',\"$sql\",'auto_activate_lists.pl','---ALL---') ";
- $affected_rows = $dbhA->do($update);
- #print $sql."--->".$update;
- }
- #SELECT STATEMENT
- $stmtA = "delete from vicidial_hopper where list_id in (select list_id from vicidial_lists where vicidial_lists.active='N');";
- $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement