diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE index e8705e31..1b451861 100644 --- a/agc_2-X/trunk/UPGRADE +++ b/agc_2-X/trunk/UPGRADE @@ -86,6 +86,9 @@ OTHER CHANGES: 12. Added campaign options to limit number of active callbacks +13. Changed all Administrative interface text output to use a function instead + of echo. + diff --git a/agc_2-X/trunk/agi/agi-VDAD_RINGALL.agi b/agc_2-X/trunk/agi/agi-VDAD_RINGALL.agi index 45b5470f..6a8748e3 100644 --- a/agc_2-X/trunk/agi/agi-VDAD_RINGALL.agi +++ b/agc_2-X/trunk/agi/agi-VDAD_RINGALL.agi @@ -21,6 +21,7 @@ # 121114-1935 - Added INGROUP recording option # 130108-1808 - Changes for Asterisk 1.8 compatibility # 140312-2112 - Added CALLID as recording filename variable +# 140421-1448 - Added code to halt ringing of other channels in ring_all NAC method # $script = 'agi-VDAD_RINGALL.agi'; @@ -36,6 +37,7 @@ if ($sec < 10) {$sec = "0$sec";} $now_date_epoch = time(); $now_date = "$year-$mon-$mday $hour:$min:$sec"; $now_num = "$year$mon$mday$hour$min$sec"; +$CIDdate = "$mon$mday$hour$min$sec"; $S='*'; # default path to astguiclient configuration file: @@ -92,8 +94,7 @@ $stmtA = "SELECT agi_output,ext_context,asterisk_version FROM servers where serv $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; $sthArows=$sthA->rows; -$rec_count=0; -while ($sthArows > $rec_count) +if ($sthArows > 0) { $AGILOG = '0'; @aryA = $sthA->fetchrow_array; @@ -103,7 +104,6 @@ while ($sthArows > $rec_count) if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} - $rec_count++; } $sthA->finish(); @@ -222,6 +222,40 @@ else exit; } +$stmtA = "SELECT user,extension,conf_exten,server_ip FROM vicidial_live_agents where ring_callerid='$call_callerid';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$orAGENTct=0; +$RINGct=0; +$user_phone=''; +while ($sthArows > $RINGct) + { + @aryA = $sthA->fetchrow_array; + $ringVLA_user[$RINGct] = $aryA[0]; + $ringVLA_exten[$RINGct] = $aryA[1]; + $ringVLA_conf_exten[$RINGct] = $aryA[2]; + $ringVLA_server_ip[$RINGct] = $aryA[3]; + $ring_user = $aryA[0]; + if ($AGILOG) {$agi_string = "-- Ringing agents for this call: |$call_callerid|$RINGct|$ringVLA_user[$RINGct]|$ringVLA_exten[$RINGct]|$ringVLA_conf_exten[$RINGct]|$ringVLA_server_ip[$RINGct]|"; &agi_output;} + if ($dial_user =~ /^$ring_user$/) + {$user_phone=$ringVLA_exten[$RINGct];} + else + { + $orVLA_user[$orAGENTct] = $aryA[0]; + $orVLA_exten[$orAGENTct] = $aryA[1]; + $orVLA_conf_exten[$orAGENTct] = $aryA[2]; + $orVLA_server_ip[$orAGENTct] = $aryA[3]; + if ($orVLA_exten[$orAGENTct] =~ /^R\//) + {$orVLA_exten[$orAGENTct] = "Local/" . $orVLA_conf_exten[$orAGENTct] . "\@default";} + $orAGENTct++; + } + $RINGct++; + } +$sthA->finish(); + +if ($AGILOG) {$agi_string = "-- Ringing stats: |$call_callerid|$RINGct|$orAGENTct|$user_phone|"; &agi_output;} + ### Check that the call has not been grabbed already, if it has then buzz and hangup ### $stmtA = "SELECT count(*) FROM vicidial_auto_calls where auto_call_id='$auto_call_id' and agent_grab='';"; @@ -252,7 +286,7 @@ if ($NAGcount > 0) { $stmtA="UPDATE vicidial_conferences set extension='3WAY_$dial_user', leave_3way='1', leave_3way_datetime='$now_date' where server_ip='$VLAserver_ip' and ((extension='') or (extension is null)) and conf_exten != '$VLAconf_exten' limit 1;"; $AVCaffected_rows = $dbhA->do($stmtA); - if ($AVCaffected_rows) + if ($AVCaffected_rows > 0) { $stmtA="SELECT conf_exten from vicidial_conferences where server_ip='$VLAserver_ip' and extension='3WAY_$dial_user' and leave_3way_datetime='$now_date' and conf_exten != '$VLAconf_exten';"; $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; @@ -391,13 +425,132 @@ if ($NAGcount > 0) ### END If remote agent, then reserve a vicidial_conferences session on their server to send the calls to ### } + ### Try to grab the call for this agent, if already grabbed then buzz and hangup ### $stmtA = "UPDATE vicidial_auto_calls SET agent_grab='$dial_user',agent_grab_extension='$VLAconf_exten' where auto_call_id='$auto_call_id' and agent_grab='';"; $AGaffected_rows = $dbhA->do($stmtA); - if ($AGaffected_rows) + if ($AGaffected_rows > 0) { if ($AGILOG) {$agi_string = "-- VAC Call Grabbed: |$callerid|$auto_call_id|$dial_user|$AGaffected_rows|"; &agi_output;} + ### Check if this was a RING_ALL method ### + $VIG_next_agent_call=''; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$VAC_campaign_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $VIGcount=$sthA->rows; + if ($VIGcount > 0) + { + @aryA = $sthA->fetchrow_array; + $VIG_next_agent_call = $aryA[0]; + if ($AGILOG) {$agi_string = "-- Check for in-group next agent call setting: |$callerid|$VAC_campaign_id|$VIG_next_agent_call|"; &agi_output;} + $sthA->finish(); + } + if ( ($VIG_next_agent_call =~ /ring_all/i) && ($orAGENTct > 0) ) + { + ### gather list of ringing channels + $stmtA = "SELECT channel,server_ip FROM live_sip_channels where extension='ring';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $LSC_channel[$rec_count] = $aryA[0]; + $LSC_server_ip[$rec_count] = $aryA[1]; + $LSC_channelREG[$rec_count] = $aryA[0]; + $LSC_channelREG[$rec_count] =~ s/\*/STARSYM/gi; + $LSC_channelREG[$rec_count] =~ s/\@/ATSYM/gi; + if ($AGILOG) {$agi_string = "-- Other ringing channels: |$rec_count|$LSC_channel[$rec_count]|$LSC_server_ip[$rec_count]|"; &agi_output;} + $rec_count++; + } + $sthA->finish(); + + ### go through other-agent ringing agent records looking for matches to hang up + if ($rec_count > 0) + { + $orct=0; + foreach(@orVLA_exten) + { + $exten_match=''; + if ($orVLA_exten[$orct] =~ /^Local\//) + { + $orVLA_exten[$orct] =~ s/^Local\/|\@.*//gi; + $exten_match = "STARSYM" . $orVLA_exten[$orct] . "ATSYM"; + } + if ($orVLA_exten[$orct] =~ /^SIP/i) + { + $orVLA_exten[$orct] =~ s/^SIP\///gi; + $stmtA = "SELECT dialplan_number FROM phones where extension='$orVLA_exten[$orct]' and server_ip='$orVLA_server_ip[$orct]' and protocol='SIP';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $Pcount=$sthA->rows; + if ($Pcount > 0) + { + @aryA = $sthA->fetchrow_array; + $Pdialplan_number = $aryA[0]; + $exten_match = "STARSYM" . $Pdialplan_number . "ATSYM"; + } + $sthA->finish(); + } + if ($orVLA_exten[$orct] =~ /^IAX/i) + { + $orVLA_exten[$orct] =~ s/^IAX2\/|^IAX\///gi; + $stmtA = "SELECT dialplan_number FROM phones where extension='$orVLA_exten[$orct]' and server_ip='$orVLA_server_ip[$orct]' and protocol='IAX2';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $Pcount=$sthA->rows; + if ($Pcount > 0) + { + @aryA = $sthA->fetchrow_array; + $Pdialplan_number = $aryA[0]; + $exten_match = "STARSYM" . $Pdialplan_number . "ATSYM"; + } + $sthA->finish(); + } + if ($orVLA_exten[$orct] =~ /^Zap|^DAHDI/i) + { + $orVLA_exten[$orct] =~ s/^Zap\/|^DAHDI\///gi; + $stmtA = "SELECT dialplan_number FROM phones where extension='$orVLA_exten[$orct]' and server_ip='$orVLA_server_ip[$orct]' and protocol='Zap';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $Pcount=$sthA->rows; + if ($Pcount > 0) + { + @aryA = $sthA->fetchrow_array; + $Pdialplan_number = $aryA[0]; + $exten_match = "STARSYM" . $Pdialplan_number . "ATSYM"; + } + $sthA->finish(); + } + + # if ($AGILOG) {$agi_string = "-- Check ORC: |$callerid|$orct|$exten_match|$orVLA_exten[$orct]|$orVLA_exten[$orct]|"; &agi_output;} + + if (length($exten_match) > 2) + { + $lscct=0; + foreach(@LSC_channel) + { + # if ($AGILOG) {$agi_string = "-- Check LSC: |$callerid|$orct|$lscct|$exten_match|$LSC_channel[$lscct]|$LSC_channelREG[$lscct]|$orVLA_exten[$orct]|$orVLA_exten[$orct]|"; &agi_output;} + if ($LSC_channelREG[$lscct] =~ /$exten_match/) + { + if ($AGILOG) {$agi_string = "-- Chan to hangup: |$callerid|$exten_match|$LSC_channel[$lscct]|$LSC_server_ip[$lscct]|"; &agi_output;} + + ### send hangup command for channel + $VHqueryCID = "RGHANGUP$CIDdate$lscct"; + $stmtA = "INSERT INTO vicidial_manager values('','','$now_date','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $LSC_channel[$lscct]','','','','','','','','','')"; + $AGaffected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- Other Ringing Hangup Sent: |$callerid|$AGaffected_rows|$LSC_channel[$lscct]|$VHqueryCID|"; &agi_output;} + } + $lscct++; + } + } + $orct++; + } + } + } + ### send agent to their session ### if($VLAserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) { 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 6e399af4..c8f91398 100644 --- a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql +++ b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql @@ -659,7 +659,7 @@ qc_allowed_campaigns TEXT, qc_allowed_inbound_groups TEXT, group_shifts TEXT, forced_timeclock_login ENUM('Y','N','ADMIN_EXEMPT') default 'N', -shift_enforcement ENUM('OFF','START','ALL') default 'OFF', +shift_enforcement ENUM('OFF','START','ALL','ADMIN_EXEMPT') default 'OFF', agent_status_viewable_groups TEXT, agent_status_view_time ENUM('Y','N') default 'N', agent_call_log_view ENUM('Y','N') default 'N', @@ -908,7 +908,8 @@ timer_alt_seconds SMALLINT(5) default '0', wrapup_bypass ENUM('DISABLED','ENABLED') default 'ENABLED', wrapup_after_hotkey ENUM('DISABLED','ENABLED') default 'DISABLED', callback_active_limit SMALLINT(5) UNSIGNED default '0', -callback_active_limit_override ENUM('N','Y') default 'N' +callback_active_limit_override ENUM('N','Y') default 'N', +allow_chats ENUM('Y','N') default 'N' ) ENGINE=MyISAM; CREATE TABLE vicidial_lists ( @@ -1562,7 +1563,9 @@ country_code_list_stats ENUM('0','1') default '0', reload_timestamp DATETIME, queuemetrics_pause_type ENUM('0','1') default '0', frozen_server_call_clear ENUM('0','1') default '0', -callback_time_24hour ENUM('0','1') default '0' +callback_time_24hour ENUM('0','1') default '0', +active_modules TEXT, +allow_chats ENUM('0','1') default '0' ) ENGINE=MyISAM; CREATE TABLE vicidial_campaigns_list_mix ( @@ -3036,6 +3039,30 @@ url VARCHAR(333) default '', unique index (url) ) ENGINE=MyISAM; +CREATE TABLE vicidial_avatars ( +avatar_id VARCHAR(100) PRIMARY KEY NOT NULL, +avatar_name VARCHAR(100), +avatar_notes TEXT, +avatar_api_user VARCHAR(20) default '', +avatar_api_pass VARCHAR(20) default '', +active ENUM('Y','N') default 'Y', +audio_functions VARCHAR(100) default 'PLAY-STOP-RESTART', +audio_display VARCHAR(100) default 'FILE-NAME', +user_group VARCHAR(20) default '---ALL---' +) ENGINE=MyISAM; + +CREATE TABLE vicidial_avatar_audio ( +avatar_id VARCHAR(100) NOT NULL, +audio_filename VARCHAR(255) NOT NULL, +audio_name TEXT, +rank SMALLINT(5) default '0', +h_ord SMALLINT(5) default '1', +level SMALLINT(5) default '1', +parent_audio_filename VARCHAR(255) default '', +parent_rank VARCHAR(2) default '', +index (avatar_id) +) ENGINE=MyISAM; + ALTER TABLE vicidial_email_list MODIFY message text character set utf8; @@ -3279,4 +3306,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='1386',db_schema_update_date=NOW(),reload_timestamp=NOW(); +UPDATE system_settings SET db_schema_version='1387',db_schema_update_date=NOW(),reload_timestamp=NOW(); diff --git a/agc_2-X/trunk/extras/generic_images/old_vicidial/vdc_tab_vicidial.gif b/agc_2-X/trunk/extras/generic_images/old_vicidial/vdc_tab_vicidial.gif new file mode 100644 index 00000000..d0274e27 Binary files /dev/null and b/agc_2-X/trunk/extras/generic_images/old_vicidial/vdc_tab_vicidial.gif differ diff --git a/agc_2-X/trunk/extras/generic_images/old_vicidial/vicidial_admin_web_logo.gif b/agc_2-X/trunk/extras/generic_images/old_vicidial/vicidial_admin_web_logo.gif new file mode 100644 index 00000000..8c5a9d22 Binary files /dev/null and b/agc_2-X/trunk/extras/generic_images/old_vicidial/vicidial_admin_web_logo.gif differ diff --git a/agc_2-X/trunk/extras/generic_images/old_vicidial/vicidial_admin_web_logo_small.gif b/agc_2-X/trunk/extras/generic_images/old_vicidial/vicidial_admin_web_logo_small.gif new file mode 100644 index 00000000..95738d49 Binary files /dev/null and b/agc_2-X/trunk/extras/generic_images/old_vicidial/vicidial_admin_web_logo_small.gif differ diff --git a/agc_2-X/trunk/extras/generic_images/old_vicidial/vtc_tab_vicidial.gif b/agc_2-X/trunk/extras/generic_images/old_vicidial/vtc_tab_vicidial.gif new file mode 100644 index 00000000..89234c9a Binary files /dev/null and b/agc_2-X/trunk/extras/generic_images/old_vicidial/vtc_tab_vicidial.gif differ diff --git a/agc_2-X/trunk/extras/upgrade_2.10.sql b/agc_2-X/trunk/extras/upgrade_2.10.sql index 8142bdfe..5208c2cd 100644 --- a/agc_2-X/trunk/extras/upgrade_2.10.sql +++ b/agc_2-X/trunk/extras/upgrade_2.10.sql @@ -31,3 +31,33 @@ ALTER TABLE vicidial_campaigns ADD callback_active_limit_override ENUM('N','Y') UPDATE system_settings SET db_schema_version='1386',db_schema_update_date=NOW() where db_schema_version < 1386; +ALTER TABLE system_settings ADD active_modules TEXT; +ALTER TABLE system_settings ADD allow_chats ENUM('0','1') default '0'; +ALTER TABLE vicidial_campaigns ADD allow_chats ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_user_groups MODIFY shift_enforcement ENUM('OFF','START','ALL','ADMIN_EXEMPT') default 'OFF'; + +CREATE TABLE vicidial_avatars ( +avatar_id VARCHAR(100) PRIMARY KEY NOT NULL, +avatar_name VARCHAR(100), +avatar_notes TEXT, +avatar_api_user VARCHAR(20) default '', +avatar_api_pass VARCHAR(20) default '', +active ENUM('Y','N') default 'Y', +audio_functions VARCHAR(100) default 'PLAY-STOP-RESTART', +audio_display VARCHAR(100) default 'FILE-NAME', +user_group VARCHAR(20) default '---ALL---' +) ENGINE=MyISAM; + +CREATE TABLE vicidial_avatar_audio ( +avatar_id VARCHAR(100) NOT NULL, +audio_filename VARCHAR(255) NOT NULL, +audio_name TEXT, +rank SMALLINT(5) default '0', +h_ord SMALLINT(5) default '1', +level SMALLINT(5) default '1', +parent_audio_filename VARCHAR(255) default '', +parent_rank VARCHAR(2) default '', +index (avatar_id) +) ENGINE=MyISAM; + +UPDATE system_settings SET db_schema_version='1387',db_schema_update_date=NOW() where db_schema_version < 1387; diff --git a/agc_2-X/trunk/www/agc/images/vdc_tab_vicidial.gif b/agc_2-X/trunk/www/agc/images/vdc_tab_vicidial.gif index d0274e27..0e0a5807 100644 Binary files a/agc_2-X/trunk/www/agc/images/vdc_tab_vicidial.gif and b/agc_2-X/trunk/www/agc/images/vdc_tab_vicidial.gif differ diff --git a/agc_2-X/trunk/www/agc/images/vtc_tab_vicidial.gif b/agc_2-X/trunk/www/agc/images/vtc_tab_vicidial.gif index 89234c9a..f80f351a 100644 Binary files a/agc_2-X/trunk/www/agc/images/vtc_tab_vicidial.gif and b/agc_2-X/trunk/www/agc/images/vtc_tab_vicidial.gif differ diff --git a/agc_2-X/trunk/www/vicidial/AST_campaign_status_list_report.php b/agc_2-X/trunk/www/vicidial/AST_campaign_status_list_report.php index b7751980..8828237c 100644 --- a/agc_2-X/trunk/www/vicidial/AST_campaign_status_list_report.php +++ b/agc_2-X/trunk/www/vicidial/AST_campaign_status_list_report.php @@ -420,9 +420,7 @@ while($i < $group_ct) $CSV_text.="\"List ID #$list_id: $list_name\"\n"; - # $stat_stmt="SELECT vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; - #$stat_stmt="SELECT val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; - $stat_stmt="SELECT vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION SELECT vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + $stat_stmt="SELECT vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec as signed)-cast(vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION SELECT vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec as signed)-cast(vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; if ($DB) {$HTML_text.="|$stat_stmt|\n";} # $ASCII_text.=$stat_stmt."\n"; $stat_rslt=mysql_to_mysqli($stat_stmt, $link); diff --git a/agc_2-X/trunk/www/vicidial/AST_timeonVDADall.php b/agc_2-X/trunk/www/vicidial/AST_timeonVDADall.php index 78484de1..9408a08a 100644 --- a/agc_2-X/trunk/www/vicidial/AST_timeonVDADall.php +++ b/agc_2-X/trunk/www/vicidial/AST_timeonVDADall.php @@ -453,7 +453,7 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL { Header("WWW-Authenticate: Basic realm=\"CONTACT-CENTER-ADMIN\""); Header("HTTP/1.0 401 Unauthorized"); - echo _QXZ("You are not allowed to view this report:")." |$PHP_AUTH_USER|$report_name|"._QXZ("$report_name")."|\n"; + echo _QXZ("You are not allowed to view this report").": |$PHP_AUTH_USER|$report_name|"._QXZ("$report_name")."|\n"; exit; } @@ -603,7 +603,7 @@ $NFB = ''; $NFE = ''; $F=''; $FG=''; $B=''; $BG=''; -$select_list = "
"._QXZ("Select Campaigns:")."
"; +$select_list = ""; $ingroup_detail .= ""; $ingroup_detail .= ""; - $ingroup_detail .= ""; - $ingroup_detail .= ""; - $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; $ingroup_detail .= ""; $ingroup_detail .= ""; $ingroup_detail .= ""; - $ingroup_detail .= ""; - $ingroup_detail .= ""; - $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; $ingroup_detail .= ""; $ingroup_detail .= ""; $ingroup_detail .= ""; - $ingroup_detail .= ""; - $ingroup_detail .= ""; - $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; $ingroup_detail .= ""; $r++; @@ -1294,9 +1294,9 @@ if ( ($DROPINGROUPstats > 0) and (!preg_match("/ALL-ACTIVE/",$group_string)) ) $DROPINGROUPstatsHTML .= ""; $DROPINGROUPstatsHTML .= ""; - $DROPINGROUPstatsHTML .= ""; - $DROPINGROUPstatsHTML .= ""; - $DROPINGROUPstatsHTML .= ""; + $DROPINGROUPstatsHTML .= ""; + $DROPINGROUPstatsHTML .= ""; + $DROPINGROUPstatsHTML .= ""; $DROPINGROUPstatsHTML .= ""; } @@ -1324,7 +1324,7 @@ if ($CARRIERstats > 0) $CARRIERstatsHTML .= "
"._QXZ("Select Campaigns").":
"; $select_list .= ""; $select_list .= "
"._QXZ("(To select more than 1 campaign, hold down the Ctrl key and click)").""; -$select_list .= "

