diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE index 8c8dd6d3..a16f0e96 100644 --- a/agc_2-X/trunk/UPGRADE +++ b/agc_2-X/trunk/UPGRADE @@ -112,6 +112,9 @@ OTHER CHANGES: the following custom field types: TEXT, AREA, DATE, SELECT, MULTI, RADIO, CHECKBOX +19. Added admin Automated Reports section, allowing easier web configuration of + scheduled reports being sent by Email or FTP. + diff --git a/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl b/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl index 7e0b490c..1c34a7d4 100644 --- a/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl +++ b/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl @@ -114,9 +114,10 @@ # 161116-0658 - Added purge of vicidial_ajax_log records older than 7 days to end of day process # 161226-2218 - Added conf_qualify option # 170113-1645 - Added call menu in-group option DYNAMIC_INGROUP_VAR for use with cm_phonesearch.agi +# 170304-2039 - Added automated reports triggering code # -$build = '170113-1645'; +$build = '170304-2039'; $DB=0; # Debug flag $teodDB=0; # flag to log Timeclock End of Day processes to log file @@ -822,7 +823,7 @@ $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VA ##### Get the settings from system_settings ##### -$stmtA = "SELECT sounds_central_control_active,active_voicemail_server,custom_dialplan_entry,default_codecs,generate_cross_server_exten,voicemail_timezones,default_voicemail_timezone,call_menu_qualify_enabled,allow_voicemail_greeting,reload_timestamp,meetme_enter_login_filename,meetme_enter_leave3way_filename,allow_chats FROM system_settings;"; +$stmtA = "SELECT sounds_central_control_active,active_voicemail_server,custom_dialplan_entry,default_codecs,generate_cross_server_exten,voicemail_timezones,default_voicemail_timezone,call_menu_qualify_enabled,allow_voicemail_greeting,reload_timestamp,meetme_enter_login_filename,meetme_enter_leave3way_filename,allow_chats,enable_auto_reports FROM system_settings;"; # print "$stmtA\n"; $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; @@ -843,6 +844,7 @@ if ($sthArows > 0) $meetme_enter_login_filename = $aryA[10]; $meetme_enter_leave3way_filename = $aryA[11]; $SSallow_chats = $aryA[12]; + $SSenable_auto_reports = $aryA[13]; } $sthA->finish(); if ($DBXXX > 0) {print "SYSTEM SETTINGS: $sounds_central_control_active|$active_voicemail_server|$SScustom_dialplan_entry|$SSdefault_codecs\n";} @@ -3941,6 +3943,55 @@ if ($sthBrows > 0) +################################################################################ +##### BEGIN automated reports +################################################################################ +if ($SSenable_auto_reports > 0) + { + $THISserver_voicemailSQL=''; + if ($THISserver_voicemail > 0) {$THISserver_voicemailSQL=",'active_voicemail_server'";} + $stmtA = "SELECT report_id FROM vicidial_automated_reports where ( (report_server IN('$server_ip'$THISserver_voicemailSQL) ) and ( ( (active='Y') and (report_times LIKE \"%$reset_test%\") and ( (report_weekdays LIKE \"%$wday%\") or (report_monthdays LIKE \"%$mday%\") ) ) or (run_now_trigger='Y') ) ) order by report_id limit 1000;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthBrows=$sthA->rows; + if ($DB) {print "Checking for Automated Reports: |$sthBrows|$stmtA|\n";} + $r=0; + while ($sthBrows > $r) + { + @aryA = $sthA->fetchrow_array; + $report_idARY[$r] = $aryA[0]; + $r++; + } + $sthA->finish(); + + if ($sthBrows > 0) + { + $r=0; + while ($sthBrows > $r) + { + $temp_report = $report_idARY[$r]; + $ar_command = "$PATHhome/AST_email_web_report.pl --quiet --remove-images --remove-links --log-to-adminlog --report-id=$temp_report "; + + if ($DB) {print "starting automated report process in a screen... |AR$temp_report|\n";} + `/usr/bin/screen -d -m -S AR$temp_report $ar_command `; + + $stmtA="UPDATE vicidial_automated_reports SET run_now_trigger='N' where run_now_trigger='Y' and report_server IN('$server_ip'$THISserver_voicemailSQL) and report_id='$report_idARY[$r]';"; + $ARaffected_rows = $dbhA->do($stmtA); + if ($DB) {print "FINISHED: $ARaffected_rows|$stmtA|";} + + $r++; + } + if ($DB) {print "Automated Reports DONE: $r\n";} + } + } +################################################################################ +##### END automated reports +################################################################################ + + + + + ################################################################################ ##### BEGIN reset lists ################################################################################ diff --git a/agc_2-X/trunk/bin/AST_email_web_report.pl b/agc_2-X/trunk/bin/AST_email_web_report.pl index dac12742..7db707d3 100644 --- a/agc_2-X/trunk/bin/AST_email_web_report.pl +++ b/agc_2-X/trunk/bin/AST_email_web_report.pl @@ -1,15 +1,15 @@ #!/usr/bin/perl # -# AST_email_web_report.pl version: 2.12 +# AST_email_web_report.pl version: 2.14 # -# This script is designed to wget a web report and then email it as an attachment +# This script is designed to wget a web report and then email it as an attachment or send it to an FTP server # this script should be run from a vicidial web server. # -# NOTE: you need to alter the URL to change the report that is run by this script +# NOTE: you need to either use Automated Reports in the admin web screens, or alter the URL within this script to change the report that is run by this script # # /usr/share/astguiclient/AST_email_web_report.pl --email-list=test@gmail.com --email-sender=test@test.com # -# Copyright (C) 2016 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2017 Matt Florell LICENSE: AGPLv2 # # CHANGES # 90225-1247 - First version @@ -17,12 +17,15 @@ # 111012-2220 - Added optional begin date flag # 111214-0922 - Added remove images and links options as well as email subject option # 160415-1421 - Fixed minor bug in file to attach to email +# 170304-1400 - Added options for running a defined Automated Report, and admin logging # $txt = '.txt'; $html = '.html'; $US = '_'; $MT[0] = ''; +$log_to_adminlog=0; +$report_id=''; $secX = time(); @@ -53,6 +56,12 @@ $TWOAMsecY = ($TWOAMsec - 86400); $TWOAMsecF = ($TWOAMsec - 518400); ### find epoch of 2AM 7 days ago $TWOAMsecG = ($TWOAMsec - 604800); +### find epoch of 2AM 13 days ago +$TWOAMsecJ = ($TWOAMsec - 1123200); +### find epoch of 2AM 14 days ago +$TWOAMsecK = ($TWOAMsec - 1209600); +### find epoch of 2AM 15 days ago +$TWOAMsecL = ($TWOAMsec - 1296000); ### find epoch of 2AM 30 days ago $TWOAMsecH = ($TWOAMsec - 2592000); @@ -92,6 +101,33 @@ if ($Hhour < 10) {$Hhour = "0$Hhour";} if ($Hmin < 10) {$Hmin = "0$Hmin";} if ($Hsec < 10) {$Hsec = "0$Hsec";} +($Jsec,$Jmin,$Jhour,$Jmday,$Jmon,$Jyear,$Jwday,$Jyday,$Jisdst) = localtime($TWOAMsecJ); +$Jyear = ($Jyear + 1900); +$Jmon++; +if ($Jmon < 10) {$Jmon = "0$Jmon";} +if ($Jmday < 10) {$Jmday = "0$Jmday";} +if ($Jhour < 10) {$Jhour = "0$Jhour";} +if ($Jmin < 10) {$Jmin = "0$Jmin";} +if ($Jsec < 10) {$Jsec = "0$Jsec";} + +($Ksec,$Kmin,$Khour,$Kmday,$Kmon,$Kyear,$Kwday,$Kyday,$Kisdst) = localtime($TWOAMsecK); +$Kyear = ($Kyear + 1900); +$Kmon++; +if ($Kmon < 10) {$Kmon = "0$Kmon";} +if ($Kmday < 10) {$Kmday = "0$Kmday";} +if ($Khour < 10) {$Khour = "0$Khour";} +if ($Kmin < 10) {$Kmin = "0$Kmin";} +if ($Ksec < 10) {$Ksec = "0$Ksec";} + +($Lsec,$Lmin,$Lhour,$Lmday,$Lmon,$Lyear,$Lwday,$Lyday,$Lisdst) = localtime($TWOAMsecL); +$Lyear = ($Lyear + 1900); +$Lmon++; +if ($Lmon < 10) {$Lmon = "0$Lmon";} +if ($Lmday < 10) {$Lmday = "0$Lmday";} +if ($Lhour < 10) {$Lhour = "0$Lhour";} +if ($Lmin < 10) {$Lmin = "0$Lmin";} +if ($Lsec < 10) {$Lsec = "0$Lsec";} + ### begin parsing run-time options ### if (length($ARGV[0])>1) @@ -112,6 +148,9 @@ if (length($ARGV[0])>1) print " [--debugX] = Super debugging messages\n"; print " [--remove-images] = Will parse through the output file and remove any images in the HTML\n"; print " [--remove-links] = Will parse through the output file and remove any links in the HTML\n"; + print " [--log-to-adminlog] = Put an entry in the admin log after this report runs\n"; + print " [--report-id=XXXXXXXX] = Report ID in the system to gather settings from\n"; + print " NOTE: this will override any other options set below this one\n"; print " [--email-subject=XYZ] = Email message subject, which will be followed by the date of the report\n"; print " [--email-list=test@test.com:test2@test.com] = send email results to these addresses\n"; print " [--email-sender=vicidial@localhost] = sender for the email results\n"; @@ -156,162 +195,178 @@ if (length($ARGV[0])>1) $remove_links=1; if ($DB > 0) {print "\n----- REMOVE LINKS -----\n\n";} } - if ($args =~ /--ftp-server=/i) + if ($args =~ /--log-to-adminlog/) { - @data_in = split(/--ftp-server=/,$args); - $VARREPORT_host = $data_in[1]; - $VARREPORT_host =~ s/ .*//gi; - $VARREPORT_host =~ s/:/,/gi; - if ($DB > 0) {print "\n----- FTP SERVER: $VARREPORT_host -----\n\n";} + $log_to_adminlog=1; + if ($DB > 0) {print "\n----- LOGGING TO THE ADMIN LOG -----\n\n";} + } + if ($args =~ /--report-id=/i) + { + @data_in = split(/--report-id=/,$args); + $report_id = $data_in[1]; + $report_id =~ s/ .*//gi; + $report_id =~ s/:/,/gi; + if ($DB > 0) {print "\n----- REPORT ID: $report_id -----\n\n";} } else - {$VARREPORT_host = '';} - if ($args =~ /--ftp-login=/i) { - @data_in = split(/--ftp-login=/,$args); - $VARREPORT_user = $data_in[1]; - $VARREPORT_user =~ s/ .*//gi; - $VARREPORT_user =~ s/:/,/gi; - if ($DB > 0) {print "\n----- FTP LOGIN: $VARREPORT_user -----\n\n";} - } - else - {$VARREPORT_user = '';} - if ($args =~ /--ftp-pass=/i) - { - @data_in = split(/--ftp-pass=/,$args); - $VARREPORT_pass = $data_in[1]; - $VARREPORT_pass =~ s/ .*//gi; - $VARREPORT_pass =~ s/:/,/gi; - if ($DB > 0) {print "\n----- FTP PASS: -----\n\n";} - } - else - {$VARREPORT_pass = '';} - if ($args =~ /--ftp-dir=/i) - { - @data_in = split(/--ftp-dir=/,$args); - $VARREPORT_dir = $data_in[1]; - $VARREPORT_dir =~ s/ .*//gi; - $VARREPORT_dir =~ s/:/,/gi; - if ($DB > 0) {print "\n----- FTP DIR: $VARREPORT_dir -----\n\n";} - } - else - {$VARREPORT_dir = '';} + if ($args =~ /--ftp-server=/i) + { + @data_in = split(/--ftp-server=/,$args); + $VARREPORT_host = $data_in[1]; + $VARREPORT_host =~ s/ .*//gi; + $VARREPORT_host =~ s/:/,/gi; + if ($DB > 0) {print "\n----- FTP SERVER: $VARREPORT_host -----\n\n";} + } + else + {$VARREPORT_host = '';} + if ($args =~ /--ftp-login=/i) + { + @data_in = split(/--ftp-login=/,$args); + $VARREPORT_user = $data_in[1]; + $VARREPORT_user =~ s/ .*//gi; + $VARREPORT_user =~ s/:/,/gi; + if ($DB > 0) {print "\n----- FTP LOGIN: $VARREPORT_user -----\n\n";} + } + else + {$VARREPORT_user = '';} + if ($args =~ /--ftp-pass=/i) + { + @data_in = split(/--ftp-pass=/,$args); + $VARREPORT_pass = $data_in[1]; + $VARREPORT_pass =~ s/ .*//gi; + $VARREPORT_pass =~ s/:/,/gi; + if ($DB > 0) {print "\n----- FTP PASS: -----\n\n";} + } + else + {$VARREPORT_pass = '';} + if ($args =~ /--ftp-dir=/i) + { + @data_in = split(/--ftp-dir=/,$args); + $VARREPORT_dir = $data_in[1]; + $VARREPORT_dir =~ s/ .*//gi; + $VARREPORT_dir =~ s/:/,/gi; + if ($DB > 0) {print "\n----- FTP DIR: $VARREPORT_dir -----\n\n";} + } + else + {$VARREPORT_dir = '';} - if ($args =~ /--email-subject=/i) - { - @data_in = split(/--email-subject=/,$args); - $email_subject = $data_in[1]; - $email_subject =~ s/ .*//gi; - $email_subject =~ s/\+/ /gi; - if ($DB > 0) {print "\n----- EMAIL SUBJECT: $email_subject -----\n\n";} - } - else - {$email_subject = 'VICIDIAL REPORT';} - if ($args =~ /--email-list=/i) - { - @data_in = split(/--email-list=/,$args); - $email_list = $data_in[1]; - $email_list =~ s/ .*//gi; - $email_list =~ s/:/,/gi; - if ($DB > 0) {print "\n----- EMAIL NOTIFICATION: $email_list -----\n\n";} - } - else - {$email_list = '';} - if ($args =~ /--email-sender=/i) - { - @data_in = split(/--email-sender=/,$args); - $email_sender = $data_in[1]; - $email_sender =~ s/ .*//gi; - $email_sender =~ s/:/,/gi; - if ($DB > 0) {print "\n----- EMAIL NOTIFICATION SENDER: $email_sender -----\n\n";} - } - else - {$email_sender = 'vicidial@localhost';} - if ($args =~ /--date=/i) - { - @data_in = split(/--date=/,$args); - $shipdate = $data_in[1]; - $shipdate =~ s/ .*//gi; - if ($shipdate =~ /today/) + if ($args =~ /--email-subject=/i) { - $shipdate="$year-$mon-$mday"; - $time = $TWOAMsec; + @data_in = split(/--email-subject=/,$args); + $email_subject = $data_in[1]; + $email_subject =~ s/ .*//gi; + $email_subject =~ s/\+/ /gi; + if ($DB > 0) {print "\n----- EMAIL SUBJECT: $email_subject -----\n\n";} } else + {$email_subject = 'VICIDIAL REPORT';} + if ($args =~ /--email-list=/i) { - if ($shipdate =~ /yesterday/) + @data_in = split(/--email-list=/,$args); + $email_list = $data_in[1]; + $email_list =~ s/ .*//gi; + $email_list =~ s/:/,/gi; + if ($DB > 0) {print "\n----- EMAIL NOTIFICATION: $email_list -----\n\n";} + } + else + {$email_list = '';} + if ($args =~ /--email-sender=/i) + { + @data_in = split(/--email-sender=/,$args); + $email_sender = $data_in[1]; + $email_sender =~ s/ .*//gi; + $email_sender =~ s/:/,/gi; + if ($DB > 0) {print "\n----- EMAIL NOTIFICATION SENDER: $email_sender -----\n\n";} + } + else + {$email_sender = 'vicidial@localhost';} + if ($args =~ /--date=/i) + { + @data_in = split(/--date=/,$args); + $shipdate = $data_in[1]; + $shipdate =~ s/ .*//gi; + if ($shipdate =~ /today/) { - $shipdate="$Tyear-$Tmon-$Tmday"; - $year = $Tyear; - $mon = $Tmon; - $mday = $Tmday; - $time=$TWOAMsecY; + $shipdate="$year-$mon-$mday"; + $time = $TWOAMsec; } else { - @cli_date = split("-",$shipdate); - $year = $cli_date[0]; - $mon = $cli_date[1]; - $mday = $cli_date[2]; - $cli_date[1] = ($cli_date[1] - 1); - $time = timelocal(0,0,2,$cli_date[2],$cli_date[1],$cli_date[0]); - } - } - $start_date = $shipdate; - $start_date =~ s/-//gi; - if (!$Q) {print "\n----- DATE OVERRIDE: $shipdate($start_date) -----\n\n";} - } - else - { - $time=$TWOAMsec; - } - if ($args =~ /--begin-date=/i) - { - @data_in = split(/--begin-date=/,$args); - $begindate = $data_in[1]; - $begindate =~ s/ .*//gi; - if ($begindate =~ /6days/) - { - $begindate="$Fyear-$Fmon-$Fmday"; - $Byear = $Fyear; - $Bmon = $Fmon; - $Bmday = $Fmday; - $Btime=$TWOAMsecF; - } - else - { - if ($begindate =~ /7days/) - { - $begindate="$Gyear-$Gmon-$Gmday"; - $Byear = $Gyear; - $Bmon = $Gmon; - $Bmday = $Gmday; - $Btime=$TWOAMsecG; - } - else - { - if ($begindate =~ /30days/) + if ($shipdate =~ /yesterday/) { - $begindate="$Hyear-$Hmon-$Hmday"; - $Byear = $Hyear; - $Bmon = $Hmon; - $Bmday = $Hmday; - $Btime=$TWOAMsecH; + $shipdate="$Tyear-$Tmon-$Tmday"; + $year = $Tyear; + $mon = $Tmon; + $mday = $Tmday; + $time=$TWOAMsecY; } else { - @cli_date = split("-",$begindate); - $Byear = $cli_date[0]; - $Bmon = $cli_date[1]; - $Bmday = $cli_date[2]; + @cli_date = split("-",$shipdate); + $year = $cli_date[0]; + $mon = $cli_date[1]; + $mday = $cli_date[2]; $cli_date[1] = ($cli_date[1] - 1); - $Btime = timelocal(0,0,2,$cli_date[2],$cli_date[1],$cli_date[0]); + $time = timelocal(0,0,2,$cli_date[2],$cli_date[1],$cli_date[0]); } } + $start_date = $shipdate; + $start_date =~ s/-//gi; + if (!$Q) {print "\n----- DATE OVERRIDE: $shipdate($start_date) -----\n\n";} + } + else + { + $time=$TWOAMsec; + } + if ($args =~ /--begin-date=/i) + { + @data_in = split(/--begin-date=/,$args); + $begindate = $data_in[1]; + $begindate =~ s/ .*//gi; + if ($begindate =~ /6days/) + { + $begindate="$Fyear-$Fmon-$Fmday"; + $Byear = $Fyear; + $Bmon = $Fmon; + $Bmday = $Fmday; + $Btime=$TWOAMsecF; + } + else + { + if ($begindate =~ /7days/) + { + $begindate="$Gyear-$Gmon-$Gmday"; + $Byear = $Gyear; + $Bmon = $Gmon; + $Bmday = $Gmday; + $Btime=$TWOAMsecG; + } + else + { + if ($begindate =~ /30days/) + { + $begindate="$Hyear-$Hmon-$Hmday"; + $Byear = $Hyear; + $Bmon = $Hmon; + $Bmday = $Hmday; + $Btime=$TWOAMsecH; + } + else + { + @cli_date = split("-",$begindate); + $Byear = $cli_date[0]; + $Bmon = $cli_date[1]; + $Bmday = $cli_date[2]; + $cli_date[1] = ($cli_date[1] - 1); + $Btime = timelocal(0,0,2,$cli_date[2],$cli_date[1],$cli_date[0]); + } + } + } + $Bstart_date = $begindate; + $Bstart_date =~ s/-//gi; + if (!$Q) {print "\n----- DATE OVERRIDE: $begindate($Bstart_date) -----\n\n";} } - $Bstart_date = $begindate; - $Bstart_date =~ s/-//gi; - if (!$Q) {print "\n----- DATE OVERRIDE: $begindate($Bstart_date) -----\n\n";} } } } @@ -385,30 +440,127 @@ if (!$Q) print "\n"; } +if ( (length($report_id) > 1) || ($log_to_adminlog > 0) ) + { + use DBI; -###################################################### -##### CHANGE REPORT NAME AND URL HERE!!!!!!!!! -###################################################### -#$HTMLfile = "Outbound_Report_ALL_$shipdate$html"; -$HTMLfile = "DISCH_SURVEY_$start_date$txt"; + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + } -#$location = "http://6666:1234\@127.0.0.1/vicidial/fcstats.php?db_log=1\\&query_date=$shipdate\\&group=$group\\&shift=$shift\\&archive=1"; -#$location = "http://6666:1234\@192.168.1.101/vicidial/AST_VDADstats.php?query_date=$shipdate\\&end_date=$shipdate\\&group[]=--ALL--\\&shift=ALL"; -#$location = "http://8888:8888\@127.0.0.1/vicidial/AST_VDADstats.php?query_date=$shipdate\\&end_date=$shipdate\\&group[]=--ALL--\\&shift=ALL"; -#$location = "http://6666:1234\@127.0.0.1/vicidial/AST_inbound_daily_report.php?query_date=$shipdate\\&end_date=$shipdate\\&group=5001\\&shift=ALL\\&SUBMIT=SUBMIT\\&hourly_breakdown=checked"; -#$location = "http://6666:1234\@127.0.0.1/vicidial/AST_agent_performance_detail.php?DB=\\&query_date=$shipdate\\&end_date=$shipdate\\&group[]=2001\\&user_group[]=--ALL--\\&shift=ALL\\&SUBMIT=SUBMIT"; +if (length($report_id) > 1) + { + ### Grab Server values from the database + $stmtA = "SELECT report_destination,email_from,email_to,email_subject,ftp_server,ftp_user,ftp_pass,ftp_directory,report_url from vicidial_automated_reports where report_id='$report_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $report_destination = $aryA[0]; + if ($report_destination =~ /EMAIL/) + { + $email_sender = $aryA[1]; + $email_list = $aryA[2]; + $email_subject = $aryA[3]; + $email_subject =~ s/--A--date--B--/$year-$mon-$mday/gi; + $email_subject =~ s/--A--datetime--B--/$year-$mon-$mday $hour:$min:$sec/gi; + } + if ($report_destination =~ /FTP/) + { + $VARREPORT_host = $aryA[4]; + $VARREPORT_user = $aryA[5]; + $VARREPORT_pass = $aryA[6]; + $VARREPORT_dir = $aryA[7]; + } + $location = $aryA[8]; + if ($DB) {print "RAW LOCATION: |$location|\n";} + $location =~ s/\&/\\&/gi; + $location =~ s/--A--today--B--/$year-$mon-$mday/gi; + $location =~ s/--A--yesterday--B--/$Tyear-$Tmon-$Tmday/gi; + $location =~ s/--A--6days--B--/$Fyear-$Fmon-$Fmday/gi; + $location =~ s/--A--7days--B--/$Gyear-$Gmon-$Gmday/gi; + $location =~ s/--A--13days--B--/$Jyear-$Jmon-$Jmday/gi; + $location =~ s/--A--14days--B--/$Kyear-$Kmon-$Kmday/gi; + $location =~ s/--A--15days--B--/$Lyear-$Lmon-$Lmday/gi; + $location =~ s/--A--30days--B--/$Hyear-$Hmon-$Hmday/gi; + if ($DB) {print "FINAL LOCATION: |$location|\n";} + } + else + { + if (!$Q) {print "ERROR: Report not found: $report_id\n";} + exit; + } + $sthA->finish(); -# Outbound IVR Export Report: -$location = "http://127.0.0.1/vicidial/call_report_export.php?query_date=$begindate\\&end_date=$shipdate\\&list_id[]=--ALL--\\&status[]=--ALL--\\&campaign[]=RSIDESVY\\&run_export=1\\&ivr_export=YES\\&export_fields=EXTENDED\\&header_row=NO\\&rec_fields=NONE\\&custom_fields=NO\\&call_notes=NO"; + ### gather user information for last manager who edited the automated report + $stmtA = "SELECT user from vicidial_admin_log where event_section='AUTOREPORTS' and record_id='$report_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $http_user = $aryA[0]; + } + else + { + if (!$Q) {print "ERROR: No report manager user found: $report_id\n";} + exit; + } + $sthA->finish(); + ### gather user information for last manager who edited the automated report + $stmtA = "SELECT pass,custom_five from vicidial_users where user='$http_user';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $http_pass = $aryA[0]; + if (length($http_pass) < 1) + {$http_pass = $aryA[1];} + } + else + { + if (!$Q) {print "ERROR: No report manager user found: $http_user\n";} + exit; + } + $sthA->finish(); -###################################################### -###################################################### + $HTMLfile = $report_id . "_" . $start_date . "_" . $hms . '' . $html; + $HTMLfileLOG = $report_id . "_" . $start_date . "_" . $hms . '' . $txt; + $shipdate=''; + } +else + { + ###################################################### + ##### CHANGE REPORT NAME AND URL HERE!!!!!!!!! + ###################################################### + #$HTMLfile = "Outbound_Report_ALL_$shipdate$html"; + $HTMLfile = "DISCH_SURVEY_$start_date$html"; + $HTMLfileLOG = "DISCH_SURVEY_$start_date$txt"; + #$location = "http://6666:1234\@127.0.0.1/vicidial/fcstats.php?db_log=1\\&query_date=$shipdate\\&group=$group\\&shift=$shift\\&archive=1"; + #$location = "http://6666:1234\@192.168.1.101/vicidial/AST_VDADstats.php?query_date=$shipdate\\&end_date=$shipdate\\&group[]=--ALL--\\&shift=ALL"; + #$location = "http://8888:8888\@127.0.0.1/vicidial/AST_VDADstats.php?query_date=$shipdate\\&end_date=$shipdate\\&group[]=--ALL--\\&shift=ALL"; + #$location = "http://6666:1234\@127.0.0.1/vicidial/AST_inbound_daily_report.php?query_date=$shipdate\\&end_date=$shipdate\\&group=5001\\&shift=ALL\\&SUBMIT=SUBMIT\\&hourly_breakdown=checked"; + #$location = "http://6666:1234\@127.0.0.1/vicidial/AST_agent_performance_detail.php?DB=\\&query_date=$shipdate\\&end_date=$shipdate\\&group[]=2001\\&user_group[]=--ALL--\\&shift=ALL\\&SUBMIT=SUBMIT"; + + # Outbound IVR Export Report: + $location = "http://127.0.0.1/vicidial/call_report_export.php?query_date=$begindate\\&end_date=$shipdate\\&list_id[]=--ALL--\\&status[]=--ALL--\\&campaign[]=RSIDESVY\\&run_export=1\\&ivr_export=YES\\&export_fields=EXTENDED\\&header_row=NO\\&rec_fields=NONE\\&custom_fields=NO\\&call_notes=NO"; + + $http_user = '6666'; + $http_pass = '1234'; + ###################################################### + ###################################################### + } ### GRAB THE REPORT if (!$Q) {print "Running Report $ship_date\n$location\n";} -`/usr/bin/wget --auth-no-challenge --http-user=6666 --http-password=1234 --output-document=/tmp/X$HTMLfile $location `; +`/usr/bin/wget --auth-no-challenge --http-user=$http_user --http-password=$http_pass --output-document=/tmp/X$HTMLfile --output-file=/tmp/Y$HTMLfileLOG $location `; if ( ($remove_images > 0) || ($remove_links > 0) ) { @@ -491,6 +643,8 @@ if (length($email_list) > 3) if (length($VARREPORT_host) > 7) { + if (length($VARREPORT_port) < 1) {$VARREPORT_port = '21';} + use Net::FTP; if (!$Q) {print "Sending File Over FTP: $HTMLfile\n";} @@ -503,4 +657,32 @@ if (length($VARREPORT_host) > 7) ###### END FTP SECTION ##### +$secY = time(); +$secRUN = ($secY - $secX); +if ($secRUN < 1) {$secRUN=1;} + +if (length($report_id) > 1) + { + $stmtA="UPDATE vicidial_automated_reports set report_last_run=NOW(), report_last_length='$secRUN' where report_id='$report_id';"; + $affected_rows = $dbhA->do($stmtA); + + if ($log_to_adminlog > 0) + { + $location =~ s/;|\\|\'|\"//gi; + $stmtB="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$http_user', ip_address='$server_ip', event_section='AUTOREPORTS', event_type='EXPORT', record_id='$report_id', event_code='ADMIN REPORT EXPORT RUN $report_destination', event_sql=\"$location\", event_notes='Run time: $secRUN seconds. Sent $report_destination';"; + $Iaffected_rows = $dbhA->do($stmtB); + if ($DB) {print "ADMIN LOGGING FINISHED: $affected_rows|$Iaffected_rows|$stmtA|$stmtB\n";} + } + } +else + { + if ($log_to_adminlog > 0) + { + $location =~ s/;|\\|\'|\"//gi; + $stmtA="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$http_user', ip_address='$server_ip', event_section='REPORTS', event_type='EXPORT', record_id='email_web_report', event_code='ADMIN REPORT EXPORT RUN', event_sql=\"$location\", event_notes='Run time: $secRUN seconds';"; + $Iaffected_rows = $dbhA->do($stmtA); + if ($DB) {print "ADMIN LOGGING FINISHED: $Iaffected_rows|$stmtA\n";} + } + } + exit; diff --git a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql index 366841e5..f3a54085 100644 --- a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql +++ b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql @@ -655,7 +655,8 @@ access_recordings ENUM('0', '1') default '0', modify_colors ENUM('1','0') default '0', user_nickname VARCHAR(50) default '', user_new_lead_limit SMALLINT(5) default '-1', -api_only_user ENUM('0','1') default '0' +api_only_user ENUM('0','1') default '0', +modify_auto_reports ENUM('1','0') default '0' ) ENGINE=MyISAM; CREATE UNIQUE INDEX user ON vicidial_users (user); @@ -1691,7 +1692,8 @@ agent_soundboards ENUM('1','0') default '0', web_loader_phone_length VARCHAR(10) default 'DISABLED', agent_script VARCHAR(50) default 'vicidial.php', vdad_debug_logging ENUM('1','0') default '0', -agent_chat_screen_colors VARCHAR(20) default 'default' +agent_chat_screen_colors VARCHAR(20) default 'default', +enable_auto_reports ENUM('1','0') default '0' ) ENGINE=MyISAM; CREATE TABLE vicidial_campaigns_list_mix ( @@ -3612,6 +3614,31 @@ areacode VARCHAR(6) NOT NULL, index(group_id) ) ENGINE=MyISAM; +CREATE TABLE vicidial_automated_reports ( +report_id VARCHAR(30) UNIQUE NOT NULL, +report_name VARCHAR(100), +report_last_run DATETIME, +report_last_length SMALLINT(5) default '0', +report_server VARCHAR(30) default 'active_voicemail_server', +report_times VARCHAR(100) default '', +report_weekdays VARCHAR(7) default '', +report_monthdays VARCHAR(100) default '', +report_destination ENUM('EMAIL','FTP') default 'EMAIL', +email_from VARCHAR(255) default '', +email_to VARCHAR(255) default '', +email_subject VARCHAR(255) default '', +ftp_server VARCHAR(255) default '', +ftp_user VARCHAR(255) default '', +ftp_pass VARCHAR(255) default '', +ftp_directory VARCHAR(255) default '', +report_url TEXT, +run_now_trigger ENUM('N','Y') default 'N', +active ENUM('N','Y') default 'N', +user_group VARCHAR(20) default '---ALL---', +index (report_times), +index (run_now_trigger) +) ENGINE=MyISAM; + ALTER TABLE vicidial_email_list MODIFY message text character set utf8; @@ -3870,4 +3897,4 @@ UPDATE vicidial_configuration set value='1766' where name='qc_database_version'; UPDATE system_settings set vdc_agent_api_active='1'; -UPDATE system_settings SET db_schema_version='1491',db_schema_update_date=NOW(),reload_timestamp=NOW(); +UPDATE system_settings SET db_schema_version='1492',db_schema_update_date=NOW(),reload_timestamp=NOW(); diff --git a/agc_2-X/trunk/extras/upgrade_2.14.sql b/agc_2-X/trunk/extras/upgrade_2.14.sql index 84385be7..3dd6b600 100644 --- a/agc_2-X/trunk/extras/upgrade_2.14.sql +++ b/agc_2-X/trunk/extras/upgrade_2.14.sql @@ -78,3 +78,34 @@ UPDATE system_settings SET db_schema_version='1490',db_schema_update_date=NOW() ALTER TABLE vicidial_lists_fields MODIFY field_required ENUM('Y','N','INBOUND_ONLY') default 'N'; UPDATE system_settings SET db_schema_version='1491',db_schema_update_date=NOW() where db_schema_version < 1491; + +ALTER TABLE system_settings ADD enable_auto_reports ENUM('1','0') default '0'; + +ALTER TABLE vicidial_users ADD modify_auto_reports ENUM('1','0') default '0'; + +CREATE TABLE vicidial_automated_reports ( +report_id VARCHAR(30) UNIQUE NOT NULL, +report_name VARCHAR(100), +report_last_run DATETIME, +report_last_length SMALLINT(5) default '0', +report_server VARCHAR(30) default 'active_voicemail_server', +report_times VARCHAR(100) default '', +report_weekdays VARCHAR(7) default '', +report_monthdays VARCHAR(100) default '', +report_destination ENUM('EMAIL','FTP') default 'EMAIL', +email_from VARCHAR(255) default '', +email_to VARCHAR(255) default '', +email_subject VARCHAR(255) default '', +ftp_server VARCHAR(255) default '', +ftp_user VARCHAR(255) default '', +ftp_pass VARCHAR(255) default '', +ftp_directory VARCHAR(255) default '', +report_url TEXT, +run_now_trigger ENUM('N','Y') default 'N', +active ENUM('N','Y') default 'N', +user_group VARCHAR(20) default '---ALL---', +index (report_times), +index (run_now_trigger) +) ENGINE=MyISAM; + +UPDATE system_settings SET db_schema_version='1492',db_schema_update_date=NOW() where db_schema_version < 1492; diff --git a/agc_2-X/trunk/www/vicidial/AST_agent_status_detail.php b/agc_2-X/trunk/www/vicidial/AST_agent_status_detail.php index 5e292f47..455d6f0f 100644 --- a/agc_2-X/trunk/www/vicidial/AST_agent_status_detail.php +++ b/agc_2-X/trunk/www/vicidial/AST_agent_status_detail.php @@ -437,7 +437,7 @@ if ($file_download < 1) echo "\n"; echo "\n"; - echo ""._QXZ("$report_name")." $NWB#agent_status_detail$NWE"; + echo ""._QXZ("$report_name")." $NWB#agent_status_detail$NWE\n"; echo "
";
 	}
 
