From 528ffe3990037979227fba1f782018eddc22072b Mon Sep 17 00:00:00 2001 From: mattf Date: Tue, 11 Nov 2014 11:01:32 +0000 Subject: [PATCH] Changed all administrative web interface text to be output through new QXZ function instead of echo, reports are not done yet Changed all default VICIdial logos to new logos git-svn-id: svn://192.168.202.10@2183 3d104415-ff17-0410-8863-d5cf3c621b8a --- UPGRADE | 3 + agi/agi-VDAD_RINGALL.agi | 163 +- extras/MySQL_AST_CREATE_tables.sql | 35 +- .../old_vicidial/vdc_tab_vicidial.gif | Bin 0 -> 1859 bytes .../old_vicidial/vicidial_admin_web_logo.gif | Bin 0 -> 2483 bytes .../vicidial_admin_web_logo_small.gif | Bin 0 -> 1011 bytes .../old_vicidial/vtc_tab_vicidial.gif | Bin 0 -> 1802 bytes extras/upgrade_2.10.sql | 30 + www/agc/images/vdc_tab_vicidial.gif | Bin 1859 -> 2340 bytes www/agc/images/vtc_tab_vicidial.gif | Bin 1802 -> 2331 bytes .../AST_campaign_status_list_report.php | 4 +- www/vicidial/AST_timeonVDADall.php | 138 +- www/vicidial/AST_timeonVDADallSUMMARY.php | 76 +- www/vicidial/NANPA_running_processes.php | 35 +- www/vicidial/admin.php | 9700 +++++++++-------- www/vicidial/admin_NANPA_updater.php | 89 +- www/vicidial/admin_campaign_multi_alt.php | 41 +- www/vicidial/admin_email_accounts.php | 229 +- www/vicidial/admin_header.php | 376 +- www/vicidial/admin_listloader_fourth_gen.php | 221 +- www/vicidial/admin_lists_custom.php | 313 +- www/vicidial/admin_modify_lead.php | 189 +- www/vicidial/admin_phones_bulk_insert.php | 101 +- www/vicidial/admin_search_lead.php | 235 +- www/vicidial/audio_store.php | 51 +- www/vicidial/callbacks_bulk_change.php | 31 +- www/vicidial/callcard_admin.php | 223 +- www/vicidial/campaign_debug.php | 27 +- www/vicidial/closer-fronter_popup.php | 75 +- www/vicidial/closer-fronter_popup2.php | 49 +- www/vicidial/closer.php | 41 +- www/vicidial/closer_dispo.php | 59 +- www/vicidial/closer_popup.php | 71 +- www/vicidial/count_functions.inc | 16 +- www/vicidial/lead_tools.php | 153 +- www/vicidial/lead_tools_advanced.php | 443 +- www/vicidial/leadloader_template_display.php | 45 +- www/vicidial/qc_api.php | 59 +- www/vicidial/qc_call_client_iframe.php | 57 +- www/vicidial/qc_modify_lead.php | 165 +- www/vicidial/realtime_report.php | 64 +- www/vicidial/remote_dispo.php | 53 +- www/vicidial/reset_campaign_lists.php | 43 +- www/vicidial/send_CID_call.php | 23 +- www/vicidial/timeclock_edit.php | 69 +- www/vicidial/timeclock_status.php | 55 +- www/vicidial/user_group_bulk_change.php | 28 +- www/vicidial/user_status.php | 69 +- www/vicidial/user_territories.php | 151 +- www/vicidial/vdremote.php | 59 +- www/vicidial/vicidial_admin_web_logo.gif | Bin 2483 -> 3954 bytes .../vicidial_admin_web_logo_small.gif | Bin 1011 -> 1708 bytes www/vicidial/vicidial_sales_viewer.php | 65 +- www/vicidial/voice_lab.php | 65 +- www/vicidial/welcome.php | 18 +- www/vicidial/welcome_demo.php | 55 +- www/vicidial/welcome_languages.php | 55 +- 57 files changed, 7890 insertions(+), 6525 deletions(-) create mode 100644 extras/generic_images/old_vicidial/vdc_tab_vicidial.gif create mode 100644 extras/generic_images/old_vicidial/vicidial_admin_web_logo.gif create mode 100644 extras/generic_images/old_vicidial/vicidial_admin_web_logo_small.gif create mode 100644 extras/generic_images/old_vicidial/vtc_tab_vicidial.gif diff --git a/UPGRADE b/UPGRADE index e8705e31..1b451861 100644 --- a/UPGRADE +++ b/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/agi/agi-VDAD_RINGALL.agi b/agi/agi-VDAD_RINGALL.agi index 45b5470f..6a8748e3 100644 --- a/agi/agi-VDAD_RINGALL.agi +++ b/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/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql index 6e399af4..c8f91398 100644 --- a/extras/MySQL_AST_CREATE_tables.sql +++ b/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/extras/generic_images/old_vicidial/vdc_tab_vicidial.gif b/extras/generic_images/old_vicidial/vdc_tab_vicidial.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0274e278ce5c05b865e78ec3e2e707c009e3b3f GIT binary patch literal 1859 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 literal 0 HcmV?d00001 diff --git a/extras/generic_images/old_vicidial/vicidial_admin_web_logo_small.gif b/extras/generic_images/old_vicidial/vicidial_admin_web_logo_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..95738d4993772c4b98576b2ea0ad92d8872f9648 GIT binary patch literal 1011 zcmVAla~+vV)I(cs(T>$%I=kFLa;z}El& z{{dT(A^8LW002J#EC2ui07n28000L6z@KnPEEuUw&43308x|-K7$5?Ji4!AU_)u^F1pyZpE(CDlqt7-3dk$P1UdJ%Ehw^g!nBm~W zJCAomxQ++Ghk*$9P=pAuA;#*jxCS6OAz%*znG9%S7+7KvQC3M{%p%GVB3LlP22fp4 zfe#Oa_XB^`iNF8>5Fio%093CifKXw}@Z{4TK#50Q1Rij=g$W95;1B@)8Nd{01hDW- zg-MX|igZKhBnn4+FwlSqA;|)X11!G4RT&6K=Sl}P-nhaGDL{n)Zhc+w$_hm2WQaZZ zFaSd=*C6P?BOTPig$Eq~!_0&eFeVWS7Np?N4o(#j0Fgcr&_bB>1V95dKA^ee2|Q3( zzz1e1fEg|Y#N-1BAwXII0US8cr~rKyQ2;0d5s}nu$dEwIJ~ox=Kvlg7@Q4pA6z4+( zCtNw0016Ot164PLN`wk%Xn+$DBDkP|1|zuH00{~xkb_-3kf4D8zSMJo0t+b6K?Mec h5P=I9XpxKyHsD|oKnx_T-~a$5j8VnB^db=i06VT0p|t=2 literal 0 HcmV?d00001 diff --git a/extras/generic_images/old_vicidial/vtc_tab_vicidial.gif b/extras/generic_images/old_vicidial/vtc_tab_vicidial.gif new file mode 100644 index 0000000000000000000000000000000000000000..89234c9a26fae5b36752e5957085ec64c17098af GIT binary patch literal 1802 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 K+K%`mAOJhY@h9*A literal 1859 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 BGJXI6 literal 1802 zcmV+l2leJX-GGAL&GA}ED$AM9mVGj)n03Spj z9T^8GR4`suzwErb>bSn^yJ)Xr41ejE# ztgV?brGlrIWUaNSNG&#THZ4f5z^$-?Xqb94$jBg=WN87(3P67bX93k`0GStFFH7D_ zU4Ie^XXP^;!ReZ4f~b}hA%60HESNB1^L`pIe-Qb8=q!=31Eq!-F$D^Mx$;K{zIjem z330-Jg@IsX&M@c^uu=>`ni%B!A>`76e>*6lATaOCg-a<6GMPEE291Uz@+DAZARd+j ze{i%(;bIjGF7hH^0+~rczArZ}HOWU{fl8M0Tv~E)kS0x=ICZM(@WoGtG9U_qNwJCo zzA!-lFEPb*0873mmrUgIQRZsPmy`_D5#v>aVK8>W&fA$PjXV>7f`CzYWEBXOKlsV* zqp6JEc_t)OqVOPJJ-=B2lZi>QfCxArK1{eNB%c5pDc($#=J>Za05*g&P-XEUj!@(_oOqUuZtTBO5RG1Jb z4`ZK{;e#Jvpa;xn@)^fT1tW&FlN1#G&%xvl^~&kx>h;m#}*B2ArD*wp8TX$3;N-KCbnK;#%Cz%@Z4z`<4B1Y zHT(xhQN@A>fT9Crk^@U2T;zm2L-1f*)0j-b(sF-%rj)~+%s|yV1pLcxmy|eAG!q4g z5l+$tVo=r>ab02nK3o*lgFJj>VHW{aWCF1tTmS)tlUS&DXeS_4oX-O!N2+lL9vXe8 zC7MzaL0MrSeF*?LabN}+yb^Fg7G;HSxg`eVB=F!PtS+U4n~?sGJRD@wE?`2Gup^Hp z+&}>ZH!PF+A9DMFh3u3R5zh*|X*zl@N52V8b8w5I?XX%2V@@0;JAHok}bK z3YGE-SdKR^d1ygje;`8+Y=Z@KI6xi~x|bhxkOLw~U<&ENg1(3#4?*FKb}vGSCT;|! zOW>d&Ug6ON^AV9skU&{q&;kceMu4qlV+ZmGKqZ2pECTpI3+a+aq5hzQCw zNHBs5R%wL3WC8#uSfvV1fU(cnzzP$1!33"._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/www/vicidial/AST_timeonVDADallSUMMARY.php b/www/vicidial/AST_timeonVDADallSUMMARY.php index 65d9657f..3f097ebf 100644 --- a/www/vicidial/AST_timeonVDADallSUMMARY.php +++ b/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.="