"._QXZ("Select User Groups:")."
"; +$select_list .= "

"._QXZ("Select User Groups").":
"; $select_list .= ""; $select_list .= ""; $select_list .= ""; $select_list .= ""; $select_list .= ""; @@ -672,7 +672,7 @@ $select_list .= ""; if ($UGdisplay > 0) { $select_list .= ""; $select_list .= ""; $select_list .= ""; $select_list .= "
"; -$select_list .= _QXZ("Inbound:")."
"; -$select_list .= _QXZ("Monitor:")."
"; -$select_list .= _QXZ("Phone:")." "; +$select_list .= _QXZ("Phone").": "; $select_list .= ""; $select_list .= "
 
 
"; - $select_list .= _QXZ("Select User Group:")." "; + $select_list .= _QXZ("Select User Group").": "; $select_list .= "
"; -$select_list .= _QXZ("Dialable Leads Alert:")."
"; -$select_list .= _QXZ("Show Drop In-Group Row:")."
"; -$select_list .= _QXZ("Show Carrier Stats:")."
"; - $select_list .= _QXZ("Show Presets Stats:")."
"; -$select_list .= _QXZ("Agent Time Stats:")."
"; $select_list .= "   "; $select_list .= ""; -$select_list .= ""._QXZ("VERSION:")." $version   "._QXZ("BUILD:")." $build"; +$select_list .= ""._QXZ("VERSION").": $version   "._QXZ("BUILD").": $build"; $select_list .= "
"; $open_list = "
"._QXZ("Choose Report Display Options")."
"; @@ -1236,21 +1236,21 @@ if ( ($ALLINGROUPstats > 0) or ( (preg_match('/O/',$with_inbound)) and ($adastat $ingroup_detail .= "
        $ingroupdetail   "._QXZ("CALLS TODAY:")."  $callsTODAY    "._QXZ("TMA 1")."  $PCThold_sec_stat_one%     "._QXZ("Average Hold time for Answered Calls:")."  $AVGhold_sec_answer_calls   "._QXZ("CALLS TODAY").":  $callsTODAY    "._QXZ("TMA")." 1  $PCThold_sec_stat_one%     "._QXZ("Average Hold time for Answered Calls").":  $AVGhold_sec_answer_calls  