diff --git a/agc_2-X/trunk/www/vicidial/admin.php b/agc_2-X/trunk/www/vicidial/admin.php
index b989fd41..b815d54e 100644
--- a/agc_2-X/trunk/www/vicidial/admin.php
+++ b/agc_2-X/trunk/www/vicidial/admin.php
@@ -103,6 +103,7 @@ $reports_color =	'#E6E6E6';
 	$cts_color = 		'#C6C6C6';
 	$sc_color = 		'#C6C6C6';
 	$sg_color = 		'#C6C6C6';
+	$ar_color = 		'#C6C6C6';
 $subcamp_color =	'#C6C6C6';
 
 $Msubhead_color =	'#E6E6E6';
@@ -2147,6 +2148,42 @@ if (isset($_GET["areacode_list"]))			{$areacode_list=$_GET["areacode_list"];}
 	elseif (isset($_POST["areacode_list"]))	{$areacode_list=$_POST["areacode_list"];}
 if (isset($_GET["areacode_filter_action_value"]))			{$areacode_filter_action_value=$_GET["areacode_filter_action_value"];}
 	elseif (isset($_POST["areacode_filter_action_value"]))	{$areacode_filter_action_value=$_POST["areacode_filter_action_value"];}
+if (isset($_GET["enable_auto_reports"]))			{$enable_auto_reports=$_GET["enable_auto_reports"];}
+	elseif (isset($_POST["enable_auto_reports"]))	{$enable_auto_reports=$_POST["enable_auto_reports"];}
+if (isset($_GET["modify_auto_reports"]))			{$modify_auto_reports=$_GET["modify_auto_reports"];}
+	elseif (isset($_POST["modify_auto_reports"]))	{$modify_auto_reports=$_POST["modify_auto_reports"];}
+if (isset($_GET["report_id"]))			{$report_id=$_GET["report_id"];}
+	elseif (isset($_POST["report_id"]))	{$report_id=$_POST["report_id"];}
+if (isset($_GET["report_name"]))			{$report_name=$_GET["report_name"];}
+	elseif (isset($_POST["report_name"]))	{$report_name=$_POST["report_name"];}
+if (isset($_GET["report_server"]))			{$report_server=$_GET["report_server"];}
+	elseif (isset($_POST["report_server"]))	{$report_server=$_POST["report_server"];}
+if (isset($_GET["report_times"]))			{$report_times=$_GET["report_times"];}
+	elseif (isset($_POST["report_times"]))	{$report_times=$_POST["report_times"];}
+if (isset($_GET["report_weekdays"]))			{$report_weekdays=$_GET["report_weekdays"];}
+	elseif (isset($_POST["report_weekdays"]))	{$report_weekdays=$_POST["report_weekdays"];}
+if (isset($_GET["report_monthdays"]))			{$report_monthdays=$_GET["report_monthdays"];}
+	elseif (isset($_POST["report_monthdays"]))	{$report_monthdays=$_POST["report_monthdays"];}
+if (isset($_GET["report_destination"]))			{$report_destination=$_GET["report_destination"];}
+	elseif (isset($_POST["report_destination"]))	{$report_destination=$_POST["report_destination"];}
+if (isset($_GET["email_from"]))			{$email_from=$_GET["email_from"];}
+	elseif (isset($_POST["email_from"]))	{$email_from=$_POST["email_from"];}
+if (isset($_GET["email_to"]))			{$email_to=$_GET["email_to"];}
+	elseif (isset($_POST["email_to"]))	{$email_to=$_POST["email_to"];}
+if (isset($_GET["email_subject"]))			{$email_subject=$_GET["email_subject"];}
+	elseif (isset($_POST["email_subject"]))	{$email_subject=$_POST["email_subject"];}
+if (isset($_GET["ftp_server"]))				{$ftp_server=$_GET["ftp_server"];}
+	elseif (isset($_POST["ftp_server"]))	{$ftp_server=$_POST["ftp_server"];}
+if (isset($_GET["ftp_user"]))			{$ftp_user=$_GET["ftp_user"];}
+	elseif (isset($_POST["ftp_user"]))	{$ftp_user=$_POST["ftp_user"];}
+if (isset($_GET["ftp_pass"]))			{$ftp_pass=$_GET["ftp_pass"];}
+	elseif (isset($_POST["ftp_pass"]))	{$ftp_pass=$_POST["ftp_pass"];}
+if (isset($_GET["ftp_directory"]))			{$ftp_directory=$_GET["ftp_directory"];}
+	elseif (isset($_POST["ftp_directory"]))	{$ftp_directory=$_POST["ftp_directory"];}
+if (isset($_GET["report_url"]))				{$report_url=$_GET["report_url"];}
+	elseif (isset($_POST["report_url"]))	{$report_url=$_POST["report_url"];}
+if (isset($_GET["run_now_trigger"]))			{$run_now_trigger=$_GET["run_now_trigger"];}
+	elseif (isset($_POST["run_now_trigger"]))	{$run_now_trigger=$_POST["run_now_trigger"];}
 
 
 if (isset($script_id)) {$script_id= strtoupper($script_id);}
