From 97cf629d70ac72b11d75041e753c4c615580468e Mon Sep 17 00:00:00 2001 From: mattf Date: Sat, 15 Jun 2013 16:08:13 +0000 Subject: [PATCH] Added several security changes to the agent interface, including freezing a user's account for 15 minutes after 10 failed login attempts. Changed all of the admin scripts from using the PHP ereg functions to preg. This is a requirement for moving to PHP6 where ereg functions are depricated. This will also have the benefit of speeding up those scripts because preg is supposed to be more efficient and faster than ereg. Added recording_id to the available fields for the dispo call url feature Added pause code to the agent_status non-agent api function output git-svn-id: svn://192.168.202.10@1994 3d104415-ff17-0410-8863-d5cf3c621b8a --- UPGRADE | 7 + docs/NON-AGENT_API.txt | 7 +- extras/MySQL_AST_CREATE_tables.sql | 11 +- extras/upgrade_2.8.sql | 9 + www/agc/active_list_refresh.php | 53 +- www/agc/api.php | 19 +- www/agc/astguiclient.php | 18 +- www/agc/call_log_display.php | 19 +- www/agc/conf_exten_check.php | 48 +- www/agc/deactivate_lead.php | 15 +- www/agc/dispo_move_list.php | 17 +- www/agc/functions.php | 76 +- www/agc/inbound_popup.php | 22 +- www/agc/live_exten_check.php | 19 +- www/agc/manager_send.php | 66 +- www/agc/park_calls_display.php | 53 +- www/agc/phone_only.php | 21 +- www/agc/timeclock.php | 18 +- www/agc/vdc_db_query.php | 133 +- www/agc/vdc_email_display.php | 15 +- www/agc/vdc_form_display.php | 19 +- www/agc/vdc_script_display.php | 23 +- www/agc/vdc_script_dispo_example.php | 22 +- www/agc/vdc_script_notes.php | 22 +- www/agc/vicidial.php | 97 +- www/agc/voicemail_check.php | 17 +- www/vicidial/AST_CLOSER_service_level.php | 21 +- www/vicidial/AST_CLOSERstats.php | 27 +- www/vicidial/AST_CLOSERsummary_hourly.php | 71 +- www/vicidial/AST_DIDstats.php | 21 +- www/vicidial/AST_GROUP_ALIASstats.php | 23 +- www/vicidial/AST_IVRfilter.php | 5 +- www/vicidial/AST_IVRstats.php | 25 +- www/vicidial/AST_LISTS_campaign_stats.php | 132 +- www/vicidial/AST_LIST_UPDATEstats.php | 5 +- www/vicidial/AST_OUTBOUNDsummary_interval.php | 37 +- www/vicidial/AST_VDADstats.php | 51 +- www/vicidial/AST_VICIDIAL_hopperlist.php | 7 +- www/vicidial/AST_VICIDIAL_ingrouplist.php | 5 +- www/vicidial/AST_admin_template_maker.php | 22 +- www/vicidial/AST_agent_days_detail.php | 39 +- www/vicidial/AST_agent_disposition.php | 7 +- www/vicidial/AST_agent_performance.php | 7 +- www/vicidial/AST_agent_performance_detail.php | 59 +- www/vicidial/AST_agent_status_detail.php | 49 +- www/vicidial/AST_agent_time_detail.php | 49 +- www/vicidial/AST_agent_time_sheet.php | 13 +- www/vicidial/AST_agent_time_sheet_archive.php | 5 +- www/vicidial/AST_agent_timeclock_detail.php | 51 +- www/vicidial/AST_carrier_log_report.php | 17 +- www/vicidial/AST_dialer_inventory_report.php | 13 +- www/vicidial/AST_email_log_display.php | 9 +- www/vicidial/AST_email_log_report.php | 9 +- www/vicidial/AST_hangup_cause_report.php | 245 +- www/vicidial/AST_inboundEXTstats.php | 9 +- .../AST_inboundEXTstats_department.php | 7 +- www/vicidial/AST_inbound_daily_report.php | 13 +- www/vicidial/AST_parkstats.php | 7 +- www/vicidial/AST_server_performance.php | 5 +- www/vicidial/AST_team_performance_detail.php | 41 +- www/vicidial/AST_timeonVDAD.php | 53 +- www/vicidial/AST_timeonVDADall.php | 127 +- www/vicidial/AST_timeonVDADallREC.php | 43 +- www/vicidial/AST_timeonVDADallSUMMARY.php | 35 +- www/vicidial/AST_timeonpark.php | 7 +- www/vicidial/AST_usergroup_login_report.php | 17 +- www/vicidial/QM_live_monitor.php | 13 +- www/vicidial/admin.php | 6526 +++++++++-------- www/vicidial/admin_campaign_multi_alt.php | 29 +- www/vicidial/admin_email_accounts.php | 115 +- www/vicidial/admin_header.php | 9 +- www/vicidial/admin_listloader_fourth_gen.php | 305 +- www/vicidial/admin_listloader_third_gen.php | 221 +- www/vicidial/admin_lists_custom.php | 195 +- www/vicidial/admin_modify_lead.php | 65 +- www/vicidial/admin_phones_bulk_insert.php | 45 +- www/vicidial/admin_search_lead.php | 27 +- www/vicidial/audio_store.php | 25 +- www/vicidial/call_report_export.php | 43 +- www/vicidial/callbacks_bulk_change.php | 9 +- www/vicidial/callcard_admin.php | 59 +- www/vicidial/callcard_report_export.php | 9 +- www/vicidial/campaign_debug.php | 5 +- www/vicidial/closer-fronter_popup.php | 31 +- www/vicidial/closer-fronter_popup2.php | 21 +- www/vicidial/closer.php | 11 +- www/vicidial/closer_dispo.php | 7 +- www/vicidial/closer_popup.php | 29 +- www/vicidial/dbconnect.php | 23 +- www/vicidial/fcstats.php | 9 +- www/vicidial/group_hourly_stats.php | 11 +- www/vicidial/horizontalbargraph.css | 11 + www/vicidial/lead_report_export.php | 43 +- www/vicidial/lead_tools.php | 95 +- www/vicidial/leadloader_template_display.php | 18 +- www/vicidial/list_download.php | 9 +- www/vicidial/listloaderMAIN.php | 9 +- www/vicidial/non_agent_api.php | 456 +- www/vicidial/phone_stats.php | 11 +- www/vicidial/realtime_report.php | 25 +- www/vicidial/record_conf_1_hour.php | 7 +- www/vicidial/recording_lookup.php | 15 +- www/vicidial/recording_lookup_DIRECT.php | 15 +- www/vicidial/remote_dispo.php | 7 +- www/vicidial/send_CID_call.php | 15 +- www/vicidial/sph_report.php | 25 +- www/vicidial/timeclock_edit.php | 19 +- www/vicidial/timeclock_report.php | 17 +- www/vicidial/timeclock_status.php | 17 +- www/vicidial/user_group_bulk_change.php | 13 +- www/vicidial/user_stats.php | 53 +- www/vicidial/user_status.php | 9 +- www/vicidial/user_territories.php | 61 +- www/vicidial/vdremote.php | 17 +- www/vicidial/vicidial_sales_viewer.php | 9 +- www/vicidial/voice_lab.php | 5 +- www/vicidial/vtiger_phone_match.php | 7 +- www/vicidial/vtiger_search.php | 35 +- www/vicidial/vtiger_user.php | 9 +- .../xml_rpc_audio_server_vicidial.php | 19 +- 120 files changed, 5813 insertions(+), 5314 deletions(-) diff --git a/UPGRADE b/UPGRADE index bea1b464..53871b43 100644 --- a/UPGRADE +++ b/UPGRADE @@ -56,6 +56,13 @@ OTHER CHANGES: 1. Added outbound state call time holidays functionality. Only works if the "state" field is populated properly in your leads. +2. Added several security changes to the agent interface, including freezing a + user's account for 15 minutes after 10 failed login attempts. + +3. Changing all of the admin scripts from using the PHP ereg functions to preg. + This is a requirement for moving to PHP6 where ereg functions are + depricated. This will also have the benefit of speeding up those scripts + because preg is supposed to be more efficient and faster than ereg. diff --git a/docs/NON-AGENT_API.txt b/docs/NON-AGENT_API.txt index a7cf651f..a473e0d1 100644 --- a/docs/NON-AGENT_API.txt +++ b/docs/NON-AGENT_API.txt @@ -1,4 +1,4 @@ -NON-AGENT API DOCUMENT Started: 2008-07-24 Updated: 2013-04-20 +NON-AGENT API DOCUMENT Started: 2008-07-24 Updated: 2013-06-14 This document describes the functions of an API(Application Programming Interface) for all functions NOT directly relating to the VICIDIAL Agent screen. @@ -82,6 +82,7 @@ Changes: 130328-0949 - Added update_phone_number option to update_lead function 130405-1538 - Added agent_status function 130420-1938 - Added NANPA prefix validation and timezone options +130614-0907 - Added pause code to output of agent_status function API Functions use the 'function' variable @@ -422,8 +423,8 @@ ERROR: agent_status AGENT NOT FOUND - 6666|| ERROR: agent_status AGENT NOT LOGGED IN - 6666|| A SUCCESS response will not show "SUCCESS", but instead will just print the results in the following format: -status,call_id,lead_id,campaign_id,calls_today,full_name,user_group,user_level -INCALL,M4050908070000012345,12345,TESTCAMP,12,Test Agent,AGENTS,3 +status,call_id,lead_id,campaign_id,calls_today,full_name,user_group,user_level,pause_code +INCALL,M4050908070000012345,12345,TESTCAMP,1,Test Agent,AGENTS,3,LOGIN diff --git a/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql index 72e41875..bf16c5f9 100644 --- a/extras/MySQL_AST_CREATE_tables.sql +++ b/extras/MySQL_AST_CREATE_tables.sql @@ -603,7 +603,11 @@ modify_same_user_level ENUM('0','1') default '1', admin_hide_lead_data ENUM('0','1') default '0', admin_hide_phone_data ENUM('0','1','2_DIGITS','3_DIGITS','4_DIGITS') default '0', agentcall_email ENUM('0','1') default '0', -modify_email_accounts ENUM('0','1') default '0' +modify_email_accounts ENUM('0','1') default '0', +failed_login_count TINYINT(3) UNSIGNED default '0', +last_login_date DATETIME default '2001-01-01 00:00:01', +last_ip VARCHAR(15) default '', +pass_hash VARCHAR(200) default '' ); CREATE UNIQUE INDEX user ON vicidial_users (user); @@ -1511,7 +1515,8 @@ queuemetrics_socket VARCHAR(20) default 'NONE', queuemetrics_socket_url TEXT, enhanced_disconnect_logging ENUM('0','1') default '0', allow_emails ENUM('0','1') default '0', -level_8_disable_add ENUM('0','1') default '0' +level_8_disable_add ENUM('0','1') default '0', +pass_hash_enabled ENUM('0','1') default '0' ); CREATE TABLE vicidial_campaigns_list_mix ( @@ -3124,4 +3129,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='1350',db_schema_update_date=NOW(); +UPDATE system_settings SET db_schema_version='1351',db_schema_update_date=NOW(); diff --git a/extras/upgrade_2.8.sql b/extras/upgrade_2.8.sql index e03e4a03..b2514cfc 100644 --- a/extras/upgrade_2.8.sql +++ b/extras/upgrade_2.8.sql @@ -3,3 +3,12 @@ UPDATE system_settings SET db_schema_version='1349',version='2.8b0.5',db_schema_ ALTER TABLE vicidial_state_call_times ADD ct_holidays TEXT default ''; UPDATE system_settings SET db_schema_version='1350',db_schema_update_date=NOW() where db_schema_version < 1350; + +ALTER TABLE vicidial_users ADD failed_login_count TINYINT(3) UNSIGNED default '0'; +ALTER TABLE vicidial_users ADD last_login_date DATETIME default '2001-01-01 00:00:01'; +ALTER TABLE vicidial_users ADD last_ip VARCHAR(15) default ''; +ALTER TABLE vicidial_users ADD pass_hash VARCHAR(100) default ''; + +ALTER TABLE system_settings ADD pass_hash_enabled ENUM('0','1') default '0'; + +UPDATE system_settings SET db_schema_version='1351',db_schema_update_date=NOW() where db_schema_version < 1351; diff --git a/www/agc/active_list_refresh.php b/www/agc/active_list_refresh.php index c5f514dc..0deb5190 100644 --- a/www/agc/active_list_refresh.php +++ b/www/agc/active_list_refresh.php @@ -1,5 +1,5 @@ LICENSE: AGPLv2 # @@ -40,9 +40,11 @@ # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags # 130328-0029 - Converted ereg to preg functions -# +# 130603-2222 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes +# require("dbconnect.php"); +require("functions.php"); ### If you have globals turned off uncomment these lines if (isset($_GET["user"])) {$user=$_GET["user"];} @@ -83,22 +85,24 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=preg_replace("/[^0-9a-zA-Z]/","",$user); - $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); - $ADD=preg_replace("/[^0-9]/","",$ADD); - $order=preg_replace("/[^0-9a-zA-Z]/","",$order); - $format=preg_replace("/[^0-9a-zA-Z]/","",$format); - $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); - $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); - $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); - $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); - $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); - $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); - $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); - $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); - $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); - $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); - $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); +$ADD=preg_replace("/[^0-9]/","",$ADD); +$order=preg_replace("/[^0-9a-zA-Z]/","",$order); +$format=preg_replace("/[^0-9a-zA-Z]/","",$format); +$bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); +$txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); +$txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); +$selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); +$selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); +$selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); +$selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); +$selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); +$textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); +$textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); +$field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -119,16 +123,15 @@ $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; - exit; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; + exit; } else { diff --git a/www/agc/api.php b/www/agc/api.php index 811ffa05..6df4dcf3 100644 --- a/www/agc/api.php +++ b/www/agc/api.php @@ -65,14 +65,16 @@ # 121120-0855 - Added QM socket-send functionality # 121124-2354 - Added Other Campaign DNC option # 130328-0010 - Converted ereg to preg functions +# 130603-2221 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # -$version = '2.6-31'; -$build = '130328-0010'; +$version = '2.8-32'; +$build = '130603-2221'; $startMS = microtime(); require("dbconnect.php"); +require("functions.php"); $query_string = getenv("QUERY_STRING"); @@ -335,18 +337,23 @@ else } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access = '1';"; + $auth=0; + $auth_message = user_authorization($user,$pass,'',0); + if ($auth_message == 'GOOD') + {$auth=1;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and vdc_agent_api_access='1';"; if ($DB) {echo "|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - $auth=$row[0]; + $auth_api=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ($auth_api==0)) { $result = 'ERROR'; $result_reason = "Invalid Username/Password"; - echo "$result: $result_reason: |$user|$pass|$auth|\n"; + echo "$result: $result_reason: |$user|$pass|$auth|$auth_api|$auth_message|\n"; $data = "$user|$pass|$auth"; api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); exit; diff --git a/www/agc/astguiclient.php b/www/agc/astguiclient.php index 44a2a518..1b34504c 100644 --- a/www/agc/astguiclient.php +++ b/www/agc/astguiclient.php @@ -60,9 +60,11 @@ # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled # 130328-0017 - Converted ereg to preg functions +# 130603-2220 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # require("dbconnect.php"); +require("functions.php"); ### If you have globals turned off uncomment these lines if (isset($_GET["user"])) {$user=$_GET["user"];} @@ -116,14 +118,13 @@ if ($force_logout) $StarTtime = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); $FILE_TIME = date("Ymd-His"); - $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); - $past_month_date = date("Y-m-d H:i:s",$month_old); +$month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); +$past_month_date = date("Y-m-d H:i:s",$month_old); - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',1); +if ($auth_message == 'GOOD') + {$auth=1;} $US='_'; $CL=':'; @@ -178,12 +179,11 @@ if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) } else { - if($auth>0) { $office_no=strtoupper($user); $password=strtoupper($pass); - $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $LOGfullname=$row[0]; diff --git a/www/agc/call_log_display.php b/www/agc/call_log_display.php index 39965cf7..6adc9e0f 100644 --- a/www/agc/call_log_display.php +++ b/www/agc/call_log_display.php @@ -1,5 +1,5 @@ LICENSE: AGPLv2 # @@ -30,9 +30,11 @@ # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags # 130328-0028 - Converted ereg to preg functions +# 130603-2219 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # require("dbconnect.php"); +require("functions.php"); ### If you have globals turned off uncomment these lines if (isset($_GET["user"])) {$user=$_GET["user"];} @@ -52,6 +54,8 @@ if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} $user=preg_replace("/[^0-9a-zA-Z]/","",$user); $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -67,16 +71,15 @@ $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; - exit; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; + exit; } else { diff --git a/www/agc/conf_exten_check.php b/www/agc/conf_exten_check.php index dfe2c303..bfb46a0a 100644 --- a/www/agc/conf_exten_check.php +++ b/www/agc/conf_exten_check.php @@ -1,5 +1,5 @@ LICENSE: AGPLv2 # @@ -58,16 +58,18 @@ # 120809-2353 - Added external_recording function # 121028-2305 - Added extra check on session_name to validate agent screen requests # 130328-0011 - Converted ereg to preg functions +# 130603-2218 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # -$version = '2.6-33'; -$build = '130328-0011'; +$version = '2.8-34'; +$build = '130603-2218'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=39; $one_mysql_log=0; $DB=0; require("dbconnect.php"); +require("functions.php"); ### If you have globals turned off uncomment these lines if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -126,6 +128,9 @@ else $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); + # default optional vars if not set if (!isset($format)) {$format="text";} if (!isset($ACTION)) {$ACTION="refresh";} @@ -143,18 +148,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $random = (rand(1000000, 9999999) + 10000000); -$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; -if ($DB) {echo "|$stmt|\n";} -if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} -$rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03002',$user,$server_ip,$session_name,$one_mysql_log);} -$row=mysql_fetch_row($rslt); -$auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; - exit; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; + exit; } else { @@ -766,26 +768,4 @@ if ($format=='debug') exit; - -##### MySQL Error Logging ##### -function mysql_error_logging($NOW_TIME,$link,$mel,$stmt,$query_id,$user,$server_ip,$session_name,$one_mysql_log) -{ -$NOW_TIME = date("Y-m-d H:i:s"); -# mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log); -$errno=''; $error=''; -if ( ($mel > 0) or ($one_mysql_log > 0) ) - { - $errno = mysql_errno($link); - if ( ($errno > 0) or ($mel > 1) or ($one_mysql_log > 0) ) - { - $error = mysql_error($link); - $efp = fopen ("./vicidial_mysql_errors.txt", "a"); - fwrite ($efp, "$NOW_TIME|conf_check |$query_id|$errno|$error|$stmt|$user|$server_ip|$session_name|\n"); - fclose($efp); - } - } -$one_mysql_log=0; -return $errno; -} - ?> diff --git a/www/agc/deactivate_lead.php b/www/agc/deactivate_lead.php index bf2e5460..8eae0b12 100644 --- a/www/agc/deactivate_lead.php +++ b/www/agc/deactivate_lead.php @@ -25,6 +25,7 @@ # 100304-0354 - First Build # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled # 130328-0016 - Converted ereg to preg functions +# 130603-2217 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # $api_script = 'deactivate'; @@ -32,6 +33,7 @@ $api_script = 'deactivate'; header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); +require("functions.php"); $filedate = date("Ymd"); $filetime = date("H:i:s"); @@ -100,20 +102,17 @@ if (preg_match("/$TD$dispo$TD/",$sale_status)) $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; + $auth=0; + $auth_message = user_authorization($user,$pass,'',0); + if ($auth_message == 'GOOD') + {$auth=1;} if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; exit; } - $stmt = "SELECT $search_field FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} diff --git a/www/agc/dispo_move_list.php b/www/agc/dispo_move_list.php index eff149c4..31ef261a 100644 --- a/www/agc/dispo_move_list.php +++ b/www/agc/dispo_move_list.php @@ -32,6 +32,7 @@ # 111005-1102 - Added check and update for scheduled callback entry # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled # 130328-0015 - Converted ereg to preg functions +# 130603-2216 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # $api_script = 'deactivate'; @@ -39,6 +40,7 @@ $api_script = 'deactivate'; header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); +require("functions.php"); $filedate = date("Ymd"); $filetime = date("H:i:s"); @@ -141,12 +143,13 @@ if ($match_found > 0) $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; + $session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); + $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); + + $auth=0; + $auth_message = user_authorization($user,$pass,'',0); + if ($auth_message == 'GOOD') + {$auth=1;} $stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; if ($DB) {echo "|$stmt|\n";} @@ -156,7 +159,7 @@ if ($match_found > 0) if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ($authlive==0)) { - echo "Invalid Username/Password: |$user|$pass|$auth|$authlive\n"; + echo "Invalid Username/Password: |$user|$pass|$auth|$authlive|$auth_message|\n"; exit; } diff --git a/www/agc/functions.php b/www/agc/functions.php index e9ccc6a8..8ec78779 100644 --- a/www/agc/functions.php +++ b/www/agc/functions.php @@ -1,6 +1,6 @@ 0 and active='Y' and ( (failed_login_count < $LOCK_trigger_attempts) or (UNIX_TIMESTAMP(last_login_date) < $LOCK_over) );"; + if ($user_option == 'MGR') + {$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and manager_shift_enforcement_override='1' and active='Y' and ( (failed_login_count < $LOCK_trigger_attempts) or (UNIX_TIMESTAMP(last_login_date) < $LOCK_over) );";} + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'05009',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if ($auth < 1) + { + $auth_key='BAD'; + $stmt="SELECT failed_login_count,UNIX_TIMESTAMP(last_login_date) from vicidial_users where user='$user';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'05010',$user,$server_ip,$session_name,$one_mysql_log);} + $cl_user_ct = mysql_num_rows($rslt); + if ($cl_user_ct > 0) + { + $row=mysql_fetch_row($rslt); + $failed_login_count = $row[0]; + $last_login_date = $row[1]; + + if ($failed_login_count < $LOCK_trigger_attempts) + { + $stmt="UPDATE vicidial_users set failed_login_count=(failed_login_count+1),last_ip='$ip' where user='$user';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'05011',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + if ($LOCK_over > $last_login_date) + { + $stmt="UPDATE vicidial_users set last_login_date=NOW(),failed_login_count=1,last_ip='$ip' where user='$user';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'05012',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + {$auth_key='LOCK';} + } + } + } + else + { + if ($user_update > 0) + { + $stmt="UPDATE vicidial_users set last_login_date=NOW(),last_ip='$ip',failed_login_count=0 where user='$user';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'05013',$user,$server_ip,$session_name,$one_mysql_log);} + } + $auth_key='GOOD'; + } + return $auth_key; + } +##### END validate user login credentials, check for failed lock out ##### + + ##### BEGIN gather values for display of custom list fields for a lead ##### function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) { diff --git a/www/agc/inbound_popup.php b/www/agc/inbound_popup.php index a85c47a2..84fa912b 100644 --- a/www/agc/inbound_popup.php +++ b/www/agc/inbound_popup.php @@ -32,9 +32,11 @@ # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags # 130328-0025 - Converted ereg to preg functions +# 130603-2215 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # require("dbconnect.php"); +require("functions.php"); ### If you have globals turned off uncomment these lines if (isset($_GET["user"])) {$user=$_GET["user"];} @@ -66,6 +68,8 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = raw $user=preg_replace("/[^0-9a-zA-Z]/","",$user); $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -79,20 +83,18 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; - exit; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; diff --git a/www/agc/live_exten_check.php b/www/agc/live_exten_check.php index 4803719c..ccf5d226 100644 --- a/www/agc/live_exten_check.php +++ b/www/agc/live_exten_check.php @@ -1,5 +1,5 @@ LICENSE: AGPLv2 # @@ -31,9 +31,11 @@ # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags # 130328-0027 - Converted ereg to preg functions +# 130603-2214 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # require("dbconnect.php"); +require("functions.php"); ### If you have globals turned off uncomment these lines if (isset($_GET["user"])) {$user=$_GET["user"];} @@ -57,6 +59,8 @@ if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"]; $user=preg_replace("/[^0-9a-zA-Z]/","",$user); $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -68,16 +72,15 @@ $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; - exit; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; + exit; } else { diff --git a/www/agc/manager_send.php b/www/agc/manager_send.php index ac937500..9f667e05 100644 --- a/www/agc/manager_send.php +++ b/www/agc/manager_send.php @@ -1,5 +1,5 @@ LICENSE: AGPLv2 # @@ -114,15 +114,17 @@ # 121120-0848 - Added QM socket-send functionality # 130108-1641 - Change for Asterisk 1.8 compatibility # 130328-0008 - Converted ereg to preg functions +# 130603-2205 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # -$version = '2.6-61'; -$build = '130328-0008'; +$version = '2.8-62'; +$build = '130603-2205'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); +require("functions.php"); ### These are variable assignments for PHP globals off if (isset($_GET["user"])) {$user=$_GET["user"];} @@ -223,7 +225,7 @@ header ("Pragma: no-cache"); // HTTP/1.0 ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin FROM system_settings;"; +$stmt = "SELECT use_non_latin,allow_sipsak_messages FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -231,7 +233,8 @@ $qm_conf_ct = mysql_num_rows($rslt); if ($qm_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $non_latin = $row[0]; + $non_latin = $row[0]; + $allow_sipsak_messages = $row[1]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -248,6 +251,8 @@ else $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); # default optional vars if not set if (!isset($ACTION)) {$ACTION="Originate";} @@ -260,18 +265,15 @@ $NOW_TIME = date("Y-m-d H:i:s"); $NOWnum = date("YmdHis"); if (!isset($query_date)) {$query_date = $NOW_DATE;} -$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; -if ($DB) {echo "|$stmt|\n";} -if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} -$rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02002',$user,$server_ip,$session_name,$one_mysql_log);} -$row=mysql_fetch_row($rslt); -$auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; - exit; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; + exit; } else { @@ -425,10 +427,13 @@ if ($ACTION=="OriginateVDRelogin") $CIDdate = date("ymdHis"); $DS='-'; $SIPSAK_prefix = 'LIN-'; - print "\n"; + $campaign = preg_replace("/\'|\"|\\\\|;/","",$campaign); + $extension = preg_replace("/\'|\"|\\\\|;/","",$extension); + $phone_ip = preg_replace("/\'|\"|\\\\|;/","",$phone_ip); + + print "\n"; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; - } $ACTION="Originate"; } @@ -2115,14 +2120,6 @@ if ($ACTION=="VolumeControl") - - - - - - - - $ENDtime = date("U"); $RUNtime = ($ENDtime - $StarTtime); if ($format=='debug') {echo "\n";} @@ -2131,25 +2128,4 @@ if ($format=='debug') {echo "\n\n\n";} exit; -##### MySQL Error Logging ##### -function mysql_error_logging($NOW_TIME,$link,$mel,$stmt,$query_id,$user,$server_ip,$session_name,$one_mysql_log) - { - $NOW_TIME = date("Y-m-d H:i:s"); - # mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02001',$user,$server_ip,$session_name,$one_mysql_log); - $errno=''; $error=''; - if ( ($mel > 0) or ($one_mysql_log > 0) ) - { - $errno = mysql_errno($link); - if ( ($errno > 0) or ($mel > 1) or ($one_mysql_log > 0) ) - { - $error = mysql_error($link); - $efp = fopen ("./vicidial_mysql_errors.txt", "a"); - fwrite ($efp, "$NOW_TIME|manager_send|$query_id|$errno|$error|$stmt|$user|$server_ip|$session_name|\n"); - fclose($efp); - } - } - $one_mysql_log=0; - return $errno; - } - ?> diff --git a/www/agc/park_calls_display.php b/www/agc/park_calls_display.php index 927eae14..a6beb19d 100644 --- a/www/agc/park_calls_display.php +++ b/www/agc/park_calls_display.php @@ -24,9 +24,11 @@ # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags # 130328-0024 - Converted ereg to preg functions +# 130603-2213 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # require("dbconnect.php"); +require("functions.php"); ### If you have globals turned off uncomment these lines if (isset($_GET["user"])) {$user=$_GET["user"];} @@ -46,6 +48,8 @@ if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} $user=preg_replace("/[^0-9a-zA-Z]/","",$user); $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -58,21 +62,20 @@ $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; - exit; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; + exit; } - else +else { - - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; exit; } @@ -96,30 +99,30 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Parked Calls Display"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Parked Calls Display"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten is not valid or protocol $protocol is not valid\n"; exit; } - else +else { ##### print parked calls from the parked_channels table $stmt="SELECT channel,server_ip,channel_group,extension,parked_by,parked_time from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; - if ($format=='debug') {echo "\n";} + if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); $park_calls_count = mysql_num_rows($rslt); echo "$park_calls_count\n"; diff --git a/www/agc/phone_only.php b/www/agc/phone_only.php index 987e2c79..884a5fa7 100644 --- a/www/agc/phone_only.php +++ b/www/agc/phone_only.php @@ -9,10 +9,11 @@ # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled # 130123-1923 - Added ability to use user-login-first options.php option # 130328-0005 - Converted ereg to preg functions +# 130603-2212 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # -$version = '2.6-5p'; -$build = '130328-0005'; +$version = '2.8-6p'; +$build = '130603-2212'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=73; $one_mysql_log=0; @@ -172,7 +173,7 @@ echo "\n"; echo "\n"; -$stmt="SELECT user_group from vicidial_users where user='$VD_login' and pass='$VD_pass';"; +$stmt="SELECT user_group from vicidial_users where user='$VD_login';"; if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09002',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -250,7 +251,7 @@ if ($user_login_first == 1) { if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) { - $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -333,12 +334,10 @@ else } else { - $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09003',$VD_login,$server_ip,$session_name,$one_mysql_log);} - $row=mysql_fetch_row($rslt); - $auth=$row[0]; + $auth=0; + $auth_message = user_authorization($user,$pass,'',1); + if ($auth_message == 'GOOD') + {$auth=1;} if($auth>0) { @@ -384,6 +383,8 @@ else } $VDloginDISPLAY=1; $VDdisplayMESSAGE = "Login incorrect, please try again
"; + if ($auth_message == 'LOCK') + {$VDdisplayMESSAGE = "Too many login attempts, try again in 15 minutes
";} } } if ($VDloginDISPLAY) diff --git a/www/agc/timeclock.php b/www/agc/timeclock.php index 57a5dc20..63170715 100644 --- a/www/agc/timeclock.php +++ b/www/agc/timeclock.php @@ -11,10 +11,11 @@ # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable # 130328-0021 - Converted ereg to preg functions +# 130603-2211 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # -$version = '2.6-7'; -$build = '130328-0021'; +$version = '2.8-8'; +$build = '130603-2211'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -86,6 +87,7 @@ if (!isset($phone_pass)) $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); +require("functions.php"); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### @@ -113,11 +115,11 @@ header ("Pragma: no-cache"); // HTTP/1.0 if ( ($stage == 'login') or ($stage == 'logout') ) { ### see if user/pass exist for this user in vicidial_users table - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $valid_user=$row[0]; + $valid_user=0; + $auth_message = user_authorization($user,$pass,'',1); + if ($auth_message == 'GOOD') + {$valid_user=1;} + print "\n"; if ($valid_user < 1) @@ -162,7 +164,7 @@ if ( ($stage == 'login') or ($stage == 'logout') ) ### VALID USER/PASS, CONTINUE ### get name and group for this user - $stmt="SELECT full_name,user_group from vicidial_users where user='$user' and pass='$pass';"; + $stmt="SELECT full_name,user_group from vicidial_users where user='$user' and pass='$pass' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); diff --git a/www/agc/vdc_db_query.php b/www/agc/vdc_db_query.php index 70b9763d..8339507f 100644 --- a/www/agc/vdc_db_query.php +++ b/www/agc/vdc_db_query.php @@ -329,10 +329,12 @@ # 130412-1348 - Added SIP cause code display on failed calls # 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # 130508-2221 - Cleanup for other language builds +# 130603-2207 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes +# 130615-1126 - Added recording_id to dispo url # -$version = '2.6-227'; -$build = '130508-2221'; +$version = '2.8-229'; +$build = '130615-1126'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=533; $one_mysql_log=0; @@ -561,6 +563,8 @@ if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} +if (isset($_GET["recording_id"])) {$recording_id=$_GET["recording_id"];} + elseif (isset($_POST["recording_id"])) {$recording_id=$_POST["recording_id"];} header ("Content-type: text/html; charset=utf-8"); @@ -785,17 +789,14 @@ if ($ACTION == 'LogiNCamPaigns') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00002',$user,$server_ip,$session_name,$one_mysql_log);} - $row=mysql_fetch_row($rslt); - $auth=$row[0]; + $auth=0; + $auth_message = user_authorization($user,$pass,'',0); + if ($auth_message == 'GOOD') + {$auth=1;} if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; exit; } else @@ -854,63 +855,74 @@ if ($ACTION == 'LogiNCamPaigns') } else { - $stmt="SELECT user_group,user_level,agent_shift_enforcement_override,shift_override_flag from vicidial_users where user='$user' and pass='$pass'"; + $stmt="SELECT user_group,user_level,agent_shift_enforcement_override,shift_override_flag from vicidial_users where user='$user';"; if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00004',$user,$server_ip,$session_name,$one_mysql_log);} - $row=mysql_fetch_row($rslt); - $VU_user_group = $row[0]; - $VU_user_level = $row[1]; - $VU_agent_shift_enforcement_override = $row[2]; - $VU_shift_override_flag = $row[3]; - - $LOGallowed_campaignsSQL=''; - - $stmt="SELECT allowed_campaigns,forced_timeclock_login,shift_enforcement,group_shifts from vicidial_user_groups where user_group='$VU_user_group';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00005',$user,$server_ip,$session_name,$one_mysql_log);} - $row=mysql_fetch_row($rslt); - $forced_timeclock_login = $row[1]; - $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); - $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); - $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) + $cl_user_ct = mysql_num_rows($rslt); + if ($cl_user_ct > 0) { - $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); - $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; - } + $row=mysql_fetch_row($rslt); + $VU_user_group = $row[0]; + $VU_user_level = $row[1]; + $VU_agent_shift_enforcement_override = $row[2]; + $VU_shift_override_flag = $row[3]; - $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) - { - $last_agent_event=''; - $HHMM = date("Hi"); - $HHteod = substr($timeclock_end_of_day,0,2); - $MMteod = substr($timeclock_end_of_day,2,2); + $LOGallowed_campaignsSQL=''; - if ($HHMM < $timeclock_end_of_day) - {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d")-1, date("Y"));} - else - {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d"), date("Y"));} - - $EoDdate = date("Y-m-d H:i:s", $EoD); - - ##### grab timeclock logged-in time for each user ##### - $stmt="SELECT event from vicidial_timeclock_log where user='$user' and event_epoch >= '$EoD' order by timeclock_id desc limit 1;"; - if ($DB>0) {echo "|$stmt|";} + $stmt="SELECT allowed_campaigns,forced_timeclock_login,shift_enforcement,group_shifts from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00184',$user,$server_ip,$session_name,$one_mysql_log);} - $events_to_parse = mysql_num_rows($rslt); - if ($events_to_parse > 0) + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00005',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $forced_timeclock_login = $row[1]; + $shift_enforcement = $row[2]; + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $rowx=mysql_fetch_row($rslt); - $last_agent_event = $rowx[0]; + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } - if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) - {$show_campaign_list=0;} + + $show_campaign_list=1; + ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + { + $last_agent_event=''; + $HHMM = date("Hi"); + $HHteod = substr($timeclock_end_of_day,0,2); + $MMteod = substr($timeclock_end_of_day,2,2); + + if ($HHMM < $timeclock_end_of_day) + {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d")-1, date("Y"));} + else + {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d"), date("Y"));} + + $EoDdate = date("Y-m-d H:i:s", $EoD); + + ##### grab timeclock logged-in time for each user ##### + $stmt="SELECT event from vicidial_timeclock_log where user='$user' and event_epoch >= '$EoD' order by timeclock_id desc limit 1;"; + if ($DB>0) {echo "|$stmt|";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00184',$user,$server_ip,$session_name,$one_mysql_log);} + $events_to_parse = mysql_num_rows($rslt); + if ($events_to_parse > 0) + { + $rowx=mysql_fetch_row($rslt); + $last_agent_event = $rowx[0]; + } + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) + {$show_campaign_list=0;} + } + } + else + { + echo "\n"; + exit; } } @@ -7989,6 +8001,8 @@ if ($ACTION == 'userLOGout') ########################################### if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { + $extension = preg_replace("/\'|\"|\\\\|;/","",$extension); + $phone_ip = preg_replace("/\'|\"|\\\\|;/","",$phone_ip); $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); } @@ -9455,6 +9469,7 @@ if ($ACTION == 'updateDISPO') $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--recording_id--B--/i',"$recording_id",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -10094,6 +10109,8 @@ if ($ACTION == 'PauseCodeSubmit') ########################################### if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { + $extension = preg_replace("/\'|\"|\\\\|;/","",$extension); + $phone_ip = preg_replace("/\'|\"|\\\\|;/","",$phone_ip); $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); } diff --git a/www/agc/vdc_email_display.php b/www/agc/vdc_email_display.php index fc578adf..85880a6b 100644 --- a/www/agc/vdc_email_display.php +++ b/www/agc/vdc_email_display.php @@ -13,6 +13,7 @@ # 121214-2300 - First Build # 130127-0027 - Better non-latin characters support # 130328-0007 - Converted ereg to preg functions +# 130603-2210 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # require("dbconnect.php"); @@ -130,14 +131,12 @@ if (!isset($format)) {$format="text";} if (!isset($ACTION)) {$ACTION="refresh";} if (!isset($query_date)) {$query_date = $NOW_DATE;} -$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; -if ($DB) {echo "|$stmt|\n";} -if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} -$rslt=mysql_query($stmt, $link); -$row=mysql_fetch_row($rslt); -$auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} -$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +$stmt="SELECT count(*) from vicidial_users where user='$user' and modify_leads='1';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -151,7 +150,7 @@ $LVAactive=$row[0]; $LVAactive=9; if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) { - echo "Invalid Username/Password: |$user|$pass|\n"; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; echo "
\n"; echo "\n"; echo "
\n"; diff --git a/www/agc/vdc_form_display.php b/www/agc/vdc_form_display.php index 444f62ef..8edd0436 100644 --- a/www/agc/vdc_form_display.php +++ b/www/agc/vdc_form_display.php @@ -18,10 +18,11 @@ # 120315-1729 - Filtere out single quotes and backslashes from custom fields # 130328-0012 - Converted ereg to preg functions # 130402-2256 - Added user_group variable +# 130603-2204 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # -$version = '2.6-10'; -$build = '130402-2256'; +$version = '2.8-11'; +$build = '130603-2204'; require("dbconnect.php"); require_once("functions.php"); @@ -212,14 +213,12 @@ if (!isset($format)) {$format="text";} if (!isset($ACTION)) {$ACTION="refresh";} if (!isset($query_date)) {$query_date = $NOW_DATE;} -$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; -if ($DB) {echo "|$stmt|\n";} -if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} -$rslt=mysql_query($stmt, $link); -$row=mysql_fetch_row($rslt); -$auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} -$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +$stmt="SELECT count(*) from vicidial_users where user='$user' and modify_leads='1';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -242,7 +241,7 @@ if ($custom_fields_enabled < 1) if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) and ($VUmodify < 1) ) ) { - echo "Invalid Username/Password: |$user|$pass|\n"; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; echo "
\n"; echo "\n"; echo "
\n"; diff --git a/www/agc/vdc_script_display.php b/www/agc/vdc_script_display.php index 3a970d21..3b82ae5b 100644 --- a/www/agc/vdc_script_display.php +++ b/www/agc/vdc_script_display.php @@ -19,13 +19,14 @@ # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll # 130328-0013 - Converted ereg to preg functions # 130402-2255 - Added user_group variable +# 130603-2206 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # -$version = '2.6-13'; -$build = '130402-2255'; +$version = '2.8-14'; +$build = '130603-2206'; require("dbconnect.php"); - +require("functions.php"); if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} @@ -251,22 +252,16 @@ if (!isset($format)) {$format="text";} if (!isset($ACTION)) {$ACTION="refresh";} if (!isset($query_date)) {$query_date = $NOW_DATE;} -$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; -if ($DB) {echo "|$stmt|\n";} -if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} -$rslt=mysql_query($stmt, $link); -$row=mysql_fetch_row($rslt); -$auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; exit; } -else - { - # do nothing for now - } if ($format=='debug') { diff --git a/www/agc/vdc_script_dispo_example.php b/www/agc/vdc_script_dispo_example.php index 9d387100..5954462c 100644 --- a/www/agc/vdc_script_dispo_example.php +++ b/www/agc/vdc_script_dispo_example.php @@ -15,12 +15,14 @@ # 110208-1239 - First build of script based upon vdc_script_notes.php # 110221-1252 - Added missing variables, accounted for call notes on manual dial calls # 130328-0019 - Converted ereg to preg functions +# 130603-2201 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # -$version = '2.6-3'; -$build = '130328-0019'; +$version = '2.8-4'; +$build = '130603-2201'; require("dbconnect.php"); +require("functions.php"); # Configuration settings- @@ -330,22 +332,16 @@ if (!isset($format)) {$format="text";} if (!isset($ACTION)) {$ACTION="refresh";} if (!isset($query_date)) {$query_date = $NOW_DATE;} -$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; -if ($DB) {echo "|$stmt|\n";} -if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} -$rslt=mysql_query($stmt, $link); -$row=mysql_fetch_row($rslt); -$auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; exit; } -else - { - # do nothing for now - } echo "\n"; echo "\n"; diff --git a/www/agc/vdc_script_notes.php b/www/agc/vdc_script_notes.php index 4992981d..5f66d683 100644 --- a/www/agc/vdc_script_notes.php +++ b/www/agc/vdc_script_notes.php @@ -13,12 +13,14 @@ # 100215-0744 - First build of script # 100622-2230 - Added field labels # 130328-0020 - Converted ereg to preg functions +# 130603-2203 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # -$version = '2.6-3'; -$build = '130328-0020'; +$version = '2.8-4'; +$build = '130603-2203'; require("dbconnect.php"); +require("functions.php"); if (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} @@ -298,22 +300,16 @@ if (!isset($format)) {$format="text";} if (!isset($ACTION)) {$ACTION="refresh";} if (!isset($query_date)) {$query_date = $NOW_DATE;} -$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; -if ($DB) {echo "|$stmt|\n";} -if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} -$rslt=mysql_query($stmt, $link); -$row=mysql_fetch_row($rslt); -$auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; exit; } -else - { - # do nothing for now - } echo "\n"; echo "\n"; diff --git a/www/agc/vicidial.php b/www/agc/vicidial.php index 775966cf..90ede4a2 100644 --- a/www/agc/vicidial.php +++ b/www/agc/vicidial.php @@ -402,10 +402,12 @@ # 130417-1937 - Changed locked agent choose in-group/closer/territories to auto-close # 130508-2223 - Cleanup for other language builds # 130508-2307 - Branched 2.7, trunk becomes 2.8 +# 130603-2209 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes +# 130615-1125 - Added recording_id to dispo url # -$version = '2.8-371c'; -$build = '130508-2307'; +$version = '2.8-373c'; +$build = '130615-1125'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=79; $one_mysql_log=0; @@ -667,22 +669,32 @@ if ($campaign_login_list > 0) $LOGallowed_campaignsSQL=''; if ($relogin == 'YES') { - $stmt="SELECT user_group from vicidial_users where user='$VD_login' and pass='$VD_pass';"; + $stmt="SELECT user_group from vicidial_users where user='$VD_login' and active='Y';"; if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01002',$VD_login,$server_ip,$session_name,$one_mysql_log);} - $row=mysql_fetch_row($rslt); - $VU_user_group=$row[0]; - - $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01003',$VD_login,$server_ip,$session_name,$one_mysql_log);} - $row=mysql_fetch_row($rslt); - if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) + $cl_user_ct = mysql_num_rows($rslt); + if ($cl_user_ct > 0) { - $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); - $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; + $row=mysql_fetch_row($rslt); + $VU_user_group=$row[0]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01003',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) + { + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; + } + } + else + { + echo "\n"; } } @@ -694,12 +706,13 @@ if ($campaign_login_list > 0) if (isset($_GET["MGR_pass$loginDATE"])) {$MGR_pass=$_GET["MGR_pass$loginDATE"];} elseif (isset($_POST["MGR_pass$loginDATE"])) {$MGR_pass=$_POST["MGR_pass$loginDATE"];} - $stmt="SELECT count(*) from vicidial_users where user='$MGR_login' and pass='$MGR_pass' and manager_shift_enforcement_override='1' and active='Y';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01058',$VD_login,$server_ip,$session_name,$one_mysql_log);} - $row=mysql_fetch_row($rslt); - $MGR_auth=$row[0]; + $MGR_login = preg_replace("/\'|\"|\\\\|;/","",$MGR_login); + $MGR_pass = preg_replace("/\'|\"|\\\\|;/","",$MGR_pass); + + $MGR_auth=0; + $auth_message = user_authorization($MGR_login,$MGR_pass,'MGR',0); + if ($auth_message == 'GOOD') + {$MGR_auth=1;} if($MGR_auth>0) { @@ -947,7 +960,7 @@ if ($user_login_first == 1) { if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) { - $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and user_level > 0 and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01005',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -1041,19 +1054,17 @@ else } else { - $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01006',$VD_login,$server_ip,$session_name,$one_mysql_log);} - $row=mysql_fetch_row($rslt); - $auth=$row[0]; + $auth=0; + $auth_message = user_authorization($VD_login,$VD_pass,'',1); + if ($auth_message == 'GOOD') + {$auth=1;} if($auth>0) { $login=strtoupper($VD_login); $password=strtoupper($VD_pass); - ##### grab the full name of the agent - $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override,alter_custphone_override,alert_enabled,agent_shift_enforcement_override,shift_override_flag,allow_alerts,closer_campaigns,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,agent_call_log_view_override,agent_choose_blended,agent_lead_search_override,preset_contact_search from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + ##### grab the full name and other settings of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override,alter_custphone_override,alert_enabled,agent_shift_enforcement_override,shift_override_flag,allow_alerts,closer_campaigns,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,agent_call_log_view_override,agent_choose_blended,agent_lead_search_override,preset_contact_search from vicidial_users where user='$VD_login' and pass='$VD_pass' and active='Y';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01007',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -1962,7 +1973,10 @@ else fclose($fp); } $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Login incorrect, please try again
"; + if ($auth_message == 'LOCK') + {$VDdisplayMESSAGE = "Too many login attempts, try again in 15 minutes
";} } } if ($VDloginDISPLAY) @@ -2540,6 +2554,8 @@ else if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { + $extension = preg_replace("/\'|\"|\\\\|;/","",$extension); + $phone_ip = preg_replace("/\'|\"|\\\\|;/","",$phone_ip); $SIPSAK_prefix = 'LIN-'; echo "\n"; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -10296,6 +10312,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; + var VDDCU_recording_id=document.getElementById("RecorDID").innerHTML; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; document.vicidial_form.xferchannel.value = ''; @@ -10341,7 +10358,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled +"&recording_id="+VDDCU_recording_id; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -10889,6 +10906,26 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { + // Added to get email counts so inbound emails will come in - this is normally done in CloserSelectContent_select, which is bypassed if agents aren't allowed to select ingroups + var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; + incomingEMAILS = 0; + while (loop_ct < INgroupCOUNT) + { + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } + loop_ct++; + } + VU_agent_choose_ingroups_DV = "MGRLOCK"; var live_CSC_HTML = "Manager has selected groups for you
"; document.vicidial_form.CloserSelectList.value = ''; diff --git a/www/agc/voicemail_check.php b/www/agc/voicemail_check.php index 37181747..ea855048 100644 --- a/www/agc/voicemail_check.php +++ b/www/agc/voicemail_check.php @@ -1,5 +1,5 @@ LICENSE: AGPLv2 # @@ -24,9 +24,11 @@ # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags # 130328-0025 - Converted ereg to preg functions +# 130603-2202 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # require("dbconnect.php"); +require("functions.php"); ### If you have globals turned off uncomment these lines if (isset($_GET["user"])) {$user=$_GET["user"];} @@ -44,6 +46,8 @@ if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} $user=preg_replace("/[^0-9a-zA-Z]/","",$user); $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -55,15 +59,14 @@ $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} -$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; -if ($DB) {echo "|$stmt|\n";} -$rslt=mysql_query($stmt, $link); -$row=mysql_fetch_row($rslt); -$auth=$row[0]; +$auth=0; +$auth_message = user_authorization($user,$pass,'',0); +if ($auth_message == 'GOOD') + {$auth=1;} if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalid Username/Password: |$user|$pass|\n"; + echo "Invalid Username/Password: |$user|$pass|$auth_message|\n"; exit; } else diff --git a/www/vicidial/AST_CLOSER_service_level.php b/www/vicidial/AST_CLOSER_service_level.php index 31ee1851..8e0a0ad3 100644 --- a/www/vicidial/AST_CLOSER_service_level.php +++ b/www/vicidial/AST_CLOSER_service_level.php @@ -21,6 +21,7 @@ # 111103-2300 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs # 130414-0104 - Added report logging +# 130610-1024 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -47,8 +48,8 @@ if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_display_type"];} elseif (isset($_POST["report_display_type"])) {$report_display_type=$_POST["report_display_type"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); if (strlen($shift)<2) {$shift='ALL';} @@ -147,7 +148,7 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL $LOGadmin_viewable_groupsSQL=''; $whereLOGadmin_viewable_groupsSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) { $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); @@ -157,7 +158,7 @@ if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewabl $LOGadmin_viewable_call_timesSQL=''; $whereLOGadmin_viewable_call_timesSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) { $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times); $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL); @@ -554,7 +555,7 @@ while ($j < $TOTintervals) $totCALLSdate[$dtt]++; if ($totCALLSmax < $ls[$i]) {$totCALLSmax = $ls[$i];} if ($qrtCALLSmax[$j] < $ls[$i]) {$qrtCALLSmax[$j] = $ls[$i];} - if (ereg('DROP',$st[$i])) + if (preg_match('/DROP/',$st[$i])) { $totDROPS++; $totDROPSsec = ($totDROPSsec + $ls[$i]); @@ -1091,9 +1092,9 @@ if ($totQUEUEsec > 0) else {$totQUEUEavgRAW = 0;} $totQUEUEavg = sprintf("%5s", $totQUEUEavg); - while (strlen($totQUEUEavg)>5) {$totQUEUEavg = ereg_replace(".$",'',$totQUEUEavg);} + while (strlen($totQUEUEavg)>5) {$totQUEUEavg = preg_replace('/.$/', '', $totQUEUEavg);} $totQUEUEmax = sprintf("%5s", $totQUEUEmax); - while (strlen($totQUEUEmax)>5) {$totQUEUEmax = ereg_replace(".$",'',$totQUEUEmax);} + while (strlen($totQUEUEmax)>5) {$totQUEUEmax = preg_replace('/.$/', '', $totQUEUEmax);} $totDROPS = sprintf("%5s", $totDROPS); $totCALLS = sprintf("%5s", $totCALLS); @@ -1188,7 +1189,7 @@ while ($h < $TOTintervals) else {$Phd120[$h]=0;} if ($hd121[$h] > 0) {$Phd121[$h] = round( ( ($hd121[$h] / $qrtCALLS[$h]) * 100) );} else {$Phd121[$h]=0;} - while (strlen($qrtQUEUEavg[$h])>4) {$qrtQUEUEavg[$h] = ereg_replace(".$",'',$qrtQUEUEavg[$h]);} + while (strlen($qrtQUEUEavg[$h])>4) {$qrtQUEUEavg[$h] = preg_replace('/.$/', '', $qrtQUEUEavg[$h]);} $hd__0[$h] = sprintf("%4s", $hd__0[$h]); $hd_20[$h] = sprintf("%4s", $hd_20[$h]); $hd_40[$h] = sprintf("%4s", $hd_40[$h]); @@ -1245,7 +1246,7 @@ while ($h < $TOTintervals) } $Aavg_hold[$h] = sprintf("%4s", $Aavg_hold[$h]); - while (strlen($Aavg_hold[$h])>4) {$Aavg_hold[$h] = ereg_replace("^.",'',$Aavg_hold[$h]);} + while (strlen($Aavg_hold[$h])>4) {$Aavg_hold[$h] = preg_replace('/^./', '', $Aavg_hold[$h]);} $MAIN.="|$HMdisplay[$h]| $qrtCALLS[$h] | $Phd__0[$h] $Phd_20[$h] $Phd_40[$h] $Phd_60[$h] $Phd_80[$h] $Phd100[$h] $Phd120[$h] $Phd121[$h] | | $Aavg_hold[$h] |$qrtQUEUEavg_scale[$h]|\n"; $CSV_text.="\"$HMdisplay[$h]\",\"$qrtCALLS[$h]\",\"$Phd__0[$h]\",\"$Phd_20[$h]\",\"$Phd_40[$h]\",\"$Phd_60[$h]\",\"$Phd_80[$h]\",\"$Phd100[$h]\",\"$Phd120[$h]\",\"$Phd121[$h]\",\"$Aavg_hold[$h]\"\n"; @@ -1271,7 +1272,7 @@ $APhd100 = sprintf("%4s", $APhd100); $APhd120 = sprintf("%4s", $APhd120); $APhd121 = sprintf("%4s", $APhd121); - while (strlen($totQUEUEavg)>4) {$totQUEUEavg = ereg_replace(".$",'',$totQUEUEavg);} + while (strlen($totQUEUEavg)>4) {$totQUEUEavg = preg_replace('/.$/', '', $totQUEUEavg);} $MAIN.="+-------------+-------+-----------------------------------------+ +------+--------------------------------+\n"; $MAIN.="| TOTAL | $ALLcalls | $APhd__0 $APhd_20 $APhd_40 $APhd_60 $APhd_80 $APhd100 $APhd120 $APhd121 | | $totQUEUEavg |\n"; diff --git a/www/vicidial/AST_CLOSERstats.php b/www/vicidial/AST_CLOSERstats.php index 5d3748f7..693e5672 100644 --- a/www/vicidial/AST_CLOSERstats.php +++ b/www/vicidial/AST_CLOSERstats.php @@ -37,6 +37,7 @@ # 120730-0724 - Small fix for HTML output # 130124-1719 - Added email report support # 130414-1429 - Added report logging +# 130610-1023 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -70,8 +71,8 @@ if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_display_type"];} elseif (isset($_POST["report_display_type"])) {$report_display_type=$_POST["report_display_type"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); $MT[0]='0'; if (strlen($shift)<2) {$shift='ALL';} @@ -157,7 +158,7 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL $LOGadmin_viewable_groupsSQL=''; $whereLOGadmin_viewable_groupsSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) { $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); @@ -167,7 +168,7 @@ if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewabl $LOGadmin_viewable_call_timesSQL=''; $whereLOGadmin_viewable_call_timesSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) { $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times); $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL); @@ -223,14 +224,14 @@ while($i < $group_ct) } $i++; } -if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) +if ( (preg_match('/\s\-\-NONE\-\-\s/',$group_string) ) or ($group_ct < 1) ) { $group_SQL = "''"; # $group_SQL = "group_id IN('')"; } else { - $group_SQL = eregi_replace(",$",'',$group_SQL); + $group_SQL = preg_replace('/,$/i', '',$group_SQL); # $group_SQL = "group_id IN($group_SQL)"; } if (strlen($group_SQL)<3) {$group_SQL="''";} @@ -361,7 +362,7 @@ $MAIN.="\n"; $o=0; while ($groups_to_print > $o) { - if (ereg("\|$groups[$o]\|",$group_string)) + if (preg_match("/\|$groups[$o]\|/",$group_string)) {$MAIN.="\n";} else {$MAIN.="\n";} @@ -610,7 +611,7 @@ else $totCALLS = ($totCALLS + $stat_count); $stat_pattern = sprintf("%-18s", $stat_pattern); $stat_description = sprintf("%-30s", $stat_description); - while (strlen($stat_description) > 30) {$stat_description = eregi_replace(".$",'',$stat_description);} + while (strlen($stat_description) > 30) {$stat_description = preg_replace('/.$/i', '',$stat_description);} $stat_route = sprintf("%-10s", $stat_route); $stat_count = sprintf("%10s", $stat_count); @@ -1024,9 +1025,9 @@ else else {$totQUEUEavgRAW = 0;} $totQUEUEavg = sprintf("%5s", $totQUEUEavg); - while (strlen($totQUEUEavg)>5) {$totQUEUEavg = ereg_replace(".$",'',$totQUEUEavg);} + while (strlen($totQUEUEavg)>5) {$totQUEUEavg = preg_replace('/.$/', '', $totQUEUEavg);} $totQUEUEmax = sprintf("%5s", $totQUEUEmax); - while (strlen($totQUEUEmax)>5) {$totQUEUEmax = ereg_replace(".$",'',$totQUEUEmax);} + while (strlen($totQUEUEmax)>5) {$totQUEUEmax = preg_replace('/.$/', '', $totQUEUEmax);} $totDROPS = sprintf("%5s", $totDROPS); $totCALLS = sprintf("%5s", $totCALLS); diff --git a/www/vicidial/AST_GROUP_ALIASstats.php b/www/vicidial/AST_GROUP_ALIASstats.php index ff8a0d59..d9481e0c 100644 --- a/www/vicidial/AST_GROUP_ALIASstats.php +++ b/www/vicidial/AST_GROUP_ALIASstats.php @@ -10,6 +10,7 @@ # # 90914-1003 - First build # 130414-0214 - Added report logging +# 130610-1016 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -33,8 +34,8 @@ if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); if (strlen($shift)<2) {$shift='ALL';} @@ -200,23 +201,23 @@ while ($i < $records_to_grab) while ($k < $records_to_grabC) { $stmt="SELECT length_in_sec from call_log where extension='$phone_number[$k]'"; - if (eregi("MANUAL_OVERRIDE",$call_type[$k])) + if (preg_match("/MANUAL_OVERRIDE/i",$call_type[$k])) {$stmt="SELECT length_in_sec from call_log where extension='$phone_number[$k]'";} - if (eregi("XFER_OVERRIDE",$call_type[$k])) + if (preg_match("/XFER_OVERRIDE/i",$call_type[$k])) { - $number_dialed[$k] = eregi_replace("Local/",'',$number_dialed[$k]); - $number_dialed[$k] = eregi_replace("@default",'',$number_dialed[$k]); + $number_dialed[$k] = preg_replace('/Local\//i', '',$number_dialed[$k]); + $number_dialed[$k] = preg_replace('/\@default/i', '',$number_dialed[$k]); $stmt="SELECT length_in_sec from call_log where extension='$number_dialed[$k]'"; } - if (eregi("XFER_3WAY",$call_type[$k])) + if (preg_match("/XFER_3WAY/i",$call_type[$k])) { - $number_dialed[$k] = eregi_replace("Local/",'',$number_dialed[$k]); - $number_dialed[$k] = eregi_replace("@default",'',$number_dialed[$k]); + $number_dialed[$k] = preg_replace('/Local\//i', '',$number_dialed[$k]); + $number_dialed[$k] = preg_replace('/\@default/i', '',$number_dialed[$k]); $stmt="SELECT length_in_sec from call_log where extension='$number_dialed[$k]'"; } - if (eregi("MANUAL_DIALNOW",$call_type[$k])) + if (preg_match("/MANUAL_DIALNOW/i",$call_type[$k])) {$stmt="SELECT length_in_sec from call_log where extension='$phone_number[$k]'";} - if (eregi("MANUAL_DIALFAST",$call_type[$k])) + if (preg_match("/MANUAL_DIALFAST/i",$call_type[$k])) {$stmt="SELECT length_in_sec from call_log where extension='$phone_number[$k]'";} $stmt .= " and start_epoch >= $call_dateS[$k] and start_epoch <= $call_dateE[$k];"; diff --git a/www/vicidial/AST_IVRfilter.php b/www/vicidial/AST_IVRfilter.php index 8ade418c..6d33e8dc 100644 --- a/www/vicidial/AST_IVRfilter.php +++ b/www/vicidial/AST_IVRfilter.php @@ -10,6 +10,7 @@ # 90508-0644 - Changed to PHP long tags # 120113-2022 - Added new columns for sent to queue and agent # 130414-0257 - Added report logging +# 130610-1007 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -58,8 +59,8 @@ if ($hourly_breakdown) { $checked=""; } -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### diff --git a/www/vicidial/AST_IVRstats.php b/www/vicidial/AST_IVRstats.php index 536c64ca..1627b2b1 100644 --- a/www/vicidial/AST_IVRstats.php +++ b/www/vicidial/AST_IVRstats.php @@ -21,6 +21,7 @@ # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs # 130114-0115 - Added report logging +# 130610-1004 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -51,8 +52,8 @@ if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_display_type"];} elseif (isset($_POST["report_display_type"])) {$report_display_type=$_POST["report_display_type"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); if (strlen($shift)<2) {$shift='ALL';} if (strlen($type)<2) {$type='inbound';} @@ -149,7 +150,7 @@ $LOGadmin_viewable_call_times = $row[3]; $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; -if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) +if ( (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) { $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); @@ -159,7 +160,7 @@ if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) $LOGadmin_viewable_groupsSQL=''; $whereLOGadmin_viewable_groupsSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) { $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); @@ -169,7 +170,7 @@ if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewabl $LOGadmin_viewable_call_timesSQL=''; $whereLOGadmin_viewable_call_timesSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) { $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times); $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL); @@ -229,14 +230,14 @@ while($i < $group_ct) $groupQS .= "&group[]=$group[$i]"; $i++; } -if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) +if ( (preg_match('/\s\-\-NONE\-\-\s/',$group_string) ) or ($group_ct < 1) ) { $group_SQL = "''"; # $group_SQL = "group_id IN('')"; } else { - $group_SQL = eregi_replace(",$",'',$group_SQL); + $group_SQL = preg_replace('/,$/i', '',$group_SQL); # $group_SQL = "group_id IN($group_SQL)"; } if (strlen($group_SQL)<3) {$group_SQL="''";} @@ -383,7 +384,7 @@ if ($type == 'inbound') $o=0; while ($groups_to_print > $o) { - if (ereg("\|$LISTgroups[$o]\|",$group_string)) + if (preg_match("/\|$LISTgroups[$o]\|/",$group_string)) {$MAIN.="\n";} else {$MAIN.="\n";} @@ -406,7 +407,7 @@ else $o=0; while ($groups_to_print > $o) { - if (ereg("\|$LISTgroups[$o]\|",$group_string)) + if (preg_match("/\|$LISTgroups[$o]\|/",$group_string)) {$MAIN.="\n";} else {$MAIN.="\n";} @@ -535,7 +536,7 @@ else {$NOCALLERIDcalls++;} else { - if (!ereg("_$phone_ext[$p]_",$unique_callerIDs)) + if (!preg_match("/_$phone_ext[$p]_/",$unique_callerIDs)) { $unique_callerIDs .= "_$phone_ext[$p]_"; $UNIQUEcallers++; @@ -685,7 +686,7 @@ else { $row=mysql_fetch_row($rslt); $vcl_statuses[$w] = $row[0]; - if ( (ereg("DROP",$vcl_statuses[$w])) or (ereg("XDROP",$vcl_statuses[$w])) ) + if ( (preg_match('/DROP/',$vcl_statuses[$w])) or (preg_match('/XDROP/',$vcl_statuses[$w])) ) {$FLOWdrop[$s]++;} $FLOWclose_time[$s] = ($FLOWclose_time[$s] + $row[1]); $FLOWtotal[$s]++; @@ -711,7 +712,7 @@ else $FLOWtotal[$s] = sprintf("%6s", $FLOWtotal[$s]); $FLOWdrop[$s] = sprintf("%6s", $FLOWdrop[$s]); $FLOWdropPCT[$s] = sprintf("%6s", $FLOWdropPCT[$s]); - $FLOWsummary[1] = ereg_replace('----------',' / ',$FLOWsummary[1]); + $FLOWsummary[1] = preg_replace('/\-\-\-\-\-\-\-\-\-\-/', ' / ', $FLOWsummary[1]); $FLOWtotal_time[$s] = ($FLOWivr_time[$s] + $FLOWclose_time[$s]); $avgFLOWivr_time[$s] = ($FLOWivr_time[$s] / $FLOWsummary[0]); diff --git a/www/vicidial/AST_LISTS_campaign_stats.php b/www/vicidial/AST_LISTS_campaign_stats.php index 3288e58d..9216973d 100644 --- a/www/vicidial/AST_LISTS_campaign_stats.php +++ b/www/vicidial/AST_LISTS_campaign_stats.php @@ -13,6 +13,8 @@ # 120524-1754 - Fixed status categories issue # 130221-1928 - small change to remove nested SQL query # 130414-0127 - Added report logging +# 130424-2039 - Added lines for new status categories of scheduled callbacks and completed +# 130610-1001 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -38,8 +40,8 @@ if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_display_type"];} elseif (isset($_POST["report_display_type"])) {$report_display_type=$_POST["report_display_type"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); $report_name = 'Lists Campaign Statuses Report'; $db_source = 'M'; @@ -150,7 +152,7 @@ while($i < $group_ct) $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; -if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) +if ( (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) { $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); @@ -169,7 +171,7 @@ while ($i < $campaigns_to_print) $row=mysql_fetch_row($rslt); $groups[$i] = $row[0]; $group_names[$i] = $row[1]; - if (ereg("-ALL",$group_string) ) + if (preg_match('/\-ALL/',$group_string) ) {$group[$i] = $groups[$i];} $i++; } @@ -190,13 +192,13 @@ while($i < $group_ct) } if (strlen($group_drop_SQL) < 2) {$group_drop_SQL = "''";} -if ( (ereg("--ALL--",$group_string) ) or ($group_ct < 1) or (strlen($group_string) < 2) ) +if ( (preg_match('/\-\-ALL\-\-/',$group_string) ) or ($group_ct < 1) or (strlen($group_string) < 2) ) { $group_SQL = "$LOGallowed_campaignsSQL"; } else { - $group_SQL = eregi_replace(",$",'',$group_SQL); + $group_SQL = preg_replace('/,$/i', '',$group_SQL); $both_group_SQLand = "and ( (campaign_id IN($group_drop_SQL)) or (campaign_id IN($group_SQL)) )"; $both_group_SQL = "where ( (campaign_id IN($group_drop_SQL)) or (campaign_id IN($group_SQL)) )"; $group_SQLand = "and campaign_id IN($group_SQL)"; @@ -250,7 +252,7 @@ $dnc_statuses=''; $customer_contact_statuses=''; $not_interested_statuses=''; $unworkable_statuses=''; -$stmt="select status,human_answered,sale,dnc,customer_contact,not_interested,unworkable,status_name from vicidial_statuses;"; +$stmt="select status,human_answered,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,status_name from vicidial_statuses;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $statha_to_print = mysql_num_rows($rslt); @@ -259,16 +261,18 @@ while ($i < $statha_to_print) { $row=mysql_fetch_row($rslt); $temp_status = $row[0]; - $statname_list["$temp_status"] = "$row[7]"; + $statname_list["$temp_status"] = "$row[9]"; if ($row[1]=='Y') {$human_answered_statuses .= "'$temp_status',";} if ($row[2]=='Y') {$sale_statuses .= "'$temp_status',";} if ($row[3]=='Y') {$dnc_statuses .= "'$temp_status',";} if ($row[4]=='Y') {$customer_contact_statuses .= "'$temp_status',";} if ($row[5]=='Y') {$not_interested_statuses .= "'$temp_status',";} if ($row[6]=='Y') {$unworkable_statuses .= "'$temp_status',";} + if ($row[7]=='Y') {$scheduled_callback_statuses .= "'$temp_status',";} + if ($row[8]=='Y') {$completed_statuses .= "'$temp_status',";} $i++; } -$stmt="select status,human_answered,sale,dnc,customer_contact,not_interested,unworkable,status_name from vicidial_campaign_statuses where selectable IN('Y','N') $group_SQLand;"; +$stmt="select status,human_answered,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,status_name from vicidial_campaign_statuses where selectable IN('Y','N') $group_SQLand;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $statha_to_print = mysql_num_rows($rslt); @@ -277,13 +281,15 @@ while ($i < $statha_to_print) { $row=mysql_fetch_row($rslt); $temp_status = $row[0]; - $statname_list["$temp_status"] = "$row[7]"; + $statname_list["$temp_status"] = "$row[9]"; if ( ($row[1]=='Y') and (!preg_match("/'$temp_status'/",$human_answered_statuses)) ) {$human_answered_statuses .= "'$temp_status',";} if ($row[2]=='Y') {$sale_statuses .= "'$temp_status',";} if ($row[3]=='Y') {$dnc_statuses .= "'$temp_status',";} if ($row[4]=='Y') {$customer_contact_statuses .= "'$temp_status',";} if ($row[5]=='Y') {$not_interested_statuses .= "'$temp_status',";} if ($row[6]=='Y') {$unworkable_statuses .= "'$temp_status',";} + if ($row[7]=='Y') {$scheduled_callback_statuses .= "'$temp_status',";} + if ($row[8]=='Y') {$completed_statuses .= "'$temp_status',";} $i++; } if (strlen($human_answered_statuses)>2) {$human_answered_statuses = substr("$human_answered_statuses", 0, -1);} @@ -298,6 +304,10 @@ if (strlen($not_interested_statuses)>2) {$not_interested_statuses = substr("$no else {$not_interested_statuses="''";} if (strlen($unworkable_statuses)>2) {$unworkable_statuses = substr("$unworkable_statuses", 0, -1);} else {$unworkable_statuses="''";} +if (strlen($scheduled_callback_statuses)>2) {$scheduled_callback_statuses = substr("$scheduled_callback_statuses", 0, -1);} +else {$scheduled_callback_statuses="''";} +if (strlen($completed_statuses)>2) {$completed_statuses = substr("$completed_statuses", 0, -1);} +else {$completed_statuses="''";} $HEADER.="\n"; $HEADER.="\n"; @@ -324,14 +334,14 @@ $MAIN.="\n"; $MAIN.=" Campaigns:
"; $MAIN.="\n"; - if (eregi("--ALL--",$group_string)) + if (preg_match('/\-\-ALL\-\-/',$group_string)) {$MAIN.="\n";} else {$MAIN.="\n";} $o=0; while ($campaigns_to_print > $o) { - if (eregi("$groups[$o]\|",$group_string)) {$MAIN.="\n";} + if (preg_match("/$groups[$o]\|/i",$group_string)) {$MAIN.="\n";} else {$MAIN.="\n";} $o++; } @@ -732,7 +733,7 @@ else } $group_drop[$i]=''; - if (eregi("YES",$include_rollover)) + if (preg_match("/YES/i",$include_rollover)) { ##### Gather inbound calls from drop inbound group if selected $stmt="select drop_inbound_group from vicidial_campaigns where campaign_id='$group[$i]' $LOGallowed_campaignsSQL and drop_inbound_group NOT LIKE \"%NONE%\" and drop_inbound_group is NOT NULL and drop_inbound_group != '';"; @@ -859,7 +860,7 @@ else while ($p < $s) { $call_date = explode(" ", $ATcall_date[$p]); - $call_time = ereg_replace("[^0-9]","",$call_date[1]); + $call_time = preg_replace('/[^0-9]/','',$call_date[1]); $epoch = $ATepoch[$p]; $Cwday = date("w", $epoch); @@ -933,7 +934,7 @@ else while ($p < $u) { $call_date = explode(" ", $CPcall_date[$p]); - $call_time = ereg_replace("[^0-9]","",$call_date[1]); + $call_time = preg_replace('/[^0-9]/','',$call_date[1]); $epoch = $CPepoch[$p]; $Cwday = date("w", $epoch); @@ -986,7 +987,7 @@ else $Htalk_sec[$Chour] = ($Htalk_sec[$Chour] + $TEMPtalk); $Hcalls_count[$Chour]++; - if (eregi("DROP",$CPstatus[$p])) + if (preg_match("/DROP/i",$CPstatus[$p])) { if ($CPin_out[$p] == 'OUT') { @@ -1001,7 +1002,7 @@ else $answer_count[$i]++; $Hanswer_count[$Chour]++; } - if (eregi("\|$CPstatus[$p]\|",'|NA|NEW|QUEUE|INCALL|DROP|XDROP|AA|AM|AL|AFAX|AB|ADC|DNCL|DNCC|PU|PM|SVYEXT|SVYHU|SVYVM|SVYREC|QVMAIL|')) + if (preg_match("/\|$CPstatus[$p]\|/i",'|NA|NEW|QUEUE|INCALL|DROP|XDROP|AA|AM|AL|AFAX|AB|ADC|DNCL|DNCC|PU|PM|SVYEXT|SVYHU|SVYVM|SVYREC|QVMAIL|')) { $system_count[$i]++; $Hsystem_count[$Chour]++; diff --git a/www/vicidial/AST_VDADstats.php b/www/vicidial/AST_VDADstats.php index 12cac4c2..ece16a35 100644 --- a/www/vicidial/AST_VDADstats.php +++ b/www/vicidial/AST_VDADstats.php @@ -33,6 +33,7 @@ # 101207-1634 - Changed limits on seconds to 65000 from 36000 in vicidial_agent_log # 120224-0910 - Added HTML display option with bar graphs # 130414-0117 - Added report logging +# 130610-0956 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -76,8 +77,8 @@ if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_display_type"];} elseif (isset($_POST["report_display_type"])) {$report_display_type=$_POST["report_display_type"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); if (strlen($shift)<2) {$shift='ALL';} if (strlen($bottom_graph)<2) {$bottom_graph='NO';} @@ -206,7 +207,7 @@ while($i < $group_ct) $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; -if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) +if ( (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) { $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); @@ -225,7 +226,7 @@ while ($i < $campaigns_to_print) $row=mysql_fetch_row($rslt); $groups[$i] = $row[0]; $group_names[$i] = $row[1]; - if (ereg("-ALL",$group_string) ) + if (preg_match('/\-ALL/',$group_string) ) {$group[$i] = $groups[$i];} $i++; } @@ -243,7 +244,7 @@ while($i < $group_ct) $groupQS .= "&group[]=$group[$i]"; } - if (eregi("YES",$include_rollover)) + if (preg_match("/YES/i",$include_rollover)) { $stmt="select drop_inbound_group from vicidial_campaigns where campaign_id='$group[$i]' $LOGallowed_campaignsSQL and drop_inbound_group NOT LIKE \"%NONE%\" and drop_inbound_group is NOT NULL and drop_inbound_group != '';"; $rslt=mysql_query($stmt, $link); @@ -262,15 +263,15 @@ while($i < $group_ct) } if (strlen($group_drop_SQL) < 2) {$group_drop_SQL = "''";} -if ( (ereg("--ALL--",$group_string) ) or ($group_ct < 1) or (strlen($group_string) < 2) ) +if ( (preg_match('/\-\-ALL\-\-/',$group_string) ) or ($group_ct < 1) or (strlen($group_string) < 2) ) { $group_SQL = "$LOGallowed_campaignsSQL"; $group_drop_SQL = ""; } else { - $group_SQL = eregi_replace(",$",'',$group_SQL); - $group_drop_SQL = eregi_replace(",$",'',$group_drop_SQL); + $group_SQL = preg_replace('/,$/i', '',$group_SQL); + $group_drop_SQL = preg_replace('/,$/i', '',$group_drop_SQL); $both_group_SQLand = "and ( (campaign_id IN($group_drop_SQL)) or (campaign_id IN($group_SQL)) )"; $both_group_SQL = "where ( (campaign_id IN($group_drop_SQL)) or (campaign_id IN($group_SQL)) )"; $group_SQLand = "and campaign_id IN($group_SQL)"; @@ -389,14 +390,14 @@ o_cal.a_tpl.yearscroll = false; echo " Campaigns:
"; echo "\n"; -if (eregi("--ALL--",$group_string)) +if (preg_match('/\-\-ALL\-\-/',$group_string)) {echo "\n";} else {echo "\n";} $o=0; while ($campaigns_to_print > $o) { - if (eregi("$groups[$o]\|",$group_string)) {echo "\n";} + if (preg_match("/$groups[$o]\|/i",$group_string)) {echo "\n";} else {echo "\n";} $o++; } diff --git a/www/vicidial/AST_agent_disposition.php b/www/vicidial/AST_agent_disposition.php index 6833e89e..c7491bcd 100644 --- a/www/vicidial/AST_agent_disposition.php +++ b/www/vicidial/AST_agent_disposition.php @@ -3,12 +3,13 @@ # # Date Range - Agent/Campaign Disposition (Perfect Network Corporation) # -# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # # 70201-1213 - First build - from Marin Blu # 90508-0644 - Changed to PHP long tags +# 130610-1136 - Finalized changing of all ereg instances to preg # require("dbconnect.php"); @@ -27,8 +28,8 @@ if (isset($_GET["submit"])) {$submit=$_GET["submit"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6;"; if ($DB) {echo "|$stmt|\n";} diff --git a/www/vicidial/AST_agent_performance.php b/www/vicidial/AST_agent_performance.php index 95133adb..08df76da 100644 --- a/www/vicidial/AST_agent_performance.php +++ b/www/vicidial/AST_agent_performance.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -9,6 +9,7 @@ # - Added required user/pass to gain access to this page # 70201-1203 - Added non_latin UTF8 output code, widened USER ID to 8 chars # 90508-0644 - Changed to PHP long tags +# 130610-1135 - Finalized changing of all ereg instances to preg # require("dbconnect.php"); @@ -27,8 +28,8 @@ if (isset($_GET["submit"])) {$submit=$_GET["submit"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; if ($DB) {echo "|$stmt|\n";} diff --git a/www/vicidial/AST_agent_performance_detail.php b/www/vicidial/AST_agent_performance_detail.php index fb6ac8c4..4f0851ca 100644 --- a/www/vicidial/AST_agent_performance_detail.php +++ b/www/vicidial/AST_agent_performance_detail.php @@ -32,6 +32,7 @@ # 120224-0910 - Added HTML display option with bar graphs # 121130-0952 - Fix for user group permissions issue #588 # 130414-0140 - Added report logging +# 130610-1031 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -90,8 +91,8 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} @@ -168,7 +169,7 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; -if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) +if ( (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) { $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); @@ -179,7 +180,7 @@ $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; $LOGadmin_viewable_groupsSQL=''; $whereLOGadmin_viewable_groupsSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) { $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); @@ -189,7 +190,7 @@ if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewabl $LOGadmin_viewable_call_timesSQL=''; $whereLOGadmin_viewable_call_timesSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) { $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times); $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL); @@ -224,13 +225,13 @@ while ($i < $campaigns_to_print) { $row=mysql_fetch_row($rslt); $groups[$i] =$row[0]; - if (ereg("-ALL",$group_string) ) + if (preg_match('/\-ALL/',$group_string) ) {$group[$i] = $groups[$i];} $i++; } for ($i=0; $i-- ALL CAMPAIGNS --\n";} else {$HTML_text.="\n";} $o=0; while ($campaigns_to_print > $o) { - if (eregi("$groups[$o]\|",$group_string)) {$HTML_text.="\n";} + if (preg_match("/$groups[$o]\|/i",$group_string)) {$HTML_text.="\n";} else {$HTML_text.="\n";} $o++; } @@ -367,14 +368,14 @@ $HTML_text.="\n"; $HTML_text.="User Groups:
"; $HTML_text.="\n"; -if (eregi("--ALL--",$group_string)) +if (preg_match('/\-\-ALL\-\-/',$group_string)) {echo "\n";} else {echo "\n";} $o=0; while ($campaigns_to_print > $o) { - if (eregi("$groups[$o]\|",$group_string)) {echo "\n";} + if (preg_match("/$groups[$o]\|/i",$group_string)) {echo "\n";} else {echo "\n";} $o++; } @@ -906,14 +907,14 @@ echo "\n"; echo "User Groups:
"; echo "\n"; -if (eregi("--ALL--",$group_string)) +if (preg_match('/--ALL--/',$group_string)) {echo "\n";} else {echo "\n";} $o=0; while ($campaigns_to_print > $o) { - if (eregi("$groups[$o]\|",$group_string)) {echo "\n";} + if (preg_match("/$groups[$o]\|/i",$group_string)) {echo "\n";} else {echo "\n";} $o++; } @@ -1340,14 +1341,14 @@ echo "\n"; echo "User Groups:
"; echo " Campaigns:
"; # echo "User Groups:
"; echo "Server IP:
\n"; $MAIN.=""; -if (eregi("--ALL--",$group_string)) +if (preg_match('/\-\-ALL\-\-/',$group_string)) {$campaign_span_txt.="";} else {$campaign_span_txt.="";} $o=0; while ($campaigns_to_print > $o) { - if (eregi("$groups[$o]\|",$group_string)) {$campaign_span_txt.="";} + if (preg_match("/$groups[$o]\|/i",$group_string)) {$campaign_span_txt.="";} else {$campaign_span_txt.="";} $o++; } diff --git a/www/vicidial/AST_email_log_display.php b/www/vicidial/AST_email_log_display.php index c5a8dfca..e1341443 100644 --- a/www/vicidial/AST_email_log_display.php +++ b/www/vicidial/AST_email_log_display.php @@ -7,6 +7,7 @@ # # changes: # 130221-2124 - First build +# 130610-1039 - Finalized changing of all ereg instances to preg # require("dbconnect.php"); @@ -49,13 +50,13 @@ if ($allow_emails<1) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace('/[^-_0-9a-zA-Z]/', '',$user); + $pass=preg_replace('/[^-_0-9a-zA-Z]/', '',$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/'|\"|\\\\|;/","",$user); + $pass = preg_replace("/'|\"|\\\\|;/","",$pass); } if ($email_log_id) { diff --git a/www/vicidial/AST_email_log_report.php b/www/vicidial/AST_email_log_report.php index 4aeddac3..218b83e8 100644 --- a/www/vicidial/AST_email_log_report.php +++ b/www/vicidial/AST_email_log_report.php @@ -8,6 +8,7 @@ # CHANGELOG: # 130221-2117 - First build # 130414-0132 - Added report logging +# 130610-1016 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -163,7 +164,7 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL $LOGadmin_viewable_groupsSQL=''; $whereLOGadmin_viewable_groupsSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) { $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); @@ -211,14 +212,14 @@ while($i < $group_ct) } $i++; } -if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) +if ( (preg_match('/\s\-\-NONE\-\-\s/',$group_string) ) or ($group_ct < 1) ) { $group_SQL = "''"; # $group_SQL = "group_id IN('')"; } else { - $group_SQL = eregi_replace(",$",'',$group_SQL); + $group_SQL = preg_replace('/,$/i', '',$group_SQL); # $group_SQL = "group_id IN($group_SQL)"; } if (strlen($group_SQL)<3) {$group_SQL="''";} @@ -314,7 +315,7 @@ $MAIN.="Server IP:
\n"; $MAIN.=""; $MAIN.="Hangup Cause:
"; $MAIN.="\n"; -if (eregi("--ALL--",$dialstatuses_string)) +if (preg_match('/\-\-ALL\-\-/',$dialstatuses_string)) {$MAIN.="\n";} else {$MAIN.="\n";} @@ -454,7 +557,7 @@ $o=0; while ($dialstatuses_to_print > $o) { - if (ereg("\|$master_dialstatus_array[$o]\|",$dialstatuses_string)) + if (preg_match("/\|$master_dialstatus_array[$o]\|/",$dialstatuses_string)) {$MAIN.="\n";} else {$MAIN.="\n";} @@ -463,9 +566,25 @@ while ($dialstatuses_to_print > $o) $MAIN.=""; $MAIN.=""; -$MAIN.=""; +$MAIN.="SIP Response:
"; +$MAIN.=""; +$MAIN.=""; -$MAIN.="\n"; $MAIN.="\n"; $MAIN.="

\n"; @@ -492,7 +611,7 @@ if ($SUBMIT && $server_ip_ct>0) { $MAIN.="| TOTAL | ".sprintf("%-8s", $total_count)."|\n"; $MAIN.="+--------------+-------------+---------+\n\n\n"; - $rpt_stmt="SELECT vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc"; + $rpt_stmt="SELECT vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL $sip_hangup_cause_SQL order by vicidial_carrier_log.call_date asc"; $rpt_rslt=mysql_query($rpt_stmt, $link); if ($DB) {$MAIN.=$rpt_stmt."\n";} @@ -500,10 +619,10 @@ if ($SUBMIT && $server_ip_ct>0) { if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;} $MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string, $DS_rpt_string\n --- RECORDS #$lower_limit-$upper_limit [DOWNLOAD]\n"; - $carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n"; - $carrier_rpt.="| UNIQUE ID | CALL DATE | SERVER IP | LEAD ID | HANGUP CAUSE | DIAL STATUS | CHANNEL | DIAL TIME | ANSWERED TIME | PHONE NUMBER |\n"; - $carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n"; - $CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"SERVER IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"ANSWERED TIME\",\"PHONE NUMBER\"\n"; + $carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+--------------+--------------------------------+\n"; + $carrier_rpt.="| UNIQUE ID | CALL DATE | SERVER IP | LEAD ID | HANGUP CAUSE | DIAL STATUS | CHANNEL | DIAL TIME | ANSWERED TIME | PHONE NUMBER | SIP RESPONSE | SIP REASON |\n"; + $carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+--------------+--------------------------------+\n"; + $CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"SERVER IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"ANSWERED TIME\",\"PHONE NUMBER\",\"SIP RESPONSE\",\"SIP REASON\"\n"; for ($i=1; $i<=mysql_num_rows($rpt_rslt); $i++) { $row=mysql_fetch_array($rpt_rslt); @@ -522,7 +641,7 @@ if ($SUBMIT && $server_ip_ct>0) { $phone_number=$row["phone_number"]; } - $CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$phone_number\"\n"; + $CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$phone_number\",\"$row[sip_hangup_cause]\",\"$row[sip_hangup_reason]\"\n"; if ($i>=$lower_limit && $i<=$upper_limit) { if (strlen($row["channel"])>37) {$row["channel"]=substr($row["channel"],0,37)."...";} $carrier_rpt.="| ".sprintf("%-21s", $row["uniqueid"]); @@ -534,10 +653,12 @@ if ($SUBMIT && $server_ip_ct>0) { $carrier_rpt.="| ".sprintf("%-41s", $row["channel"]); $carrier_rpt.="| ".sprintf("%-10s", $row["dial_time"]); $carrier_rpt.="| ".sprintf("%-14s", $row["answered_time"]); - $carrier_rpt.="| ".sprintf("%-13s", $phone_number)."|\n"; + $carrier_rpt.="| ".sprintf("%-13s", $phone_number); + $carrier_rpt.="| ".sprintf("%-13s", $row["sip_hangup_cause"]); + $carrier_rpt.="| ".sprintf("%-31s", $row["sip_hangup_reason"])."|\n"; } } - $carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n"; + $carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+--------------+--------------------------------+\n"; $carrier_rpt_hf=""; $ll=$lower_limit-1000; diff --git a/www/vicidial/AST_inboundEXTstats.php b/www/vicidial/AST_inboundEXTstats.php index 5891e217..2da04f63 100644 --- a/www/vicidial/AST_inboundEXTstats.php +++ b/www/vicidial/AST_inboundEXTstats.php @@ -1,13 +1,14 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 60421-1450 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60620-1322 - Added variable filtering to eliminate SQL injection attack threat # - Added required user/pass to gain access to this page # 90508-0644 - Changed to PHP long tags +# 130610-1134 - Finalized changing of all ereg instances to preg # require("dbconnect.php"); @@ -26,8 +27,8 @@ if (isset($_GET["submit"])) {$submit=$_GET["submit"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; if ($DB) {echo "|$stmt|\n";} @@ -114,7 +115,7 @@ echo "\n"; echo "---------- TOTALS\n"; $extenSQL = "and extension='" . mysql_real_escape_string($group) . "'"; -if (eregi("\*",$group)) +if (preg_match("/\*/i",$group)) {$extenSQL = "and extension LIKE \"%$group\"";} $stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;"; $rslt=mysql_query($stmt, $link); diff --git a/www/vicidial/AST_inboundEXTstats_department.php b/www/vicidial/AST_inboundEXTstats_department.php index 76801826..0f4498ff 100644 --- a/www/vicidial/AST_inboundEXTstats_department.php +++ b/www/vicidial/AST_inboundEXTstats_department.php @@ -1,11 +1,12 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 70201-1710 - First Build # 90508-0644 - Changed to PHP long tags +# 130610-1134 - Finalized changing of all ereg instances to preg # require("dbconnect.php"); @@ -26,8 +27,8 @@ if (isset($_GET["submit"])) {$submit=$_GET["submit"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### diff --git a/www/vicidial/AST_inbound_daily_report.php b/www/vicidial/AST_inbound_daily_report.php index d4193521..8e53667e 100644 --- a/www/vicidial/AST_inbound_daily_report.php +++ b/www/vicidial/AST_inbound_daily_report.php @@ -14,6 +14,7 @@ # 121115-0621 - Changed to multi-select for in-group selection # 130322-2008 - Added Unique Agents column # 130414-0110 - Added report logging +# 130610-1008 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -53,8 +54,8 @@ if (isset($_GET["DB"])) {$DB=$_GET["DB"];} if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_display_type"];} elseif (isset($_POST["report_display_type"])) {$report_display_type=$_POST["report_display_type"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); if (strlen($shift)<2) {$shift='ALL';} @@ -155,7 +156,7 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL $LOGadmin_viewable_groupsSQL=''; $whereLOGadmin_viewable_groupsSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) { $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); @@ -167,7 +168,7 @@ if ($IDR_calltime_available==1) { $LOGadmin_viewable_call_timesSQL=''; $whereLOGadmin_viewable_call_timesSQL=''; - if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) + if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) { $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times); $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL); @@ -839,7 +840,7 @@ else if ($totCALLSmax < $ls[$i]) {$totCALLSmax = $ls[$i];} if ($qrtCALLSmax[$j] < $ls[$i]) {$qrtCALLSmax[$j] = $ls[$i];} - if (ereg('ABANDON|NOAGENT|QUEUETIMEOUT|AFTERHOURS|MAXCALLS', $tr[$i])) + if (preg_match('/ABANDON|NOAGENT|QUEUETIMEOUT|AFTERHOURS|MAXCALLS/', $tr[$i])) { $totABANDONSdate[$j]++; $totABANDONSsecdate[$j]+=$ls[$i]; @@ -857,7 +858,7 @@ else $FtotANSWERS++; $FtotANSWERSspeeddate+=$qs[$i]; } - if (ereg('DROP',$st[$i])) + if (preg_match('/DROP/',$st[$i])) { $totDROPS++; $totDROPSsec = ($totDROPSsec + $ls[$i]); diff --git a/www/vicidial/AST_parkstats.php b/www/vicidial/AST_parkstats.php index 5f6e4f37..685e607f 100644 --- a/www/vicidial/AST_parkstats.php +++ b/www/vicidial/AST_parkstats.php @@ -1,13 +1,14 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # # 60619-1717 - Added variable filtering to eliminate SQL injection attack threat # - Added required user/pass to gain access to this page # 90508-0644 - Changed to PHP long tags +# 130610-1133 - Finalized changing of all ereg instances to preg # require("dbconnect.php"); @@ -24,8 +25,8 @@ if (isset($_GET["submit"])) {$submit=$_GET["submit"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; if ($DB) {echo "|$stmt|\n";} diff --git a/www/vicidial/AST_server_performance.php b/www/vicidial/AST_server_performance.php index cc5be1f3..f8ece983 100644 --- a/www/vicidial/AST_server_performance.php +++ b/www/vicidial/AST_server_performance.php @@ -17,6 +17,7 @@ # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 130414-0157 - Added report logging +# 130610-0959 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -39,8 +40,8 @@ if (isset($_GET["submit"])) {$submit=$_GET["submit"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); $report_name = 'Server Performance Report'; $db_source = 'M'; diff --git a/www/vicidial/AST_team_performance_detail.php b/www/vicidial/AST_team_performance_detail.php index fdebcd7e..428f1e86 100644 --- a/www/vicidial/AST_team_performance_detail.php +++ b/www/vicidial/AST_team_performance_detail.php @@ -16,6 +16,7 @@ # 120224-1424 - Added new colums and PRECAL to System Time # 120307-1926 - Added additional statuses option and HTML display option # 130414-0142 - Added report logging +# 130610-0958 - Finalized changing of all ereg instances to preg # $startMS = microtime(); @@ -74,8 +75,8 @@ if ($qm_conf_ct > 0) ########################################### -$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); -$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_USER); +$PHP_AUTH_PW = preg_replace('/[^0-9a-zA-Z]/', '', $PHP_AUTH_PW); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} @@ -152,7 +153,7 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; -if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) +if ( (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) { $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); @@ -163,7 +164,7 @@ $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; $LOGadmin_viewable_groupsSQL=''; $whereLOGadmin_viewable_groupsSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) { $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); @@ -173,7 +174,7 @@ if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewabl $LOGadmin_viewable_call_timesSQL=''; $whereLOGadmin_viewable_call_timesSQL=''; -if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) +if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) { $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times); $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL); @@ -213,7 +214,7 @@ while ($i < $campaigns_to_print) { $row=mysql_fetch_row($rslt); $groups[$i] =$row[0]; - if (ereg("-ALL",$group_string) ) + if (preg_match('/\-ALL/',$group_string) ) {$group[$i] = $groups[$i];} $i++; } @@ -244,7 +245,7 @@ while ($i < $call_statuses_to_print) $row=mysql_fetch_row($rslt); $call_statuses[$i] =$row[0]; $call_statuses_names[$i] =$row[1]; -# if (ereg("-ALL",$call_status_string) ) +# if (preg_match('/\-ALL/',$call_status_string) ) # {$call_status[$i] = $call_statuses[$i];} $i++; } @@ -252,7 +253,7 @@ while ($i < $call_statuses_to_print) ####################################### for ($i=0; $i Campaigns:
"; $HTML_text.="\n"; $HTML_text.="Teams/User Groups:
"; $HTML_text.=""; $o=0; while ($groups_to_print > $o) { - if (ereg("\|$LISTgroups[$o]\|",$group_string)) + if (preg_match("/\|$LISTgroups[$o]\|/",$group_string)) {$select_list .= "";} else {$select_list .= "";} @@ -579,7 +580,7 @@ $select_list .= "\n"; -if (eregi("--ALL--",$user_group_string)) +if (preg_match('/\-\-ALL\-\-/',$user_group_string)) {$HTML_text.="\n";} else {$HTML_text.="\n";} $o=0; while ($user_groups_to_print > $o) { - if (eregi("\|$user_groups[$o]\|",$user_group_string)) + if (preg_match("/\|$user_groups[$o]\|/i",$user_group_string)) {$HTML_text.="\n";} else {$HTML_text.="\n";} diff --git a/www/vicidial/QM_live_monitor.php b/www/vicidial/QM_live_monitor.php index 71d1d53a..3816d661 100644 --- a/www/vicidial/QM_live_monitor.php +++ b/www/vicidial/QM_live_monitor.php @@ -1,16 +1,17 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # Script to initiate live monitoring from QueueMetrics link # # CHANGELOG: # 90529-2115 - First Build +# 130610-1130 - Finalized changing of all ereg instances to preg # -$version = '2.2.0-1'; -$build = '90529-2115'; +$version = '2.8-2'; +$build = '130610-1130'; header ("Content-type: text/html; charset=utf-8"); @@ -87,16 +88,16 @@ if ($enable_queuemetrics_logging > 0) $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); - if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} $admDIR = "$HTTPprotocol$server_name$script_name"; - $admDIR = eregi_replace('QM_live_monitor.php','',$admDIR); + $admDIR = preg_replace('/QM_live_monitor\.php/i', '',$admDIR); $monitor_script = 'non_agent_api.php'; $monitorURL = "$admDIR$monitor_script?source=queuemetrics&function=blind_monitor&user=$user&pass=$call&phone_login=$extension&session_id=$session&server_ip=$server_ip&stage=$stage"; $monitorCONTENTS = file("$monitorURL"); - if (eregi('SUCCESS',$monitorCONTENTS[0])) + if (preg_match('/SUCCESS/i',$monitorCONTENTS[0])) { echo "\n"; } diff --git a/www/vicidial/admin.php b/www/vicidial/admin.php index 4b7e7f12..95329b30 100644 --- a/www/vicidial/admin.php +++ b/www/vicidial/admin.php @@ -1925,878 +1925,878 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { ### DIGITS ONLY ### - $adaptive_latest_server_time = ereg_replace("[^0-9]","",$adaptive_latest_server_time); - $admin_hangup_enabled = ereg_replace("[^0-9]","",$admin_hangup_enabled); - $admin_hijack_enabled = ereg_replace("[^0-9]","",$admin_hijack_enabled); - $admin_monitor_enabled = ereg_replace("[^0-9]","",$admin_monitor_enabled); - $AFLogging_enabled = ereg_replace("[^0-9]","",$AFLogging_enabled); - $agent_choose_ingroups = ereg_replace("[^0-9]","",$agent_choose_ingroups); - $agentcall_manual = ereg_replace("[^0-9]","",$agentcall_manual); - $agentonly_callbacks = ereg_replace("[^0-9]","",$agentonly_callbacks); - $AGI_call_logging_enabled = ereg_replace("[^0-9]","",$AGI_call_logging_enabled); - $allcalls_delay = ereg_replace("[^0-9]","",$allcalls_delay); - $alter_agent_interface_options = ereg_replace("[^0-9]","",$alter_agent_interface_options); - $answer_transfer_agent = ereg_replace("[^0-9]","",$answer_transfer_agent); - $ast_admin_access = ereg_replace("[^0-9]","",$ast_admin_access); - $ast_delete_phones = ereg_replace("[^0-9]","",$ast_delete_phones); - $attempt_delay = ereg_replace("[^0-9]","",$attempt_delay); - $attempt_maximum = ereg_replace("[^0-9]","",$attempt_maximum); - $auto_dial_next_number = ereg_replace("[^0-9]","",$auto_dial_next_number); - $balance_trunks_offlimits = ereg_replace("[^0-9]","",$balance_trunks_offlimits); - $call_parking_enabled = ereg_replace("[^0-9]","",$call_parking_enabled); - $CallerID_popup_enabled = ereg_replace("[^0-9]","",$CallerID_popup_enabled); - $campaign_detail = ereg_replace("[^0-9]","",$campaign_detail); - $campaign_rec_exten = ereg_replace("[^0-9]","",$campaign_rec_exten); - $campaign_vdad_exten = ereg_replace("[^0-9]","",$campaign_vdad_exten); - $change_agent_campaign = ereg_replace("[^0-9]","",$change_agent_campaign); - $closer_default_blended = ereg_replace("[^0-9]","",$closer_default_blended); - $conf_exten = ereg_replace("[^0-9]","",$conf_exten); - $conf_on_extension = ereg_replace("[^0-9]","",$conf_on_extension); - $conferencing_enabled = ereg_replace("[^0-9]","",$conferencing_enabled); - $ct_default_start = ereg_replace("[^0-9]","",$ct_default_start); - $ct_default_stop = ereg_replace("[^0-9]","",$ct_default_stop); - $ct_friday_start = ereg_replace("[^0-9]","",$ct_friday_start); - $ct_friday_stop = ereg_replace("[^0-9]","",$ct_friday_stop); - $ct_monday_start = ereg_replace("[^0-9]","",$ct_monday_start); - $ct_monday_stop = ereg_replace("[^0-9]","",$ct_monday_stop); - $ct_saturday_start = ereg_replace("[^0-9]","",$ct_saturday_start); - $ct_saturday_stop = ereg_replace("[^0-9]","",$ct_saturday_stop); - $ct_sunday_start = ereg_replace("[^0-9]","",$ct_sunday_start); - $ct_sunday_stop = ereg_replace("[^0-9]","",$ct_sunday_stop); - $ct_thursday_start = ereg_replace("[^0-9]","",$ct_thursday_start); - $ct_thursday_stop = ereg_replace("[^0-9]","",$ct_thursday_stop); - $ct_tuesday_start = ereg_replace("[^0-9]","",$ct_tuesday_start); - $ct_tuesday_stop = ereg_replace("[^0-9]","",$ct_tuesday_stop); - $ct_wednesday_start = ereg_replace("[^0-9]","",$ct_wednesday_start); - $ct_wednesday_stop = ereg_replace("[^0-9]","",$ct_wednesday_stop); - $DBX_port = ereg_replace("[^0-9]","",$DBX_port); - $DBY_port = ereg_replace("[^0-9]","",$DBY_port); - $dedicated_trunks = ereg_replace("[^0-9]","",$dedicated_trunks); - $delete_call_times = ereg_replace("[^0-9]","",$delete_call_times); - $delete_campaigns = ereg_replace("[^0-9]","",$delete_campaigns); - $delete_filters = ereg_replace("[^0-9]","",$delete_filters); - $delete_ingroups = ereg_replace("[^0-9]","",$delete_ingroups); - $delete_lists = ereg_replace("[^0-9]","",$delete_lists); - $delete_remote_agents = ereg_replace("[^0-9]","",$delete_remote_agents); - $delete_scripts = ereg_replace("[^0-9]","",$delete_scripts); - $delete_user_groups = ereg_replace("[^0-9]","",$delete_user_groups); - $delete_users = ereg_replace("[^0-9]","",$delete_users); - $dial_timeout = ereg_replace("[^0-9]","",$dial_timeout); - $dialplan_number = ereg_replace("[^0-9]","",$dialplan_number); - $enable_fast_refresh = ereg_replace("[^0-9]","",$enable_fast_refresh); - $enable_persistant_mysql = ereg_replace("[^0-9]","",$enable_persistant_mysql); - $fast_refresh_rate = ereg_replace("[^0-9]","",$fast_refresh_rate); - $hopper_level = ereg_replace("[^0-9]","",$hopper_level); - $hotkey = ereg_replace("[^0-9]","",$hotkey); - $hotkeys_active = ereg_replace("[^0-9]","",$hotkeys_active); - $list_id = ereg_replace("[^0-9]","",$list_id); - $load_leads = ereg_replace("[^0-9]","",$load_leads); - $max_vicidial_trunks = ereg_replace("[^0-9]","",$max_vicidial_trunks); - $modify_call_times = ereg_replace("[^0-9]","",$modify_call_times); - $modify_users = ereg_replace("[^0-9]","",$modify_users); - $modify_campaigns = ereg_replace("[^0-9]","",$modify_campaigns); - $modify_lists = ereg_replace("[^0-9]","",$modify_lists); - $modify_scripts = ereg_replace("[^0-9]","",$modify_scripts); - $modify_filters = ereg_replace("[^0-9]","",$modify_filters); - $modify_ingroups = ereg_replace("[^0-9]","",$modify_ingroups); - $modify_usergroups = ereg_replace("[^0-9]","",$modify_usergroups); - $modify_remoteagents = ereg_replace("[^0-9]","",$modify_remoteagents); - $modify_servers = ereg_replace("[^0-9]","",$modify_servers); - $view_reports = ereg_replace("[^0-9]","",$view_reports); - $modify_leads = ereg_replace("[^0-9]","",$modify_leads); - $monitor_prefix = ereg_replace("[^0-9]","",$monitor_prefix); - $number_of_lines = ereg_replace("[^0-9]","",$number_of_lines); - $old_conf_exten = ereg_replace("[^0-9]","",$old_conf_exten); - $outbound_cid = ereg_replace("[^0-9]","",$outbound_cid); - $park_ext = ereg_replace("[^0-9]","",$park_ext); - $park_on_extension = ereg_replace("[^0-9]","",$park_on_extension); - $phone_number = ereg_replace("[^0-9]","",$phone_number); - $QUEUE_ACTION_enabled = ereg_replace("[^0-9]","",$QUEUE_ACTION_enabled); - $recording_exten = ereg_replace("[^0-9]","",$recording_exten); - $remote_agent_id = ereg_replace("[^0-9]","",$remote_agent_id); - $telnet_port = ereg_replace("[^0-9]","",$telnet_port); - $updater_check_enabled = ereg_replace("[^0-9]","",$updater_check_enabled); - $user_level = ereg_replace("[^0-9]","",$user_level); - $user_switching_enabled = ereg_replace("[^0-9]","",$user_switching_enabled); - $VDstop_rec_after_each_call = ereg_replace("[^0-9]","",$VDstop_rec_after_each_call); - $VICIDIAL_park_on_extension = ereg_replace("[^0-9]","",$VICIDIAL_park_on_extension); - $vicidial_recording = ereg_replace("[^0-9]","",$vicidial_recording); - $vicidial_transfers = ereg_replace("[^0-9]","",$vicidial_transfers); - $voicemail_button_enabled = ereg_replace("[^0-9]","",$voicemail_button_enabled); - $voicemail_dump_exten = ereg_replace("[^0-9]","",$voicemail_dump_exten); - $voicemail_exten = ereg_replace("[^0-9]","",$voicemail_exten); - $wrapup_seconds = ereg_replace("[^0-9]","",$wrapup_seconds); - $use_non_latin = ereg_replace("[^0-9]","",$use_non_latin); - $webroot_writable = ereg_replace("[^0-9]","",$webroot_writable); - $enable_queuemetrics_logging = ereg_replace("[^0-9]","",$enable_queuemetrics_logging); - $enable_sipsak_messages = ereg_replace("[^0-9]","",$enable_sipsak_messages); - $allow_sipsak_messages = ereg_replace("[^0-9]","",$allow_sipsak_messages); - $mix_container_item = ereg_replace("[^0-9]","",$mix_container_item); - $prompt_interval = ereg_replace("[^0-9]","",$prompt_interval); - $agent_alert_delay = ereg_replace("[^0-9]","",$agent_alert_delay); - $manual_dial_list_id = ereg_replace("[^0-9]","",$manual_dial_list_id); - $qc_user_level = ereg_replace("[^0-9]","",$qc_user_level); - $qc_pass = ereg_replace("[^0-9]","",$qc_pass); - $qc_finish = ereg_replace("[^0-9]","",$qc_finish); - $qc_commit = ereg_replace("[^0-9]","",$qc_commit); - $shift_start_time = ereg_replace("[^0-9]","",$shift_start_time); - $timeclock_end_of_day = ereg_replace("[^0-9]","",$timeclock_end_of_day); - $survey_xfer_exten = ereg_replace("[^0-9]","",$survey_xfer_exten); - $add_timeclock_log = ereg_replace("[^0-9]","",$add_timeclock_log); - $modify_timeclock_log = ereg_replace("[^0-9]","",$modify_timeclock_log); - $delete_timeclock_log = ereg_replace("[^0-9]","",$delete_timeclock_log); - $vdc_agent_api_access = ereg_replace("[^0-9]","",$vdc_agent_api_access); - $vdc_agent_api_active = ereg_replace("[^0-9]","",$vdc_agent_api_active); - $hold_time_option_seconds = ereg_replace("[^0-9]","",$hold_time_option_seconds); - $hold_time_option_callback_list_id = ereg_replace("[^0-9]","",$hold_time_option_callback_list_id); - $did_id = ereg_replace("[^0-9]","",$did_id); - $source_did = ereg_replace("[^0-9]","",$source_did); - $modify_inbound_dids = ereg_replace("[^0-9]","",$modify_inbound_dids); - $delete_inbound_dids = ereg_replace("[^0-9]","",$delete_inbound_dids); - $answer_sec_pct_rt_stat_one = ereg_replace("[^0-9]","",$answer_sec_pct_rt_stat_one); - $answer_sec_pct_rt_stat_two = ereg_replace("[^0-9]","",$answer_sec_pct_rt_stat_two); - $enable_vtiger_integration = ereg_replace("[^0-9]","",$enable_vtiger_integration); - $qc_features_active = ereg_replace("[^0-9]","",$qc_features_active); - $outbound_autodial_active = ereg_replace("[^0-9]","",$outbound_autodial_active); - $download_lists = ereg_replace("[^0-9]","",$download_lists); - $caller_id_number = ereg_replace("[^0-9]","",$caller_id_number); - $outbound_calls_per_second = ereg_replace("[^0-9]","",$outbound_calls_per_second); - $manager_shift_enforcement_override = ereg_replace("[^0-9]","",$manager_shift_enforcement_override); - $export_reports = ereg_replace("[^0-9]","",$export_reports); - $delete_from_dnc = ereg_replace("[^0-9]","",$delete_from_dnc); - $menu_timeout = ereg_replace("[^0-9]","",$menu_timeout); - $menu_time_check = ereg_replace("[^0-9]","",$menu_time_check); - $track_in_vdac = ereg_replace("[^0-9]","",$track_in_vdac); - $menu_repeat = ereg_replace("[^0-9]","",$menu_repeat); - $agentonly_callback_campaign_lock = ereg_replace("[^0-9]","",$agentonly_callback_campaign_lock); - $sounds_central_control_active = ereg_replace("[^0-9]","",$sounds_central_control_active); - $user_territories_active = ereg_replace("[^0-9]","",$user_territories_active); - $vicidial_recording_limit = ereg_replace("[^0-9]","",$vicidial_recording_limit); - $allow_custom_dialplan = ereg_replace("[^0-9]","",$allow_custom_dialplan); - $phone_ring_timeout = ereg_replace("[^0-9]","",$phone_ring_timeout); - $enable_tts_integration = ereg_replace("[^0-9]","",$enable_tts_integration); - $allow_alerts = ereg_replace("[^0-9]","",$allow_alerts); - $vicidial_balance_rank = ereg_replace("[^0-9]","",$vicidial_balance_rank); - $rank = ereg_replace("[^0-9]","",$rank); - $enable_second_webform = ereg_replace("[^0-9]","",$enable_second_webform); - $campaign_cid_override = ereg_replace("[^0-9]","",$campaign_cid_override); - $agent_choose_territories = ereg_replace("[^0-9]","",$agent_choose_territories); - $timer_action_seconds = ereg_replace("[^0-9]","",$timer_action_seconds); - $default_webphone = ereg_replace("[^0-9]","",$default_webphone); - $default_external_server_ip = ereg_replace("[^0-9]","",$default_external_server_ip); - $enable_agc_xfer_log = ereg_replace("[^0-9]","",$enable_agc_xfer_log); - $enable_agc_dispo_log = ereg_replace("[^0-9]","",$enable_agc_dispo_log); - $callcard_enabled = ereg_replace("[^0-9]","",$callcard_enabled); - $callcard_admin = ereg_replace("[^0-9]","",$callcard_admin); - $extension_id = ereg_replace("[^0-9]","",$extension_id); - $agent_choose_blended = ereg_replace("[^0-9]","",$agent_choose_blended); - $realtime_block_user_info = ereg_replace("[^0-9]","",$realtime_block_user_info); - $codecs_with_template = ereg_replace("[^0-9]","",$codecs_with_template); - $custom_fields_modify = ereg_replace("[^0-9]","",$custom_fields_modify); - $hold_time_option_minimum = ereg_replace("[^0-9]","",$hold_time_option_minimum); - $onhold_prompt_seconds = ereg_replace("[^0-9]","",$onhold_prompt_seconds); - $hold_time_option_prompt_seconds = ereg_replace("[^0-9]","",$hold_time_option_prompt_seconds); - $custom_fields_enabled = ereg_replace("[^0-9]","",$custom_fields_enabled); - $wait_time_option_seconds = ereg_replace("[^0-9]","",$wait_time_option_seconds); - $wait_time_option_callback_list_id = ereg_replace("[^0-9]","",$wait_time_option_callback_list_id); - $wait_time_option_prompt_seconds = ereg_replace("[^0-9]","",$wait_time_option_prompt_seconds); - $filter_list_id = ereg_replace("[^0-9]","",$filter_list_id); - $calculate_estimated_hold_seconds = ereg_replace("[^0-9]","",$calculate_estimated_hold_seconds); - $customer_3way_hangup_seconds = ereg_replace("[^0-9]","",$customer_3way_hangup_seconds); - $eht_minimum_prompt_seconds = ereg_replace("[^0-9]","",$eht_minimum_prompt_seconds); - $admin_modify_refresh = ereg_replace("[^0-9]","",$admin_modify_refresh); - $nocache_admin = ereg_replace("[^0-9]","",$nocache_admin); - $generate_cross_server_exten = ereg_replace("[^0-9]","",$generate_cross_server_exten); - $queuemetrics_addmember_enabled = ereg_replace("[^0-9]","",$queuemetrics_addmember_enabled); - $modify_page = ereg_replace("[^0-9]","",$modify_page); - $on_hook_ring_time = ereg_replace("[^0-9]","",$on_hook_ring_time); - $reload_dialplan_on_servers = ereg_replace("[^0-9]","",$reload_dialplan_on_servers); - $available_only_tally_threshold_agents = ereg_replace("[^0-9]","",$available_only_tally_threshold_agents); - $dial_level_threshold_agents = ereg_replace("[^0-9]","",$dial_level_threshold_agents); - $dtmf_log = ereg_replace("[^0-9]","",$dtmf_log); - $callback_days_limit = ereg_replace("[^0-9]","",$callback_days_limit); - $queuemetrics_pe_phone_append = ereg_replace("[^0-9]","",$queuemetrics_pe_phone_append); - $test_campaign_calls = ereg_replace("[^0-9]","",$test_campaign_calls); - $agents_calls_reset = ereg_replace("[^0-9]","",$agents_calls_reset); - $campaign_cid_areacodes_enabled = ereg_replace("[^0-9]","",$campaign_cid_areacodes_enabled); - $areacode = ereg_replace("[^0-9]","",$areacode); - $pllb_grouping_limit = ereg_replace("[^0-9]","",$pllb_grouping_limit); - $did_ra_extensions_enabled = ereg_replace("[^0-9]","",$did_ra_extensions_enabled); - $modify_shifts = ereg_replace("[^0-9]","",$modify_shifts); - $modify_phones = ereg_replace("[^0-9]","",$modify_phones); - $modify_carriers = ereg_replace("[^0-9]","",$modify_carriers); - $modify_labels = ereg_replace("[^0-9]","",$modify_labels); - $modify_statuses = ereg_replace("[^0-9]","",$modify_statuses); - $modify_voicemail = ereg_replace("[^0-9]","",$modify_voicemail); - $modify_audiostore = ereg_replace("[^0-9]","",$modify_audiostore); - $modify_moh = ereg_replace("[^0-9]","",$modify_moh); - $modify_tts = ereg_replace("[^0-9]","",$modify_tts); - $call_count_limit = ereg_replace("[^0-9]","",$call_count_limit); - $call_count_target = ereg_replace("[^0-9]","",$call_count_target); - $expanded_list_stats = ereg_replace("[^0-9]","",$expanded_list_stats); - $contacts_enabled = ereg_replace("[^0-9]","",$contacts_enabled); - $contact_id = ereg_replace("[^0-9]","",$contact_id); - $office_num = ereg_replace("[^0-9]","",$office_num); - $cell_num = ereg_replace("[^0-9]","",$cell_num); - $other_num1 = ereg_replace("[^0-9]","",$other_num1); - $other_num2 = ereg_replace("[^0-9]","",$other_num2); - $modify_contacts = ereg_replace("[^0-9]","",$modify_contacts); - $callback_hours_block = ereg_replace("[^0-9]","",$callback_hours_block); - $modify_same_user_level = ereg_replace("[^0-9]","",$modify_same_user_level); - $admin_hide_lead_data = ereg_replace("[^0-9]","",$admin_hide_lead_data); - $max_calls_count = ereg_replace("[^0-9]","",$max_calls_count); - $report_rank = ereg_replace("[^0-9]","",$report_rank); - $dial_ingroup_cid = ereg_replace("[^0-9]","",$dial_ingroup_cid); - $call_menu_qualify_enabled = ereg_replace("[^0-9]","",$call_menu_qualify_enabled); - $admin_list_counts = ereg_replace("[^0-9]","",$admin_list_counts); - $allow_voicemail_greeting = ereg_replace("[^0-9]","",$allow_voicemail_greeting); - $enhanced_disconnect_logging = ereg_replace("[^0-9]","",$enhanced_disconnect_logging); - $level_8_disable_add = ereg_replace("[^0-9]","",$level_8_disable_add); - $survey_wait_sec = ereg_replace("[^0-9]","",$survey_wait_sec); + $adaptive_latest_server_time = preg_replace('/[^0-9]/','',$adaptive_latest_server_time); + $admin_hangup_enabled = preg_replace('/[^0-9]/','',$admin_hangup_enabled); + $admin_hijack_enabled = preg_replace('/[^0-9]/','',$admin_hijack_enabled); + $admin_monitor_enabled = preg_replace('/[^0-9]/','',$admin_monitor_enabled); + $AFLogging_enabled = preg_replace('/[^0-9]/','',$AFLogging_enabled); + $agent_choose_ingroups = preg_replace('/[^0-9]/','',$agent_choose_ingroups); + $agentcall_manual = preg_replace('/[^0-9]/','',$agentcall_manual); + $agentonly_callbacks = preg_replace('/[^0-9]/','',$agentonly_callbacks); + $AGI_call_logging_enabled = preg_replace('/[^0-9]/','',$AGI_call_logging_enabled); + $allcalls_delay = preg_replace('/[^0-9]/','',$allcalls_delay); + $alter_agent_interface_options = preg_replace('/[^0-9]/','',$alter_agent_interface_options); + $answer_transfer_agent = preg_replace('/[^0-9]/','',$answer_transfer_agent); + $ast_admin_access = preg_replace('/[^0-9]/','',$ast_admin_access); + $ast_delete_phones = preg_replace('/[^0-9]/','',$ast_delete_phones); + $attempt_delay = preg_replace('/[^0-9]/','',$attempt_delay); + $attempt_maximum = preg_replace('/[^0-9]/','',$attempt_maximum); + $auto_dial_next_number = preg_replace('/[^0-9]/','',$auto_dial_next_number); + $balance_trunks_offlimits = preg_replace('/[^0-9]/','',$balance_trunks_offlimits); + $call_parking_enabled = preg_replace('/[^0-9]/','',$call_parking_enabled); + $CallerID_popup_enabled = preg_replace('/[^0-9]/','',$CallerID_popup_enabled); + $campaign_detail = preg_replace('/[^0-9]/','',$campaign_detail); + $campaign_rec_exten = preg_replace('/[^0-9]/','',$campaign_rec_exten); + $campaign_vdad_exten = preg_replace('/[^0-9]/','',$campaign_vdad_exten); + $change_agent_campaign = preg_replace('/[^0-9]/','',$change_agent_campaign); + $closer_default_blended = preg_replace('/[^0-9]/','',$closer_default_blended); + $conf_exten = preg_replace('/[^0-9]/','',$conf_exten); + $conf_on_extension = preg_replace('/[^0-9]/','',$conf_on_extension); + $conferencing_enabled = preg_replace('/[^0-9]/','',$conferencing_enabled); + $ct_default_start = preg_replace('/[^0-9]/','',$ct_default_start); + $ct_default_stop = preg_replace('/[^0-9]/','',$ct_default_stop); + $ct_friday_start = preg_replace('/[^0-9]/','',$ct_friday_start); + $ct_friday_stop = preg_replace('/[^0-9]/','',$ct_friday_stop); + $ct_monday_start = preg_replace('/[^0-9]/','',$ct_monday_start); + $ct_monday_stop = preg_replace('/[^0-9]/','',$ct_monday_stop); + $ct_saturday_start = preg_replace('/[^0-9]/','',$ct_saturday_start); + $ct_saturday_stop = preg_replace('/[^0-9]/','',$ct_saturday_stop); + $ct_sunday_start = preg_replace('/[^0-9]/','',$ct_sunday_start); + $ct_sunday_stop = preg_replace('/[^0-9]/','',$ct_sunday_stop); + $ct_thursday_start = preg_replace('/[^0-9]/','',$ct_thursday_start); + $ct_thursday_stop = preg_replace('/[^0-9]/','',$ct_thursday_stop); + $ct_tuesday_start = preg_replace('/[^0-9]/','',$ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/[^0-9]/','',$ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/[^0-9]/','',$ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/[^0-9]/','',$ct_wednesday_stop); + $DBX_port = preg_replace('/[^0-9]/','',$DBX_port); + $DBY_port = preg_replace('/[^0-9]/','',$DBY_port); + $dedicated_trunks = preg_replace('/[^0-9]/','',$dedicated_trunks); + $delete_call_times = preg_replace('/[^0-9]/','',$delete_call_times); + $delete_campaigns = preg_replace('/[^0-9]/','',$delete_campaigns); + $delete_filters = preg_replace('/[^0-9]/','',$delete_filters); + $delete_ingroups = preg_replace('/[^0-9]/','',$delete_ingroups); + $delete_lists = preg_replace('/[^0-9]/','',$delete_lists); + $delete_remote_agents = preg_replace('/[^0-9]/','',$delete_remote_agents); + $delete_scripts = preg_replace('/[^0-9]/','',$delete_scripts); + $delete_user_groups = preg_replace('/[^0-9]/','',$delete_user_groups); + $delete_users = preg_replace('/[^0-9]/','',$delete_users); + $dial_timeout = preg_replace('/[^0-9]/','',$dial_timeout); + $dialplan_number = preg_replace('/[^0-9]/','',$dialplan_number); + $enable_fast_refresh = preg_replace('/[^0-9]/','',$enable_fast_refresh); + $enable_persistant_mysql = preg_replace('/[^0-9]/','',$enable_persistant_mysql); + $fast_refresh_rate = preg_replace('/[^0-9]/','',$fast_refresh_rate); + $hopper_level = preg_replace('/[^0-9]/','',$hopper_level); + $hotkey = preg_replace('/[^0-9]/','',$hotkey); + $hotkeys_active = preg_replace('/[^0-9]/','',$hotkeys_active); + $list_id = preg_replace('/[^0-9]/','',$list_id); + $load_leads = preg_replace('/[^0-9]/','',$load_leads); + $max_vicidial_trunks = preg_replace('/[^0-9]/','',$max_vicidial_trunks); + $modify_call_times = preg_replace('/[^0-9]/','',$modify_call_times); + $modify_users = preg_replace('/[^0-9]/','',$modify_users); + $modify_campaigns = preg_replace('/[^0-9]/','',$modify_campaigns); + $modify_lists = preg_replace('/[^0-9]/','',$modify_lists); + $modify_scripts = preg_replace('/[^0-9]/','',$modify_scripts); + $modify_filters = preg_replace('/[^0-9]/','',$modify_filters); + $modify_ingroups = preg_replace('/[^0-9]/','',$modify_ingroups); + $modify_usergroups = preg_replace('/[^0-9]/','',$modify_usergroups); + $modify_remoteagents = preg_replace('/[^0-9]/','',$modify_remoteagents); + $modify_servers = preg_replace('/[^0-9]/','',$modify_servers); + $view_reports = preg_replace('/[^0-9]/','',$view_reports); + $modify_leads = preg_replace('/[^0-9]/','',$modify_leads); + $monitor_prefix = preg_replace('/[^0-9]/','',$monitor_prefix); + $number_of_lines = preg_replace('/[^0-9]/','',$number_of_lines); + $old_conf_exten = preg_replace('/[^0-9]/','',$old_conf_exten); + $outbound_cid = preg_replace('/[^0-9]/','',$outbound_cid); + $park_ext = preg_replace('/[^0-9]/','',$park_ext); + $park_on_extension = preg_replace('/[^0-9]/','',$park_on_extension); + $phone_number = preg_replace('/[^0-9]/','',$phone_number); + $QUEUE_ACTION_enabled = preg_replace('/[^0-9]/','',$QUEUE_ACTION_enabled); + $recording_exten = preg_replace('/[^0-9]/','',$recording_exten); + $remote_agent_id = preg_replace('/[^0-9]/','',$remote_agent_id); + $telnet_port = preg_replace('/[^0-9]/','',$telnet_port); + $updater_check_enabled = preg_replace('/[^0-9]/','',$updater_check_enabled); + $user_level = preg_replace('/[^0-9]/','',$user_level); + $user_switching_enabled = preg_replace('/[^0-9]/','',$user_switching_enabled); + $VDstop_rec_after_each_call = preg_replace('/[^0-9]/','',$VDstop_rec_after_each_call); + $VICIDIAL_park_on_extension = preg_replace('/[^0-9]/','',$VICIDIAL_park_on_extension); + $vicidial_recording = preg_replace('/[^0-9]/','',$vicidial_recording); + $vicidial_transfers = preg_replace('/[^0-9]/','',$vicidial_transfers); + $voicemail_button_enabled = preg_replace('/[^0-9]/','',$voicemail_button_enabled); + $voicemail_dump_exten = preg_replace('/[^0-9]/','',$voicemail_dump_exten); + $voicemail_exten = preg_replace('/[^0-9]/','',$voicemail_exten); + $wrapup_seconds = preg_replace('/[^0-9]/','',$wrapup_seconds); + $use_non_latin = preg_replace('/[^0-9]/','',$use_non_latin); + $webroot_writable = preg_replace('/[^0-9]/','',$webroot_writable); + $enable_queuemetrics_logging = preg_replace('/[^0-9]/','',$enable_queuemetrics_logging); + $enable_sipsak_messages = preg_replace('/[^0-9]/','',$enable_sipsak_messages); + $allow_sipsak_messages = preg_replace('/[^0-9]/','',$allow_sipsak_messages); + $mix_container_item = preg_replace('/[^0-9]/','',$mix_container_item); + $prompt_interval = preg_replace('/[^0-9]/','',$prompt_interval); + $agent_alert_delay = preg_replace('/[^0-9]/','',$agent_alert_delay); + $manual_dial_list_id = preg_replace('/[^0-9]/','',$manual_dial_list_id); + $qc_user_level = preg_replace('/[^0-9]/','',$qc_user_level); + $qc_pass = preg_replace('/[^0-9]/','',$qc_pass); + $qc_finish = preg_replace('/[^0-9]/','',$qc_finish); + $qc_commit = preg_replace('/[^0-9]/','',$qc_commit); + $shift_start_time = preg_replace('/[^0-9]/','',$shift_start_time); + $timeclock_end_of_day = preg_replace('/[^0-9]/','',$timeclock_end_of_day); + $survey_xfer_exten = preg_replace('/[^0-9]/','',$survey_xfer_exten); + $add_timeclock_log = preg_replace('/[^0-9]/','',$add_timeclock_log); + $modify_timeclock_log = preg_replace('/[^0-9]/','',$modify_timeclock_log); + $delete_timeclock_log = preg_replace('/[^0-9]/','',$delete_timeclock_log); + $vdc_agent_api_access = preg_replace('/[^0-9]/','',$vdc_agent_api_access); + $vdc_agent_api_active = preg_replace('/[^0-9]/','',$vdc_agent_api_active); + $hold_time_option_seconds = preg_replace('/[^0-9]/','',$hold_time_option_seconds); + $hold_time_option_callback_list_id = preg_replace('/[^0-9]/','',$hold_time_option_callback_list_id); + $did_id = preg_replace('/[^0-9]/','',$did_id); + $source_did = preg_replace('/[^0-9]/','',$source_did); + $modify_inbound_dids = preg_replace('/[^0-9]/','',$modify_inbound_dids); + $delete_inbound_dids = preg_replace('/[^0-9]/','',$delete_inbound_dids); + $answer_sec_pct_rt_stat_one = preg_replace('/[^0-9]/','',$answer_sec_pct_rt_stat_one); + $answer_sec_pct_rt_stat_two = preg_replace('/[^0-9]/','',$answer_sec_pct_rt_stat_two); + $enable_vtiger_integration = preg_replace('/[^0-9]/','',$enable_vtiger_integration); + $qc_features_active = preg_replace('/[^0-9]/','',$qc_features_active); + $outbound_autodial_active = preg_replace('/[^0-9]/','',$outbound_autodial_active); + $download_lists = preg_replace('/[^0-9]/','',$download_lists); + $caller_id_number = preg_replace('/[^0-9]/','',$caller_id_number); + $outbound_calls_per_second = preg_replace('/[^0-9]/','',$outbound_calls_per_second); + $manager_shift_enforcement_override = preg_replace('/[^0-9]/','',$manager_shift_enforcement_override); + $export_reports = preg_replace('/[^0-9]/','',$export_reports); + $delete_from_dnc = preg_replace('/[^0-9]/','',$delete_from_dnc); + $menu_timeout = preg_replace('/[^0-9]/','',$menu_timeout); + $menu_time_check = preg_replace('/[^0-9]/','',$menu_time_check); + $track_in_vdac = preg_replace('/[^0-9]/','',$track_in_vdac); + $menu_repeat = preg_replace('/[^0-9]/','',$menu_repeat); + $agentonly_callback_campaign_lock = preg_replace('/[^0-9]/','',$agentonly_callback_campaign_lock); + $sounds_central_control_active = preg_replace('/[^0-9]/','',$sounds_central_control_active); + $user_territories_active = preg_replace('/[^0-9]/','',$user_territories_active); + $vicidial_recording_limit = preg_replace('/[^0-9]/','',$vicidial_recording_limit); + $allow_custom_dialplan = preg_replace('/[^0-9]/','',$allow_custom_dialplan); + $phone_ring_timeout = preg_replace('/[^0-9]/','',$phone_ring_timeout); + $enable_tts_integration = preg_replace('/[^0-9]/','',$enable_tts_integration); + $allow_alerts = preg_replace('/[^0-9]/','',$allow_alerts); + $vicidial_balance_rank = preg_replace('/[^0-9]/','',$vicidial_balance_rank); + $rank = preg_replace('/[^0-9]/','',$rank); + $enable_second_webform = preg_replace('/[^0-9]/','',$enable_second_webform); + $campaign_cid_override = preg_replace('/[^0-9]/','',$campaign_cid_override); + $agent_choose_territories = preg_replace('/[^0-9]/','',$agent_choose_territories); + $timer_action_seconds = preg_replace('/[^0-9]/','',$timer_action_seconds); + $default_webphone = preg_replace('/[^0-9]/','',$default_webphone); + $default_external_server_ip = preg_replace('/[^0-9]/','',$default_external_server_ip); + $enable_agc_xfer_log = preg_replace('/[^0-9]/','',$enable_agc_xfer_log); + $enable_agc_dispo_log = preg_replace('/[^0-9]/','',$enable_agc_dispo_log); + $callcard_enabled = preg_replace('/[^0-9]/','',$callcard_enabled); + $callcard_admin = preg_replace('/[^0-9]/','',$callcard_admin); + $extension_id = preg_replace('/[^0-9]/','',$extension_id); + $agent_choose_blended = preg_replace('/[^0-9]/','',$agent_choose_blended); + $realtime_block_user_info = preg_replace('/[^0-9]/','',$realtime_block_user_info); + $codecs_with_template = preg_replace('/[^0-9]/','',$codecs_with_template); + $custom_fields_modify = preg_replace('/[^0-9]/','',$custom_fields_modify); + $hold_time_option_minimum = preg_replace('/[^0-9]/','',$hold_time_option_minimum); + $onhold_prompt_seconds = preg_replace('/[^0-9]/','',$onhold_prompt_seconds); + $hold_time_option_prompt_seconds = preg_replace('/[^0-9]/','',$hold_time_option_prompt_seconds); + $custom_fields_enabled = preg_replace('/[^0-9]/','',$custom_fields_enabled); + $wait_time_option_seconds = preg_replace('/[^0-9]/','',$wait_time_option_seconds); + $wait_time_option_callback_list_id = preg_replace('/[^0-9]/','',$wait_time_option_callback_list_id); + $wait_time_option_prompt_seconds = preg_replace('/[^0-9]/','',$wait_time_option_prompt_seconds); + $filter_list_id = preg_replace('/[^0-9]/','',$filter_list_id); + $calculate_estimated_hold_seconds = preg_replace('/[^0-9]/','',$calculate_estimated_hold_seconds); + $customer_3way_hangup_seconds = preg_replace('/[^0-9]/','',$customer_3way_hangup_seconds); + $eht_minimum_prompt_seconds = preg_replace('/[^0-9]/','',$eht_minimum_prompt_seconds); + $admin_modify_refresh = preg_replace('/[^0-9]/','',$admin_modify_refresh); + $nocache_admin = preg_replace('/[^0-9]/','',$nocache_admin); + $generate_cross_server_exten = preg_replace('/[^0-9]/','',$generate_cross_server_exten); + $queuemetrics_addmember_enabled = preg_replace('/[^0-9]/','',$queuemetrics_addmember_enabled); + $modify_page = preg_replace('/[^0-9]/','',$modify_page); + $on_hook_ring_time = preg_replace('/[^0-9]/','',$on_hook_ring_time); + $reload_dialplan_on_servers = preg_replace('/[^0-9]/','',$reload_dialplan_on_servers); + $available_only_tally_threshold_agents = preg_replace('/[^0-9]/','',$available_only_tally_threshold_agents); + $dial_level_threshold_agents = preg_replace('/[^0-9]/','',$dial_level_threshold_agents); + $dtmf_log = preg_replace('/[^0-9]/','',$dtmf_log); + $callback_days_limit = preg_replace('/[^0-9]/','',$callback_days_limit); + $queuemetrics_pe_phone_append = preg_replace('/[^0-9]/','',$queuemetrics_pe_phone_append); + $test_campaign_calls = preg_replace('/[^0-9]/','',$test_campaign_calls); + $agents_calls_reset = preg_replace('/[^0-9]/','',$agents_calls_reset); + $campaign_cid_areacodes_enabled = preg_replace('/[^0-9]/','',$campaign_cid_areacodes_enabled); + $areacode = preg_replace('/[^0-9]/','',$areacode); + $pllb_grouping_limit = preg_replace('/[^0-9]/','',$pllb_grouping_limit); + $did_ra_extensions_enabled = preg_replace('/[^0-9]/','',$did_ra_extensions_enabled); + $modify_shifts = preg_replace('/[^0-9]/','',$modify_shifts); + $modify_phones = preg_replace('/[^0-9]/','',$modify_phones); + $modify_carriers = preg_replace('/[^0-9]/','',$modify_carriers); + $modify_labels = preg_replace('/[^0-9]/','',$modify_labels); + $modify_statuses = preg_replace('/[^0-9]/','',$modify_statuses); + $modify_voicemail = preg_replace('/[^0-9]/','',$modify_voicemail); + $modify_audiostore = preg_replace('/[^0-9]/','',$modify_audiostore); + $modify_moh = preg_replace('/[^0-9]/','',$modify_moh); + $modify_tts = preg_replace('/[^0-9]/','',$modify_tts); + $call_count_limit = preg_replace('/[^0-9]/','',$call_count_limit); + $call_count_target = preg_replace('/[^0-9]/','',$call_count_target); + $expanded_list_stats = preg_replace('/[^0-9]/','',$expanded_list_stats); + $contacts_enabled = preg_replace('/[^0-9]/','',$contacts_enabled); + $contact_id = preg_replace('/[^0-9]/','',$contact_id); + $office_num = preg_replace('/[^0-9]/','',$office_num); + $cell_num = preg_replace('/[^0-9]/','',$cell_num); + $other_num1 = preg_replace('/[^0-9]/','',$other_num1); + $other_num2 = preg_replace('/[^0-9]/','',$other_num2); + $modify_contacts = preg_replace('/[^0-9]/','',$modify_contacts); + $callback_hours_block = preg_replace('/[^0-9]/','',$callback_hours_block); + $modify_same_user_level = preg_replace('/[^0-9]/','',$modify_same_user_level); + $admin_hide_lead_data = preg_replace('/[^0-9]/','',$admin_hide_lead_data); + $max_calls_count = preg_replace('/[^0-9]/','',$max_calls_count); + $report_rank = preg_replace('/[^0-9]/','',$report_rank); + $dial_ingroup_cid = preg_replace('/[^0-9]/','',$dial_ingroup_cid); + $call_menu_qualify_enabled = preg_replace('/[^0-9]/','',$call_menu_qualify_enabled); + $admin_list_counts = preg_replace('/[^0-9]/','',$admin_list_counts); + $allow_voicemail_greeting = preg_replace('/[^0-9]/','',$allow_voicemail_greeting); + $enhanced_disconnect_logging = preg_replace('/[^0-9]/','',$enhanced_disconnect_logging); + $level_8_disable_add = preg_replace('/[^0-9]/','',$level_8_disable_add); + $survey_wait_sec = preg_replace('/[^0-9]/','',$survey_wait_sec); - $drop_call_seconds = ereg_replace("[^-0-9]","",$drop_call_seconds); + $drop_call_seconds = preg_replace('/[^-0-9]/','',$drop_call_seconds); ### DIGITS and COLONS - $shift_length = ereg_replace("[^\:0-9]","",$shift_length); + $shift_length = preg_replace('/[^\:0-9]/','',$shift_length); ### DIGITS and HASHES and STARS - $survey_dtmf_digits = ereg_replace("[^\#\*0-9]","",$survey_dtmf_digits); - $survey_ni_digit = ereg_replace("[^\#\*0-9]","",$survey_ni_digit); + $survey_dtmf_digits = preg_replace('/[^\#\*0-9]/','',$survey_dtmf_digits); + $survey_ni_digit = preg_replace('/[^\#\*0-9]/','',$survey_ni_digit); ### DIGITS and DASHES - $group_rank = ereg_replace("[^-0-9]","",$group_rank); - $campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); - $queue_priority = ereg_replace("[^-0-9]","",$queue_priority); + $group_rank = preg_replace('/[^-0-9]/','',$group_rank); + $campaign_rank = preg_replace('/[^-0-9]/','',$campaign_rank); + $queue_priority = preg_replace('/[^-0-9]/','',$queue_priority); ### Y or N ONLY ### - $allow_closers = ereg_replace("[^NY]","",$allow_closers); - $reset_hopper = ereg_replace("[^NY]","",$reset_hopper); - $amd_send_to_vmx = ereg_replace("[^NY]","",$amd_send_to_vmx); - $alt_number_dialing = ereg_replace("[^NY]","",$alt_number_dialing); - $selectable = ereg_replace("[^NY]","",$selectable); - $reset_list = ereg_replace("[^NY]","",$reset_list); - $fronter_display = ereg_replace("[^NY]","",$fronter_display); - $omit_phone_code = ereg_replace("[^NY]","",$omit_phone_code); - $available_only_ratio_tally = ereg_replace("[^NY]","",$available_only_ratio_tally); - $sys_perf_log = ereg_replace("[^NY]","",$sys_perf_log); - $vicidial_balance_active = ereg_replace("[^NY]","",$vicidial_balance_active); - $vd_server_logs = ereg_replace("[^NY]","",$vd_server_logs); - $campaign_stats_refresh = ereg_replace("[^NY]","",$campaign_stats_refresh); - $disable_alter_custdata = ereg_replace("[^NY]","",$disable_alter_custdata); - $no_hopper_leads_logins = ereg_replace("[^NY]","",$no_hopper_leads_logins); - $human_answered = ereg_replace("[^NY]","",$human_answered); - $tovdad_display = ereg_replace("[^NY]","",$tovdad_display); - $campaign_allow_inbound = ereg_replace("[^NY]","",$campaign_allow_inbound); - $old_campaign_allow_inbound = ereg_replace("[^NY]","",$old_campaign_allow_inbound); - $display_queue_count = ereg_replace("[^NY]","",$display_queue_count); - $qc_show_recording = ereg_replace("[^NY]","",$qc_show_recording); - $sale_category = ereg_replace("[^NY]","",$sale_category); - $dead_lead_category = ereg_replace("[^NY]","",$dead_lead_category); - $agent_extended_alt_dial = ereg_replace("[^NY]","",$agent_extended_alt_dial); - $play_place_in_line = ereg_replace("[^NY]","",$play_place_in_line); - $play_estimate_hold_time = ereg_replace("[^NY]","",$play_estimate_hold_time); - $no_delay_call_route = ereg_replace("[^NY]","",$no_delay_call_route); - $did_active = ereg_replace("[^NY]","",$did_active); - $active_asterisk_server = ereg_replace("[^NY]","",$active_asterisk_server); - $generate_vicidial_conf = ereg_replace("[^NY]","",$generate_vicidial_conf); - $rebuild_conf_files = ereg_replace("[^NY]","",$rebuild_conf_files); - $agent_allow_group_alias = ereg_replace("[^NY]","",$agent_allow_group_alias); - $vtiger_status_call = ereg_replace("[^NY]","",$vtiger_status_call); - $sale = ereg_replace("[^NY]","",$sale); - $dnc = ereg_replace("[^NY]","",$dnc); - $customer_contact = ereg_replace("[^NY]","",$customer_contact); - $not_interested = ereg_replace("[^NY]","",$not_interested); - $unworkable = ereg_replace("[^NY]","",$unworkable); - $sounds_update = ereg_replace("[^NY]","",$sounds_update); - $carrier_logging_active = ereg_replace("[^NY]","",$carrier_logging_active); - $agent_status_view_time = ereg_replace("[^NY]","",$agent_status_view_time); - $no_hopper_dialing = ereg_replace("[^NY]","",$no_hopper_dialing); - $agent_display_dialable_leads = ereg_replace("[^NY]","",$agent_display_dialable_leads); - $random = ereg_replace("[^NY]","",$random); - $rebuild_music_on_hold = ereg_replace("[^NY]","",$rebuild_music_on_hold); - $active_agent_login_server = ereg_replace("[^NY]","",$active_agent_login_server); - $agent_select_territories = ereg_replace("[^NY]","",$agent_select_territories); - $delete_vm_after_email = ereg_replace("[^NY]","",$delete_vm_after_email); - $crm_popup_login = ereg_replace("[^NY]","",$crm_popup_login); - $ignore_list_script_override = ereg_replace("[^NY]","",$ignore_list_script_override); - $is_webphone = ereg_replace("[^-_0-9a-zA-Z]","",$is_webphone); - $use_external_server_ip = ereg_replace("[^NY]","",$use_external_server_ip); - $agent_xfer_consultative = ereg_replace("[^NY]","",$agent_xfer_consultative); - $agent_xfer_dial_override = ereg_replace("[^NY]","",$agent_xfer_dial_override); - $agent_xfer_vm_transfer = ereg_replace("[^NY]","",$agent_xfer_vm_transfer); - $agent_xfer_blind_transfer = ereg_replace("[^NY]","",$agent_xfer_blind_transfer); - $agent_xfer_dial_with_customer = ereg_replace("[^NY]","",$agent_xfer_dial_with_customer); - $agent_xfer_park_customer_dial = ereg_replace("[^NY]","",$agent_xfer_park_customer_dial); - $agent_fullscreen = ereg_replace("[^NY]","",$agent_fullscreen); - $extension_appended_cidname = ereg_replace("[^NY]","",$extension_appended_cidname); - $onhold_prompt_no_block = ereg_replace("[^NY]","",$onhold_prompt_no_block); - $hold_time_option_no_block = ereg_replace("[^NY]","",$hold_time_option_no_block); - $wait_time_option_no_block = ereg_replace("[^NY]","",$wait_time_option_no_block); - $preset_hide_number = ereg_replace("[^NY]","",$preset_hide_number); - $use_auto_hopper = ereg_replace("[^NY]","",$use_auto_hopper); - $auto_trim_hopper = ereg_replace("[^NY]","",$auto_trim_hopper); - $force_change_password = ereg_replace("[^NY]","",$force_change_password); - $first_login_trigger = ereg_replace("[^NY]","",$first_login_trigger); - $eht_minimum_prompt_no_block = ereg_replace("[^NY]","",$eht_minimum_prompt_no_block); - $lead_order_randomize = ereg_replace("[^NY]","",$lead_order_randomize); - $on_hook_agent = ereg_replace("[^NY]","",$on_hook_agent); - $auto_pause_precall = ereg_replace("[^NY]","",$auto_pause_precall); - $auto_resume_precall = ereg_replace("[^NY]","",$auto_resume_precall); - $webphone_auto_answer = ereg_replace("[^NY]","",$webphone_auto_answer); - $noanswer_log = ereg_replace("[^NY]","",$noanswer_log); - $did_agent_log = ereg_replace("[^NY]","",$did_agent_log); - $completed = ereg_replace("[^NY]","",$completed); - $report_option = ereg_replace("[^NY]","",$report_option); - $hopper_vlc_dup_check = ereg_replace("[^NY]","",$hopper_vlc_dup_check); - $inventory_report = ereg_replace("[^NY]","",$inventory_report); + $allow_closers = preg_replace('/[^NY]/','',$allow_closers); + $reset_hopper = preg_replace('/[^NY]/','',$reset_hopper); + $amd_send_to_vmx = preg_replace('/[^NY]/','',$amd_send_to_vmx); + $alt_number_dialing = preg_replace('/[^NY]/','',$alt_number_dialing); + $selectable = preg_replace('/[^NY]/','',$selectable); + $reset_list = preg_replace('/[^NY]/','',$reset_list); + $fronter_display = preg_replace('/[^NY]/','',$fronter_display); + $omit_phone_code = preg_replace('/[^NY]/','',$omit_phone_code); + $available_only_ratio_tally = preg_replace('/[^NY]/','',$available_only_ratio_tally); + $sys_perf_log = preg_replace('/[^NY]/','',$sys_perf_log); + $vicidial_balance_active = preg_replace('/[^NY]/','',$vicidial_balance_active); + $vd_server_logs = preg_replace('/[^NY]/','',$vd_server_logs); + $campaign_stats_refresh = preg_replace('/[^NY]/','',$campaign_stats_refresh); + $disable_alter_custdata = preg_replace('/[^NY]/','',$disable_alter_custdata); + $no_hopper_leads_logins = preg_replace('/[^NY]/','',$no_hopper_leads_logins); + $human_answered = preg_replace('/[^NY]/','',$human_answered); + $tovdad_display = preg_replace('/[^NY]/','',$tovdad_display); + $campaign_allow_inbound = preg_replace('/[^NY]/','',$campaign_allow_inbound); + $old_campaign_allow_inbound = preg_replace('/[^NY]/','',$old_campaign_allow_inbound); + $display_queue_count = preg_replace('/[^NY]/','',$display_queue_count); + $qc_show_recording = preg_replace('/[^NY]/','',$qc_show_recording); + $sale_category = preg_replace('/[^NY]/','',$sale_category); + $dead_lead_category = preg_replace('/[^NY]/','',$dead_lead_category); + $agent_extended_alt_dial = preg_replace('/[^NY]/','',$agent_extended_alt_dial); + $play_place_in_line = preg_replace('/[^NY]/','',$play_place_in_line); + $play_estimate_hold_time = preg_replace('/[^NY]/','',$play_estimate_hold_time); + $no_delay_call_route = preg_replace('/[^NY]/','',$no_delay_call_route); + $did_active = preg_replace('/[^NY]/','',$did_active); + $active_asterisk_server = preg_replace('/[^NY]/','',$active_asterisk_server); + $generate_vicidial_conf = preg_replace('/[^NY]/','',$generate_vicidial_conf); + $rebuild_conf_files = preg_replace('/[^NY]/','',$rebuild_conf_files); + $agent_allow_group_alias = preg_replace('/[^NY]/','',$agent_allow_group_alias); + $vtiger_status_call = preg_replace('/[^NY]/','',$vtiger_status_call); + $sale = preg_replace('/[^NY]/','',$sale); + $dnc = preg_replace('/[^NY]/','',$dnc); + $customer_contact = preg_replace('/[^NY]/','',$customer_contact); + $not_interested = preg_replace('/[^NY]/','',$not_interested); + $unworkable = preg_replace('/[^NY]/','',$unworkable); + $sounds_update = preg_replace('/[^NY]/','',$sounds_update); + $carrier_logging_active = preg_replace('/[^NY]/','',$carrier_logging_active); + $agent_status_view_time = preg_replace('/[^NY]/','',$agent_status_view_time); + $no_hopper_dialing = preg_replace('/[^NY]/','',$no_hopper_dialing); + $agent_display_dialable_leads = preg_replace('/[^NY]/','',$agent_display_dialable_leads); + $random = preg_replace('/[^NY]/','',$random); + $rebuild_music_on_hold = preg_replace('/[^NY]/','',$rebuild_music_on_hold); + $active_agent_login_server = preg_replace('/[^NY]/','',$active_agent_login_server); + $agent_select_territories = preg_replace('/[^NY]/','',$agent_select_territories); + $delete_vm_after_email = preg_replace('/[^NY]/','',$delete_vm_after_email); + $crm_popup_login = preg_replace('/[^NY]/','',$crm_popup_login); + $ignore_list_script_override = preg_replace('/[^NY]/','',$ignore_list_script_override); + $is_webphone = preg_replace('/[^-_0-9a-zA-Z]/','',$is_webphone); + $use_external_server_ip = preg_replace('/[^NY]/','',$use_external_server_ip); + $agent_xfer_consultative = preg_replace('/[^NY]/','',$agent_xfer_consultative); + $agent_xfer_dial_override = preg_replace('/[^NY]/','',$agent_xfer_dial_override); + $agent_xfer_vm_transfer = preg_replace('/[^NY]/','',$agent_xfer_vm_transfer); + $agent_xfer_blind_transfer = preg_replace('/[^NY]/','',$agent_xfer_blind_transfer); + $agent_xfer_dial_with_customer = preg_replace('/[^NY]/','',$agent_xfer_dial_with_customer); + $agent_xfer_park_customer_dial = preg_replace('/[^NY]/','',$agent_xfer_park_customer_dial); + $agent_fullscreen = preg_replace('/[^NY]/','',$agent_fullscreen); + $extension_appended_cidname = preg_replace('/[^NY]/','',$extension_appended_cidname); + $onhold_prompt_no_block = preg_replace('/[^NY]/','',$onhold_prompt_no_block); + $hold_time_option_no_block = preg_replace('/[^NY]/','',$hold_time_option_no_block); + $wait_time_option_no_block = preg_replace('/[^NY]/','',$wait_time_option_no_block); + $preset_hide_number = preg_replace('/[^NY]/','',$preset_hide_number); + $use_auto_hopper = preg_replace('/[^NY]/','',$use_auto_hopper); + $auto_trim_hopper = preg_replace('/[^NY]/','',$auto_trim_hopper); + $force_change_password = preg_replace('/[^NY]/','',$force_change_password); + $first_login_trigger = preg_replace('/[^NY]/','',$first_login_trigger); + $eht_minimum_prompt_no_block = preg_replace('/[^NY]/','',$eht_minimum_prompt_no_block); + $lead_order_randomize = preg_replace('/[^NY]/','',$lead_order_randomize); + $on_hook_agent = preg_replace('/[^NY]/','',$on_hook_agent); + $auto_pause_precall = preg_replace('/[^NY]/','',$auto_pause_precall); + $auto_resume_precall = preg_replace('/[^NY]/','',$auto_resume_precall); + $webphone_auto_answer = preg_replace('/[^NY]/','',$webphone_auto_answer); + $noanswer_log = preg_replace('/[^NY]/','',$noanswer_log); + $did_agent_log = preg_replace('/[^NY]/','',$did_agent_log); + $completed = preg_replace('/[^NY]/','',$completed); + $report_option = preg_replace('/[^NY]/','',$report_option); + $hopper_vlc_dup_check = preg_replace('/[^NY]/','',$hopper_vlc_dup_check); + $inventory_report = preg_replace('/[^NY]/','',$inventory_report); - $qc_enabled = ereg_replace("[^0-9NY]","",$qc_enabled); - $active = ereg_replace("[^0-9NY]","",$active); + $qc_enabled = preg_replace('/[^0-9NY]/','',$qc_enabled); + $active = preg_replace('/[^0-9NY]/','',$active); ### ALPHA-NUMERIC ONLY ### - $script_id = ereg_replace("[^0-9a-zA-Z]","",$script_id); - $agent_script_override = ereg_replace("[^0-9a-zA-Z]","",$agent_script_override); - $campaign_script = ereg_replace("[^0-9a-zA-Z]","",$campaign_script); - $submit = ereg_replace("[^0-9a-zA-Z]","",$submit); - $campaign_cid = ereg_replace("[^0-9a-zA-Z]","",$campaign_cid); - $get_call_launch = ereg_replace("[^0-9a-zA-Z]","",$get_call_launch); - $campaign_recording = ereg_replace("[^0-9a-zA-Z]","",$campaign_recording); - $ADD = ereg_replace("[^0-9a-zA-Z]","",$ADD); - $dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); - $state_call_time_state = ereg_replace("[^0-9a-zA-Z]","",$state_call_time_state); - $scheduled_callbacks = ereg_replace("[^0-9a-zA-Z]","",$scheduled_callbacks); - $concurrent_transfers = ereg_replace("[^0-9a-zA-Z]","",$concurrent_transfers); - $billable = ereg_replace("[^0-9a-zA-Z]","",$billable); - $pause_code = ereg_replace("[^0-9a-zA-Z]","",$pause_code); - $vicidial_recording_override = ereg_replace("[^0-9a-zA-Z]","",$vicidial_recording_override); - $ingroup_recording_override = ereg_replace("[^0-9a-zA-Z]","",$ingroup_recording_override); - $queuemetrics_log_id = ereg_replace("[^0-9a-zA-Z]","",$queuemetrics_log_id); - $after_hours_exten = ereg_replace("[^0-9a-zA-Z]","",$after_hours_exten); - $after_hours_voicemail = ereg_replace("[^0-9a-zA-Z]","",$after_hours_voicemail); - $qc_script = ereg_replace("[^0-9a-zA-Z]","",$qc_script); - $code = ereg_replace("[^0-9a-zA-Z]","",$code); - $survey_no_response_action = ereg_replace("[^0-9a-zA-Z]","",$survey_no_response_action); - $survey_ni_status = ereg_replace("[^0-9a-zA-Z]","",$survey_ni_status); - $qc_get_record_launch = ereg_replace("[^0-9a-zA-Z]","",$qc_get_record_launch); - $agent_pause_codes_active = ereg_replace("[^0-9a-zA-Z]","",$agent_pause_codes_active); - $three_way_dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$three_way_dial_prefix); - $shift_enforcement = ereg_replace("[^0-9a-zA-Z]","",$shift_enforcement); - $agent_shift_enforcement_override = ereg_replace("[^0-9a-zA-Z]","",$agent_shift_enforcement_override); - $survey_third_status = ereg_replace("[^0-9a-zA-Z]","",$survey_third_status); - $survey_fourth_status = ereg_replace("[^0-9a-zA-Z]","",$survey_fourth_status); - $sounds_web_directory = ereg_replace("[^0-9a-zA-Z]","",$sounds_web_directory); - $disable_alter_custphone = ereg_replace("[^0-9a-zA-Z]","",$disable_alter_custphone); - $view_calls_in_queue = ereg_replace("[^0-9a-zA-Z]","",$view_calls_in_queue); - $view_calls_in_queue_launch = ereg_replace("[^0-9a-zA-Z]","",$view_calls_in_queue_launch); - $grab_calls_in_queue = ereg_replace("[^0-9a-zA-Z]","",$grab_calls_in_queue); - $call_requeue_button = ereg_replace("[^0-9a-zA-Z]","",$call_requeue_button); - $pause_after_each_call = ereg_replace("[^0-9a-zA-Z]","",$pause_after_each_call); - $use_internal_dnc = ereg_replace("[^0-9a-zA-Z]","",$use_internal_dnc); - $use_campaign_dnc = ereg_replace("[^0-9a-zA-Z]","",$use_campaign_dnc); - $voicemail_id = ereg_replace("[^0-9a-zA-Z]","",$voicemail_id); - $status_id = ereg_replace("[^0-9a-zA-Z]","",$status_id); - $agent_call_log_view = ereg_replace("[^0-9a-zA-Z]","",$agent_call_log_view); - $agent_call_log_view_override = ereg_replace("[^0-9a-zA-Z]","",$agent_call_log_view_override); - $queuemetrics_loginout = ereg_replace("[^0-9a-zA-Z]","",$queuemetrics_loginout); - $queuemetrics_callstatus = ereg_replace("[^0-9a-zA-Z]","",$queuemetrics_callstatus); - $filter_inbound_number = ereg_replace("[^0-9a-zA-Z]","",$filter_inbound_number); - $enable_xfer_presets = ereg_replace("[^0-9a-zA-Z]","",$enable_xfer_presets); - $hide_xfer_number_to_dial = ereg_replace("[^0-9a-zA-Z]","",$hide_xfer_number_to_dial); - $manual_dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$manual_dial_prefix); - $customer_3way_hangup_logging = ereg_replace("[^0-9a-zA-Z]","",$customer_3way_hangup_logging); - $customer_3way_hangup_action = ereg_replace("[^0-9a-zA-Z]","",$customer_3way_hangup_action); - $queuemetrics_dispo_pause = ereg_replace("[^0-9a-zA-Z]","",$queuemetrics_dispo_pause); - $per_call_notes = ereg_replace("[^0-9a-zA-Z]","",$per_call_notes); - $my_callback_option = ereg_replace("[^0-9a-zA-Z]","",$my_callback_option); - $auto_pause_precall_code = ereg_replace("[^0-9a-zA-Z]","",$auto_pause_precall_code); - $disable_dispo_status = ereg_replace("[^0-9a-zA-Z]","",$disable_dispo_status); - $use_custom_cid = ereg_replace("[^0-9a-zA-Z]","",$use_custom_cid); - $action_xfer_cid = ereg_replace("[^0-9a-zA-Z]","",$action_xfer_cid); - $callback_list_calltime = ereg_replace("[^0-9a-zA-Z]","",$callback_list_calltime); - $pause_after_next_call = ereg_replace("[^0-9a-zA-Z]","",$pause_after_next_call); - $owner_populate = ereg_replace("[^0-9a-zA-Z]","",$owner_populate); - $use_other_campaign_dnc = ereg_replace("[^0-9a-zA-Z]","",$use_other_campaign_dnc); + $script_id = preg_replace('/[^0-9a-zA-Z]/','',$script_id); + $agent_script_override = preg_replace('/[^0-9a-zA-Z]/','',$agent_script_override); + $campaign_script = preg_replace('/[^0-9a-zA-Z]/','',$campaign_script); + $submit = preg_replace('/[^0-9a-zA-Z]/','',$submit); + $campaign_cid = preg_replace('/[^0-9a-zA-Z]/','',$campaign_cid); + $get_call_launch = preg_replace('/[^0-9a-zA-Z]/','',$get_call_launch); + $campaign_recording = preg_replace('/[^0-9a-zA-Z]/','',$campaign_recording); + $ADD = preg_replace('/[^0-9a-zA-Z]/','',$ADD); + $dial_prefix = preg_replace('/[^0-9a-zA-Z]/','',$dial_prefix); + $state_call_time_state = preg_replace('/[^0-9a-zA-Z]/','',$state_call_time_state); + $scheduled_callbacks = preg_replace('/[^0-9a-zA-Z]/','',$scheduled_callbacks); + $concurrent_transfers = preg_replace('/[^0-9a-zA-Z]/','',$concurrent_transfers); + $billable = preg_replace('/[^0-9a-zA-Z]/','',$billable); + $pause_code = preg_replace('/[^0-9a-zA-Z]/','',$pause_code); + $vicidial_recording_override = preg_replace('/[^0-9a-zA-Z]/','',$vicidial_recording_override); + $ingroup_recording_override = preg_replace('/[^0-9a-zA-Z]/','',$ingroup_recording_override); + $queuemetrics_log_id = preg_replace('/[^0-9a-zA-Z]/','',$queuemetrics_log_id); + $after_hours_exten = preg_replace('/[^0-9a-zA-Z]/','',$after_hours_exten); + $after_hours_voicemail = preg_replace('/[^0-9a-zA-Z]/','',$after_hours_voicemail); + $qc_script = preg_replace('/[^0-9a-zA-Z]/','',$qc_script); + $code = preg_replace('/[^0-9a-zA-Z]/','',$code); + $survey_no_response_action = preg_replace('/[^0-9a-zA-Z]/','',$survey_no_response_action); + $survey_ni_status = preg_replace('/[^0-9a-zA-Z]/','',$survey_ni_status); + $qc_get_record_launch = preg_replace('/[^0-9a-zA-Z]/','',$qc_get_record_launch); + $agent_pause_codes_active = preg_replace('/[^0-9a-zA-Z]/','',$agent_pause_codes_active); + $three_way_dial_prefix = preg_replace('/[^0-9a-zA-Z]/','',$three_way_dial_prefix); + $shift_enforcement = preg_replace('/[^0-9a-zA-Z]/','',$shift_enforcement); + $agent_shift_enforcement_override = preg_replace('/[^0-9a-zA-Z]/','',$agent_shift_enforcement_override); + $survey_third_status = preg_replace('/[^0-9a-zA-Z]/','',$survey_third_status); + $survey_fourth_status = preg_replace('/[^0-9a-zA-Z]/','',$survey_fourth_status); + $sounds_web_directory = preg_replace('/[^0-9a-zA-Z]/','',$sounds_web_directory); + $disable_alter_custphone = preg_replace('/[^0-9a-zA-Z]/','',$disable_alter_custphone); + $view_calls_in_queue = preg_replace('/[^0-9a-zA-Z]/','',$view_calls_in_queue); + $view_calls_in_queue_launch = preg_replace('/[^0-9a-zA-Z]/','',$view_calls_in_queue_launch); + $grab_calls_in_queue = preg_replace('/[^0-9a-zA-Z]/','',$grab_calls_in_queue); + $call_requeue_button = preg_replace('/[^0-9a-zA-Z]/','',$call_requeue_button); + $pause_after_each_call = preg_replace('/[^0-9a-zA-Z]/','',$pause_after_each_call); + $use_internal_dnc = preg_replace('/[^0-9a-zA-Z]/','',$use_internal_dnc); + $use_campaign_dnc = preg_replace('/[^0-9a-zA-Z]/','',$use_campaign_dnc); + $voicemail_id = preg_replace('/[^0-9a-zA-Z]/','',$voicemail_id); + $status_id = preg_replace('/[^0-9a-zA-Z]/','',$status_id); + $agent_call_log_view = preg_replace('/[^0-9a-zA-Z]/','',$agent_call_log_view); + $agent_call_log_view_override = preg_replace('/[^0-9a-zA-Z]/','',$agent_call_log_view_override); + $queuemetrics_loginout = preg_replace('/[^0-9a-zA-Z]/','',$queuemetrics_loginout); + $queuemetrics_callstatus = preg_replace('/[^0-9a-zA-Z]/','',$queuemetrics_callstatus); + $filter_inbound_number = preg_replace('/[^0-9a-zA-Z]/','',$filter_inbound_number); + $enable_xfer_presets = preg_replace('/[^0-9a-zA-Z]/','',$enable_xfer_presets); + $hide_xfer_number_to_dial = preg_replace('/[^0-9a-zA-Z]/','',$hide_xfer_number_to_dial); + $manual_dial_prefix = preg_replace('/[^0-9a-zA-Z]/','',$manual_dial_prefix); + $customer_3way_hangup_logging = preg_replace('/[^0-9a-zA-Z]/','',$customer_3way_hangup_logging); + $customer_3way_hangup_action = preg_replace('/[^0-9a-zA-Z]/','',$customer_3way_hangup_action); + $queuemetrics_dispo_pause = preg_replace('/[^0-9a-zA-Z]/','',$queuemetrics_dispo_pause); + $per_call_notes = preg_replace('/[^0-9a-zA-Z]/','',$per_call_notes); + $my_callback_option = preg_replace('/[^0-9a-zA-Z]/','',$my_callback_option); + $auto_pause_precall_code = preg_replace('/[^0-9a-zA-Z]/','',$auto_pause_precall_code); + $disable_dispo_status = preg_replace('/[^0-9a-zA-Z]/','',$disable_dispo_status); + $use_custom_cid = preg_replace('/[^0-9a-zA-Z]/','',$use_custom_cid); + $action_xfer_cid = preg_replace('/[^0-9a-zA-Z]/','',$action_xfer_cid); + $callback_list_calltime = preg_replace('/[^0-9a-zA-Z]/','',$callback_list_calltime); + $pause_after_next_call = preg_replace('/[^0-9a-zA-Z]/','',$pause_after_next_call); + $owner_populate = preg_replace('/[^0-9a-zA-Z]/','',$owner_populate); + $use_other_campaign_dnc = preg_replace('/[^0-9a-zA-Z]/','',$use_other_campaign_dnc); ### DIGITS and Dots - $server_ip = ereg_replace("[^\.0-9]","",$server_ip); - $auto_dial_level = ereg_replace("[^\.0-9]","",$auto_dial_level); - $adaptive_maximum_level = ereg_replace("[^\.0-9]","",$adaptive_maximum_level); - $phone_ip = ereg_replace("[^\.0-9]","",$phone_ip); - $old_server_ip = ereg_replace("[^\.0-9]","",$old_server_ip); - $computer_ip = ereg_replace("[^\.0-9]","",$computer_ip); - $queuemetrics_server_ip = ereg_replace("[^\.0-9]","",$queuemetrics_server_ip); - $vtiger_server_ip = ereg_replace("[^\.0-9]","",$vtiger_server_ip); - $active_voicemail_server = ereg_replace("[^\.0-9]","",$active_voicemail_server); - $auto_dial_limit = ereg_replace("[^\.0-9]","",$auto_dial_limit); - $adaptive_dropped_percentage = ereg_replace("[^\.0-9]","",$adaptive_dropped_percentage); - $drop_lockout_time = ereg_replace("[^\.0-9]","",$drop_lockout_time); - $filter_server_ip = ereg_replace("[^\.0-9]","",$filter_server_ip); - $auto_hopper_multi = ereg_replace("[^\.0-9]","",$auto_hopper_multi); + $server_ip = preg_replace('/[^\.0-9]/','',$server_ip); + $auto_dial_level = preg_replace('/[^\.0-9]/','',$auto_dial_level); + $adaptive_maximum_level = preg_replace('/[^\.0-9]/','',$adaptive_maximum_level); + $phone_ip = preg_replace('/[^\.0-9]/','',$phone_ip); + $old_server_ip = preg_replace('/[^\.0-9]/','',$old_server_ip); + $computer_ip = preg_replace('/[^\.0-9]/','',$computer_ip); + $queuemetrics_server_ip = preg_replace('/[^\.0-9]/','',$queuemetrics_server_ip); + $vtiger_server_ip = preg_replace('/[^\.0-9]/','',$vtiger_server_ip); + $active_voicemail_server = preg_replace('/[^\.0-9]/','',$active_voicemail_server); + $auto_dial_limit = preg_replace('/[^\.0-9]/','',$auto_dial_limit); + $adaptive_dropped_percentage = preg_replace('/[^\.0-9]/','',$adaptive_dropped_percentage); + $drop_lockout_time = preg_replace('/[^\.0-9]/','',$drop_lockout_time); + $filter_server_ip = preg_replace('/[^\.0-9]/','',$filter_server_ip); + $auto_hopper_multi = preg_replace('/[^\.0-9]/','',$auto_hopper_multi); ### ALPHA-NUMERIC and spaces and hash and star and comma - $xferconf_a_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_a_dtmf); - $xferconf_b_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_b_dtmf); - $xferconf_c_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_c_dtmf); - $xferconf_d_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_d_dtmf); - $xferconf_e_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_e_dtmf); - $survey_third_digit = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$survey_third_digit); - $survey_fourth_digit = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$survey_fourth_digit); - $survey_third_exten = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$survey_third_exten); - $survey_fourth_exten = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$survey_fourth_exten); - $preset_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$preset_dtmf); + $xferconf_a_dtmf = preg_replace('/[^ \,\*\#0-9a-zA-Z]/','',$xferconf_a_dtmf); + $xferconf_b_dtmf = preg_replace('/[^ \,\*\#0-9a-zA-Z]/','',$xferconf_b_dtmf); + $xferconf_c_dtmf = preg_replace('/[^ \,\*\#0-9a-zA-Z]/','',$xferconf_c_dtmf); + $xferconf_d_dtmf = preg_replace('/[^ \,\*\#0-9a-zA-Z]/','',$xferconf_d_dtmf); + $xferconf_e_dtmf = preg_replace('/[^ \,\*\#0-9a-zA-Z]/','',$xferconf_e_dtmf); + $survey_third_digit = preg_replace('/[^ \,\*\#0-9a-zA-Z]/','',$survey_third_digit); + $survey_fourth_digit = preg_replace('/[^ \,\*\#0-9a-zA-Z]/','',$survey_fourth_digit); + $survey_third_exten = preg_replace('/[^ \,\*\#0-9a-zA-Z]/','',$survey_third_exten); + $survey_fourth_exten = preg_replace('/[^ \,\*\#0-9a-zA-Z]/','',$survey_fourth_exten); + $preset_dtmf = preg_replace('/[^ \,\*\#0-9a-zA-Z]/','',$preset_dtmf); ### ALPHACAPS-NUMERIC - $xferconf_a_number = ereg_replace("[^0-9A-Z]","",$xferconf_a_number); - $xferconf_b_number = ereg_replace("[^0-9A-Z]","",$xferconf_b_number); + $xferconf_a_number = preg_replace('/[^0-9A-Z]/','',$xferconf_a_number); + $xferconf_b_number = preg_replace('/[^0-9A-Z]/','',$xferconf_b_number); ### ALPHA-NUMERIC and underscore and dash - $agi_output = ereg_replace("[^-_0-9a-zA-Z]","",$agi_output); - $ASTmgrSECRET = ereg_replace("[^-_0-9a-zA-Z]","",$ASTmgrSECRET); - $ASTmgrUSERNAME = ereg_replace("[^-_0-9a-zA-Z]","",$ASTmgrUSERNAME); - $ASTmgrUSERNAMElisten = ereg_replace("[^-_0-9a-zA-Z]","",$ASTmgrUSERNAMElisten); - $ASTmgrUSERNAMEsend = ereg_replace("[^-_0-9a-zA-Z]","",$ASTmgrUSERNAMEsend); - $ASTmgrUSERNAMEupdate = ereg_replace("[^-_0-9a-zA-Z]","",$ASTmgrUSERNAMEupdate); - $call_time_id = ereg_replace("[^-_0-9a-zA-Z]","",$call_time_id); - $campaign_id = ereg_replace("[^-_0-9a-zA-Z]","",$campaign_id); - $CoNfIrM = ereg_replace("[^-_0-9a-zA-Z]","",$CoNfIrM); - $DBX_database = ereg_replace("[^-_0-9a-zA-Z]","",$DBX_database); - $DBX_pass = ereg_replace("[^-_0-9a-zA-Z]","",$DBX_pass); - $DBX_user = ereg_replace("[^-_0-9a-zA-Z]","",$DBX_user); - $DBY_database = ereg_replace("[^-_0-9a-zA-Z]","",$DBY_database); - $DBY_pass = ereg_replace("[^-_0-9a-zA-Z]","",$DBY_pass); - $DBY_user = ereg_replace("[^-_0-9a-zA-Z]","",$DBY_user); - $dial_method = ereg_replace("[^-_0-9a-zA-Z]","",$dial_method); - $dial_status_a = ereg_replace("[^-_0-9a-zA-Z]","",$dial_status_a); - $dial_status_b = ereg_replace("[^-_0-9a-zA-Z]","",$dial_status_b); - $dial_status_c = ereg_replace("[^-_0-9a-zA-Z]","",$dial_status_c); - $dial_status_d = ereg_replace("[^-_0-9a-zA-Z]","",$dial_status_d); - $dial_status_e = ereg_replace("[^-_0-9a-zA-Z]","",$dial_status_e); - $ext_context = ereg_replace("[^-_0-9a-zA-Z]","",$ext_context); - $group_id = ereg_replace("[^-_0-9a-zA-Z]","",$group_id); - $lead_filter_id = ereg_replace("[^-_0-9a-zA-Z]","",$lead_filter_id); - $local_call_time = ereg_replace("[^-_0-9a-zA-Z]","",$local_call_time); - $login = ereg_replace("[^-_0-9a-zA-Z]","",$login); - $login_campaign = ereg_replace("[^-_0-9a-zA-Z]","",$login_campaign); - $login_pass = ereg_replace("[^-_0-9a-zA-Z]","",$login_pass); - $login_user = ereg_replace("[^-_0-9a-zA-Z]","",$login_user); - $next_agent_call = ereg_replace("[^-_0-9a-zA-Z]","",$next_agent_call); - $old_campaign_id = ereg_replace("[^-_0-9a-zA-Z]","",$old_campaign_id); - $old_server_id = ereg_replace("[^-_0-9a-zA-Z]","",$old_server_id); - $OLDuser_group = ereg_replace("[^-_0-9a-zA-Z]","",$OLDuser_group); - $park_file_name = ereg_replace("[^-_0-9a-zA-Z]","",$park_file_name); - $pass = ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $phone_login = ereg_replace("[^-_0-9a-zA-Z]","",$phone_login); - $phone_pass = ereg_replace("[^-_0-9a-zA-Z]","",$phone_pass); - $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); - $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); - $protocol = ereg_replace("[^-_0-9a-zA-Z]","",$protocol); - $server_id = ereg_replace("[^-_0-9a-zA-Z]","",$server_id); - $stage = ereg_replace("[^-_0-9a-zA-Z]","",$stage); - $state_rule = ereg_replace("[^-_0-9a-zA-Z]","",$state_rule); - $holiday_rule = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_rule); - $trunk_restriction = ereg_replace("[^-_0-9a-zA-Z]","",$trunk_restriction); - $user = ereg_replace("[^-_0-9a-zA-Z]","",$user); - $user_group = ereg_replace("[^-_0-9a-zA-Z]","",$user_group); - $VICIDIAL_park_on_filename = ereg_replace("[^-_0-9a-zA-Z]","",$VICIDIAL_park_on_filename); - $auto_alt_dial = ereg_replace("[^-_0-9a-zA-Z]","",$auto_alt_dial); - $dial_status = ereg_replace("[^-_0-9a-zA-Z]","",$dial_status); - $queuemetrics_eq_prepend = ereg_replace("[^-_0-9a-zA-Z]","",$queuemetrics_eq_prepend); - $vicidial_agent_disable = ereg_replace("[^-_0-9a-zA-Z]","",$vicidial_agent_disable); - $alter_custdata_override = ereg_replace("[^-_0-9a-zA-Z]","",$alter_custdata_override); - $list_order_mix = ereg_replace("[^-_0-9a-zA-Z]","",$list_order_mix); - $vcl_id = ereg_replace("[^-_0-9a-zA-Z]","",$vcl_id); - $mix_method = ereg_replace("[^-_0-9a-zA-Z]","",$mix_method); - $category = ereg_replace("[^-_0-9a-zA-Z]","",$category); - $vsc_id = ereg_replace("[^-_0-9a-zA-Z]","",$vsc_id); - $moh_context = ereg_replace("[^-_0-9a-zA-Z]","",$moh_context); - $source_campaign_id = ereg_replace("[^-_0-9a-zA-Z]","",$source_campaign_id); - $source_user_id = ereg_replace("[^-_0-9a-zA-Z]","",$source_user_id); - $source_group_id = ereg_replace("[^-_0-9a-zA-Z]","",$source_group_id); - $default_xfer_group = ereg_replace("[^-_0-9a-zA-Z]","",$default_xfer_group); - $drop_exten = ereg_replace("[^-_0-9a-zA-Z]","",$drop_exten); - $safe_harbor_exten = ereg_replace("[^-_0-9a-zA-Z]","",$safe_harbor_exten); - $drop_action = ereg_replace("[^-_0-9a-zA-Z]","",$drop_action); - $drop_inbound_group = ereg_replace("[^-_0-9a-zA-Z]","",$drop_inbound_group); - $afterhours_xfer_group = ereg_replace("[^-_0-9a-zA-Z]","",$afterhours_xfer_group); - $after_hours_action = ereg_replace("[^-_0-9a-zA-Z]","",$after_hours_action); - $alias_id = ereg_replace("[^-_0-9a-zA-Z]","",$alias_id); - $shift_id = ereg_replace("[^-_0-9a-zA-Z]","",$shift_id); - $qc_shift_id = ereg_replace("[^-_0-9a-zA-Z]","",$qc_shift_id); - $survey_method = ereg_replace("[^-_0-9a-zA-Z]","",$survey_method); - $alter_custphone_override = ereg_replace("[^-_0-9a-zA-Z]","",$alter_custphone_override); - $manual_dial_filter = ereg_replace("[^-_0-9a-zA-Z]","",$manual_dial_filter); - $agent_clipboard_copy = ereg_replace("[^-_0-9a-zA-Z]","",$agent_clipboard_copy); - $hold_time_option = ereg_replace("[^-_0-9a-zA-Z]","",$hold_time_option); - $hold_time_option_xfer_group = ereg_replace("[^-_0-9a-zA-Z]","",$hold_time_option_xfer_group); - $hold_recall_xfer_group = ereg_replace("[^-_0-9a-zA-Z]","",$hold_recall_xfer_group); - $play_welcome_message = ereg_replace("[^-_0-9a-zA-Z]","",$play_welcome_message); - $did_route = ereg_replace("[^-_0-9a-zA-Z]","",$did_route); - $user_unavailable_action = ereg_replace("[^-_0-9a-zA-Z]","",$user_unavailable_action); - $user_route_settings_ingroup = ereg_replace("[^-_0-9a-zA-Z]","",$user_route_settings_ingroup); - $call_handle_method = ereg_replace("[^-_0-9a-zA-Z]","",$call_handle_method); - $agent_search_method = ereg_replace("[^-_0-9a-zA-Z]","",$agent_search_method); - $hold_time_option_voicemail = ereg_replace("[^-_0-9a-zA-Z]","",$hold_time_option_voicemail); - $exten_context = ereg_replace("[^-_0-9a-zA-Z]","",$exten_context); - $three_way_call_cid = ereg_replace("[^-_0-9a-zA-Z]","",$three_way_call_cid); - $web_form_target = ereg_replace("[^-_0-9a-zA-Z]","",$web_form_target); - $recording_web_link = ereg_replace("[^-_0-9a-zA-Z]","",$recording_web_link); - $vtiger_search_category = ereg_replace("[^-_0-9a-zA-Z]","",$vtiger_search_category); - $vtiger_create_call_record = ereg_replace("[^-_0-9a-zA-Z]","",$vtiger_create_call_record); - $vtiger_create_lead_record = ereg_replace("[^-_0-9a-zA-Z]","",$vtiger_create_lead_record); - $vtiger_screen_login = ereg_replace("[^-_0-9a-zA-Z]","",$vtiger_screen_login); - $cpd_amd_action = ereg_replace("[^-_0-9a-zA-Z]","",$cpd_amd_action); - $template_id = ereg_replace("[^-_0-9a-zA-Z]","",$template_id); - $carrier_id = ereg_replace("[^-_0-9a-zA-Z]","",$carrier_id); - $source_carrier = ereg_replace("[^-_0-9a-zA-Z]","",$source_carrier); - $group_alias_id = ereg_replace("[^-_0-9a-zA-Z]","",$group_alias_id); - $default_group_alias = ereg_replace("[^-_0-9a-zA-Z]","",$default_group_alias); - $vtiger_search_dead = ereg_replace("[^-_0-9a-zA-Z]","",$vtiger_search_dead); - $menu_id = ereg_replace("[^-_0-9a-zA-Z]","",$menu_id); - $source_menu = ereg_replace("[^-_0-9a-zA-Z]","",$source_menu); - $call_time_id = ereg_replace("[^-_0-9a-zA-Z]","",$call_time_id); - $phone_context = ereg_replace("[^-_0-9a-zA-Z]","",$phone_context); - $conf_secret = ereg_replace("[^-_0-9a-zA-Z]","",$conf_secret); - $tracking_group = ereg_replace("[^-_0-9a-zA-Z]","",$tracking_group); - $no_agent_no_queue = ereg_replace("[^-_0-9a-zA-Z]","",$no_agent_no_queue); - $no_agent_action = ereg_replace("[^-_0-9a-zA-Z]","",$no_agent_action); - $quick_transfer_button = ereg_replace("[^-_0-9a-zA-Z]","",$quick_transfer_button); - $prepopulate_transfer_preset = ereg_replace("[^-_0-9a-zA-Z]","",$prepopulate_transfer_preset); - $tts_id = ereg_replace("[^-_0-9a-zA-Z]","",$tts_id); - $drop_rate_group = ereg_replace("[^-_0-9a-zA-Z]","",$drop_rate_group); - $agent_dial_owner_only = ereg_replace("[^-_0-9a-zA-Z]","",$agent_dial_owner_only); - $reset_time = ereg_replace("[^-_0-9a-zA-Z]","",$reset_time); - $moh_id = ereg_replace("[^-_0-9a-zA-Z]","",$moh_id); - $drop_inbound_group_override = ereg_replace("[^-_0-9a-zA-Z]","",$drop_inbound_group_override); - $timer_action = ereg_replace("[^-_0-9a-zA-Z]","",$timer_action); - $record_call = ereg_replace("[^-_0-9a-zA-Z]","",$record_call); - $scheduled_callbacks_alert = ereg_replace("[^-_0-9a-zA-Z]","",$scheduled_callbacks_alert); - $extension_group_id = ereg_replace("[^-_0-9a-zA-Z]","",$extension_group_id); - $extension_group = ereg_replace("[^-_0-9a-zA-Z]","",$extension_group); - $scheduled_callbacks_count = ereg_replace("[^-_0-9a-zA-Z]","",$scheduled_callbacks_count); - $manual_dial_override = ereg_replace("[^-_0-9a-zA-Z]","",$manual_dial_override); - $blind_monitor_warning = ereg_replace("[^-_0-9a-zA-Z]","",$blind_monitor_warning); - $uniqueid_status_display = ereg_replace("[^-_0-9a-zA-Z]","",$uniqueid_status_display); - $hold_time_option_callmenu = ereg_replace("[^-_0-9a-zA-Z]","",$hold_time_option_callmenu); - $inbound_queue_no_dial = ereg_replace("[^-_0-9a-zA-Z]","",$inbound_queue_no_dial); - $hold_time_second_option = ereg_replace("[^-_0-9a-zA-Z]","",$hold_time_second_option); - $hold_time_third_option = ereg_replace("[^-_0-9a-zA-Z]","",$hold_time_third_option); - $wait_hold_option_priority = ereg_replace("[^-_0-9a-zA-Z]","",$wait_hold_option_priority); - $wait_time_option = ereg_replace("[^-_0-9a-zA-Z]","",$wait_time_option); - $wait_time_second_option = ereg_replace("[^-_0-9a-zA-Z]","",$wait_time_second_option); - $wait_time_third_option = ereg_replace("[^-_0-9a-zA-Z]","",$wait_time_third_option); - $wait_time_option_xfer_group = ereg_replace("[^-_0-9a-zA-Z]","",$wait_time_option_xfer_group); - $wait_time_option_callmenu = ereg_replace("[^-_0-9a-zA-Z]","",$wait_time_option_callmenu); - $wait_time_option_voicemail = ereg_replace("[^-_0-9a-zA-Z]","",$wait_time_option_voicemail); - $filter_phone_group_id = ereg_replace("[^-_0-9a-zA-Z]","",$filter_phone_group_id); - $filter_action = ereg_replace("[^-_0-9a-zA-Z]","",$filter_action); - $filter_user_unavailable_action = ereg_replace("[^-_0-9a-zA-Z]","",$filter_user_unavailable_action); - $filter_user_route_settings_ingroup = ereg_replace("[^-_0-9a-zA-Z]","",$filter_user_route_settings_ingroup); - $filter_agent_search_method = ereg_replace("[^-_0-9a-zA-Z]","",$filter_agent_search_method); - $filter_campaign_id = ereg_replace("[^-_0-9a-zA-Z]","",$filter_campaign_id); - $filter_group_id = ereg_replace("[^-_0-9a-zA-Z]","",$filter_group_id); - $filter_menu_id = ereg_replace("[^-_0-9a-zA-Z]","",$filter_menu_id); - $filter_call_handle_method = ereg_replace("[^-_0-9a-zA-Z]","",$filter_call_handle_method); - $filter_user = ereg_replace("[^-_0-9a-zA-Z]","",$filter_user); - $filter_exten_context = ereg_replace("[^-_0-9a-zA-Z]","",$filter_exten_context); - $webphone_systemkey = ereg_replace("[^-_0-9a-zA-Z]","",$webphone_systemkey); - $webphone_dialpad = ereg_replace("[^-_0-9a-zA-Z]","",$webphone_dialpad); - $webphone_systemkey_override = ereg_replace("[^-_0-9a-zA-Z]","",$webphone_systemkey_override); - $webphone_dialpad_override = ereg_replace("[^-_0-9a-zA-Z]","",$webphone_dialpad_override); - $default_phone_registration_password = ereg_replace("[^-_0-9a-zA-Z]","",$default_phone_registration_password); - $default_phone_login_password = ereg_replace("[^-_0-9a-zA-Z]","",$default_phone_login_password); - $default_server_password = ereg_replace("[^-_0-9a-zA-Z]","",$default_server_password); - $ivr_park_call = ereg_replace("[^-_0-9a-zA-Z]","",$ivr_park_call); - $manual_preview_dial = ereg_replace("[^-_0-9a-zA-Z]","",$manual_preview_dial); - $realtime_agent_time_stats = ereg_replace("[^-_0-9a-zA-Z]","",$realtime_agent_time_stats); - $api_manual_dial = ereg_replace("[^-_0-9a-zA-Z]","",$api_manual_dial); - $manual_dial_call_time_check = ereg_replace("[^-_0-9a-zA-Z]","",$manual_dial_call_time_check); - $lead_order_secondary = ereg_replace("[^-_0-9a-zA-Z]","",$lead_order_secondary); - $agent_lead_search = ereg_replace("[^-_0-9a-zA-Z]","",$agent_lead_search); - $agent_lead_search_method = ereg_replace("[^-_0-9a-zA-Z]","",$agent_lead_search_method); - $manual_dial_cid = ereg_replace("[^-_0-9a-zA-Z]","",$manual_dial_cid); - $post_phone_time_diff_alert = ereg_replace("[^-_0-9a-zA-Z]","",$post_phone_time_diff_alert); - $custom_3way_button_transfer = ereg_replace("[^-_0-9a-zA-Z]","",$custom_3way_button_transfer); - $available_only_tally_threshold_agents = ereg_replace("[^-_0-9a-zA-Z]","",$available_only_tally_threshold_agents); - $dial_level_threshold_agents = ereg_replace("[^-_0-9a-zA-Z]","",$dial_level_threshold_agents); - $time_zone_setting = ereg_replace("[^-_0-9a-zA-Z]","",$time_zone_setting); - $safe_harbor_menu_id = ereg_replace("[^-_0-9a-zA-Z]","",$safe_harbor_menu_id); - $survey_menu_id = ereg_replace("[^-_0-9a-zA-Z]","",$survey_menu_id); - $dl_diff_target_method = ereg_replace("[^-_0-9a-zA-Z]","",$dl_diff_target_method); - $disable_dispo_screen = ereg_replace("[^-_0-9a-zA-Z]","",$disable_dispo_screen); - $screen_labels = ereg_replace("[^-_0-9a-zA-Z]","",$screen_labels); - $label_hide_field_logs = ereg_replace("[^-_0-9a-zA-Z]","",$label_hide_field_logs); - $label_id = ereg_replace("[^-_0-9a-zA-Z]","",$label_id); - $status_display_fields = ereg_replace("[^-_0-9a-zA-Z]","",$status_display_fields); - $voicemail_timezone = ereg_replace("[^-_0-9a-zA-Z]","",$voicemail_timezone); - $default_voicemail_timezone = ereg_replace("[^-_0-9a-zA-Z]","",$default_voicemail_timezone); - $on_hook_cid = ereg_replace("[^-_0-9a-zA-Z]","",$on_hook_cid); - $pllb_grouping = ereg_replace("[^-_0-9a-zA-Z]","",$pllb_grouping); - $user_start = ereg_replace("[^-_0-9a-zA-Z]","",$user_start); - $drop_callmenu = ereg_replace("[^-_0-9a-zA-Z]","",$drop_callmenu); - $after_hours_callmenu = ereg_replace("[^-_0-9a-zA-Z]","",$after_hours_callmenu); - $survey_recording = ereg_replace("[^-_0-9a-zA-Z]","",$survey_recording); - $dtmf_field = ereg_replace("[^-_0-9a-zA-Z]","",$dtmf_field); - $preset_contact_search = ereg_replace("[^-_0-9a-zA-Z]","",$preset_contact_search); - $admin_hide_phone_data = ereg_replace("[^-_0-9a-zA-Z]","",$admin_hide_phone_data); - $max_calls_method = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_method); - $max_calls_action = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_action); - $in_group_dial = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial); - $in_group_dial_select = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial_select); - $queuemetrics_socket = ereg_replace("[^-_0-9a-zA-Z]","",$queuemetrics_socket); - $holiday_id = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_id); - $holiday_date = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_date); - $holiday_status = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_status); - $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); - $amd_inbound_group = ereg_replace("[^-_0-9a-zA-Z]","",$amd_inbound_group); - $amd_callmenu = ereg_replace("[^-_0-9a-zA-Z]","",$amd_callmenu); + $agi_output = preg_replace('/[^-_0-9a-zA-Z]/','',$agi_output); + $ASTmgrSECRET = preg_replace('/[^-_0-9a-zA-Z]/','',$ASTmgrSECRET); + $ASTmgrUSERNAME = preg_replace('/[^-_0-9a-zA-Z]/','',$ASTmgrUSERNAME); + $ASTmgrUSERNAMElisten = preg_replace('/[^-_0-9a-zA-Z]/','',$ASTmgrUSERNAMElisten); + $ASTmgrUSERNAMEsend = preg_replace('/[^-_0-9a-zA-Z]/','',$ASTmgrUSERNAMEsend); + $ASTmgrUSERNAMEupdate = preg_replace('/[^-_0-9a-zA-Z]/','',$ASTmgrUSERNAMEupdate); + $call_time_id = preg_replace('/[^-_0-9a-zA-Z]/','',$call_time_id); + $campaign_id = preg_replace('/[^-_0-9a-zA-Z]/','',$campaign_id); + $CoNfIrM = preg_replace('/[^-_0-9a-zA-Z]/','',$CoNfIrM); + $DBX_database = preg_replace('/[^-_0-9a-zA-Z]/','',$DBX_database); + $DBX_pass = preg_replace('/[^-_0-9a-zA-Z]/','',$DBX_pass); + $DBX_user = preg_replace('/[^-_0-9a-zA-Z]/','',$DBX_user); + $DBY_database = preg_replace('/[^-_0-9a-zA-Z]/','',$DBY_database); + $DBY_pass = preg_replace('/[^-_0-9a-zA-Z]/','',$DBY_pass); + $DBY_user = preg_replace('/[^-_0-9a-zA-Z]/','',$DBY_user); + $dial_method = preg_replace('/[^-_0-9a-zA-Z]/','',$dial_method); + $dial_status_a = preg_replace('/[^-_0-9a-zA-Z]/','',$dial_status_a); + $dial_status_b = preg_replace('/[^-_0-9a-zA-Z]/','',$dial_status_b); + $dial_status_c = preg_replace('/[^-_0-9a-zA-Z]/','',$dial_status_c); + $dial_status_d = preg_replace('/[^-_0-9a-zA-Z]/','',$dial_status_d); + $dial_status_e = preg_replace('/[^-_0-9a-zA-Z]/','',$dial_status_e); + $ext_context = preg_replace('/[^-_0-9a-zA-Z]/','',$ext_context); + $group_id = preg_replace('/[^-_0-9a-zA-Z]/','',$group_id); + $lead_filter_id = preg_replace('/[^-_0-9a-zA-Z]/','',$lead_filter_id); + $local_call_time = preg_replace('/[^-_0-9a-zA-Z]/','',$local_call_time); + $login = preg_replace('/[^-_0-9a-zA-Z]/','',$login); + $login_campaign = preg_replace('/[^-_0-9a-zA-Z]/','',$login_campaign); + $login_pass = preg_replace('/[^-_0-9a-zA-Z]/','',$login_pass); + $login_user = preg_replace('/[^-_0-9a-zA-Z]/','',$login_user); + $next_agent_call = preg_replace('/[^-_0-9a-zA-Z]/','',$next_agent_call); + $old_campaign_id = preg_replace('/[^-_0-9a-zA-Z]/','',$old_campaign_id); + $old_server_id = preg_replace('/[^-_0-9a-zA-Z]/','',$old_server_id); + $OLDuser_group = preg_replace('/[^-_0-9a-zA-Z]/','',$OLDuser_group); + $park_file_name = preg_replace('/[^-_0-9a-zA-Z]/','',$park_file_name); + $pass = preg_replace('/[^-_0-9a-zA-Z]/','',$pass); + $phone_login = preg_replace('/[^-_0-9a-zA-Z]/','',$phone_login); + $phone_pass = preg_replace('/[^-_0-9a-zA-Z]/','',$phone_pass); + $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/','',$PHP_AUTH_PW); + $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/','',$PHP_AUTH_USER); + $protocol = preg_replace('/[^-_0-9a-zA-Z]/','',$protocol); + $server_id = preg_replace('/[^-_0-9a-zA-Z]/','',$server_id); + $stage = preg_replace('/[^-_0-9a-zA-Z]/','',$stage); + $state_rule = preg_replace('/[^-_0-9a-zA-Z]/','',$state_rule); + $holiday_rule = preg_replace('/[^-_0-9a-zA-Z]/','',$holiday_rule); + $trunk_restriction = preg_replace('/[^-_0-9a-zA-Z]/','',$trunk_restriction); + $user = preg_replace('/[^-_0-9a-zA-Z]/','',$user); + $user_group = preg_replace('/[^-_0-9a-zA-Z]/','',$user_group); + $VICIDIAL_park_on_filename = preg_replace('/[^-_0-9a-zA-Z]/','',$VICIDIAL_park_on_filename); + $auto_alt_dial = preg_replace('/[^-_0-9a-zA-Z]/','',$auto_alt_dial); + $dial_status = preg_replace('/[^-_0-9a-zA-Z]/','',$dial_status); + $queuemetrics_eq_prepend = preg_replace('/[^-_0-9a-zA-Z]/','',$queuemetrics_eq_prepend); + $vicidial_agent_disable = preg_replace('/[^-_0-9a-zA-Z]/','',$vicidial_agent_disable); + $alter_custdata_override = preg_replace('/[^-_0-9a-zA-Z]/','',$alter_custdata_override); + $list_order_mix = preg_replace('/[^-_0-9a-zA-Z]/','',$list_order_mix); + $vcl_id = preg_replace('/[^-_0-9a-zA-Z]/','',$vcl_id); + $mix_method = preg_replace('/[^-_0-9a-zA-Z]/','',$mix_method); + $category = preg_replace('/[^-_0-9a-zA-Z]/','',$category); + $vsc_id = preg_replace('/[^-_0-9a-zA-Z]/','',$vsc_id); + $moh_context = preg_replace('/[^-_0-9a-zA-Z]/','',$moh_context); + $source_campaign_id = preg_replace('/[^-_0-9a-zA-Z]/','',$source_campaign_id); + $source_user_id = preg_replace('/[^-_0-9a-zA-Z]/','',$source_user_id); + $source_group_id = preg_replace('/[^-_0-9a-zA-Z]/','',$source_group_id); + $default_xfer_group = preg_replace('/[^-_0-9a-zA-Z]/','',$default_xfer_group); + $drop_exten = preg_replace('/[^-_0-9a-zA-Z]/','',$drop_exten); + $safe_harbor_exten = preg_replace('/[^-_0-9a-zA-Z]/','',$safe_harbor_exten); + $drop_action = preg_replace('/[^-_0-9a-zA-Z]/','',$drop_action); + $drop_inbound_group = preg_replace('/[^-_0-9a-zA-Z]/','',$drop_inbound_group); + $afterhours_xfer_group = preg_replace('/[^-_0-9a-zA-Z]/','',$afterhours_xfer_group); + $after_hours_action = preg_replace('/[^-_0-9a-zA-Z]/','',$after_hours_action); + $alias_id = preg_replace('/[^-_0-9a-zA-Z]/','',$alias_id); + $shift_id = preg_replace('/[^-_0-9a-zA-Z]/','',$shift_id); + $qc_shift_id = preg_replace('/[^-_0-9a-zA-Z]/','',$qc_shift_id); + $survey_method = preg_replace('/[^-_0-9a-zA-Z]/','',$survey_method); + $alter_custphone_override = preg_replace('/[^-_0-9a-zA-Z]/','',$alter_custphone_override); + $manual_dial_filter = preg_replace('/[^-_0-9a-zA-Z]/','',$manual_dial_filter); + $agent_clipboard_copy = preg_replace('/[^-_0-9a-zA-Z]/','',$agent_clipboard_copy); + $hold_time_option = preg_replace('/[^-_0-9a-zA-Z]/','',$hold_time_option); + $hold_time_option_xfer_group = preg_replace('/[^-_0-9a-zA-Z]/','',$hold_time_option_xfer_group); + $hold_recall_xfer_group = preg_replace('/[^-_0-9a-zA-Z]/','',$hold_recall_xfer_group); + $play_welcome_message = preg_replace('/[^-_0-9a-zA-Z]/','',$play_welcome_message); + $did_route = preg_replace('/[^-_0-9a-zA-Z]/','',$did_route); + $user_unavailable_action = preg_replace('/[^-_0-9a-zA-Z]/','',$user_unavailable_action); + $user_route_settings_ingroup = preg_replace('/[^-_0-9a-zA-Z]/','',$user_route_settings_ingroup); + $call_handle_method = preg_replace('/[^-_0-9a-zA-Z]/','',$call_handle_method); + $agent_search_method = preg_replace('/[^-_0-9a-zA-Z]/','',$agent_search_method); + $hold_time_option_voicemail = preg_replace('/[^-_0-9a-zA-Z]/','',$hold_time_option_voicemail); + $exten_context = preg_replace('/[^-_0-9a-zA-Z]/','',$exten_context); + $three_way_call_cid = preg_replace('/[^-_0-9a-zA-Z]/','',$three_way_call_cid); + $web_form_target = preg_replace('/[^-_0-9a-zA-Z]/','',$web_form_target); + $recording_web_link = preg_replace('/[^-_0-9a-zA-Z]/','',$recording_web_link); + $vtiger_search_category = preg_replace('/[^-_0-9a-zA-Z]/','',$vtiger_search_category); + $vtiger_create_call_record = preg_replace('/[^-_0-9a-zA-Z]/','',$vtiger_create_call_record); + $vtiger_create_lead_record = preg_replace('/[^-_0-9a-zA-Z]/','',$vtiger_create_lead_record); + $vtiger_screen_login = preg_replace('/[^-_0-9a-zA-Z]/','',$vtiger_screen_login); + $cpd_amd_action = preg_replace('/[^-_0-9a-zA-Z]/','',$cpd_amd_action); + $template_id = preg_replace('/[^-_0-9a-zA-Z]/','',$template_id); + $carrier_id = preg_replace('/[^-_0-9a-zA-Z]/','',$carrier_id); + $source_carrier = preg_replace('/[^-_0-9a-zA-Z]/','',$source_carrier); + $group_alias_id = preg_replace('/[^-_0-9a-zA-Z]/','',$group_alias_id); + $default_group_alias = preg_replace('/[^-_0-9a-zA-Z]/','',$default_group_alias); + $vtiger_search_dead = preg_replace('/[^-_0-9a-zA-Z]/','',$vtiger_search_dead); + $menu_id = preg_replace('/[^-_0-9a-zA-Z]/','',$menu_id); + $source_menu = preg_replace('/[^-_0-9a-zA-Z]/','',$source_menu); + $call_time_id = preg_replace('/[^-_0-9a-zA-Z]/','',$call_time_id); + $phone_context = preg_replace('/[^-_0-9a-zA-Z]/','',$phone_context); + $conf_secret = preg_replace('/[^-_0-9a-zA-Z]/','',$conf_secret); + $tracking_group = preg_replace('/[^-_0-9a-zA-Z]/','',$tracking_group); + $no_agent_no_queue = preg_replace('/[^-_0-9a-zA-Z]/','',$no_agent_no_queue); + $no_agent_action = preg_replace('/[^-_0-9a-zA-Z]/','',$no_agent_action); + $quick_transfer_button = preg_replace('/[^-_0-9a-zA-Z]/','',$quick_transfer_button); + $prepopulate_transfer_preset = preg_replace('/[^-_0-9a-zA-Z]/','',$prepopulate_transfer_preset); + $tts_id = preg_replace('/[^-_0-9a-zA-Z]/','',$tts_id); + $drop_rate_group = preg_replace('/[^-_0-9a-zA-Z]/','',$drop_rate_group); + $agent_dial_owner_only = preg_replace('/[^-_0-9a-zA-Z]/','',$agent_dial_owner_only); + $reset_time = preg_replace('/[^-_0-9a-zA-Z]/','',$reset_time); + $moh_id = preg_replace('/[^-_0-9a-zA-Z]/','',$moh_id); + $drop_inbound_group_override = preg_replace('/[^-_0-9a-zA-Z]/','',$drop_inbound_group_override); + $timer_action = preg_replace('/[^-_0-9a-zA-Z]/','',$timer_action); + $record_call = preg_replace('/[^-_0-9a-zA-Z]/','',$record_call); + $scheduled_callbacks_alert = preg_replace('/[^-_0-9a-zA-Z]/','',$scheduled_callbacks_alert); + $extension_group_id = preg_replace('/[^-_0-9a-zA-Z]/','',$extension_group_id); + $extension_group = preg_replace('/[^-_0-9a-zA-Z]/','',$extension_group); + $scheduled_callbacks_count = preg_replace('/[^-_0-9a-zA-Z]/','',$scheduled_callbacks_count); + $manual_dial_override = preg_replace('/[^-_0-9a-zA-Z]/','',$manual_dial_override); + $blind_monitor_warning = preg_replace('/[^-_0-9a-zA-Z]/','',$blind_monitor_warning); + $uniqueid_status_display = preg_replace('/[^-_0-9a-zA-Z]/','',$uniqueid_status_display); + $hold_time_option_callmenu = preg_replace('/[^-_0-9a-zA-Z]/','',$hold_time_option_callmenu); + $inbound_queue_no_dial = preg_replace('/[^-_0-9a-zA-Z]/','',$inbound_queue_no_dial); + $hold_time_second_option = preg_replace('/[^-_0-9a-zA-Z]/','',$hold_time_second_option); + $hold_time_third_option = preg_replace('/[^-_0-9a-zA-Z]/','',$hold_time_third_option); + $wait_hold_option_priority = preg_replace('/[^-_0-9a-zA-Z]/','',$wait_hold_option_priority); + $wait_time_option = preg_replace('/[^-_0-9a-zA-Z]/','',$wait_time_option); + $wait_time_second_option = preg_replace('/[^-_0-9a-zA-Z]/','',$wait_time_second_option); + $wait_time_third_option = preg_replace('/[^-_0-9a-zA-Z]/','',$wait_time_third_option); + $wait_time_option_xfer_group = preg_replace('/[^-_0-9a-zA-Z]/','',$wait_time_option_xfer_group); + $wait_time_option_callmenu = preg_replace('/[^-_0-9a-zA-Z]/','',$wait_time_option_callmenu); + $wait_time_option_voicemail = preg_replace('/[^-_0-9a-zA-Z]/','',$wait_time_option_voicemail); + $filter_phone_group_id = preg_replace('/[^-_0-9a-zA-Z]/','',$filter_phone_group_id); + $filter_action = preg_replace('/[^-_0-9a-zA-Z]/','',$filter_action); + $filter_user_unavailable_action = preg_replace('/[^-_0-9a-zA-Z]/','',$filter_user_unavailable_action); + $filter_user_route_settings_ingroup = preg_replace('/[^-_0-9a-zA-Z]/','',$filter_user_route_settings_ingroup); + $filter_agent_search_method = preg_replace('/[^-_0-9a-zA-Z]/','',$filter_agent_search_method); + $filter_campaign_id = preg_replace('/[^-_0-9a-zA-Z]/','',$filter_campaign_id); + $filter_group_id = preg_replace('/[^-_0-9a-zA-Z]/','',$filter_group_id); + $filter_menu_id = preg_replace('/[^-_0-9a-zA-Z]/','',$filter_menu_id); + $filter_call_handle_method = preg_replace('/[^-_0-9a-zA-Z]/','',$filter_call_handle_method); + $filter_user = preg_replace('/[^-_0-9a-zA-Z]/','',$filter_user); + $filter_exten_context = preg_replace('/[^-_0-9a-zA-Z]/','',$filter_exten_context); + $webphone_systemkey = preg_replace('/[^-_0-9a-zA-Z]/','',$webphone_systemkey); + $webphone_dialpad = preg_replace('/[^-_0-9a-zA-Z]/','',$webphone_dialpad); + $webphone_systemkey_override = preg_replace('/[^-_0-9a-zA-Z]/','',$webphone_systemkey_override); + $webphone_dialpad_override = preg_replace('/[^-_0-9a-zA-Z]/','',$webphone_dialpad_override); + $default_phone_registration_password = preg_replace('/[^-_0-9a-zA-Z]/','',$default_phone_registration_password); + $default_phone_login_password = preg_replace('/[^-_0-9a-zA-Z]/','',$default_phone_login_password); + $default_server_password = preg_replace('/[^-_0-9a-zA-Z]/','',$default_server_password); + $ivr_park_call = preg_replace('/[^-_0-9a-zA-Z]/','',$ivr_park_call); + $manual_preview_dial = preg_replace('/[^-_0-9a-zA-Z]/','',$manual_preview_dial); + $realtime_agent_time_stats = preg_replace('/[^-_0-9a-zA-Z]/','',$realtime_agent_time_stats); + $api_manual_dial = preg_replace('/[^-_0-9a-zA-Z]/','',$api_manual_dial); + $manual_dial_call_time_check = preg_replace('/[^-_0-9a-zA-Z]/','',$manual_dial_call_time_check); + $lead_order_secondary = preg_replace('/[^-_0-9a-zA-Z]/','',$lead_order_secondary); + $agent_lead_search = preg_replace('/[^-_0-9a-zA-Z]/','',$agent_lead_search); + $agent_lead_search_method = preg_replace('/[^-_0-9a-zA-Z]/','',$agent_lead_search_method); + $manual_dial_cid = preg_replace('/[^-_0-9a-zA-Z]/','',$manual_dial_cid); + $post_phone_time_diff_alert = preg_replace('/[^-_0-9a-zA-Z]/','',$post_phone_time_diff_alert); + $custom_3way_button_transfer = preg_replace('/[^-_0-9a-zA-Z]/','',$custom_3way_button_transfer); + $available_only_tally_threshold_agents = preg_replace('/[^-_0-9a-zA-Z]/','',$available_only_tally_threshold_agents); + $dial_level_threshold_agents = preg_replace('/[^-_0-9a-zA-Z]/','',$dial_level_threshold_agents); + $time_zone_setting = preg_replace('/[^-_0-9a-zA-Z]/','',$time_zone_setting); + $safe_harbor_menu_id = preg_replace('/[^-_0-9a-zA-Z]/','',$safe_harbor_menu_id); + $survey_menu_id = preg_replace('/[^-_0-9a-zA-Z]/','',$survey_menu_id); + $dl_diff_target_method = preg_replace('/[^-_0-9a-zA-Z]/','',$dl_diff_target_method); + $disable_dispo_screen = preg_replace('/[^-_0-9a-zA-Z]/','',$disable_dispo_screen); + $screen_labels = preg_replace('/[^-_0-9a-zA-Z]/','',$screen_labels); + $label_hide_field_logs = preg_replace('/[^-_0-9a-zA-Z]/','',$label_hide_field_logs); + $label_id = preg_replace('/[^-_0-9a-zA-Z]/','',$label_id); + $status_display_fields = preg_replace('/[^-_0-9a-zA-Z]/','',$status_display_fields); + $voicemail_timezone = preg_replace('/[^-_0-9a-zA-Z]/','',$voicemail_timezone); + $default_voicemail_timezone = preg_replace('/[^-_0-9a-zA-Z]/','',$default_voicemail_timezone); + $on_hook_cid = preg_replace('/[^-_0-9a-zA-Z]/','',$on_hook_cid); + $pllb_grouping = preg_replace('/[^-_0-9a-zA-Z]/','',$pllb_grouping); + $user_start = preg_replace('/[^-_0-9a-zA-Z]/','',$user_start); + $drop_callmenu = preg_replace('/[^-_0-9a-zA-Z]/','',$drop_callmenu); + $after_hours_callmenu = preg_replace('/[^-_0-9a-zA-Z]/','',$after_hours_callmenu); + $survey_recording = preg_replace('/[^-_0-9a-zA-Z]/','',$survey_recording); + $dtmf_field = preg_replace('/[^-_0-9a-zA-Z]/','',$dtmf_field); + $preset_contact_search = preg_replace('/[^-_0-9a-zA-Z]/','',$preset_contact_search); + $admin_hide_phone_data = preg_replace('/[^-_0-9a-zA-Z]/','',$admin_hide_phone_data); + $max_calls_method = preg_replace('/[^-_0-9a-zA-Z]/','',$max_calls_method); + $max_calls_action = preg_replace('/[^-_0-9a-zA-Z]/','',$max_calls_action); + $in_group_dial = preg_replace('/[^-_0-9a-zA-Z]/','',$in_group_dial); + $in_group_dial_select = preg_replace('/[^-_0-9a-zA-Z]/','',$in_group_dial_select); + $queuemetrics_socket = preg_replace('/[^-_0-9a-zA-Z]/','',$queuemetrics_socket); + $holiday_id = preg_replace('/[^-_0-9a-zA-Z]/','',$holiday_id); + $holiday_date = preg_replace('/[^-_0-9a-zA-Z]/','',$holiday_date); + $holiday_status = preg_replace('/[^-_0-9a-zA-Z]/','',$holiday_status); + $expiration_date = preg_replace('/[^-_0-9a-zA-Z]/','',$expiration_date); + $amd_inbound_group = preg_replace('/[^-_0-9a-zA-Z]/','',$amd_inbound_group); + $amd_callmenu = preg_replace('/[^-_0-9a-zA-Z]/','',$amd_callmenu); ### ALPHA-NUMERIC and underscore and dash and slash and dot - $menu_timeout_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_timeout_prompt); - $menu_invalid_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_invalid_prompt); - $after_hours_message_filename = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$after_hours_message_filename); - $welcome_message_filename = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$welcome_message_filename); - $onhold_prompt_filename = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$onhold_prompt_filename); - $hold_time_option_callback_filename = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$hold_time_option_callback_filename); - $agent_alert_exten = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$agent_alert_exten); - $filename = ereg_replace("[^-\/\._0-9a-zA-Z]","",$filename); - $am_message_exten = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$am_message_exten); - $am_message_exten_override = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$am_message_exten_override); - $campaign_groups = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$campaign_groups); - $blind_monitor_filename = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$blind_monitor_filename); - $hold_time_option_press_filename = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$hold_time_option_press_filename); - $default_afterhours_filename_override = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$default_afterhours_filename_override); - $sunday_afterhours_filename_override = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$sunday_afterhours_filename_override); - $monday_afterhours_filename_override = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$monday_afterhours_filename_override); - $tuesday_afterhours_filename_override = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$tuesday_afterhours_filename_override); - $wednesday_afterhours_filename_override = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$wednesday_afterhours_filename_override); - $thursday_afterhours_filename_override = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$thursday_afterhours_filename_override); - $friday_afterhours_filename_override = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$friday_afterhours_filename_override); - $saturday_afterhours_filename_override = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$saturday_afterhours_filename_override); - $admin_web_directory = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$admin_web_directory); - $tts_voice = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$tts_voice); - $wait_time_option_callback_filename = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$wait_time_option_callback_filename); - $wait_time_option_press_filename = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$wait_time_option_press_filename); - $eht_minimum_prompt_filename = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$eht_minimum_prompt_filename); - $queuemetrics_phone_environment = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$queuemetrics_phone_environment); - $active_twin_server_ip = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$active_twin_server_ip); - $safe_harbor_audio = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$safe_harbor_audio); - $alt_log_server_ip = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$alt_log_server_ip); - $alt_log_dbname = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$alt_log_dbname); - $alt_log_login = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$alt_log_login); - $alt_log_pass = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$alt_log_pass); - $survey_first_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_first_audio_file); - $survey_opt_in_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_opt_in_audio_file); - $survey_ni_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_ni_audio_file); - $survey_third_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_third_audio_file); - $survey_fourth_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_fourth_audio_file); - $safe_harbor_audio_field = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$safe_harbor_audio_field); - $voicemail_greeting = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$voicemail_greeting); + $menu_timeout_prompt = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$menu_timeout_prompt); + $menu_invalid_prompt = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$menu_invalid_prompt); + $after_hours_message_filename = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$after_hours_message_filename); + $welcome_message_filename = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$welcome_message_filename); + $onhold_prompt_filename = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$onhold_prompt_filename); + $hold_time_option_callback_filename = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$hold_time_option_callback_filename); + $agent_alert_exten = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$agent_alert_exten); + $filename = preg_replace('/[^-\/\._0-9a-zA-Z]/','',$filename); + $am_message_exten = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$am_message_exten); + $am_message_exten_override = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$am_message_exten_override); + $campaign_groups = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$campaign_groups); + $blind_monitor_filename = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$blind_monitor_filename); + $hold_time_option_press_filename = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$hold_time_option_press_filename); + $default_afterhours_filename_override = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$default_afterhours_filename_override); + $sunday_afterhours_filename_override = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$sunday_afterhours_filename_override); + $monday_afterhours_filename_override = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$monday_afterhours_filename_override); + $tuesday_afterhours_filename_override = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$tuesday_afterhours_filename_override); + $wednesday_afterhours_filename_override = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$wednesday_afterhours_filename_override); + $thursday_afterhours_filename_override = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$thursday_afterhours_filename_override); + $friday_afterhours_filename_override = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$friday_afterhours_filename_override); + $saturday_afterhours_filename_override = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$saturday_afterhours_filename_override); + $admin_web_directory = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$admin_web_directory); + $tts_voice = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$tts_voice); + $wait_time_option_callback_filename = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$wait_time_option_callback_filename); + $wait_time_option_press_filename = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$wait_time_option_press_filename); + $eht_minimum_prompt_filename = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$eht_minimum_prompt_filename); + $queuemetrics_phone_environment = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$queuemetrics_phone_environment); + $active_twin_server_ip = preg_replace('/[^-\|\/\._0-9a-zA-Z]/','',$active_twin_server_ip); + $safe_harbor_audio = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$safe_harbor_audio); + $alt_log_server_ip = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$alt_log_server_ip); + $alt_log_dbname = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$alt_log_dbname); + $alt_log_login = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$alt_log_login); + $alt_log_pass = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$alt_log_pass); + $survey_first_audio_file = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$survey_first_audio_file); + $survey_opt_in_audio_file = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$survey_opt_in_audio_file); + $survey_ni_audio_file = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$survey_ni_audio_file); + $survey_third_audio_file = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$survey_third_audio_file); + $survey_fourth_audio_file = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$survey_fourth_audio_file); + $safe_harbor_audio_field = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$safe_harbor_audio_field); + $voicemail_greeting = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$voicemail_greeting); ### ALPHA-NUMERIC and underscore and dash and slash and dot and comma - $menu_prompt = ereg_replace("[^-\/\|\,\._0-9a-zA-Z]","",$menu_prompt); + $menu_prompt = preg_replace('/[^-\/\|\,\._0-9a-zA-Z]/','',$menu_prompt); ### ALPHA-NUMERIC and underscore and dash and comma - $logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list); - $forced_timeclock_login = ereg_replace("[^-\,\_0-9a-zA-Z]","",$forced_timeclock_login); - $uniqueid_status_prefix = ereg_replace("[^-\,\_0-9a-zA-Z]","",$uniqueid_status_prefix); + $logins_list = preg_replace('/[^-\,\_0-9a-zA-Z]/','',$logins_list); + $forced_timeclock_login = preg_replace('/[^-\,\_0-9a-zA-Z]/','',$forced_timeclock_login); + $uniqueid_status_prefix = preg_replace('/[^-\,\_0-9a-zA-Z]/','',$uniqueid_status_prefix); ### ALPHA-NUMERIC and dots - $sounds_web_server = ereg_replace("[^-\:\.0-9a-zA-Z]","",$sounds_web_server); + $sounds_web_server = preg_replace('/[^-\:\.0-9a-zA-Z]/','',$sounds_web_server); ### ALPHA-NUMERIC and spaces - $lead_order = ereg_replace("[^ 0-9a-zA-Z]","",$lead_order); + $lead_order = preg_replace('/[^ 0-9a-zA-Z]/','',$lead_order); ### ALPHA-NUMERIC and spaces and dashes and underscores - $preset_name = ereg_replace("[^- \_0-9a-zA-Z]","",$preset_name); + $preset_name = preg_replace('/[^- \_0-9a-zA-Z]/','',$preset_name); ### ALPHA-NUMERIC and hash - $group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); + $group_color = preg_replace('/[^\#0-9a-zA-Z]/','',$group_color); ### ALPHA-NUMERIC and hash and star and dot and underscore - $hold_time_option_exten = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$hold_time_option_exten); - $did_pattern = ereg_replace("[^\+\*\#\.\_0-9a-zA-Z]","",$did_pattern); - $voicemail_ext = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$voicemail_ext); - $phone = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone); - $phone_code = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone_code); - $wait_time_option_exten = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$wait_time_option_exten); - $filter_voicemail_ext = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$filter_voicemail_ext); - $filter_phone_code = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$filter_phone_code); - $filter_phone = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$filter_phone); - $preset_number = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$preset_number); + $hold_time_option_exten = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$hold_time_option_exten); + $did_pattern = preg_replace('/[^\+\*\#\.\_0-9a-zA-Z]/','',$did_pattern); + $voicemail_ext = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$voicemail_ext); + $phone = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$phone); + $phone_code = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$phone_code); + $wait_time_option_exten = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$wait_time_option_exten); + $filter_voicemail_ext = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$filter_voicemail_ext); + $filter_phone_code = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$filter_phone_code); + $filter_phone = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$filter_phone); + $preset_number = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$preset_number); ### ALPHA-NUMERIC and spaces dots, commas, dashes, underscores - $adaptive_dl_diff_target = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$adaptive_dl_diff_target); - $adaptive_intensity = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$adaptive_intensity); - $asterisk_version = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$asterisk_version); - $call_time_comments = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$call_time_comments); - $call_time_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$call_time_name); - $campaign_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$campaign_name); - $campaign_rec_filename = ereg_replace("[^\.-\_0-9a-zA-Z]","",$campaign_rec_filename); - $ingroup_rec_filename = ereg_replace("[^\.-\_0-9a-zA-Z]","",$ingroup_rec_filename); - $company = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$company); - $full_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$full_name); - $fullname = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$fullname); - $group_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$group_name); - $HKstatus = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$HKstatus); - $lead_filter_comments = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$lead_filter_comments); - $lead_filter_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$lead_filter_name); - $list_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$list_name); - $local_gmt = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$local_gmt); - $phone_type = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$phone_type); - $picture = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$picture); - $script_comments = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$script_comments); - $script_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$script_name); - $server_description = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$server_description); - $status = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$status); - $status_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$status_name); - $wrapup_message = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$wrapup_message); - $pause_code_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$pause_code_name); - $campaign_description = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$campaign_description); - $list_description = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$list_description); - $vcl_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$vcl_name); - $vsc_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$vsc_name); - $vsc_description = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$vsc_description); - $code_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$code_name); - $alias_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$alias_name); - $shift_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$shift_name); - $did_description = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$did_description); - $alt_server_ip = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$alt_server_ip); - $template_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$template_name); - $carrier_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$carrier_name); - $group_alias_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$group_alias_name); - $caller_id_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$caller_id_name); - $user_code = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$user_code); - $territory = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$territory); - $tts_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$tts_name); - $moh_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$moh_name); - $timer_action_message = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$timer_action_message); - $external_server_ip = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$external_server_ip); - $default_codecs = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$default_codecs); - $codecs_list = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$codecs_list); - $label_title = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_title); - $label_first_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_first_name); - $label_middle_initial = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_middle_initial); - $label_last_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_last_name); - $label_address1 = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_address1); - $label_address2 = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_address2); - $label_address3 = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_address3); - $label_city = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_city); - $label_state = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_state); - $label_province = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_province); - $label_postal_code = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_postal_code); - $label_vendor_lead_code = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_vendor_lead_code); - $label_gender = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_gender); - $label_phone_number = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_phone_number); - $label_phone_code = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_phone_code); - $label_alt_phone = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_alt_phone); - $label_security_phrase = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_security_phrase); - $label_email = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_email); - $label_comments = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_comments); - $slave_db_server = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$slave_db_server); - $filter_phone_group_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$filter_phone_group_name); - $filter_phone_group_description = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$filter_phone_group_description); - $filter_clean_cid_number = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$filter_clean_cid_number); - $label_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$label_name); - $default_local_gmt = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$default_local_gmt); - $cid_description = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$cid_description); - $description = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$description); - $first_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$first_name); - $last_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$last_name); - $bu_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$bu_name); - $department = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$department); - $group = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$group); - $job_title = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$job_title); - $location = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$location); - $holiday_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_name); - $holiday_comments = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_comments); + $adaptive_dl_diff_target = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$adaptive_dl_diff_target); + $adaptive_intensity = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$adaptive_intensity); + $asterisk_version = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$asterisk_version); + $call_time_comments = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$call_time_comments); + $call_time_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$call_time_name); + $campaign_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$campaign_name); + $campaign_rec_filename = preg_replace('/[^-\.\_0-9a-zA-Z]/','',$campaign_rec_filename); + $ingroup_rec_filename = preg_replace('/[^-\.\_0-9a-zA-Z]/','',$ingroup_rec_filename); + $company = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$company); + $full_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$full_name); + $fullname = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$fullname); + $group_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$group_name); + $HKstatus = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$HKstatus); + $lead_filter_comments = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$lead_filter_comments); + $lead_filter_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$lead_filter_name); + $list_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$list_name); + $local_gmt = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$local_gmt); + $phone_type = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$phone_type); + $picture = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$picture); + $script_comments = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$script_comments); + $script_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$script_name); + $server_description = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$server_description); + $status = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$status); + $status_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$status_name); + $wrapup_message = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$wrapup_message); + $pause_code_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$pause_code_name); + $campaign_description = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$campaign_description); + $list_description = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$list_description); + $vcl_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$vcl_name); + $vsc_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$vsc_name); + $vsc_description = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$vsc_description); + $code_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$code_name); + $alias_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$alias_name); + $shift_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$shift_name); + $did_description = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$did_description); + $alt_server_ip = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$alt_server_ip); + $template_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$template_name); + $carrier_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$carrier_name); + $group_alias_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$group_alias_name); + $caller_id_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$caller_id_name); + $user_code = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$user_code); + $territory = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$territory); + $tts_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$tts_name); + $moh_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$moh_name); + $timer_action_message = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$timer_action_message); + $external_server_ip = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$external_server_ip); + $default_codecs = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$default_codecs); + $codecs_list = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$codecs_list); + $label_title = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_title); + $label_first_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_first_name); + $label_middle_initial = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_middle_initial); + $label_last_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_last_name); + $label_address1 = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_address1); + $label_address2 = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_address2); + $label_address3 = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_address3); + $label_city = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_city); + $label_state = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_state); + $label_province = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_province); + $label_postal_code = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_postal_code); + $label_vendor_lead_code = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_vendor_lead_code); + $label_gender = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_gender); + $label_phone_number = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_phone_number); + $label_phone_code = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_phone_code); + $label_alt_phone = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_alt_phone); + $label_security_phrase = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_security_phrase); + $label_email = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_email); + $label_comments = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_comments); + $slave_db_server = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$slave_db_server); + $filter_phone_group_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$filter_phone_group_name); + $filter_phone_group_description = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$filter_phone_group_description); + $filter_clean_cid_number = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$filter_clean_cid_number); + $label_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$label_name); + $default_local_gmt = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$default_local_gmt); + $cid_description = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$cid_description); + $description = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$description); + $first_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$first_name); + $last_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$last_name); + $bu_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$bu_name); + $department = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$department); + $group = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$group); + $job_title = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$job_title); + $location = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$location); + $holiday_name = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$holiday_name); + $holiday_comments = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$holiday_comments); ### ALPHA-NUMERIC and underscore and dash and slash and at and dot - $call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); - $client_browser = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$client_browser); - $DBX_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBX_server); - $DBY_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBY_server); - $dtmf_send_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$dtmf_send_extension); - $install_directory = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$install_directory); - $old_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$old_extension); - $telnet_host = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$telnet_host); - $queuemetrics_dbname = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_dbname); - $queuemetrics_login = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_login); - $queuemetrics_pass = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_pass); - $email = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$email); - $vtiger_dbname = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$vtiger_dbname); - $vtiger_login = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$vtiger_login); - $vtiger_pass = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$vtiger_pass); - $custom_one = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$custom_one); - $custom_two = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$custom_two); - $custom_three = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$custom_three); - $custom_four = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$custom_four); - $custom_five = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$custom_five); + $call_out_number_group = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$call_out_number_group); + $client_browser = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$client_browser); + $DBX_server = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$DBX_server); + $DBY_server = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$DBY_server); + $dtmf_send_extension = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$dtmf_send_extension); + $install_directory = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$install_directory); + $old_extension = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$old_extension); + $telnet_host = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$telnet_host); + $queuemetrics_dbname = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$queuemetrics_dbname); + $queuemetrics_login = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$queuemetrics_login); + $queuemetrics_pass = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$queuemetrics_pass); + $email = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$email); + $vtiger_dbname = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$vtiger_dbname); + $vtiger_login = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$vtiger_login); + $vtiger_pass = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$vtiger_pass); + $custom_one = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$custom_one); + $custom_two = preg_replace('/[^-\.\:\/\@\_0-9a-zA-Z]/','',$custom_two); + $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); ### ALPHA-NUMERIC and underscore and dash and slash and at and dot and pound and star - $extension = ereg_replace("[^-\*\#\.\:\/\@\_0-9a-zA-Z]","",$extension); - $timer_action_destination = ereg_replace("[^-\*\#\.\:\/\@\_0-9a-zA-Z]","",$timer_action_destination); - $filter_extension = ereg_replace("[^-\*\#\.\:\/\@\_0-9a-zA-Z]","",$filter_extension); + $extension = preg_replace('/[^-\*\#\.\:\/\@\_0-9a-zA-Z]/','',$extension); + $timer_action_destination = preg_replace('/[^-\*\#\.\:\/\@\_0-9a-zA-Z]/','',$timer_action_destination); + $filter_extension = preg_replace('/[^-\*\#\.\:\/\@\_0-9a-zA-Z]/','',$filter_extension); ### ALPHA-NUMERIC and space and underscore and dash and slash and at and dot and pound and star and pipe and comma - $ivr_park_call_agi = ereg_replace("[^- \*\#\.\,\:\/\|\@\_0-9a-zA-Z]","",$ivr_park_call_agi); + $ivr_park_call_agi = preg_replace('/[^- \*\#\.\,\:\/\|\@\_0-9a-zA-Z]/','',$ivr_park_call_agi); ### ALPHA-NUMERIC and space and underscore and dash and slash and at and dot and pound and star and pipe and comma and equal - $voicemail_options = ereg_replace("[^- \=\*\#\.\,\:\/\|\@\_0-9a-zA-Z]","",$voicemail_options); + $voicemail_options = preg_replace('/[^- \=\*\#\.\,\:\/\|\@\_0-9a-zA-Z]/','',$voicemail_options); ### NUMERIC and comma and pipe - $waitforsilence_options = ereg_replace("[^\|\,0-9a-zA-Z]","",$waitforsilence_options); + $waitforsilence_options = preg_replace('/[^\|\,0-9a-zA-Z]/','',$waitforsilence_options); ### value cleaning - $no_agent_action_value = ereg_replace("[^-\/\|\_\#\*\,\.\_0-9a-zA-Z]","",$no_agent_action_value); + $no_agent_action_value = preg_replace('/[^-\/\|\_\#\*\,\.\_0-9a-zA-Z]/','',$no_agent_action_value); ### ALPHA-NUMERIC and underscore and dash and slash and at and space and colon - $vdc_header_date_format = ereg_replace("[^- \:\/\_0-9a-zA-Z]","",$vdc_header_date_format); - $vdc_customer_date_format = ereg_replace("[^- \:\/\_0-9a-zA-Z]","",$vdc_customer_date_format); - $menu_name = ereg_replace("[^- \:\/\_0-9a-zA-Z]","",$menu_name); + $vdc_header_date_format = preg_replace('/[^- \:\/\_0-9a-zA-Z]/','',$vdc_header_date_format); + $vdc_customer_date_format = preg_replace('/[^- \:\/\_0-9a-zA-Z]/','',$vdc_customer_date_format); + $menu_name = preg_replace('/[^- \:\/\_0-9a-zA-Z]/','',$menu_name); ### ALPHA-NUMERIC and underscore and dash and at and space and parantheses - $vdc_header_phone_format = ereg_replace("[^- \(\)\_0-9a-zA-Z]","",$vdc_header_phone_format); + $vdc_header_phone_format = preg_replace('/[^- \(\)\_0-9a-zA-Z]/', '',$vdc_header_phone_format); ### remove semi-colons ### - $lead_filter_sql = ereg_replace(";","",$lead_filter_sql); - $list_mix_container = ereg_replace(";","",$list_mix_container); - $survey_response_digit_map = ereg_replace(";","",$survey_response_digit_map); - $survey_camp_record_dir = ereg_replace(";","",$survey_camp_record_dir); - $conf_override = ereg_replace(";","",$conf_override); - $template_contents = ereg_replace(";","",$template_contents); - $registration_string = ereg_replace(";","",$registration_string); - $account_entry = ereg_replace(";","",$account_entry); - $account_entry = ereg_replace("\r","",$account_entry); - $globals_string = ereg_replace(";","",$globals_string); - $dialplan_entry = ereg_replace(";","",$dialplan_entry); - $dialplan_entry = ereg_replace("\r","",$dialplan_entry); - $custom_dialplan_entry = ereg_replace("\\\\","",$custom_dialplan_entry); - $custom_dialplan_entry = ereg_replace("'","",$custom_dialplan_entry); - $custom_dialplan_entry = ereg_replace("\r","",$custom_dialplan_entry); - $tts_text = ereg_replace("\\\\","",$tts_text); - $tts_text = ereg_replace(";","",$tts_text); - $tts_text = ereg_replace("\r","",$tts_text); - $tts_text = ereg_replace("\"","",$tts_text); - $carrier_description = ereg_replace("\\\\","",$carrier_description); - $carrier_description = ereg_replace(";","",$carrier_description); - $carrier_description = ereg_replace("\r","",$carrier_description); - $carrier_description = ereg_replace("\"","",$carrier_description); - $blind_monitor_message = ereg_replace("\\\\","",$blind_monitor_message); - $blind_monitor_message = ereg_replace(";","",$blind_monitor_message); - $blind_monitor_message = ereg_replace("\r","",$blind_monitor_message); - $blind_monitor_message = ereg_replace("\"","",$blind_monitor_message); - $modify_url = ereg_replace("\\\\","",$modify_url); - $modify_url = ereg_replace(";","",$modify_url); - $modify_url = ereg_replace("\r","",$modify_url); - $modify_url = ereg_replace("\"","",$modify_url); - $qualify_sql = ereg_replace("\\\\","",$qualify_sql); - $qualify_sql = ereg_replace(";","",$qualify_sql); - $qualify_sql = ereg_replace("\r","",$qualify_sql); - $qualify_sql = ereg_replace("'",'"',$qualify_sql); - $queuemetrics_socket_url = ereg_replace("\\\\","",$queuemetrics_socket_url); - $queuemetrics_socket_url = ereg_replace(";","",$queuemetrics_socket_url); - $queuemetrics_socket_url = ereg_replace("\r","",$queuemetrics_socket_url); - $queuemetrics_socket_url = ereg_replace("'",'"',$queuemetrics_socket_url); + $lead_filter_sql = preg_replace('/;/','',$lead_filter_sql); + $list_mix_container = preg_replace('/;/','',$list_mix_container); + $survey_response_digit_map = preg_replace('/;/','',$survey_response_digit_map); + $survey_camp_record_dir = preg_replace('/;/','',$survey_camp_record_dir); + $conf_override = preg_replace('/;/','',$conf_override); + $template_contents = preg_replace('/;/','',$template_contents); + $registration_string = preg_replace('/;/','',$registration_string); + $account_entry = preg_replace('/;/','',$account_entry); + $account_entry = preg_replace('/\r/', '',$account_entry); + $globals_string = preg_replace('/;/','',$globals_string); + $dialplan_entry = preg_replace('/;/','',$dialplan_entry); + $dialplan_entry = preg_replace('/\r/', '',$dialplan_entry); + $custom_dialplan_entry = preg_replace('/\\\\/', '',$custom_dialplan_entry); + $custom_dialplan_entry = preg_replace('/\'/', '',$custom_dialplan_entry); + $custom_dialplan_entry = preg_replace('/\r/', '',$custom_dialplan_entry); + $tts_text = preg_replace('/\\\\/', '',$tts_text); + $tts_text = preg_replace('/;/','',$tts_text); + $tts_text = preg_replace('/\r/', '',$tts_text); + $tts_text = preg_replace('/\"/', '',$tts_text); + $carrier_description = preg_replace('/\\\\/', '',$carrier_description); + $carrier_description = preg_replace('/;/','',$carrier_description); + $carrier_description = preg_replace('/\r/', '',$carrier_description); + $carrier_description = preg_replace('/\"/', '',$carrier_description); + $blind_monitor_message = preg_replace('/\\\\/', '',$blind_monitor_message); + $blind_monitor_message = preg_replace('/;/','',$blind_monitor_message); + $blind_monitor_message = preg_replace('/\r/', '',$blind_monitor_message); + $blind_monitor_message = preg_replace('/\"/', '',$blind_monitor_message); + $modify_url = preg_replace('/\\\\/', '',$modify_url); + $modify_url = preg_replace('/;/','',$modify_url); + $modify_url = preg_replace('/\r/', '',$modify_url); + $modify_url = preg_replace('/\"/', '',$modify_url); + $qualify_sql = preg_replace('/\\\\/', '',$qualify_sql); + $qualify_sql = preg_replace('/;/','',$qualify_sql); + $qualify_sql = preg_replace('/\r/', '',$qualify_sql); + $qualify_sql = preg_replace('/\'/', "\"",$qualify_sql); + $queuemetrics_socket_url = preg_replace('/\\\\/', '',$queuemetrics_socket_url); + $queuemetrics_socket_url = preg_replace('/;/','',$queuemetrics_socket_url); + $queuemetrics_socket_url = preg_replace('/\r/', '',$queuemetrics_socket_url); + $queuemetrics_socket_url = preg_replace('/\'/', "\"",$queuemetrics_socket_url); ### VARIABLES TO BE mysql_real_escape_string ### # $web_form_address # $queuemetrics_url @@ -2819,8 +2819,8 @@ if ($non_latin < 1) } # end of non_latin else { - $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); - $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/\'|\"|\\\\|;/', '',$PHP_AUTH_PW); + $PHP_AUTH_USER = preg_replace('/\'|\"|\\\\|;/', '',$PHP_AUTH_USER); } @@ -3246,12 +3246,14 @@ else # 130503-1509 - Added red color to server table on reports page if asterisk out of sync # 130508-2306 - Branched 2.7, trunk becomes 2.8 # 130510-1350 - Added outbound state call time holidays functionality +# 130605-0841 - Converted ereg to preg +# - Added display of agent login information on User Modify screen, and reset of failed_logins on update # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time -$admin_version = '2.8-403a'; -$build = '130510-1350'; +$admin_version = '2.8-404a'; +$build = '130605-0841'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -3432,7 +3434,7 @@ if ( ($auth > 0) or ($reports_auth > 0) or ($qc_auth > 0) ) $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) { $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); @@ -3446,7 +3448,7 @@ if ( ($auth > 0) or ($reports_auth > 0) or ($qc_auth > 0) ) $whereLOGadmin_viewable_groupsSQL=''; $valLOGadmin_viewable_groupsSQL=''; $vmLOGadmin_viewable_groupsSQL=''; - if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + if ( (!preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) { $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); @@ -3461,7 +3463,7 @@ if ( ($auth > 0) or ($reports_auth > 0) or ($qc_auth > 0) ) $LOGadmin_viewable_call_timesSQL=''; $whereLOGadmin_viewable_call_timesSQL=''; - if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) + if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) ) { $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times); $rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL); @@ -3601,7 +3603,7 @@ if ($ADD==171111111111) {$hh='admin'; $sh='vm'; echo "ADD NEW VOICEMAIL BOX";} if ($ADD==181111111111) {$hh='admin'; $sh='label'; echo "ADD NEW SCREEN LABEL";} if ($ADD==191111111111) {$hh='admin'; $sh='cts'; echo "ADD NEW CONTACT";} if ($ADD==1111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW CONFERENCE";} -if ($ADD==11111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW VICIDIAL CONFERENCE";} +if ($ADD==11111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW AGENT CONFERENCE";} if ($ADD=='2') {$hh='users'; echo "New User Addition";} if ($ADD=='2A') {$hh='users'; echo "New Copied User Addition";} if ($ADD==20) {$hh='campaigns'; $sh='basic'; echo "New Copied Campaign Addition";} @@ -3638,7 +3640,7 @@ if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "ADDING NEW PHONE";} if ($ADD==22111111111) {$hh='admin'; $sh='phones'; echo "ADDING NEW PHONE ALIAS";} if ($ADD==23111111111) {$hh='admin'; $sh='phones'; echo "ADDING NEW GROUP ALIAS";} if ($ADD==211111111111) {$hh='admin'; $sh='server'; echo "ADDING NEW SERVER";} -if ($ADD==221111111111) {$hh='admin'; $sh='server'; echo "ADDING NEW SERVER VICIDIAL TRUNK RECORD";} +if ($ADD==221111111111) {$hh='admin'; $sh='server'; echo "ADDING NEW SERVER TRUNK RECORD";} if ($ADD==231111111111) {$hh='admin'; $sh='templates'; echo "ADDING NEW CONF TEMPLATE";} if ($ADD==241111111111) {$hh='admin'; $sh='carriers'; echo "ADDING NEW CARRIER";} if ($ADD==240111111111) {$hh='admin'; $sh='carriers'; echo "ADDING COPIED CARRIER";} @@ -3648,10 +3650,10 @@ if ($ADD==271111111111) {$hh='admin'; $sh='vm'; echo "ADDING NEW VOICEMAIL BOX"; if ($ADD==281111111111) {$hh='admin'; $sh='label'; echo "ADDING NEW SCREEN LABEL";} if ($ADD==291111111111) {$hh='admin'; $sh='cts'; echo "ADDING NEW CONTACT";} if ($ADD==2111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW CONFERENCE";} -if ($ADD==21111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW VICIDIAL CONFERENCE";} -if ($ADD==221111111111111) {$hh='admin'; $sh='status'; echo "ADDING VICIDIAL SYSTEM STATUSES";} -if ($ADD==231111111111111) {$hh='admin'; $sh='status'; echo "ADDING VICIDIAL STATUS CATEGORY";} -if ($ADD==241111111111111) {$hh='admin'; $sh='status'; echo "ADDING VICIDIAL QC STATUS CODE";} +if ($ADD==21111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW AGENT CONFERENCE";} +if ($ADD==221111111111111) {$hh='admin'; $sh='status'; echo "ADDING SYSTEM STATUSES";} +if ($ADD==231111111111111) {$hh='admin'; $sh='status'; echo "ADDING STATUS CATEGORY";} +if ($ADD==241111111111111) {$hh='admin'; $sh='status'; echo "ADDING QC STATUS CODE";} if ($ADD==3) {$hh='users'; echo "Modify User";} if ($ADD==30) {$hh='campaigns'; echo "Campaign Not Allowed";} if ($ADD==31) @@ -3721,11 +3723,11 @@ if ($ADD==371111111111) {$hh='admin'; $sh='vm'; echo "MODIFY VOICEMAIL BOX";} if ($ADD==381111111111) {$hh='admin'; $sh='label'; echo "MODIFY SCREEN LABEL";} if ($ADD==391111111111) {$hh='admin'; $sh='cts'; echo "MODIFY CONTACT";} if ($ADD==3111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY CONFERENCE";} -if ($ADD==31111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} -if ($ADD==311111111111111) {$hh='admin'; $sh='settings'; echo "MODIFY VICIDIAL SYSTEM SETTINGS";} -if ($ADD==321111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL SYSTEM STATUSES";} -if ($ADD==331111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL STATUS CATEGORY";} -if ($ADD==341111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL QC STATUS CODE";} +if ($ADD==31111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY AGENT CONFERENCE";} +if ($ADD==311111111111111) {$hh='admin'; $sh='settings'; echo "MODIFY SYSTEM SETTINGS";} +if ($ADD==321111111111111) {$hh='admin'; $sh='status'; echo "MODIFY SYSTEM STATUSES";} +if ($ADD==331111111111111) {$hh='admin'; $sh='status'; echo "MODIFY STATUS CATEGORY";} +if ($ADD==341111111111111) {$hh='admin'; $sh='status'; echo "MODIFY QC STATUS CODE";} if ($ADD=="4A") {$hh='users'; echo "Modify User - Admin";} if ($ADD=="4B") {$hh='users'; echo "Modify User - Admin";} if ($ADD==4) {$hh='users'; echo "Modify User";} @@ -3758,7 +3760,7 @@ if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE";} if ($ADD==42111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE ALIAS";} if ($ADD==43111111111) {$hh='admin'; $sh='phones'; echo "MODIFY GROUP ALIAS";} if ($ADD==411111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER";} -if ($ADD==421111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER VICIDIAL TRUNK RECORD";} +if ($ADD==421111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER TRUNK RECORD";} if ($ADD==431111111111) {$hh='admin'; $sh='templates'; echo "MODIFY CONF TEMPLATE";} if ($ADD==441111111111) {$hh='admin'; $sh='carriers'; echo "MODIFY CARRIER";} if ($ADD==451111111111) {$hh='admin'; $sh='tts'; echo "MODIFY TTS ENTRY";} @@ -3767,11 +3769,11 @@ if ($ADD==471111111111) {$hh='admin'; $sh='vm'; echo "MODIFY VOICEMAIL BOX";} if ($ADD==481111111111) {$hh='admin'; $sh='label'; echo "MODIFY SCREEN LABEL";} if ($ADD==491111111111) {$hh='admin'; $sh='cts'; echo "MODIFY CONTACT";} if ($ADD==4111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY CONFERENCE";} -if ($ADD==41111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} -if ($ADD==411111111111111) {$hh='admin'; $sh='settings'; echo "MODIFY VICIDIAL SYSTEM SETTINGS";} -if ($ADD==421111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL SYSTEM STATUSES";} -if ($ADD==431111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL STATUS CATEGORIES";} -if ($ADD==441111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL QC STATUS CODE";} +if ($ADD==41111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY CONFERENCE";} +if ($ADD==411111111111111) {$hh='admin'; $sh='settings'; echo "MODIFY SYSTEM SETTINGS";} +if ($ADD==421111111111111) {$hh='admin'; $sh='status'; echo "MODIFY SYSTEM STATUSES";} +if ($ADD==431111111111111) {$hh='admin'; $sh='status'; echo "MODIFY STATUS CATEGORIES";} +if ($ADD==441111111111111) {$hh='admin'; $sh='status'; echo "MODIFY QC STATUS CODE";} if ($ADD==5) {$hh='users'; echo "Delete User";} if ($ADD==51) {$hh='campaigns'; $sh='detail'; echo "Delete Campaign";} if ($ADD==52) {$hh='campaigns'; $sh='detail'; echo "Logout Agents";} @@ -3802,7 +3804,7 @@ if ($ADD==571111111111) {$hh='admin'; $sh='vm'; echo "DELETE VOICEMAIL BOX";} if ($ADD==581111111111) {$hh='admin'; $sh='label'; echo "DELETE SCREEN LABEL";} if ($ADD==591111111111) {$hh='admin'; $sh='cts'; echo "DELETE CONTACT";} if ($ADD==5111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} -if ($ADD==51111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==51111111111111) {$hh='admin'; $sh='conference'; echo "DELETE AGENT CONFERENCE";} if ($ADD==6) {$hh='users'; echo "Delete User";} if ($ADD==61) {$hh='campaigns'; $sh='detail'; echo "Delete Campaign";} if ($ADD==62) {$hh='campaigns'; $sh='detail'; echo "Logout Agents";} @@ -3831,7 +3833,7 @@ if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==62111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE ALIAS";} if ($ADD==63111111111) {$hh='admin'; $sh='phones'; echo "DELETE GROUP ALIAS";} if ($ADD==611111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} -if ($ADD==621111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER VICIDIAL TRUNK RECORD";} +if ($ADD==621111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER TRUNK RECORD";} if ($ADD==631111111111) {$hh='admin'; $sh='templates'; echo "DELETE CONF TEMPLATE";} if ($ADD==641111111111) {$hh='admin'; $sh='carriers'; echo "DELETE CARRIER";} if ($ADD==651111111111) {$hh='admin'; $sh='tts'; echo "DELETE TTS ENTRY";} @@ -3840,16 +3842,16 @@ if ($ADD==671111111111) {$hh='admin'; $sh='vm'; echo "DELETE VOICEMAIL BOX";} if ($ADD==681111111111) {$hh='admin'; $sh='label'; echo "DELETE SCREEN LABEL";} if ($ADD==691111111111) {$hh='admin'; $sh='cts'; echo "DELETE CONTACT";} if ($ADD==6111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} -if ($ADD==61111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==61111111111111) {$hh='admin'; $sh='conference'; echo "DELETE AGENT CONFERENCE";} if ($ADD==73) {$hh='campaigns'; echo "Dialable Lead Count";} if ($ADD==7111111) {$hh='scripts'; echo "Preview Script";} -if ($ADD==700000000000000) {$hh='reports'; echo "VICIDIAL ADMIN CHANGE LOG";} -if ($ADD==710000000000000) {$hh='reports'; echo "VICIDIAL USER ADMIN CHANGE LOG";} -if ($ADD==720000000000000) {$hh='reports'; echo "VICIDIAL SECTION ADMIN CHANGE LOG";} -if ($ADD==730000000000000) {$hh='reports'; echo "VICIDIAL DETAIL ADMIN CHANGE LOG";} -if ($ADD==800000000000000) {$hh='reports'; echo "VICIDIAL ADMIN REPORT LOG";} -if ($ADD==810000000000000) {$hh='reports'; echo "VICIDIAL USER ADMIN REPORT LOG";} -if ($ADD==830000000000000) {$hh='reports'; echo "VICIDIAL DETAIL ADMIN REPORT LOG";} +if ($ADD==700000000000000) {$hh='reports'; echo "ADMIN CHANGE LOG";} +if ($ADD==710000000000000) {$hh='reports'; echo "USER ADMIN CHANGE LOG";} +if ($ADD==720000000000000) {$hh='reports'; echo "SECTION ADMIN CHANGE LOG";} +if ($ADD==730000000000000) {$hh='reports'; echo "DETAIL ADMIN CHANGE LOG";} +if ($ADD==800000000000000) {$hh='reports'; echo "ADMIN REPORT LOG";} +if ($ADD==810000000000000) {$hh='reports'; echo "USER ADMIN REPORT LOG";} +if ($ADD==830000000000000) {$hh='reports'; echo "DETAIL ADMIN REPORT LOG";} if ($ADD==0) {$hh='users'; echo "Users List";} if ($ADD==8) {$hh='users'; echo "CallBacks Within Agent";} if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "CallBacks Within Campaign";} @@ -3884,7 +3886,7 @@ if ($ADD==170000000000) {$hh='admin'; $sh='vm'; echo "VOICEMAIL BOXES LIST";} if ($ADD==180000000000) {$hh='admin'; $sh='label'; echo "SCREEN LABELS LIST";} if ($ADD==190000000000) {$hh='admin'; $sh='cts'; echo "CONTACTS LIST";} if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "CONFERENCE LIST";} -if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL CONFERENCE LIST";} +if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "AGENT CONFERENCE LIST";} ##QC require_once('qc/QC_admin_variables01.php'); if ($ADD==550) {$hh='users'; echo "Search Form";} @@ -4029,9 +4031,9 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD elseif (isset($_POST["GRADE_$campaign_id_values[$o]"])) {$campaign_grade=$_POST["GRADE_$campaign_id_values[$o]"];} if ($non_latin < 1) { - $campaign_rank = ereg_replace("[^-\_0-9]","",$campaign_rank); + $campaign_rank = preg_replace('/[^-\_0-9]/','',$campaign_rank); $campaign_web = preg_replace("/;|\"|\'/","",$campaign_web); - $campaign_grade = ereg_replace("[^-\_0-9]","",$campaign_grade); + $campaign_grade = preg_replace('/[^-\_0-9]/','',$campaign_grade); } if ($ranks_to_print > 0) @@ -4057,7 +4059,7 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD $campaign_grade = $SELECT_campaign_grade; } - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -4076,7 +4078,7 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD $UGcampaigns = explode(" ", $allowed_campaigns); $p=0; $RANK_camp_active=0; $GRADE_camp_active=0; $CR_disabled = ''; - if (eregi('-ALL-CAMPAIGNS-',$allowed_campaigns)) + if (preg_match('/\-ALL\-CAMPAIGNS\-/i',$allowed_campaigns)) {$RANK_camp_active++; $GRADE_camp_active++;} else { @@ -4128,7 +4130,7 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD ##### BEGIN get inbound groups listing for checkboxes ##### $xfer_groupsSQL=''; - if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and ( (eregi('list_activation', $stage)) or (ereg('test_call',$stage)) ) ) ) + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and ( (preg_match('/list_activation/i', $stage)) or (preg_match('/test_call/',$stage)) ) ) ) { $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); @@ -4224,9 +4226,9 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD if ($non_latin < 1) { - $group_rank = ereg_replace("[^-\_0-9]","",$group_rank); + $group_rank = preg_replace('/[^-\_0-9]/','',$group_rank); $group_web = preg_replace("/;|\"|\'/","",$group_web); - $group_grade = ereg_replace("[^-\_0-9]","",$group_grade); + $group_grade = preg_replace('/[^-\_0-9]/','',$group_grade); } if ($ranks_to_print > 0) @@ -4252,7 +4254,7 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD $group_grade = $SELECT_group_grade; } - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -4347,7 +4349,7 @@ if ( ($ADD==211111) or ($ADD==311111) or ($ADD==411111) or ($ADD==511111) or ($A } $campaigns_value=''; - if ( (eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (preg_match('/\-ALL/i', $LOGallowed_campaigns)) ) {$campaigns_list='ADMINISTRATION: HELP


\n"; ?> - VICIDIAL_USERS TABLE

- + USERS TABLE

+

- User ID - This field is where you put the VICIDIAL users ID number, can be up to 8 digits in length, Must be at least 2 characters in length. + User ID - This field is where you put the users ID number, can be up to 8 digits in length, Must be at least 2 characters in length.
-
+
- Password - This field is where you put the VICIDIAL users password. Must be at least 2 characters in length. A strong user password should be at least 8 characters in length and have lower case and upper case letters as well as at least one number. + Password - This field is where you put the users password. Must be at least 2 characters in length. A strong user password should be at least 8 characters in length and have lower case and upper case letters as well as at least one number.
-
+
Force Change Password - If this option is set to Y then the user will be prompted to change their password the next time they log in to the administration webpage. Default is N.
-
+
- Full Name - This field is where you put the VICIDIAL users full name. Must be at least 2 characters in length. + Last Login Info - This shows the last login attempt date and time, and if there has been a recent failed login attempt. If this modify user form is submitted, then the failed login attempt counter will be reset and the agent can immediately attempt to log in again. If an agent has 10 failed login attempts in a row then they cannot attempt to log in again for at least 15 minutes unless their account is manually reset.
-
+
- User Level - This menu is where you select the VICIDIAL users user level. Must be a level of 1 to log into VICIDIAL, Must be level greater than 2 to log in as a closer, Must be user level 8 or greater to get into admin web section. + Full Name - This field is where you put the users full name. Must be at least 2 characters in length.
-
+
- User Group - This menu is where you select the VICIDIAL users group that this user will belong to. This does not have any restrictions at this time, this is just to subdivide users and allow for future features based upon it. + User Level - This menu is where you select the users user level. Must be a level of 1 to log into the agent screen, Must be level greater than 2 to log in as a closer, Must be user level 8 or greater to get into admin web section.
-
+
- Phone Login - Here is where you can set a default phone login value for when the user logs into vicidial.php. This value will populate the phone_login automatically when the user logs in with their user-pass-campaign in the vicidial.php login screen. + User Group - This menu is where you select the users group that this user will belong to. There are several agent screen features that can be controlled through user group settings. If this field is left blank then the user cannot log in to the agent screen.
-
+
- Phone Pass - Here is where you can set a default phone pass value for when the user logs into vicidial.php. This value will populate the phone_pass automatically when the user logs in with their user-pass-campaign in the vicidial.php login screen. + Phone Login - Here is where you can set a default phone login value for when the user logs into the agent screen. This value will populate the phone_login automatically when the user logs in with their user-pass-campaign in the agent login screen.
-
+
- Active - This field defines whether the user is active in the system and can use VICIDIAL resources. Default is Y + Phone Pass - Here is where you can set a default phone pass value for when the user logs into the agent screen. This value will populate the phone_pass automatically when the user logs in with their user-pass-campaign in the agent login screen.
-
+ +
+ Active - This field defines whether the user is active in the system and can log in as an agent or manager. Default is Y. + +
+

Voicemail ID - This is the voicemail box that calls will be directed to in an AGENTDIRECT in-group at the drop time if the in-group has the drop method set to VOICEMAIL and the Voicemail field set to AGENTVMAIL.
-
+
Email, User Code and Territory - These are optional fields.
-
+
- Hot Keys Active - This option if set to 1 allows the user to use the Hot Keys quick-dispositioning function in vicidial.php. + Hot Keys Active - This option if set to 1 allows the user to use the Hot Keys quick-dispositioning function in the agent screen.
-
+
Agent Choose Ingroups - This option if set to 1 allows the user to choose the ingroups that they will receive calls from when they login to a CLOSER or INBOUND campaign. Otherwise the Manager will need to set this in their user detail screen of the admin page.
-
+
Agent Choose Blended - This option if set to 1 allows the user to choose if the agent has their campaign set to blended or not, and if not then the default blended setting will be used. Default is 1 for enabled.
-
+
Agent Choose Territories - This option if set to 1 allows the user to choose the territories that they will receive calls from when they login to a MANUAL or INBOUND_MAN campaign. Otherwise the user will be set to use all of the territories that they are set to belong to in the User Territories administrative section.
-
+
Scheduled Callbacks - This option allows an agent to disposition a call as CALLBK and choose the date and time at which the lead will be re-activated.
-
+
Agent-Only Callbacks - This option allows an agent to set a callback so that they are the only Agent that can call the customer back. This also allows the agent to see their callback listings and call them back any time they want to.
-
+
- Agent Call Manual - This option allows an agent to manually enter a new lead into the system and call them. This also allows the calling of any phone number from their vicidial screen and puts that call into their session. Use this option with caution. + Agent Call Manual - This option allows an agent to manually enter a new lead into the system and call them. This also allows the calling of any phone number from their agent screen and puts that call into their session. Use this option with caution.
-
+
Agent Call Email - This option is disabled.
-
+
- Vicidial Recording - This option can prevent an agent from doing any recordings after they log in to vicidial. This option must be on for vicidial to follow the campaign recording session. + Agent Recording - This option can prevent an agent from doing any recordings after they log in to the agent screen. This option must be on for the agent screen to follow the campaign recording settings.
-
+
- Vicidial Transfers - This option can prevent an agent from opening the transfer - conference session of vicidial. If this is disabled, the agent cannot third party call or blind transfer any calls. + Agent Transfers - This option can prevent an agent from opening the transfer - conference session in the agent screen. If this is disabled, the agent cannot third party call or blind transfer any calls. 0) { ?>
-
+
Closer Default Blended - This option simply defaults the Blended checkbox on a CLOSER login screen.
-
+
- VICIDIAL Recording Override - This option will override whatever the option is in the campaign for recording. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Recording Delay to cut down on very short recordings and reduce system load. + Agent Recording Override - This option will override whatever the option is in the campaign for recording. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Recording Delay to cut down on very short recordings and reduce system load.
-
+
Agent Shift Enforcement Override - This setting will override whatever the users user group has set for Shift Enforcement. DISABLED will use the user group setting. OFF will not enforce shifts at all. START will only enforce the login time but will not affect an agent that is running over their shift time if they are already logged in. ALL will enforce shift start time and will log an agent out after they run over the end of their shift time. Default is DISABLED.
-
+
Agent Call Log View Override - This setting will override whatever the users user group has set for Agent Call Log View. DISABLED will use the user group setting. N will not allow showing the users call log. Y will allow showing the user call log. Default is DISABLED.
-
+
Agent Lead Search Override - This setting will override whatever the campaign has set for Agent Lead Search. NOT_ACTIVE will use the campaign setting. ENABLED will allow lead searching and DISABLED will not allow lead searching. Default is NOT_ACTIVE. LIVE_CALL_INBOUND will allow search for a lead while on an inbound call only. LIVE_CALL_INBOUND_AND_MANUAL will allow search for a lead while on an inbound call or while paused. When Lead Search is used on a live inbound call, the lead of the call when it went to the agent will be changed to a status of LSMERG, and the logs for the call will be modified to link to the agent selected lead instead.
-
+
- Alert Enabled - This field shows whether the agent has web browser alerts enabled for when calls come into their vicidial.php session. Default is 0 for NO. + Alert Enabled - This field shows whether the agent has web browser alerts enabled for when calls come into their agent screen session. Default is 0 for NO.
-
+
- Allow Alerts - This field gives you the ability to allow agent browser alerts to be enabled by the agent for when calls come into their vicidial.php session. Default is 0 for NO. + Allow Alerts - This field gives you the ability to allow agent browser alerts to be enabled by the agent for when calls come into their agent screen session. Default is 0 for NO.
-
+
Preset Contact Search - If the user is logged into a campaign that has Transfer Presets set to CONTACTS, then this setting can disable contact searching for this user only. Default is NOT_ACTIVE which will use whatever the campaign setting is.
-
+
Campaign Ranks - In this section you can define the rank an agent will have for each campaign. These ranks can be used to allow for preferred call routing when Next Agent Call is set to campaign_rank. Also in this section are the WEB VARs for each campaign. These allow each agent to have a different variable string that can be added to the WEB FORM or SCRIPT tab URLs by simply putting --A--web_vars--B-- as you would put any other field. Another field in this section is GRADE, which allows for the campaign_grade_random Next Agent Call setting to be used. This grade setting will increase or decrease the probability that the agent will receive the call.
-
+
Inbound Groups - Here is where you select the inbound groups you want to receive calls from if you have selected the CLOSER campaign. You will also be able to set the rank, or skill level, in this section for each of the inbound groups as well as being able to see the number of calls received from each inbound group for this specific agent. Also in this section is the ability to give the agent a rank for each inbound group. These ranks can be used for preferred call routing when that option is selected in the in-group screen. Also in this section are the WEB VARs for each campaign. These allow each agent to have a different variable string that can be added to the WEB FORM or SCRIPT tab URLs by simply putting --A--web_vars--B-- as you would put any other field.
-
+
Agent Alter Customer Data Override - This option will override whatever the option is in the campaign for altering of customer data. NOT_ACTIVE will use whatever setting is present for the campaign. ALLOW_ALTER will always allow for the agent to alter the customer data, no matter what the campaign setting is. Default is NOT_ACTIVE.
-
+
Agent Alter Customer Phone Override - This option will override whatever the option is in the campaign for altering of customer phone number. NOT_ACTIVE will use whatever setting is present for the campaign. ALLOW_ALTER will always allow for the agent to alter the customer phone number, no matter what the campaign setting is. Default is NOT_ACTIVE.
-
+
Custom User Fields - These five fields can be used for various purposes, and they can be populated in the web form addresses and scripts as user_custom_one and so on. The Custom 5 field can be used as a field to define a dialplan number to send a call to from an AGENTDIRECT in-group if the user is unavailable, you just need to put AGENTEXT in the MESSAGE or EXTENSION field in the AGENTDIRECT in-group and the system will look up the custom five field and send the call to that dialplan number.
-
+
Alter Agent Interface Options - This option if set to 1 allows the administrative user to modify the Agents interface options in admin.php.
-
+
Delete Users - This option if set to 1 allows the user to delete other users of equal or lesser user level from the system.
-
+
Delete User Groups - This option if set to 1 allows the user to delete user groups from the system.
-
+
- Delete Lists - This option if set to 1 allows the user to delete vicidial lists from the system. + Delete Lists - This option if set to 1 allows the user to delete lists from the system.
-
+
- Delete Campaigns - This option if set to 1 allows the user to delete vicidial campaigns from the system. + Delete Campaigns - This option if set to 1 allows the user to delete campaigns from the system.
-
+
- Delete In-Groups - This option if set to 1 allows the user to delete vicidial In-Groups from the system. + Delete In-Groups - This option if set to 1 allows the user to delete Inbound Groups from the system.
-
+
- Delete Remote Agents - This option if set to 1 allows the user to delete vicidial remote agents from the system. + Delete Remote Agents - This option if set to 1 allows the user to delete remote agents from the system. 0) { ?>
-
+
- Load Leads - This option if set to 1 allows the user to load vicidial leads into the vicidial_list table by way of the web based lead loader. + Load Leads - This option if set to 1 allows the user to load lead lists into the list table by way of the web based lead loader. 0) { ?>
-
+
Custom Fields Modify - This option if set to 1 allows the user to modify custom list fields.
-
+
Campaign Detail - This option if set to 1 allows the user to view and modify the campaign detail screen elements.
-
+
AGC Admin Access - This option if set to 1 allows the user to login to the astGUIclient admin pages.
-
+
AGC Delete Phones - This option if set to 1 allows the user to delete phone entries in the astGUIclient admin pages.
-
+
Delete Scripts - This option if set to 1 allows the user to delete Campaign scripts in the script modification screen.
-
+
Modify Leads - This option if set to 1 allows the user to modify leads in the admin section lead search results page. @@ -4753,7 +4760,7 @@ if ($ADD==99999) { ?>
-
+
Modify Email Accounts - This option if set to 1 allows the user to modify email accounts in the email account management page.
-
+
Change Agent Campaign - This option if set to 1 allows the user to alter the campaign that an agent is logged into while they are logged into it. @@ -4770,44 +4777,44 @@ if ($ADD==99999) { ?>
-
+
- Delete Filters - This option allows the user to be able to delete vicidial lead filters from the system. + Delete Filters - This option allows the user to be able to delete lead filters from the system.
-
+
- Delete Call Times - This option allows the user to be able to delete vicidial call times records and vicidial state call times records from the system. + Delete Call Times - This option allows the user to be able to delete call times records and state call times records from the system.
-
+
Modify Call Times - This option allows the user to view and modify the call times and state call times records. A user doesn't need this option enabled if they only need to change the call times option on the campaigns screen.
-
+
Modify Sections - These options allow the user to view and modify each sections records. If set to 0, the user will be able to see the section list, but not the detail or modification screen of a record in that section.
-
+
- View Reports - This option allows the user to view the VICIDIAL reports. + View Reports - This option allows the user to view the system web reports. 0) { ?>
-
+
QC Enabled - This option allows the user to log in to the Quality Control agent screen.
-
+
QC User Level - This setting defines what the agent Quality Control user level is. This will dictate the level of functionality for the agent in the QC section:
1 - Modify Nothing
@@ -4819,17 +4826,17 @@ if ($ADD==99999) 7 - Manager Level

-
+
QC Record Pass - This option allows the agent to specify that a record has passed the first round of QC after reviewing the record.
-
+
QC Record Finish - This option allows the agent to specify that a record has finished the second round of QC after reviewing the passed record.
-
+
QC Record Commit - This option allows the agent to specify that a record has been committed in QC. It can no longer be modified by anyone.
-
+
Add Timeclock Log Record - This option allows the user to add records to the timeclock log.
-
+
Modify Timeclock Log Record - This option allows the user to modify records in the timeclock log.
-
+
Delete Timeclock Log Record - This option allows the user to delete records in the timeclock log.
-
+
- Agent API Access - This option allows the account to be used with the vicidial agent API commands. + Agent API Access - This option allows the account to be used with the agent and non-agent API commands.
-
+
Manager Shift Enforcement Override - This setting if set to 1 will allow a manager to enter their user and password on an agent screen to override the shift restrictions on an agent session if the agent is trying to log in outside of their shift. Default is 0.
-
+
Download Lists - This setting if set to 1 will allow a manager to click on the download list link at the bottom of a list modification screen to export the entire contents of a list to a flat data file. Default is 0.
-
+
Export Reports - This setting if set to 1 will allow a manager to access the export call and lead reports on the REPORTS screen. Default is 0. For the Export Calls and Leads Reports, the following field order is used for exports:
call_date, phone_number_dialed, status, user, full_name, campaign_id/in-group, vendor_lead_code, source_id, list_id, gmt_offset_now, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, length_in_sec, user_group, alt_dial/queue_seconds, rank, owner
-
+
- Delete From DNC Lists - This setting if set to 1 will allow a manager to remove phone numbers from the DNC lists in the VICIDIAL system. + Delete From DNC Lists - This setting if set to 1 will allow a manager to remove phone numbers from the DNC lists in the system.
-
+
Realtime Block User Info - This setting if set to 1 will block user and station information from being displayed in the Real-time report. Default is 0 for disabled.
-
+
Modify Same User Level - This setting only applies to level 9 users. If enabled it allows the level 9 user to modify their own settings as well as other level 9 users. Default is 1 for enabled.
-
+
Admin Hide Lead Data - This setting only applies to level 7, 8 and 9 users. If enabled it replaces the customer lead data in the many reports and screens in the system with Xs. Default is 0 for disabled.
-
+
Admin Hide Phone Data - This setting only applies to level 7, 8 and 9 users. If enabled it replaces the customer phone numbers in the many reports and screens in the system with Xs. The DIGITS settings will show only the last X digits of the phone number. Default is 0 for disabled. @@ -4903,83 +4910,83 @@ if ($ADD==99999)



- VICIDIAL_CAMPAIGNS TABLE

-
+ CAMPAIGNS TABLE

+

Campaign ID - This is the short name of the campaign, it is not editable after initial submission, cannot contain spaces and must be between 2 and 8 characters in length.
-
+
Campaign Name - This is the description of the campaign, it must be between 6 and 40 characters in length.
-
+
Campaign Description - This is a memo field for the campaign, it is optional and can be a maximum of 255 characters in length.
-
+
Admin User Group - This is the administrative user group for this campaign, this allows admin viewing of this campaign as well as the lists assigned to this campaign to be restricted by user group. Default is --ALL-- which allows any admin user with user group campaign permissions to view this campaign.
-
+
Campaign Change Date - This is the last time that the settings for this campaign were modified in any way.
-
+
Last Campaign Login Date - This is the last time that an agent was logged into this campaign.
-
+
Last Campaign Call Date - This is the last time that a call was handled by an agent logged into this campaign.
-
+
Daily Maximum Stats - These are statistics that are generated by the system each day throughout the day until the timeclock end-of-day as it is set in the System Settings. These numbers are generated from the logs within the system to allow for much faster display. The stats are included are - Total Calls, Maximum Agents, Maximum inbound calls, Maximum outbound calls.
-
+
- Campaign Stats Refresh - This checkbox will allow you to force a vicidial stats refresh, even if the campaign is not active. + Campaign Stats Refresh - This option will allow you to force a campaign calling stats refresh, even if the campaign is not active.
-
+
Real-Time Agent Time Stats - Setting this to anything but DISABLED will enable the gathering of agent time stats for today for this campaign, that are viewable through the Real-Time report. CALLS are the average calls handled per agent, WAIT is the average agent wait time, CUST is the average customer talk time, ACW is the average After Call Work time, PAUSE is the average pause time. Default is DISABLED.
-
+
Active - This is where you set the campaign to Active or Inactive. If Inactive, noone can log into it.
-
+
Park Music-on-Hold - This is where you can define the on-hold music context for this campaign. Make sure you select a valid music on hold context from the select list and that the context that you have selected has valid files in it. Default is default.
-
+
Park File Name - NOT USED.
-
+
Web Form - This is where you can set the custom web page that will be opened when the user clicks on the WEB FORM button. To customize the query string after the web form, simply begin the web form with VAR and then the URL that you want to use, replacing the variables with the variable names that you want to use --A--phone_number--B-- just like in the SCRIPTS tab section. If you want to use custom fields in a web form address, you need to add &CF_uses_custom_fields=Y as part of your URL.
-
+
Web Form Target- This is where you can set the custom web page frame that the web form will be opened in when the user clicks on the WEB FORM button. Default is _blank.
-
+
Allow Closers - This is where you can set whether the users of this campaign will have the option to send the call to a closer. @@ -4988,19 +4995,19 @@ if ($ADD==99999) { ?>
-
+
Allow Emails - This is where you can set whether the users of this campaign will be able to receive inbound emails in addition to phone calls.
-
+
Default Transfer Group - This field is the default In-Group that will be automatically selected when the agent goes to the transfer-conference frame in their agent interface.
-
+
Allowed Transfer Groups - With these checkbox listings you can select the groups that agents in this campaign can transfer calls to. Allow Closers must be enabled for this option to show up. @@ -5009,21 +5016,21 @@ if ($ADD==99999) { ?>
-
+
Allow Inbound and Blended - This is where you can set whether the users of this campaign will have the option to take inbound calls with this campaign. If you want to do blended inbound and outbound then this must be set to Y. If you only want to do outbound dialing on this campaign set this to N. Default is N.
-
+
Dial Status - This is where you set the statuses that you are wanting to dial on within the lists that are active for the campaign below. To add another status to dial, select it from the drop-down list and click ADD. To remove one of the dial statuses, click on the REMOVE link next to the status you want to remove.
-
+
List Order - This menu is where you select how the leads that match the statuses selected above will be put in the lead hopper: -
  - DOWN: select the first leads loaded into the vicidial_list table -
  - UP: select the last leads loaded into the vicidial_list table +
  - DOWN: select the first leads loaded into the list table +
  - UP: select the last leads loaded into the list table
  - UP PHONE: select the highest phone number and works its way down
  - DOWN PHONE: select the lowest phone number and works its way up
  - UP LAST NAME: starts with last names starting with Z and works its way down @@ -5044,152 +5051,152 @@ if ($ADD==99999)
  - DOWN TIMEZONE: Starts with Western timezones and works East
-
+
List Order Randomize - This option allows you to randomize the order of the leads in the hopper load within the results defined by the criteria set above. For instance, the List Order will be preserved, but the results will be randomized within that sorting. Setting this option to Y will enable this feature. Default is N for disabled. NOTE, if you have a large number of leads this option may slow down the speed of the hopper loading script.
-
+
List Order Secondary - This option allows you to select the second sorting order of the leads in the hopper load after the List Order and within the results defined by the criteria set above. For instance, the List Order will be used for the first sort of the leads, but the results will be sorted a second time within that sorting across the same set of the first List Order. For example, if you have List Order set to DOWN COUNT and you only have leads that have been attempted 1 and 2 times, then if you have the List Order Secondary set to LEAD_ASCEND all of the attempt 1 leads will be sorted by the oldest leads first and will be put into the hopper that way. Default is LEAD_ASCEND. NOTE, if you have a large number of leads using one of the CALLTIME options may slow down the speed of the hopper loading script. If List Order Randomize is enabled, this option will be ignored.
-
+
- Minimum Hopper Level - This is the minimum number of leads the VDhopper script tries to keep in the vicidial_hopper table for this campaign. If running VDhopper script every minute, make this slightly greater than the number of leads you go through in a minute. + Minimum Hopper Level - This is the minimum number of leads the hopper loading script tries to keep in the hopper table for this campaign. If running VDhopper script every minute, make this slightly greater than the number of leads you go through in a minute.
-
+
- Automatic Hopper Level - Setting this to Y will allow Vicidial to automatically adjust the hopper based off the settings you have in your campaign. The formula it uses to do this is:
Number of Active Agents * Auto Dial Level * ( 60 seconds / Dial Timeout ) * Auto Hopper Multiplier
Default is Y. + Automatic Hopper Level - Setting this to Y will allow the system to automatically adjust the hopper based off the settings you have in your campaign. The formula it uses to do this is:
Number of Active Agents * Auto Dial Level * ( 60 seconds / Dial Timeout ) * Auto Hopper Multiplier
Default is Y.
-
+
Automatic Hopper Multiplier - This is multiplier for the Auto Hopper. Setting this less than 1 will cause the Auto Hopper algorithm to load less leads than it normally would. Setting this greater than 1 will cause the Auto Hopper algorithm to load more leads than it normally would. Default is 1.
-
+
- Auto Trim Hopper - Setting this to Y will allow Vicidial to automatically remove excess leads from the hopper. Default is Y. + Auto Trim Hopper - Setting this to Y will allow the system to automatically remove excess leads from the hopper. Default is Y.
-
+
Hopper VLC Dup Check - Setting this to Y will result in every lead being inserted into the hopper being checked by vendor_lead_code to make sure there are no duplicate leads inserted with the same vendor_lead_code. This is most useful when Auto-Alt-Dialing with MULTI_LEAD. Default is N.
-
+
Lead Filter - This is a method of filtering your leads using a fragment of a SQL query. Use this feature with caution, it is easy to stop dialing accidentally with the slightest alteration to the SQL statement. Default is NONE.
-
+
Call Count Limit - This enforces a limit on the number of call attempts for the leads dialed in this campaign. A lead may go over this limit slightly if Lead Recycling or Auto-Alt-Dialing is enabled. Default is 0 for no limit.
-
+
Call Count Target - This option is only used for reporting purposes and has no effect on leads dialed. Default is 3.
-
+
Drop Lockout Time - This is a number of hours that DROP abandon calls will be prevented from being dialed, to disable set to 0. This setting is very useful in countries like the UK where there are regulations preventing the attempted calling of customers within 72 hours of an Abandon, or DROP. Default is 0.
-
+
Force Reset of Hopper - This allows you to wipe out the hopper contents upon form submission. It should be filled again when the VDhopper script runs.
-
+
Dial Method - This field is the way to define how dialing is to take place. If MANUAL then the auto_dial_level will be locked at 0 unless Dial Method is changed. If RATIO then the normal dialing a number of lines for Active agents. ADAPT_HARD_LIMIT will dial predictively up to the dropped percentage and then not allow aggressive dialing once the drop limit is reached until the percentage goes down again. ADAPT_TAPERED allows for running over the dropped percentage in the first half of the shift -as defined by call_time selected for campaign- and gets more strict as the shift goes on. ADAPT_AVERAGE tries to maintain an average or the dropped percentage not imposing hard limits as aggressively as the other two methods. You cannot change the Auto Dial Level if you are in any of the ADAPT dial methods. Only the Dialer can change the dial level when in predictive dialing mode. INBOUND_MAN allows the agent to place manual dial calls from a campaign list while being able to take inbound calls between manual dial calls.
-
+
- Auto Dial Level - This is where you set how many lines VICIDIAL should use per active agent. zero 0 means auto dialing is off and the agents will click to dial each number. Otherwise VICIDIAL will keep dialing lines equal to active agents multiplied by the dial level to arrive at how many lines this campaign on each server should allow. The ADAPT OVERRIDE checkbox allows you to force a new dial level even though the dial method is in an ADAPT mode. This is useful if there is a dramatic shift in the quality of leads and you want to drastically change the dial_level manually. + Auto Dial Level - This is where you set how many lines the system should use per active agent. zero 0 means auto dialing is off and the agents will click to dial each number. Otherwise the system will keep dialing lines equal to active agents multiplied by the dial level to arrive at how many lines this campaign on each server should allow. The ADAPT OVERRIDE checkbox allows you to force a new dial level even though the dial method is in an ADAPT mode. This is useful if there is a dramatic shift in the quality of leads and you want to drastically change the dial_level manually.
-
+
Auto Dial Level Threshold - This setting only works with an ADAPT or RATIO Dial Method, and it must be set to something other than DISABLED and the number of agents setting must be above 0. This feature allows you to set a minimum number agents that predictive algorithm will work at. If the number of agents falls below the number that you have set, then the dial level will go to 1.0 until more agents log in or go into the selected state. LOGGED-IN_AGENTS will count all agents logged into the campaign, NON-PAUSED_AGENTS will only count agents that are waiting or talking, and WAITING_AGENTS will only count agents that are waiting for a call. Default is DISABLED.
-
+
Available Only Tally - This field if set to Y will leave out INCALL and QUEUE status agents when calculating the number of calls to dial when not in MANUAL dial mode. Default is N.
-
+
Available Only Tally Threshold - This setting only works with an ADAPT or RATIO Dial Method, Available Only Tally must be set to N, this setting must be set to something other than DISABLED and the number of agents setting must be above 0. This feature allows you to set the number of agents below which Available Only Tally will be enabled. If the number of agents falls below the number that you have set, then the Available Only Tally setting with go to Y temporarily until more agents log in or go into the selected state. LOGGED-IN_AGENTS will count all agents logged into the campaign, NON-PAUSED_AGENTS will only count agents that are waiting or talking, and WAITING_AGENTS will only count agents that are waiting for a call. Default is DISABLED.
-
+
Drop Percentage Limit - This field is where you set the limit of the percentage of dropped calls you would like while using an adaptive-predictive dial method, not MANUAL or RATIO.
-
+
Maximum Adapt Dial Level - This field is where you set the limit of the limit to the numbr of lines you would like dialed per agent while using an adaptive-predictive dial method, not MANUAL or RATIO. This number can be higher than the Auto Dial Level if your hardware will support it. Value must be a positive number greater than one and can have decimal places Default 3.0.
-
+
Latest Server Time - This field is only used by the ADAPT_TAPERED dial method. You should enter in the hour and minute that you will stop calling on this campaign, 2100 would mean that you will stop dialing this campaign at 9PM server time. This allows the Tapered algorithm to decide how aggressively to dial by how long you have until you will be finished calling.
-
+
Adapt Intensity Modifier - This field is used to adjust the predictive intensity either higher or lower. The higher a positive number you select, the greater the dialer will increase the call pacing when it goes up and the slower the dialer will decrease the call pacing when it goes down. The lower the negative number you select here, the slower the dialer will increase the call pacing and the faster the dialer will lower the call pacing when it goes down. Default is 0. This field is not used by the MANUAL or RATIO dial methods.
-
+
Dial Level Difference Target - This field is used to define whether you want to target having a specific number of agents waiting for calls or calls waiting for agents. For example if you would always like to have on average one agent free to take calls immediately you would set this to -1, if you would like to target always having one call on hold waiting for an agent you would set this to 1. Default is 0. This field is not used by the MANUAL or INBOUND_MAN dial methods.
-
+
Dial Level Difference Target Method - This option allows you to define whether the dial level difference target setting is applied only to the calculation of the dial level or also to the actual dialing on each dialing server. If you are running a small campaign with agents logged in on many servers you may want to use the ADAPT_CALC_ONLY option, because the CALLS_PLACED option may result in fewer calls being placed than deisred. This option is only active if Dial Level Difference Target is set to something other than 0. Default is ADAPT_CALC_ONLY.
-
+
Concurrent Transfers - This setting is used to define the number of calls that can be sent to agents at the same time. It is recommended that this setting is left at AUTO. This field is not used by the MANUAL dial method.
-
+
Queue Priority - This setting is used to define the order in which the calls from this outbound campaign should be answered in relation to the inbound calls if this campaign is in blended mode. We do not recommend setting inbound calls to a higher priority than the outbound campaign calls because people calling in expect to wait and people being called expect for someone to be there on the phone.
-
+
Multiple Campaign Drop Rate Group - This feature allows you to set a campaign as a member of a Campaign Drop Rate Group, or a group of campaigns whose Human Answered calls and Drop calls for all campaigns in the group will be combined into a shared drop percentage, or abandon rate. This allows you to to run multiple campaigns at once and more easily control your drop rate. This is particularly useful in the UK where regulations permit this drop rate calculation method with campaign grouping for the same company even if there are several campaigns that company is running during the same day. To enable this for a campaign, just select a group from the list. There are 10 groups defined in the system by default, you can contact your system administrator to add more. Default is DISABLED.
-
+
Inbound Queue No Dial - This feature if set to ENABLED allows you to prevent outbound auto-dialing of this campaign if there are any inbound calls waiting in queue that are part of the allowed inbound groups set in this campaign. Setting this to ALL_SERVERS will change the algorithm to calculate all inbound calls as active calls on this server even if they are on another server which will reduce the chance of placing unnecessary outbound calls if you have calls coming in on another server. Default is DISABLED.
-
+
Auto Alt-Number Dialing - This setting is used to automatically dial alternate number fields while dialing in the RATIO and ADAPT dial methods when there is no contact at the main phone number for a lead, the NA, B, DC and N statuses. This setting is not used by the MANUAL dial method. EXTENDED alternate numbers are numbers loaded into the system outside of the standard lead information screen. Using EXTENDED you can have hundreds of phone numbers for a single customer record. Using MULTI_LEAD allows you to use a separate lead for each number on a customer account that all share a common vendor_lead_code, and the type of phone number for each is defined with a label in the Owner field. This option will disable some options on the Modify Campaign screen and show a link to the Multi-Alt Settings page which allows you to set which phone number types, defined by the label of each lead, will be dialed and in what order. This will create a special lead filter and will alter the Rank field of all of the leads inside the lists set to this campaign in order to call them in the order you have specified.
-
+
Dial Timeout - If defined, calls that would normally hang up after the timeout defined in extensions.conf would instead timeout at this amount of seconds if it is less than the extensions.conf timeout. This allows for quickly changing dial timeouts from server to server and limiting the effects to a single campaign. If you are having a lot of Answering Machine or Voicemail calls you may want to try changing this value to between 21-26 and see if results improve.
-
+
Routing Extension - This field allows for a custom outbound routing extension. This allows you to use different call handling methods depending upon how you want to route calls through your outbound campaign. Formerly called Campaign VDAD extension.
- 8364 - same as 8368 @@ -5203,97 +5210,97 @@ if ($ADD==99999)
- 8375 - Used for Answering Machine Detection then press-1, broadcast and survey campaigns with Cepstral Text-to-speech
-
+
Answering Machine Message - This field is for entering the prompt to play when the agent gets an answering machine and clicks on the Answering Machine Message button in the transfer conference frame. You must set this to either an audio file in the audio store or a TTS prompt if TTS is enabled on your system.
-
+
WaitForSilence Options - If Wait For Silence is desired on calls that are detected as Answering Machines then this field has those options. There are two settings separated by a comma, the first option is how long to detect silence in milliseconds and the second option is for how many times to detect that before playing the message. Default is EMPTY for disabled. A standard value for this would be wait for 2 seconds of silence twice: 2000,2
-
+
AMD send to Action - This option allows you to define whether a call is sent to the AMD Action when an answering machine is detected. If this is set to N, then the call will be hung up as soon as it is determined to be an answering machine. Default is N.
-
+
CPD AMD Action - If you are using the Sangoma ParaXip Call Progress Detection software then you will want to enable this setting either setting it to DISPO which will disposition the call as AA and hang it up if the call is being processed and has not been sent to an agent yet or MESSAGE which will send the call to the defined Answering Machine Message for this campaign. Default is DISABLED. Setting this to INGROUP will send an answering machine to an inbound group. Setting this to CALLMENU will send an answering machine to a Call Menu in the system.
-
+
AMD Inbound Group - If CPD AMD Action is set to INGROUP, then this is the Inbound Group that the call will be sent to if an answering machine is detected.
-
+
AMD Call Menu - If CPD AMD Action is set to CALLMENU, then this is the Call Menu that the call will be sent to if an answering machine is detected.
-
+
Agent Alt Num Dialing - This option allows an agent to manually dial the alternate phone number or address3 field after the main number has been called.
-
+
Drop Call Seconds - The number of seconds from the time the customer line is picked up until the call is considered a DROP, only applies to outbound calls.
-
+
Drop Action - This menu allows you to choose what happens to a call when it has been waiting for longer than what is set in the Drop Call Seconds field. HANGUP will simply hang up the call, MESSAGE will send the call the Drop Exten that you have defined below, VOICEMAIL will send the call to the voicemail box that you have defined below and IN_GROUP will send the call to the Inbound Group that is defined below
-
+
Safe Harbor Exten - This is the dial plan extension that the desired Safe Harbor audio file is located at on your server.
-
+
Safe Harbor Audio - This is the audio prompt file that is played if the Drop Action is set to AUDIO. Default is buzz.
-
+
Safe Harbor Audio Field - This optional setting allows you to define a field in the list that the system will use as the audio filename for each lead in place of the Safe Harbor Audio file. If this is set to DISABLED the Safe Harbor Audio file will always be used. The system will do no validation to make sure that the audio file exists other than to make sure the value of the field is at least one character, so if you want a lead to use the default Safe harbor Audio then you just set the field value in the lead to empty. You can use the pipe character to link multiple audio files together in the field value for each lead. Default is DISABLED. Here is the list of fields that can be used for this setting: vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, alt_phone, email, security_phrase, comments, rank, owner, entry_list_id
-
+
Safe Harbor Call Menu - This is the call menu that a call is sent to if the Drop Action is set to CALLMENU.
-
+
Voicemail - If defined, calls that would normally DROP would instead be directed to this voicemail box to hear and leave a message.
-
+
Drop Transfer Group - If Drop Action is set to IN_GROUP, the call will be sent to this inbound group if it reaches Drop Call Seconds.
-
+
Allow No-Hopper-Leads Logins - If set to Y, allows agents to login to the campaign even if there are no leads loaded into the hopper for that campaign. This function is not needed in CLOSER-type campaigns. Default is N.
-
+
No Hopper Dialing - If This is enabled, the hopper will not run for this campaign. This option is only available when the dial method is set to MANUAL or INBOUND_MAN. It is recommended that you do not enable this option if you have a very large lead database, over 100,000 leads. With No Hopper Dialing, the following features do not work: lead recycling, auto-alt-dialing, list mix, list ordering with Xth NEW. If you want to use Owner Only Dialing you must have No Hopper Dialing enabled. Default is N for disabled.
-
+
Owner Only Dialing - If This is enabled, the agent will only receive leads that they are within the ownership parameters for. If this is set to USER then the agent must be the user defined in the database as the owner of this lead. If this is set to TERRITORY then the owner of the lead must match the territory listed in the User Modification screen for this agent. If this is set to USER_GROUP then the owner of the lead must match the user group that the agent is a member of. For this feature to work the dial method must be set to MANUAL or INBOUND_MAN and No Hopper Dialing must be enabled. Default is NONE for disabled. If the option has BLANK at the end, then users are allowed to dial leads with no owner defined in addition to owner defined leads.
-
+
Owner Populate - If this is enabled and the owner field of the lead is blank, the owner field for the lead will populate with the user ID of the agent that handles the call first. Default is DISABLED. @@ -5302,7 +5309,7 @@ if ($ADD==99999) { ?>
-
+
Agent Select Territories - If this option is enabled and the agent belongs to at least one territory, the agent will have the option of selecting territories to dial leads from. The agent will see a list of available territories upon login and they will have the ability to go back to that territory list when paused to change their territories. For this function to work the Owner Only Dialing option must be set to TERRITORY and User Terriories must be enabled in the System Settings.
-
+
List Order Mix - Overrides the Lead Order and Dial Status fields. Will use the List and status parameters for the selected List Mix entry in the List Mix sub section instead. Default is DISABLED.
-
+
List Mix ID - ID of the list mix. Must be from 2-20 characters in length with no spaces or other special punctuation.
-
+
List Mix Name - Descriptive name of the list mix. Must be from 2-50 characters in length.
-
+
List Mix Detail - The composition of the List Mix entry. Contains the List ID, mix order, percentages and statuses that make up this List Mix. The percentages always have to add up to 100, and the lists all have to be active and set to the campaign for the order mix entry to be Activated.
-
+
List Mix Method - The method of mixing all of the parts of the List Mix Detail together. EVEN_MIX will mix leads from each part interleaved with the other parts, like this 1,2,3,1,2,3,1,2,3. IN_ORDER will put the leads in the order in which they are listed in the List Mix Detail screen 1,1,1,2,2,2,3,3,3. RANDOM will put them in RANDOM order 1,3,2,1,1,3,2,1,3. Default is IN_ORDER.
-
+
- Agent Screen Extended Alt Dial - This feature allows for agents to access extended alternate phone numbers for leads beyond the standard Alt Phone and Address3 fields that can be used in VICIDIAL for phone numbers beyond the main phone number. The Extended phone numbers can be dialed automatically using the Auto-Alt-Dial feature in VICIDIAL Campaign settings, but enabling this Agent Screen feature will also allow for the agent to call these numbers from their agent screen as well as edit their information. + Agent Screen Extended Alt Dial - This feature allows for agents to access extended alternate phone numbers for leads beyond the standard Alt Phone and Address3 fields that can be used in the agent screen for phone numbers beyond the main phone number. The Extended phone numbers can be dialed automatically using the Auto-Alt-Dial feature in the Campaign settings, but enabling this Agent Screen feature will also allow for the agent to call these numbers from their agent screen as well as edit their information. This feature is in development and is not currently available.
-
+
Survey First Audio File - This is the audio filename that is played as soon as the customer picks up the phone when running a survey campaign.
-
+
Survey DTMF Digits - This field is where you define the digits that a customer can press as an option on a survey campaign. valid dtmf digits are 0123456789*#. All options except for the Not Interested, Third and Fourth digit options will move on to the Survey Method call path.
-
+
Survey Wait Seconds - This is the number of seconds when in Survey mode the system will wait for input from the person called until the survey or drop action is triggered. Is not applied if the Survey Method is HANGUP. Default is 10 seconds.
-
+
Survey Not Interested Digit - This field is where you define the customer digit pressed that will show they are Not Interested.
-
+
- Survey Not Interested Status - This field is where you select the status to be used for Not Interested. If DNC is used and the campaign is set to use DNC then the phone number will be automatically added to the VICIDIAL internal DNC list and possibly the campaign-specific DNC list. + Survey Not Interested Status - This field is where you select the status to be used for Not Interested. If DNC is used and the campaign is set to use DNC then the phone number will be automatically added to the internal DNC list and possibly the campaign-specific DNC list if that is enabled in the campaign.
-
+
Survey Opt-in Audio File - This is the audio filename that is played when the customer has opted-in to the survey, not opted-out or not responded if the no-response-action is set to OPTOUT. After this audio file is played, the Survey Method action is taken.
-
+
Survey Not Interested Audio File - This is the audio filename that is played when the customer has opted-out of the survey, not opted-in or not responded if the no-response-action is set to OPTIN. After this audio file is played, the call will be hung up.
-
+
Survey Method - This option defines what happens to a call after the customer has opted-in. AGENT_XFER will send the call to the next available agent. VOICEMAIL will send the call to the voicemail box that is specified in the Voicemail field. EXTENSION will send the customer to the extension defined in the Survey Xfer Extension field. HANGUP will hang up the customer. CAMPREC_60_WAV will send the customer to have a recording made with their response, this recording will be placed in a folder named as the campaign inside of the Survey Campaign Recording Directory. CALLMENU will send the customer to the Call Menu defined in the select list below.
-
+
Survey No-Response Action - This is where you define what will happen if there is no response to the survey question. OPTIN will only send the call on to the Survey Method if the customer presses a dtmf digit. OPTOUT will send the customer on to the Survey Method even if they do not press a dtmf digit. DROP will drop the call using the campaign drop method but still log the call as a PM played message status.
-
+
Survey Response Digit Map - This is the section where you can define a description to go with each dtmf digit option that the customer may select.
-
+
Survey Xfer Extension - If the Survey Method of EXTENSION is selected then the customer call would be directed to this dialplan extension.
-
+
Survey Campaign Recording Directory - If the Survey Method of CAMPREC_60_WAV is selected then the customer response will be recorded and placed in a directory named after the campaign inside of this directory.
-
+
Survey Third Digit - This allows for a third call path if the Third digit as defined in this field is pressed by the customer.
-
+
Survey Fourth Digit - This allows for a fourth call path if the Fourth digit as defined in this field is pressed by the customer.
-
+
Survey Third Audio File - This is the third audio file to be played upon the selection by the customer of the Third Digit option.
-
+
Survey Third Status - This is the third status used for the call upon the selection by the customer of the Third Digit option.
-
+
Survey Third Extension - This is the third extension used for the call upon the selection by the customer of the Third Digit option. Default is 8300 which immediately hangs up the call after the Audio File message is played.
-
+
Agent Display Dialable Leads - This option if enabled will show the number of dialable leads available in the campaign in the agent screen. This number is updated in the system once a minute and will be refreshed on the agent screen every few seconds.
-
+
Survey Call Menu - If the method is set to CALLMENU, this is the Call Menu that the customer is sent to if they opt-in.
-
+
Survey Recording - If enabled, this will start recording when the call is answered. Only recommended if the method is not set to transfer to an agent. Default is N for disabled. If set to Y_WITH_AMD even answering machine detected message calls will be recorded. @@ -5444,355 +5451,355 @@ if ($ADD==99999) ?>
-
+
Next Agent Call - This determines which agent receives the next call that is available: -
  - random: orders by the random update value in the vicidial_live_agents table +
  - random: orders by the random update value in the live_agents table
  - oldest_call_start: orders by the last time an agent was sent a call. Results in agents receiving about the same number of calls overall.
  - oldest_call_finish: orders by the last time an agent finished a call. AKA agent waiting longest receives first call. -
  - overall_user_level: orders by the user_level of the agent as defined in the vicidial_users table a higher user_level will receive more calls. +
  - overall_user_level: orders by the user_level of the agent as defined in the users table a higher user_level will receive more calls.
  - campaign_rank: orders by the rank given to the agent for the campaign. Highest to Lowest.
  - campaign_grade_random: gives a higher probability of getting a call to the higher graded agents.
  - fewest_calls: orders by the number of calls received by an agent for that specific inbound group. Least calls first.
  - longest_wait_time: orders by the amount of time agent has been actively waiting for a call.
-
+
Local Call Time - This is where you set during which hours you would like to dial, as determined by the local time in the are in which you are calling. This is controlled by area code and is adjusted for Daylight Savings time if applicable. General Guidelines in the USA for Business to Business is 9am to 5pm and Business to Consumer calls is 9am to 9pm.
-
+
Dial Prefix - This field allows for more easily changing a path of dialing to go out through a different method without doing a reload in Asterisk. Default is 9 based upon a 91NXXNXXXXXX in the dial plan - extensions.conf.
-
+
Manual Dial Prefix - This optional field allows you to set the dial prefix to be used only when placing manual dial calls from the agent interface, such as using the MANUAL DIAL feature, or Dial Next Number when in the MANUAL dial method, or manual alt number dialing, or scheduled user-only callbacks. Default is empty for disabled, which will use the Dial Prefix defined in the field above. This option does not interfere with the 3way Dial Prefix option.
-
+
- Omit Phone Code - This field allows you to leave out the phone_code field while dialing within VICIDIAL. For instance if you are dialing in the UK from the UK you would have 44 in as your phone_code field for all leads, but you just want to dial 10 digits in your dial plan extensions.conf to place calls instead of 44 then 10 digits. Default is N. + Omit Phone Code - This field allows you to leave out the phone_code field while dialing within the system. For instance if you are dialing in the UK from the UK you would have 44 in as your phone_code field for all leads, but you just want to dial 10 digits in your dial plan extensions.conf to place calls instead of 44 then 10 digits. Default is N.
-
+
- Campaign CallerID - This field allows for the sending of a custom callerid number on the outbound calls. This is the number that would show up on the callerid of the person you are calling. The default is UNKNOWN. If you are using T1 or E1s to dial out this option is only available if you are using PRIs - ISDN T1s or E1s - that have the custom callerid feature turned on, this will not work with Robbed-bit service -RBS- circuits. This will also work through most VOIP -SIP or IAX trunks- providers that allow dynamic outbound callerID. The custom callerID only applies to calls placed for the VICIDIAL campaign directly, any 3rd party calls or transfers will not send the custom callerID. NOTE: Sometimes putting UNKNOWN or PRIVATE in the field will yield the sending of your default callerID number by your carrier with the calls. You may want to test this and put 0000000000 in the callerid field instead if you do not want to send you CallerID. + Campaign CallerID - This field allows for the sending of a custom callerid number on the outbound calls. This is the number that would show up on the callerid of the person you are calling. The default is UNKNOWN. If you are using T1 or E1s to dial out this option is only available if you are using PRIs - ISDN T1s or E1s - that have the custom callerid feature turned on, this will not work with Robbed-bit service -RBS- circuits. This will also work through most VOIP -SIP or IAX trunks- providers that allow dynamic outbound callerID. The custom callerID only applies to calls placed for the campaign directly, any 3rd party calls or transfers will not send the custom callerID. NOTE: Sometimes putting UNKNOWN or PRIVATE in the field will yield the sending of your default callerID number by your carrier with the calls. You may want to test this and put 0000000000 in the callerid field instead if you do not want to send you CallerID.
-
+
- Custom CallerID - When set to Y, this option allows you to use the security_phrase field in the vicidial_list table as the CallerID to send out when placing for each specific lead. If this field has no CID in it then the Campaign CallerID defined above will be used instead. This option will disable the list CallerID Override if there is a CID present in the security_phrase field. Default is N. When set to AREACODE you have the ability to go into the AC-CID submenu and define multiple callerids to be used per areacode. + Custom CallerID - When set to Y, this option allows you to use the security_phrase field in the list table as the CallerID to send out when placing for each specific lead. If this field has no CID in it then the Campaign CallerID defined above will be used instead. This option will disable the list CallerID Override if there is a CID present in the security_phrase field. Default is N. When set to AREACODE you have the ability to go into the AC-CID submenu and define multiple callerids to be used per areacode.
-
+
- Campaign Rec extension - This field allows for a custom recording extension to be used with VICIDIAL. This allows you to use different extensions depending upon how long you want to allow a maximum recording and what type of codec you want to record in. The default exten is 8309 which if you follow the SCRATCH_INSTALL examples will record in the WAV format for upto one hour. Another option included in the examples is 8310 which will record in GSM format for upto one hour. + Campaign Rec extension - This field allows for a custom recording extension to be used with the system. This allows you to use different extensions depending upon how long you want to allow a maximum recording and what type of codec you want to record in. The default exten is 8309 which if you follow the SCRATCH_INSTALL examples will record in the WAV format for up to one hour. Another option included in the examples is 8310 which will record in GSM format for up to one hour. The recording time can be lengthened by raising the setting in the Server Modification screen in the Admin section.
-
+
Campaign Recording - This menu allows you to choose what level of recording is allowed on this campaign. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Recording Delay to cut down on very short recordings and reduce system load.
-
+
Campaign Rec Filename - This field allows you to customize the name of the recording when Campaign recording is ONDEMAND or ALLCALLS. The allowed variables are CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID. The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. Te resulting filename must be less than 90 characters in length.
-
+
Recording Delay - For ALLCALLS and ALLFORCE recording only. This setting will delay the starting of the recording on all calls for the number of seconds specified in this field. Default is 0.
-
+
Call Notes Per Call - Setting this option to ENABLED will allow agents to enter in notes for every call they handle in the agent interface. The notes entry field will appear below the Comments field in the agent interface. Also, if the Agent User Group is allowed to view Call Logs then the agent will be able to view past call notes for a lead at any time. Default is DISABLED.
-
+
Agent Lead Search - Setting this option to ENABLED will allow agents to search for leads and view lead information while paused in the agent interface. Also, if the Agent User Group is allowed to view Call Logs then the agent will be able to view past call notes for any lead that they are viewing information on. Default is DISABLED. LIVE_CALL_INBOUND will allow search for a lead while on an inbound call only. LIVE_CALL_INBOUND_AND_MANUAL will allow search for a lead while on an inbound call or while paused. When Lead Search is used on a live inbound call, the lead of the call when it went to the agent will be changed to a status of LSMERG, and the logs for the call will be modified to link to the agent selected lead instead.
-
+
Agent Lead Search Method - If Agent Lead Search is enabled, this setting defines where the agent will be allowed to search for leads. SYSTEM will search the entire system, CAMPAIGNLISTS will search inside all of the active lists within the campaign, CAMPLISTS_ALL will search inside all of the active and inactive lists within the campaign, LIST will search only within the Manual Dial List ID as defined in the campaign. Default is CAMPLISTS_ALL. One of these options with USER_ in front will only search within leads that have the owner field matching the user ID of the agent, the options with GROUP_ in front will only search within leads that have the owner field matching the user group that the user is a member of, the options with TERRITORY_ in front will only search within leads that have the owner field matching the territories that the agent has selected.
-
+
Campaign Script - This menu allows you to choose the script that will appear on the agents screen for this campaign. Select NONE to show no script for this campaign.
-
+
Get Call Launch - This menu allows you to choose whether you want to auto-launch the web-form page in a separate window, auto-switch to the SCRIPT tab or do nothing when a call is sent to the agent for this campaign. If custom list fields are enabled on your system, FORM will open the FORM tab upon connection of a call to an agent.
-
+
- Xfer-Conf DTMF - These four fields allow for you to have two sets of Transfer Conference and DTMF presets. When the call or campaign is loaded, the vicidial.php script will show two buttons on the transfer-conference frame and auto-populate the number-to-dial and the send-dtmf fields when pressed. If you want to allow Consultative Transfers, a fronter to a closer, have the agent use the CONSULTATIVE checkbox, which does not work for third party non-ViciDial consultative calls. For those just have the agent click the Dial With Customer button. Then the agent can just LEAVE-3WAY-CALL and move on to their next call. If you want to allow Blind transfers of customers to a VICIDIAL AGI script for logging or an IVR, then place AXFER in the number-to-dial field. You can also specify an custom extension after the AXFER, for instance if you want to do a call to a special IVR you have set to extension 83900 you would put AXFER83900 in the number-to-dial field. + Xfer-Conf DTMF - These fields allow for you to have two sets of Transfer Conference and DTMF presets. When the call or campaign is loaded, the agent screen will show two buttons on the transfer-conference frame and auto-populate the number-to-dial and the send-dtmf fields when pressed. If you want to allow Consultative Transfers, a fronter to a closer, have the agent use the CONSULTATIVE checkbox, which does not work for third party non-agent consultative calls. For those just have the agent click the Dial With Customer button. Then the agent can just LEAVE-3WAY-CALL and move on to their next call. If you want to allow Blind transfers of customers to an AGI script for logging or an IVR, then place AXFER in the number-to-dial field. You can also specify an custom extension after the AXFER, for instance if you want to do a call to a special IVR you have set to extension 83900 you would put AXFER83900 in the number-to-dial field.
-
+
Quick Transfer Button - This option will add a Quick Transfer button to the agent screen below the Transfer-Conf button that will allow one click blind transferring of calls to the selected In-Group or number. IN_GROUP will send calls to the Default Xfer Group for this Campaign, or In-Group if there was an inbound call. The PRESET options will send the calls to the preset selected. Default is N for disabled. The LOCKED options are used to lock the value to the Quick Transfer Button even if the agent uses the transfer conference features during a call before using the Quick Transfer Button.
-
+
Custom 3-Way Button Transfer - This option will add a Custom Transfer button to the agent screen below the Transfer-Conf button that will allow one click three way calls using the selected preset or field. The PRESET_ options will place calls using the defined preset value. The FIELD_ options will place calls using the number in the selected field from the lead. DISABLED will not show the button on the agent screen. The PARK_ options will park the customer before dialing. Default is DISABLED. The VIEW_PRESET option will simply open the transfer frame and the preset frame. The VIEW_CONTACTS option will open a contacts search window, this will only work if Enable Presets is set to CONTACTS.
-
+
PrePopulate Transfer Preset - This option will fill in the Number to Dial field in the Transfer Conference frame of the agent screen if defined. Default is N for disabled.
-
+
Enable Transfer Presets - This option will enable the Presets sub menu to appear at the top of the Campaign Modification page, and also you will have the ability to specify Preset dialing numbers for Agents to use in the Transfer-Conference frame of the agent interface. Default is DISABLED. CONTACTS is an option only if contact_information is enabled on your system, that is a custom feature.
-
+
Enable Transfer Presets - This option will enable the Presets sub menu to appear at the top of the Campaign Modification page, and also you will have the ability to specify Preset dialing numbers for Agents to use in the Transfer-Conference frame of the agent interface. Default is DISABLED. CONTACTS is an option only if contact_information is enabled on your system, that is a custom feature.
-
+
Hide Transfer Number to Dial - This option will hide the Number to Dial field in the Transfer-Conference frame of the agent interface. Default is DISABLED.
-
+
Park Call IVR - This option will allow an agent to park a call with a separate IVR PARK CALL button on their agent interface if this is ENABLED or ENABLED_PARK_ONLY. The ENABLED_PARK_ONLY option will allow the agent to send the call to park but not click to retrieve the call like the ENABLED option. The ENABLED_BUTTON_HIDDEN option allows the function through the API only. Default is DISABLED.
-
+
Park Call IVR AGI - If the Park Call IVR field is not DISABLED, then this field is used as the AGI application string that the customer is sent to. This is a setting that should be set by your administrator if possible.
-
+
Timer Action - This feature allows you to trigger actions after a certain amount of time. the D1 and D2 DIAL options will launch a call to the Transfer Conference Number presets and send them to the agent session, this is usually used for simple IVR validation AGI applications or just to play a pre-recorded message. WEBFORM will open the web form address. MESSAGE_ONLY will simply display the message that is in the field below. NONE will disable this feature and is the default. HANGUP will hang up the call when the timer is triggered, CALLMENU will send the call to the Call Menu specified in the Timer Action Destination field, EXTENSION will send the call to the Extension that is specified in the Timer Action Destination field, IN_GROUP will send the call to the In-Group specified in the Timer Action Destination field.
-
+
Timer Action Message - This is the message that appears on the agent screen at the time the Timer Action is triggered.
-
+
Timer Action Seconds - This is the amount of time after the call is connected to the customer that the Timer Action is triggered. Default is -1 which is also inactive.
-
+
Timer Action Destination - This field is where you specify the Call Menu, Extension or In-Group that you want the call sent to if the Time Action is set to CALLMENU, EXTENSION or IN_GROUP. Default is empty.
-
+
Scheduled Callbacks - This option allows an agent to disposition a call as CALLBK and choose the data and time at which the lead will be re-activated.
-
+
Scheduled Callbacks Alert - This option allows the callbacks status line in the agent interface to be red, blink or blink red when there are AGENTONLY scheduled callbacks that have hit their trigger time and date. Default is NONE for standard status line. The DEFER options will stop blinking and-or displaying in red when you check the callbacks, until the number of callbacks changes.
-
+
Scheduled Callbacks Count - These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks. LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered. You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE. Default is ALL_ACTIVE.
-
+
Scheduled Callbacks Days Limit - This option allows you to reduce the agent scheduled callbacks calendar to a selectable number of days from today, the full 12 month calendar will still be displayed, but only the set number of days will be selectable. Default is 0 for unlimited.
-
+
Scheduled Callbacks Hours Block - This option allows you to restrict a USERONLY scheduled callback from being displayed on the agent callback list until X hours after it has been set. Default is 0 for no block.
-
+
Scheduled Callbacks Calltime Block - This option if enabled will prevent the scheduled callback in the agent callback list from being dialed if it is outside of the scheduled calltime for the campaign. Default is DISABLED.
-
+
My Callbacks Checkbox Default - This option allows you to pre-set the My Callback checkbox on the agent scheduled callback screen. CHECKED will check the checkbox automatically for every call. Default is UNCHECKED.
-
+
Wrap Up Seconds - The number of seconds to force an agent to wait before allowing them to receive or dial another call. The timer begins as soon as an agent hangs up on their customer - or in the case of alternate number dialing when the agent finishes the lead - Default is 0 seconds. If the timer runs out before the agent has dispositioned the call, the agent still will NOT move on to the next call until they select a disposition.
-
+
Wrap Up Message - This is a campaign-specific message to be displayed on the wrap up screen if wrap up seconds is set.
-
+
Disable Dispo Screen - This option allows you to disable the disposition screen in the agent interface. The Disable Dispo Status field below must be filled in for this option to work. Default is DISPO_ENABLED. The DISPO_SELECT_DISABLED option will not disable the dispo screen completely, but will display the dispo screen without any dispositions, this option should only be used if you want to force your agents to use your CRM software which will send the status to the system through the API.
-
+
Disable Dispo Status - If the Disable Dispo Screen option is set to DISPO_DISABLED, then this field must be filled in. You can use any disposition you want for this field as long as it is 1 to 6 characters in length with only letters and numbers.
-
+
Agent Screen Labels - You can select a set of agent screen labels to use with this option. Default is --SYSTEM-SETTINGS-- for the default labels.
-
+
Status Display Fields - You can select which variables for calls will be displayed in the status line of the agent screen. CALLID will display the 20 character unique call ID, LEADID will display the system lead ID, LISTID will display the list ID. Default is CALLID.
-
+
Use Internal DNC List - This defines whether this campaign is to filter leads against the Internal DNC list. If it is set to Y, the hopper will look for each phone number in the DNC list before placing it in the hopper. If it is in the DNC list then it will change that lead status to DNCL so it cannot be dialed. Default is N. The AREACODE option is just like the Y option, except it is used to also filter out an entire area code in North America from being dialed, in this case using the 201XXXXXXX entry in the DNC list would block all calls to the 201 areacode if enabled.
-
+
Use Campaign DNC List - This defines whether this campaign is to filter leads against a DNC list that is specific to that campaign only. If it is set to Y, the hopper will look for each phone number in the campaign-specific DNC list before placing it in the hopper. If it is in the campaign-specific DNC list then it will change that lead status to DNCC so it cannot be dialed. Default is N. The AREACODE option is just like the Y option, except it is used to also filter out an entire area code in North America from being dialed, in this case using the 201XXXXXXX entry in the DNC list would block all calls to the 201 areacode if enabled.
-
+
Other Campaign DNC - If the option Use Campaign DNC List is enabled, this option can allow you to use a different campaign DNC list, just put the Campaign ID of the other campaign in this field. If you use this option, the original campaign DNC list will no longer be checked, only the OTHER campaign DNC list will be used. This does not affect use of the Internal System DNC list. Default is EMPTY.
-
+
Allowed Inbound Groups - For CLOSER campaigns only. Here is where you select the inbound groups you want agents in this CLOSER campaign to be able to take calls from. It is important for BLENDED inbound-outbound campaigns only to select the inbound groups that are used for agents in this campaign. The calls coming into the inbound groups selected here will be counted as active calls for a blended campaign even if all agents in the campaign are not logged in to receive calls from all of those selected inbound groups.
-
+
- Agent Pause Codes Active - Allows agents to select a pause code when they click on the PAUSE button in vicidial.php. Pause codes are definable per campaign at the bottom of the campaign view detail screen and they are stored in the vicidial_agent_log table. Default is N. FORCE will force the agents to choose a PAUSE code if they click on the PAUSE button. + Agent Pause Codes Active - Allows agents to select a pause code when they click on the PAUSE button in the agent screen. Pause codes are definable per campaign at the bottom of the campaign view detail screen and they are stored in the agent_log table. Default is N. FORCE will force the agents to choose a PAUSE code if they click on the PAUSE button.
-
+
Auto Pause Pre-Call Work - In auto-dial mode, this setting if enabled will set the agent to paused automatically when the agent clicks on any of the following functions that requires them to be paused- Manual Dial, Fast Dial, Lead Search, Call Log View, Callbacks Check, Enter Pause Code. Default is N for inactive.
-
+
Auto Resume Pre-Call Work - In auto-dial mode, this setting if enabled will set the agent to active automatically when the agent clicks out of, or cancels, on any of the following functions that requires them to be paused- Manual Dial, Fast Dial, Lead Search, Call Log View, Callbacks Check, Enter Pause Code. Default is N for inactive.
-
+
Auto Pause Pre-Call Code - If the Auto Pause Pre-Call Work function above is active, and Agent Pause Codes is active, this setting will be the pause code that is used when the agent is paused for these activities. Default is PRECAL.
-
+
Disable Alter Customer Data - If set to Y, does not change any of the customer data record when an agent dispositions the call. Default is N.
-
+
Disable Alter Customer Phone - If set to Y, does not change the customer phone number when an agent dispositions the call. Default is Y. Use the HIDE option to completely remove the customer phone number from the agent display.
-
+
Agent Display Queue Count - If set to Y, when a customer is waiting for an agent, the Queue Calls display at the top of the agent screen will turn red and show the number of waiting calls. Default is Y.
-
+
Manual Dial Override - The setting can override the Users setting for manual dial ability for agents when they are logged into this campaign. NONE will follow the Users setting, ALLOW_ALL will allow any agent logged into this campaign to place manual dial calls, DISABLE_ALL will not allow anyone logged into this campaign to place manual dial calls. Default is NONE.
-
+
- Manual Dial List ID - The default list_id to be used when an agent placces a manual call and a new lead record is created in vicidial_list. Default is 999. This field can contain digits only. + Manual Dial List ID - The default list_id to be used when an agent places a manual call and a new lead record is created in the list table. Default is 999. This field can contain digits only.
-
+
Manual Dial Filter - This allows you to filter the calls that agents make in manual dial mode for this campaign by any combination of the following: DNC - to kick out, CAMPAIGNLISTS - the number must be within the lists for the campaign, NONE - no filter on manual dial or fast dial lists. CAMPLISTS_ALL - will include inactive lists in the search for the number.
-
+
Manual Preview Dial - This allows the agent in manual dial mode to see the lead information when they click Dial Next Number before they actively dial the phone call. There is an optional link to SKIP the lead and move on to the next one if selected. Default is PREVIEW_AND_SKIP.
-
+
Manual Dial API - This option allows you to set the Agent API to make either one call at a time, STANDARD, or the ability to queue up manual dial calls and have them dial automatically once the agent goes on pause or is available to take their next call with the option to disable the automatic dialing of these calls, QUEUE, or QUEUE_AND_AUTOCALL which is the same as QUEUE but without the option to disable the automatic dialing of these calls. If an agent has more than one call queued up for them they will see the count of how many manual dial calls are in queue right below the Pause button, or Dial Next Number button. We suggest that if QUEUE is used that you send API actions using the preview=YES option so you are not repeatedly dialing calls for the agent without notice. Also, if using QUEUE and heavily using manual dial calls in a non MANUAL dial method, we would recommend setting the Agent Pause After Each Call option to Y. Default is STANDARD.
-
+
Manual Call Time Check - If this option is enabled, it will check all manual dial calls to make sure they are within the call time settings set for the campaign. Default is DISABLED.
-
+
Manual Dial CID - This defines whether an agent making manual dial calls will have the campaign callerID settings used, or their agent phone callerID settings used. Default is CAMPAIGN. If the Use Custom CID campaign option is enabled or the list Campaign CID Override setting is used, this setting will be ignored.
-
+
Phone Post Time Difference Alert - This manual-dial-only feature, if enabled, will display an alert if the time zone for the lead postal code, or zip code, is different from the time zone of the area code of the phone number for the lead. The OUTSIDE_CALLTIME_ONLY option will only show the alert if the two time zones are different and one of the time zones is outside of the call time selected for the campaign. OUTSIDE_CALLTIME_PHONE will only check the time zone of the phone number of the lead and alert if it is outside of the local call time. OUTSIDE_CALLTIME_POSTAL will only check the time zone of the postal code of the lead and alert if it is outside of the local call time. OUTSIDE_CALLTIME_BOTH will check the postal code and phone number for being within the local call time, even if they are in the same time zone. These alerts will show in the call log info, callbacks list info, search results info, when a lead is dialed and when a lead is previewed. Default is DISABLED.
-
+
In-Group Manual Dial - This feature allows you to enable the ability for agents to place manual dial outbound calls that are logged as in-group calls assigned to a specific in-group. The MANUAL_DIAL option allows the placing of phone calls out through an In-Group to the agent placing the call. The NO_DIAL option allows the agent to log time on a call that does not exist, as if it were a real call, this is often used for logging email or faxing time. The BOTH option will allow both call and no-call in-group dialing. The default is DISABLED.
-
+
In-Group Manual Dial Select - This option is only active if the above In-Group Manual Dial feature is not DISABLED. This option restricts the selectable In-Groups that the agent can place In-Group Manual Dial calls through. CAMPAIGN_SELECTED will show only the in-groups that the campaign has set as allowable in-groups. ALL_USER_GROUP will show all of the in-groups that are viewable to the members of the user group that the agent belongs to.
-
+
Agent Screen Clipboard Copy - THIS FEATURE IS CURRENTLY ONLY ENABLED FOR INTERNET EXPLORER. This feature allows you to select a field that will be copied to the computer clipboard of the agent computer upon a call being sent to an agent. Common uses for this are to allow for easy pasting of account numbers or phone numbers into legacy client applications on the agent computer.
-
+
- 3-Way Call Outbound CallerID - This defines what is sent out as the outbound callerID number from 3-way calls placed by the agent, CAMPAIGN uses the custom campaign callerID, CUSTOMER uses the number of the customer that is active on the agents screen and AGENT_PHONE uses the callerID for the phone that the agent is logged into. AGENT_CHOOSE allows the agent to choose which callerID to use for 3-way calls from a list of choices. CUSTOM_CID will use the Custom CID that is defined in the security_phrase field of the vicidial_list table for the lead. + 3-Way Call Outbound CallerID - This defines what is sent out as the outbound callerID number from 3-way calls placed by the agent, CAMPAIGN uses the custom campaign callerID, CUSTOMER uses the number of the customer that is active on the agents screen and AGENT_PHONE uses the callerID for the phone that the agent is logged into. AGENT_CHOOSE allows the agent to choose which callerID to use for 3-way calls from a list of choices. CUSTOM_CID will use the Custom CID that is defined in the security_phrase field of the list table for the lead.
-
+
3-Way Call Dial Prefix - This defines what is used as the dial prefix for 3-way calls, default is empty so the campaign dial prefix is used, passthru so you can hear ringing is 88.
-
+
Customer 3-Way Hangup Logging - If this option is ENABLED the user_call_log will log when a customer hangup up if they hang up during a 3-way call. Also, this can allow for the Customer 3-way hangup action if one is defineed below. Default is ENABLED.
-
+
Customer 3-Way Hangup Seconds - If Customer 3-way logging is enabled, this option allows you to define the number of seconds after the customer hangup is detected before it is actually logged and the optional customer 3-way hangup action is executed. Default is 5 seconds.
-
+
Customer 3-Way Hangup Action - If Customer 3-way logging is enabled, this option allows you to have the agent screen automatically hang up on the call and go to the DISPO screen if this option is set to DISPO. Default is NONE. @@ -5801,37 +5808,37 @@ if ($ADD==99999) { ?>
-
+
QC Enabled - Setting this field to Y allows for the agent Quality Control features to work. Default is N.
-
+
QC Statuses - This area is where you select which statuses of leads should be gone over by the QC system. Place a check next to the status that you want QC to review.
-
+
QC Shift - This is the shift timeframe used to pull QC records for a campaign. The days of the week are ignored for these functions.
-
+
QC Get Record Launch- This allows one of the following actions to be triggered upon a QC agent receiving a new record.
-
+
QC Show Recording - This allows for a recording that may be linked with the QC record to be display in the QC agent screen.
-
+
QC WebForm Address - This is the website address that a QC agent can go to when clicking on the WEBFORM link in the QC screen.
-
+
QC Script - This is the script that can be used by QC agents in the SCRIPT tab in the QC screen.
-
+
- Vtiger Search Category - If Vtiger integration is enabled in the system settings then this setting will define where the vtiger_search.php page will search for the phone number that was entered. There are 4 options that can be used in this field: LEAD- This option will search through the Vtiger leads only, ACCOUNT- This option will search through the Vtiger accounts and all contacts and sub-contacts for the phone number, VENDOR- This option will only search through the Vtiger vendors, ACCTID- This option works only for accounts and it will take the vicidial vendor_lead_code field and try to search for the Vtiger account ID. If unsuccessful it will try any other methods listed that you have selected. Multiple options can be used for each search, but on large databases this is not recommended. Default is LEAD. UNIFIED_CONTACT- This option will use the beta Vtiger 5.1.0 feature to search by phone number and bring up a search page in Vtiger. + Vtiger Search Category - If Vtiger integration is enabled in the system settings then this setting will define where the vtiger_search.php page will search for the phone number that was entered. There are 4 options that can be used in this field: LEAD- This option will search through the Vtiger leads only, ACCOUNT- This option will search through the Vtiger accounts and all contacts and sub-contacts for the phone number, VENDOR- This option will only search through the Vtiger vendors, ACCTID- This option works only for accounts and it will take the list vendor_lead_code field and try to search for the Vtiger account ID. If unsuccessful it will try any other methods listed that you have selected. Multiple options can be used for each search, but on large databases this is not recommended. Default is LEAD. UNIFIED_CONTACT- This option will use the beta Vtiger 5.1.0 feature to search by phone number and bring up a search page in Vtiger.
-
+
Vtiger Search Dead Accounts - If Vtiger integration is enabled in the system settings then this setting will define whether deleted accounts will be searched when the agent clicks WEB FORM to search in the Vtiger system. DISABLED- deleted leads will not be searched, ASK- deleted leads will be searched and the vtiger search web page will ask the agent if they want to make the Vtiger account active, RESURRECT- will automatically make the deleted account active again and will take the agent to the account screen without delay upon clicking on WEB FORM. Default is DISABLED.
-
+
Vtiger Create Call Record - If Vtiger integration is enabled in the system settings then this setting will define whether a new Vtiger activity record is created for the call when the agent goes to the vtiger_search page. Default is Y. The DISPO option will create a call record for the Vtiger account without the agent needing to go to the vtiger search page through the WEB FORM.
-
+
Vtiger Create Lead Record - If Vtiger integration is enabled in the system settings and Vtiger Search Category includes LEAD then this setting will define whether a new Vtiger lead record is created when the agent goes to the vtiger_search page and no record is found to have the call phone number. Default is Y.
-
+
- Vtiger Screen Login - If Vtiger integration is enabled in the system settings then this setting will define whether the user is logged into the Vtiger interface automatically when they login to VICIDIAL. Default is Y. The NEW_WINDOW option will open a new window upon login to the VICIDIAL agent screen. + Vtiger Screen Login - If Vtiger integration is enabled in the system settings then this setting will define whether the user is logged into the Vtiger interface automatically when they login to the agent screen. Default is Y. The NEW_WINDOW option will open a new window upon login to the agent screen.
-
+
- Vtiger Status Call - If Vtiger integration is enabled in the system settings then this setting will define whether the status of the Vtiger Account will be updated with the status of the VICIDIAL call after it has been dispositioned. Default is N. + Vtiger Status Call - If Vtiger integration is enabled in the system settings then this setting will define whether the status of the Vtiger Account will be updated with the status of the call after it has been dispositioned. Default is N.
-
+
QM CallStatus Override - If QueueMetrics integration is enabled in the system settings then this setting allow the overriding of the System Settings setting for CallStatus queue_log entries. Default is DISABLED which will use the system setting.
-
+
QM Phone Environment - If QueueMetrics integration is enabled in the system settings then this setting allow the insertion of this data value in the data4 field of the queue_log for agent activity records. Default is empty for disabled.
-
+
Extension Append CID - If enabled, the calls placed from this campaign will have a space and the phone extension of the agent appended to the end of the CallerID name for the call before it is sent to the agent. Default is N for disabled.
-
+
PLLB Grouping - Phone Login Load Balancing Grouping, only allowed if there are multiple agent servers and phone aliases are present on the system. If set to ONE_SERVER_ONLY it will force all agents for this campaign to login to the same server. If set to CASCADING it will group logged in agents on the same server until PLLB Grouping Limit number of agents are reached, then the next agent will login to the next server with the least number of agents. If set to DISABLED the standard Phone Aliases behavior of each agent finding the server with the least number of non-remote agents logged into it will be used. Default is DISABLED.
-
+
PLLB Grouping Limit - Phone Login Load Balancing Grouping Limit. If PLLB Grouping is set to CASCADING then this setting will determine the number of agents acceptable in each server for this campaign. Default is 50.
-
+
CRM Popup Login - If set to Y, the CRM Popup Address is used to open a new window on agent login to this campaign. Default is N.
-
+
CRM Popup Address - The web address of a CRM login page, it can have variables populated just like the web form address, with the VAR in the front and using --A--user_custom_one--B-- to define variables.
-
+
Start Call URL - This web URL address is not seen by the agent, but it is called every time a call is sent to an agent if it is populated. Uses the same variables as the web form fields and scripts. This URL can NOT be a relative path. The Start URL does not work for Manual dial calls. Default is blank.
-
+
Dispo Call URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time in seconds of the call. This URL can NOT be a relative path. Default is blank.
-
+
No Agent Call URL - This web URL address is not seen by the agent, but if it is populated it is called every time a call that is not handled by an agent is hung up or transferred. Uses the same variables as the web form fields and scripts. dispo can be used to retrieve the system-defined disposition for the call. This URL can NOT be a relative path. Default is blank.
-
+
Group Alias Allowed - If you want to allow your agents to use group aliases then you need to set this to Y. Group Aliases are explained more in the Admin section, they allow agents to select different callerIDs for outbound manual calls that they may place. Default is N.
-
+
Default Group Alias - If you have allowed Group Aliases then this is the group alias that is selected first by default when the agent chooses to use a Group Alias for an outbound manual call. Default is NONE or empty.
-
+
Agent View Calls in Queue - If set to anything but NONE, agents will be able to see details about the calls that are waiting in queue in their agent screen. If set to a number value, the calls displayed will be limited to the number selected. Default is NONE.
-
+
View Calls in Queue Launch - This setting if set to AUTO will have the Calls in Queue frame show up upon login by the agent into the agent screen. Default is MANUAL.
-
+
Agent Grab Calls in Queue - This option if set to Y will allow the agent to select the call that they want to take from the Calls in Queue display by clicking on it while paused. Agents will only be able to grab inbound calls or transferred calls, not outbound calls. Default is N.
-
+
Agent Call Re-Queue Button - This option if set to Y will add a Re-Queue Customer button to the agent screen, allowing the agent to send the call into an AGENTDIRECT queue that is reserved for the agent only. Default is N.
-
+
Agent Pause After Each Call - This option if set to Y will pause the agent after every call automatically. Default is N.
-
+
Agent Pause After Next Call Link - This option if enabled will display a link on the agent screen that will let the agent go on pause automatically after they hang up their next call. Default is DISABLED.
-
+
Blind Monitor Warning - This option if enabled will let the agent know in various optional ways if they are being blind monitored by someone. DISABLED means this feature is not active, ALERT will only pop an alert up on the agent screen, NOTICE will post a note that stays up on the agent screen as long as theya re being monitored, AUDIO will play the filename defined below when an agent is starting to be monitored and the other options are combibnations of the above options. Default is DISABLED.
-
+
Blind Monitor Notice - This is the message that will show on the agent screen while they are being monitored if the NOTICE option is selected. Default is -Someone is blind monitoring your session-.
-
+
Blind Monitor Filename - This is the audio file that will play in the agents session at the start of someone blind monitoring them. This prompt will be played for everyone in the session including the customer if any is present. Default is empty. @@ -5979,155 +5986,155 @@ if ($ADD==99999)



- VICIDIAL_LISTS TABLE

-
+ LISTS TABLE

+

List ID - This is the numerical name of the list, it is not editable after initial submission, must contain only numbers and must be between 2 and 8 characters in length. Must be a number greater than 100.
-
+
List Name - This is the description of the list, it must be between 2 and 20 characters in length.
-
+
List Description - This is the memo field for the list, it is optional.
-
+
List Change Date - This is the last time that the settings for this list were modified in any way.
-
+
List Last Call Date - This is the last time that lead was dialed from this list.
-
+
Campaign - This is the campaign that this list belongs to. A list can only be dialed on a single campaign at one time.
-
+
Active - This defines whether the list is to be dialed on or not.
-
+
Reset Lead-Called-Status for this list - This resets all leads in this list to N for "not called since last reset" and means that any lead can now be called if it is the right status as defined in the campaign screen.
-
+
Reset Times - This field allows you to put times in, separated by a dash-, that this list will be automatically reset by the system. The times must be in 24 hour format with no punctuation, for example 0800-1700 would reset the list at 8AM and 5PM every day. Default is empty.
-
+
Expiration Date - This option allows you to set the date after which leads in this list will not be allowed to be auto-dialed or manual-list-dialed by the system. Default is 2099-12-31.
-
+
Audit Comments - This option allows comments to be moved to an audit table. No longer editable, but viewable along with the date-time-creator of each comment. Default is N. This is a part of the Quality Control Add-On.
-
+
Agent Script Override - If this field is set, this will be the script that the agent sees on their screen instead of the campaign script when the lead is from this list. Default is not set.
-
+
Campaign CID Override - If this field is set, this will override the campaign CallerID that is set for calls that are placed to leads in this list. Default is not set.
-
+
Answering Machine Message Override - If this field is set, this will override the Answering Machine Message set in the campaign for customers in this list. Default is not set.
-
+
Drop Inbound Group Override - If this field is set, this in-group will be used for outbound calls within this list that drop from the outbound campaign instead of the drop in-group set in the campaign detail screen. Default is not set.
-
+
- Web Form Override - This is the custom address that clicking on the WEB FORM button in VICIDIAL will take you to for calls that come in on this list. If you want to use custom fields in a web form address, you need to add &CF_uses_custom_fields=Y as part of your URL. + Web Form Override - This is the custom address that clicking on the WEB FORM button in the agent screen will take you to for calls that come in on this list. If you want to use custom fields in a web form address, you need to add &CF_uses_custom_fields=Y as part of your URL.
-
+
Xfer-Conf Number Override - These five fields allow for you to override the Transfer Conference number presets when the lead is from this list. Default is blank.
-
+
Inventory Report - If the Inventory Report is enabled on your system, this option will determine whether this list is included in the report or not. Default is Y for yes.
-
+
Time Zone Setting - This option allows you to set the method of maintaining the current time zone lookup for the leads within this list. This process is only done at night so any changes you make will not be immediate. COUNTRY_AND_AREA_CODE is the default, and will use the country code and area code of the phone number to determine the time zone of the lead. POSTAL_CODE will use the postal code if available to determine the time zone of the lead. NANPA_PREFIX works only in the USA and will use the area code and prefix of the phone number to determine the time zone of the lead, but this is not enabled by default in the system, so please be sure you have the NANPA prefix data loaded onto your system before selecting this option. OWNER_TIME_ZONE_CODE will use the standard time zone abbraviation loaded into the owner field of the lead to determine the time zone, in the USA examples are AST, EST, CST, MST, PST, AKST, HST. This feature must be enabled by your system administrator to go into effect.
-
+
- VICIDIAL DNC List - This Do Not Call list contains every lead that has been set to a status of DNC in the system. Through the LISTS - ADD NUMBER TO DNC page you are able to manually add numbers to this list so that they will not be called by campaigns that use the internal DNC list. There is also the option to add leads to the campaign-specific DNC lists for those campaigns that have them. If you have the active DNC option set to AREACODE then you can also use area code wildcard entries like this 201XXXXXXX to block all calls to the 201 areacode when enabled. + Internal DNC List - This Do Not Call list contains every lead that has been set to a status of DNC in the system. Through the LISTS - ADD NUMBER TO DNC page you are able to manually add numbers to this list so that they will not be called by campaigns that use the internal DNC list. There is also the option to add leads to the campaign-specific DNC lists for those campaigns that have them. If you have the active DNC option set to AREACODE then you can also use area code wildcard entries like this 201XXXXXXX to block all calls to the 201 areacode when enabled.



- VICIDIAL_INBOUND_GROUPS TABLE

-
+ INBOUND_GROUPS TABLE

+

Group ID - This is the short name of the inbound group, it is not editable after initial submission, must not contain any spaces and must be between 2 and 20 characters in length.
-
+
Group Name - This is the description of the group, it must be between 2 and 30 characters in length. Cannot include dashes, plusses or spaces .
-
+
- Group Color - This is the color that displays in the VICIDIAL client app when a call comes in on this group. It must be between 2 and 7 characters long. If this is a hex color definition you must remember to put a # at the beginning of the string or VICIDIAL will not work properly. + Group Color - This is the color that displays in the agent client app when a call comes in on this group. It must be between 2 and 7 characters long. If this is a hex color definition you must remember to put a # at the beginning of the string or the agent screen will not work properly.
-
+
- Active - This determines whether this group show up in the selection box when a VICIDIAL agent logs in. + Active - This determines whether this inbound group is available to take calls. If this is set to inactive then the After Hours Action will be used on any calls coming into it.
-
+
Admin User Group - This is the administrative user group for this inbound group, this allows admin viewing of this in-group restricted by user group. Default is --ALL-- which allows any admin user to view this in-group.
-
+
In-Group Calldate - This is the last date and time that a call was directed to this inbound group.
-
+
- Web Form - This is the custom address that clicking on the WEB FORM button in VICIDIAL will take you to for calls that come in on this group. If you want to use custom fields in a web form address, you need to add &CF_uses_custom_fields=Y as part of your URL. + Web Form - This is the custom address that clicking on the WEB FORM button in the agent screen will take you to for calls that come in on this group. If you want to use custom fields in a web form address, you need to add &CF_uses_custom_fields=Y as part of your URL.
-
+
Next Agent Call - This determines which agent receives the next call that is available: -
  - random: orders by the random update value in the vicidial_live_agents table +
  - random: orders by the random update value in the live_agents table
  - oldest_call_start: orders by the last time an agent was sent a call. Results in agents receiving about the same number of calls overall.
  - oldest_call_finish: orders by the last time an agent finished a call. AKA agent waiting longest receives first call.
  - oldest_inbound_call_start: orders by the last time an agent was sent an inbound call. Results in agents receiving about the same number of calls overall.
  - oldest_inbound_call_finish: orders by the last time an agent finished an inbound call. AKA agent waiting longest receives first call. -
  - overall_user_level: orders by the user_level of the agent as defined in the vicidial_users table a higher user_level will receive more calls. +
  - overall_user_level: orders by the user_level of the agent as defined in the users table a higher user_level will receive more calls.
  - inbound_group_rank: orders by the rank given to the agent for the specific inbound group. Highest to Lowest.
  - campaign_rank: orders by the rank given to the agent for the campaign. Highest to Lowest.
  - ingroup_grade_random: gives a higher probability of getting a call to the higher graded agents by in-group. @@ -6140,391 +6147,391 @@ if ($ADD==99999)

-
+
On-Hook Ring Time - This option is only used for agents that are logged in with phones that have the agent-on-hook feature enabled. This is the number of seconds that each call attempt to the agent will ring for until the system will wait one second and start ringing the available agent phones again. This field can be overridden if the agent phones are set to a lower ring time which may be necessary to prevent calls from being sent one phones voicemail. Default is 15.
-
+
On-Hook CID - This option is only used for agents that are logged in with phones that have the agent-on-hook feature enabled. This is the caller ID that will show up on their agent phones when the calls are ringing. GENERIC is a generic RINGAGENT00000000001 type of notification. INGROUP will show only the in-group the call came from. CUSTOMER_PHONE will show only the customer phone number. CUSTOMER_PHONE_RINGAGENT will show RINGAGENT_3125551212 with the RINGAGENT as part of the CID with the customer phone number. CUSTOMER_PHONE_INGROUP will show the first 10 characters of the in-group followed by the customer phone number. Default is GENERIC.
-
+
Queue Priority - This setting is used to define the order in which the calls from this inbound group should be answered in relation to calls from other inbound groups. -
+
- Fronter Display - This field determines whether the inbound VICIDIAL agent would have the fronter name - if there is one - displayed in the Status field when the call comes to the agent. + Fronter Display - This field determines whether the inbound agent would have the fronter name - if there is one - displayed in the Status field when the call comes to the agent.
-
+
Campaign Script - This menu allows you to choose the script that will appear on the agents screen for this campaign. Select NONE to show no script for this campaign.
-
+
Ignore List Script Override- This option allows you to ignore the list ID Script Override option for calls coming into this In-Group. Setting this to Y will ignore any List ID script settings. Default is N.
-
+
Get Call Launch - This menu allows you to choose whether you want to auto-launch the web-form page in a separate window, auto-switch to the SCRIPT tab or do nothing when a call is sent to the agent for this campaign. If custom list fields are enabled on your system, FORM will open the FORM tab upon connection of a call to an agent.
-
+
- Xfer-Conf DTMF - These four fields allow for you to have two sets of Transfer Conference and DTMF presets. When the call or campaign is loaded, the vicidial.php script will show two buttons on the transfer-conference frame and auto-populate the number-to-dial and the send-dtmf fields when pressed. If you want to allow Consultative Transfers, a fronter to a closer, have the agent use the CONSULTATIVE checkbox, which does not work for third party non-ViciDial consultative calls. For those just have the agent click the Dial With Customer button. Then the agent can just LEAVE-3WAY-CALL and move on to their next call. If you want to allow Blind transfers of customers to a VICIDIAL AGI script for logging or an IVR, then place AXFER in the number-to-dial field. You can also specify an custom extension after the AXFER, for instance if you want to do a call to a special IVR you have set to extension 83900 you would put AXFER83900 in the number-to-dial field. + Xfer-Conf DTMF - These four fields allow for you to have two sets of Transfer Conference and DTMF presets. When the call or campaign is loaded, the agent screen will show two buttons on the transfer-conference frame and auto-populate the number-to-dial and the send-dtmf fields when pressed. If you want to allow Consultative Transfers, a fronter to a closer, have the agent use the CONSULTATIVE checkbox, which does not work for third party agent screen consultative calls. For those just have the agent click the Dial With Customer button. Then the agent can just LEAVE-3WAY-CALL and move on to their next call. If you want to allow Blind transfers of customers to an AGI script for logging or an IVR, then place AXFER in the number-to-dial field. You can also specify an custom extension after the AXFER, for instance if you want to do a call to a special IVR you have set to extension 83900 you would put AXFER83900 in the number-to-dial field.
-
+
Timer Action - This feature allows you to trigger actions after a certain amount of time. the D1 and D2 DIAL options will launch a call to the Transfer Conference Number presets and send them to the agent session, this is usually used for simple IVR validation AGI applications or just to play a pre-recorded message. WEBFORM will open the web form address. MESSAGE_ONLY will simply display the message that is in the field below. NONE will disable this feature and is the default. This setting will override the Campaign settings. HANGUP will hang up the call when the timer is triggered, CALLMENU will send the call to the Call Menu specified in the Timer Action Destination field, EXTENSION will send the call to the Extension that is specified in the Timer Action Destination field, IN_GROUP will send the call to the In-Group specified in the Timer Action Destination field.
-
+
Timer Action Message - This is the message that appears on the agent screen at the time the Timer Action is triggered.
-
+
Timer Action Seconds - This is the amount of time after the call is connected to the customer that the Timer Action is triggered. Default is -1 which is also inactive.
-
+
Timer Action Destination - This field is where you specify the Call Menu, Extension or In-Group that you want the call sent to if the Time Action is set to CALLMENU, EXTENSION or IN_GROUP. Default is empty.
-
+
Drop Call Seconds - The number of seconds a call will stay in queue before being considered a DROP.
-
+
Drop Action - This menu allows you to choose what happens to a call when it has been waiting for longer than what is set in the Drop Call Seconds field. HANGUP will simply hang up the call, MESSAGE will send the call the Drop Exten that you have defined below, VOICEMAIL will send the call to the voicemail box that you have defined below and IN_GROUP will send the call to the Inbound Group that is defined below.
-
+
Drop Exten - If Drop Action is set to MESSAGE, this is the dial plan extension that the call will be sent to if it reaches Drop Call Seconds. For AGENTDIRECT in-groups, if the user is unavailable, you can put AGENTEXT in this field and the system will look up the user custom five field and send the call to that dialplan number.
-
+
Voicemail - If Drop Action is set to VOICEMAIL, the call DROP would instead be directed to this voicemail box to hear and leave a message. In an AGENTDIRECT in-group, setting this to AGENTVMAIL will select the User voicemail ID to use.
-
+
Drop Transfer Group - If Drop Action is set to IN_GROUP, the call will be sent to this inbound group if it reaches Drop Call Seconds.
-
+
Drop Call Menu - If Drop Action is set to CALLMENU, the call will be sent to this call menu if it reaches Drop Call Seconds.
-
+
Action Transfer CID - Used for Drop, After-hours and No-agent-no-queue actions. This is the caller ID number that the call uses before it is transferred to extensions, messages, voicemail or call menus. You can use CUSTOMER in this field to use the customer phone number, or CAMPAIGN to use the first allowed campaign caller id number. Default is CUSTOMER. If this is a call that will go to a Call Menu and then back to an in-group, we suggest you use CUSTOMERCLOSER in this field, and also you need to set the In-Group Search Method in the Call Menu to CLOSER.
-
+
Call Time - This is the call time scheme to use for this inbound group. Keep in mind that the time is based on the server time. Default is 24hours.
-
+
After Hours Action - The action to perform if it is after hours as defined in the call time for this inbound group. HANGUP will immediately hangup the call, MESSASGE will play the file in the After Hours Message Filenam field, EXTENSION will send the call to the After Hours Extension in the dialplan and VOICEMAIL will send the call to the voicemail box listed in the After Hours Voicemail field, IN_GROUP will send the call to the inbound group selected in the After Hours Transfer Group select list. Default is MESSAGE.
-
+
After Hours Message Filename - The audio file located on the server to be played if the Action is set to MESSAGE. Default is vm-goodbye
-
+
After Hours Extension - The dialplan extension to send the call to if the Action is set to EXTENSION. Default is 8300. For AGENTDIRECT in-groups, you can put AGENTEXT in this field and the system will look up the user custom five field and send the call to that dialplan number.
-
+
After Hours Voicemail - The voicemail box to send the call to if the Action is set to VOICEMAIL. In an AGENTDIRECT in-group, setting this to AGENTVMAIL will select the User voicemail ID to use.
-
+
After Hours Transfer Group - If After Hours Action is set to IN_GROUP, the call will be sent to this inbound group if it enters the in-group outside of the call time scheme defined for the in-group.
-
+
After Hours Call Menu - If After Hours Action is set to CALLMENU, the call will be sent to this Call Menu if it enters the in-group outside of the call time scheme defined for the in-group.
-
+
No Agents No Queueing - If this field is set to Y or NO_PAUSED then no calls will be put into the queue for this in-group if there are no agents logged in and the calls will go to the No Agent No Queue Action. The NO_PAUSED option will also not send the callers into the queue if there are only paused agents in the in-group. Default is N. In an AGENTDIRECT in-group, setting this to AGENTVMAIL will select the User voicemail ID to use. You can also put AGENTEXT in this field if it is set to EXTENSION and the system will look up the user custom five field and send the call to that dialplan number.
-
+
No Agent No Queue Action - If No Agent No Queue is enabled, then this field defines where the call will go if there are no agents in the In-Group. Default is MESSAGE, this plays the sound files in the Action Value field and then hangs up.
-
+
No Agent No Queue Action Value - This is the value for the Action above. Default is nbdy-avail-to-take-call|vm-goodbye.
-
+
Max Calls Method - This option can enable the maximum concurrent calls feature for this in-group. If set to TOTAL, then the total number of calls being handled by agents and in queue in this in-group will not be allowed to exceed the Max Calls Count number of lines as defined below. If set to IN_QUEUE, then if the number of calls in queue waiting for agents will not be allowed to exceed the Max Calls Count no matter how many calls are with agents for this in-group. Default is DISABLED.
-
+
Max Calls Count - This option must be set higher than 0 if you want to use the Max Calls Method feature. Default is 0.
-
+
Max Calls Action - This is the action to be taken if the Max Calls Method is enabled and the number of calls exceeds what is set above in the Max Calls Count setting. The calls above that amount will be sent to either the DROP action, the AFTERHOURS action or the NO_AGENT_NO_QUEUE action and will be logged as a MAXCAL status with a MAXCALLS hangup reason. Default is NO_AGENT_NO_QUEUE.
-
+
Welcome Message Filename - The audio file located on the server to be played when the call comes in. If set to ---NONE--- then no message will be played. Default is ---NONE---. This field as with the other audio fields in In-Groups, with the exception of the Agent Alert Filename, can have multiple audio files played if you put a pipe-separated list of audio files into the field.
-
+
Play Welcome Message - These settings select when to play the defined welcome message, ALWAYS will play it every time, NEVER will never play it, IF_WAIT_ONLY will only play the welcome message if the call does not immediately go to an agent, and YES_UNLESS_NODELAY will always play the welcome message unless the NO_DELAY setting is enabled. Default is ALWAYS.
-
+
Music On Hold Context - The music on hold context to use when the customer is placed on hold. Default is default.
-
+
On Hold Prompt Filename - The audio file located on the server to be played at a regular interval when the customer is on hold. Default is generic_hold. This audio file MUST be 9 seconds or less in length.
-
+
On Hold Prompt Interval - The length of time in seconds to wait before playing the on hold prompt. Default is 60. To disable the On Hold Prompt, set the interval to 0.
-
+
On Hold Prompt No Block - Setting this option to Y will allow calls in line behind a call where the on hold prompt is playing to go to an agent if one becomes available while the message is playing. While the On Hold Prompt Filename message is playing to a customer they cannot be sent to an agent. Default is N.
-
+
On Hold Prompt Seconds - This field needs to be set to the number of seconds that the On Hold Prompt Filename plays for. Default is 10.
-
+
Play Place in Line - This defines whether the caller will hear their place in line when they enter the queue as well as when they hear the announcemend. Default is N.
-
+
Play Estimated Hold Time - This defines whether the caller will hear the estimated hold time before they are transferred to an agent. Default is N. If the customer is on hold and hears this estimated hold time message, the minimum time that will be played is 15 seconds.
-
+
Calculate Estimated Hold Seconds - This defines the number of seconds into the queue that the customer will wait before the Estimated Hold Time will be calculated and optionally played. Minimum is 3 seconds, even if set lower than 3. Default is 0.
-
+
Estimated Hold Time Minimum Filename - If the Estimated Hold Time is active and it is calculated to be at or below the minimum of 15 seconds, then this prompt file will be played instead of the default announcement. Default is Empty for inactive.
-
+
Estimated Hold Time Minimum Prompt No Block - If Estimated Hold Time is active and the Estimated Hold Time Minimum Filename field above is filled-in, then this option to allow calls in line behind a call where the prompt is playing to go to an agent if one becomes available while the message is playing. While the prompt is playing to a customer they cannot be sent to an agent. Default is N.
-
+
Estimated Hold Time Minimum Prompt Seconds - This field needs to be set to the number of seconds that the Estimated Hold Time Minimum Filename prompt plays for. Default is 10.
-
+
Wait Time Option - This allows you to give customers options to leave the queue if their wait time is over the amount of seconds specified below. Default is NONE. If one of the PRESS_ options is selected, it will play the Press Filename defined below and give the customer the option to press 1 on their phone to leave the queue and run the selected option. The PRESS_STAY option will send the customer back to the queue without loosing their place in line.
-
+
Wait Time Second Option - Same as the first Wait Time Option field above, except this one will check for the customer pressing the 2 key. Default is NONE. If no first Wait Time Option is selected then this option will not be offered.
-
+
Wait Time Third Option - Same as the first Wait Time Option field above, except this one will check for the customer pressing the 3 key. Default is NONE. If no Second Wait Time Option is selected then this option will not be offered.
-
+
Wait Time Option Seconds - If Wait Time Option is set to anything but NONE, this is the number of seconds that the customer has been waiting in queue that will trigger the wait time options. Default is 120 seconds.
-
+
Wait Time Option Extension - If Wait Time Option is set to PRESS_EXTEN, this is the dialplan extension that the call will be sent to if the customer presses the option key when presented with the option. For AGENTDIRECT in-groups, you can put AGENTEXT in this field and the system will look up the user custom five field and send the call to that dialplan number.
-
+
Wait Time Option Callmenu - If Wait Time Option is set to PRESS_CALLMENU, this is the Call Menu that the call will be sent to if the customer presses the option key when presented with the option.
-
+
Wait Time Option Voicemail - If Wait Time Option is set to PRESS_VMAIL, this is the voicemail box that the call will be sent to if the customer presses the option key when presented with the option. In an AGENTDIRECT in-group, setting this to AGENTVMAIL will select the User voicemail ID to use.
-
+
Wait Time Option Transfer In-Group - If Wait Time Option is set to PRESS_INGROUP, this is the inbound group that the call will be sent to if the customer presses the option key when presented with the option.
-
+
Wait Time Option Press Filename - If Wait Time Option is set to one of the PRESS_ options, this is the filename prompt that is played if the customer wait time exceeds the Wait Time Option Seconds to give the customer the option to press 1, 2 or 3 on their phone to run the selected Wait Time Press options. It is very important that you include options in the audio file for all of your selected Wait Time Options, and that the audio file length in seconds is properly defined in the Filename Seconds field below or there will be problems. Default is to-be-called-back.
-
+
Wait Time Option Press No Block - Setting this option to Y will allow calls in line behind a call where the Wait Time Option Press Filename prompt is playing to go to an agent if one becomes available while the message is playing. While the Wait Time Option Press Filename message is playing to a customer they cannot be sent to an agent. Default is N.
-
+
Wait Time Option Press Filename Seconds - This field needs to be set to the number of seconds that the Wait Time Option Press Filename plays for. Default is 10.
-
+
Wait Time Option After Press Filename - If Wait Time Option is set to one of the PRESS_ options, this is the filename prompt that is played after the customer has pressed 1, 2 or 3.
-
+
Wait Time Option Callback List ID - If Wait Time Option is set to PRESS_CID_CALLBACK, this is the List ID the call is added to as a new lead if the customer presses the option key when presented with the option.
-
+
Wait Hold Option Priority - If both Estimated Hold Time options and Wait Time options are active, this setting will define whether one, the other or both of these features are active. For example, if the Estimated Hold Time Option is set to 360, the Wait Time option is set to 120 and the customer has been waiting for 120 seconds and there are still 400 seconds estimated hold time, then they are both active at the same time and this setting will be checked to see what options will be offered. Default is WAIT only.
-
+
Estimated Hold Time Option - This allows you to specify the routing of the call if the estimated hold time is over the amount of seconds specified below. Default is NONE. If one of the PRESS_ options is selected, it will play the Press Filename defined below and give the customer the option to press 1 on their phone to leave the queue and run the selected option.
-
+
Hold Time Second Option - Same as the first Hold Time Option field above, except this one will check for the customer pressing the 2 key. Default is NONE. If no first Hold Time Option is selected then this option will not be offered.
-
+
Hold Time Third Option - Same as the first Hold Time Option field above, except this one will check for the customer pressing the 3 key. Default is NONE. If no Second Hold Time Option is selected then this option will not be offered.
-
+
Hold Time Option Seconds - If Hold Time Option is set to anything but NONE, this is the number of seconds of estimated hold time that will trigger the hold time option. Default is 360 seconds.
-
+
Hold Time Option Minimum - If Hold Time Option enabled, this is the minimum number of seconds the call must be waiting before it will be presented with the hold time option. The hold time option will immediately be presented at this time if the estimated hold time is greater than the Hold Time Option Seconds value. Default is 0 seconds.
-
+
Hold Time Option Extension - If Hold Time Option is set to EXTENSION, this is the dialplan extension that the call will be sent to if the estimated hold time exceeds the Hold Time Option Seconds. For AGENTDIRECT in-groups, you can put AGENTEXT in this field and the system will look up the user custom five field and send the call to that dialplan number.
-
+
Hold Time Option Callmenu - If Hold Time Option is set to CALL_MENU, this is the Call Menu that the call will be sent to if the estimated hold time exceeds the Hold Time Option Seconds.
-
+
Hold Time Option Voicemail - If Hold Time Option is set to VOICEMAIL, this is the voicemail box that the call will be sent to if the estimated hold time exceeds the Hold Time Option Seconds. In an AGENTDIRECT in-group, setting this to AGENTVMAIL will select the User voicemail ID to use.
-
+
Hold Time Option Transfer In-Group - If Hold Time Option is set to IN_GROUP, this is the inbound group that the call will be sent to if the estimated hold time exceeds the Hold Time Option Seconds.
-
+
Hold Time Option Press Filename - If Hold Time Option is set to one of the PRESS_ options, this is the filename prompt that is played if the estimated hold time exceeds the Hold Time Option Seconds to give the customer the option to press 1 on their phone to run the selected Hold Time Press Option. It is very important that this audio file is 10 seconds or less or there will be problems. Default is to-be-called-back.
-
+
Hold Time Option Press No Block - Setting this option to Y will allow calls in line behind a call where the Hold Time Option Press Filename prompt is playing to go to an agent if one becomes available while the message is playing. While the Hold Time Option Press Filename message is playing to a customer they cannot be sent to an agent. Default is N.
-
+
Hold Time Option Press Filename Seconds - This field needs to be set to the number of seconds that the Hold Time Option Press Filename plays for. Default is 10.
-
+
Hold Time Option After Press Filename - If Hold Time Option is set to one of the PRESS_ options or CALLERID_CALLBACK, this is the filename prompt that is played after the customer has pressed 1 or the call has been added to the callback list.
-
+
Hold Time Option Callback List ID - If Hold Time Option is set to CALLERID_CALLBACK, this is the List ID the call is added to as a new lead if the estimated hold time exceeds the Hold Time Option Seconds.
-
+
Agent Alert Filename - The audio file to play to an agent to announce that a call is coming to the agent. To not use this function set this to X. Default is ding.
-
+
Agent Alert Delay - The length of time in milliseconds to wait before sending the call to the agent after playing the on Agent Alert Extension. Default is 1000.
-
+
Default Transfer Group - This field is the default In-Group that will be automatically selected when the agent goes to the transfer-conference frame in their agent interface.
-
+
- In-Group Recording Override - This field allows for the overriding of the campaign call recording setting. This setting can be overridden by the vicidial_user recording override setting. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. + In-Group Recording Override - This field allows for the overriding of the campaign call recording setting. This setting can be overridden by the user recording override setting. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording.
-
+
In-Group Recording Filename - This field will override the Campaign Recording Filenaming Scheme unless it is set to NONE. The allowed variables are CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID. The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. Te resulting filename must be less than 90 characters in length. Default is NONE. @@ -6533,37 +6540,37 @@ if ($ADD==99999) { ?>
-
+
QC Enabled - Setting this field to Y allows for the agent Quality Control features to work. Default is N.
-
+
QC Statuses - This area is where you select which statuses of leads should be gone over by the QC system. Place a check next to the status that you want QC to review.
-
+
QC Shift - This is the shift timeframe used to pull QC records for an inbound_group. The days of the week are ignored for these functions.
-
+
QC Get Record Launch- This allows one of the following actions to be triggered upon a QC agent receiving a new record.
-
+
QC Show Recording - This allows for a recording that may be linked with the QC record to be display in the QC agent screen.
-
+
QC WebForm Address - This is the website address that a QC agent can go to when clicking on the WEBFORM link in the QC screen.
-
+
QC Script - This is the script that can be used by QC agents in the SCRIPT tab in the QC screen.
-
+
Hold Recall Transfer In-Group - If a customer calls back to this in-group more than once and this is not set to NONE, then the call will automatically be sent on to the In-Group selected in this field. Default is NONE.
-
+
No Delay Call Route - Setting this to Y will remove all wait times and audio prompts and attempt to send the call right to an agent. Does not override welcome message or on hold prompt settings. Default is N.
-
+
Stats Percent of Calls Answered Within X seconds - This field allows you to set the number of hold seconds that the realtime stats display will use to calculate the percentage of answered calls that were answered within X number of seconds on hold.
-
+
Start Call URL - This web URL address is not seen by the agent, but it is called every time a call is sent to an agent if it is populated. Uses the same variables as the web form fields and scripts. Default is blank.
-
+
Dispo Call URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time in seconds of the call. Default is blank.
-
+
Add Lead URL - This web URL address is not seen by the agent, but it is called every time a lead is added to the system through the inbound process. Default is blank. You must begin this URL with VAR if you want to use variables, and of course --A-- and --B-- around the actual variable in the URL where you want to use it. Here is the list of variables that are available for this function. lead_id, vendor_lead_code, list_id, phone_number, phone_code, did_id, did_extension, did_pattern, did_description, uniqueid
-
+
No Agent Call URL - This web URL address is not seen by the agent, but if it is populated it is called every time a call that is not handled by an agent is hung up or transferred. Uses the same variables as the web form fields and scripts. dispo can be used to retrieve the system-defined disposition for the call. This URL can NOT be a relative path. Default is blank.
-
+
Default Group Alias - If you have allowed Group Aliases for the campaign that the agent is logged into then this is the group alias that is selected first by default on a call coming in from this inbound group when the agent chooses to use a Group Alias for an outbound manual call. Default is NONE or empty.
-
+
Dial In-Group CID - If the agent campaign allows for Manual In-Group Dialing, this caller ID number will be sent as the outgoing CID of the phone call if it is populated, overriding the campaign settings and list CID override setting. Default is empty.
-
+
Extension Append CID - If enabled, the calls coming in from this in-group will have a space and the phone extension of the agent appended to the end of the CallerID name for the call before it is sent to the agent. Default is N for disabled.
-
+
Uniqueid Status Display - If enabled, when an agent receives a call through this in-group they will see the uniqueid of the call added to the status line in their agent interface. The PREFIX option will add the prefix defined blow to the beginning of the uniqueid in the display. Default is DISABLED. If there was already a Uniqueid defined on a call entering this in-group, then the original uniqueid will be displayed. If the PRESERVE option is used and the call is sent to a second agent, the uniqueid and prefix displayed to the first agent will also be displayed to the second agent.
-
+
Uniqueid Status Prefix - If PREFIX option is selected above then this is the value of that prefix. Default is empty. @@ -6635,139 +6642,139 @@ if ($ADD==99999)



- VICIDIAL_INBOUND_DIDS TABLE

+ INBOUND_DIDS TABLE


-
+
DID Extension - This is the number, extension or DID that will trigger this entry and that you will route within the system using this function. There is a reserved default DID that you can use which is just the word -default- without the dashes, that will allos you to send any call that does not match any other existing patterns to the default DID.
-
+
DID Description - This is the description of the DID routing entry.
-
+
DID Active - This the field where you set the DID entry to active or not. Default is Y.
-
+
Admin User Group - This is the administrative user group for this did, this allows admin viewing of this did restricted by user group. Default is --ALL-- which allows any admin user to view this did.
-
+
- DID Route - This the type of route that you set the DID to use. EXTEN will send calls to the extension entered below, VOICEMAIL will send calls directly to the voicemail box entered below, AGENT will send calls to a VICIDIAL agent if they are logged in, PHONE will send the call to a phones entry selected below, IN_GROUP will send calls directly to the specified inbound group. Default is EXTEN. CALLMENU will send the call to the defined Call Menu. + DID Route - This the type of route that you set the DID to use. EXTEN will send calls to the extension entered below, VOICEMAIL will send calls directly to the voicemail box entered below, AGENT will send calls to an agent if they are logged in, PHONE will send the call to a phones entry selected below, IN_GROUP will send calls directly to the specified inbound group. Default is EXTEN. CALLMENU will send the call to the defined Call Menu.
-
+
Record Call - This option allows you to set the calls coming into this DID to be recorded. Y will record the entire call, Y_QUEUESTOP will record the call until the call is hungup or enters an in-group queue, N will not record the call. Default is N.
-
+
Extension - If EXTEN is selected as the DID Route, then this is the dialplan extension that calls will be sent to. Default is 9998811112, no-service.
-
+
Extension Context - If EXTEN is selected as the DID Route, then this is the dialplan context that calls will be sent to. Default is default.
-
+
Voicemail Box - If VOICEMAIL is selected as the DID Route, then this is the voicemail box that calls will be sent to. Default is empty.
-
+
Phone Extension - If PHONE is selected as the DID Route, then this is the phone extension that calls will be sent to.
-
+
Phone Server IP - If PHONE is selected as the DID Route, then this is the server IP for the phone extension that calls will be sent to.
-
+
Call Menu - If CALLMENU is selected as the DID Route, then this is the Call Menu that calls will be sent to.
-
+
- User Agent - If AGENT is selected as the DID Route, then this is the VICIDIAL Agent that calls will be sent to. + User Agent - If AGENT is selected as the DID Route, then this is the Agent that calls will be sent to.
-
+
User Unavailable Action - If AGENT is selected as the DID Route, and the user is not logged in or available, then this is the route that the calls will take.
-
+
User Route Settings In-Group - If AGENT is selected as the DID Route, then this is the In-Group that will be used for the queue settings as the caller is waiting to be sent to the agent. Default is AGENTDIRECT.
-
+
In-Group ID - If IN_GROUP is selected as the DID Route, then this is the In-Group that calls will be sent to.
-
+
- In-Group Call Handle Method - If IN_GROUP is selected as the DID Route, then this is the call handling method used for these calls. CID will add a new lead record with every call using the CallerID as the phone number, CIDLOOKUP will attempt to lookup the phone number by the CallerID in the entire system, CIDLOOKUPRL will attempt to lookup the phone number by the CallerID in only one specified list, CIDLOOKUPRC will attempt to lookup the phone number by the CallerID in all of the lists that belong to the specified campaign, CLOSER is specified for VICIDIAL Closer calls, ANI will add a new lead record with every call using the ANI as the phone number, ANILOOKUP will attempt to lookup the phone number by the ANI in the entire system, ANILOOKUPRL will attempt to lookup the phone number by the ANI in only one specified list, XDIGITID will prompt the caller for an X digit code before the call will be put into the queue, VIDPROMPT will prompt the caller for their ID number and will create a new lead record with the CallerID as the phone number and the ID as the Vendor ID, VIDPROMPTLOOKUP will attempt to lookup the ID in the entire system, VIDPROMPTLOOKUPRL will attempt to lookup the vendor ID by the ID in only one specified list, VIDPROMPTLOOKUPRC will attempt to lookup the vendor ID by the ID in all of the lists that belong to the specified campaign. Default is CID. If a CIDLOOKUP method is used with ALT, it will search the alt_phone field for the phone number if no matches are found for the main phone number. If a CIDLOOKUP method is used with ADDR3, it will search the address3 field for the phone number if no matches are found for the main phone number and optionally the alt_phone field. + In-Group Call Handle Method - If IN_GROUP is selected as the DID Route, then this is the call handling method used for these calls. CID will add a new lead record with every call using the CallerID as the phone number, CIDLOOKUP will attempt to lookup the phone number by the CallerID in the entire system, CIDLOOKUPRL will attempt to lookup the phone number by the CallerID in only one specified list, CIDLOOKUPRC will attempt to lookup the phone number by the CallerID in all of the lists that belong to the specified campaign, CLOSER is specified for Closer calls, ANI will add a new lead record with every call using the ANI as the phone number, ANILOOKUP will attempt to lookup the phone number by the ANI in the entire system, ANILOOKUPRL will attempt to lookup the phone number by the ANI in only one specified list, XDIGITID will prompt the caller for an X digit code before the call will be put into the queue, VIDPROMPT will prompt the caller for their ID number and will create a new lead record with the CallerID as the phone number and the ID as the Vendor ID, VIDPROMPTLOOKUP will attempt to lookup the ID in the entire system, VIDPROMPTLOOKUPRL will attempt to lookup the vendor ID by the ID in only one specified list, VIDPROMPTLOOKUPRC will attempt to lookup the vendor ID by the ID in all of the lists that belong to the specified campaign. Default is CID. If a CIDLOOKUP method is used with ALT, it will search the alt_phone field for the phone number if no matches are found for the main phone number. If a CIDLOOKUP method is used with ADDR3, it will search the address3 field for the phone number if no matches are found for the main phone number and optionally the alt_phone field.
-
+
In-Group Agent Search Method - If IN_GROUP is selected as the DID Route, then this is the agent search method to be used by the inbound group, LO is Load-Balanced-Overflow and will try to send the call to an agent on the local server before trying to send it to an agent on another server, LB is Load-Balanced and will try to send the call to the next agent no matter what server they are on, SO is Server-Only and will only try to send the calls to agents on the server that the call came in on. Default is LB.
-
+
In-Group List ID - If IN_GROUP is selected as the DID Route, then this is the List ID that leads may be searched through and that leads will be inserted into if necessary.
-
+
In-Group Campaign ID - If IN_GROUP is selected as the DID Route, then this is the Campaign ID that leads may be searched for in if the call handle method is CIDLOOKUPRC.
-
+
In-Group Phone Code - If IN_GROUP is selected as the DID Route, then this is the Phone Code used if a new lead is created.
-
+
Clean CID Number - This field allows you to specify a number of digits to restrict the incoming caller ID number to by putting an R in front of the number of digits, for example to restrict to the right 10 digits you would enter in R10. You can also use this feature to remove only a leading digit or digits by putting an L in front of the specific digits that you want to remove, for example to remove a 1 as the first digit you would enter in L1. Default is empty. If more than one rule is specified make sure you separate them with a space and the R will run before the L.
-
+
Filter Inbound Number - This option if enabled allows you to filter calls coming into this DID and send them to an alternative action if they match a phone number that is in the filter phone group or a URL response if you have configured one. Default is DISABLED. GROUP will search in a Filter Phone Group. URL will send a URL and will match if a 1 is sent back.
-
+
Filter Phone Group ID - If the Filter Inbound Number field is set to GROUP then this is the ID of the Filter Phone Group that will have its numbers searched looking for a match to the caller ID number of the incoming call.
-
+
Filter URL - If the Filter Inbound Number field is set to URL then this is the web address of a script that will search a remote system and return a 1 for a match and a 0 for no match. Only two variables are available in the address if you use the VAR prefix like with webform addresses in campaigns, --A--phone_number--B-- and --A--did_pattern--B-- can be used in the URL to indicate the caller ID of the caller and the DID that the customer called in on.
-
+
Filter Action - If Filter Inbound Number is activated and a match is found then this is the action that is to be taken. This is the same as the Route that you select for a DID, and the settings below function just like they do for a standard routing.
-
+
Custom DID Fields - These five fields can be used for various purposes, mostly relating to custom programming and reports. @@ -6775,7 +6782,7 @@ if ($ADD==99999)
-
+
DID Remote Agent Extension Overrides -
This section allows you to enable DIDs to have extension overrides for remote agent routed calls through in-groups. The User Start must be a valid Remote Agent User Start or if you want the Extension Override entry to work for all calls then you can use ---ALL--- in the User Start field. If there are multiple entries for the same DID and User Start then the active entries will be used in a round robin method. @@ -6784,113 +6791,113 @@ if ($ADD==99999)



- VICIDIAL_CALL MENU TABLE

-
+ CALL MENU TABLE

+

Menu ID - This is the ID for this step of the call menu. This will also show up as the context that is used in the dialplan for this call menu. Here is a list of reserved phrases that cannot be used as menu IDs: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor.
-
+
Menu Name - This field is the descriptive name for the call menu.
-
+
Menu Prompt - This field contains the file name of the audio prompt to play at the beginning of this menu. You can enter multiple propmts in this field and the other prompt fields by separating them with a pipe character. You can add NOINT directly in front of an audio file name to make it so the playback cannot be interrupted with a key press by the caller, the NOINT should not be a part of the filename, it is a special flag for the system. You may also use special purpose .agi scripts in this field as well like the cm_date.agi script, discuss with your administrator for more details.
-
+
Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
-
+
Menu Timeout - This field is where you set the timeout in seconds that the menu will wait for the caller to enter in a DTMF choice. Setting this field to zero 0 will mean that there will be no wait time after the prompt is played.
-
+
Menu Timeout Prompt - This field contains the file name of the audio prompt to play when the timeout has been reached. Default is NONE to play no audio at timeout.
-
+
Menu Invalid Prompt - This field contains the file name of the audio prompt to play when the caller has selected an invalid option. Default is NONE to play no audio at invalid.
-
+
Menu Repeat - This field is where you define the number of times that the menu will play after the first time if no valid choice is made by the caller. Default is 1 to repeat the menu once.
-
+
Menu Time Check - This field is where you can select whether to restrict the Call Menu access to the specific hours set up in the selected Call Time. If the Call Time is blank, this setting will be ignored. Default is 0 for disabled.
-
+
Call Time ID - This is the Call Time ID that will be used to restrict calling times if the Menu Time Check option is enabled.
-
+
Track Calls in Real-Time Report - This field is where you can select whether you want the call to be tracked in the Real-time screen as an incoming IVR type call. Default is 1 for active.
-
+
Tracking Group - This is the ID that you can use to track calls to this Call Menu when looking at the IVR Report. The list includes CALLMENU as the default as well as all of the In-Groups.
-
+
Log Key Press - This option if enabled will log the DTMF key press by the caller in this Call Menu. Default is 0 for disabled.
-
+
Log Field - If the Log Key Press option is enabled, this optional setting can allow the response to also be stored in this list field. vendor_lead_code, source_id, phone_code, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, alt_phone, email, security_phrase, comments, rank, owner, status, user. Default is NONE for disabled.
-
+
Option Value - This field is where you define the menu option, possible choices are: 0,1,2,3,4,5,6,7,8,9,*,#,A,B,C,D,TIMECHECK. The special option TIMECHECK can be used only if you have Menu Time Check enabled and there is a Call Time defined for the Menu. To delete an Option, just set the Route to REMOVE and the option will be deleted when you click the SUBMIT button. TIMEOUT will allow you to set what happens to the call when it times out with no input from the caller. INVALID will allow you to set what happens when the caller enters an invalid option. INVALID_2ND and 3RD can only be active if INVALID is not used, it will wait until the second or third invalid entry by the caller before it executes the option.
-
+
Option Description - This field is where you can describe the option, this description will be put into the dialplan as a comment above the option.
-
+
Option Route - This menu contains the options for where to send the call if this option is selected: CALLMENU,INGROUP,DID,HANGUP,EXTENSION,PHONE. For CALLMENU, the Route Value should be the Menu ID of the Call Menu that you want the call sent to. For INGROUP, the In-Group that you want the call to be sent to needs to be selected as well as the other 5 options that need to be set to properly route a call to an Inbound Group. For DID, the Route Value needs to be the DID pattern that you want to send the call to. For HANGUP, the Route Value can be the name of an audio file to play before hanging up the call. For EXTENSION, the Route Value needs to be the dialplan extension you want to send the call to, and the Route Value Context is the context that extension is located in, if left blank the context will default to default. For PHONE, the Route Value needs to be the phone login value for the phones entry that you want to send the call to. For VOICEMAIL, the Route Value needs to be the voicemail box number, the unavailable mesage will be played. For AGI, the Route Value needs to be the agi script and any values taht need to be passed to it.
-
+
Option Route Value - This field is where you enter the value that defines where in the selected Option Route that the call is to be directed to.
-
+
Option Route Value Context - This field is optional and only used for EXTENSION Option Routes.
-
+
- Call Menu In-Group Settings - If the route is set to INGROUP then there are many options that you can set to define how the call is sent to into the queue. In-Group is the inbound group that you want the call to go to. Handle Method is the way you want the call to be handled,
Click here to see a list of the available handle methods. Search Method defines how the queue will find the next agent, recommend leave this on LB. List ID is the list that the new lead is inserted into, also if the Method is not a LOOKUP method and the lead is not found. Campaign ID is the campaign to search lists through if one of the RC methods is used. Phone Code is the phone_code field entry for the lead that is inserted with. VID Enter Filename is used if the Method is set to one of the VIDPROMPT methods, it is the audio prompt played to ask the customer to enter their ID. VID ID Number Filename is used if the Method is set to one of the VIDPROMPT methods, it is the audio prompt played after customer enters their ID, something like YOU HAVE ENTERED. VID Confirm Filename is used if the Method is set to one of the VIDPROMPT methods, it is the audio prompt played to confirm their ID, something like PRESS 1 TO CONFIRM AND 2 TO REENTER. VID Digits is used if the Method is set to one of the VIDPROMPT methods, if it is set to a number it is the number of digits that must be entered by the customer when prompted for their ID, if set to empty or X then the customer will have to press pound or hash to finish their entry of their ID. + Call Menu In-Group Settings - If the route is set to INGROUP then there are many options that you can set to define how the call is sent to into the queue. In-Group is the inbound group that you want the call to go to. Handle Method is the way you want the call to be handled, Click here to see a list of the available handle methods. Search Method defines how the queue will find the next agent, recommend leave this on LB. List ID is the list that the new lead is inserted into, also if the Method is not a LOOKUP method and the lead is not found. Campaign ID is the campaign to search lists through if one of the RC methods is used. Phone Code is the phone_code field entry for the lead that is inserted with. VID Enter Filename is used if the Method is set to one of the VIDPROMPT methods, it is the audio prompt played to ask the customer to enter their ID. VID ID Number Filename is used if the Method is set to one of the VIDPROMPT methods, it is the audio prompt played after customer enters their ID, something like YOU HAVE ENTERED. VID Confirm Filename is used if the Method is set to one of the VIDPROMPT methods, it is the audio prompt played to confirm their ID, something like PRESS 1 TO CONFIRM AND 2 TO REENTER. VID Digits is used if the Method is set to one of the VIDPROMPT methods, if it is set to a number it is the number of digits that must be entered by the customer when prompted for their ID, if set to empty or X then the customer will have to press pound or hash to finish their entry of their ID.
- +
Custom Dialplan Entry - This field allows you to enter in any dialplan elements that you want for the Call Menu.
-
+
Qualify SQL - This field allows you to input SQL - Structured Query Language - database fragments, like with Filters, to determine whether this call menu should play for the caller or not. This feature only works if the call has the callerIDname set prior to being sent to this call menu, either as an outbound survey transfer, or through the use of a drop call menu for an In-Group call. If there is a match, the call will proceed as normal. If there is no match, the call will go to the D option or the invalid option if no D option is set. You cannot use single-quotes in this field, only double-quotes if they are needed. Default is empty for disabled. @@ -6902,22 +6909,22 @@ if ($ADD==99999)




-
+
Filter Phone Group ID - This is the ID of the Filter Phone Group that is the container for a group of phone numbers that you can have automatically searched through when a call comes into a DID and send to an alternate route if there is a match. This field should be between 2 and 20 characters and have no punctuation except for underscore.
-
+
Filter Phone Group Name - This is the name of the Filter Phone Group and is displayed with the ID in select lists where this feature is used. This field should be between 2 and 40 characters.
-
+
Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
-
+
Filter Phone Group Description - This is the description of the Filter Phone Group, it is purely for notation purposes only and is not a required field. @@ -6926,94 +6933,94 @@ if ($ADD==99999)



- VICIDIAL_REMOTE_AGENTS TABLE

-
+ REMOTE_AGENTS TABLE

+

- User ID Start - This is the starting User ID that is used when the remote agent entries are inserted into the system. If the Number of Lines is set higher than 1, this number is incremented by one until each line has an entry. Make sure you create a new VICIDIAL user account with a user level of 4 or great if you want them to be able to use the vdremote.php page for remote web access of this account. + User ID Start - This is the starting User ID that is used when the remote agent entries are inserted into the system. If the Number of Lines is set higher than 1, this number is incremented by one until each line has an entry. Make sure you create a new user account with a user level of 4 or great if you want them to be able to use the vdremote.php page for remote web access of this account.
-
+
Number of Lines - This defines how many remote agent entries the system creates, and determines how many lines it thinks it can safely send to the number below.
-
+
Server IP - A remote agent entry is only good for one specific server, here is where you select which server you want.
-
+
External Extension - This is the number that you want the calls forwarded to. Make sure that it is a full dial plan number and that if you need a 9 at the beginning you put it in here. Test by dialing this number from a phone on the system.
-
+
Extension Group - If set to something other than NONE or empty this will override the External Extension field and use the Extension Group entries that have the same extension group ID. Default is NONE for deactivated.
-
+
Status - Here is where you turn the remote agent on and off. As soon as the agent is Active the system assumes that it can send calls to it. It may take up to 30 seconds once you change the status to Inactive to stop receiving calls.
-
+
Campaign - Here is where you select the campaign that these remote agents will be logged into. Inbound needs to use the CLOSER campaign and select the inbound campaigns below that you want to receive calls from.
-
+
On-Hook Agent - This option is only used for inbound calls going to this remote agent. This feature will call the remote agent and will not send the customer to the remote agent until the line is answered. Default is N for disabled.
-
+
On-Hook Ring Time - This option is only used when the On-Hook Agent field above is set to Y and then only for inbound calls coming to this remote agent. This is the number of seconds that each call attempt will ring to try to get an answer. It is recommended that you set this to a few seconds less than it takes for a call to be sent to voicemail. Default is 15.
-
+
Inbound Groups - Here is where you select the inbound groups you want to receive calls from if you have selected the CLOSER campaign.



- VICIDIAL_EXTENSION_GROUPS TABLE

-
+ EXTENSION_GROUPS TABLE

+

Extension Group - This required field is where you enter the group ID that you want this extension to be put into. No spaces or special characters except for underscore letters and numbers.
-
+
Extension - This required field is where you put the dialplan extension that you want the remote agent calls to be sent to for this extension group entry.
-
+
Rank - This field allows you to rank the extension group entries that share the same extension group. Default is 0.
-
+
Campaigns Groups - In this field you can put a list of campaign IDs and or inbound group IDs that you want to restrict the use of the extension group for. List must be separate by pipes and have a pipe at the beginning and end of the string.



- VICIDIAL_CAMPAIGN_LISTS

-
+ CAMPAIGN_LISTS

+

The lists within this campaign are listed here, whether they are active is denoted by the Y or N and you can go to the list screen by clicking on the list ID in the first column.



- VICIDIAL_CAMPAIGN_STATUSES TABLE

-
+ CAMPAIGN_STATUSES TABLE

+

- Through the use of custom campaign statuses, you can have statuses that only exist for a specific campaign. The Status must be 1-8 characters in length, the description must be 2-30 characters in length and Selectable defines whether it shows up in VICIDIAL as a disposition. The human_answered field is used when calculating the drop percentage, or abandon rate. Setting human_answered to Y will use this status when counting the human-answered calls. The Category option allows you to group several statuses into a catogy that can be used for statistical analysis. + Through the use of custom campaign statuses, you can have statuses that only exist for a specific campaign. The Status must be 1-8 characters in length, the description must be 2-30 characters in length and Selectable defines whether it shows up in the system as a disposition. The human_answered field is used when calculating the drop percentage, or abandon rate. Setting human_answered to Y will use this status when counting the human-answered calls. The Category option allows you to group several statuses into a catogy that can be used for statistical analysis. @@ -7023,10 +7030,10 @@ if ($ADD==99999) ?>



- VICIDIAL_CAMPAIGN_HOTKEYS TABLE

-
+ CAMPAIGN_HOTKEYS TABLE

+

- Through the use of custom campaign hot keys, agents that use the vicidial web-client can hang up and disposition calls just by pressing a single key on their keyboard. There are two special HotKey options that you can use in conjunction with Alternate Phone number dialing, ALTPH2 - Alternate Phone Hot Dial and ADDR3-----Address3 Hot Dial allow an agent to use a hotkey to hang up their call, stay on the same lead, and dial another contact number from that lead. You can also use LTMG or XFTAMM as statuses to trigger an automatic transfer to the Leave-Voicemail option. + Through the use of custom campaign hot keys, agents that use the agent web-client can hang up and disposition calls just by pressing a single key on their keyboard. There are two special HotKey options that you can use in conjunction with Alternate Phone number dialing, ALTPH2 - Alternate Phone Hot Dial and ADDR3-----Address3 Hot Dial allow an agent to use a hotkey to hang up their call, stay on the same lead, and dial another contact number from that lead. You can also use LTMG or XFTAMM as statuses to trigger an automatic transfer to the Leave-Voicemail option. @@ -7034,8 +7041,8 @@ if ($ADD==99999)



- VICIDIAL_LEAD_RECYCLE TABLE

-
+ LEAD_RECYCLE TABLE

+

Through the use of lead recycling, you can call specific statuses of leads again at a specified interval without resetting the entire list. Lead recycling is campaign-specific and does not have to be a selected dialable status in your campaign. The attempt delay field is the number of seconds until the lead can be placed back in the hopper, this number must be at least 120 seconds. The attempt maximum field is the maximum number of times that a lead of this status can be attempted before the list needs to be reset, this number can be from 1 to 10. You can activate and deactivate a lead recycle entry with the provided links. @@ -7045,8 +7052,8 @@ if ($ADD==99999)



- VICIDIAL AUTO ALT DIAL STATUSES

-
+ AUTO ALT DIAL STATUSES

+

If the Auto Alt-Number Dialing field is set, then the leads that are dispositioned under these auto alt dial statuses will have their alt_phone and-or address3 fields dialed after any of these no-answer statuses are set. @@ -7058,10 +7065,10 @@ if ($ADD==99999)



- VICIDIAL AGENT PAUSE CODES

-
+ AGENT PAUSE CODES

+

- If the Agent Pause Codes Active field is set to active then the agents will be able to select from these pause codes when they click on the PAUSE button on their screens. This data is then stored in the vicidial agent log. The Pause code must contain only letters and numbers and be less than 7 characters long. The pause code name can be no longer than 30 characters. + If the Agent Pause Codes Active field is set to active then the agents will be able to select from these pause codes when they click on the PAUSE button on their screens. This data is then stored in the agent log. The Pause code must contain only letters and numbers and be less than 7 characters long. The pause code name can be no longer than 30 characters. @@ -7069,8 +7076,8 @@ if ($ADD==99999)



- VICIDIAL CAMPAIGN PRESETS

-
+ CAMPAIGN PRESETS

+

If the Campaign setting for presets is set to ENABLED then you have the ability to define Transfer-Conference presets that will be available to the agent allowing them to 3-way call these presets or blind transfer calls to these preset numbers. These presets also have an option to hide the number associated with each preset from the agent. @@ -7080,8 +7087,8 @@ if ($ADD==99999)



- VICIDIAL CAMPAIGN CID AREACODES

-
+ CAMPAIGN CID AREACODES

+

If the System Setting for Areacode CIDs is enabled and the Campaign setting for Use Custom CallerID is set to AREACODE then you have the ability to define Areacode CIDs that will be used when outbound calling to leads in this specific campaign. You can add multiple callerIDs per areacode and you can activate and deactivate them each in real time. If more than one callerID is active for a specific areacode then the system will use the callerid that has been used the least number of times today. If no callerIDs are active for the areacode then the campaign CallerID or list override CallerID will be used. @@ -7091,73 +7098,73 @@ if ($ADD==99999)



- VICIDIAL_USER_GROUPS TABLE

-
+ USER_GROUPS TABLE

+

- User Group - This is the short name of a Vicidial User group, try not to use any spaces or punctuation for this field. max 20 characters, minimum of 2 characters. + User Group - This is the short name of a User group, try not to use any spaces or punctuation for this field. max 20 characters, minimum of 2 characters.
-
+
- Group Name - This is the description of the vicidial user group max of 40 characters. + Group Name - This is the description of the user group max of 40 characters.
-
+
- Force Timeclock Login - This option allows you to not let an agent log in to the VICIDIAL agent interface if they have not logged into the timeclock. Default is N. There is an option to exempt admin users, levels 8 and 9. + Force Timeclock Login - This option allows you to not let an agent log in to the agent interface if they have not logged into the timeclock. Default is N. There is an option to exempt admin users, levels 8 and 9.
-
+
Shift Enforcement - This setting allows you to restrict agent logins based upon the shifts that are selected below. OFF will not enforce shifts at all. START will only enforce the login time but will not affect an agent that is running over their shift time if they are already logged in. ALL will enforce shift start time and will log an agent out after they run over the end of their shift time. Default is OFF.
-
+
Group Shifts - This is a selectable list of shifts that can restrict the agents login time on the system.
-
+
Allowed Campaigns - This is a selectable list of Campaigns to which members of this user group can log in to. The ALL-CAMPAIGNS option allows the users in this group to see and log in to any campaign on the system.
-
+
Agent Status Viewable Groups - This is a selectable list of User Groups and user functions to which members of this user group can view the status of as well as transfer calls to inside of the agent screen. The ALL-GROUPS option allows the users in this group to see and transfer calls to any user on the system. The CAMPAIGN-AGENTS option allows users in this group to see and transfer calls to any user in the campaign that they are logged into. The NOT-LOGGED-IN-AGENTS option allows all users in the system to be displayed, even if they are not logged-in curently.
-
+
Agent Status View Time - This option defines whether the agent will see the amount of time that users in their agent sidebar have been in their current status. Default is N for no or disabled.
-
+
- Agent Call Log View - This option defines whether the agent will be able to see their call log for calls handled through the ViciDial agent screen. Default is N for no or disabled. + Agent Call Log View - This option defines whether the agent will be able to see their call log for calls handled through the agent screen. Default is N for no or disabled.
-
+
Agent Transfer Options - These options allow for the disabling of specific buttons in the Transfer Conference section of the Agent interface. Default is Y for yes or enabled.
-
+
- Agent Fullscreen - This option if set to Y will set the height and width of the ViciDial agent screen to the size of the web browser window without any allowance for the Agents View, Calls in Queue View or Calls in Session view. Default is N for no or disabled. + Agent Fullscreen - This option if set to Y will set the height and width of the agent screen to the size of the web browser window without any allowance for the Agents View, Calls in Queue View or Calls in Session view. Default is N for no or disabled.
-
+
Allowed Reports - If a user in this group is set to user level 7 or higher, then this feature can be used to restrict the reports that the users can view. Default is ALL. If you want to select more than one report then press the Ctrl key on your keyboard as you select the reports.
-
+
Allowed User Groups - This is a selectable list of User Groups to which members of this user group can view and possibly edit. User Groups can restrict access to almost all aspects of the system, from inbound DIDs to phones to voicemail boxes. The --ALL-- option allows the users in this group to see and log in to any record on the system if their user permissions allow for it.
-
+
Allowed Call Times - This is a selectable list of Call Times to which members of this user group can use in campaigns, in-groups and call menus. The --ALL-- option allows the users in this group to use all call times in the system. @@ -7167,17 +7174,17 @@ if ($ADD==99999) { ?>
-
+
Webphone URL Override - This setting allows you to set an alternate webphone URL just for the members of one user group. Default is empty.
-
+
Webphone System Key Override - This setting allows you to set an alternate webphone System Key just for the members of one user group. Default is empty.
-
+
Webphone Dialpad Override - This setting allows you to activate or deactivate the dialpad on the webphone just for the members of one user group. Default is DISABLED. TOGGLE will allow the user to view and hide the dialpad by clicking a link. TOGGLE_OFF will default to not show the dialpad on first load, but will allow the user to show the dialpad by clicking on the dialpad link. @@ -7188,12 +7195,12 @@ if ($ADD==99999) { ?>
-
+
QC Allowed Campaigns - This is a selectable list of Campaigns which members of this user group will be able to QC. The ALL-CAMPAIGNS option allows the users in this group to QC any campaign on the system.
-
+
QC Allowed Inbound Groups - This is a selectable list of Inbound Groups which members of this user group will be able to QC. The ALL-GROUPS option allows the users in this user group to QC any inbound group on the system.


- VICIDIAL_SCRIPTS TABLE

-
+ SCRIPTS TABLE

+

- Script ID - This is the short name of a Vicidial Script. This needs to be a unique identifier. Try not to use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters. + Script ID - This is the short name of a Script. This needs to be a unique identifier. Try not to use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters.
-
- Script Name - This is the title of a Vicidial Script. This is a short summary of the script. max 50 characters, minimum of 2 characters. There should be no spaces or punctuation of any kind in theis field. + + Script Name - This is the title of a Script. This is a short summary of the script. max 50 characters, minimum of 2 characters. There should be no spaces or punctuation of any kind in theis field.
-
- Script Comments - This is where you can place comments for a Vicidial Script such as -changed to free upgrade on Sept 23-. max 255 characters, minimum of 2 characters. + + Script Comments - This is where you can place comments for an agent screen Script such as -changed to free upgrade on Sept 23-. max 255 characters, minimum of 2 characters.
-
+
Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
-
- Script Text - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id, user_group. For example, this sentence would print the persons name in it----

Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

This would read----

Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: +
+ Script Text - This is where you place the content of an agent screen Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id, user_group. For example, this sentence would print the persons name in it----

Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

This would read----

Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables:
- <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&user_group=--A--user_group--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> + <iframe src="http://www.sample.net/test_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&user_group=--A--user_group--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> </iframe>

You can also use a special variable IGNORENOSCROLL to force scroll bars on the script tab even if you are using an iframe within it.
-
+
Active - This determines whether this script can be selected to be used by a campaign. @@ -7249,26 +7256,26 @@ if ($ADD==99999) ?>



- VICIDIAL_LEAD_FILTERS TABLE

-
+ LEAD_FILTERS TABLE

+

- Filter ID - This is the short name of a Vicidial Lead Filter. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters. + Filter ID - This is the short name of a Lead Filter. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters.
-
+ Filter Name - This is a more descriptive name of the Filter. This is a short summary of the filter. max 30 characters, minimum of 2 characters.
-
- Filter Comments - This is where you can place comments for a Vicidial Filter such as -calls all California leads-. max 255 characters, minimum of 2 characters. + + Filter Comments - This is where you can place comments for a Filter such as -calls all California leads-. max 255 characters, minimum of 2 characters.
-
+
Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
-
+ Filter SQL - This is where you place the SQL query fragment that you want to filter by. do not begin or end with an AND, that will be added by the hopper cron script automatically. an example SQL query that would work here is- called_count > 4 and called_count < 8 -.


- VICIDIAL_CALL TIMES TABLE

-
+ CALL TIMES TABLE

+

- Call Time ID - This is the short name of a Vicidial Call Time Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters. + Call Time ID - This is the short name of a Call Time Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters.
-
+ Call Time Name - This is a more descriptive name of the Call Time Definition. This is a short summary of the Call Time definition. max 30 characters, minimum of 2 characters.
-
- Call Time Comments - This is where you can place comments for a Vicidial Call Time Definition such as -10am to 4pm with extra call state restrictions-. max 255 characters. + + Call Time Comments - This is where you can place comments for a Call Time Definition such as -10am to 4pm with extra call state restrictions-. max 255 characters.
-
+
Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
-
+ Default Start and Stop Times - This is the default time that calling will be allowed to be started or stopped within this call time definition if the day-of-the-week start time is not defined. 0 is midnight. To prevent calling completely set this field to 2400 and set the Default Stop time to 2400. To allow calling 24 hours a day set the start time to 0 and the stop time to 2400. For inbound only, you can also set the stop call time higher than 2400 if you want the call time to go beyond midnight. So if you want your call time to run from 6 am until 2 am the next day, you would put 0600 as the start time and 2600 as the stop time.
-
+ Weekday Start and Stop Times - These are the custom times per day that can be set for the call time definition. same rules apply as with the Default start and stop times.
-
+ After Hours Filename Override - These fields allow you to override the After Hours message for inbound groups if it is set to something. Default is empty.
-
+ State Call Time Definitions - This is the list of State specific call time definitions that are followed in this Call Time Definition.
-
+ State Call Time State - This is the two letter code for the state that this calling time definition is for. For this to be in effect the local call time that is set in the campaign must have this state call time record in it as well as all of the leads having two letter state codes in them. - +
Holiday ID - This is the short name of a Holiday Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 30 characters, minimum of 2 characters.
-
+ Holiday Name - This is a more descriptive name of the Holiday Definition. This is a short summary of the Holiday definition. max 100 characters, minimum of 2 characters.
-
+ Holiday Comments - This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-. max 255 characters.
-
+ Holiday Date - This is the date of the holiday.
-
+ Holiday Status - This is the status of the holiday entry. ACTIVE status means that the holiday will be enabled on the holiday date. INACTIVE status means that the holiday will be ignored even on the holiday date. EXPIRED means that the holiday has passed it's holiday date. Default is INACTIVE. @@ -7342,38 +7349,38 @@ if ($ADD==99999)



- VICIDIAL_SHIFTS TABLE

-
+ SHIFTS TABLE

+

- Shift ID - This is the short name of a Vicidial Shift Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 20 characters, minimum of 2 characters. + Shift ID - This is the short name of a system Shift Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 20 characters, minimum of 2 characters.
-
+ Shift Name - This is a more descriptive name of the Shift Definition. This is a short summary of the Shift definition. max 50 characters, minimum of 2 characters.
-
+
Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
-
+ Shift Start Time - This is the time that the campaign shift begins. Must only be numbers, 9:30 AM would be 0930 and 5:00 PM would be 1700.
-
+ Shift Length - This is the time in Hours and Minutes that the campaign shift lasts. 8 hours would be 08:00 and 7 hours and 30 minutes would be 07:30.
-
+ Shift Weekdays - In this section you should choose the days of the week that this shift is active.
-
+ Report Option - This option allows this specific shift to show up in selected reports that support this option.
-
+ Report Rank - This option allows you to rank shifts in selected reports that support this option. @@ -7381,36 +7388,36 @@ if ($ADD==99999)



- Audio Store - This utility allows you to upload audio files to the web server so that they can be distributed to all of the ViciDial servers in a multi-server cluster. An important note, only two audio file types will work, .wav files that are PCM Mono 16bit 8k and .gsm files that are 8bit 8k. Please verify that your files are properly formatted before uploading them here. + Audio Store - This utility allows you to upload audio files to the web server so that they can be distributed to all of the system servers in a multi-server cluster. An important note, only two audio file types will work, .wav files that are PCM Mono 16bit 8k and .gsm files that are 8bit 8k. Please verify that your files are properly formatted before uploading them here.



- VICIDIAL_MUSIC_ON_HOLD TABLE

-
+ MUSIC_ON_HOLD TABLE

+

Music On Hold ID - This is the short name of a Music On Hold entry. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 100 characters, minimum of 2 characters.
-
- Music On Hold Name - This is a more descriptive name of the Music On Hold entry. This is a short summary of the Music On Hold context and will show as a comment in the musiconhold-vicidial.conf file. max 255 characters, minimum of 2 characters. + + Music On Hold Name - This is a more descriptive name of the Music On Hold entry. This is a short summary of the Music On Hold context and will show as a comment in the musiconhold conf file. max 255 characters, minimum of 2 characters.
-
+ Active - This option allows you to set the Music On Hold entry to active or inactive. Inactive will remove the entry from the conf files.
-
+
Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
-
+ Random Order - This option allows you to define the playback of the audio files in a random order. If set to N then the defined order will be used.
-
+ Filename - To add a new audio file to a Music On Hold entry the file must first be in the audio store, then you can select the file and click submit to add it to the file list. Music on hold is updated once per minute if there have been changes made. Any files not listed in a music on hold entry that are present in the music on hold folder will be deleted. @@ -7418,77 +7425,77 @@ if ($ADD==99999)



- VICIDIAL_TTS_PROMPTS TABLE

-
+ TTS_PROMPTS TABLE

+

TTS ID - This is the short name of a TTS entry. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 50 characters, minimum of 2 characters.
-
+ TTS Name - This is a more descriptive name of the TTS entry. This is a short summary of the TTS definition. max 100 characters, minimum of 2 characters.
-
+ Active - This option allows you to set the TTS entry to active or inactive.
-
+
Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
-
+ TTS Voice - This is where you define the voice to be used in the TTS generation. Default is Allison-8kHz.
-
- TTS Text - This is the actual Text To Speech data field that is sent to Cepstral for creation of the audio file to be played to the customer. you can use Speech Synthesis Markup Language -SSML- in this field, for example, <break time='1000ms'/> for a 1 second break. You can also use several variables such as first name, last name and title as ViciDial variables just like you do in a Script: --A--first_name--B--. If you have static audio files that you want to use based upon the value of one of the fields you can use those as well with C and D tags. The file names must be all lower case and they must be 8k 16bit pcm wav files. The field name must be the same but without the .wav in the filename. For example --C----A--address3--B----D-- would first find the value for address3, then it would try to find an audio file matching that value to put it into the prompt. Here is a list of the available variables: lead_id, entry_date, modify_date, status, user, vendor_lead_code, source_id, list_id, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, called_count, last_local_call_time, rank, owner + + TTS Text - This is the actual Text To Speech data field that is sent to Cepstral for creation of the audio file to be played to the customer. you can use Speech Synthesis Markup Language -SSML- in this field, for example, <break time='1000ms'/> for a 1 second break. You can also use several variables such as first name, last name and title as system variables just like you do in a Script: --A--first_name--B--. If you have static audio files that you want to use based upon the value of one of the fields you can use those as well with C and D tags. The file names must be all lower case and they must be 8k 16bit pcm wav files. The field name must be the same but without the .wav in the filename. For example --C----A--address3--B----D-- would first find the value for address3, then it would try to find an audio file matching that value to put it into the prompt. Here is a list of the available variables: lead_id, entry_date, modify_date, status, user, vendor_lead_code, source_id, list_id, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, called_count, last_local_call_time, rank, owner



- VICIDIAL_VOICEMAIL TABLE

-
+ VOICEMAIL TABLE

+

Voicemail ID - This is the all numbers identifier of this mailbox. This must not be a duplicate of an existing voicemail ID or the voicemail ID of a phone on the system, minimum of 2 characters.
-
+ Name - This is name associated with this voicemail box. max 100 characters, minimum of 2 characters.
-
+ Password - This is the password that is used to gain access to the voicemail box when dialing in to check messages max 10 characters, minimum of 2 characters.
-
+ Active - This option allows you to set the voicemail box to active or inactive. If the box is inactive you cannot leave messages on it and you cannot check messages in it.
-
+ Email - This optional setting allows you to have the voicemail messages sent to an email account, if your system is set up to send out email. If this field is empty then no emails will be sent out.
-
+
Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
-
+ Delete Voicemail After Email - This optional setting allows you to have the voicemail messages deleted from the system after they have been emailed out. Default is N.
-
+ Voicemail Greeting - This optional setting allows you to define a voicemail greeting audio file from the audio store. Default is blank.
-
+ Voicemail Zone - This setting allows you to set the zone that this voicemail box will be set to when the time is logged for a message. Default is set in the System Settings.
-
+ Voicemail Options - This optional setting allows you to define additional voicemail settings. It is recommended that you leave this blank unless you know what you are doing.


- VICIDIAL LIST LOADER FUNCTIONALITY

-
+ LIST LOADER FUNCTIONALITY

+

- The VICIDIAL basic web-based lead loader is designed simply to take a lead file - up to 8MB in size - that is either tab or pipe delimited and load it into the vicidial_list table. The lead loader allows for field choosing and TXT- Plain Text, CSV- Comma Separated Values and XLS- Excel file formats. The lead loader does not do data validation, but it does allow you to check for duplicates in itself, within the campaign or within the entire system. Also, make sure that you have created the list that these leads are to be under so that you can use them. Here is a list of the fields in their proper order for the lead files: + The basic web-based lead loader is designed simply to take a lead file - up to 8MB in size - that is either tab or pipe delimited and load it into the list table. The lead loader allows for field choosing and TXT- Plain Text, CSV- Comma Separated Values and XLS- Excel file formats. The lead loader does not do data validation, but it does allow you to check for duplicates in itself, within the campaign or within the entire system. Also, make sure that you have created the list that these leads are to be under so that you can use them. Here is a list of the fields in their proper order for the lead files:
  1. Vendor Lead Code - shows up in the Vendor ID field of the GUI
  2. Source Code - internal use only for admins and DBAs @@ -7533,12 +7540,12 @@ if ($ADD==99999)
    NOTES: The Excel Lead loader functionality is enabled by a series of perl scripts and needs to have a properly configured /etc/astguiclient.conf file in place on the web server. Also, a couple perl modules must be loaded for it to work as well - OLE-Storage_Lite and Spreadsheet-ParseExcel. You can check for runtime errors in these by looking at your apache error_log file. Also, for duplication checks against gampaign lists, the list that has new leads going into it does need to be created in the system before you start to load the leads.
    -
    +
    - File layout - The layout of the file you are loading. "Standard Format" uses the pre-defined Vicidial standard file format. "Custom layout" allows the user to define the layout of the file themselves. "Custom template" is a hybrid of the previous two options, which allows the user to use a custom format they have defined previously and saved using the Custom Template Maker. + File layout - The layout of the file you are loading. "Standard Format" uses the pre-defined standard file format. "Custom layout" allows the user to define the layout of the file themselves. "Custom template" is a hybrid of the previous two options, which allows the user to use a custom format they have defined previously and saved using the Custom Template Maker.
    -
    +
    Template ID - If the user has selected "Custom layout" from the "File layout" options, then this the the template the lead loader will use. It will also override the selected list ID with the list ID that was assigned to the selected template when it was created. @@ -7604,7 +7611,7 @@ if ($ADD==99999)

    - Agent Screen Login - The login used for the phone user to login to the client applications, like the ViciDial agent screen. + Agent Screen Login - The login used for the phone user to login to the client applications, like the agent screen.
    @@ -7697,7 +7704,7 @@ if ($ADD==99999)

    - Local GMT - The difference from Greenwich Mean time, or ZULU time where the phone is located. DO NOT ADJUST FOR DAYLIGHT SAVINGS TIME. This is used by the VICIDIAL campaign to accurately display the time and customer time. + Local GMT - The difference from Greenwich Mean time, or ZULU time where the phone is located. DO NOT ADJUST FOR DAYLIGHT SAVINGS TIME. This is used by the campaign to accurately display the system time and customer time, as well as accurately log when events happen.
    @@ -7722,17 +7729,17 @@ if ($ADD==99999)

    - VICIDIAL Default User - This is to place a default value in the VICIDIAL user field whenever this phone user opens the astVICIDIAL client app. Leave blank for no user. + Agent Default User - This is to place a default value in the agent user field whenever this phone user opens the client app. Leave blank for no user.

    - VICIDIAL Default Pass - This is to place a default value in the VICIDIAL password field whenever this phone user opens the astVICIDIAL client app. Leave blank for no pass. + Agent Default Pass - This is to place a default value in the agent password field whenever this phone user opens the client app. Leave blank for no pass.

    - VICIDIAL Default Campaign - This is to place a default value in the VICIDIAL campaign field whenever this phone user opens the astVICIDIAL client app. Leave blank for no campaign. + Agent Default Campaign - This is to place a default value in the agent screen campaign field whenever this phone user opens the client app. Leave blank for no campaign.
    @@ -7745,14 +7752,14 @@ if ($ADD==99999) Conf Exten - This is the default Conference park extension for the client apps. Verify that a different one works before you change this.
    -
    +
    - VICIDIAL Park Exten - This is the default Parking extension for VICIDIAL client app. Verify that a different one works before you change this. + Agent Park Exten - This is the default Parking extension for client app. Verify that a different one works before you change this.
    -
    +
    - VICIDIAL Park File - This is the default VICIDIAL park extension file name for the client apps. Verify that a different one works before you change this. limited to 10 characters. + Agent Park File - This is the default agent screen park extension file name for the client apps. Verify that a different one works before you change this. limited to 10 characters.
    @@ -7777,12 +7784,12 @@ if ($ADD==99999)

    - Exten Context - This is the dial plan context that the agent applications, like ViciDial, primarily use. It is assumed that all numbers dialed by the client apps are using this context so it is a good idea to make sure this is the most wide context possible. verify with extensions.conf file before changing. default is default. + Exten Context - This is the dial plan context that the agent screen, primarily uses. It is assumed that all numbers dialed by the client apps are using this context so it is a good idea to make sure this is the most wide context possible. verify with extensions.conf file before changing. default is default.

    - Phone Context - This is the dial plan context that this phone will use to dial out. If you are running a call center and you do not want your agents to be able to dial out outside of the ViciDial applicaiton for example, then you would set this field to a dialplan context that does not exist, something like agent-nodial. default is default. + Phone Context - This is the dial plan context that this phone will use to dial out. If you are running a call center and you do not want your agents to be able to dial out outside of the agent screen applicaiton for example, then you would set this field to a dialplan context that does not exist, something like agent-nodial. default is default.
    @@ -7812,7 +7819,7 @@ if ($ADD==99999)

    - Install Directory - This is the place where the astGUIclient and astVICIDIAL scripts are located on your machine. For Win32 it should be something like C:\AST_VICI and for UNIX it should be something like /usr/local/perl_TK. verify this manually. + Install Directory - Not used anymore.
    @@ -7820,14 +7827,14 @@ if ($ADD==99999) CallerID URL - This is the web address of the page used to do custom callerID lookups. default testing address is: http://astguiclient.sf.net/test_callerid_output.php
    -
    +
    - VICIDIAL Default URL - This is the web address of the page used to do custom VICIDIAL Web Form queries. default testing address is: http://astguiclient.sf.net/test_VICIDIAL_output.php + Agent Default URL - This is the web address of the page used to do custom agent Web Form queries. default testing address is defined in the database schema.

    - Call Logging - This is set to true if the call_log.agi file is in place in the extensions.conf file for all outbound and hang up 'h' extensions to log all calls. This should always be 1 because it is manditory for many astGUIclient and VICIDIAL features to work properly. + Call Logging - This is set to true if the call_log step is in place in the extensions.conf file for all outbound and hang up 'h' extensions to log all calls. This should always be 1 because it is manditory for many of the system features to work properly.
    @@ -7872,7 +7879,7 @@ if ($ADD==99999)

    - Queue Enabled - Set to true to have client apps use the Asterisk Central Queue system. Required for VICIDIAL and recommended for all users. + Queue Enabled - Set to true to have client apps use the Asterisk Central Queue system. Required for the system to work and recommended for all phones.
    @@ -7902,17 +7909,17 @@ if ($ADD==99999)

    - Auto Dial Next Number - If enabled the VICIDIAL client will dial the next number on the list automatically upon disposition of a call unless they selected to "Stop Dialing" on the disposition screen. + Auto Dial Next Number - If enabled the agent screen will dial the next number on the list automatically upon disposition of a call unless they selected to PAUSE AGENT DIALING on the disposition screen.

    - Stop Rec after each call - If enabled the VICIDIAL client will stop whatever recording is going on after each call has been dispositioned. Useful if you are doing a lot of recording or you are using a web form to trigger recording. + Stop Rec after each call - If enabled the agent screen will stop whatever recording is going on after each call has been dispositioned. Useful if you are doing a lot of recording or you are using a web form to trigger recording.

    - Enable SIPSAK Messages - If enabled the server will send messages to the SIP phone to display on the phone LCD display when logged into VICIDIAL. Feature only works with SIP phones and requires sipsak application to be installed on the web server. Default is 0. + Enable SIPSAK Messages - If enabled, the server will send messages to the SIP phone to display on the phone display screen when logged into the agent web interface. Feature only works with SIP phones and requires sipsak application to be installed on the web server. Default is 0.
    @@ -7987,12 +7994,12 @@ if ($ADD==99999)

    - Conf Override Settings - If populated, and the Template ID is set to --NONE-- then the contents of this field are used as the conf file entries for this phone. generate_vicidial_conf for this phones server must be set to Y for this to work. This field should NOT contain the [extension] line, that will be automatically generated. + Conf Override Settings - If populated, and the Template ID is set to --NONE-- then the contents of this field are used as the conf file entries for this phone. generate conf files for this phones server must be set to Y for this to work. This field should NOT contain the [extension] line, that will be automatically generated.

    - Group Alias ID - The ID of the group alias used by agents to dial out calls from the VICIDIAL agent interface with different Caller IDs. no spaces or other special characters allowed. Must be between 2 and 20 characters in length. + Group Alias ID - The ID of the group alias used by agents to dial out calls from the agent interface with different Caller IDs. no spaces or other special characters allowed. Must be between 2 and 20 characters in length.
    @@ -8060,9 +8067,9 @@ if ($ADD==99999) Asterisk Version - Set the version of Asterisk that you have installed on this server. Examples: '1.2', '1.0.8', '1.0.7', 'CVS_HEAD', 'REALLY OLD', etc... This is used because versions 1.0.8 and 1.0.9 have a different method of dealing with Local/ channels, a bug that has been fixed in CVS v1.0, and need to be treated differently when handling their Local/ channels. Also, current CVS_HEAD and the 1.2 release tree uses different manager and command output so it must be treated differently as well.
    -
    +
    - Max VICIDIAL Trunks - This field will determine the maximum number of lines that the VICIDIAL auto-dialer will attempt to call on this server. If you want to dedicate two full PRI T1s to VICIDIALing on a server then you would set this to 46. Default is 96. + Max Trunks - This field will determine the maximum number of lines that the auto-dialer will attempt to call on this server. If you want to dedicate two full PRI T1s to outbound dialing on a server then you would set this to 46. Any inbound or manual dial calls will be counted against this total as well. Default is 96.
    @@ -8122,7 +8129,7 @@ if ($ADD==99999)

    - VICIDIAL AD extension - The default extension if none is present in the campaign to send calls to for VICIDIAL auto dialing. Default is '8365' + auto dial extension - The default extension if none is present in the campaign to send calls to for auto dialing. Default is '8365'
    @@ -8137,27 +8144,27 @@ if ($ADD==99999)

    - Server Logs - Setting this option to Y will enable logging of all VICIDIAL related scripts to their text log files. Setting this to N will stop writing logs to files for these processes, also the screen logging of asterisk will be disabled if this is set to N when Asterisk is started. Default is Y. + Server Logs - Setting this option to Y will enable logging of all system related scripts to their text log files. Setting this to N will stop writing logs to files for these processes, also the screen logging of asterisk will be disabled if this is set to N when Asterisk is started. Default is Y.

    - AGI Output - Setting this option to NONE will disable output from all VICIDIAL related AGI scripts. Setting this to STDERR will send the AGI output to the Asterisk CLI. Setting this to FILE will send the output to a file in the logs directory. Setting this to BOTH will send output to both the Asterisk CLI and a log file. Default is FILE. + AGI Output - Setting this option to NONE will disable output from all system related AGI scripts. Setting this to STDERR will send the AGI output to the Asterisk CLI. Setting this to FILE will send the output to a file in the logs directory. Setting this to BOTH will send output to both the Asterisk CLI and a log file. Default is FILE.
    -
    +
    - VICIDIAL Balance Dialing - Setting this field to Y will allow the server to place balance calls for campaigns in VICIDIAL so that the defined dial level can be met even if there are no agents logged into that campaign on this server. Default is N. + Balance Dialing - Setting this field to Y will allow the server to place balance calls for campaigns in the system so that the defined dial level can be met even if there are no agents logged into that campaign on this server. Default is N.
    -
    +
    - VICIDIAL Balance Rank - This field allows you to set the order in which this server is to be used for balance dialing, if balance dialing is enabled. The server with the highest rank will be used first in placing Balance fill calls. Default is 0. + Balance Rank - This field allows you to set the order in which this server is to be used for balance dialing, if balance dialing is enabled. The server with the highest rank will be used first in placing Balance fill calls. Default is 0.

    - VICIDIAL Balance Offlimits - This setting defines the number of trunks to not allow VICIDIAL balance dialing to use. For example if you have 40 max vicidial trunks and balance offlimits is set to 10 you will only be able to use 30 trunk lines for VICIDIAL balance dialing. Default is 0. + Balance Offlimits - This setting defines the number of trunks to not allow the balance dialing processes to use. For example if you have 40 max trunks and balance offlimits is set to 10 you will only be able to use 30 trunk lines for balance dialing. Default is 0.
    @@ -8177,22 +8184,22 @@ if ($ADD==99999)

    - Active Twin Server IP - Some vicidial systems require setting up vicidial servers in pairs. This setting is where you can put the server IP of another vicidial server that this server is twinned with. Default is empty for disabled. + Active Twin Server IP - Some systems require setting up telephony servers in pairs. This setting is where you can put the server IP of another server that this server is twinned with. Default is empty for disabled.

    - Active Asterisk Server - If Asterisk is not running on this server, or if VICIDIAL should not be using this server, or if are only using this server for other scripts like the hopper loading script you would want to set this to N. Default is Y. + Active Asterisk Server - If Asterisk is not running on this server, or if the dialing processes should not be using this server, or if are only using this server for other scripts like the hopper loading script you would want to set this to N. Default is Y.

    - Active Agent Server - Setting this option to N will prevent agents from being able to login to this server through the vicidial agent screen. This is very useful when using a phone login load balanced setup. Default is Y. + Active Agent Server - Setting this option to N will prevent agents from being able to log in to this server through the agent screen. This is very useful when using a phone login load balanced setup. Default is Y.
    -
    +
    - Generate conf files - If you would like the system to auto-generate asterisk conf files based upon the phones entries, carrier entries and load balancing setup within VICIDIAL then set this to Y. Default is Y. + Generate conf files - If you would like the system to auto-generate asterisk conf files based upon the phones entries, carrier entries and load balancing setup within the system then set this to Y. Default is Y.
    @@ -8210,9 +8217,9 @@ if ($ADD==99999) Sounds Update - If you want to force a check of the sound files on this server, and the central audio store is enabled as a system setting, then this field will allow the sounds updater to run at the next top of the minute. Any time an audio file is uploaded from the web interface this is automatically set to Y for all servers that have Asterisk active. Default is N.
    -
    +
    - ViciDial Recording Limit - This field is where you set the maximum number of minutes that a call recording initiated by ViciDial can be. Default is 60 minutes. + Recording Limit - This field is where you set the maximum number of minutes that a call recording initiated by the system can be. Default is 60 minutes.
    @@ -8231,23 +8238,23 @@ if ($ADD==99999)



    - vicidial_conf_templates TABLE

    -
    + conf_templates TABLE

    +

    Template ID - This field needs to be at least 2 characters in length and no more than 15 characters in length, no spaces. This is the ID that will be used to identify the conf template throughout the system.
    -
    +
    Template Name - This is the descriptive name of the conf file template entry.
    -
    +
    Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
    -
    +
    Template Contents - This field is where you can enter in the specific settings to be used by all phones and-or carriers that are set to use this conf template. Fields that should NOT be included in this box are: secret, accountcode, account, username and mailbox. @@ -8257,63 +8264,63 @@ if ($ADD==99999)



    - vicidial_server_carriers TABLE

    -
    + server_carriers TABLE

    +

    Carrier ID - This field needs to be at least 2 characters in length and no more than 15 characters in length, no spaces. This is the ID that will be used to identify the carrier for this specific entry throughout the system.
    -
    +
    Carrier Name - This is the descriptive name of the carrier entry.
    -
    +
    Carrier Description - This is put in the comments of the asterisk conf files above the dialplan and account entries. Maximum 255 characters.
    -
    +
    Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
    -
    +
    Registration String - This field is where you can enter in the exact string needed in the IAX or SIP configuration file to register to the provider. Optional but highly recommended if your carrier allows registration.
    -
    +
    Template ID - This optional field allows you to choose a conf file template for this carrier entry.
    -
    +
    - Account Entry - This field is used if you have not selected a template to use, and it is where you can enter in the specific account settings to be used for this carrier. If you will be taking in inbound calls from this carrier trunk you might want to set the context=trunkinbound within this field so that you can use the DID handling process within VICIDIAL. + Account Entry - This field is used if you have not selected a template to use, and it is where you can enter in the specific account settings to be used for this carrier. If you will be taking in inbound calls from this carrier trunk you might want to set the context=trunkinbound within this field so that you can use the DID handling process within the system.
    -
    +
    Protocol - This field allows you to define the protocol to use for the carrier entry. Currently only IAX and SIP are supported.
    -
    +
    Globals String - This optional field allows you to define a global variable to use for the carrier in the dialplan.
    -
    +
    Dialplan Entry - This optional field allows you to define a set of dialplan entries to use for this carrier.
    -
    +
    Server IP - This is the server that this specific carrier record is associated with.
    -
    +
    Active - This defines whether the carrier will be included in the auto-generated conf files or not. @@ -8326,7 +8333,7 @@ if ($ADD==99999) CONFERENCES TABLE


    - Conference Number - This field is where you put the meetme conference dialpna number. It is also recommended that the meetme number in meetme.conf matches this number for each entry. This is for the conferences in astGUIclient and is used for leave-3way-call functionality in VICIDIAL. + Conference Number - This field is where you put the meetme conference dialplan number. It is also recommended that the meetme number in meetme.conf matches this number for each entry. This is for the conferences in the astGUIclient user screen and is used for leave-3way-call functionality in the system.
    @@ -8342,10 +8349,10 @@ if ($ADD==99999) ?>



    - VICIDIAL_SERVER_TRUNKS TABLE

    -
    + SERVER_TRUNKS TABLE

    +

    - VICIDIAL Server Trunks allows you to restrict the outgoing lines that are used on this server for campaign dialing on a per-campaign basis. You have the option to reserve a specific number of lines to be used by only one campaign as well as allowing that campaign to run over its reserved lines into whatever lines remain open, as long at the total lines used by vicidial on this server is less than the Max VICIDIAL Trunks setting. Not having any of these records will allow the campaign that dials the line first to have as many lines as it can get under the Max VICIDIAL Trunks setting. + Server Trunks allows you to restrict the outgoing lines that are used on this server for campaign dialing on a per-campaign basis. You have the option to reserve a specific number of lines to be used by only one campaign as well as allowing that campaign to run over its reserved lines into whatever lines remain open, as long at the total lines used by the system on this server is less than the Max Trunks setting. Not having any of these records will allow the campaign that dials the line first to have as many lines as it can get under the Max Trunks setting. @@ -8366,14 +8373,14 @@ if ($ADD==99999) Webroot Writable - This setting allows you to define whether temp files and authentication files should be placed in the webroot on your web server. Default is 1.
    -
    +
    - VICIDIAL Agent Disable Display - This field is used to select when to show an agent when their session has been disabled by the system, a manager action or by an external measure. The NOT_ACTIVE setting will disable the message on the agents screen. The LIVE_AGENT setting will only display the disabled message when the agents vicidial_auto_calls record has been removed, such as during a force logout or emergency logout. + Agent Disable Display - This field is used to select when to show an agent notices when their session has been disabled by the system, a manager action or by an external measure. The NOT_ACTIVE setting will disable the message on the agents screen. The LIVE_AGENT setting will only display the disabled message when the agents auto_calls record has been removed, such as during a force logout or emergency logout. Default is ALL.

    - Allow SIPSAK Messages - If set to 1, this will allow the phones table setting to work properly, the server will send messages to the SIP phone to display on the phone LCD display when logged into VICIDIAL. This feature only works with SIP phones and requires sipsak application to be installed on the web server. Default is 0. + Allow SIPSAK Messages - If set to 1, this will allow the sipsak phones table setting to work if the phone is set to the SIP protocol. The server will send messages to the SIP phone to display on the phone display when logged into the system. This feature only works with SIP phones and requires sipsak application to be installed on the web server that the agent is logged into. Default is 0.
    @@ -8433,7 +8440,7 @@ if ($ADD==99999)

    - Agent Screen Header Date Format - This menu allows you to choose the format of the date that shows up at the top of the VICIDIAL agent screen. The options for this setting are: default is MS_DASH_24HR
    + Agent Screen Header Date Format - This menu allows you to choose the format of the date and time that shows up at the top of the agent screen. The options for this setting are: default is MS_DASH_24HR
    MS_DASH_24HR 2008-06-24 23:59:59 - Default date format with year month day followed by 24 hour time
    US_SLASH_24HR 06/24/2008 23:59:59 - USA date format with month day year followed by 24 hour time
    EU_SLASH_24HR 24/06/2008 23:59:59 - European date format with day month year followed by 24 hour time
    @@ -8446,7 +8453,7 @@ if ($ADD==99999)

    - Agent Screen Customer Date Format - This menu allows you to choose the format of the customer time zone date that shows up at the top of the Customer Information section of the VICIDIAL agent screen. The options for this setting are: default is AL_TEXT_AMPM
    + Agent Screen Customer Date Format - This menu allows you to choose the format of the customer date and time that shows up at the top of the Customer Information section of the agent screen. The options for this setting are: default is AL_TEXT_AMPM
    MS_DASH_24HR 2008-06-24 23:59:59 - Default date format with year month day followed by 24 hour time
    US_SLASH_24HR 06/24/2008 23:59:59 - USA date format with month day year followed by 24 hour time
    EU_SLASH_24HR 24/06/2008 23:59:59 - European date format with day month year followed by 24 hour time
    @@ -8459,7 +8466,7 @@ if ($ADD==99999)

    - Agent Screen Customer Phone Format - This menu allows you to choose the format of the customer phone number that shows up in the status section of the VICIDIAL agent screen. The options for this setting are: default is US_PARN
    + Agent Screen Customer Phone Format - This menu allows you to choose the format of the customer phone number that shows up in the status section of the agent screen. The options for this setting are: default is US_PARN
    US_DASH 000-000-0000 - USA dash separated phone number
    US_PARN (000)000-0000 - USA dash separated number with area code in parenthesis
    MS_NODS 0000000000 - No formatting
    @@ -8496,7 +8503,7 @@ if ($ADD==99999)

    - Admin Web Directory - This is the directory that your administation web content, like admin.php, are in. Default is vicidial. To figure out your Admin web directory, it is everything that is between the domain name and the admin.php in the URL on this page, without the beginning and ending slashes. + Admin Web Directory - This is the web directory that your administation web content, like admin.php, are in. To figure out your Admin web directory, it is everything that is between the domain name and the admin.php in the URL on this page, without the beginning and ending slashes.
    @@ -8511,7 +8518,7 @@ if ($ADD==99999)

    - Outbound Auto-Dial Active - This option allows you to enable or disable outbound auto-dialing within VICIDIAL, setting this field to 0 will remove the LISTS and FILTERS sections and many fields from the Campaign Modification screens. Manual entry dialing will still be allowable from within the agent screen, but no list dialing will be possible. Default is 1 for active. + Outbound Auto-Dial Active - This option allows you to enable or disable outbound auto-dialing within the system, setting this field to 0 will remove the LISTS and FILTERS sections and many fields from the Campaign Modification screens. Manual entry dialing will still be allowable from within the agent screen, but no list dialing will be possible. Default is 1 for active.
    @@ -8541,7 +8548,7 @@ if ($ADD==99999)

    - User Territories Active - This setting allows you to enable the User Territories setttings from the user modification screen. This feature was added to allow for more integration with a customized Vtiger installation but can have applications in a pure ViciDial system as well. Default is 0 for disabled. + User Territories Active - This setting allows you to enable the User Territories settings from the user modification screen. This feature was added to allow for more integration with a customized Vtiger installation but can have applications in system by itself as well. Default is 0 for disabled.
    @@ -8556,7 +8563,7 @@ if ($ADD==99999)

    - Enable CallCard - This setting enables the CallCard features with ViciDial to allow for callers to use pin numbers and card_ids that have a balance of minutes and those balances can have agent talk time on customer calls to in-groups deducted. Default is 0 for disabled. + Enable CallCard - This setting enables the CallCard features to allow for callers to use pin numbers and card_ids that have a balance of minutes and those balances can have agent talk time on customer calls to in-groups deducted. Default is 0 for disabled.
    @@ -8642,12 +8649,12 @@ if ($ADD==99999)

    - Reports to use Slave DB - This option allows you to select the reports that you want to have use the MySQL slave database as defined in the option above instead of the master database that your live ViciDial system is running on. You must set up the MySQL slave replication before you can enable this option. Default is empty for disabled. + Reports to use Slave DB - This option allows you to select the reports that you want to have use the MySQL slave database as defined in the option above instead of the master database that your live system is running on. You must set up the MySQL slave replication before you can enable this option. Default is empty for disabled.

    - Default Field Labels - These 19 fields allow you to set the name as it will appear in the ViciDial agent interface as well as the administrative modify lead page. Default is empty which will use the hard-coded defaults in the agent interface. You can also set a label to ---HIDE--- to hide both the label and the field. + Default Field Labels - These 19 fields allow you to set the name as it will appear in the agent interface as well as the administrative modify lead page. Default is empty which will use the hard-coded defaults in the agent interface. You can also set a label to ---HIDE--- to hide both the label and the field.
    @@ -8717,7 +8724,7 @@ if ($ADD==99999)

    - Enable QueueMetrics Logging - This setting allows you to define whether VICIDIAL will insert log entries into the queue_log database table as Asterisk Queues activity does. QueueMetrics is a standalone, closed-source statistical analysis program. You must have QueueMetrics already installed and configured before enabling this feature. Default is 0. + Enable QueueMetrics Logging - This setting allows you to define whether the system will insert log entries into the queue_log database table as Asterisk Queues activity does. QueueMetrics is a standalone, closed-source statistical analysis program. You must have QueueMetrics already installed and configured before enabling this feature. Default is 0.
    @@ -8747,17 +8754,17 @@ if ($ADD==99999)

    - QueueMetrics Log ID - This is the server ID that all VICIDIAL logs going into the QueueMetrics database will use as an identifier for each record. + QueueMetrics Log ID - This is the server ID that all contact center logs going into the QueueMetrics database will use as an identifier for each record.

    - QueueMetrics EnterQueue Prepend - This field is used to allow for prepending of one of the vicidial_list data fields in front of the phone number of the customer for customized QueueMetrics reports. Default is NONE to not populate anything. + QueueMetrics EnterQueue Prepend - This field is used to allow for prepending of one of the list data fields in front of the phone number of the customer for customized QueueMetrics reports. Default is NONE to not populate anything.

    - QueueMetrics Login-Out - This option affects how vicidial will log the logins and logouts of an agent in the queue_log. Default is STANDARD to use standard AGENTLOGIN AGENTLOGOFF, CALLBACK will use AGENTCALLBACKLOGIN and AGENTCALLBACKLOGOFF that QM will parse differently, NONE will not log any logins and logouts within queue_log. + QueueMetrics Login-Out - This option affects how the system will log the logins and logouts of an agent in the queue_log. Default is STANDARD to use standard AGENTLOGIN AGENTLOGOFF, CALLBACK will use AGENTCALLBACKLOGIN and AGENTCALLBACKLOGOFF that QM will parse differently, NONE will not log any logins and logouts within queue_log.
    @@ -8792,7 +8799,7 @@ if ($ADD==99999)

    - Enable Vtiger Integration - This setting allows you to enable Vtiger integration with VICIDIAL. Currently links to Vtiger admin and search as well as user replication are the only integration features available. Default is 0. + Enable Vtiger Integration - This setting allows you to enable Vtiger integration with the system. Currently links to Vtiger admin and search as well as user replication are the only integration features available. Default is 0.
    @@ -8822,50 +8829,50 @@ if ($ADD==99999)



    - VICIDIAL_STATUSES TABLE

    -
    + STATUSES TABLE

    +

    - Through the use of system statuses, you can have statuses that exist for campaign and in-group. The Status must be 1-6 characters in length, the description must be 2-30 characters in length and Selectable defines whether it shows up in VICIDIAL as an agent disposition. The human_answered field is used when calculating the drop percentage, or abandon rate. Setting human_answered to Y will use this status when counting the human-answered calls. The Category option allows you to group several statuses into a catogy that can be used for statistical analysis. There are also 5 additional settings that will define the kind of status: sale, dnc, customer contact, not interested, unworkable, scheduled callback. + Through the use of system statuses, you can have statuses that exist for all campaigns and in-groups. The Status must be 1-6 characters in length, the description must be 2-30 characters in length and Selectable defines whether it shows up in the system as an agent disposition. The human_answered field is used when calculating the drop percentage, or abandon rate. Setting human_answered to Y will use this status when counting the human-answered calls. The Category option allows you to group several statuses into a category that can be used for statistical analysis. There are also 5 additional settings that will define the kind of status: sale, dnc, customer contact, not interested, unworkable, scheduled callback.



    - VICIDIAL_SCREEN_LABELS TABLE

    -
    + SCREEN_LABELS TABLE

    +

    Screen labels give you the option of setting different labels for the default agent screen fields on a per campaign basis. -
    +
    Screen Label ID - This field needs to be at least 2 characters in length and no more than 20 characters in length, no spaces or special characters. This is the ID that will be used to identify the screen label throughout the system.
    -
    +
    Screen Label Name - This is the descriptive name of the screen label entry.
    -
    +
    Admin User Group - This is the administrative user group for this record, this allows admin viewing of this recoird restricted by user group. Default is --ALL-- which allows any admin user to view this record.
    -
    +
    Hide Label in Call Logs - If a label is set to ---HIDE--- then the agent call logs, if enabled on the campaign, will still show the field and data unless this option is set to Y. Default is N.
    -
    +
    - Default Field Labels - These 19 fields allow you to set the name as it will appear in the ViciDial agent interface as well as the administrative modify lead page. Default is empty which will use the hard-coded defaults in the agent interface. You can also set a label to ---HIDE--- to hide both the label and the field. + Default Field Labels - These 19 fields allow you to set the name as it will appear in the agent interface as well as the administrative modify lead page. Default is empty which will use the hard-coded defaults in the agent interface. You can also set a label to ---HIDE--- to hide both the label and the field.



    - VICIDIAL_STATUS_CATEGORIES TABLE

    -
    + STATUS_CATEGORIES TABLE

    +

    Through the use of system status categories, you can group together statuses to allow for statistical analysis on a group of statuses. The Category ID must be 2-20 characters in length with no spaces, the name must be 2-50 characters in length, the description is optional and TimeonVDAD Display defines whether that status will be one of the upto 4 statuses that can be calculated and displayed on the Time On VDAD Real-Time report. The Sale Category and Dead Lead Category are both used by the List Suggestion system when analyzing list statistics. @@ -8876,98 +8883,98 @@ if ($ADD==99999) if ($SSallow_emails>0) { ?> - VICIDIAL EMAIL ACCOUNTS

    -
    + EMAIL ACCOUNTS

    +

    - The Vicidial Email Accounts management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls. EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE. + The Email Accounts management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your system and be treated as if they were phone calls to agents. EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE.
    -
    +
    Email Account ID - This is the short name of the email account, it is not editable after initial submission, must not contain any spaces and must be between 2 and 20 characters in length.
    -
    +
    Email Account Name - This is the full name of the email account, it must be between 2 and 30 characters in length.
    -
    +
    Active - This determines whether this account will be checked for new email messages to be loaded into the dialer.
    -
    +
    Email Account Description - This allows for a lengthy description, if needed, of the email account. 255 characters max.
    -
    +
    Email Account Type - Specifies whether the account is used for inbound or outbound email messages. Should be set to INBOUND.
    -
    +
    Admin User Group - This is the administrative user group for this inbound group, this allows admin viewing of this in-group restricted by user group. Default is --ALL-- which allows any admin user to view this in-group.
    -
    +
    Email Account Protocol - This is the email protocol used by the account you are setting up access to. Currently only IMAP and POP3 accounts are supported.
    -
    +
    Email Reply-to Address - The email address of the account you are setting up access to. Replies to email messages from the agent interface will read as coming from this address.
    -
    +
    Email Account Server - The email server that the account is housed on.
    -
    +
    Email Account User - The login used to access this account. Usually it's the portion of the reply-to address before the -at- symbol.
    -
    +
    Email Account Password - The password used to access this account. This is usually set at the time the email account is created.
    -
    +
    Email Frequency Check Rate (mins) - How often this email account should be checked. The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time.
    -
    +
    In-Group ID - The In-Group that email messages will be sent to.
    -
    +
    Default List ID - The List ID that leads will be inserted into if necessary.
    -
    +
    - In-Group Call Handle Method - This is the action that will be taken when a new email is found in the account. EMAIL means all email messages will be inserted into vicidial_list as a new lead. EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table. EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "In-Group Campaign ID" box below. EMAILLOOKUPRL will only search one particular list, which is the one entered into the "In-Group List ID" box below. + In-Group Call Handle Method - This is the action that will be taken when a new email is found in the account. EMAIL means all email messages will be inserted into the list table as a new lead. EMAILLOOKUP will search the entire list table for the email address in the email column - if the lead is found, that lead list ID will be used in the record that goes into the email_list table. EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the In-Group Campaign ID box below. EMAILLOOKUPRL will only search one particular list, which is the one entered into the In-Group List ID box below.
    -
    +
    In-Group Agent Search Method - The agent search method to be used by the inbound group, LO is Load-Balanced-Overflow and will try to send the call to an agent on the local server before trying to send it to an agent on another server, LB is Load-Balanced and will try to send the call to the next agent no matter what server they are on, SO is Server-Only and will only try to send the calls to agents on the server that the call came in on. Default is LB. IS THIS NECESSARY?
    -
    +
    In-Group List ID - This is the List ID that will be used to search for a match within.
    -
    +
    In-Group Campaign ID - This is the Campaign ID that will be used to search for a match within. @@ -8976,51 +8983,51 @@ if ($SSallow_emails>0)



    - VICIDIAL CUSTOM TEMPLATE MAKER

    -
    + CUSTOM TEMPLATE MAKER

    +

    - The Vicidial custom template maker allows you to define your own file layouts for use with the Vicidial listloader and also delete them, if necessary. If you frequently upload files that are in a consistent layout other than the Vicidial standard layout, you may find this tool helpful. The saved layout will work on any uploaded file it matches, regardless of file type or delimiter. + The custom template maker allows you to define your own file layouts for use with the list loader and also delete them, if necessary. If you frequently upload files that are in a consistent layout other than the standard layout, you may find this tool helpful. The saved layout will work on any uploaded file it matches, regardless of file type or delimiter.
    -
    +
    Create a new template - In order to begin creating your new listloader template, you must first load a lead file that has the layout you wish to create the template for. Click "Choose file", and open the file on your computer you wish to use. This will upload a copy to your server and process it to determine the file type and delimiter (for TXT files).
    -
    +
    Delete template - If you have a template you no longer use or you mis-entered information on it and would like to re-enter it, select the template from the drop-down menu and click "DELETE TEMPLATE".
    -
    +
    Template ID - This field is where you enter an arbitrary ID for your new custom template. It must be between 2 and 20 characters and consist of alphanumeric characters and underscores.
    -
    +
    Template Name - This field is where you enter the name for your new custom template. Can be up to 30 characters long.
    -
    +
    Template Description - This field is where you enter the description for your new custom template. It can be up to 255 characters long.
    -
    +
    List ID - All templates must load their records into a list. Select a list ID to load leads into from this drop-down list, which will display any lists available to you given your user settings.
    -
    +
    - Assigning columns - Once you have loaded a sample file matching the layout you wish to make into a template and select a list ID to load leads into, all the available columns from the vicidial_list table and the custom table for the list you selected (if any) will be displayed here. Columns highlighted in blue are standard columns from the vicidial_list table. Columns highlighted in pink belong to the custom table for the selected list. Each column listed has a drop-down menu, which should be populated with the fields from the first row of the sample file you uploaded. Assign the appropriate fields to the appropriate columns and press "SUBMIT TEMPLATE" to create your template. You do not need to assign every field to a column, and you do not need to assign every column a field. For details on the standard vicidial_list columns, click
    HERE. + Assigning columns - Once you have loaded a sample lead file matching the layout you want to make into a template and select a list ID to load leads into, all of the available columns from the list table and the custom table for the list you selected (if any) will be displayed here. Columns highlighted in blue are standard columns from the list table. Columns highlighted in pink belong to the custom table for the selected list. Each column listed has a drop-down menu, which should be populated with the fields from the first row of the sample lead file you uploaded. Assign the appropriate fields to the appropriate columns and press SUBMIT TEMPLATE to create your template. You do not need to assign every field to a column, and you do not need to assign every column a field. For details on the standard list columns, click HERE.



    Maximum System Stats Reports

    - +
    These statistics are cached totals that are stored throughout each day in real-time through back-end processes. For inbound calls, the total calls per in-group are calculated for each call that enters the process that calculates. For the whole system counts, the totals are generated from log entries as well as other in-group and campaign totals. These totals may not add up due to the settings that you have in your system as well as when the call is hung up. @@ -9031,10 +9038,10 @@ if ($SSallow_emails>0) ?>



    - VICIDIAL QC STATUS CODES

    -
    + QC STATUS CODES

    +

    - The Quality Control-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. + The Quality Control - QC function has its own set of status codes separate from those within the call handling functions of the system. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. For these functions to work, you must have QC enabled in the System Settings. @@ -9152,13 +9159,13 @@ if ($ADD==73) { $rowx=mysql_fetch_row($rslt); $o++; - if (ereg("Y", $rowx[1])) {$camp_lists .= "'$rowx[0]',";} + if (preg_match('/Y/', $rowx[1])) {$camp_lists .= "'$rowx[0]',";} } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace('/.$/i','',$camp_lists);; $filterSQL = $filtersql_list[$lead_filter_id]; $filterSQL = preg_replace("/\\\\/","",$filterSQL); - $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + $filterSQL = preg_replace('/^and|and$|^or|or$/i', '',$filterSQL); if (strlen($filterSQL)>4) {$fSQL = "and ($filterSQL)";} else @@ -9290,147 +9297,147 @@ if ($ADD==7111111) $script_name = $row[1]; $script_text = stripslashes($row[3]); - if (eregi("iframe src",$script_text)) + if (preg_match('/iframe src/i',$script_text)) { - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address2); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $RGfullname = eregi_replace(' ','+',$RGfullname); - $RGuser = eregi_replace(' ','+',$RGuser); - $RGlead_id = eregi_replace(' ','+',$RGlead_id); - $RGcampaign = eregi_replace(' ','+',$RGcampaign); - $RGphone_login = eregi_replace(' ','+',$RGphone_login); - $RGgroup = eregi_replace(' ','+',$RGgroup); - $RGchannel_group = eregi_replace(' ','+',$RGchannel_group); - $RGSQLdate = eregi_replace(' ','+',$RGSQLdate); - $RGepoch = eregi_replace(' ','+',$RGepoch); - $RGuniqueid = eregi_replace(' ','+',$RGuniqueid); - $RGcustomer_zap_channel = eregi_replace(' ','+',$RGcustomer_zap_channel); - $RGserver_ip = eregi_replace(' ','+',$RGserver_ip); - $RGSIPexten = eregi_replace(' ','+',$RGSIPexten); - $RGsession_id = eregi_replace(' ','+',$RGsession_id); - $RGdialed_number = eregi_replace(' ','+',$RGdialed_number); - $RGdialed_label = eregi_replace(' ','+',$RGdialed_label); - $RGrank = eregi_replace(' ','+',$RGrank); - $RGowner = eregi_replace(' ','+',$RGowner); - $RGcamp_script = eregi_replace(' ','+',$RGcamp_script); - $RGin_script = eregi_replace(' ','+',$RGin_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_description = eregi_replace(' ','+',$did_description); + $vendor_lead_code = preg_replace('/\s/i', '+',$vendor_lead_code); + $list_id = preg_replace('/\s/i', '+',$list_id); + $list_name = preg_replace('/\s/i', '+',$list_name); + $list_description = preg_replace('/\s/i', '+',$list_description); + $gmt_offset_now = preg_replace('/\s/i', '+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i', '+',$phone_code); + $phone_number = preg_replace('/\s/i', '+',$phone_number); + $title = preg_replace('/\s/i', '+',$title); + $first_name = preg_replace('/\s/i', '+',$first_name); + $middle_initial = preg_replace('/\s/i', '+',$middle_initial); + $last_name = preg_replace('/\s/i', '+',$last_name); + $address1 = preg_replace('/\s/i', '+',$address1); + $address2 = preg_replace('/\s/i', '+',$address2); + $address3 = preg_replace('/\s/i', '+',$address2); + $city = preg_replace('/\s/i', '+',$city); + $state = preg_replace('/\s/i', '+',$state); + $province = preg_replace('/\s/i', '+',$province); + $postal_code = preg_replace('/\s/i', '+',$postal_code); + $country_code = preg_replace('/\s/i', '+',$country_code); + $gender = preg_replace('/\s/i', '+',$gender); + $date_of_birth = preg_replace('/\s/i', '+',$date_of_birth); + $alt_phone = preg_replace('/\s/i', '+',$alt_phone); + $email = preg_replace('/\s/i', '+',$email); + $security_phrase = preg_replace('/\s/i', '+',$security_phrase); + $comments = preg_replace('/\s/i', '+',$comments); + $RGfullname = preg_replace('/\s/i', '+',$RGfullname); + $RGuser = preg_replace('/\s/i', '+',$RGuser); + $RGlead_id = preg_replace('/\s/i', '+',$RGlead_id); + $RGcampaign = preg_replace('/\s/i', '+',$RGcampaign); + $RGphone_login = preg_replace('/\s/i', '+',$RGphone_login); + $RGgroup = preg_replace('/\s/i', '+',$RGgroup); + $RGchannel_group = preg_replace('/\s/i', '+',$RGchannel_group); + $RGSQLdate = preg_replace('/\s/i', '+',$RGSQLdate); + $RGepoch = preg_replace('/\s/i', '+',$RGepoch); + $RGuniqueid = preg_replace('/\s/i', '+',$RGuniqueid); + $RGcustomer_zap_channel = preg_replace('/\s/i', '+',$RGcustomer_zap_channel); + $RGserver_ip = preg_replace('/\s/i', '+',$RGserver_ip); + $RGSIPexten = preg_replace('/\s/i', '+',$RGSIPexten); + $RGsession_id = preg_replace('/\s/i', '+',$RGsession_id); + $RGdialed_number = preg_replace('/\s/i', '+',$RGdialed_number); + $RGdialed_label = preg_replace('/\s/i', '+',$RGdialed_label); + $RGrank = preg_replace('/\s/i', '+',$RGrank); + $RGowner = preg_replace('/\s/i', '+',$RGowner); + $RGcamp_script = preg_replace('/\s/i', '+',$RGcamp_script); + $RGin_script = preg_replace('/\s/i', '+',$RGin_script); + $script_width = preg_replace('/\s/i', '+',$script_width); + $script_height = preg_replace('/\s/i', '+',$script_height); + $recording_filename = preg_replace('/\s/i', '+',$recording_filename); + $recording_id = preg_replace('/\s/i', '+',$recording_id); + $user_custom_one = preg_replace('/\s/i', '+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i', '+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i', '+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i', '+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i', '+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i', '+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i', '+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i', '+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i', '+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i', '+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i', '+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i', '+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i', '+',$preset_dtmf_b); + $did_description = preg_replace('/\s/i', '+',$did_description); } - $script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); - $script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); - $script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); - $script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); - $script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); - $script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); - $script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); - $script_text = eregi_replace('--A--title--B--',"$title",$script_text); - $script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); - $script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); - $script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); - $script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); - $script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); - $script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); - $script_text = eregi_replace('--A--city--B--',"$city",$script_text); - $script_text = eregi_replace('--A--state--B--',"$state",$script_text); - $script_text = eregi_replace('--A--province--B--',"$province",$script_text); - $script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); - $script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); - $script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); - $script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); - $script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); - $script_text = eregi_replace('--A--email--B--',"$email",$script_text); - $script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); - $script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); - $script_text = eregi_replace('--A--fullname--B--',"$RGfullname",$script_text); - $script_text = eregi_replace('--A--fronter--B--',"$RGuser",$script_text); - $script_text = eregi_replace('--A--user--B--',"$RGuser",$script_text); - $script_text = eregi_replace('--A--lead_id--B--',"$RGlead_id",$script_text); - $script_text = eregi_replace('--A--campaign--B--',"$RGcampaign",$script_text); - $script_text = eregi_replace('--A--phone_login--B--',"$RGphone_login",$script_text); - $script_text = eregi_replace('--A--group--B--',"$RGgroup",$script_text); - $script_text = eregi_replace('--A--channel_group--B--',"$RGchannel_group",$script_text); - $script_text = eregi_replace('--A--SQLdate--B--',"$RGSQLdate",$script_text); - $script_text = eregi_replace('--A--epoch--B--',"$RGepoch",$script_text); - $script_text = eregi_replace('--A--uniqueid--B--',"$RGuniqueid",$script_text); - $script_text = eregi_replace('--A--customer_zap_channel--B--',"$RGcustomer_zap_channel",$script_text); - $script_text = eregi_replace('--A--server_ip--B--',"$RGserver_ip",$script_text); - $script_text = eregi_replace('--A--SIPexten--B--',"$RGSIPexten",$script_text); - $script_text = eregi_replace('--A--session_id--B--',"$RGsession_id",$script_text); - $script_text = eregi_replace('--A--dialed_number--B--',"$RGdialed_number",$script_text); - $script_text = eregi_replace('--A--dialed_label--B--',"$RGdialed_label",$script_text); - $script_text = eregi_replace('--A--rank--B--',"$RGrank",$script_text); - $script_text = eregi_replace('--A--owner--B--',"$RGowner",$script_text); - $script_text = eregi_replace('--A--camp_script--B--',"$RGcamp_script",$script_text); - $script_text = eregi_replace('--A--in_script--B--',"$RGin_script",$script_text); - $script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); - $script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); - $script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); - $script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); - $script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); - $script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); - $script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); - $script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); - $script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); - $script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); - $script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); - $script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); - $script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); - $script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); - $script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); - $script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); - $script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); - $script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); - $script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); - $script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); - $script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); - $script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); - $script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); - $script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); - $script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); - $script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); - $script_text = eregi_replace('--A--user_group--B--',"$user_group",$script_text); - $script_text = eregi_replace("\n","
    ",$script_text); + $script_text = preg_replace('/\-\-A\-\-vendor_lead_code\-\-B\-\-/i', "$vendor_lead_code",$script_text); + $script_text = preg_replace('/\-\-A\-\-list_id\-\-B\-\-/i', "$list_id",$script_text); + $script_text = preg_replace('/\-\-A\-\-list_name\-\-B\-\-/i', "$list_name",$script_text); + $script_text = preg_replace('/\-\-A\-\-list_description\-\-B\-\-/i', "$list_description",$script_text); + $script_text = preg_replace('/\-\-A\-\-gmt_offset_now\-\-B\-\-/i', "$gmt_offset_now",$script_text); + $script_text = preg_replace('/\-\-A\-\-phone_code\-\-B\-\-/i', "$phone_code",$script_text); + $script_text = preg_replace('/\-\-A\-\-phone_number\-\-B\-\-/i', "$phone_number",$script_text); + $script_text = preg_replace('/\-\-A\-\-title\-\-B\-\-/i', "$title",$script_text); + $script_text = preg_replace('/\-\-A\-\-first_name\-\-B\-\-/i', "$first_name",$script_text); + $script_text = preg_replace('/\-\-A\-\-middle_initial\-\-B\-\-/i', "$middle_initial",$script_text); + $script_text = preg_replace('/\-\-A\-\-last_name\-\-B\-\-/i', "$last_name",$script_text); + $script_text = preg_replace('/\-\-A\-\-address1\-\-B\-\-/i', "$address1",$script_text); + $script_text = preg_replace('/\-\-A\-\-address2\-\-B\-\-/i', "$address2",$script_text); + $script_text = preg_replace('/\-\-A\-\-address3\-\-B\-\-/i', "$address3",$script_text); + $script_text = preg_replace('/\-\-A\-\-city\-\-B\-\-/i', "$city",$script_text); + $script_text = preg_replace('/\-\-A\-\-state\-\-B\-\-/i', "$state",$script_text); + $script_text = preg_replace('/\-\-A\-\-province\-\-B\-\-/i', "$province",$script_text); + $script_text = preg_replace('/\-\-A\-\-postal_code\-\-B\-\-/i', "$postal_code",$script_text); + $script_text = preg_replace('/\-\-A\-\-country_code\-\-B\-\-/i', "$country_code",$script_text); + $script_text = preg_replace('/\-\-A\-\-gender\-\-B\-\-/i', "$gender",$script_text); + $script_text = preg_replace('/\-\-A\-\-date_of_birth\-\-B\-\-/i', "$date_of_birth",$script_text); + $script_text = preg_replace('/\-\-A\-\-alt_phone\-\-B\-\-/i', "$alt_phone",$script_text); + $script_text = preg_replace('/\-\-A\-\-email\-\-B\-\-/i', "$email",$script_text); + $script_text = preg_replace('/\-\-A\-\-security_phrase\-\-B\-\-/i', "$security_phrase",$script_text); + $script_text = preg_replace('/\-\-A\-\-comments\-\-B\-\-/i', "$comments",$script_text); + $script_text = preg_replace('/\-\-A\-\-fullname\-\-B\-\-/i', "$RGfullname",$script_text); + $script_text = preg_replace('/\-\-A\-\-fronter\-\-B\-\-/i', "$RGuser",$script_text); + $script_text = preg_replace('/\-\-A\-\-user\-\-B\-\-/i', "$RGuser",$script_text); + $script_text = preg_replace('/\-\-A\-\-lead_id\-\-B\-\-/i', "$RGlead_id",$script_text); + $script_text = preg_replace('/\-\-A\-\-campaign\-\-B\-\-/i', "$RGcampaign",$script_text); + $script_text = preg_replace('/\-\-A\-\-phone_login\-\-B\-\-/i', "$RGphone_login",$script_text); + $script_text = preg_replace('/\-\-A\-\-group\-\-B\-\-/i', "$RGgroup",$script_text); + $script_text = preg_replace('/\-\-A\-\-channel_group\-\-B\-\-/i', "$RGchannel_group",$script_text); + $script_text = preg_replace('/\-\-A\-\-SQLdate\-\-B\-\-/i', "$RGSQLdate",$script_text); + $script_text = preg_replace('/\-\-A\-\-epoch\-\-B\-\-/i', "$RGepoch",$script_text); + $script_text = preg_replace('/\-\-A\-\-uniqueid\-\-B\-\-/i', "$RGuniqueid",$script_text); + $script_text = preg_replace('/\-\-A\-\-customer_zap_channel\-\-B\-\-/i', "$RGcustomer_zap_channel",$script_text); + $script_text = preg_replace('/\-\-A\-\-server_ip\-\-B\-\-/i', "$RGserver_ip",$script_text); + $script_text = preg_replace('/\-\-A\-\-SIPexten\-\-B\-\-/i', "$RGSIPexten",$script_text); + $script_text = preg_replace('/\-\-A\-\-session_id\-\-B\-\-/i', "$RGsession_id",$script_text); + $script_text = preg_replace('/\-\-A\-\-dialed_number\-\-B\-\-/i', "$RGdialed_number",$script_text); + $script_text = preg_replace('/\-\-A\-\-dialed_label\-\-B\-\-/i', "$RGdialed_label",$script_text); + $script_text = preg_replace('/\-\-A\-\-rank\-\-B\-\-/i', "$RGrank",$script_text); + $script_text = preg_replace('/\-\-A\-\-owner\-\-B\-\-/i', "$RGowner",$script_text); + $script_text = preg_replace('/\-\-A\-\-camp_script\-\-B\-\-/i', "$RGcamp_script",$script_text); + $script_text = preg_replace('/\-\-A\-\-in_script\-\-B\-\-/i', "$RGin_script",$script_text); + $script_text = preg_replace('/\-\-A\-\-script_width\-\-B\-\-/i', "$script_width",$script_text); + $script_text = preg_replace('/\-\-A\-\-script_height\-\-B\-\-/i', "$script_height",$script_text); + $script_text = preg_replace('/\-\-A\-\-recording_filename\-\-B\-\-/i', "$recording_filename",$script_text); + $script_text = preg_replace('/\-\-A\-\-recording_id\-\-B\-\-/i', "$recording_id",$script_text); + $script_text = preg_replace('/\-\-A\-\-user_custom_one\-\-B\-\-/i', "$user_custom_one",$script_text); + $script_text = preg_replace('/\-\-A\-\-user_custom_two\-\-B\-\-/i', "$user_custom_two",$script_text); + $script_text = preg_replace('/\-\-A\-\-user_custom_three\-\-B\-\-/i', "$user_custom_three",$script_text); + $script_text = preg_replace('/\-\-A\-\-user_custom_four\-\-B\-\-/i', "$user_custom_four",$script_text); + $script_text = preg_replace('/\-\-A\-\-user_custom_five\-\-B\-\-/i', "$user_custom_five",$script_text); + $script_text = preg_replace('/\-\-A\-\-preset_number_a\-\-B\-\-/i', "$preset_number_a",$script_text); + $script_text = preg_replace('/\-\-A\-\-preset_number_b\-\-B\-\-/i', "$preset_number_b",$script_text); + $script_text = preg_replace('/\-\-A\-\-preset_number_c\-\-B\-\-/i', "$preset_number_c",$script_text); + $script_text = preg_replace('/\-\-A\-\-preset_number_d\-\-B\-\-/i', "$preset_number_d",$script_text); + $script_text = preg_replace('/\-\-A\-\-preset_number_e\-\-B\-\-/i', "$preset_number_e",$script_text); + $script_text = preg_replace('/\-\-A\-\-preset_number_f\-\-B\-\-/i', "$preset_number_f",$script_text); + $script_text = preg_replace('/\-\-A\-\-preset_dtmf_a\-\-B\-\-/i', "$preset_dtmf_a",$script_text); + $script_text = preg_replace('/\-\-A\-\-preset_dtmf_b\-\-B\-\-/i', "$preset_dtmf_b",$script_text); + $script_text = preg_replace('/\-\-A\-\-did_id\-\-B\-\-/i', "$did_id",$script_text); + $script_text = preg_replace('/\-\-A\-\-did_extension\-\-B\-\-/i', "$RGdid_extension",$script_text); + $script_text = preg_replace('/\-\-A\-\-did_pattern\-\-B\-\-/i', "$did_pattern",$script_text); + $script_text = preg_replace('/\-\-A\-\-did_description\-\-B\-\-/i', "$RGdid_description",$script_text); + $script_text = preg_replace('/\-\-A\-\-closecallid\-\-B\-\-/i', "$closecallid",$script_text); + $script_text = preg_replace('/\-\-A\-\-xfercallid\-\-B\-\-/i', "$xfercallid",$script_text); + $script_text = preg_replace('/\-\-A\-\-agent_log_id\-\-B\-\-/i', "$agent_log_id",$script_text); + $script_text = preg_replace('/\-\-A\-\-entry_list_id\-\-B\-\-/i', "$entry_list_id",$script_text); + $script_text = preg_replace('/\-\-A\-\-call_id\-\-B\-\-/i', "$call_id",$script_text); + $script_text = preg_replace('/\-\-A\-\-user_group\-\-B\-\-/i', "$user_group",$script_text); + $script_text = preg_replace('/\n/i', "
    ",$script_text); echo ""; @@ -9491,16 +9498,16 @@ if ($ADD=="1") echo "
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#users-user_level$NWE\n"; echo "\n"; - echo "\n"; - echo "$NWB#vicidial_users-user_group$NWE\n"; + echo "\n"; + echo "\n"; + echo "$NWB#users-user_group$NWE\n"; echo "\n"; echo "
    User Number: Auto-Generated $NWB#vicidial_users-user$NWE
    User Number: Auto-Generated $NWB#users-user$NWE
    User Number: $NWB#vicidial_users-user$NWE
    User Number: $NWB#users-user$NWE
    Password: $NWB#vicidial_users-pass$NWE     Strength:
    Password: $NWB#users-pass$NWE     Strength:
    Full Name: $NWB#vicidial_users-full_name$NWE
    Full Name: $NWB#users-full_name$NWE
    User Level: $NWB#vicidial_users-user_level$NWE
    User Group:
    Phone Login: $NWB#vicidial_users-phone_login$NWE
    Phone Pass: $NWB#vicidial_users-phone_pass$NWE
    Phone Login: $NWB#users-phone_login$NWE
    Phone Pass: $NWB#users-phone_pass$NWE
    \n"; } @@ -9556,16 +9563,16 @@ if ($ADD=="1A") echo "
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; if ($LOGuser_level==9) {$levelMAX=10;} else {$levelMAX=$LOGuser_level;} @@ -9585,7 +9592,7 @@ if ($ADD=="1A") $o++; } echo "$Uusers_list"; - echo "$NWB#vicidial_users-user$NWE\n"; + echo "$NWB#users-user$NWE\n"; echo "\n"; echo "
    User Number: Auto-Generated $NWB#vicidial_users-user$NWE
    User Number: Auto-Generated $NWB#users-user$NWE
    User Number: $NWB#vicidial_users-user$NWE
    User Number: $NWB#users-user$NWE
    Password: $NWB#vicidial_users-pass$NWE     Strength:
    Password: $NWB#users-pass$NWE     Strength:
    Full Name: $NWB#vicidial_users-full_name$NWE
    Full Name: $NWB#users-full_name$NWE
    \n"; } @@ -9625,25 +9632,25 @@ if ($ADD==11) echo "
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "$NWB#campaigns-user_group$NWE\n"; + echo "\n"; + echo "\n"; + echo "\n"; if ($SSoutbound_autodial_active > 0) { - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "(0 = off)$NWB#campaigns-auto_dial_level$NWE\n"; } - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#campaigns-local_call_time$NWE\n"; if ($SSoutbound_autodial_active > 0) { - echo "\n"; + echo "\n"; } echo "\n"; + echo "$NWB#campaigns-campaign_script$NWE\n"; $eswHTML=''; $cfwHTML=''; if ($SSenable_second_webform > 0) {$eswHTML = '';} if ($SScustom_fields_enabled > 0) {$cfwHTML = '';} - echo "\n"; + echo "\n"; echo "\n"; echo "
    Campaign ID: Auto-Generated $NWB#vicidial_campaigns-campaign_id$NWE
    Campaign ID: Auto-Generated $NWB#campaigns-campaign_id$NWE
    Campaign ID: $NWB#vicidial_campaigns-campaign_id$NWE
    Campaign ID: $NWB#campaigns-campaign_id$NWE
    Campaign Name: $NWB#vicidial_campaigns-campaign_name$NWE
    Campaign Description: $NWB#vicidial_campaigns-campaign_description$NWE
    Campaign Name: $NWB#campaigns-campaign_name$NWE
    Campaign Description: $NWB#campaigns-campaign_description$NWE
    Admin User Group: $NWB#vicidial_campaigns-user_group$NWE
    Active: $NWB#vicidial_campaigns-active$NWE
    Park Music-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Web Form: $NWB#vicidial_campaigns-web_form_address$NWE
    Active: $NWB#campaigns-active$NWE
    Park Music-on-Hold: moh chooser $NWB#campaigns-park_ext$NWE
    Web Form: $NWB#campaigns-web_form_address$NWE
    Allow Closers: $NWB#vicidial_campaigns-allow_closers$NWE
    Minimum Hopper Level: $NWB#vicidial_campaigns-hopper_level$NWE
    Allow Closers: $NWB#campaigns-allow_closers$NWE
    Minimum Hopper Level: $NWB#campaigns-hopper_level$NWE
    Auto Dial Level: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
    Next Agent Call: $NWB#vicidial_campaigns-next_agent_call$NWE
    Next Agent Call: $NWB#campaigns-next_agent_call$NWE
    Local Call Time: $NWB#vicidial_campaigns-local_call_time$NWE
    Voicemail: $NWB#vicidial_campaigns-voicemail_ext$NWE
    Voicemail: $NWB#campaigns-voicemail_ext$NWE
    Script: $NWB#vicidial_campaigns-campaign_script$NWE
    Get Call Launch: $NWB#vicidial_campaigns-get_call_launch$NWE
    Get Call Launch: $NWB#campaigns-get_call_launch$NWE
    \n"; } @@ -9758,13 +9765,13 @@ if ($ADD==12) echo "
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#campaigns-campaign_id$NWE\n"; echo "\n"; echo "\n"; @@ -9822,14 +9829,14 @@ if ($ADD==111) echo "
    Campaign ID: Auto-Generated $NWB#vicidial_campaigns-campaign_id$NWE
    Campaign ID: Auto-Generated $NWB#campaigns-campaign_id$NWE
    Campaign ID: $NWB#vicidial_campaigns-campaign_id$NWE
    Campaign ID: $NWB#campaigns-campaign_id$NWE
    Campaign Name: $NWB#vicidial_campaigns-campaign_name$NWE
    Campaign Name: $NWB#campaigns-campaign_name$NWE
    Source Campaign: $NWB#vicidial_campaigns-campaign_id$NWE
    NOTE: Copying a campaign will copy all settings from the master campaign you select, but it will not copy a campaign-specific DNC list if there was one on the selected master campaign.
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#lists-campaign_id$NWE\n"; + echo "\n"; echo "\n"; echo "
    List ID: Auto-Generated $NWB#vicidial_lists-list_id$NWE
    List ID: Auto-Generated $NWB#lists-list_id$NWE
    List ID: (digits only)$NWB#vicidial_lists-list_id$NWE
    List ID: (digits only)$NWB#lists-list_id$NWE
    List Name: $NWB#vicidial_lists-list_name$NWE
    List Description: $NWB#vicidial_lists-list_description$NWE
    List Name: $NWB#lists-list_name$NWE
    List Description: $NWB#lists-list_description$NWE
    Campaign: $NWB#vicidial_lists-campaign_id$NWE
    Active: $NWB#vicidial_lists-active$NWE
    Active: $NWB#lists-active$NWE
    \n"; } @@ -9866,12 +9873,12 @@ if ($ADD==111) if ($ADD==121) { ### filter for DIGITS and NEWLINES - $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); + $phone_numbers = preg_replace('/[^X\n0-9]/', '',$phone_numbers); echo "\n"; - echo "\n"; + echo "\n"; if ($LOGdelete_from_dnc > 0) { echo "\n"; @@ -10033,7 +10040,7 @@ if ($ADD==121) if ($ADD==171) { ### filter for Letters DIGITS and NEWLINES - $phone_numbers = ereg_replace("[^\n0-9a-zA-Z]","",$phone_numbers); + $phone_numbers = preg_replace('/[^\n0-9a-zA-Z]/', '',$phone_numbers); echo "
    \n"; echo ""; - $campaigns_list = "\n"; + $campaigns_list = "\n"; $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where use_campaign_dnc IN('Y','AREACODE') $LOGallowed_campaignsSQL order by campaign_id;"; $rslt=mysql_query($stmt, $link); @@ -9892,10 +9899,10 @@ if ($ADD==121) $p=0; while ($p < $PNct) { - if ( (ereg('delete',$stage)) and ($LOGdelete_from_dnc > 0) ) + if ( (preg_match('/delete/',$stage)) and ($LOGdelete_from_dnc > 0) ) { ##### BEGIN DELETE FROM DNC ##### - if (ereg('SYSTEM_INTERNAL',$campaign_id)) + if (preg_match('/SYSTEM_INTERNAL/',$campaign_id)) { $stmt="SELECT count(*) from vicidial_dnc where phone_number='$PN[$p]';"; $rslt=mysql_query($stmt, $link); @@ -9911,7 +9918,7 @@ if ($ADD==121) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='LISTS', event_type='DELETE', record_id='$PN[$p]', event_code='ADMIN DELETE NUMBER FROM DNC LIST', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} @@ -9934,7 +9941,7 @@ if ($ADD==121) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='LISTS', event_type='DELETE', record_id='$PN[$p]', event_code='ADMIN DELETE NUMBER FROM CAMPAIGN DNC LIST $campaign_id', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} @@ -9946,7 +9953,7 @@ if ($ADD==121) else { ##### BEGIN ADD TO DNC ##### - if (ereg('SYSTEM_INTERNAL',$campaign_id)) + if (preg_match('/SYSTEM_INTERNAL/',$campaign_id)) { $stmt="SELECT count(*) from vicidial_dnc where phone_number='$PN[$p]';"; $rslt=mysql_query($stmt, $link); @@ -9962,7 +9969,7 @@ if ($ADD==121) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='LISTS', event_type='ADD', record_id='$PN[$p]', event_code='ADMIN ADD NUMBER TO DNC LIST', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} @@ -9985,7 +9992,7 @@ if ($ADD==121) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='LISTS', event_type='ADD', record_id='$PN[$p]', event_code='ADMIN ADD NUMBER TO CAMPAIGN DNC LIST $campaign_id', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} @@ -10007,7 +10014,7 @@ if ($ADD==121) echo "
    List:
    Phone Numbers:

    (one phone number per line only)
    $NWB#vicidial_list-dnc$NWE
    Phone Numbers:

    (one phone number per line only)
    $NWB#internal_list-dnc$NWE
    Add or Delete:
    \n"; - echo "\n"; + echo "\n"; if ($LOGdelete_from_dnc > 0) { echo "\n"; @@ -10163,35 +10170,35 @@ if ($ADD==1111) echo "
    \n"; echo ""; @@ -10057,7 +10064,7 @@ if ($ADD==171) $p=0; while ($p < $PNct) { - if ( (ereg('delete',$stage)) and ($LOGdelete_from_dnc > 0) ) + if ( (preg_match('/delete/',$stage)) and ($LOGdelete_from_dnc > 0) ) { $stmt="SELECT count(*) from vicidial_filter_phone_numbers where phone_number='$PN[$p]' and filter_phone_group_id='$filter_phone_group_id';"; $rslt=mysql_query($stmt, $link); @@ -10073,7 +10080,7 @@ if ($ADD==171) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='FILTERPHONEGROUPS', event_type='DELETE', record_id='$PN[$p]', event_code='ADMIN DELETE NUMBER FROM FILTER PHONE GROUP $filter_phone_group_id', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} @@ -10096,7 +10103,7 @@ if ($ADD==171) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='FILTERPHONEGROUPS', event_type='ADD', record_id='$PN[$p]', event_code='ADMIN ADD NUMBER TO FILTER PHONE GROUP $filter_phone_group_id', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} @@ -10116,7 +10123,7 @@ if ($ADD==171) echo "
    Filter Phone Group:
    Phone Numbers:

    (one phone number per line only)
    $NWB#vicidial_list-dnc$NWE
    Phone Numbers:

    (one phone number per line only)
    $NWB#internal_list-dnc$NWE
    Add or Delete:
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - 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 "$NWB#inbound_groups-user_group$NWE\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-ingroup_script$NWE\n"; $eswHTML=''; $cfwHTML=''; if ($SSenable_second_webform > 0) {$eswHTML = '';} if ($SScustom_fields_enabled > 0) {$cfwHTML = '';} - echo "\n"; + echo "\n"; if ($SSallow_emails>0) { - echo "\n"; + echo "\n"; } else {echo "\n";} @@ -10232,32 +10239,32 @@ if ($ADD==1811) echo "
    Group ID: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    Group ID: Auto-Generated $NWB#inbound_groups-group_id$NWE
    Group ID: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Group ID: (no spaces)$NWB#inbound_groups-group_id$NWE
    Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
    Group Color: $NWB#vicidial_inbound_groups-group_color$NWE
    Active: $NWB#vicidial_inbound_groups-active$NWE
    Group Name: $NWB#inbound_groups-group_name$NWE
    Group Color: $NWB#inbound_groups-group_color$NWE
    Active: $NWB#inbound_groups-active$NWE
    Admin User Group: $NWB#vicidial_inbound_groups-user_group$NWE
    Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Voicemail: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Next Agent Call: $NWB#vicidial_inbound_groups-next_agent_call$NWE
    Fronter Display: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Web Form: $NWB#inbound_groups-web_form_address$NWE
    Voicemail: $NWB#inbound_groups-voicemail_ext$NWE
    Next Agent Call: $NWB#inbound_groups-next_agent_call$NWE
    Fronter Display: $NWB#inbound_groups-fronter_display$NWE
    Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
    Get Call Launch: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    Get Call Launch: $NWB#inbound_groups-get_call_launch$NWE
    Group Handling: $NWB#vicidial_inbound_groups-group_handling$NWE
    Group Handling: $NWB#inbound_groups-group_handling$NWE
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - 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 "$NWB#inbound_groups-user_group$NWE\n"; + echo "\n"; + # echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-ingroup_script$NWE\n"; $eswHTML=''; $cfwHTML=''; if ($SSenable_second_webform > 0) {$eswHTML = '';} if ($SScustom_fields_enabled > 0) {$cfwHTML = '';} - echo "\n"; + echo "\n"; echo "\n"; echo "
    Group ID: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    Group ID: Auto-Generated $NWB#inbound_groups-group_id$NWE
    Group ID: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Group ID: (no spaces)$NWB#inbound_groups-group_id$NWE
    Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
    Group Color: $NWB#vicidial_inbound_groups-group_color$NWE
    Active: $NWB#vicidial_inbound_groups-active$NWE
    Group Name: $NWB#inbound_groups-group_name$NWE
    Group Color: $NWB#inbound_groups-group_color$NWE
    Active: $NWB#inbound_groups-active$NWE
    Admin User Group: $NWB#vicidial_inbound_groups-user_group$NWE
    Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Voicemail: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Next Agent Email: $NWB#vicidial_inbound_groups-next_agent_call$NWE
    Fronter Display: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Web Form: $NWB#inbound_groups-web_form_address$NWE
    Voicemail: $NWB#inbound_groups-voicemail_ext$NWE
    Next Agent Email: $NWB#inbound_groups-next_agent_call$NWE
    Fronter Display: $NWB#inbound_groups-fronter_display$NWE
    Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
    Get Call Launch: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    Get Call Launch: $NWB#inbound_groups-get_call_launch$NWE
    \n"; } @@ -10296,13 +10303,13 @@ if ($ADD==1211) echo "
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-group_id$NWE\n"; echo "\n"; echo "
    Group ID: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    Group ID: Auto-Generated $NWB#inbound_groups-group_id$NWE
    Group ID: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Group ID: (no spaces)$NWB#inbound_groups-group_id$NWE
    Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
    Group Name: $NWB#inbound_groups-group_name$NWE
    Source Group ID: $NWB#vicidial_inbound_groups-group_id$NWE
    \n"; @@ -10358,13 +10365,13 @@ if ($ADD==1911) echo "
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-group_id$NWE\n"; echo "\n"; echo "
    Email Group ID: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    Email Group ID: Auto-Generated $NWB#inbound_groups-group_id$NWE
    Email Group ID: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Email Group ID: (no spaces)$NWB#inbound_groups-group_id$NWE
    Email Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
    Email Group Name: $NWB#inbound_groups-group_name$NWE
    Source Email Group ID: $NWB#vicidial_inbound_groups-group_id$NWE
    \n"; @@ -10407,12 +10414,12 @@ if ($ADD==1311) echo "
    ADD A NEW DID
    \n"; echo "\n"; echo "
    \n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_dids-user_group$NWE\n"; echo "\n"; echo "
    DID Extension: (no spaces or dashes)$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Description: $NWB#vicidial_inbound_dids-did_description$NWE
    DID Extension: (no spaces or dashes)$NWB#inbound_dids-did_pattern$NWE
    DID Description: $NWB#inbound_dids-did_description$NWE
    Admin User Group: $NWB#vicidial_inbound_dids-user_group$NWE
    \n"; } @@ -10438,8 +10445,8 @@ if ($ADD==1411) echo "
    COPY DID\n"; echo "\n"; echo "
    \n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_dids-did_pattern$NWE\n"; echo "\n"; echo "
    DID Extension: (no spaces or dashes)$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Description: $NWB#vicidial_inbound_dids-did_description$NWE
    DID Extension: (no spaces or dashes)$NWB#inbound_dids-did_pattern$NWE
    DID Description: $NWB#inbound_dids-did_description$NWE
    Source DID: $NWB#vicidial_inbound_dids-did_pattern$NWE
    \n"; @@ -10496,17 +10503,17 @@ if ($ADD==1511) echo "
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#call_menu-user_group$NWE\n"; echo "\n"; echo "
    Menu ID: Auto-Generated $NWB#vicidial_call_menu-menu_id$NWE
    Menu ID: Auto-Generated $NWB#call_menu-menu_id$NWE
    Menu ID: (no spaces or special characters)$NWB#vicidial_call_menu-menu_id$NWE
    Menu ID: (no spaces or special characters)$NWB#call_menu-menu_id$NWE
    Menu Name: $NWB#vicidial_call_menu-menu_name$NWE
    Menu Name: $NWB#call_menu-menu_name$NWE
    Admin User Group: $NWB#vicidial_call_menu-user_group$NWE
    \n"; } @@ -10545,13 +10552,13 @@ if ($ADD==1611) echo "
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#call_menu-menu_id$NWE\n"; echo "\n"; echo "
    Menu ID: Auto-Generated $NWB#vicidial_call_menu-menu_id$NWE
    Menu ID: Auto-Generated $NWB#call_menu-menu_id$NWE
    Menu ID: (no spaces or special characters)$NWB#vicidial_call_menu-menu_id$NWE
    Menu ID: (no spaces or special characters)$NWB#call_menu-menu_id$NWE
    Menu Name: $NWB#vicidial_call_menu-menu_name$NWE
    Menu Name: $NWB#call_menu-menu_name$NWE
    Source Menu: $NWB#vicidial_call_menu-menu_id$NWE
    \n"; @@ -10595,13 +10602,13 @@ if ($ADD==1711) echo "
    Add Filter Phone Group\n"; echo "\n"; echo "
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#filter_phone_groups-user_group$NWE\n"; echo "\n"; echo "
    Filter Phone Group ID: (no spaces or special characters)$NWB#vicidial_filter_phone_groups-filter_phone_group_id$NWE
    Filter Phone Group Name: $NWB#vicidial_filter_phone_groups-filter_phone_group_name$NWE
    Filter Phone Group Description: $NWB#vicidial_filter_phone_groups-filter_phone_group_description$NWE
    Filter Phone Group ID: (no spaces or special characters)$NWB#filter_phone_groups-filter_phone_group_id$NWE
    Filter Phone Group Name: $NWB#filter_phone_groups-filter_phone_group_name$NWE
    Filter Phone Group Description: $NWB#filter_phone_groups-filter_phone_group_description$NWE
    Admin User Group: $NWB#vicidial_filter_phone_groups-user_group$NWE
    \n"; } @@ -10627,19 +10634,19 @@ if ($ADD==11111) echo "
    ADD NEW REMOTE AGENTS\n"; echo "\n"; echo "
    \n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "$NWB#remote_agents-server_ip$NWE\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#remote_agents-campaign_id$NWE\n"; echo "\n"; + echo "$NWB#remote_agents-closer_campaigns$NWE\n"; echo "\n"; echo "
    User ID Start: (numbers only, incremented, must be an existing vicidial user)$NWB#vicidial_remote_agents-user_start$NWE
    Number of Lines: (numbers only)$NWB#vicidial_remote_agents-number_of_lines$NWE
    User ID Start: (numbers only, incremented, must be an existing vicidial user)$NWB#remote_agents-user_start$NWE
    Number of Lines: (numbers only)$NWB#remote_agents-number_of_lines$NWE
    Server IP: $NWB#vicidial_remote_agents-server_ip$NWE
    External Extension: (dial plan number dialed to reach agents)$NWB#vicidial_remote_agents-conf_exten$NWE
    Status: $NWB#vicidial_remote_agents-status$NWE
    External Extension: (dial plan number dialed to reach agents)$NWB#remote_agents-conf_exten$NWE
    Status: $NWB#remote_agents-status$NWE
    Campaign: $NWB#vicidial_remote_agents-campaign_id$NWE
    Inbound Groups: \n"; echo "$groups_list"; - echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
    \n"; echo "NOTE: It can take up to 30 seconds for changes submitted on this screen to go live\n"; @@ -10666,8 +10673,8 @@ if ($ADD==12111) echo "
    Add Extension Group Entry\n"; echo "\n"; echo "
    \n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo " $NWB#extension_groups-rank$NWE\n"; + echo "\n"; echo "\n"; echo "
    Extension Group: (no spaces)$NWB#vicidial_extension_groups-extension_group_id$NWE
    Extension: (numbers only)$NWB#vicidial_extension_groups-extension$NWE
    Extension Group: (no spaces)$NWB#extension_groups-extension_group_id$NWE
    Extension: (numbers only)$NWB#extension_groups-extension$NWE
    Rank: $NWB#vicidial_extension_groups-rank$NWE
    Campaigns Groups: (pipe-delimited list)$NWB#vicidial_extension_groups-extension$NWE
    Campaigns Groups: (pipe-delimited list)$NWB#extension_groups-extension$NWE
    \n"; } @@ -10719,13 +10726,13 @@ if ($ADD==111111) echo "
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; echo "\n"; echo "
    Group: Auto-Generated $NWB#vicidial_user_groups-user_group$NWE
    Group: Auto-Generated $NWB#user_groups-user_group$NWE
    Group: (no spaces or punctuation)$NWB#vicidial_user_groups-user_group$NWE
    Group: (no spaces or punctuation)$NWB#user_groups-user_group$NWE
    Description: (description of group)$NWB#vicidial_user_groups-group_name$NWE
    Description: (description of group)$NWB#user_groups-group_name$NWE
    \n"; } @@ -10765,19 +10772,19 @@ if ($ADD==1111111) echo "
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#scripts-user_group$NWE\n"; echo "\n"; + echo " $NWB#scripts-script_text$NWE\n"; echo "\n"; echo "
    Script ID: Auto-Generated $NWB#vicidial_scripts-script_id$NWE
    Script ID: Auto-Generated $NWB#scripts-script_id$NWE
    Script ID: (no spaces or punctuation)$NWB#vicidial_scripts-script_id$NWE
    Script ID: (no spaces or punctuation)$NWB#scripts-script_id$NWE
    Script Name: (title of the script)$NWB#vicidial_scripts-script_name$NWE
    Script Comments: $NWB#vicidial_scripts-script_comments$NWE
    Active: $NWB#vicidial_scripts-active$NWE
    Script Name: (title of the script)$NWB#scripts-script_name$NWE
    Script Comments: $NWB#scripts-script_comments$NWE
    Active: $NWB#scripts-active$NWE
    Admin User Group: $NWB#vicidial_scripts-user_group$NWE
    Script Text: "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field - echo " $NWB#vicidial_scripts-script_text$NWE
    \n"; } @@ -10896,19 +10903,19 @@ if ($ADD==11111111) echo "
    \n"; if ($voi_count > 0) { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#lead_filters-user_group$NWE\n"; + echo "\n"; echo "\n"; echo "
    Filter ID: Auto-Generated $NWB#vicidial_lead_filters-lead_filter_id$NWE
    Filter ID: Auto-Generated $NWB#lead_filters-lead_filter_id$NWE
    Filter ID: (no spaces or punctuation)$NWB#vicidial_lead_filters-lead_filter_id$NWE
    Filter ID: (no spaces or punctuation)$NWB#lead_filters-lead_filter_id$NWE
    Filter Name: (short description of the filter)$NWB#vicidial_lead_filters-lead_filter_name$NWE
    Filter Comments: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
    Filter Name: (short description of the filter)$NWB#lead_filters-lead_filter_name$NWE
    Filter Comments: $NWB#lead_filters-lead_filter_comments$NWE
    Admin User Group: $NWB#vicidial_lead_filters-user_group$NWE
    Filter SQL: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
    Filter SQL: $NWB#lead_filters-lead_filter_sql$NWE
    \n"; } @@ -10934,13 +10941,13 @@ if ($ADD==111111111) echo "
    ADD NEW CALL TIME\n"; echo "\n"; echo "
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#call_times-user_group$NWE\n"; echo "\n"; echo "\n"; @@ -10968,14 +10975,14 @@ if ($ADD==1111111111) echo "
    ADD NEW STATE CALL TIME\n"; echo "\n"; echo "
    Call Time ID: (no spaces or punctuation)$NWB#vicidial_call_times-call_time_id$NWE
    Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
    Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
    Call Time ID: (no spaces or punctuation)$NWB#call_times-call_time_id$NWE
    Call Time Name: (short description of the call time)$NWB#call_times-call_time_name$NWE
    Call Time Comments: $NWB#call_times-call_time_comments$NWE
    Admin User Group: $NWB#vicidial_call_times-user_group$NWE
    Day and time options will appear once you have created the Call Time Definition
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#call_times-user_group$NWE\n"; echo "\n"; echo "\n"; @@ -11003,11 +11010,11 @@ if ($ADD==1211111111) echo "
    ADD NEW STATE CALL TIME\n"; echo "\n"; echo "
    State Call Time ID: (no spaces or punctuation)$NWB#vicidial_call_times-call_time_id$NWE
    State Call Time State: (no spaces or punctuation)$NWB#vicidial_call_times-state_call_time_state$NWE
    State Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
    State Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
    State Call Time ID: (no spaces or punctuation)$NWB#call_times-call_time_id$NWE
    State Call Time State: (no spaces or punctuation)$NWB#call_times-state_call_time_state$NWE
    State Call Time Name: (short description of the call time)$NWB#call_times-call_time_name$NWE
    State Call Time Comments: $NWB#call_times-call_time_comments$NWE
    Admin User Group: $NWB#vicidial_call_times-user_group$NWE
    Day and time options will appear once you have created the Call Time Definition
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; - echo "\n"; if($audit_comments=='1') { - echo "\n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#lists-agent_script_override$NWE\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#lists-drop_inbound_group_override$NWE\n"; - echo "\n"; + echo "\n"; if ($SSenable_second_webform > 0) { - 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"; @@ -25963,7 +25980,7 @@ if ($ADD==311) $rowx=mysql_fetch_row($rslt); $filterSQL = $rowx[0]; $filterSQL = preg_replace("/\\\\/","",$filterSQL); - $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + $filterSQL = preg_replace('/^and|and$|^or|or$/i', '',$filterSQL); if (strlen($filterSQL)>4) {$fSQL = "and ($filterSQL)";} else @@ -26019,7 +26036,7 @@ if ($ADD==311) { while (list($dispo,) = each($lead_list[$since_reset])) { - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -26133,7 +26150,7 @@ if ($ADD==311) if ($tzone >= 0) {$DISPtzone = "$plus$tzone";} else {$DISPtzone = "$tzone";} - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -26205,7 +26222,7 @@ if ($ADD==311) { while (list($owner,) = each($lead_list[$since_reset])) { - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -26271,7 +26288,7 @@ if ($ADD==311) { while (list($owner,) = each($lead_list[$since_reset])) { - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -26338,7 +26355,7 @@ if ($ADD==311) { while (list($rank,) = each($lead_list[$since_reset])) { - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -26402,7 +26419,7 @@ if ($ADD==311) $first = $all_called_first; while ($first <= $all_called_last) { - if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + if (preg_match('/1$|3$|5$|7$|9$/i', $first)) {$AB='bgcolor="#AFEEEE"';} else{$AB='bgcolor="#E0FFFF"';} if ($first >= 100) {$Fplus='+';} else {$Fplus='';} @@ -26416,7 +26433,7 @@ if ($ADD==311) while ($statuses_called_to_print > $sts) { $Pstatus = $status[$sts]; - if (eregi("1$|3$|5$|7$|9$", $sts)) + if (preg_match("/1$|3$|5$|7$|9$/i", $sts)) {$bgcolor='bgcolor="#B9CBFD"'; $AB='bgcolor="#9BB9FB"';} else {$bgcolor='bgcolor="#9BB9FB"'; $AB='bgcolor="#B9CBFD"';} @@ -26427,14 +26444,14 @@ if ($ADD==311) $first = $all_called_first; while ($first <= $all_called_last) { - if (eregi("1$|3$|5$|7$|9$", $sts)) + if (preg_match("/1$|3$|5$|7$|9$/i", $sts)) { - if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#9BB9FB"';} + if (preg_match('/1$|3$|5$|7$|9$/i', $first)) {$AB='bgcolor="#9BB9FB"';} else{$AB='bgcolor="#B9CBFD"';} } else { - if (eregi("0$|2$|4$|6$|8$", $first)) {$AB='bgcolor="#9BB9FB"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $first)) {$AB='bgcolor="#9BB9FB"';} else{$AB='bgcolor="#B9CBFD"';} } @@ -26463,7 +26480,7 @@ if ($ADD==311) $first = $all_called_first; while ($first <= $all_called_last) { - if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + if (preg_match('/1$|3$|5$|7$|9$/i', $first)) {$AB='bgcolor="#AFEEEE"';} else{$AB='bgcolor="#E0FFFF"';} echo ""; $first++; @@ -26773,11 +26790,11 @@ if ($ADD==3111) echo "\n"; echo "\n"; echo "
    Holiday ID: (no spaces or punctuation)$NWB#vicidial_call_times-holiday_id$NWE
    Holiday Name: (short description of the holiday)$NWB#vicidial_call_times-holiday_name$NWE
    Holiday Comments: $NWB#vicidial_call_times-holiday_comments$NWE
    Holiday ID: (no spaces or punctuation)$NWB#call_times-holiday_id$NWE
    Holiday Name: (short description of the holiday)$NWB#call_times-holiday_name$NWE
    Holiday Comments: $NWB#call_times-holiday_comments$NWE
    Holiday Date: $NWB#vicidial_call_times-holiday_date$NWE\n"; + echo "
    Holiday Date: $NWB#call_times-holiday_date$NWE\n"; echo " $NWB#vicidial_lists-expiration_date$NWE \n"; + echo " $NWB#lists-expiration_date$NWE \n"; if ($expiration_dateINT < $EXPtestdate) { if ($active == 'Y') @@ -25893,45 +25910,45 @@ if ($ADD==311) echo "
    Audit Comments: $NWB#vicidial_lists-audit_comments$NWE
    Audit Comments: $NWB#lists-audit_comments$NWE
    Audit Comments: $NWB#vicidial_lists-audit_comments$NWE
    Audit Comments: $NWB#lists-audit_comments$NWE
    List Change Date: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
    List Last Call Date: $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
    List Change Date: $list_changedate   $NWB#lists-list_changedate$NWE
    List Last Call Date: $list_lastcalldate   $NWB#lists-list_lastcalldate$NWE
    Agent Script Override: $NWB#vicidial_lists-agent_script_override$NWE
    Campaign CID Override: $NWB#vicidial_lists-campaign_cid_override$NWE
    Campaign CID Override: $NWB#lists-campaign_cid_override$NWE
    Answering Machine Message Override: audio chooser $NWB#vicidial_lists-am_message_exten_override$NWE
    Answering Machine Message Override: audio chooser $NWB#lists-am_message_exten_override$NWE
    Drop Inbound Group Override: $NWB#vicidial_lists-drop_inbound_group_override$NWE
    Web Form: $NWB#vicidial_lists-web_form_address$NWE
    Web Form: $NWB#lists-web_form_address$NWE
    Web Form Two: $NWB#vicidial_lists-web_form_address$NWE
    Web Form Two: $NWB#lists-web_form_address$NWE
    Transfer-Conf Number 1 Override: $NWB#vicidial_lists-xferconf_a_dtmf$NWE
    Transfer-Conf Number 1 Override: $NWB#lists-xferconf_a_dtmf$NWE
    Transfer-Conf Number 2 Override: $NWB#vicidial_lists-xferconf_a_dtmf$NWE
    Transfer-Conf Number 2 Override: $NWB#lists-xferconf_a_dtmf$NWE
    Transfer-Conf Number 3 Override: $NWB#vicidial_lists-xferconf_a_dtmf$NWE
    Transfer-Conf Number 3 Override: $NWB#lists-xferconf_a_dtmf$NWE
    Transfer-Conf Number 4 Override: $NWB#vicidial_lists-xferconf_a_dtmf$NWE
    Transfer-Conf Number 4 Override: $NWB#lists-xferconf_a_dtmf$NWE
    Transfer-Conf Number 5 Override: $NWB#vicidial_lists-xferconf_a_dtmf$NWE
    Transfer-Conf Number 5 Override: $NWB#lists-xferconf_a_dtmf$NWE
    Inventory Report: $NWB#vicidial_lists-inventory_report$NWE
    Inventory Report: $NWB#lists-inventory_report$NWE
    Time Zone Setting: $NWB#vicidial_lists-time_zone_setting$NWE
    Time Zone Setting: $NWB#lists-time_zone_setting$NWE
    $all_called_count[$first]
    \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 "$NWB#inbound_groups-user_group$NWE\n"; + echo "\n"; if ($SSenable_second_webform > 0) { - echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; echo "\n"; + echo " $NWB#inbound_groups-queue_priority$NWE\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-ingroup_script$NWE\n"; - echo "\n"; + echo "\n"; $eswHTML=''; $cfwHTML=''; if ($SSenable_second_webform > 0) {$eswHTML = '';} if ($SScustom_fields_enabled > 0) {$cfwHTML = '';} - 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 "\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-drop_inbound_group$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-call_time_id$NWE\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 "$NWB#inbound_groups-afterhours_xfer_group$NWE\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 "\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 "$NWB#inbound_groups-wait_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-wait_time_option_xfer_group$NWE\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 "\n"; + echo "$NWB#inbound_groups-hold_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-hold_time_option_xfer_group$NWE\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 "$NWB#inbound_groups-default_xfer_group$NWE\n"; ##### get groups_alias listings for dynamic default group alias pulldown list menu $stmt="SELECT group_alias_id,group_alias_name from groups_alias where active='Y' $LOGadmin_viewable_groupsSQL order by group_alias_id;"; @@ -27104,37 +27121,37 @@ if ($ADD==3111) echo "\n"; + echo "$NWB#inbound_groups-default_group_alias$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-hold_recall_xfer_group$NWE\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 "\n"; echo "\n"; @@ -27180,7 +27197,7 @@ if ($ADD==3111) while ($Cstatuses_to_print > $o) { $rowx=mysql_fetch_row($rslt); - if (!ereg("\"$rowx[0]\"",$qc_statuses_list)) + if (!preg_match("/\"$rowx[0]\"/",$qc_statuses_list)) { $qc_statuses_list .= "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-qc_script$NWE\n"; echo "\n"; + echo "$NWB#inbound_groups-qc_shift_id$NWE\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; } @@ -27304,7 +27321,7 @@ if ($ADD==3111) { ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmtDlog|"; - $SQL_log = ereg_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='INGROUPS', event_type='MODIFY', record_id='$group_id', event_code='USER INGROUP VIGA ADD', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; if ($DB) {echo "|$stmt|\n";} @@ -27333,9 +27350,9 @@ if ($ADD==3111) elseif (isset($_POST["$rank_field"])) {$ARIG_ranked=$_POST["$rank_field"];} if (isset($_GET["$grade_field"])) {$ARIG_graded=$_GET["$grade_field"];} elseif (isset($_POST["$grade_field"])) {$ARIG_graded=$_POST["$grade_field"];} - $ARIG_checked = ereg_replace("[^A-Z]","",$ARIG_checked); - $ARIG_ranked = ereg_replace("[^-0-9]","",$ARIG_ranked); - $ARIG_graded = ereg_replace("[^-0-9]","",$ARIG_graded); + $ARIG_checked = preg_replace('/[^A-Z]/','',$ARIG_checked); + $ARIG_ranked = preg_replace('/[^-0-9]/','',$ARIG_ranked); + $ARIG_graded = preg_replace('/[^-0-9]/','',$ARIG_graded); $stmtA=''; $stmtB=''; @@ -27380,7 +27397,7 @@ if ($ADD==3111) { ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmtA|$stmtB|$stmtC|"; - $SQL_log = ereg_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='USERS', event_type='MODIFY', record_id='$ARIG_user[$o]', event_code='USER INGROUP SETTINGS', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; if ($DB) {echo "|$stmt|\n";} @@ -27416,7 +27433,7 @@ if ($ADD==3111) { $o++; - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -27790,11 +27807,11 @@ if ($ADD==3811) echo "\n"; echo "\n"; echo "
    Group ID: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
    Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
    Group Color: $NWB#vicidial_inbound_groups-group_color$NWE
    Active: $NWB#vicidial_inbound_groups-active$NWE
    In-Group Calldate: $group_calldate$NWB#vicidial_inbound_groups-group_calldate$NWE
    Group ID: $row[0]$NWB#inbound_groups-group_id$NWE
    Group Name: $NWB#inbound_groups-group_name$NWE
    Group Color: $NWB#inbound_groups-group_color$NWE
    Active: $NWB#inbound_groups-active$NWE
    In-Group Calldate: $group_calldate$NWB#inbound_groups-group_calldate$NWE
    \n"; horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1,'',''); @@ -26786,13 +26803,13 @@ if ($ADD==3111) echo "
    Admin User Group: $NWB#vicidial_inbound_groups-user_group$NWE
    Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Web Form: $NWB#inbound_groups-web_form_address$NWE
    Web Form Two: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Web Form Two: $NWB#inbound_groups-web_form_address$NWE
    Next Agent Call: $NWB#vicidial_inbound_groups-next_agent_call$NWE
    Next Agent Call: $NWB#inbound_groups-next_agent_call$NWE
    Queue Priority: $NWB#vicidial_inbound_groups-queue_priority$NWE
    On-Hook Ring Time: $NWB#vicidial_inbound_groups-on_hook_ring_time$NWE
    On-Hook Ring Time: $NWB#inbound_groups-on_hook_ring_time$NWE
    On-Hook CID: $NWB#vicidial_inbound_groups-on_hook_cid$NWE
    On-Hook CID: $NWB#inbound_groups-on_hook_cid$NWE
    Fronter Display: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Fronter Display: $NWB#inbound_groups-fronter_display$NWE
    Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
    Ignore List Script Override: $NWB#vicidial_inbound_groups-ignore_list_script_override$NWE
    Ignore List Script Override: $NWB#inbound_groups-ignore_list_script_override$NWE
    Get Call Launch: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    Get Call Launch: $NWB#inbound_groups-get_call_launch$NWE
    Transfer-Conf DTMF 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf DTMF 1: $NWB#inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 1: $NWB#inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf DTMF 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf DTMF 2: $NWB#inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 2: $NWB#inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 3: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 3: $NWB#inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 4: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 4: $NWB#inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 5: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 5: $NWB#inbound_groups-xferconf_a_dtmf$NWE
    Timer Action: $NWB#vicidial_inbound_groups-timer_action$NWE
    Timer Action: $NWB#inbound_groups-timer_action$NWE
    Timer Action Message: $NWB#vicidial_inbound_groups-timer_action_message$NWE
    Timer Action Message: $NWB#inbound_groups-timer_action_message$NWE
    Timer Action Seconds: $NWB#vicidial_inbound_groups-timer_action_seconds$NWE
    Timer Action Seconds: $NWB#inbound_groups-timer_action_seconds$NWE
    Timer Action Destination: $NWB#vicidial_inbound_groups-timer_action_destination$NWE
    Timer Action Destination: $NWB#inbound_groups-timer_action_destination$NWE
    Drop Call Seconds: $NWB#vicidial_inbound_groups-drop_call_seconds$NWE
    Drop Call Seconds: $NWB#inbound_groups-drop_call_seconds$NWE
    Drop Action: $NWB#vicidial_inbound_groups-drop_action$NWE
    Drop Action: $NWB#inbound_groups-drop_action$NWE
    Drop Exten: $NWB#vicidial_inbound_groups-drop_exten$NWE
    Drop Exten: $NWB#inbound_groups-drop_exten$NWE
    Voicemail: voicemail chooser$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Voicemail: voicemail chooser$NWB#inbound_groups-voicemail_ext$NWE
    Drop Transfer Group: $NWB#vicidial_inbound_groups-drop_inbound_group$NWE
    Drop Call Menu:$NWB#vicidial_inbound_groups-drop_callmenu$NWE
    Drop Call Menu:$NWB#inbound_groups-drop_callmenu$NWE
    Call Time: $NWB#vicidial_inbound_groups-call_time_id$NWE
    \n"; $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; @@ -26887,25 +26904,25 @@ if ($ADD==3111) {echo "Call time not found!: $call_time_id\n";} echo "
    Action Transfer CID: $NWB#vicidial_inbound_groups-action_xfer_cid$NWE
    Action Transfer CID: $NWB#inbound_groups-action_xfer_cid$NWE
    After Hours Action: $NWB#vicidial_inbound_groups-after_hours_action$NWE
    After Hours Action: $NWB#inbound_groups-after_hours_action$NWE
    After Hours Message Filename: audio chooser $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    After Hours Message Filename: audio chooser $NWB#inbound_groups-after_hours_message_filename$NWE
    After Hours Extension: $NWB#vicidial_inbound_groups-after_hours_exten$NWE
    After Hours Extension: $NWB#inbound_groups-after_hours_exten$NWE
    After Hours Voicemail: voicemail chooser$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    After Hours Voicemail: voicemail chooser$NWB#inbound_groups-after_hours_voicemail$NWE
    After Hours Transfer Group: $NWB#vicidial_inbound_groups-afterhours_xfer_group$NWE
    After Hours Call Menu:$NWB#vicidial_inbound_groups-after_hours_callmenu$NWE
    After Hours Call Menu:$NWB#inbound_groups-after_hours_callmenu$NWE
    No Agents No Queueing: $NWB#vicidial_inbound_groups-no_agent_no_queue$NWE
    No Agents No Queueing: $NWB#inbound_groups-no_agent_no_queue$NWE
    No Agent No Queue Action: $NWB#vicidial_inbound_groups-no_agent_no_queue$NWE\n"; + echo "
    No Agent No Queue Action: $NWB#inbound_groups-no_agent_no_queue$NWE\n"; echo "
    "; echo "\n"; @@ -26977,109 +26994,109 @@ if ($ADD==3111) echo "
     
    Max Calls Method: $NWB#vicidial_inbound_groups-max_calls_method$NWE
    Max Calls Method: $NWB#inbound_groups-max_calls_method$NWE
    Max Calls Count: $NWB#vicidial_inbound_groups-max_calls_count$NWE
    Max Calls Count: $NWB#inbound_groups-max_calls_count$NWE
    Max Calls Action: $NWB#vicidial_inbound_groups-max_calls_action$NWE
    Max Calls Action: $NWB#inbound_groups-max_calls_action$NWE
    Welcome Message Filename: audio chooser $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Welcome Message Filename: audio chooser $NWB#inbound_groups-welcome_message_filename$NWE
    Play Welcome Message: $NWB#vicidial_inbound_groups-play_welcome_message$NWE
    Play Welcome Message: $NWB#inbound_groups-play_welcome_message$NWE
    Music On Hold Context: moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    Music On Hold Context: moh chooser $NWB#inbound_groups-moh_context$NWE
    On Hold Prompt Filename: audio chooser $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    On Hold Prompt Filename: audio chooser $NWB#inbound_groups-onhold_prompt_filename$NWE
    On Hold Prompt Interval: $NWB#vicidial_inbound_groups-prompt_interval$NWE
    On Hold Prompt Interval: $NWB#inbound_groups-prompt_interval$NWE
    On Hold Prompt No Block: $NWB#vicidial_inbound_groups-onhold_prompt_no_block$NWE
    On Hold Prompt No Block: $NWB#inbound_groups-onhold_prompt_no_block$NWE
    On Hold Prompt Seconds: $NWB#vicidial_inbound_groups-onhold_prompt_seconds$NWE
    On Hold Prompt Seconds: $NWB#inbound_groups-onhold_prompt_seconds$NWE
    Play Place in Line: $NWB#vicidial_inbound_groups-play_place_in_line$NWE
    Play Place in Line: $NWB#inbound_groups-play_place_in_line$NWE
    Play Estimated Hold Time: $NWB#vicidial_inbound_groups-play_estimate_hold_time$NWE
    Play Estimated Hold Time: $NWB#inbound_groups-play_estimate_hold_time$NWE
    Calculate Estimated Hold Seconds: $NWB#vicidial_inbound_groups-calculate_estimated_hold_seconds$NWE
    Calculate Estimated Hold Seconds: $NWB#inbound_groups-calculate_estimated_hold_seconds$NWE
    Estimated Hold Time Minimum Filename: audio chooser $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Estimated Hold Time Minimum Filename: audio chooser $NWB#inbound_groups-eht_minimum_prompt_filename$NWE
    Estimated Hold Time Minimum Prompt No Block: $NWB#vicidial_inbound_groups-eht_minimum_prompt_no_block$NWE
    Estimated Hold Time Minimum Prompt No Block: $NWB#inbound_groups-eht_minimum_prompt_no_block$NWE
    Estimated Hold Time Minimum Prompt Seconds: $NWB#vicidial_inbound_groups-eht_minimum_prompt_seconds$NWE
    Estimated Hold Time Minimum Prompt Seconds: $NWB#inbound_groups-eht_minimum_prompt_seconds$NWE
    Wait Time Option: $NWB#vicidial_inbound_groups-wait_time_option$NWE
    Wait Time Option: $NWB#inbound_groups-wait_time_option$NWE
    Wait Time Second Option: $NWB#vicidial_inbound_groups-wait_time_second_option$NWE
    Wait Time Second Option: $NWB#inbound_groups-wait_time_second_option$NWE
    Wait Time Third Option: $NWB#vicidial_inbound_groups-wait_time_third_option$NWE
    Wait Time Third Option: $NWB#inbound_groups-wait_time_third_option$NWE
    Wait Time Option Seconds: $NWB#vicidial_inbound_groups-wait_time_option_seconds$NWE
    Wait Time Option Seconds: $NWB#inbound_groups-wait_time_option_seconds$NWE
    Wait Time Option Extension: $NWB#vicidial_inbound_groups-wait_time_option_exten$NWE
    Wait Time Option Extension: $NWB#inbound_groups-wait_time_option_exten$NWE
    Wait Time Option Callmenu: $NWB#vicidial_inbound_groups-wait_time_option_callmenu$NWE
    Wait Time Option Voicemail: voicemail chooser $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Wait Time Option Voicemail: voicemail chooser $NWB#inbound_groups-wait_time_option_voicemail$NWE
    Wait Time Option Transfer In-Group: $NWB#vicidial_inbound_groups-wait_time_option_xfer_group$NWE
    Wait Time Option Press Filename: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Wait Time Option Press Filename: audio chooser $NWB#inbound_groups-wait_time_option_press_filename$NWE
    Wait Time Option Press No Block: $NWB#vicidial_inbound_groups-wait_time_option_no_block$NWE
    Wait Time Option Press No Block: $NWB#inbound_groups-wait_time_option_no_block$NWE
    Wait Time Option Press Filename Seconds: $NWB#vicidial_inbound_groups-wait_time_option_prompt_seconds$NWE
    Wait Time Option Press Filename Seconds: $NWB#inbound_groups-wait_time_option_prompt_seconds$NWE
    Wait Time Option After Press Filename: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Wait Time Option After Press Filename: audio chooser $NWB#inbound_groups-wait_time_option_callback_filename$NWE
    Wait Time Option Callback List ID: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Wait Time Option Callback List ID: $NWB#inbound_groups-wait_time_option_callback_list_id$NWE
    Wait Hold Option Priority: $NWB#vicidial_inbound_groups-wait_hold_option_priority$NWE
    Wait Hold Option Priority: $NWB#inbound_groups-wait_hold_option_priority$NWE
    Estimated Hold Time Option: $NWB#vicidial_inbound_groups-hold_time_option$NWE
    Estimated Hold Time Option: $NWB#inbound_groups-hold_time_option$NWE
    Hold Time Second Option: $NWB#vicidial_inbound_groups-hold_time_second_option$NWE
    Hold Time Second Option: $NWB#inbound_groups-hold_time_second_option$NWE
    Hold Time Third Option: $NWB#vicidial_inbound_groups-hold_time_third_option$NWE
    Hold Time Third Option: $NWB#inbound_groups-hold_time_third_option$NWE
    Hold Time Option Seconds: $NWB#vicidial_inbound_groups-hold_time_option_seconds$NWE
    Hold Time Option Seconds: $NWB#inbound_groups-hold_time_option_seconds$NWE
    Hold Time Option Minimum: $NWB#vicidial_inbound_groups-hold_time_option_minimum$NWE
    Hold Time Option Minimum: $NWB#inbound_groups-hold_time_option_minimum$NWE
    Hold Time Option Extension: $NWB#vicidial_inbound_groups-hold_time_option_exten$NWE
    Hold Time Option Extension: $NWB#inbound_groups-hold_time_option_exten$NWE
    Hold Time Option Callmenu: $NWB#vicidial_inbound_groups-hold_time_option_callmenu$NWE
    Hold Time Option Voicemail: voicemail chooser $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Hold Time Option Voicemail: voicemail chooser $NWB#inbound_groups-hold_time_option_voicemail$NWE
    Hold Time Option Transfer In-Group: $NWB#vicidial_inbound_groups-hold_time_option_xfer_group$NWE
    Hold Time Option Press Filename: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Hold Time Option Press Filename: audio chooser $NWB#inbound_groups-hold_time_option_press_filename$NWE
    Hold Time Option Press No Block: $NWB#vicidial_inbound_groups-hold_time_option_no_block$NWE
    Hold Time Option Press No Block: $NWB#inbound_groups-hold_time_option_no_block$NWE
    Hold Time Option Press Filename Seconds: $NWB#vicidial_inbound_groups-hold_time_option_prompt_seconds$NWE
    Hold Time Option Press Filename Seconds: $NWB#inbound_groups-hold_time_option_prompt_seconds$NWE
    Hold Time Option After Press Filename: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Hold Time Option After Press Filename: audio chooser $NWB#inbound_groups-hold_time_option_callback_filename$NWE
    Hold Time Option Callback List ID: $NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Hold Time Option Callback List ID: $NWB#inbound_groups-hold_time_option_callback_list_id$NWE
    Agent Alert Filename: audio chooser $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    Agent Alert Filename: audio chooser $NWB#inbound_groups-agent_alert_exten$NWE
    Agent Alert Delay: $NWB#vicidial_inbound_groups-agent_alert_delay$NWE
    Agent Alert Delay: $NWB#inbound_groups-agent_alert_delay$NWE
    Default Transfer Group: $NWB#vicidial_inbound_groups-default_xfer_group$NWE
    Default Group Alias: $NWB#vicidial_inbound_groups-default_group_alias$NWE
    Dial In-Group CID: $NWB#vicidial_inbound_groups-dial_ingroup_cid$NWE
    Dial In-Group CID: $NWB#inbound_groups-dial_ingroup_cid$NWE
    Hold Recall Transfer In-Group: $NWB#vicidial_inbound_groups-hold_recall_xfer_group$NWE
    No Delay Call Route: $NWB#vicidial_inbound_groups-no_delay_call_route$NWE
    No Delay Call Route: $NWB#inbound_groups-no_delay_call_route$NWE
    In-Group Recording Override: $NWB#vicidial_inbound_groups-ingroup_recording_override$NWE
    In-Group Recording Override: $NWB#inbound_groups-ingroup_recording_override$NWE
    In-Group Recording Filename: $NWB#vicidial_inbound_groups-ingroup_rec_filename$NWE
    In-Group Recording Filename: $NWB#inbound_groups-ingroup_rec_filename$NWE
    Stats Percent of Calls Answered Within X seconds 1: $NWB#vicidial_inbound_groups-answer_sec_pct_rt_stat_one$NWE
    Stats Percent of Calls Answered Within X seconds 1: $NWB#inbound_groups-answer_sec_pct_rt_stat_one$NWE
    Stats Percent of Calls Answered Within X seconds 2: $NWB#vicidial_inbound_groups-answer_sec_pct_rt_stat_one$NWE
    Stats Percent of Calls Answered Within X seconds 2: $NWB#inbound_groups-answer_sec_pct_rt_stat_one$NWE
    Start Call URL: $NWB#vicidial_inbound_groups-start_call_url$NWE
    Start Call URL: $NWB#inbound_groups-start_call_url$NWE
    Dispo Call URL: $NWB#vicidial_inbound_groups-dispo_call_url$NWE
    Dispo Call URL: $NWB#inbound_groups-dispo_call_url$NWE
    Add Lead URL: $NWB#vicidial_inbound_groups-add_lead_url$NWE
    Add Lead URL: $NWB#inbound_groups-add_lead_url$NWE
    No Agent Call URL: $NWB#vicidial_inbound_groups-na_call_url$NWE
    No Agent Call URL: $NWB#inbound_groups-na_call_url$NWE
    Extension Append CID: $NWB#vicidial_inbound_groups-extension_appended_cidname$NWE
    Extension Append CID: $NWB#inbound_groups-extension_appended_cidname$NWE
    Uniqueid Status Display: $NWB#vicidial_inbound_groups-uniqueid_status_display$NWE
    Uniqueid Status Display: $NWB#inbound_groups-uniqueid_status_display$NWE
    Uniqueid Status Prefix: $NWB#vicidial_inbound_groups-uniqueid_status_prefix$NWE
    Uniqueid Status Prefix: $NWB#inbound_groups-uniqueid_status_prefix$NWE
    QC Enabled: $NWB#vicidial_inbound_groups-qc_enabled$NWE
    QC Statuses:
    $NWB#vicidial_inbound_groups-qc_statuses$NWE
    $qc_statuses_list
    QC WebForm: $NWB#vicidial_inbound_groups-qc_web_form_address$NWE
    QC Enabled: $NWB#inbound_groups-qc_enabled$NWE
    QC Statuses:
    $NWB#inbound_groups-qc_statuses$NWE
    $qc_statuses_list
    QC WebForm: $NWB#inbound_groups-qc_web_form_address$NWE
    QC Script: $NWB#vicidial_inbound_groups-qc_script$NWE
    QC Shift: $NWB#vicidial_inbound_groups-qc_shift_id$NWE
    QC Get Record Launch: $NWB#vicidial_inbound_groups-qc_get_record_launch$NWE
    QC Show Recording: $NWB#vicidial_inbound_groups-qc_show_recording$NWE
    QC Get Record Launch: $NWB#inbound_groups-qc_get_record_launch$NWE
    QC Show Recording: $NWB#inbound_groups-qc_show_recording$NWE
    \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 "$NWB#inbound_groups-user_group$NWE\n"; + echo "\n"; if ($SSenable_second_webform > 0) { - echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; echo "\n"; + echo " $NWB#inbound_groups-queue_priority$NWE\n"; - echo "\n"; + echo "\n"; /* Commenting this out because it is handled by the Email Account section and is redundant here - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_dids-campaign_id$NWE\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"; @@ -27897,7 +27914,7 @@ if ($ADD==3811) while ($Cstatuses_to_print > $o) { $rowx=mysql_fetch_row($rslt); - if (!ereg("\"$rowx[0]\"",$qc_statuses_list)) + if (!preg_match("/\"$rowx[0]\"/",$qc_statuses_list)) { $qc_statuses_list .= "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_groups-qc_script$NWE\n"; echo "\n"; + echo "$NWB#inbound_groups-qc_shift_id$NWE\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; } @@ -28021,7 +28038,7 @@ if ($ADD==3811) { ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmtDlog|"; - $SQL_log = ereg_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='INGROUPS', event_type='MODIFY', record_id='$group_id', event_code='USER INGROUP VIGA ADD', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; if ($DB) {echo "|$stmt|\n";} @@ -28050,9 +28067,9 @@ if ($ADD==3811) elseif (isset($_POST["$rank_field"])) {$ARIG_ranked=$_POST["$rank_field"];} if (isset($_GET["$grade_field"])) {$ARIG_graded=$_GET["$grade_field"];} elseif (isset($_POST["$grade_field"])) {$ARIG_graded=$_POST["$grade_field"];} - $ARIG_checked = ereg_replace("[^A-Z]","",$ARIG_checked); - $ARIG_ranked = ereg_replace("[^-0-9]","",$ARIG_ranked); - $ARIG_graded = ereg_replace("[^-0-9]","",$ARIG_graded); + $ARIG_checked = preg_replace('/[^A-Z]/','',$ARIG_checked); + $ARIG_ranked = preg_replace('/[^-0-9]/','',$ARIG_ranked); + $ARIG_graded = preg_replace('/[^-0-9]/','',$ARIG_graded); $stmtA=''; $stmtB=''; @@ -28097,7 +28114,7 @@ if ($ADD==3811) { ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmtA|$stmtB|$stmtC|"; - $SQL_log = ereg_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='USERS', event_type='MODIFY', record_id='$ARIG_user[$o]', event_code='USER INGROUP SETTINGS', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; if ($DB) {echo "|$stmt|\n";} @@ -28133,7 +28150,7 @@ if ($ADD==3811) { $o++; - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -28401,24 +28418,24 @@ if ($ADD==3311) echo "\n"; echo "\n"; echo "
    Group ID: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
    Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
    Group Color: $NWB#vicidial_inbound_groups-group_color$NWE
    Active: $NWB#vicidial_inbound_groups-active$NWE
    In-Group Email Date: $group_calldate$NWB#vicidial_inbound_groups-group_emaildate$NWE
    Group ID: $row[0]$NWB#inbound_groups-group_id$NWE
    Group Name: $NWB#inbound_groups-group_name$NWE
    Group Color: $NWB#inbound_groups-group_color$NWE
    Active: $NWB#inbound_groups-active$NWE
    In-Group Email Date: $group_calldate$NWB#inbound_groups-group_emaildate$NWE
    \n"; horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); @@ -27803,13 +27820,13 @@ if ($ADD==3811) echo "
    Admin User Group: $NWB#vicidial_inbound_groups-user_group$NWE
    Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Web Form: $NWB#inbound_groups-web_form_address$NWE
    Web Form Two: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Web Form Two: $NWB#inbound_groups-web_form_address$NWE
    Next Agent Email: $NWB#vicidial_inbound_groups-next_agent_email$NWE
    Next Agent Email: $NWB#inbound_groups-next_agent_email$NWE
    Queue Priority: $NWB#vicidial_inbound_groups-queue_priority$NWE
    Fronter Display: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Fronter Display: $NWB#inbound_groups-fronter_display$NWE
    In-Group Call Handle Method: $NWB#vicidial_inbound_dids-call_handle_method$NWE
    In-Group Agent Search Method: $NWB#vicidial_inbound_dids-agent_search_method$NWE
    In-Group List ID: $NWB#vicidial_inbound_dids-list_id$NWE
    In-Group Call Handle Method: $NWB#inbound_dids-call_handle_method$NWE
    In-Group Agent Search Method: $NWB#inbound_dids-agent_search_method$NWE
    In-Group List ID: $NWB#inbound_dids-list_id$NWE
    In-Group Campaign ID: $NWB#vicidial_inbound_dids-campaign_id$NWE
    Start Email URL: $NWB#vicidial_inbound_groups-start_email_url$NWE
    Start Email URL: $NWB#inbound_groups-start_email_url$NWE
    Dispo Email URL: $NWB#vicidial_inbound_groups-dispo_email_url$NWE
    Dispo Email URL: $NWB#inbound_groups-dispo_email_url$NWE
    Add Lead URL: $NWB#vicidial_inbound_groups-add_lead_url$NWE
    Add Lead URL: $NWB#inbound_groups-add_lead_url$NWE
    No Agent Email URL: $NWB#vicidial_inbound_groups-na_email_url$NWE
    No Agent Email URL: $NWB#inbound_groups-na_email_url$NWE
    Extension Append CID: $NWB#vicidial_inbound_groups-extension_appended_cidname$NWE
    Extension Append CID: $NWB#inbound_groups-extension_appended_cidname$NWE
    Uniqueid Status Display: $NWB#vicidial_inbound_groups-uniqueid_status_display$NWE
    Uniqueid Status Display: $NWB#inbound_groups-uniqueid_status_display$NWE
    Uniqueid Status Prefix: $NWB#vicidial_inbound_groups-uniqueid_status_prefix$NWE
    Uniqueid Status Prefix: $NWB#inbound_groups-uniqueid_status_prefix$NWE
    QC Enabled: $NWB#vicidial_inbound_groups-qc_enabled$NWE
    QC Statuses:
    $NWB#vicidial_inbound_groups-qc_statuses$NWE
    $qc_statuses_list
    QC WebForm: $NWB#vicidial_inbound_groups-qc_web_form_address$NWE
    QC Enabled: $NWB#inbound_groups-qc_enabled$NWE
    QC Statuses:
    $NWB#inbound_groups-qc_statuses$NWE
    $qc_statuses_list
    QC WebForm: $NWB#inbound_groups-qc_web_form_address$NWE
    QC Script: $NWB#vicidial_inbound_groups-qc_script$NWE
    QC Shift: $NWB#vicidial_inbound_groups-qc_shift_id$NWE
    QC Get Record Launch: $NWB#vicidial_inbound_groups-qc_get_record_launch$NWE
    QC Show Recording: $NWB#vicidial_inbound_groups-qc_show_recording$NWE
    QC Get Record Launch: $NWB#inbound_groups-qc_get_record_launch$NWE
    QC Show Recording: $NWB#inbound_groups-qc_show_recording$NWE
    \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 "$NWB#inbound_dids-user_group$NWE\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_dids-server_ip$NWE\n"; $stmt="SELECT menu_id,menu_name,menu_prompt from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; $rslt=mysql_query($stmt, $link); @@ -28432,29 +28449,29 @@ if ($ADD==3311) $i++; } - echo "\n"; + echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_dids-user_route_settings_ingroup$NWE\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "$NWB#inbound_dids-group_id$NWE\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#inbound_dids-campaign_id$NWE\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; $stmt="SELECT filter_phone_group_id,filter_phone_group_name from vicidial_filter_phone_groups $whereLOGadmin_viewable_groupsSQL order by filter_phone_group_id;"; $rslt=mysql_query($stmt, $link); @@ -28468,44 +28485,44 @@ if ($ADD==3311) $i++; } - 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 "$NWB#inbound_dids-server_ip$NWE\n"; - echo "\n"; + echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#inbound_dids-user_route_settings_ingroup$NWE\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "$NWB#inbound_dids-group_id$NWE\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#inbound_dids-campaign_id$NWE\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 "
    DID Extension: $NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Extension: $did_pattern $NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Description: $NWB#vicidial_inbound_dids-did_description$NWE
    Active: $NWB#vicidial_inbound_dids-did_active$NWE
    DID Extension: $NWB#inbound_dids-did_pattern$NWE
    DID Extension: $did_pattern $NWB#inbound_dids-did_pattern$NWE
    DID Description: $NWB#inbound_dids-did_description$NWE
    Active: $NWB#inbound_dids-did_active$NWE
    Admin User Group: $NWB#vicidial_inbound_dids-user_group$NWE
    DID Route: $NWB#vicidial_inbound_dids-did_route$NWE
    Record Call: $NWB#vicidial_inbound_dids-record_call$NWE
    Extension: $NWB#vicidial_inbound_dids-extension$NWE
    Extension Context: $NWB#vicidial_inbound_dids-exten_context$NWE
    Voicemail Box: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Phone Extension: $NWB#vicidial_inbound_dids-phone$NWE
    DID Route: $NWB#inbound_dids-did_route$NWE
    Record Call: $NWB#inbound_dids-record_call$NWE
    Extension: $NWB#inbound_dids-extension$NWE
    Extension Context: $NWB#inbound_dids-exten_context$NWE
    Voicemail Box: voicemail chooser$NWB#inbound_dids-voicemail_ext$NWE
    Phone Extension: $NWB#inbound_dids-phone$NWE
    Server IP: $NWB#vicidial_inbound_dids-server_ip$NWE
    Call Menu: $NWB#vicidial_inbound_dids-menu_id$NWE
    Call Menu: $NWB#inbound_dids-menu_id$NWE
    User Agent: $NWB#vicidial_inbound_dids-user$NWE
    User Unavailable Action: $NWB#vicidial_inbound_dids-user_unavailable_action$NWE
    User Agent: $NWB#inbound_dids-user$NWE
    User Unavailable Action: $NWB#inbound_dids-user_unavailable_action$NWE
    User Route Settings In-Group: $NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    In-Group ID: $NWB#vicidial_inbound_dids-group_id$NWE
    In-Group Call Handle Method: $NWB#vicidial_inbound_dids-call_handle_method$NWE
    In-Group Agent Search Method: $NWB#vicidial_inbound_dids-agent_search_method$NWE
    In-Group List ID: $NWB#vicidial_inbound_dids-list_id$NWE
    In-Group Call Handle Method: $NWB#inbound_dids-call_handle_method$NWE
    In-Group Agent Search Method: $NWB#inbound_dids-agent_search_method$NWE
    In-Group List ID: $NWB#inbound_dids-list_id$NWE
    In-Group Campaign ID: $NWB#vicidial_inbound_dids-campaign_id$NWE
    In-Group Phone Code: $NWB#vicidial_inbound_dids-phone_code$NWE
    In-Group Phone Code: $NWB#inbound_dids-phone_code$NWE
    Clean CID Number: $NWB#vicidial_inbound_dids-filter_clean_cid_number$NWE
    Clean CID Number: $NWB#inbound_dids-filter_clean_cid_number$NWE
    Filter Inbound Number: $NWB#vicidial_inbound_dids-filter_inbound_number$NWE
    Filter Inbound Number: $NWB#inbound_dids-filter_inbound_number$NWE
    Filter Phone Group ID: $NWB#vicidial_inbound_dids-filter_phone_group_id$NWE
    Filter Phone Group ID: $NWB#inbound_dids-filter_phone_group_id$NWE
    Filter URL: $NWB#vicidial_inbound_dids-filter_url$NWE
    Filter Action: $NWB#vicidial_inbound_dids-filter_action$NWE
    Filter URL: $NWB#inbound_dids-filter_url$NWE
    Filter Action: $NWB#inbound_dids-filter_action$NWE
    Filter Extension: $NWB#vicidial_inbound_dids-extension$NWE
    Filter Extension Context: $NWB#vicidial_inbound_dids-exten_context$NWE
    Filter Voicemail Box: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Phone Extension: $NWB#vicidial_inbound_dids-phone$NWE
    Filter Extension: $NWB#inbound_dids-extension$NWE
    Filter Extension Context: $NWB#inbound_dids-exten_context$NWE
    Filter Voicemail Box: voicemail chooser$NWB#inbound_dids-voicemail_ext$NWE
    Filter Phone Extension: $NWB#inbound_dids-phone$NWE
    Filter Server IP: $NWB#vicidial_inbound_dids-server_ip$NWE
    Filter Call Menu: $NWB#vicidial_inbound_dids-menu_id$NWE
    Filter Call Menu: $NWB#inbound_dids-menu_id$NWE
    Filter User Agent: $NWB#vicidial_inbound_dids-user$NWE
    Filter User Unavailable Action: $NWB#vicidial_inbound_dids-user_unavailable_action$NWE
    Filter User Agent: $NWB#inbound_dids-user$NWE
    Filter User Unavailable Action: $NWB#inbound_dids-user_unavailable_action$NWE
    Filter User Route Settings In-Group: $NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    Filter In-Group ID: $NWB#vicidial_inbound_dids-group_id$NWE
    Filter In-Group Call Handle Method: $NWB#vicidial_inbound_dids-call_handle_method$NWE
    Filter In-Group Agent Search Method: $NWB#vicidial_inbound_dids-agent_search_method$NWE
    Filter In-Group List ID: $NWB#vicidial_inbound_dids-list_id$NWE
    Filter In-Group Call Handle Method: $NWB#inbound_dids-call_handle_method$NWE
    Filter In-Group Agent Search Method: $NWB#inbound_dids-agent_search_method$NWE
    Filter In-Group List ID: $NWB#inbound_dids-list_id$NWE
    Filter In-Group Campaign ID: $NWB#vicidial_inbound_dids-campaign_id$NWE
    Filter In-Group Phone Code: $NWB#vicidial_inbound_dids-phone_code$NWE
    Filter In-Group Phone Code: $NWB#inbound_dids-phone_code$NWE
    Custom 1: $NWB#vicidial_inbound_dids-custom_one$NWE
    Custom 2: $NWB#vicidial_inbound_dids-custom_one$NWE
    Custom 3: $NWB#vicidial_inbound_dids-custom_one$NWE
    Custom 4: $NWB#vicidial_inbound_dids-custom_one$NWE
    Custom 5: $NWB#vicidial_inbound_dids-custom_one$NWE
    Custom 1: $NWB#inbound_dids-custom_one$NWE
    Custom 2: $NWB#inbound_dids-custom_one$NWE
    Custom 3: $NWB#inbound_dids-custom_one$NWE
    Custom 4: $NWB#inbound_dids-custom_one$NWE
    Custom 5: $NWB#inbound_dids-custom_one$NWE
    \n"; @@ -28572,7 +28589,7 @@ if ($ADD==1320) $k=0; while ($dids_to_print > $o) { - if (eregi("1$|3$|5$|7$|9$", $k)) + if (preg_match('/1$|3$|5$|7$|9$/i', $k)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -28642,7 +28659,7 @@ if ($ADD==3321) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='DID_RA-EXTEN', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID RA EXTEN', event_sql=\"$SQL_log\", event_notes='DID: $user_start - $extension';"; if ($DB) {echo "|$stmt|\n";} @@ -28673,7 +28690,7 @@ if ($ADD==3321) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='DID_RA-EXTEN', event_type='DELETE', record_id='$did_id', event_code='ADMIN DELETE DID RA EXTEN', event_sql=\"$SQL_log\", event_notes='DID: $user_start - $extension';"; if ($DB) {echo "|$stmt|\n";} @@ -28710,8 +28727,8 @@ if ($ADD==3321) elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} if (isset($_GET[$Fdescription])) {$Fdescription_value=$_GET[$Fdescription];} elseif (isset($_POST[$Fdescription])) {$Fdescription_value=$_POST[$Fdescription];} - $Fdescription_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fdescription_value); - $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); + $Fdescription_value = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$Fdescription_value); + $Factive_value = preg_replace('/[^A-Z]/','',$Factive_value); # echo "$did_id - $Xuser_start[$o] - $Xextension[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fdescription($Fdescription_value|$Xdescription[$o])
    "; @@ -28728,7 +28745,7 @@ if ($ADD==3321) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='DID_RA-EXTEN', event_type='MODIFY', record_id='$did_id', event_code='ADMIN MODIFY DID RA EXTEN', event_sql=\"$SQL_log\", event_notes='DID: $user_start - $extension';"; if ($DB) {echo "|$stmt|\n";} @@ -28747,7 +28764,7 @@ if ($ADD==3321) } echo "
    \n"; echo ""; - echo "

    REMOTE AGENT EXTENSION OVERRIDES FOR THIS DID:   $NWB#vicidial_did_ra_extensions$NWE
    \n"; + echo "

    REMOTE AGENT EXTENSION OVERRIDES FOR THIS DID:   $NWB#did_ra_extensions$NWE
    \n"; echo "\n"; echo "\n"; echo "\n"; @@ -28783,7 +28800,7 @@ if ($ADD==3321) { if ($Xuser_start[$o] != $bgac) { - if (eregi("1$|3$|5$|7$|9$", $bgct)) + if (preg_match("/1$|3$|5$|7$|9$/i", $bgct)) {$bgcolor='bgcolor="#9BB9FB"';} else {$bgcolor='bgcolor="#B9CBFD"';} @@ -28883,17 +28900,17 @@ if ($ADD==3511) 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 "$NWB#call_menu-user_group$NWE\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo " $NWB#call_menu-menu_time_check$NWE\n"; echo "\n"; + echo "$NWB#call_menu-track_in_vdac$NWE\n"; echo "\n"; + echo "$NWB#call_menu-tracking_group$NWE\n"; echo "\n"; + echo "$NWB#call_menu-dtmf_log$NWE     Log Field: \n"; + echo "$NWB#call_menu-dtmf_field$NWE\n"; echo "\n"; echo "\n"; @@ -29002,7 +29019,7 @@ if ($ADD==3511) } $dtmf_list .= ""; - if (eregi("1$|3$|5$|7$|9$", $j)) + if (preg_match("/1$|3$|5$|7$|9$/i", $j)) {$bgcolor='bgcolor="#CCFFFF"';} else {$bgcolor='bgcolor="#99FFCC"';} @@ -29021,7 +29038,7 @@ if ($ADD==3511) - $NWB#vicidial_call_menu-option_value$NWE
    + $NWB#call_menu-option_value$NWE
    \n"; @@ -29054,7 +29071,7 @@ if ($ADD==3511) echo " "; echo "   Handle Method: $NWB#vicidial_call_menu-ingroup_settings$NWE\n"; + echo "$IGhandle_method_list $NWB#call_menu-ingroup_settings$NWE\n"; echo "
    Search Method: \n"; echo "   List ID: "; @@ -29116,7 +29133,7 @@ if ($ADD==3511) } $dtmf_list .= ""; - if (eregi("1$|3$|5$|7$|9$", $j)) + if (preg_match("/1$|3$|5$|7$|9$/i", $j)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -29135,7 +29152,7 @@ if ($ADD==3511) - $NWB#vicidial_call_menu-option_value$NWE
    + $NWB#call_menu-option_value$NWE
    \n"; echo " @@ -29145,16 +29162,16 @@ if ($ADD==3511) if ($SSallow_custom_dialplan > 0) { - echo "
    \n"; + echo "\n"; } else { - echo "\n"; + echo "\n"; } if ($SScall_menu_qualify_enabled > 0) { - echo "\n"; + echo "\n"; } else {echo "\n";} @@ -29270,25 +29287,25 @@ if ($ADD==31111) echo "\n"; echo "\n"; echo "
    Menu ID: $menu_id $NWB#vicidial_call_menu-menu_id$NWE
    Menu Name: $NWB#vicidial_call_menu-menu_name$NWE
    Menu ID: $menu_id $NWB#call_menu-menu_id$NWE
    Menu Name: $NWB#call_menu-menu_name$NWE
    Admin User Group: $NWB#vicidial_call_menu-user_group$NWE
    Menu Prompt: audio chooser $NWB#vicidial_call_menu-menu_prompt$NWE
    Menu Timeout: $NWB#vicidial_call_menu-menu_timeout$NWE
    Menu Timeout Prompt: audio chooser $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Menu Invalid Prompt: audio chooser $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Menu Repeat: $NWB#vicidial_call_menu-menu_repeat$NWE
    Menu Prompt: audio chooser $NWB#call_menu-menu_prompt$NWE
    Menu Timeout: $NWB#call_menu-menu_timeout$NWE
    Menu Timeout Prompt: audio chooser $NWB#call_menu-menu_timeout_prompt$NWE
    Menu Invalid Prompt: audio chooser $NWB#call_menu-menu_invalid_prompt$NWE
    Menu Repeat: $NWB#call_menu-menu_repeat$NWE
    Menu Time Check: $NWB#vicidial_call_menu-menu_time_check$NWE
    Call Time: $NWB#vicidial_call_menu-call_time_id$NWE "; + echo "$NWB#call_menu-call_time_id$NWE "; $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); $call_times_to_print = mysql_num_rows($rslt); @@ -28932,13 +28949,13 @@ if ($ADD==3511) { echo "\n"; } - echo "$NWB#vicidial_call_menu-track_in_vdac$NWE
    Tracking Group: $NWB#vicidial_call_menu-tracking_group$NWE
    Log Key Press: $NWB#vicidial_call_menu-dtmf_log$NWE     Log Field: \n"; - echo "$NWB#vicidial_call_menu-dtmf_field$NWE
    Call Menu Options:
    Custom Dialplan Entry:
    $NWB#vicidial_call_menu-custom_dialplan_entry$NWE
    Custom Dialplan Entry:
    $NWB#call_menu-custom_dialplan_entry$NWE
    Custom Dialplan Entry: Disabled $NWB#vicidial_call_menu-custom_dialplan_entry$NWE
    Custom Dialplan Entry: Disabled $NWB#call_menu-custom_dialplan_entry$NWE
    Qualify SQL:
    $NWB#vicidial_call_menu-qualify_sql$NWE
    Qualify SQL:
    $NWB#call_menu-qualify_sql$NWE
    \n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#remote_agents-server_ip$NWE\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#remote_agents-extension_group$NWE\n"; + echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "$NWB#remote_agents-campaign_id$NWE\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#remote_agents-closer_campaigns$NWE\n"; echo "\n"; echo "
    User ID Start: (numbers only, incremented, must be an existing vicidial user)$NWB#vicidial_remote_agents-user_start$NWE
    Number of Lines: (numbers only)$NWB#vicidial_remote_agents-number_of_lines$NWE
    User ID Start: (numbers only, incremented, must be an existing vicidial user)$NWB#remote_agents-user_start$NWE
    Number of Lines: (numbers only)$NWB#remote_agents-number_of_lines$NWE
    Server IP: $NWB#vicidial_remote_agents-server_ip$NWE
    External Extension: (dial plan number dialed to reach agents)$NWB#vicidial_remote_agents-conf_exten$NWE
    External Extension: (dial plan number dialed to reach agents)$NWB#remote_agents-conf_exten$NWE
    Extension Group: $NWB#vicidial_remote_agents-extension_group$NWE
    Status: $NWB#vicidial_remote_agents-status$NWE
    Status: $NWB#remote_agents-status$NWE
    Campaign: $NWB#vicidial_remote_agents-campaign_id$NWE
    On-Hook Agent: $NWB#vicidial_remote_agents-on_hook_agent$NWE
    On-Hook Ring Time: $NWB#vicidial_remote_agents-on_hook_ring_time$NWE
    On-Hook Agent: $NWB#remote_agents-on_hook_agent$NWE
    On-Hook Ring Time: $NWB#remote_agents-on_hook_ring_time$NWE
    \n"; horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1,'',''); @@ -29296,7 +29313,7 @@ if ($ADD==31111) echo "
    Inbound Groups: \n"; echo "$groups_list"; - echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
    \n"; echo "NOTE: It can take up to 30 seconds for changes submitted on this screen to go live\n"; @@ -29367,13 +29384,13 @@ if ($ADD==3711) echo "\n"; echo "\n"; echo "
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#filter_phone_groups-user_group$NWE\n"; echo "\n"; echo "
    Filter Phone Group ID: $filter_phone_group_id $NWB#vicidial_filter_phone_groups-user_start$NWE
    Filter Phone Group Name: $NWB#vicidial_filter_phone_groups-filter_phone_group_name$NWE
    Filter Phone Group Description: $NWB#vicidial_filter_phone_groups-filter_phone_group_description$NWE
    Filter Phone Group ID: $filter_phone_group_id $NWB#filter_phone_groups-user_start$NWE
    Filter Phone Group Name: $NWB#filter_phone_groups-filter_phone_group_name$NWE
    Filter Phone Group Description: $NWB#filter_phone_groups-filter_phone_group_description$NWE
    Admin User Group: $NWB#vicidial_filter_phone_groups-user_group$NWE
    \n"; @@ -29434,8 +29451,8 @@ if ($ADD==32111) echo "\n"; echo "
    \n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo " $NWB#extension_groups-rank$NWE\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -29530,19 +29547,19 @@ if ($ADD==311111) echo "\n"; echo "\n"; echo "
    Extension Group: (no spaces)$NWB#vicidial_extension_groups-extension_group_id$NWE
    Extension: (numbers only)$NWB#vicidial_extension_groups-extension$NWE
    Extension Group: (no spaces)$NWB#extension_groups-extension_group_id$NWE
    Extension: (numbers only)$NWB#extension_groups-extension$NWE
    Rank: $NWB#vicidial_extension_groups-rank$NWE
    Campaigns Groups: (pipe-delimited list)$NWB#vicidial_extension_groups-extension$NWE
    Campaigns Groups: (pipe-delimited list)$NWB#extension_groups-extension$NWE
    Call Count Today: $call_count_today
    Last Call Time: $last_call_time
    Last Call ID: $last_callerid
    \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 "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#user_groups-allowed_reports$NWE\n"; if (strlen($SSwebphone_url) > 5) { - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; } else { @@ -29663,20 +29680,20 @@ if ($ADD==311111) if ($SSqc_features_active > 0) { - 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"; @@ -31014,7 +31032,7 @@ if ($ADD==31111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -31122,7 +31140,7 @@ if ($ADD==32111111111) ### list of phones in this phones alias - $phone_alias_SQL = ereg_replace(',',"','",$row[2]); + $phone_alias_SQL = preg_replace('/,/', "','",$row[2]); echo "
    \n"; echo "
    PHONES WITHIN THIS PHONES ALIAS:
    \n"; @@ -31140,7 +31158,7 @@ if ($ADD==32111111111) $rowx=mysql_fetch_row($rsltx); $o++; - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -31307,11 +31325,11 @@ if ($ADD==311111111111) echo "$NWB#servers-user_group$NWE\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"; @@ -31322,7 +31340,7 @@ if ($ADD==311111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -31334,11 +31352,11 @@ if ($ADD==311111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($SSallow_custom_dialplan > 0) { @@ -31356,7 +31374,7 @@ if ($ADD==311111111111) ### vicidial server trunk records for this server - echo "

    VICIDIAL TRUNKS FOR THIS SERVER:   $NWB#vicidial_server_trunks$NWE
    \n"; + echo "

    TRUNKS FOR THIS SERVER:   $NWB#server_trunks$NWE
    \n"; echo "
    Group: (no spaces or punctuation)$NWB#vicidial_user_groups-user_group$NWE
    Description: (description of group)$NWB#vicidial_user_groups-group_name$NWE
    Group: (no spaces or punctuation)$NWB#user_groups-user_group$NWE
    Description: (description of group)$NWB#user_groups-group_name$NWE
    Force Timeclock Login: $NWB#vicidial_user_groups-forced_timeclock_login$NWE
    Force Timeclock Login: $NWB#user_groups-forced_timeclock_login$NWE
    Shift Enforcement: $NWB#vicidial_user_groups-shift_enforcement$NWE
    Shift Enforcement: $NWB#user_groups-shift_enforcement$NWE
    Allowed Campaigns:
    $NWB#vicidial_user_groups-allowed_campaigns$NWE
    \n"; + echo "
    Allowed Campaigns:
    $NWB#user_groups-allowed_campaigns$NWE
    \n"; echo "$campaigns_list
     "; echo "
    Group Shifts:
    $NWB#vicidial_user_groups-group_shifts$NWE
    \n"; + echo "
    Group Shifts:
    $NWB#user_groups-group_shifts$NWE
    \n"; $stmt="SELECT shift_id,shift_name from vicidial_shifts $whereLOGadmin_viewable_groupsSQL order by shift_id;"; if ($DB > 0) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -29557,7 +29574,7 @@ if ($ADD==311111) $p=0; while ($p<1000) { - if (ereg(" $shift_id_value ", $GROUP_shifts)) + if (preg_match("/\s$shift_id_value\s/", $GROUP_shifts)) { echo " CHECKED"; } @@ -29569,22 +29586,22 @@ if ($ADD==311111) echo "
     
    Agent Status Viewable Groups:
    $NWB#vicidial_user_groups-agent_status_viewable_groups$NWE
    \n"; + echo "
    Agent Status Viewable Groups:
    $NWB#user_groups-agent_status_viewable_groups$NWE
    \n"; if ($admin_viewable_groupsALL > 0) { echo "ALL-GROUPS - All user groups in the system
    \n"; } echo "CAMPAIGN-AGENTS - All users logged into the same campaign as the agent
    \n"; if ($admin_viewable_groupsALL > 0) { echo "NOT-LOGGED-IN-AGENTS - All users in the system, even not logged-in users
    \n"; } @@ -29602,7 +29619,7 @@ if ($ADD==311111) $p=0; while ($p<1000) { - if (ereg(" $vgroups_id_value ", $VGROUP_vgroups)) + if (preg_match("/\s$vgroups_id_value\s/", $VGROUP_vgroups)) { echo " CHECKED"; } @@ -29613,23 +29630,23 @@ if ($ADD==311111) } echo "
     
    Agent Status View Time: $NWB#vicidial_user_groups-agent_status_view_time$NWE
    Agent Status View Time: $NWB#user_groups-agent_status_view_time$NWE
    Agent Call Log View: $NWB#vicidial_user_groups-agent_call_log_view$NWE
    Agent Call Log View: $NWB#user_groups-agent_call_log_view$NWE
    Agent Allow Consultative Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
    Agent Allow Consultative Xfer: $NWB#user_groups-agent_xfer_options$NWE
    Agent Allow Dial Override Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
    Agent Allow Dial Override Xfer: $NWB#user_groups-agent_xfer_options$NWE
    Agent Allow Voicemail Message Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
    Agent Allow Voicemail Message Xfer: $NWB#user_groups-agent_xfer_options$NWE
    Agent Allow Blind Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
    Agent Allow Blind Xfer: $NWB#user_groups-agent_xfer_options$NWE
    Agent Allow Dial With Customer Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
    Agent Allow Dial With Customer Xfer: $NWB#user_groups-agent_xfer_options$NWE
    Agent Allow Park Customer Dial Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
    Agent Allow Park Customer Dial Xfer: $NWB#user_groups-agent_xfer_options$NWE
    Agent Fullscreen: $NWB#vicidial_user_groups-agent_fullscreen$NWE
    Agent Fullscreen: $NWB#user_groups-agent_fullscreen$NWE
    Allowed Reports: $NWB#vicidial_user_groups-allowed_reports$NWE
    Webphone URL Override: $NWB#vicidial_user_groups-webphone_url_override$NWE
    Webphone URL Override: $NWB#user_groups-webphone_url_override$NWE
    Webphone System Key Override: $NWB#vicidial_user_groups-webphone_systemkey_override$NWE
    Webphone System Key Override: $NWB#user_groups-webphone_systemkey_override$NWE
    Webphone Dialpad Override: $NWB#vicidial_user_groups-webphone_dialpad_override$NWE
    Webphone Dialpad Override: $NWB#user_groups-webphone_dialpad_override$NWE
    QC Allowed Campaigns:
    $NWB#vicidial_user_groups-qc_allowed_campaigns$NWE
    \n"; + echo "
    QC Allowed Campaigns:
    $NWB#user_groups-qc_allowed_campaigns$NWE
    \n"; echo "$qc_campaigns_list"; echo "
     
    QC Allowed Inbound Groups:
    $NWB#vicidial_user_groups-qc_allowed_inbound_groups$NWE
    \n"; + echo "
    QC Allowed Inbound Groups:
    $NWB#user_groups-qc_allowed_inbound_groups$NWE
    \n"; echo "$qc_groups_list"; echo "
     
    Allowed User Groups:
    $NWB#vicidial_user_groups-admin_viewable_groups$NWE
    \n"; + echo "
    Allowed User Groups:
    $NWB#user_groups-admin_viewable_groups$NWE
    \n"; if ($admin_viewable_groupsALL > 0) { echo "ALL-GROUPS - All user groups in the system
    \n"; } @@ -29694,7 +29711,7 @@ if ($ADD==311111) $p=0; while ($p<1000) { - if (ereg(" $vgroups_id_value ", $admin_viewable_groups)) + if (preg_match("/\s$vgroups_id_value\s/", $admin_viewable_groups)) { echo " CHECKED"; } @@ -29706,9 +29723,9 @@ if ($ADD==311111) echo "
     
    Allowed Call Times:
    $NWB#vicidial_user_groups-admin_viewable_call_times$NWE
    \n"; + echo "
    Allowed Call Times:
    $NWB#user_groups-admin_viewable_call_times$NWE
    \n"; echo "ALL-CALLTIMES - All call times in the system
    \n"; @@ -29725,7 +29742,7 @@ if ($ADD==311111) $p=0; while ($p<1000) { - if (ereg(" $vcalltimes_id_value ", $admin_viewable_call_times)) + if (preg_match("/\s$vcalltimes_id_value\s/", $admin_viewable_call_times)) { echo " CHECKED"; } @@ -29758,7 +29775,7 @@ if ($ADD==311111) $rowx=mysql_fetch_row($rsltx); $o++; - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -29850,14 +29867,14 @@ if ($ADD==3111111) echo "\n"; echo "\n"; echo "
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#scripts-user_group$NWE\n"; + echo "\n"; echo "\n"; + echo " $NWB#scripts-script_text$NWE\n"; echo "\n"; echo "
    Script ID: $script_id$NWB#vicidial_scripts-script_name$NWE
    Script Name: (title of the script)$NWB#vicidial_scripts-script_name$NWE
    Script Comments: $NWB#vicidial_scripts-script_comments$NWE
    Script ID: $script_id$NWB#scripts-script_name$NWE
    Script Name: (title of the script)$NWB#scripts-script_name$NWE
    Script Comments: $NWB#scripts-script_comments$NWE
    Admin User Group: $NWB#vicidial_scripts-user_group$NWE
    Active: $NWB#vicidial_scripts-active$NWE
    Active: $NWB#scripts-active$NWE
    Script Text:

    Preview Script
    "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field - echo " $NWB#vicidial_scripts-script_text$NWE
    \n"; @@ -30037,14 +30054,14 @@ if ($ADD==31111111) echo "\n"; echo "\n"; echo "
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#lead_filters-user_group$NWE\n"; + echo "\n"; echo "\n"; echo "
    Filter ID: $lead_filter_id$NWB#vicidial_lead_filters-lead_filter_id$NWE
    Filter Name: (short description of the filter)$NWB#vicidial_lead_filters-lead_filter_name$NWE
    Filter Comments: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
    Filter ID: $lead_filter_id$NWB#lead_filters-lead_filter_id$NWE
    Filter Name: (short description of the filter)$NWB#lead_filters-lead_filter_name$NWE
    Filter Comments: $NWB#lead_filters-lead_filter_comments$NWE
    Admin User Group: $NWB#vicidial_lead_filters-user_group$NWE
    Filter SQL: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
    Filter SQL: $NWB#lead_filters-lead_filter_sql$NWE
    \n"; @@ -30110,7 +30127,7 @@ if ($ADD==321111111) $row=mysql_fetch_row($rslt); $ct_state_call_times = $row[0]; - if (eregi("\|$",$ct_state_call_times)) + if (preg_match('/\|$/i',$ct_state_call_times)) {$ct_state_call_times = "$ct_state_call_times$state_rule\|";} else {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} @@ -30119,7 +30136,7 @@ if ($ADD==321111111) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD STATE RULE', event_sql=\"$SQL_log\", event_notes='State Rule Added: $state_rule';"; if ($DB) {echo "|$stmt|\n";} @@ -30134,13 +30151,13 @@ if ($ADD==321111111) $row=mysql_fetch_row($rslt); $ct_state_call_times = $row[0]; - $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); + $ct_state_call_times = preg_replace("/\|$state_rule\|/i", '|',$ct_state_call_times); $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE STATE RULE', event_sql=\"$SQL_log\", event_notes='State Rule Removed: $state_rule';"; if ($DB) {echo "|$stmt|\n";} @@ -30156,7 +30173,7 @@ if ($ADD==321111111) $row=mysql_fetch_row($rslt); $ct_holidays = $row[0]; - if (eregi("\|$",$ct_holidays)) + if (preg_match('/\|$/i',$ct_holidays)) {$ct_holidays = "$ct_holidays$holiday_rule\|";} else {$ct_holidays = "$ct_holidays\|$holiday_rule\|";} @@ -30165,7 +30182,7 @@ if ($ADD==321111111) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Holiday Rule Added: $holiday_rule';"; if ($DB) {echo "|$stmt|\n";} @@ -30180,13 +30197,13 @@ if ($ADD==321111111) $row=mysql_fetch_row($rslt); $ct_holidays = $row[0]; - $ct_holidays = eregi_replace("\|$holiday_rule\|",'|',$ct_holidays); + $ct_holidays = preg_replace("/\|$holiday_rule\|/i", '|',$ct_holidays); $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Holiday Rule Removed: $holiday_rule';"; if ($DB) {echo "|$stmt|\n";} @@ -30225,7 +30242,7 @@ if ($ADD==322111111) $row=mysql_fetch_row($rslt); $ct_holidays = $row[0]; - if (eregi("\|$",$ct_holidays)) + if (preg_match('/\|$/i',$ct_holidays)) {$ct_holidays = "$ct_holidays$holiday_rule\|";} else {$ct_holidays = "$ct_holidays\|$holiday_rule\|";} @@ -30234,7 +30251,7 @@ if ($ADD==322111111) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME ADD HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Holiday Rule Added: $holiday_rule';"; if ($DB) {echo "|$stmt|\n";} @@ -30249,13 +30266,13 @@ if ($ADD==322111111) $row=mysql_fetch_row($rslt); $ct_holidays = $row[0]; - $ct_holidays = eregi_replace("\|$holiday_rule\|",'|',$ct_holidays); + $ct_holidays = preg_replace("/\|$holiday_rule\|/i",'|',$ct_holidays); $stmt="UPDATE vicidial_state_call_times set ct_holidays='$ct_holidays' where state_call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME REMOVE HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Holiday Rule Removed: $holiday_rule';"; if ($DB) {echo "|$stmt|\n";} @@ -30329,21 +30346,21 @@ if ($ADD==311111111) 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 "$NWB#call_times-user_group$NWE\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; $ct_srs=1; @@ -30550,22 +30567,22 @@ if ($ADD==3111111111) echo "\n"; echo "\n"; echo "
    Call Time ID: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
    Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
    Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
    Call Time ID: $call_time_id$NWB#call_times-call_time_id$NWE
    Call Time Name: (short description of the call time)$NWB#call_times-call_time_name$NWE
    Call Time Comments: $NWB#call_times-call_time_comments$NWE
    Admin User Group: $NWB#vicidial_call_times-user_group$NWE
    Default Start: Default Stop: $NWB#vicidial_call_times-ct_default_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Sunday Start: Sunday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Monday Start: Monday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Tuesday Start: Tuesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Wednesday Start: Wednesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Thursday Start: Thursday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Friday Start: Friday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Saturday Start: Saturday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Default Start: Default Stop: $NWB#call_times-ct_default_start$NWE       AH Override: audio chooser $NWB#call_times-default_afterhours_filename_override$NWE
    Sunday Start: Sunday Stop: $NWB#call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#call_times-default_afterhours_filename_override$NWE
    Monday Start: Monday Stop: $NWB#call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#call_times-default_afterhours_filename_override$NWE
    Tuesday Start: Tuesday Stop: $NWB#call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#call_times-default_afterhours_filename_override$NWE
    Wednesday Start: Wednesday Stop: $NWB#call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#call_times-default_afterhours_filename_override$NWE
    Thursday Start: Thursday Stop: $NWB#call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#call_times-default_afterhours_filename_override$NWE
    Friday Start: Friday Stop: $NWB#call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#call_times-default_afterhours_filename_override$NWE
    Saturday Start: Saturday Stop: $NWB#call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#call_times-default_afterhours_filename_override$NWE
    \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 "$NWB#call_times-user_group$NWE\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -30625,6 +30642,7 @@ if ($ADD==3111111111) + # echo "\n"; echo "
    Call Time ID: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
    State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
    State Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
    State Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
    Call Time ID: $call_time_id$NWB#call_times-call_time_id$NWE
    State Call Time State: $NWB#call_times-state_call_time_state$NWE
    State Call Time Name: (short description of the call time)$NWB#call_times-call_time_name$NWE
    State Call Time Comments: $NWB#call_times-call_time_comments$NWE
    Admin User Group: $NWB#vicidial_call_times-user_group$NWE
    Default Start: Default Stop: $NWB#vicidial_call_times-ct_default_start$NWE
    Sunday Start: Sunday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Monday Start: Monday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Tuesday Start: Tuesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Wednesday Start: Wednesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Thursday Start: Thursday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Friday Start: Friday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Saturday Start: Saturday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Default Start: Default Stop: $NWB#call_times-ct_default_start$NWE
    Sunday Start: Sunday Stop: $NWB#call_times-ct_sunday_start$NWE
    Monday Start: Monday Stop: $NWB#call_times-ct_sunday_start$NWE
    Tuesday Start: Tuesday Stop: $NWB#call_times-ct_sunday_start$NWE
    Wednesday Start: Wednesday Stop: $NWB#call_times-ct_sunday_start$NWE
    Thursday Start: Thursday Stop: $NWB#call_times-ct_sunday_start$NWE
    Friday Start: Friday Stop: $NWB#call_times-ct_sunday_start$NWE
    Saturday Start: Saturday Stop: $NWB#call_times-ct_sunday_start$NWE
     


    \n"; echo "CALL TIMES USING THIS STATE CALL TIME:
    \n"; echo "\n"; @@ -30694,16 +30712,16 @@ if ($ADD==3211111111) echo "\n"; echo "\n"; echo "
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#call_times-user_group$NWE\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo " $NWB#call_times-holiday_date$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    Holiday ID: $holiday_id$NWB#vicidial_call_times-holiday_id$NWE
    Holiday Name: (short description of the holiday)$NWB#vicidial_call_times-holiday_name$NWE
    Holiday Comments: $NWB#vicidial_call_times-holiday_comments$NWE
    Holiday ID: $holiday_id$NWB#call_times-holiday_id$NWE
    Holiday Name: (short description of the holiday)$NWB#call_times-holiday_name$NWE
    Holiday Comments: $NWB#call_times-holiday_comments$NWE
    Admin User Group: $NWB#vicidial_call_times-user_group$NWE
    Default Start: Default Stop: $NWB#vicidial_call_times-ct_default_start$NWE
    Default Start: Default Stop: $NWB#call_times-ct_default_start$NWE
    AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    AH Override: audio chooser $NWB#call_times-default_afterhours_filename_override$NWE
    Holiday Date: \n"; echo " $NWB#vicidial_call_times-holiday_date$NWE
    Holiday Status: $NWB#vicidial_call_times-holiday_status$NWE
    Holiday Status: $NWB#call_times-holiday_status$NWE


    \n"; @@ -30823,39 +30841,39 @@ if ($ADD==331111111) echo "\n"; echo "
    \n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#shifts-user_group$NWE\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#shifts-report_rank$NWE\n"; echo "\n"; echo "
    Shift ID: $shift_id
    Shift Name: (short description of the shift)$NWB#vicidial_shifts-shift_name$NWE
    Shift Name: (short description of the shift)$NWB#shifts-shift_name$NWE
    Admin User Group: $NWB#vicidial_shifts-user_group$NWE
    Shift Start Time: \n"; echo "   Shift End Time: \n"; - echo " $NWB#vicidial_shifts-shift_start_time$NWE
    Shift Length: $NWB#vicidial_shifts-shift_length$NWE
    Shift Weekdays:
    $NWB#vicidial_shifts-shift_weekdays$NWE
    \n"; + echo " $NWB#shifts-shift_start_time$NWE
    Shift Length: $NWB#shifts-shift_length$NWE
    Shift Weekdays:
    $NWB#shifts-shift_weekdays$NWE
    \n"; echo "Sunday
    \n"; echo "Monday
    \n"; echo "Tuesday
    \n"; echo "Wednesday
    \n"; echo "Thursday
    \n"; echo "Friday
    \n"; echo "Saturday
    \n"; echo "
    Report Option: $NWB#vicidial_shifts-report_option$NWE
    Report Option: $NWB#shifts-report_option$NWE
    Report Rank: $NWB#vicidial_shifts-report_rank$NWE
    \n"; @@ -30994,13 +31012,13 @@ if ($ADD==31111111111) echo "
    On-Hook Agent: $NWB#phones-on_hook_agent$NWE
    Manager Login: $NWB#phones-ASTmgrUSERNAME$NWE
    Manager Secret: $NWB#phones-ASTmgrSECRET$NWE
    VICIDIAL Default User: $NWB#phones-login_user$NWE
    VICIDIAL Default Pass: $NWB#phones-login_pass$NWE
    VICIDIAL Default Campaign: $NWB#phones-login_campaign$NWE
    Agent Default User: $NWB#phones-login_user$NWE
    Agent Default Pass: $NWB#phones-login_pass$NWE
    Agent Default Campaign: $NWB#phones-login_campaign$NWE
    Park Exten: $NWB#phones-park_on_extension$NWE
    Conf Exten: $NWB#phones-conf_on_extension$NWE
    VICIDIAL Park Exten: $NWB#phones-VICIDIAL_park_on_extension$NWE
    VICIDIAL Park File: $NWB#phones-VICIDIAL_park_on_filename$NWE
    Agent Park Exten: $NWB#phones-park_on_extension$NWE
    Agent Park File: $NWB#phones-park_on_filename$NWE
    Monitor Prefix: $NWB#phones-monitor_prefix$NWE
    Recording Exten: $NWB#phones-recording_exten$NWE
    VMailMain Exten: $NWB#phones-voicemail_exten$NWE
    DTMFSend Channel: $NWB#phones-dtmf_send_extension$NWE
    Outbound Call Group: $NWB#phones-call_out_number_group$NWE
    CallerID URL: $NWB#phones-local_web_callerID_URL$NWE
    VICIDIAL Default URL: $NWB#phones-VICIDIAL_web_URL$NWE
    Agent Default URL: $NWB#phones-agent_web_URL$NWE
    Call Logging: $NWB#phones-AGI_call_logging_enabled$NWE
    User Switching: $NWB#phones-user_switching_enabled$NWE
    Conferencing: $NWB#phones-conferencing_enabled$NWE
    Asterisk Version: $NWB#servers-asterisk_version$NWE
    Max VICIDIAL Trunks: $NWB#servers-max_vicidial_trunks$NWE
    Max Trunks: $NWB#servers-max_trunks$NWE
    Max Calls per Second: $NWB#servers-outbound_calls_per_second$NWE
    VICIDIAL Balance Dialing: $NWB#servers-vicidial_balance_active$NWE
    VICIDIAL Balance Rank: $NWB#servers-vicidial_balance_rank$NWE
    VICIDIAL Balance Offlimits: $NWB#servers-balance_trunks_offlimits$NWE
    Balance Dialing: $NWB#servers-balance_active$NWE
    Balance Rank: $NWB#servers-balance_rank$NWE
    Balance Offlimits: $NWB#servers-balance_trunks_offlimits$NWE
    Telnet Host: $NWB#servers-telnet_host$NWE
    Telnet Port: $NWB#servers-telnet_port$NWE
    Manager User: $NWB#servers-ASTmgrUSERNAME$NWE
    Conf File Secret: $NWB#servers-conf_secret$NWE     Strength:
    Local GMT: (Do NOT Adjust for DST)$NWB#servers-local_gmt$NWE
    VMail Dump Exten: $NWB#servers-voicemail_dump_exten$NWE
    VICIDIAL AD extension: $NWB#servers-answer_transfer_agent$NWE
    auto dial extension: $NWB#servers-answer_transfer_agent$NWE
    Default Context: $NWB#servers-ext_context$NWE
    System Performance: $NWB#servers-sys_perf_log$NWE
    Server Logs: $NWB#servers-vd_server_logs$NWE
    Active Twin Server IP: $NWB#servers-active_twin_server_ip$NWE
    Active Asterisk Server: $NWB#servers-active_asterisk_server$NWE
    Active Agent Server: $NWB#servers-active_agent_login_server$NWE
    Generate conf files: $NWB#servers-generate_vicidial_conf$NWE
    Generate conf files: $NWB#servers-generate_conf$NWE
    Rebuild conf files: $NWB#servers-rebuild_conf_files$NWE
    Rebuild Music On Hold: $NWB#servers-rebuild_music_on_hold$NWE
    Sounds Update: $NWB#servers-sounds_update$NWE
    ViciDial Recording Limit: $NWB#servers-vicidial_recording_limit$NWE
    Recording Limit: $NWB#servers-recording_limit$NWE
    \n"; echo "\n"; @@ -31369,7 +31387,7 @@ if ($ADD==311111111111) $rowx=mysql_fetch_row($rslt); $o++; - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -31386,7 +31404,7 @@ if ($ADD==311111111111) echo "
    CAMPAIGN TRUNKS RESTRICTION DELETE
    \n"; - echo "
    ADD NEW SERVER VICIDIAL TRUNK RECORD
    \n"; + echo "
    ADD NEW SERVER TRUNK RECORD
    \n"; echo "\n"; echo "\n"; echo "TRUNKS:
    \n"; @@ -31417,10 +31435,10 @@ if ($ADD==311111111111) { $rowx=mysql_fetch_row($rsltx); $o++; - if (ereg("Y", $rowx[3])) {$active_carriers++;} - if (ereg("N", $rowx[3])) {$inactive_carriers++;} + if (preg_match('/Y/', $rowx[3])) {$active_carriers++;} + if (preg_match('/N/', $rowx[3])) {$inactive_carriers++;} - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -31449,10 +31467,10 @@ if ($ADD==311111111111) { $rowx=mysql_fetch_row($rsltx); $o++; - if (ereg("Y", $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} - if (ereg("N", $rowx[1])) {$inactive_phones++;} + if (preg_match('/Y/', $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} + if (preg_match('/N/', $rowx[1])) {$inactive_phones++;} - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -31482,7 +31500,7 @@ if ($ADD==311111111111) $o++; $active_confs++; - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -31495,7 +31513,7 @@ if ($ADD==311111111111) ### list of vicidial conferences on this server echo "
    \n"; - echo "
    VICIDIAL CONFERENCES WITHIN THIS SERVER:
    \n"; + echo "
    AGENT CONFERENCES WITHIN THIS SERVER:
    \n"; echo "\n"; echo "\n"; @@ -31512,7 +31530,7 @@ if ($ADD==311111111111) $o++; $active_vdconfs++; - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -31525,7 +31543,7 @@ if ($ADD==311111111111) echo "
    \n"; - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace('/.$/i','',$camp_lists);; echo "This server has $active_carriers active carriers and $inactive_carriers inactive carriers

    \n"; echo "This server has $active_phones active phones and $inactive_phones inactive phones

    \n"; echo "This server has $active_confs active conferences

    \n"; @@ -31578,12 +31596,12 @@ if ($ADD==331111111111) echo "
    VD CONFERENCEEXTENSION
    \n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#conf_templates-user_group$NWE\n"; + echo "\n"; echo "\n"; echo "
    Template ID: $template_id
    Template Name: $NWB#vicidial_conf_templates-template_name$NWE
    Template Name: $NWB#conf_templates-template_name$NWE
    Admin User Group: $NWB#vicidial_conf_templates-user_group$NWE
    Template Contents: $NWB#vicidial_conf_templates-template_contents$NWE
    Template Contents: $NWB#conf_templates-template_contents$NWE
    \n"; @@ -31607,10 +31625,10 @@ if ($ADD==331111111111) { $rowx=mysql_fetch_row($rsltx); $o++; - if (ereg("Y", $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} - if (ereg("N", $rowx[1])) {$inactive_phones++;} + if (preg_match('/Y/', $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} + if (preg_match('/N/', $rowx[1])) {$inactive_phones++;} - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -31638,10 +31656,10 @@ if ($ADD==331111111111) { $rowx=mysql_fetch_row($rsltx); $o++; - if (ereg("Y", $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} - if (ereg("N", $rowx[1])) {$inactive_phones++;} + if (preg_match('/Y/', $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} + if (preg_match('/N/', $rowx[1])) {$inactive_phones++;} - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -31708,13 +31726,13 @@ if ($ADD==341111111111) echo "
    \n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#server_carriers-user_group$NWE\n"; + echo "\n"; echo "\n"; + echo "$NWB#server_carriers-template_id$NWE\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#server_carriers-server_ip$NWE\n"; + echo "\n"; echo "\n"; echo "
    Carrier ID: $carrier_id
    Carrier Name: $NWB#vicidial_server_carriers-carrier_name$NWE
    Carrier Description: $NWB#vicidial_server_carriers-carrier_description$NWE
    Carrier Name: $NWB#server_carriers-carrier_name$NWE
    Carrier Description: $NWB#server_carriers-carrier_description$NWE
    Admin User Group: $NWB#vicidial_server_carriers-user_group$NWE
    Registration String: $NWB#vicidial_server_carriers-registration_string$NWE
    Registration String: $NWB#server_carriers-registration_string$NWE
    Template ID: $NWB#vicidial_server_carriers-template_id$NWE
    Account Entry: $NWB#vicidial_server_carriers-account_entry$NWE
    Protocol: $NWB#vicidial_server_carriers-protocol$NWE
    Globals String: $NWB#vicidial_server_carriers-globals_string$NWE
    Account Entry: $NWB#server_carriers-account_entry$NWE
    Protocol: $NWB#server_carriers-protocol$NWE
    Globals String: $NWB#server_carriers-globals_string$NWE
    Dialplan Entry: $NWB#vicidial_server_carriers-dialplan_entry$NWE
    Dialplan Entry: $NWB#server_carriers-dialplan_entry$NWE
    Server IP: $NWB#vicidial_server_carriers-server_ip$NWE
    Active: $NWB#vicidial_server_carriers-active$NWE
    Active: $NWB#server_carriers-active$NWE
    \n"; @@ -31796,16 +31814,16 @@ if ($ADD==351111111111) echo "
    \n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#tts_prompts-user_group$NWE\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    TTS ID: $tts_id
    TTS Name: $NWB#vicidial_tts_prompts-tts_name$NWE
    Active: $NWB#vicidial_tts_prompts-active$NWE
    TTS Name: $NWB#tts_prompts-tts_name$NWE
    Active: $NWB#tts_prompts-active$NWE
    Admin User Group: $NWB#vicidial_tts_prompts-user_group$NWE
    TTS Voice: $NWB#vicidial_tts_prompts-tts_voice$NWE
    TTS Voice: $NWB#tts_prompts-tts_voice$NWE
    TTS Text: $NWB#vicidial_tts_prompts-tts_text$NWE
    TTS Text: $NWB#tts_prompts-tts_text$NWE
    \n"; @@ -31859,15 +31877,15 @@ if ($ADD==361111111111) echo "
    \n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#music_on_hold-user_group$NWE\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    Music On Hold ID: $moh_id
    Music On Hold Name: $NWB#vicidial_music_on_hold-moh_name$NWE
    Music On Hold Name: $NWB#music_on_hold-moh_name$NWE
    Admin User Group: $NWB#vicidial_music_on_hold-user_group$NWE
    Active: $NWB#vicidial_music_on_hold-active$NWE
    Random Order: $NWB#vicidial_music_on_hold-random$NWE
    Active: $NWB#music_on_hold-active$NWE
    Random Order: $NWB#music_on_hold-random$NWE
    Audio Files: \n"; ##### get files listing for rank/delete options @@ -31895,7 +31913,7 @@ if ($ADD==361111111111) echo "
    Add An Audio File: audio chooser $NWB#vicidial_music_on_hold-filename$NWE
    Add An Audio File: audio chooser $NWB#music_on_hold-filename$NWE
    \n"; @@ -31957,18 +31975,18 @@ if ($ADD==371111111111) 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 "$NWB#voicemail-user_group$NWE\n"; + echo "\n"; if ($SSallow_voicemail_greeting > 0) { - echo "\n"; + echo "\n"; } else {echo "$voicemail_timezone $NWB#vicidial_voicemail-voicemail_timezone$NWE\n"; - echo "\n"; + echo " $NWB#voicemail-voicemail_timezone$NWE\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -32065,54 +32083,54 @@ if ($ADD==381111111111) echo "
    Voicemail ID: $voicemail_id
    Password: $NWB#vicidial_voicemail-pass$NWE
    Name: $NWB#vicidial_voicemail-fullname$NWE
    Email: $NWB#vicidial_voicemail-email$NWE
    Active: $NWB#vicidial_voicemail-active$NWE
    Password: $NWB#voicemail-pass$NWE
    Name: $NWB#voicemail-fullname$NWE
    Email: $NWB#voicemail-email$NWE
    Active: $NWB#voicemail-active$NWE
    Admin User Group: $NWB#vicidial_voicemail-user_group$NWE
    Delete Voicemail After Email: $NWB#vicidial_voicemail-delete_vm_after_email$NWE
    Delete Voicemail After Email: $NWB#voicemail-delete_vm_after_email$NWE
    Voicemail Greeting: audio chooser $NWB#vicidial_voicemail-voicemail_greeting$NWE
    Voicemail Greeting: audio chooser $NWB#voicemail-voicemail_greeting$NWE
    Voicemail Options: $NWB#vicidial_voicemail-voicemail_options$NWE
    Voicemail Options: $NWB#voicemail-voicemail_options$NWE
    New Messages: $messages
    Old Messages: $old_messages
    \n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "$NWB#screen_labels-user_group$NWE\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 "\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 "
    Label ID: $label_id
    Label Name: $NWB#vicidial_screen_labels-label_name$NWE
    Label Name: $NWB#screen_labels-label_name$NWE
    Active: $NWB#vicidial_screen_labels-active$NWE
    Active: $NWB#screen_labels-active$NWE
    Admin User Group: $NWB#vicidial_screen_labels-user_group$NWE
    Hide Label in Call Logs: $NWB#vicidial_screen_labels-label_hide_field_logs$NWE
    Hide Label in Call Logs: $NWB#screen_labels-label_hide_field_logs$NWE
    Label Title: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Title: $NWB#screen_labels-default_field_labels$NWE
    Label First Name: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label First Name: $NWB#screen_labels-default_field_labels$NWE
    Label Middle Initial: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Middle Initial: $NWB#screen_labels-default_field_labels$NWE
    Label Last Name: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Last Name: $NWB#screen_labels-default_field_labels$NWE
    Label Address1: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Address1: $NWB#screen_labels-default_field_labels$NWE
    Label Address2: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Address2: $NWB#screen_labels-default_field_labels$NWE
    Label Address3: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Address3: $NWB#screen_labels-default_field_labels$NWE
    Label City: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label City: $NWB#screen_labels-default_field_labels$NWE
    Label State: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label State: $NWB#screen_labels-default_field_labels$NWE
    Label Province: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Province: $NWB#screen_labels-default_field_labels$NWE
    Label Postal Code: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Postal Code: $NWB#screen_labels-default_field_labels$NWE
    Label Vendor Lead Code: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Vendor Lead Code: $NWB#screen_labels-default_field_labels$NWE
    Label Gender: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Gender: $NWB#screen_labels-default_field_labels$NWE
    Label Phone Number: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Phone Number: $NWB#screen_labels-default_field_labels$NWE
    Label Phone Code: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Phone Code: $NWB#screen_labels-default_field_labels$NWE
    Label Alt Phone: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Alt Phone: $NWB#screen_labels-default_field_labels$NWE
    Label Security Phrase: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Security Phrase: $NWB#screen_labels-default_field_labels$NWE
    Label Email: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Email: $NWB#screen_labels-default_field_labels$NWE
    Label Comments: $NWB#vicidial_screen_labels-default_field_labels$NWE
    Label Comments: $NWB#screen_labels-default_field_labels$NWE
    \n"; @@ -32305,7 +32323,7 @@ if ($ADD==31111111111111) $conf_exten = $row[0]; $server_ip = $row[1]; - echo "
    MODIFY A VICIDIAL CONFERENCE RECORD: $row[0]\n"; + echo "
    MODIFY AN AGENT CONFERENCE RECORD: $row[0]\n"; echo "\n"; echo "\n"; echo "\n"; @@ -32323,7 +32341,7 @@ if ($ADD==31111111111111) echo "
    \n"; if ($LOGast_delete_phones > 0) { - echo "

    DELETE THIS VICIDIAL CONFERENCE\n"; + echo "

    DELETE THIS AGENT CONFERENCE\n"; } } else @@ -32522,7 +32540,7 @@ if ($ADD==311111111111111) $allow_emails = $row[112]; $level_8_disable_add = $row[113]; - echo "
    MODIFY VICIDIAL SYSTEM SETTINGS\n"; + echo "
    MODIFY SYSTEM SETTINGS\n"; echo "\n"; echo "\n"; echo "
    \n"; @@ -32538,13 +32556,13 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "$NWB#settings-agent_disable$NWE\n"; echo "\n"; echo "\n"; echo "\n"; @@ -32904,7 +32922,7 @@ if ($ADD==321111111111111) echo ""; echo "
    \n"; - echo "VICIDIAL STATUSES WITHIN THIS SYSTEM:   $NWB#vicidial_statuses$NWE
    \n"; + echo "STATUSES WITHIN THIS SYSTEM:   $NWB#system_statuses$NWE
    \n"; echo "
    Today System Stats: $ALLtotal_calls - $ALLmax_inbound - $ALLmax_outbound - $ALLchannels_count - $ALLcalls_count - $ALLagent_count
    Use Non-Latin: $NWB#settings-use_non_latin$NWE
    Webroot Writable: $NWB#settings-webroot_writable$NWE
    VICIDIAL Agent Disable Display:
    Agent Disable Display: $NWB#settings-vicidial_agent_disable$NWE
    Allow SIPSAK Messages: $NWB#settings-allow_sipsak_messages$NWE
    Admin Home URL: $NWB#settings-admin_home_url$NWE
    Admin Modify Auto-Refresh: $NWB#settings-admin_modify_refresh$NWE
    \n"; echo "\n"; echo "\n"; @@ -32945,7 +32963,7 @@ if ($ADD==321111111111111) $AScategory = $rowx[4]; $o++; - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33038,7 +33056,7 @@ if ($ADD==331111111111111) echo ""; echo "
    \n"; - echo "VICIDIAL STATUS CATEGORIES:   $NWB#vicidial_status_categories$NWE
    \n"; + echo "STATUS CATEGORIES:   $NWB#status_categories$NWE
    \n"; echo "
    S
    T
    A
    T
    U
    S
    DESCRIPTION
    \n"; echo "\n"; @@ -33060,7 +33078,7 @@ if ($ADD==331111111111111) $p=0; while ($o > $p) { - if (eregi("1$|3$|5$|7$|9$", $p)) + if (preg_match("/1$|3$|5$|7$|9$/i", $p)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33187,7 +33205,7 @@ if ($ADD==660) if ($full_name) {$SQL .= " full_name LIKE \"%$full_name%\" and";} if ($user_level > 0) {$SQL .= " user_level LIKE \"%$user_level%\" and";} if ($user_group) {$SQL .= " user_group = '$user_group' and";} - $SQL = eregi_replace(" and$", "", $SQL); + $SQL = preg_replace('/\sand$/i', '', $SQL); if (strlen($SQL)>5) {$SQL = "and $SQL";} $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 from vicidial_users where user_level <= $LOGuser_level $LOGadmin_viewable_groupsSQL $SQL order by full_name desc;"; @@ -33202,7 +33220,7 @@ if ($ADD==660) while ($people_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33355,9 +33373,9 @@ if ($ADD==82) $GROUPlink='stage=GROUPDOWN'; $ENDATElink='stage=ENDATEDOWN'; $SQLorder='order by '; - if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc,'; $USERlink='stage=USERIDUP';} - if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc,'; $NAMElink='stage=NAMEUP';} - if (eregi("ENDATEDOWN",$stage)) {$SQLorder='order by entry_time desc,'; $LEVELlink='stage=LEVELUP';} + if (preg_match("/USERIDDOWN/i",$stage)) {$SQLorder='order by user desc,'; $USERlink='stage=USERIDUP';} + if (preg_match("/GROUPDOWN/i",$stage)) {$SQLorder='order by user_group desc,'; $NAMElink='stage=NAMEUP';} + if (preg_match("/ENDATEDOWN/i",$stage)) {$SQLorder='order by entry_time desc,'; $LEVELlink='stage=LEVELUP';} $stmt="SELECT callback_id,lead_id,list_id,campaign_id,status,entry_time,callback_time,modify_date,user,recipient,comments,user_group from vicidial_callbacks where status IN('ACTIVE','LIVE') $CBquerySQLwhere $SQLorder recipient,status desc,callback_time;"; $rslt=mysql_query($stmt, $link); @@ -33379,7 +33397,7 @@ if ($ADD==82) while ($cb_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33418,7 +33436,7 @@ if ($ADD==0) echo "
    CATEGORYNAMESTATUSES IN THIS CATEGORY
    \n"; echo ""; echo "
    USER LISTINGS: "; - if (ereg('display_all',$status)) + if (preg_match('/display_all/',$status)) { $SQLstatus = ''; echo "   show only active users\n"; @@ -33434,14 +33452,14 @@ if ($ADD==0) $LEVELlink='stage=LEVELDOWN'; $GROUPlink='stage=GROUPDOWN'; $SQLorder='order by full_name'; - if (eregi("USERIDUP",$stage)) {$SQLorder='order by user asc'; $USERlink='stage=USERIDDOWN';} - if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc'; $USERlink='stage=USERIDUP';} - if (eregi("NAMEUP",$stage)) {$SQLorder='order by full_name asc'; $NAMElink='stage=NAMEDOWN';} - if (eregi("NAMEDOWN",$stage)) {$SQLorder='order by full_name desc'; $NAMElink='stage=NAMEUP';} - if (eregi("LEVELUP",$stage)) {$SQLorder='order by user_level asc'; $LEVELlink='stage=LEVELDOWN';} - if (eregi("LEVELDOWN",$stage)) {$SQLorder='order by user_level desc'; $LEVELlink='stage=LEVELUP';} - if (eregi("GROUPUP",$stage)) {$SQLorder='order by user_group asc'; $GROUPlink='stage=GROUPDOWN';} - if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc'; $GROUPlink='stage=GROUPUP';} + if (preg_match("/USERIDUP/i",$stage)) {$SQLorder='order by user asc'; $USERlink='stage=USERIDDOWN';} + if (preg_match("/USERIDDOWN/i",$stage)) {$SQLorder='order by user desc'; $USERlink='stage=USERIDUP';} + if (preg_match("/NAMEUP/i",$stage)) {$SQLorder='order by full_name asc'; $NAMElink='stage=NAMEDOWN';} + if (preg_match("/NAMEDOWN/i",$stage)) {$SQLorder='order by full_name desc'; $NAMElink='stage=NAMEUP';} + if (preg_match("/LEVELUP/i",$stage)) {$SQLorder='order by user_level asc'; $LEVELlink='stage=LEVELDOWN';} + if (preg_match("/LEVELDOWN/i",$stage)) {$SQLorder='order by user_level desc'; $LEVELlink='stage=LEVELUP';} + if (preg_match("/GROUPUP/i",$stage)) {$SQLorder='order by user_group asc'; $GROUPlink='stage=GROUPDOWN';} + if (preg_match("/GROUPDOWN/i",$stage)) {$SQLorder='order by user_group desc'; $GROUPlink='stage=GROUPUP';} $stmt="SELECT user,full_name,user_level,user_group,active from vicidial_users where user_level <= $LOGuser_level $LOGadmin_viewable_groupsSQL $SQLstatus $SQLorder"; $rslt=mysql_query($stmt, $link); $people_to_print = mysql_num_rows($rslt); @@ -33459,7 +33477,7 @@ if ($ADD==0) while ($people_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33510,7 +33528,7 @@ if ($ADD==10) while ($campaigns_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33548,18 +33566,18 @@ if ($ADD==100) $CAMPAIGNlink='stage=CAMPAIGNDOWN'; $CALLDATElink='stage=CALLDATEDOWN'; $SQLorder='order by list_id'; - if (eregi("LISTIDUP",$stage)) {$SQLorder='order by list_id asc'; $LISTlink='stage=LISTIDDOWN';} - if (eregi("LISTIDDOWN",$stage)) {$SQLorder='order by list_id desc'; $LISTlink='stage=LISTIDUP';} - if (eregi("LISTNAMEUP",$stage)) {$SQLorder='order by list_name asc'; $NAMElink='stage=LISTNAMEDOWN';} - if (eregi("LISTNAMEDOWN",$stage)) {$SQLorder='order by list_name desc'; $NAMElink='stage=LISTNAMEUP';} - if (eregi("TALLYUP",$stage)) {$SQLorder='order by tally asc'; $TALLYlink='stage=TALLYDOWN';} - if (eregi("TALLYDOWN",$stage)) {$SQLorder='order by tally desc'; $TALLYlink='stage=TALLYUP';} - if (eregi("ACTIVEUP",$stage)) {$SQLorder='order by active asc'; $ACTIVElink='stage=ACTIVEDOWN';} - if (eregi("ACTIVEDOWN",$stage)) {$SQLorder='order by active desc'; $ACTIVElink='stage=ACTIVEUP';} - if (eregi("CAMPAIGNUP",$stage)) {$SQLorder='order by campaign_id asc'; $CAMPAIGNlink='stage=CAMPAIGNDOWN';} - if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} - if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} - if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} + if (preg_match('/LISTIDUP/i', $stage)) {$SQLorder='order by list_id asc'; $LISTlink='stage=LISTIDDOWN';} + if (preg_match('/LISTIDDOWN/i', $stage)) {$SQLorder='order by list_id desc'; $LISTlink='stage=LISTIDUP';} + if (preg_match('/LISTNAMEUP/i', $stage)) {$SQLorder='order by list_name asc'; $NAMElink='stage=LISTNAMEDOWN';} + if (preg_match('/LISTNAMEDOWN/i', $stage)) {$SQLorder='order by list_name desc'; $NAMElink='stage=LISTNAMEUP';} + if (preg_match('/TALLYUP/i', $stage)) {$SQLorder='order by tally asc'; $TALLYlink='stage=TALLYDOWN';} + if (preg_match('/TALLYDOWN/i', $stage)) {$SQLorder='order by tally desc'; $TALLYlink='stage=TALLYUP';} + if (preg_match('/ACTIVEUP/i', $stage)) {$SQLorder='order by active asc'; $ACTIVElink='stage=ACTIVEDOWN';} + if (preg_match('/ACTIVEDOWN/i', $stage)) {$SQLorder='order by active desc'; $ACTIVElink='stage=ACTIVEUP';} + if (preg_match('/CAMPAIGNUP/i',$stage)) {$SQLorder='order by campaign_id asc'; $CAMPAIGNlink='stage=CAMPAIGNDOWN';} + if (preg_match('/CAMPAIGNUP/i', $stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} + if (preg_match('/CALLDATEUP/i', $stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} + if (preg_match('/CALLDATEDOWN/i', $stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; if ($SSadmin_list_counts < 1) {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists $whereLOGallowed_campaignsSQL $SQLorder";} @@ -33585,7 +33603,7 @@ if ($ADD==100) while ($lists_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33612,7 +33630,7 @@ if ($ADD==100) while ($lists_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33664,7 +33682,7 @@ if ($ADD==1000) while ($ingroups_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33719,7 +33737,7 @@ if ( ($ADD==1800) and ($SSallow_emails>0) ) $ct_row=mysql_fetch_row($ct_rslt); $unhandled_emails=$ct_row[0]; - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33767,7 +33785,7 @@ if ($ADD==1300) while ($dids_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33830,7 +33848,7 @@ if ($ADD==1500) $stmt="SELECT count(*) from vicidial_call_menu_options where menu_id=\"$menu_id[$o]\";"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33876,7 +33894,7 @@ if ($ADD==1700) while ($lists_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33897,7 +33915,7 @@ if ($ADD==1700) while ($lists_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -33963,7 +33981,7 @@ if ($ADD==10000) while ($remoteagents_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34010,7 +34028,7 @@ if ($ADD==12000) while ($extensiongroups_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34053,7 +34071,7 @@ if ($ADD==100000) while ($usergroups_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34093,7 +34111,7 @@ if ($ADD==1000000) while ($scripts_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34133,7 +34151,7 @@ if ($ADD==10000000) while ($filters_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34177,7 +34195,7 @@ if ($ADD==100000000) while ($calltimes_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34220,7 +34238,7 @@ if ($ADD==1000000000) while ($statecalltimes_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34265,7 +34283,7 @@ if ($ADD==1200000000) while ($holidays_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34310,7 +34328,7 @@ if ($ADD==130000000) while ($shifts_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34340,14 +34358,14 @@ if ($ADD==10000000000) $SERVERlink='stage=SERVERDOWN'; $STATUSlink='stage=STATUSDOWN'; $SQLorder='order by extension,server_ip'; - if (eregi("EXTENUP",$stage)) {$SQLorder='order by extension asc'; $EXTENlink='stage=EXTENDOWN';} - if (eregi("EXTENDOWN",$stage)) {$SQLorder='order by extension desc'; $EXTENlink='stage=EXTENUP';} - if (eregi("PROTOUP",$stage)) {$SQLorder='order by protocol asc'; $PROTOlink='stage=PROTODOWN';} - if (eregi("PROTODOWN",$stage)) {$SQLorder='order by protocol desc'; $PROTOlink='stage=PROTOUP';} - if (eregi("SERVERUP",$stage)) {$SQLorder='order by server_ip asc'; $SERVERlink='stage=SERVERDOWN';} - if (eregi("SERVERDOWN",$stage)) {$SQLorder='order by server_ip desc'; $SERVERlink='stage=SERVERUP';} - if (eregi("STATUSUP",$stage)) {$SQLorder='order by status asc'; $STATUSlink='stage=STATUSDOWN';} - if (eregi("STATUSDOWN",$stage)) {$SQLorder='order by status desc'; $STATUSlink='stage=STATUSUP';} + if (preg_match("/EXTENUP/i",$stage)) {$SQLorder='order by extension asc'; $EXTENlink='stage=EXTENDOWN';} + if (preg_match("/EXTENDOWN/i",$stage)) {$SQLorder='order by extension desc'; $EXTENlink='stage=EXTENUP';} + if (preg_match("/PROTOUP/i",$stage)) {$SQLorder='order by protocol asc'; $PROTOlink='stage=PROTODOWN';} + if (preg_match("/PROTODOWN/i",$stage)) {$SQLorder='order by protocol desc'; $PROTOlink='stage=PROTOUP';} + if (preg_match("/SERVERUP/i",$stage)) {$SQLorder='order by server_ip asc'; $SERVERlink='stage=SERVERDOWN';} + if (preg_match("/SERVERDOWN/i",$stage)) {$SQLorder='order by server_ip desc'; $SERVERlink='stage=SERVERUP';} + if (preg_match("/STATUSUP/i",$stage)) {$SQLorder='order by status asc'; $STATUSlink='stage=STATUSDOWN';} + if (preg_match("/STATUSDOWN/i",$stage)) {$SQLorder='order by status desc'; $STATUSlink='stage=STATUSUP';} $stmt="SELECT extension,protocol,server_ip,dialplan_number,voicemail_id,status,fullname,messages,old_messages,user_group from phones $whereLOGadmin_viewable_groupsSQL $SQLorder"; $rslt=mysql_query($stmt, $link); $phones_to_print = mysql_num_rows($rslt); @@ -34369,7 +34387,7 @@ if ($ADD==10000000000) while ($phones_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34415,7 +34433,7 @@ if ($ADD==12000000000) while ($phonealias_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34457,7 +34475,7 @@ if ($ADD==13000000000) while ($phonealias_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34502,7 +34520,7 @@ if ($ADD==100000000000) while ($servers_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34544,7 +34562,7 @@ if ($ADD==130000000000) while ($templates_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34586,7 +34604,7 @@ if ($ADD==140000000000) while ($carriers_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34632,11 +34650,11 @@ if ($ADD==150000000000) while ($tts_to_print > $o) { $row=mysql_fetch_row($rslt); - $row[3]=ereg_replace(";|<|>","",$row[3]); + $row[3]=preg_replace('/;|<|>/', '', $row[3]); while(strlen($row[3]) > 50) {$row[3] = substr("$row[3]", 0, -1);} if(strlen($row[3]) > 47) {$row[3] = "$row[3]...";} - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34680,11 +34698,11 @@ if ($ADD==160000000000) while ($moh_to_print > $o) { $row=mysql_fetch_row($rslt); - $row[3]=ereg_replace(";|<|>","",$row[3]); + $row[3]=preg_replace('/;|<|>/', '', $row[3]); while(strlen($row[3]) > 50) {$row[3] = substr("$row[3]", 0, -1);} if(strlen($row[3]) > 47) {$row[3] = "$row[3]...";} - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34730,7 +34748,7 @@ if ($ADD==170000000000) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34775,7 +34793,7 @@ if ($ADD==180000000000) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34832,7 +34850,7 @@ if ($ADD==190000000000) while (strlen($row[7])>20) {$row[7] = preg_replace("/.$/","",$row[7]);} while (strlen($row[8])>20) {$row[8] = preg_replace("/.$/","",$row[8]);} - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34875,7 +34893,7 @@ if ($ADD==1000000000000) while ($conferences_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34901,7 +34919,7 @@ if ($ADD==10000000000000) $rslt=mysql_query($stmt, $link); $vicidialconf_to_print = mysql_num_rows($rslt); - echo "
    VICIDIAL CONFERENCE LISTINGS:\n"; + echo "
    AGENT CONFERENCE LISTINGS:\n"; echo "
    \n"; echo ""; echo ""; @@ -34913,7 +34931,7 @@ if ($ADD==10000000000000) while ($vicidialconf_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -34978,27 +34996,27 @@ if ($ADD==700000000000000) while ($logs_to_print > $o) { $row=mysql_fetch_row($rslt); - if (eregi("USER|AGENT",$row[4])) {$record_link = "ADD=3&user=$row[6]";} - if (eregi('CAMPAIGN',$row[4])) {$record_link = "ADD=31&campaign_id=$row[6]";} - if (eregi('LIST',$row[4])) {$record_link = "ADD=311&list_id=$row[6]";} - if (eregi('SCRIPT',$row[4])) {$record_link = "ADD=3111111&script_id=$row[6]";} - if (eregi('FILTER',$row[4])) {$record_link = "ADD=31111111&lead_filter_id=$row[6]";} - if (eregi('INGROUP',$row[4])) {$record_link = "ADD=3111&group_id=$row[6]";} - if (eregi('DID',$row[4])) {$record_link = "ADD=3311&did_id=$row[6]";} - if (eregi('USERGROUP',$row[4])) {$record_link = "ADD=311111&user_group=$row[6]";} - if (eregi('REMOTEAGENT',$row[4])) {$record_link = "ADD=31111&remote_agent_id=$row[6]";} - if (eregi('PHONE',$row[4])) {$record_link = "ADD=10000000000";} - if (eregi('CALLTIME',$row[4])) {$record_link = "ADD=311111111&call_time_id=$row[6]";} - if (eregi('SHIFT',$row[4])) {$record_link = "ADD=331111111&shift_id=$row[6]";} - if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "ADD=331111111111&template_id=$row[6]";} - if (eregi('CARRIER',$row[4])) {$record_link = "ADD=341111111111&carrier_id=$row[6]";} - if (eregi('SERVER',$row[4])) {$record_link = "ADD=311111111111&server_id=$row[6]";} - if (eregi('CONFERENCE',$row[4])) {$record_link = "ADD=1000000000000";} - if (eregi('SYSTEM',$row[4])) {$record_link = "ADD=311111111111111";} - if (eregi('CATEGOR',$row[4])) {$record_link = "ADD=331111111111111";} - if (eregi('GROUPALIAS',$row[4])) {$record_link = "ADD=33111111111&group_alias_id=$row[6]";} + if (preg_match('/USER|AGENT/i', $row[4])) {$record_link = "ADD=3&user=$row[6]";} + if (preg_match('/CAMPAIGN/i', $row[4])) {$record_link = "ADD=31&campaign_id=$row[6]";} + if (preg_match('/LIST/i', $row[4])) {$record_link = "ADD=311&list_id=$row[6]";} + if (preg_match('/SCRIPT/i', $row[4])) {$record_link = "ADD=3111111&script_id=$row[6]";} + if (preg_match('/FILTER/i', $row[4])) {$record_link = "ADD=31111111&lead_filter_id=$row[6]";} + if (preg_match('/INGROUP/i', $row[4])) {$record_link = "ADD=3111&group_id=$row[6]";} + if (preg_match('/DID/i', $row[4])) {$record_link = "ADD=3311&did_id=$row[6]";} + if (preg_match('/USERGROUP/i', $row[4])) {$record_link = "ADD=311111&user_group=$row[6]";} + if (preg_match('/REMOTEAGENT/i', $row[4])) {$record_link = "ADD=31111&remote_agent_id=$row[6]";} + if (preg_match('/PHONE/i', $row[4])) {$record_link = "ADD=10000000000";} + if (preg_match('/CALLTIME/i', $row[4])) {$record_link = "ADD=311111111&call_time_id=$row[6]";} + if (preg_match('/SHIFT/i', $row[4])) {$record_link = "ADD=331111111&shift_id=$row[6]";} + if (preg_match('/CONFTEMPLATE/i', $row[4])) {$record_link = "ADD=331111111111&template_id=$row[6]";} + if (preg_match('/CARRIER/i', $row[4])) {$record_link = "ADD=341111111111&carrier_id=$row[6]";} + if (preg_match('/SERVER/i', $row[4])) {$record_link = "ADD=311111111111&server_id=$row[6]";} + if (preg_match('/CONFERENCE/i', $row[4])) {$record_link = "ADD=1000000000000";} + if (preg_match('/SYSTEM/i', $row[4])) {$record_link = "ADD=311111111111111";} + if (preg_match('/CATEGOR/i', $row[4])) {$record_link = "ADD=331111111111111";} + if (preg_match('/GROUPALIAS/i', $row[4])) {$record_link = "ADD=33111111111&group_alias_id=$row[6]";} - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -35065,27 +35083,27 @@ if ($ADD==710000000000000) { $row=mysql_fetch_row($rslt); - if (eregi("USER|AGENT",$row[4])) {$record_link = "ADD=3&user=$row[6]";} - if (eregi('CAMPAIGN',$row[4])) {$record_link = "ADD=31&campaign_id=$row[6]";} - if (eregi('LIST',$row[4])) {$record_link = "ADD=311&list_id=$row[6]";} - if (eregi('SCRIPT',$row[4])) {$record_link = "ADD=3111111&script_id=$row[6]";} - if (eregi('FILTER',$row[4])) {$record_link = "ADD=31111111&lead_filter_id=$row[6]";} - if (eregi('INGROUP',$row[4])) {$record_link = "ADD=3111&group_id=$row[6]";} - if (eregi('DID',$row[4])) {$record_link = "ADD=3311&did_id=$row[6]";} - if (eregi('USERGROUP',$row[4])) {$record_link = "ADD=311111&user_group=$row[6]";} - if (eregi('REMOTEAGENT',$row[4])) {$record_link = "ADD=31111&remote_agent_id=$row[6]";} - if (eregi('PHONE',$row[4])) {$record_link = "ADD=10000000000";} - if (eregi('CALLTIME',$row[4])) {$record_link = "ADD=311111111&call_time_id=$row[6]";} - if (eregi('SHIFT',$row[4])) {$record_link = "ADD=331111111&shift_id=$row[6]";} - if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "ADD=331111111111&template_id=$row[6]";} - if (eregi('CARRIER',$row[4])) {$record_link = "ADD=341111111111&carrier_id=$row[6]";} - if (eregi('SERVER',$row[4])) {$record_link = "ADD=311111111111&server_id=$row[6]";} - if (eregi('CONFERENCE',$row[4])) {$record_link = "ADD=1000000000000";} - if (eregi('SYSTEM',$row[4])) {$record_link = "ADD=311111111111111";} - if (eregi('CATEGOR',$row[4])) {$record_link = "ADD=331111111111111";} - if (eregi('GROUPALIAS',$row[4])) {$record_link = "ADD=33111111111&group_alias_id=$row[6]";} + if (preg_match('/USER|AGENT/i', $row[4])) {$record_link = "ADD=3&user=$row[6]";} + if (preg_match('/CAMPAIGN/i', $row[4])) {$record_link = "ADD=31&campaign_id=$row[6]";} + if (preg_match('/LIST/i', $row[4])) {$record_link = "ADD=311&list_id=$row[6]";} + if (preg_match('/SCRIPT/i', $row[4])) {$record_link = "ADD=3111111&script_id=$row[6]";} + if (preg_match('/FILTER/i', $row[4])) {$record_link = "ADD=31111111&lead_filter_id=$row[6]";} + if (preg_match('/INGROUP/i', $row[4])) {$record_link = "ADD=3111&group_id=$row[6]";} + if (preg_match('/DID/i', $row[4])) {$record_link = "ADD=3311&did_id=$row[6]";} + if (preg_match('/USERGROUP/i', $row[4])) {$record_link = "ADD=311111&user_group=$row[6]";} + if (preg_match('/REMOTEAGENT/i', $row[4])) {$record_link = "ADD=31111&remote_agent_id=$row[6]";} + if (preg_match('/PHONE/i', $row[4])) {$record_link = "ADD=10000000000";} + if (preg_match('/CALLTIME/i', $row[4])) {$record_link = "ADD=311111111&call_time_id=$row[6]";} + if (preg_match('/SHIFT/i', $row[4])) {$record_link = "ADD=331111111&shift_id=$row[6]";} + if (preg_match('/CONFTEMPLATE/i', $row[4])) {$record_link = "ADD=331111111111&template_id=$row[6]";} + if (preg_match('/CARRIER/i', $row[4])) {$record_link = "ADD=341111111111&carrier_id=$row[6]";} + if (preg_match('/SERVER/i', $row[4])) {$record_link = "ADD=311111111111&server_id=$row[6]";} + if (preg_match('/CONFERENCE/i', $row[4])) {$record_link = "ADD=1000000000000";} + if (preg_match('/SYSTEM/i', $row[4])) {$record_link = "ADD=311111111111111";} + if (preg_match('/CATEGOR/i', $row[4])) {$record_link = "ADD=331111111111111";} + if (preg_match('/GROUPALIAS/i', $row[4])) {$record_link = "ADD=33111111111&group_alias_id=$row[6]";} - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -35151,31 +35169,31 @@ if ($ADD==720000000000000) { $row=mysql_fetch_row($rslt); - if (eregi("USER|AGENT",$row[4])) {$record_link = "$PHP_SELF?ADD=3&user=$row[6]";} - if (eregi('CAMPAIGN',$row[4])) {$record_link = "$PHP_SELF?ADD=31&campaign_id=$row[6]";} - if (eregi('LIST',$row[4])) {$record_link = "$PHP_SELF?ADD=311&list_id=$row[6]";} - if (eregi('SCRIPT',$row[4])) {$record_link = "$PHP_SELF?ADD=3111111&script_id=$row[6]";} - if (eregi('FILTER',$row[4])) {$record_link = "$PHP_SELF?ADD=31111111&lead_filter_id=$row[6]";} - if (eregi('INGROUP',$row[4])) {$record_link = "$PHP_SELF?ADD=3111&group_id=$row[6]";} - if (eregi('DID',$row[4])) {$record_link = "$PHP_SELF?ADD=3311&did_id=$row[6]";} - if (eregi('USERGROUP',$row[4])) {$record_link = "$PHP_SELF?ADD=311111&user_group=$row[6]";} - if (eregi('REMOTEAGENT',$row[4])) {$record_link = "$PHP_SELF?ADD=31111&remote_agent_id=$row[6]";} - if (eregi('PHONE',$row[4])) {$record_link = "$PHP_SELF?ADD=10000000000";} - if (eregi('CALLTIME',$row[4])) {$record_link = "$PHP_SELF?ADD=311111111&call_time_id=$row[6]";} - if (eregi('CALLTIMES_STATE',$row[4])) {$record_link = "$PHP_SELF?ADD=3111111111&call_time_id=$row[6]";} - if (eregi('HOLIDAY',$row[4])) {$record_link = "$PHP_SELF?ADD=3211111111&holiday_id=$row[6]";} - if (eregi('SHIFT',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111&shift_id=$row[6]";} - if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111&template_id=$row[6]";} - if (eregi('CARRIER',$row[4])) {$record_link = "$PHP_SELF?ADD=341111111111&carrier_id=$row[6]";} - if (eregi('SERVER',$row[4])) {$record_link = "$PHP_SELF?ADD=311111111111&server_id=$row[6]";} - if (eregi('CONFERENCE',$row[4])) {$record_link = "$PHP_SELF?ADD=1000000000000";} - if (eregi('SYSTEM',$row[4])) {$record_link = "$PHP_SELF?ADD=311111111111111";} - if (eregi('CATEGOR',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111111";} - if (eregi('GROUPALIAS',$row[4])) {$record_link = "$PHP_SELF?ADD=33111111111&group_alias_id=$row[6]";} - if (eregi('LEADS',$row[4])) {$record_link = "./admin_modify_lead.php?lead_id=$row[6]";} - if (eregi('EMAIL',$row[4])) {$record_link = "./admin_email_accounts.php?eact=UPDATE&email_account_id=$row[6]";} + if (preg_match('/USER|AGENT/i', $row[4])) {$record_link = "$PHP_SELF?ADD=3&user=$row[6]";} + if (preg_match('/CAMPAIGN/i', $row[4])) {$record_link = "$PHP_SELF?ADD=31&campaign_id=$row[6]";} + if (preg_match('/LIST/i', $row[4])) {$record_link = "$PHP_SELF?ADD=311&list_id=$row[6]";} + if (preg_match('/SCRIPT/i', $row[4])) {$record_link = "$PHP_SELF?ADD=3111111&script_id=$row[6]";} + if (preg_match('/FILTER/i', $row[4])) {$record_link = "$PHP_SELF?ADD=31111111&lead_filter_id=$row[6]";} + if (preg_match('/INGROUP/i', $row[4])) {$record_link = "$PHP_SELF?ADD=3111&group_id=$row[6]";} + if (preg_match('/DID/i', $row[4])) {$record_link = "$PHP_SELF?ADD=3311&did_id=$row[6]";} + if (preg_match('/USERGROUP/i', $row[4])) {$record_link = "$PHP_SELF?ADD=311111&user_group=$row[6]";} + if (preg_match('/REMOTEAGENT/i', $row[4])) {$record_link = "$PHP_SELF?ADD=31111&remote_agent_id=$row[6]";} + if (preg_match('/PHONE/i', $row[4])) {$record_link = "$PHP_SELF?ADD=10000000000";} + if (preg_match('/CALLTIME/i', $row[4])) {$record_link = "$PHP_SELF?ADD=311111111&call_time_id=$row[6]";} + if (preg_match('/CALLTIMES_STATE/i',$row[4])) {$record_link = "$PHP_SELF?ADD=3111111111&call_time_id=$row[6]";} + if (preg_match('/HOLIDAY/i',$row[4])) {$record_link = "$PHP_SELF?ADD=3211111111&holiday_id=$row[6]";} + if (preg_match('/SHIFT/i', $row[4])) {$record_link = "$PHP_SELF?ADD=331111111&shift_id=$row[6]";} + if (preg_match('/CONFTEMPLATE/i', $row[4])) {$record_link = "$PHP_SELF?ADD=331111111111&template_id=$row[6]";} + if (preg_match('/CARRIER/i', $row[4])) {$record_link = "$PHP_SELF?ADD=341111111111&carrier_id=$row[6]";} + if (preg_match('/SERVER/i', $row[4])) {$record_link = "$PHP_SELF?ADD=311111111111&server_id=$row[6]";} + if (preg_match('/CONFERENCE/i', $row[4])) {$record_link = "$PHP_SELF?ADD=1000000000000";} + if (preg_match('/SYSTEM/i', $row[4])) {$record_link = "$PHP_SELF?ADD=311111111111111";} + if (preg_match('/CATEGOR/i', $row[4])) {$record_link = "$PHP_SELF?ADD=331111111111111";} + if (preg_match('/GROUPALIAS/i', $row[4])) {$record_link = "$PHP_SELF?ADD=33111111111&group_alias_id=$row[6]";} + if (preg_match('/LEADS/i',$row[4])) {$record_link = "./admin_modify_lead.php?lead_id=$row[6]";} + if (preg_match('/EMAIL/i',$row[4])) {$record_link = "./admin_email_accounts.php?eact=UPDATE&email_account_id=$row[6]";} - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -35257,7 +35275,7 @@ if ($ADD==730000000000000) echo ""; echo ""; echo "\n"; - $row[9] = eregi_replace("',","' ,",$row[9]); + $row[9] = preg_replace('/\',/i', '\' ,',$row[9]); $row[9] = preg_replace("/\|/","
    ",$row[9]); echo ""; echo ""; @@ -35318,7 +35336,7 @@ if ($ADD==800000000000000) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -35385,7 +35403,7 @@ if ($ADD==810000000000000) { $row=mysql_fetch_row($rslt); - if (eregi("1$|3$|5$|7$|9$", $o)) + if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -35879,12 +35897,12 @@ if ($ADD==999997) { $show_form=0; - $stmt="UPDATE vicidial_users SET pass='$pass',force_change_password='N' where user='$user' and force_change_password='Y' and active='Y' and user_level > 6;"; + $stmt="UPDATE vicidial_users SET pass='$pass',force_change_password='N',failed_login_count=0 where user='$user' and force_change_password='Y' and active='Y' and user_level > 6;"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_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='USERS', event_type='MODIFY', record_id='$user', event_code='USER FORCE CHANGE PASSWORD', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} @@ -35953,7 +35971,7 @@ if ($ADD==999996) if (strlen($default_local_gmt) < 2) {$default_local_gmt = $SSdefault_local_gmt;} if (strlen($default_voicemail_timezone) < 2) {$default_voicemail_timezone = $SSdefault_voicemail_timezone;} - $stmt="UPDATE vicidial_users SET pass='$pass',force_change_password='N' where user='$user' and active='Y' and user_level > 6;"; + $stmt="UPDATE vicidial_users SET pass='$pass',force_change_password='N',failed_login_count=0 where user='$user' and active='Y' and user_level > 6;"; $rslt=mysql_query($stmt, $link); $stmtA="UPDATE system_settings SET first_login_trigger='N',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',default_local_gmt='$default_local_gmt',default_voicemail_timezone='$default_voicemail_timezone';"; @@ -35967,7 +35985,7 @@ if ($ADD==999996) ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|$stmtA|$stmtB|$stmtC|"; - $SQL_log = ereg_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='USERS', event_type='MODIFY', record_id='$user', event_code='INITIAL SETTINGS UPDATE', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} @@ -36160,7 +36178,7 @@ if ($ADD==999993) {echo "Not found"; exit;} } - echo "
    Administration: Maximum Stats Detail for $stage $modify_link$campaign_id - $campaign_name   $NWB#vicidial_max_stats$NWE

    \n"; + echo "
    Administration: Maximum Stats Detail for $stage $modify_link$campaign_id - $campaign_name   $NWB#max_stats$NWE

    \n"; echo "
    CONFERENCENOTES: $row[8]
    SQL:

    $row[9]

    \n"; if ($stage == 'remote-agent') @@ -36215,7 +36233,7 @@ if ($ADD==999992) echo "
    \n"; echo ""; - echo "
    Administration: Maximum System Stats   $NWB#vicidial_max_stats$NWE

    \n"; + echo "
    Administration: Maximum System Stats   $NWB#max_stats$NWE

    \n"; echo ""; echo "