"._QXZ("DROPS TODAY:")."  $dropsTODAY    "._QXZ("TMA 2:")."  $PCThold_sec_stat_two%     "._QXZ("Average Hold time for Dropped Calls:")."  $AVGhold_sec_drop_calls   "._QXZ("DROPS TODAY").":  $dropsTODAY    "._QXZ("TMA")." 2:  $PCThold_sec_stat_two%     "._QXZ("Average Hold time for Dropped Calls").":  $AVGhold_sec_drop_calls  
"._QXZ("ANSWERS TODAY:")."  $answersTODAY    "._QXZ("DROP PERCENT:")."  $drpctTODAY%    "._QXZ("Average Hold time for All Calls:")."  $AVGhold_sec_queue_calls   "._QXZ("ANSWERS TODAY").":  $answersTODAY    "._QXZ("DROP PERCENT").":  $drpctTODAY%    "._QXZ("Average Hold time for All Calls").":  $AVGhold_sec_queue_calls  
"._QXZ("DROP IN-GROUP STATS")." -"._QXZ("DROP PERCENT:")."  $drpctTODAY%     "._QXZ("CALLS:")."  $callsTODAY     "._QXZ("DROPS/ANSWERS:")."  $dropsTODAY / $answersTODAY     "._QXZ("DROP PERCENT").":  $drpctTODAY%     "._QXZ("CALLS").":  $callsTODAY     "._QXZ("DROPS/ANSWERS").":  $dropsTODAY / $answersTODAY    
"; $CARRIERstatsHTML .= ""; $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; $CARRIERstatsHTML .= ""; $CARRIERstatsHTML .= ""; $CARRIERstatsHTML .= ""; @@ -1489,7 +1489,7 @@ if ($PRESETstats > 0) $PRESETstatsHTML .= "
"._QXZ("CARRIER STATS:")."               "._QXZ("CARRIER STATS").":                 "._QXZ("HANGUP STATUS")."     "._QXZ("24 HOURS")."     "._QXZ("6 HOURS")."  
"; $PRESETstatsHTML .= ""; $PRESETstatsHTML .= ""; - $PRESETstatsHTML .= ""; + $PRESETstatsHTML .= ""; $PRESETstatsHTML .= ""; $PRESETstatsHTML .= ""; $PRESETstatsHTML .= ""; @@ -1587,29 +1587,29 @@ if (preg_match('/O/',$with_inbound)) $AVG_ANSWERagent_non_pause_sec = sprintf("%01.2f", $AVG_ANSWERagent_non_pause_sec); echo "
  "._QXZ("AGENT DIAL PRESETS:")."     "._QXZ("AGENT DIAL PRESETS").":     "._QXZ("PRESET NAMES")."                 "._QXZ("CALLS")."  
"; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -1743,8 +1743,8 @@ else if ($Lmix_to_print > 0) { $row=mysqli_fetch_row($rslt); - $DIALstatuses = _QXZ("List Mix:")." $row[0]"; - $DIALorder = _QXZ("List Mix:")." $row[0]"; + $DIALstatuses = _QXZ("List Mix").": $row[0]"; + $DIALorder = _QXZ("List Mix").": $row[0]"; } } $DIALlev = sprintf("%01.3f", $DIALlev); @@ -1753,10 +1753,10 @@ else echo "
"._QXZ("CALLS TODAY:")."  $callsTODAY    "._QXZ("TMA 1:")."  $PCThold_sec_stat_one%     "._QXZ("Average Hold time for Answered Calls:")."  $AVGhold_sec_answer_calls   "._QXZ("TIME:")."   $NOW_TIME "._QXZ("CALLS TODAY").":  $callsTODAY    "._QXZ("TMA")." 1:  $PCThold_sec_stat_one%     "._QXZ("Average Hold time for Answered Calls").":  $AVGhold_sec_answer_calls   "._QXZ("TIME").":   $NOW_TIME
"._QXZ("DROPS TODAY:")."  $dropsTODAY    "._QXZ("TMA 2:")."  $PCThold_sec_stat_two%     "._QXZ("Average Hold time for Dropped Calls:")."  $AVGhold_sec_drop_calls   "._QXZ("DROPS TODAY").":  $dropsTODAY    "._QXZ("TMA")." 2:  $PCThold_sec_stat_two%     "._QXZ("Average Hold time for Dropped Calls").":  $AVGhold_sec_drop_calls  
"._QXZ("ANSWERS TODAY:")."  $answersTODAY    "._QXZ("ANSWERS TODAY").":  $answersTODAY    ("._QXZ("Agent non-pause time / Answers").")"._QXZ("Average Hold time for All Calls:")."  $AVGhold_sec_queue_calls   "._QXZ("Average Hold time for All Calls").":  $AVGhold_sec_queue_calls  
"._QXZ("DROP PERCENT:")."  $drpctTODAY%    "._QXZ("PRODUCTIVITY:")."  $AVG_ANSWERagent_non_pause_sec     "._QXZ("DROP PERCENT").":  $drpctTODAY%    "._QXZ("PRODUCTIVITY").":  $AVG_ANSWERagent_non_pause_sec    
"; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -1767,37 +1767,37 @@ else {$min_link='';} echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; } echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; echo ""; - echo ""; - echo ""; + echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; if ($AGENTtimeSTATS>0) @@ -1828,10 +1828,10 @@ else $avgacwTODAY = sprintf("%01.0f", $avgacwTODAY); echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; } @@ -1945,7 +1945,7 @@ if ( ($with_inbound != 'O') and ($NOLEADSalert == 'YES') ) echo "\n"; echo "
"._QXZ("DIAL LEVEL:")."  $DIALlev    "._QXZ("TRUNK SHORT/FILL:")."  $balanceSHORT / $balanceFILL     "._QXZ("FILTER:")."  $DIALfilter   "._QXZ("TIME:")."   $NOW_TIME "._QXZ("DIAL LEVEL").":  $DIALlev    "._QXZ("TRUNK SHORT/FILL").":  $balanceSHORT / $balanceFILL     "._QXZ("FILTER").":  $DIALfilter   "._QXZ("TIME").":   $NOW_TIME
$min_link  "._QXZ("MAX LEVEL:")."  $maxDIALlev   "._QXZ("DROPPED MAX:")."  $DROPmax%    "._QXZ("TARGET DIFF:")."  $targetDIFF     "._QXZ("INTENSITY:")."  $ADAintense     $min_link  "._QXZ("MAX LEVEL").":  $maxDIALlev   "._QXZ("DROPPED MAX").":  $DROPmax%    "._QXZ("TARGET DIFF").":  $targetDIFF     "._QXZ("INTENSITY").":  $ADAintense    
"._QXZ("DIAL TIMEOUT:")."  $DIALtimeout  "._QXZ("TAPER TIME:")."  $TAPERtime  "._QXZ("LOCAL TIME:")."  $CALLtime  "._QXZ("AVAIL ONLY:")."  $ADAavailonly  "._QXZ("DIAL TIMEOUT").":  $DIALtimeout  "._QXZ("TAPER TIME").":  $TAPERtime  "._QXZ("LOCAL TIME").":  $CALLtime  "._QXZ("AVAIL ONLY").":  $ADAavailonly  
"._QXZ("DIALABLE LEADS:")."  $DAleads     "._QXZ("CALLS TODAY:")."  $callsTODAY     "._QXZ("AVG AGENTS:")."  $agentsONEMIN     "._QXZ("DIAL METHOD:")."  $DIALmethod     "._QXZ("DIALABLE LEADS").":  $DAleads     "._QXZ("CALLS TODAY").":  $callsTODAY     "._QXZ("AVG AGENTS").":  $agentsONEMIN     "._QXZ("DIAL METHOD").":  $DIALmethod    
"._QXZ("HOPPER")." ( "._QXZ("min/auto")." ):  $HOPlev / $AHOPlev     "._QXZ("DROPPED")." / $answers_text:  $dropsTODAY / $answersTODAY   "._QXZ("DL DIFF:")."  $diffONEMIN     "._QXZ("STATUSES:")."  $DIALstatuses     "._QXZ("DL DIFF").":  $diffONEMIN     "._QXZ("STATUSES").":  $DIALstatuses    
"._QXZ("LEADS IN HOPPER:")."  $VDhop     "._QXZ("DROPPED PERCENT:")."  "; + echo ""._QXZ("LEADS IN HOPPER").":  $VDhop     "._QXZ("DROPPED PERCENT").":  "; if ($drpctTODAY >= $DROPmax) {echo "$drpctTODAY%";} else @@ -1805,8 +1805,8 @@ else echo "    "._QXZ("DIFF:")."  $diffpctONEMIN%     "._QXZ("ORDER:")."  $DIALorder     "._QXZ("DIFF").":  $diffpctONEMIN%     "._QXZ("ORDER").":  $DIALorder    
"._QXZ("AGENT AVG WAIT:")."  $avgwaitTODAY  "._QXZ("AVG CUSTTIME:")."  $avgcustTODAY  "._QXZ("AVG ACW:")."  $avgacwTODAY  "._QXZ("AVG PAUSE:")."  $avgpauseTODAY  "._QXZ("AGENT AVG WAIT").":  $avgwaitTODAY  "._QXZ("AVG CUSTTIME").":  $avgcustTODAY  "._QXZ("AVG ACW").":  $avgacwTODAY  "._QXZ("AVG PAUSE").":  $avgpauseTODAY  
\n"; echo "