@@ -2161,7 +2198,7 @@ if (strlen($dial_status) > 0)
 
 #############################################
 ##### START SYSTEM_SETTINGS LOOKUP #####
-$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,frozen_server_call_clear,active_modules,allow_chats,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform,default_language,user_hide_realtime_enabled,log_recording_access,alt_ivr_logging,admin_row_click,admin_screen_colors,ofcom_uk_drop_calc,agent_screen_colors,script_remove_js,manual_auto_next,user_new_lead_limit,agent_xfer_park_3way,agent_soundboards,web_loader_phone_length,agent_script FROM system_settings;";
+$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,frozen_server_call_clear,active_modules,allow_chats,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform,default_language,user_hide_realtime_enabled,log_recording_access,alt_ivr_logging,admin_row_click,admin_screen_colors,ofcom_uk_drop_calc,agent_screen_colors,script_remove_js,manual_auto_next,user_new_lead_limit,agent_xfer_park_3way,agent_soundboards,web_loader_phone_length,agent_script,enable_auto_reports FROM system_settings;";
 $rslt=mysql_to_mysqli($stmt, $link);
 if ($DB) {echo "$stmt\n";}
 $qm_conf_ct = mysqli_num_rows($rslt);
@@ -2233,6 +2270,7 @@ if ($qm_conf_ct > 0)
 	$SSagent_soundboards =					$row[62];
 	$SSweb_loader_phone_length =			$row[63];
 	$SSagent_script =						$row[64];
+	$SSenable_auto_reports =				$row[65];
 	}
 ##### END SETTINGS LOOKUP #####
 ###########################################
@@ -2540,6 +2578,9 @@ if ($non_latin < 1)
 	$agent_soundboards = preg_replace('/[^0-9]/','',$agent_soundboards);
 	$api_only_user = preg_replace('/[^0-9]/','',$api_only_user);
 	$areacode_filter_seconds = preg_replace('/[^0-9]/','',$areacode_filter_seconds);
+	$enable_auto_reports = preg_replace('/[^0-9]/','',$enable_auto_reports);
+	$modify_auto_reports = preg_replace('/[^0-9]/','',$modify_auto_reports);
+	$report_weekdays = preg_replace('/[^0-9]/','',$report_weekdays);
 
 	$user_new_lead_limit = preg_replace('/[^-0-9]/','',$user_new_lead_limit);
 	$drop_call_seconds = preg_replace('/[^-0-9]/','',$drop_call_seconds);
@@ -2663,6 +2704,7 @@ if ($non_latin < 1)
 	$manual_auto_show = preg_replace('/[^NY]/','',$manual_auto_show);
 	$allow_required_fields = preg_replace('/[^NY]/','',$allow_required_fields);
 	$conf_qualify = preg_replace('/[^NY]/','',$conf_qualify);
+	$run_now_trigger = preg_replace('/[^NY]/','',$run_now_trigger);
 
 	$qc_enabled = preg_replace('/[^0-9NY]/','',$qc_enabled);
 	$active = preg_replace('/[^0-9NY]/','',$active);
@@ -3021,6 +3063,10 @@ if ($non_latin < 1)
 	$populate_lead_province = preg_replace('/[^-_0-9a-zA-Z]/','',$populate_lead_province);
 	$areacode_filter = preg_replace('/[^-_0-9a-zA-Z]/','',$areacode_filter);
 	$areacode_filter_action = preg_replace('/[^-_0-9a-zA-Z]/','',$areacode_filter_action);