"._QXZ("Close Alert").""; - echo "




"._QXZ("Campaigns with no dialable leads:")."

$NDLcampaigns
"; + echo "




"._QXZ("Campaigns with no dialable leads").":

$NDLcampaigns
"; echo "










  "; echo "
\n"; echo "\n"; @@ -2183,7 +2183,7 @@ if ($campaignord=='campaignup') {$campaignord='campaigndown';} else {$campaignord='campaignup';} $Aecho = ''; -$Aecho .= "VICIDIAL: "._QXZ("Agents Time On Calls Campaign:")." $group_string $NOW_TIME\n"; +$Aecho .= "VICIDIAL: "._QXZ("Agents Time On Calls Campaign").": $group_string $NOW_TIME\n"; $HDbegin = "+"; @@ -2776,7 +2776,7 @@ $talking_to_print = mysqli_num_rows($rslt); $Aecho .= "$Aline"; $Aecho .= " $agentcount "._QXZ("agents logged in on all servers\n"); - $Aecho .= " "._QXZ("System Load Average:")." $load_ave   $db_source\n\n"; + $Aecho .= " "._QXZ("System Load Average").": $load_ave   $db_source\n\n"; # $Aecho .= " - "._QXZ("Balanced call")."\n"; $Aecho .= " - "._QXZ("Agent waiting for call")."\n"; diff --git a/agc_2-X/trunk/www/vicidial/AST_timeonVDADallSUMMARY.php b/agc_2-X/trunk/www/vicidial/AST_timeonVDADallSUMMARY.php index 65d9657f..3f097ebf 100644 --- a/agc_2-X/trunk/www/vicidial/AST_timeonVDADallSUMMARY.php +++ b/agc_2-X/trunk/www/vicidial/AST_timeonVDADallSUMMARY.php @@ -27,7 +27,7 @@ # 130620-2256 - Added filtering of input to prevent SQL injection attacks and new user auth # 130901-2006 - Changed to mysqli PHP functions # 140328-0005 - Converted division calculations to use MathZDC function -# 140918-1631 - Added QXZ function formatting of output +# 141001-2200 - Finalized adding QXZ translation to all admin files # require("dbconnect_mysqli.php"); @@ -162,7 +162,7 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL { Header("WWW-Authenticate: Basic realm=\"CONTACT-CENTER-ADMIN\""); Header("HTTP/1.0 401 Unauthorized"); - echo _QXZ("You are not allowed to view this report:")." |$PHP_AUTH_USER|$report_name|"._QXZ("$report_name")."|\n"; + echo _QXZ("You are not allowed to view this report").": |$PHP_AUTH_USER|$report_name|"._QXZ("$report_name")."|\n"; exit; } @@ -269,7 +269,7 @@ $MAIN.="