+	$report_id = preg_replace('/[^-_0-9a-zA-Z]/','',$report_id);
+	$report_destination = preg_replace('/[^-_0-9a-zA-Z]/','',$report_destination);
+	$report_times = preg_replace('/[^-_0-9a-zA-Z]/','',$report_times);
+	$report_monthdays = preg_replace('/[^-_0-9a-zA-Z]/','',$report_monthdays);
 
 	### ALPHA-NUMERIC and underscore and dash and slash and dot
 	$menu_timeout_prompt = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$menu_timeout_prompt);
@@ -3102,6 +3148,7 @@ if ($non_latin < 1)
 	$no_agent_ingroup_extension = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$no_agent_ingroup_extension);
 	$pre_filter_extension = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$pre_filter_extension);
 	$max_queue_ingroup_extension = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$max_queue_ingroup_extension);
+	$report_server = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$report_server);
 
 	### ALPHA-NUMERIC and spaces dots, commas, dashes, underscores
 	$adaptive_dl_diff_target = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$adaptive_dl_diff_target);
@@ -3196,6 +3243,7 @@ if ($non_latin < 1)
 	$user_nickname = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$user_nickname);
 	$customer_chat_survey_text = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$customer_chat_survey_text);
 	$agent_script = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$agent_script);
+	$report_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$report_name);
 
 	### ALPHA-NUMERIC and underscore and dash and slash and at and dot
 	$call_out_number_group = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$call_out_number_group);
@@ -3215,6 +3263,10 @@ if ($non_latin < 1)
 	$vtiger_pass = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$vtiger_pass);
 	$external_server_ip = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$external_server_ip);
 	$alt_server_ip = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$alt_server_ip);
+	$email_from = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$email_from);
+	$email_to = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$email_to);
+	$ftp_server = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$ftp_server);
+	$ftp_directory = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$ftp_directory);
 
 	### ALPHA-NUMERIC and underscore and dash and slash and at and dot and space
 	$custom_one = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$custom_one);
@@ -3222,6 +3274,7 @@ if ($non_latin < 1)
 	$custom_three = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$custom_three);
 	$custom_four = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$custom_four);
 	$custom_five = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$custom_five);
+	$email_subject = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$email_subject);
 
 	### ALPHA-NUMERIC and underscore and dash and slash and at and dot and pound and star
 	$extension = preg_replace('/[^-\*\#\.\:\/\@\_0-9a-zA-Z]/','',$extension);
@@ -3296,6 +3349,11 @@ if ($non_latin < 1)
 	$agent_status_viewable_groups = preg_replace('/\\\\/', '',$agent_status_viewable_groups);
 	$agent_allowed_chat_groups = preg_replace('/\\\\/', '',$agent_allowed_chat_groups);
 	$agent_allowed_chat_groups = preg_replace('/\\\\/', '',$agent_allowed_chat_groups);
+	$report_url = preg_replace('/\\\\/', '',$report_url);
+	$report_url = preg_replace('/;/','',$report_url);
+	$report_url = preg_replace('/\r|\n/', '',$report_url);
+	$report_url = preg_replace('/\'/', '',$report_url);
+
 	### VARIABLES TO BE mysqli_real_escape_string ###
 	# $web_form_address
 	# $queuemetrics_url
@@ -3316,6 +3374,8 @@ if ($non_latin < 1)
 	# $nva_call_url
 	# $web_socket_url
 	# $customer_chat_survey_link
+	# $ftp_user
+	# $ftp_pass
 
 	### VARIABLES optionally filtered: ###
 	# $script_text
@@ -3947,12 +4007,13 @@ else
 # 170226-0850 - Added recording override options to chat and email groups to disable recordings for those, issue #992
 # 170227-2231 - Change to allow horizontal_bar_chart header to be translated, issue #991
 # 170228-1621 - Changed emergency logout to hangup all agent session calls, and more logging
+# 170304-1355 - Added Automated Reports section to Admin
 #
 
 # make sure you have added a user to the vicidial_users MySQL table with at least user_level 9 to access this page the first time
 
-$admin_version = '2.14-596a';
-$build = '170228-1621';
+$admin_version = '2.14-597a';
+$build = '170304-1355';
 
 $STARTtime = date("U");
 $SQLdate = date("Y-m-d H:i:s");
@@ -4150,7 +4211,7 @@ if ( ($qc_auth > 0) and ($auth < 1) )
         $qc_only_user=1;
         }
 
-$stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,callcard_admin,force_change_password,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,modify_contacts,modify_same_user_level,alter_admin_interface_options,modify_custom_dialplans,modify_languages,selected_language,user_choose_language,modify_colors,api_only_user from vicidial_users where user='$PHP_AUTH_USER';";
+$stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,callcard_admin,force_change_password,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,modify_contacts,modify_same_user_level,alter_admin_interface_options,modify_custom_dialplans,modify_languages,selected_language,user_choose_language,modify_colors,api_only_user,modify_auto_reports from vicidial_users where user='$PHP_AUTH_USER';";
 $rslt=mysql_to_mysqli($stmt, $link);
 $row=mysqli_fetch_row($rslt);
 $LOGfull_name				=$row[3];
@@ -4207,6 +4268,7 @@ $LOGselected_language		=$row[86];
 $LOGuser_choose_language	=$row[87];
 $LOGmodify_colors			=$row[88];
 $LOGapi_only_user			=$row[89];
+$LOGmodify_auto_reports		=$row[90];
 
 $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';";
 $rslt=mysql_to_mysqli($stmt, $link);
@@ -4486,6 +4548,7 @@ if ($ADD==182111111111)	{$hh='admin';	$sh='colors';	echo _QXZ("ADD NEW SCREEN CO
 if ($ADD==191111111111)	{$hh='admin';	$sh='cts';	echo _QXZ("ADD NEW CONTACT");}
 if ($ADD==192111111111)	{$hh='admin';	$sh='sc';	echo _QXZ("ADD SETTINGS CONTAINER");}
 if ($ADD==193111111111)	{$hh='admin';	$sh='sg';	echo _QXZ("ADD STATUS GROUP");}
+if ($ADD==194111111111)	{$hh='admin';	$sh='ar';	echo _QXZ("ADD AUTOMATED REPORT");}
 if ($ADD==1111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("ADD NEW CONFERENCE");}
 if ($ADD==11111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("ADD NEW AGENT CONFERENCE");}
 if ($ADD=='2')			{$hh='users';		$sh='new';	echo _QXZ("New User Addition");}
@@ -4537,6 +4600,7 @@ if ($ADD==282111111111)	{$hh='admin';	$sh='colors';	echo _QXZ("ADDING NEW SCREEN
 if ($ADD==291111111111)	{$hh='admin';	$sh='cts';	echo _QXZ("ADDING NEW CONTACT");}
 if ($ADD==292111111111)	{$hh='admin';	$sh='sc';	echo _QXZ("ADDING NEW SETTINGS CONTAINER");}
 if ($ADD==293111111111)	{$hh='admin';	$sh='sg';	echo _QXZ("ADDING NEW STATUS GROUP");}
+if ($ADD==294111111111)	{$hh='admin';	$sh='ar';	echo _QXZ("ADDING NEW AUTOMATED REPORT");}
 if ($ADD==2111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("ADDING NEW CONFERENCE");}
 if ($ADD==21111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("ADDING NEW AGENT CONFERENCE");}
 if ($ADD==221111111111111)	{$hh='admin';	$sh='status';	echo _QXZ("ADDING SYSTEM STATUSES");}
@@ -4615,6 +4679,7 @@ if ($ADD==382111111111)	{$hh='admin';	$sh='colors';	echo _QXZ("MODIFY SCREEN COL
 if ($ADD==391111111111)	{$hh='admin';	$sh='cts';	echo _QXZ("MODIFY CONTACT");}
 if ($ADD==392111111111)	{$hh='admin';	$sh='sc';	echo _QXZ("MODIFY SETTINGS CONTAINER");}
 if ($ADD==393111111111)	{$hh='admin';	$sh='sg';	echo _QXZ("MODIFY STATUS GROUP");}
+if ($ADD==394111111111)	{$hh='admin';	$sh='ar';	echo _QXZ("MODIFY AUTOMATED REPORT");}
 if ($ADD==3111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("MODIFY CONFERENCE");}
 if ($ADD==31111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("MODIFY AGENT CONFERENCE");}
 if ($ADD==311111111111111)	{$hh='admin';	$sh='settings';	echo _QXZ("MODIFY SYSTEM SETTINGS");}
@@ -4665,6 +4730,7 @@ if ($ADD==482111111111)	{$hh='admin';	$sh='colors';	echo _QXZ("MODIFY SCREEN COL
 if ($ADD==491111111111)	{$hh='admin';	$sh='cts';	echo _QXZ("MODIFY CONTACT");}
 if ($ADD==492111111111)	{$hh='admin';	$sh='sc';	echo _QXZ("MODIFY SETTINGS CONTAINER");}
 if ($ADD==493111111111)	{$hh='admin';	$sh='sg';	echo _QXZ("MODIFY STATUS GROUP");}
+if ($ADD==494111111111)	{$hh='admin';	$sh='ar';	echo _QXZ("MODIFY AUTOMATED REPORT");}
 if ($ADD==4111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("MODIFY CONFERENCE");}
 if ($ADD==41111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("MODIFY CONFERENCE");}
 if ($ADD==411111111111111)	{$hh='admin';	$sh='settings';	echo _QXZ("MODIFY SYSTEM SETTINGS");}
@@ -4704,6 +4770,7 @@ if ($ADD==582111111111)	{$hh='admin';	$sh='colors';	echo _QXZ("DELETE SCREEN COL
 if ($ADD==591111111111)	{$hh='admin';	$sh='cts';	echo _QXZ("DELETE CONTACT");}
 if ($ADD==592111111111)	{$hh='admin';	$sh='sc';	echo _QXZ("DELETE SETTINGS CONTAINER");}
 if ($ADD==593111111111)	{$hh='admin';	$sh='sg';	echo _QXZ("DELETE STATUS GROUP");}
+if ($ADD==594111111111)	{$hh='admin';	$sh='ar';	echo _QXZ("DELETE AUTOMATED REPORT");}
 if ($ADD==5111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("DELETE CONFERENCE");}
 if ($ADD==51111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("DELETE AGENT CONFERENCE");}
 if ($ADD==6)			{$hh='users';		$sh='list';	echo _QXZ("Delete User");}
@@ -4746,6 +4813,7 @@ if ($ADD==682111111111)	{$hh='admin';	$sh='colors';	echo _QXZ("DELETE SCREEN COL
 if ($ADD==691111111111)	{$hh='admin';	$sh='cts';	echo _QXZ("DELETE CONTACT");}
 if ($ADD==692111111111)	{$hh='admin';	$sh='sc';	echo _QXZ("DELETE SETTINGS CONTAINER");}
 if ($ADD==693111111111)	{$hh='admin';	$sh='sg';	echo _QXZ("DELETE STATUS GROUP");}
+if ($ADD==694111111111)	{$hh='admin';	$sh='ar';	echo _QXZ("DELETE AUTOMATED REPORT");}
 if ($ADD==6111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("DELETE CONFERENCE");}
 if ($ADD==61111111111111)	{$hh='admin';	$sh='conference';	echo _QXZ("DELETE AGENT CONFERENCE");}
 if ($ADD==73)			{$hh='campaigns';	echo _QXZ("Dialable Lead Count");}
@@ -4794,6 +4862,7 @@ if ($ADD==182000000000)	{$hh='admin';	$sh='colors';	echo _QXZ("SCREEN COLORS LIS
 if ($ADD==190000000000)	{$hh='admin';	$sh='cts';	echo _QXZ("CONTACTS LIST");}
 if ($ADD==192000000000)	{$hh='admin';	$sh='sc';	echo _QXZ("SETTINGS CONTAINTER LIST");}
 if ($ADD==193000000000)	{$hh='admin';	$sh='sg';	echo _QXZ("STATUS GROUP LIST");}
+if ($ADD==194000000000)	{$hh='admin';	$sh='ar';	echo _QXZ("AUTOMATED REPORTS LIST");}
 if ($ADD==1000000000000)	{$hh='admin';	$sh='conference';	echo _QXZ("CONFERENCE LIST");}
 if ($ADD==10000000000000)	{$hh='admin';	$sh='conference';	echo _QXZ("AGENT CONFERENCE LIST");}
 if ($ADD==100000000000000)	{$hh='qc';	$sh='list';	echo _QXZ("Quality Control");}
@@ -8372,6 +8441,37 @@ if ($ADD==193111111111)
 	}
 
 
+######################
+# ADD=194111111111 display the ADD NEW AUTOMATED REPORT screen
+######################
+if ($ADD==194111111111)
+	{
+	if ($LOGmodify_auto_reports==1)
+		{
+		echo " 0) {echo " onclick=\"window.document.location='$ADMIN?ADD=100000000';\"";} ?>>
@@ -2040,6 +2043,13 @@ if ($subcamp_font_size < 4) {$subcamp_font_size='11';}
 		   \"Users\"   0)
+			{ ?>
+			 0) {echo " onclick=\"window.document.location='$ADMIN?ADD=194000000000';\"";} ?>>
+			
+
+		
 	> 25) { 
+		?>
+	>
+	 25) { 
 		?>
 	>
diff --git a/agc_2-X/trunk/www/vicidial/help.php b/agc_2-X/trunk/www/vicidial/help.php
index da2d0db9..0cb0f7ec 100644
--- a/agc_2-X/trunk/www/vicidial/help.php
+++ b/agc_2-X/trunk/www/vicidial/help.php
@@ -111,6 +111,7 @@
 # 170217-1353 - Added dead_to_dispo entry
 # 170220-1811 - Added areacode_filter entries
 # 170301-1337 - Updated entry for custom fields required setting
+# 170304-1346 - Added auto_reports section
 #
 
 
@@ -5263,6 +5264,11 @@ FR_SPAC 00 00 00 00 00 - 
  -
 
+
+ +
+ - +

@@ -5652,6 +5658,112 @@ FR_SPAC 00 00 00 00 00 -


+ +AUTOMATED REPORTS TABLE

+
+
+ + +
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + +
+
+
+ - + + + + +



STATUS_CATEGORIES TABLE

diff --git a/agc_2-X/trunk/www/vicidial/images/icon_autoreports.png b/agc_2-X/trunk/www/vicidial/images/icon_autoreports.png new file mode 100644 index 00000000..3f5a0621 Binary files /dev/null and b/agc_2-X/trunk/www/vicidial/images/icon_autoreports.png differ
\n"; + echo "\"Automated "; + + echo "
"._QXZ("ADD NEW AUTOMATED REPORT")."
\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
"._QXZ("Report ID").": $NWB#auto_reports-report_id$NWE
"._QXZ("Report Name").": $NWB#auto_reports-report_name$NWE
"._QXZ("Admin User Group").": $NWB#settings_containers-user_group$NWE
\n"; + } + else + { + echo _QXZ("You do not have permission to view this page")."\n"; + exit; + } + } + + ###################### # ADD=1111111111111 display the ADD NEW CONFERENCE SCREEN ###################### @@ -8842,7 +8942,7 @@ if ($ADD=="2A") $pass=''; } - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,agentcall_chat,modify_email_accounts,pass_hash,alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages,selected_language,user_choose_language,ignore_group_on_search,api_list_restrict,api_allowed_functions,lead_filter_id,admin_cf_show_hidden,user_hide_realtime,modify_colors,user_nickname,user_new_lead_limit,api_only_user) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,agentcall_chat,modify_email_accounts,\"$pass_hash\",alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages,selected_language,user_choose_language,ignore_group_on_search,api_list_restrict,api_allowed_functions,lead_filter_id,admin_cf_show_hidden,user_hide_realtime,modify_colors,user_nickname,user_new_lead_limit,api_only_user from vicidial_users where user=\"$source_user_id\";"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,agentcall_chat,modify_email_accounts,pass_hash,alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages,selected_language,user_choose_language,ignore_group_on_search,api_list_restrict,api_allowed_functions,lead_filter_id,admin_cf_show_hidden,user_hide_realtime,modify_colors,user_nickname,user_new_lead_limit,api_only_user,modify_auto_reports) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,agentcall_chat,modify_email_accounts,\"$pass_hash\",alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages,selected_language,user_choose_language,ignore_group_on_search,api_list_restrict,api_allowed_functions,lead_filter_id,admin_cf_show_hidden,user_hide_realtime,modify_colors,user_nickname,user_new_lead_limit,api_only_user,modify_auto_reports from vicidial_users where user=\"$source_user_id\";"; $rslt=mysql_to_mysqli($stmt, $link); $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today,group_type) SELECT \"$user\",group_id,group_rank,group_weight,\"0\",group_type from vicidial_inbound_group_agents where user=\"$source_user_id\";"; @@ -12010,6 +12110,48 @@ if ($ADD==293111111111) } +###################### +# ADD=294111111111 adds new automated report to the system +###################### +if ($ADD==294111111111) + { + if ( ($LOGmodify_auto_reports!=1) or ($add_copy_disabled > 0) ) + { + echo "
"._QXZ("You do not have permission to add records on this system")." -system_settings-\n"; + } + else + { + echo ""; + $stmt="SELECT count(*) from vicidial_automated_reports where report_id='$report_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + if ($row[0] > 0) + {echo "
"._QXZ("AUTOMATED REPORT NOT ADDED - there is already a report in the system with this ID")."\n";} + else + { + if ( (strlen($report_id) < 2) or (strlen($report_name) < 2) ) + {echo "
"._QXZ("AUTOMATED REPORT NOT ADDED - Please go back and look at the data you entered")."\n";} + else + { + echo "
"._QXZ("AUTOMATED REPORT ADDED")."\n"; + + $stmt="INSERT INTO vicidial_automated_reports SET report_id='$report_id',report_name='$report_name',report_url='',user_group='$user_group';"; + $rslt=mysql_to_mysqli($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = preg_replace('/;/', '', $SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='AUTOREPORTS', event_type='ADD', record_id='$report_id', event_code='ADMIN ADD AUTO REPORT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + } + } + } + $ADD=394111111111; + } + + ###################### # ADD=2111111111111 adds new conference to the system ###################### @@ -12262,7 +12404,7 @@ if ($ADD=="4A") echo "
"._QXZ("USER MODIFIED - ADMIN").": $user\n"; - $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data',agentcall_email='$agentcall_email',agentcall_chat='$agentcall_chat',modify_email_accounts='$modify_email_accounts',failed_login_count=0,alter_admin_interface_options='$alter_admin_interface_options',max_inbound_calls='$max_inbound_calls',modify_custom_dialplans='$modify_custom_dialplans',wrapup_seconds_override='$wrapup_seconds_override',modify_languages='$modify_languages',selected_language='$selected_language',user_choose_language='$user_choose_language',ignore_group_on_search='$ignore_group_on_search',api_list_restrict='$api_list_restrict',api_allowed_functions='$api_allowed_functions',lead_filter_id='$lead_filter_id',admin_cf_show_hidden='$admin_cf_show_hidden',user_hide_realtime='$user_hide_realtime',access_recordings='$access_recordings',modify_colors='$modify_colors',user_nickname='$user_nickname',user_new_lead_limit='$user_new_lead_limit',api_only_user='$api_only_user' $pass_hashSQL where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data',agentcall_email='$agentcall_email',agentcall_chat='$agentcall_chat',modify_email_accounts='$modify_email_accounts',failed_login_count=0,alter_admin_interface_options='$alter_admin_interface_options',max_inbound_calls='$max_inbound_calls',modify_custom_dialplans='$modify_custom_dialplans',wrapup_seconds_override='$wrapup_seconds_override',modify_languages='$modify_languages',selected_language='$selected_language',user_choose_language='$user_choose_language',ignore_group_on_search='$ignore_group_on_search',api_list_restrict='$api_list_restrict',api_allowed_functions='$api_allowed_functions',lead_filter_id='$lead_filter_id',admin_cf_show_hidden='$admin_cf_show_hidden',user_hide_realtime='$user_hide_realtime',access_recordings='$access_recordings',modify_colors='$modify_colors',user_nickname='$user_nickname',user_new_lead_limit='$user_new_lead_limit',api_only_user='$api_only_user',modify_auto_reports='$modify_auto_reports' $pass_hashSQL where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_to_mysqli($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -16094,6 +16236,53 @@ if ($ADD==493111111111) } + +###################### +# ADD=494111111111 modify automated report record in the system +###################### +if ($ADD==494111111111) + { + if ($LOGmodify_auto_reports==1) + { + echo ""; + + if ( (strlen($report_id) < 2) or (strlen($report_name) < 2) ) + {echo "
"._QXZ("AUTOMATED REPORT NOT MODIFIED - Please go back and look at the data you entered")."\n";} + else + { + $p=0; + $REPORT_weekdays=''; + $report_weekdays_ct = count($report_weekdays); + while ($p <= $report_weekdays_ct) + { + $REPORT_weekdays .= "$report_weekdays[$p]"; + $p++; + } + + $stmt="UPDATE vicidial_automated_reports set report_name='$report_name',report_server='$report_server',report_times='$report_times',report_weekdays='$REPORT_weekdays',report_monthdays='$report_monthdays',report_destination='$report_destination',email_from='$email_from',email_to='$email_to',email_subject='$email_subject',ftp_server='$ftp_server',ftp_user='" . mysqli_real_escape_string($link, $ftp_user) ."',ftp_pass='" . mysqli_real_escape_string($link, $ftp_pass) ."',ftp_directory='$ftp_directory',report_url='" . mysqli_real_escape_string($link, $report_url) ."',run_now_trigger='$run_now_trigger',active='$active',user_group='$user_group' where report_id='$report_id';"; + $rslt=mysql_to_mysqli($stmt, $link); + + echo "
"._QXZ("AUTOMATED REPORT MODIFIED").": $report_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = preg_replace("/;|\\\\/", '', $SQL_log); + $SQL_log = preg_replace("/\"/", "'", $SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='AUTOREPORTS', event_type='MODIFY', record_id='$report_id', event_code='ADMIN MODIFY AUTO REPORT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + } + } + else + { + echo _QXZ("You do not have permission to view this page")."\n"; + exit; + } + $ADD=394111111111; # go to automated report entry modification form below + } + + ###################### # ADD=4111111111111 modify conference record in the system ###################### @@ -16234,7 +16423,7 @@ if ($ADD==411111111111111) $custom_reports_slave_SQL=",custom_reports_use_slave_db='$custom_reports_slave_SQL'"; } - $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysqli_real_escape_string($link, $webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db'$custom_reports_slave_SQL,webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refresh='$admin_modify_refresh',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add',queuemetrics_record_hold='$queuemetrics_record_hold',country_code_list_stats='$country_code_list_stats',queuemetrics_pause_type='$queuemetrics_pause_type',frozen_server_call_clear='$frozen_server_call_clear',callback_time_24hour='$callback_time_24hour',enable_languages='$enable_languages',language_method='$language_method',meetme_enter_login_filename='$meetme_enter_login_filename',meetme_enter_leave3way_filename='$meetme_enter_leave3way_filename',enable_did_entry_list_id='$enable_did_entry_list_id',enable_third_webform='$enable_third_webform',allow_chats='$allow_chats',chat_url='$chat_url',chat_timeout='$chat_timeout',agent_debug_logging='$agent_debug_logging',default_language='$default_language',agent_whisper_enabled='$agent_whisper_enabled',user_hide_realtime_enabled='$user_hide_realtime_enabled',usacan_phone_dialcode_fix='$usacan_phone_dialcode_fix',cache_carrier_stats_realtime='$cache_carrier_stats_realtime',log_recording_access='$log_recording_access',report_default_format='$report_default_format',alt_ivr_logging='$alt_ivr_logging',default_phone_code='$default_phone_code',admin_row_click='$admin_row_click',admin_screen_colors='$admin_screen_colors',ofcom_uk_drop_calc='$ofcom_uk_drop_calc',agent_screen_colors='$agent_screen_colors',script_remove_js='$script_remove_js',manual_auto_next='$manual_auto_next',user_new_lead_limit='$user_new_lead_limit',agent_xfer_park_3way='$agent_xfer_park_3way',agent_soundboards='$agent_soundboards',web_loader_phone_length='$web_loader_phone_length',agent_script='$agent_script',agent_chat_screen_colors='$agent_chat_screen_colors'$custom_dialplanSQL;"; + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysqli_real_escape_string($link, $webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db'$custom_reports_slave_SQL,webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refresh='$admin_modify_refresh',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add',queuemetrics_record_hold='$queuemetrics_record_hold',country_code_list_stats='$country_code_list_stats',queuemetrics_pause_type='$queuemetrics_pause_type',frozen_server_call_clear='$frozen_server_call_clear',callback_time_24hour='$callback_time_24hour',enable_languages='$enable_languages',language_method='$language_method',meetme_enter_login_filename='$meetme_enter_login_filename',meetme_enter_leave3way_filename='$meetme_enter_leave3way_filename',enable_did_entry_list_id='$enable_did_entry_list_id',enable_third_webform='$enable_third_webform',allow_chats='$allow_chats',chat_url='$chat_url',chat_timeout='$chat_timeout',agent_debug_logging='$agent_debug_logging',default_language='$default_language',agent_whisper_enabled='$agent_whisper_enabled',user_hide_realtime_enabled='$user_hide_realtime_enabled',usacan_phone_dialcode_fix='$usacan_phone_dialcode_fix',cache_carrier_stats_realtime='$cache_carrier_stats_realtime',log_recording_access='$log_recording_access',report_default_format='$report_default_format',alt_ivr_logging='$alt_ivr_logging',default_phone_code='$default_phone_code',admin_row_click='$admin_row_click',admin_screen_colors='$admin_screen_colors',ofcom_uk_drop_calc='$ofcom_uk_drop_calc',agent_screen_colors='$agent_screen_colors',script_remove_js='$script_remove_js',manual_auto_next='$manual_auto_next',user_new_lead_limit='$user_new_lead_limit',agent_xfer_park_3way='$agent_xfer_park_3way',agent_soundboards='$agent_soundboards',web_loader_phone_length='$web_loader_phone_length',agent_script='$agent_script',agent_chat_screen_colors='$agent_chat_screen_colors',enable_auto_reports='$enable_auto_reports'$custom_dialplanSQL;"; $rslt=mysql_to_mysqli($stmt, $link); if ( ($meetme_enter_login_filename != $SSmeetme_enter_login_filename) or ($meetme_enter_leave3way_filename != $SSmeetme_enter_leave3way_filename) ) @@ -17198,6 +17387,28 @@ if ($ADD==593111111111) } + +###################### +# ADD=594111111111 confirmation before deletion of automated report record +###################### +if ($ADD==594111111111) + { + echo ""; + + if (strlen($report_id) < 2) + { + echo "
"._QXZ("AUTOMATED REPORT NOT DELETED - Please go back and look at the data you entered")."\n"; + echo "
"._QXZ("Report ID be at least 2 characters in length")."\n"; + } + else + { + echo "
"._QXZ("AUTOMATED REPORT DELETION CONFIRMATION").": $report_id - $report_name\n"; + echo "

"._QXZ("Click here to delete automated report")." $report_id - $report_name


\n"; + } + $ADD='394111111111'; # go to automated report entry modification below + } + + ###################### # ADD=5111111111111 confirmation before deletion of conference record ###################### @@ -19402,6 +19613,46 @@ if ($ADD==693111111111) } +###################### +# ADD=694111111111 delete automated report record +###################### +if ($ADD==694111111111) + { + echo ""; + + if ( (strlen($report_id) < 2) or ($CoNfIrM != 'YES') or ($LOGmodify_auto_reports!=1) ) + { + echo "
"._QXZ("AUTOMATED REPORT NOT DELETED - Please go back and look at the data you entered")."\n"; + echo "
"._QXZ("Report ID must be at least 2 characters in length")."\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_automated_reports where report_id='$report_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + if ($row[0] < 1) + {echo "
"._QXZ("AUTOMATED REPORT NOT FOUND").": $report_id\n";} + else + { + $stmt="DELETE from vicidial_automated_reports where report_id='$report_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_to_mysqli($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = preg_replace('/;/', '', $SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='AUTOREPORTS', event_type='DELETE', record_id='$report_id', event_code='ADMIN DELETE AUTO REPORT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + + echo "
"._QXZ("AUTOMATED REPORT DELETION COMPLETED").": $report_id\n"; + echo "

\n"; + } + } + $ADD='194000000000'; # go to automated report entry list + } + + ###################### # ADD=6111111111111 delete conference record ###################### @@ -19496,7 +19747,7 @@ if ($ADD==3) echo "\n"; echo "\n"; + if ($SSenable_auto_reports > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; @@ -32891,6 +33151,160 @@ if ($ADD==393111111111) } + + + + +###################### +# ADD=394111111111 modify automated report info in the system +###################### +if ($ADD==394111111111) + { + if ($LOGmodify_auto_reports==1) + { + if ( ($SSadmin_modify_refresh > 1) and ($modify_refresh_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=394111111111&report_id=$report_id"; + $modify_footer_refresh=1; + } + echo "
\n"; echo ""; - $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts,failed_login_count,last_login_date,last_ip,alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages,selected_language,user_choose_language,ignore_group_on_search,api_list_restrict,api_allowed_functions,lead_filter_id,agentcall_chat,admin_cf_show_hidden,user_hide_realtime,access_recordings,modify_colors,user_nickname,user_new_lead_limit,api_only_user from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts,failed_login_count,last_login_date,last_ip,alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages,selected_language,user_choose_language,ignore_group_on_search,api_list_restrict,api_allowed_functions,lead_filter_id,agentcall_chat,admin_cf_show_hidden,user_hide_realtime,access_recordings,modify_colors,user_nickname,user_new_lead_limit,api_only_user,modify_auto_reports from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $user_id = $row[0]; @@ -19619,6 +19870,7 @@ if ($ADD==3) $user_nickname = $row[119]; $user_new_lead_limit = $row[120]; $api_only_user = $row[121]; + $modify_auto_reports = $row[122]; if ( ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) or ( ($LOGmodify_same_user_level < 1) and ($LOGuser_level > 8) and ($user_level > 8) ) ) { @@ -19952,6 +20204,14 @@ if ($ADD==3) echo "
"._QXZ("Modify Contacts").": $NWB#users-modify_sections$NWE
"._QXZ("CallCard Access").": $NWB#users-modify_sections$NWE
"._QXZ("Modify Automated Reports").": $NWB#users-modify_sections$NWE
"._QXZ("Add Timeclock Log Record").": $NWB#users-add_timeclock_log$NWE
"._QXZ("Modify Timeclock Log Record").": $NWB#users-modify_timeclock_log$NWE
\n"; + echo "\n"; + echo "\n"; echo "\n"; @@ -36255,6 +36672,56 @@ if ($ADD==193000000000) } +###################### +# ADD=194000000000 display all automated report entries +###################### +if ($ADD==194000000000) + { + echo "
\n"; + echo ""; + + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description,external_server_ip from servers order by server_ip"; + $rsltx=mysql_to_mysqli($stmt, $link); + $servers_to_print = mysqli_num_rows($rsltx); + $servers_list=''; + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysqli_fetch_row($rsltx); + $servers_list .= "\n"; + $o++; + } + + $stmt="SELECT report_id,report_name,report_last_run,report_last_length,report_server,report_times,report_weekdays,report_monthdays,report_destination,email_from,email_to,email_subject,ftp_server,ftp_user,ftp_pass,ftp_directory,report_url,run_now_trigger,active,user_group from vicidial_automated_reports where report_id='$report_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + $report_id = $row[0]; + $report_name = $row[1]; + $report_last_run = $row[2]; + $report_last_length = $row[3]; + $report_server = $row[4]; + $report_times = $row[5]; + $report_weekdays = $row[6]; + $report_monthdays = $row[7]; + $report_destination = $row[8]; + $email_from = $row[9]; + $email_to = $row[10]; + $email_subject = $row[11]; + $ftp_server = $row[12]; + $ftp_user = $row[13]; + $ftp_pass = $row[14]; + $ftp_directory = $row[15]; + $report_url = $row[16]; + $run_now_trigger = $row[17]; + $active = $row[18]; + $user_group = $row[19]; + + echo ""; + + echo "
"._QXZ("MODIFY AN AUTOMATED REPORT")."\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
"._QXZ("Report ID").": $report_id
"._QXZ("Last Run Time").": $report_last_run   ($report_last_length "._QXZ("seconds").")
"._QXZ("Report Name").": $NWB#auto_reports-report_name$NWE
"._QXZ("Admin User Group").": $NWB#auto_reports-user_group$NWE
"._QXZ("Run Server").": $NWB#auto_reports-report_server$NWE
"._QXZ("Report Times").": $NWB#auto_reports-report_times$NWE
"._QXZ("Report Weekdays").":\n"; + echo ""._QXZ("Sunday")."   \n"; + echo ""._QXZ("Monday")."   \n"; + echo ""._QXZ("Tuesday")."   \n"; + echo ""._QXZ("Wednesday")."   \n"; + echo ""._QXZ("Thursday")."   \n"; + echo ""._QXZ("Friday")."   \n"; + echo ""._QXZ("Saturday")."   \n"; + echo "$NWB#auto_reports-report_weekdays$NWE
"._QXZ("Report Month Days").": $NWB#auto_reports-report_monthdays$NWE
"._QXZ("Report Destination").": $NWB#auto_reports-report_destination$NWE
"._QXZ("Email From").": $NWB#auto_reports-email_from$NWE
"._QXZ("Email To").": $NWB#auto_reports-email_to$NWE
"._QXZ("Email Subject").": $NWB#auto_reports-email_subject$NWE
"._QXZ("FTP Server").": $NWB#auto_reports-ftp_server$NWE
"._QXZ("FTP User").": $NWB#auto_reports-ftp_user$NWE
"._QXZ("FTP Pass").": $NWB#auto_reports-ftp_pass$NWE
"._QXZ("FTP Directory").": $NWB#auto_reports-ftp_directory$NWE
"._QXZ("Active").": $NWB#auto_reports-active$NWE
"._QXZ("Run Now Trigger").": $NWB#auto_reports-run_now_trigger$NWE
"._QXZ("Report URL").": $NWB#auto_reports-report_url$NWE
\n"; + + echo "

\n"; + + if ($LOGmodify_auto_reports > 0) + { + echo "

"._QXZ("DELETE THIS AUTOMATED REPORT")."\n"; + } + if ( ($LOGuser_level >= 9) and ( (preg_match("/Administration Change Log/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) ) + { + echo "

"._QXZ("Click here to see Admin changes to this automated report")."
\n"; + } + } + else + { + echo _QXZ("You are not authorized to view this page. Please go back."); + } + + } + + + + + + + + + + + ###################### # ADD=3111111111111 modify conference record in the system ###################### @@ -33079,7 +33493,7 @@ if ($ADD==311111111111111) $ALLagent_count = $rowx[2]; } - $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time,enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url,qc_features_active,outbound_autodial_active,outbound_calls_per_second,enable_tts_integration,agentonly_callback_campaign_lock,sounds_central_control_active,sounds_web_server,sounds_web_directory,active_voicemail_server,auto_dial_limit,user_territories_active,allow_custom_dialplan,db_schema_update_date,enable_second_webform,default_webphone,default_external_server_ip,webphone_url,enable_agc_dispo_log,custom_dialplan_entry,queuemetrics_loginout,callcard_enabled,queuemetrics_callstatus,default_codecs,admin_web_directory,label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,custom_fields_enabled,slave_db_server,reports_use_slave_db,webphone_systemkey,first_login_trigger,default_phone_registration_password,default_phone_login_password,default_server_password,admin_modify_refresh,nocache_admin,generate_cross_server_exten,queuemetrics_addmember_enabled,queuemetrics_dispo_pause,label_hide_field_logs,queuemetrics_pe_phone_append,test_campaign_calls,agents_calls_reset,default_voicemail_timezone,default_local_gmt,noanswer_log,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,did_agent_log,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,queuemetrics_socket,queuemetrics_socket_url,enhanced_disconnect_logging,allow_emails,level_8_disable_add,pass_hash_enabled,pass_key,pass_cost,disable_auto_dial,queuemetrics_record_hold,country_code_list_stats,reload_timestamp,queuemetrics_pause_type,frozen_server_call_clear,callback_time_24hour,allow_chats,chat_url,chat_timeout,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform,agent_debug_logging,default_language,agent_whisper_enabled,user_hide_realtime_enabled,usacan_phone_dialcode_fix,cache_carrier_stats_realtime,oldest_logs_date,log_recording_access,report_default_format,alt_ivr_logging,default_phone_code,admin_row_click,admin_screen_colors,ofcom_uk_drop_calc,agent_screen_colors,script_remove_js,manual_auto_next,user_new_lead_limit,agent_xfer_park_3way,rec_prompt_count,agent_soundboards,web_loader_phone_length,agent_script,agent_chat_screen_colors from system_settings;"; + $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time,enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url,qc_features_active,outbound_autodial_active,outbound_calls_per_second,enable_tts_integration,agentonly_callback_campaign_lock,sounds_central_control_active,sounds_web_server,sounds_web_directory,active_voicemail_server,auto_dial_limit,user_territories_active,allow_custom_dialplan,db_schema_update_date,enable_second_webform,default_webphone,default_external_server_ip,webphone_url,enable_agc_dispo_log,custom_dialplan_entry,queuemetrics_loginout,callcard_enabled,queuemetrics_callstatus,default_codecs,admin_web_directory,label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,custom_fields_enabled,slave_db_server,reports_use_slave_db,webphone_systemkey,first_login_trigger,default_phone_registration_password,default_phone_login_password,default_server_password,admin_modify_refresh,nocache_admin,generate_cross_server_exten,queuemetrics_addmember_enabled,queuemetrics_dispo_pause,label_hide_field_logs,queuemetrics_pe_phone_append,test_campaign_calls,agents_calls_reset,default_voicemail_timezone,default_local_gmt,noanswer_log,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,did_agent_log,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,queuemetrics_socket,queuemetrics_socket_url,enhanced_disconnect_logging,allow_emails,level_8_disable_add,pass_hash_enabled,pass_key,pass_cost,disable_auto_dial,queuemetrics_record_hold,country_code_list_stats,reload_timestamp,queuemetrics_pause_type,frozen_server_call_clear,callback_time_24hour,allow_chats,chat_url,chat_timeout,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform,agent_debug_logging,default_language,agent_whisper_enabled,user_hide_realtime_enabled,usacan_phone_dialcode_fix,cache_carrier_stats_realtime,oldest_logs_date,log_recording_access,report_default_format,alt_ivr_logging,default_phone_code,admin_row_click,admin_screen_colors,ofcom_uk_drop_calc,agent_screen_colors,script_remove_js,manual_auto_next,user_new_lead_limit,agent_xfer_park_3way,rec_prompt_count,agent_soundboards,web_loader_phone_length,agent_script,agent_chat_screen_colors,enable_auto_reports from system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $version = $row[0]; @@ -33239,6 +33653,7 @@ if ($ADD==311111111111111) $web_loader_phone_length = $row[154]; $agent_script = $row[155]; $agent_chat_screen_colors = $row[156]; + $enable_auto_reports = $row[157]; if ($pass_hash_enabled > 0) {$pass_hash_enabled = 'ENABLED';} else {$pass_hash_enabled = 'DISABLED';} @@ -33532,6 +33947,8 @@ if ($ADD==311111111111111) echo "
"._QXZ("Log Recording Access").": $NWB#settings-log_recording_access$NWE
"._QXZ("Enable Automated Reports").": $NWB#settings-enable_auto_reports$NWE
"._QXZ("First Login Trigger").": $first_login_trigger   $NWB#settings-first_login_trigger$NWE
"._QXZ("Default Phone Registration Password").": $NWB#settings-default_phone_registration_password$NWE     "._QXZ("Strength").":
\n"; echo "\n"; echo "\n"; + if ($SSenable_auto_reports > 0) + { + echo " 0) {echo " onclick=\"window.document.location='$PHP_SELF?ADD=194000000000';\"";} echo ">\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "
\n"; + echo " "; + + $stmt="SELECT report_id,report_name,report_destination,active,user_group,report_last_run,report_last_length,report_server from vicidial_automated_reports $whereLOGadmin_viewable_groupsSQL order by report_destination,report_id"; + $rslt=mysql_to_mysqli($stmt, $link); + $sc_to_print = mysqli_num_rows($rslt); + + echo "
"._QXZ("Automated Reports").":\n"; + echo "
\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($sc_to_print > $o) + { + $row=mysqli_fetch_row($rslt); + + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) + {$bgcolor='class="records_list_x"';} + else + {$bgcolor='class="records_list_y"';} + echo " 0) {echo " onclick=\"window.document.location='$PHP_SELF?ADD=394111111111&report_id=$row[0]'\"";} echo ">"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
"._QXZ("Auto Report ID").""._QXZ("Name").""._QXZ("Type").""._QXZ("Active").""._QXZ("ADMIN GROUP").""._QXZ("Last Run").""._QXZ("Length").""._QXZ("Server").""._QXZ("MODIFY")."
$row[0]$row[1]$row[2]$row[3]$row[4]$row[5]$row[6]$row[7]"._QXZ("MODIFY")."
\n"; + } + + ###################### # ADD=1000000000000 display all conferences ###################### @@ -37571,6 +38038,13 @@ if ($ADD==999998) echo "
"._QXZ("Settings Containers")."
"._QXZ("Automated Reports")."
\n"; echo "
  \n"; } diff --git a/agc_2-X/trunk/www/vicidial/admin_header.php b/agc_2-X/trunk/www/vicidial/admin_header.php index cc0a6795..b467682c 100644 --- a/agc_2-X/trunk/www/vicidial/admin_header.php +++ b/agc_2-X/trunk/www/vicidial/admin_header.php @@ -69,6 +69,7 @@ # 161101-2129 - Added user_new_lead_limit Users subhead # 161103-2136 - Added agent_soundboards option # 170113-1633 - Added dynamic call menu in-group option DYNAMIC_INGROUP_VAR for use with cm_phonesearch.agi +# 170304-1354 - Added Automated Reports section to Admin # $stmt="SELECT admin_home_url,enable_tts_integration,callcard_enabled,custom_fields_enabled,allow_emails,level_8_disable_add,allow_chats,enable_languages,admin_row_click,admin_screen_colors,user_new_lead_limit,user_territories_active,qc_features_active,agent_soundboards from system_settings;"; @@ -1929,6 +1930,7 @@ if ($subcamp_font_size < 4) {$subcamp_font_size='11';} $sc_sh="CLASS=\"subhead_style\""; $sg_sh="CLASS=\"subhead_style\""; $emails_sh="CLASS=\"subhead_style\""; + $ar_sh="CLASS=\"subhead_style\""; if ($sh=='times') {$times_sh="CLASS=\"subhead_style_selected\"";} if ($sh=='shifts') {$shifts_sh="CLASS=\"subhead_style_selected\"";} @@ -1952,6 +1954,7 @@ if ($subcamp_font_size < 4) {$subcamp_font_size='11';} if ($sh=='sc') {$sc_sh="CLASS=\"subhead_style_selected\"";} if ($sh=='sg') {$sg_sh="CLASS=\"subhead_style_selected\"";} if ($sh=='emails') {$emails_sh="CLASS=\"subhead_style_selected\"";} + if ($sh=='ar') {$ar_sh="CLASS=\"subhead_style_selected\"";} ?>
>   +   \"Users\"
    |  
    |  
    |