diff --git a/agc_2-X/trunk/www/vicidial/AST_AMD_log_report.php b/agc_2-X/trunk/www/vicidial/AST_AMD_log_report.php index b7c21610..4e7a317d 100644 --- a/agc_2-X/trunk/www/vicidial/AST_AMD_log_report.php +++ b/agc_2-X/trunk/www/vicidial/AST_AMD_log_report.php @@ -1,11 +1,12 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 190329-1852 - First build, based on AST_carrier_log_report.php # 191013-0839 - Fixes for PHP7 +# 220303-1415 - Added allow_web_debug system setting # $startMS = microtime(); @@ -46,14 +47,22 @@ 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"];} -$START_TIME=date("U"); $DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); +$START_TIME=date("U"); +$NOW_DATE = date("Y-m-d"); +if (!isset($server_ip)) {$server_ip = array();} +if (!isset($AMDSTATUS)) {$AMDSTATUS = array();} +if (!isset($AMDRESPONSE)) {$AMDRESPONSE = array();} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} +if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,allow_web_debug FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +#if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -64,10 +73,26 @@ if ($qm_conf_ct > 0) $reports_use_slave_db = $row[3]; $SSenable_languages = $row[4]; $SSlanguage_method = $row[5]; + $SSallow_web_debug = $row[6]; } +if ($SSallow_web_debug < 1) {$DB=0;} ##### END SETTINGS LOOKUP ##### ########################################### +$query_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_date); +$query_date_D = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_date_D); +$query_date_T = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_date_T); +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$submit = preg_replace('/[^-_0-9a-zA-Z]/', '', $submit); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); +$lower_limit = preg_replace('/[^-_0-9a-zA-Z]/', '', $lower_limit); +$upper_limit = preg_replace('/[^-_0-9a-zA-Z]/', '', $upper_limit); +$report_display_type = preg_replace('/[^-_0-9a-zA-Z]/', '', $report_display_type); + +# Variables filtered further down in the code +# $server_ip +# $AMDSTATUS +# $AMDRESPONSE if ($non_latin < 1) { @@ -76,8 +101,8 @@ if ($non_latin < 1) } else { - $PHP_AUTH_PW = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_PW); - $PHP_AUTH_USER = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_USER); + $PHP_AUTH_USER = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_PW); } $stmt="SELECT selected_language from vicidial_users where user='$PHP_AUTH_USER';"; @@ -203,14 +228,6 @@ if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_ $MAIN.="\n"; } -if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} -if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} -$NOW_DATE = date("Y-m-d"); -if (!isset($server_ip)) {$server_ip = array();} -if (!isset($AMDSTATUS)) {$AMDSTATUS = array();} -if (!isset($AMDRESPONSE)) {$AMDRESPONSE = array();} -if (!isset($query_date)) {$query_date = $NOW_DATE;} - $master_AMDSTATUS_array=array("HANGUP", "HUMAN", "MACHINE", "NOTSURE"); $master_AMDRESPONSE_array=array("HUMAN", "INITIALSILENCE", "LONGGREETING", "MAXWORDLENGTH", "MAXWORDS", "NOAUDIODATA", "TOOLONG"); @@ -222,6 +239,7 @@ $server_ip_ct = count($server_ip); $i=0; while($i < $server_ip_ct) { + $server_ip[$i] = preg_replace('/[^-\.\:\_0-9\p{L}]/u', '', $server_ip[$i]); $server_ip_string .= "$server_ip[$i]|"; $i++; } @@ -250,6 +268,7 @@ $server_ips_string='|'; $server_ip_ct = count($server_ip); while($i < $server_ip_ct) { + $server_ip[$i] = preg_replace('/[^-\.\:\_0-9\p{L}]/u', '', $server_ip[$i]); if ( (strlen($server_ip[$i]) > 0) and (preg_match("/\|$server_ip[$i]\|/",$server_ip_string)) ) { $server_ips_string .= "$server_ip[$i]|"; @@ -283,6 +302,7 @@ $AMDRESPONSE_ct = count($AMDRESPONSE); $i=0; while($i < $AMDSTATUS_ct) { + $AMDSTATUS[$i] = preg_replace("/\<|\>|\'|\"|\\\\|;/", '', $AMDSTATUS[$i]); $AMDSTATUS_string .= "$AMDSTATUS[$i]|"; $i++; } @@ -290,6 +310,7 @@ while($i < $AMDSTATUS_ct) $j=0; while($j < $AMDRESPONSE_ct) { + $AMDRESPONSE[$j] = preg_replace("/\<|\>|\'|\"|\\\\|;/", '', $AMDRESPONSE[$j]); $AMDRESPONSE_string .= "$AMDRESPONSE[$j]|"; $j++; } diff --git a/agc_2-X/trunk/www/vicidial/AST_API_log_report.php b/agc_2-X/trunk/www/vicidial/AST_API_log_report.php index f40dd31a..8ada1c75 100644 --- a/agc_2-X/trunk/www/vicidial/AST_API_log_report.php +++ b/agc_2-X/trunk/www/vicidial/AST_API_log_report.php @@ -3,7 +3,7 @@ # # This report is for viewing the a report of API activity to the vicidial_api_log table # -# Copyright (C) 2019 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2022 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,6 +16,7 @@ # 180301-2303 - Added DATA column to TEXT/HTML output, Added GET-AND-POST URL logging # 180502-2115 - Added new help display # 191013-0829 - Fixes for PHP7 +# 220303-1028 - Added allow_web_debug system setting # $startMS = microtime(); @@ -27,28 +28,28 @@ $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; $PHP_SELF = preg_replace('/\.php.*/i','.php',$PHP_SELF); -if (isset($_GET["api_date_D"])) {$api_date_D=$_GET["api_date_D"];} +if (isset($_GET["api_date_D"])) {$api_date_D=$_GET["api_date_D"];} elseif (isset($_POST["api_date_D"])) {$api_date_D=$_POST["api_date_D"];} -if (isset($_GET["api_date_end_D"])) {$api_date_end_D=$_GET["api_date_end_D"];} +if (isset($_GET["api_date_end_D"])) {$api_date_end_D=$_GET["api_date_end_D"];} elseif (isset($_POST["api_date_end_D"])) {$api_date_end_D=$_POST["api_date_end_D"];} -if (isset($_GET["api_date_T"])) {$api_date_T=$_GET["api_date_T"];} +if (isset($_GET["api_date_T"])) {$api_date_T=$_GET["api_date_T"];} elseif (isset($_POST["api_date_T"])) {$api_date_T=$_POST["api_date_T"];} -if (isset($_GET["api_date_end_T"])) {$api_date_end_T=$_GET["api_date_end_T"];} +if (isset($_GET["api_date_end_T"])) {$api_date_end_T=$_GET["api_date_end_T"];} elseif (isset($_POST["api_date_end_T"])) {$api_date_end_T=$_POST["api_date_end_T"];} if (isset($_GET["users"])) {$users=$_GET["users"];} elseif (isset($_POST["users"])) {$users=$_POST["users"];} -if (isset($_GET["agent_users"])) {$agent_users=$_GET["agent_users"];} - elseif (isset($_POST["agent_users"])) {$agent_users=$_POST["agent_users"];} -if (isset($_GET["functions"])) {$functions=$_GET["functions"];} - elseif (isset($_POST["functions"])) {$functions=$_POST["functions"];} +if (isset($_GET["agent_users"])) {$agent_users=$_GET["agent_users"];} + elseif (isset($_POST["agent_users"])) {$agent_users=$_POST["agent_users"];} +if (isset($_GET["functions"])) {$functions=$_GET["functions"];} + elseif (isset($_POST["functions"])) {$functions=$_POST["functions"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} -if (isset($_GET["results"])) {$results=$_GET["results"];} - elseif (isset($_POST["results"])) {$results=$_POST["results"];} -if (isset($_GET["order_by"])) {$order_by=$_GET["order_by"];} - elseif (isset($_POST["order_by"])) {$order_by=$_POST["order_by"];} +if (isset($_GET["results"])) {$results=$_GET["results"];} + elseif (isset($_POST["results"])) {$results=$_POST["results"];} +if (isset($_GET["order_by"])) {$order_by=$_GET["order_by"];} + elseif (isset($_POST["order_by"])) {$order_by=$_POST["order_by"];} 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"];} if (isset($_GET["search_archived_data"])) {$search_archived_data=$_GET["search_archived_data"];} @@ -71,23 +72,12 @@ if (!isset($api_date_end_D)) {$api_date_end_D=$NOW_DATE;} if (!isset($api_date_T)) {$api_date_T="00:00:00";} if (!isset($api_date_end_T)) {$api_date_end_T="23:59:59";} if (!isset($order_by)) {$order_by="api_date";} -$api_date_from="$api_date_D $api_date_T"; -$api_date_to="$api_date_end_D $api_date_end_T"; -$CSV_text="\""._QXZ("API ACCESS LOG REPORT")."\"\n"; -$CSV_text.="\""._QXZ("API DATE RANGE").":\",\"$api_date_from to $api_date_to\"\n"; -$ASCII_rpt_header=_QXZ("API DATE RANGE").": $api_date_from to $api_date_to\n"; - - -#if (!isset($recording_date_D)) {$recording_date_D=$NOW_DATE;} -#if (!isset($recording_date_end_D)) {$recording_date_end_D=$NOW_DATE;} -#if (!isset($recording_date_T)) {$recording_date_T="00:00:00";} -#if (!isset($recording_date_end_T)) {$recording_date_end_T="23:59:59";} ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,allow_web_debug FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); -if ($DB) {$HTML_text.="$stmt\n";} +#if ($DB) {$HTML_text.="$stmt\n";} if ($archive_tbl) {$agent_log_table="vicidial_api_log_archive";} else {$agent_log_table="vicidial_api_log";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) @@ -99,10 +89,46 @@ if ($qm_conf_ct > 0) $reports_use_slave_db = $row[3]; $SSenable_languages = $row[4]; $SSlanguage_method = $row[5]; + $SSallow_web_debug = $row[6]; } +if ($SSallow_web_debug < 1) {$DB=0;} ##### END SETTINGS LOOKUP ##### ########################################### +$api_date_D = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $api_date_D); +$api_date_T = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $api_date_T); +$api_date_end_D = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $api_date_end_D); +$api_date_end_T = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $api_date_end_T); +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$order_by = preg_replace('/[^-_0-9a-zA-Z]/', '', $order_by); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); +$search_archived_data = preg_replace('/[^-_0-9a-zA-Z]/', '', $search_archived_data); +$report_display_type = preg_replace('/[^-_0-9a-zA-Z]/', '', $report_display_type); +$show_urls = preg_replace('/[^-_0-9a-zA-Z]/', '', $show_urls); + +# Variables filtered further down in the code +# $users +# $agent_users +# $functions +# $results + +if ($non_latin < 1) + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); + } +else + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_PW); + } + +$api_date_from="$api_date_D $api_date_T"; +$api_date_to="$api_date_end_D $api_date_end_T"; +$CSV_text="\""._QXZ("API ACCESS LOG REPORT")."\"\n"; +$CSV_text.="\""._QXZ("API DATE RANGE").":\",\"$api_date_from to $api_date_to\"\n"; +$ASCII_rpt_header=_QXZ("API DATE RANGE").": $api_date_from to $api_date_to\n"; + ### ARCHIVED DATA CHECK CONFIGURATION $archives_available="N"; $log_tables_array=array("vicidial_api_log"); @@ -125,17 +151,6 @@ else } ############# -if ($non_latin < 1) - { - $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); - $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); - } -else - { - $PHP_AUTH_PW = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_PW); - $PHP_AUTH_USER = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_USER); - } - $stmt="SELECT selected_language,modify_same_user_level,user_level,modify_users from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); @@ -295,13 +310,12 @@ if ( (!preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) and (strlen($LOGa } - - $i=0; $users_string='|'; $users_ct = count($users); while($i < $users_ct) { + $users[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $users[$i]); $users_string .= "$users[$i]|"; $i++; } @@ -311,6 +325,7 @@ $user_group_string='|'; $user_group_ct = count($user_group); while($i < $users_ct) { + $user_group[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $user_group[$i]); $user_group_string .= "$user_group[$i]|"; $i++; } @@ -369,6 +384,7 @@ $user_string='|'; $user_ct = count($users); while($i < $user_ct) { + $users[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $users[$i]); $user_string .= "$users[$i]|"; $userQS .= "&users[]=$users[$i]"; $user_SQL="and user in ('".implode("','", $users)."')"; @@ -389,6 +405,7 @@ $agent_user_string='|'; $agent_user_ct = count($agent_users); while($i < $agent_user_ct) { + $agent_users[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $agent_users[$i]); $agent_user_string .= "$agent_users[$i]|"; $agent_userQS .= "&agent_users[]=$agent_users[$i]"; $agent_user_SQL="and agent_user in ('".implode("','", $agent_users)."')"; @@ -409,6 +426,7 @@ $function_string='|'; $function_ct = count($functions); while($i < $function_ct) { + $functions[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $functions[$i]); $function_string .= "$functions[$i]|"; $functionQS .= "&functions[]=$functions[$i]"; $function_SQL="and function in ('".implode("','", $functions)."')"; @@ -430,6 +448,7 @@ $result_string='|'; $result_ct = count($results); while($i < $result_ct) { + $results[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $results[$i]); $result_string .= "$results[$i]|"; $resultQS .= "&results[]=$results[$i]"; $result_SQL="and result in ('".implode("','", $results)."')"; @@ -451,6 +470,7 @@ $user_group_string='|'; $user_group_ct = count($user_group); while($i < $user_group_ct) { + $user_group[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $user_group[$i]); $user_group_string .= "$user_group[$i]|"; $user_groupQS .= "&user_group[]=$user_group[$i]"; $user_group_SQL=" and user_group in ('".implode("','", $user_group)."') and vra.user=vu.user and "; diff --git a/agc_2-X/trunk/www/vicidial/AST_CLOSER_service_level.php b/agc_2-X/trunk/www/vicidial/AST_CLOSER_service_level.php index 7e0ebff3..9c646000 100644 --- a/agc_2-X/trunk/www/vicidial/AST_CLOSER_service_level.php +++ b/agc_2-X/trunk/www/vicidial/AST_CLOSER_service_level.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -42,6 +42,7 @@ # 171012-2015 - Fixed javascript/apache errors with graphs # 180502-2115 - Added new help display # 190930-1647 - Fixed PHP7 array issue +# 220303-0905 - Added allow_web_debug system setting # $startMS = microtime(); @@ -62,29 +63,36 @@ if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} if (isset($_GET["shift"])) {$shift=$_GET["shift"];} elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} if (isset($_GET["submit"])) {$submit=$_GET["submit"];} - elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} - elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} - elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} -if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} -if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_display_type"];} +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"];} if (isset($_GET["search_archived_data"])) {$search_archived_data=$_GET["search_archived_data"];} elseif (isset($_POST["search_archived_data"])) {$search_archived_data=$_POST["search_archived_data"];} -if (strlen($shift)<2) {$shift='ALL';} $DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} +if (strlen($shift)<2) {$shift='ALL';} + $report_name = 'Inbound Service Level Report'; $db_source = 'M'; ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format,allow_web_debug FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +#if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -96,10 +104,35 @@ if ($qm_conf_ct > 0) $SSenable_languages = $row[4]; $SSlanguage_method = $row[5]; $SSreport_default_format = $row[6]; + $SSallow_web_debug = $row[7]; } +if ($SSallow_web_debug < 1) {$DB=0;} +if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} ##### END SETTINGS LOOKUP ##### ########################################### -if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} + +$query_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_date); +$end_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $end_date); +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$submit = preg_replace('/[^-_0-9a-zA-Z]/', '', $submit); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); +$search_archived_data = preg_replace('/[^-_0-9a-zA-Z]/', '', $search_archived_data); +$report_display_type = preg_replace('/[^-_0-9a-zA-Z]/', '', $report_display_type); + +if ($non_latin < 1) + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9a-zA-Z]/', '', $shift); + $group = preg_replace('/[^-_0-9a-zA-Z]/', '', $group); + } +else + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9\p{L}]/u', '', $shift); + $group = preg_replace('/[^-_0-9\p{L}]/u', '', $group); + } ### ARCHIVED DATA CHECK CONFIGURATION $archives_available="N"; @@ -118,18 +151,6 @@ else ############# - -if ($non_latin < 1) - { - $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); - $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); - } -else - { - $PHP_AUTH_PW = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_PW); - $PHP_AUTH_USER = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_USER); - } - $stmt="SELECT selected_language from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); @@ -295,13 +316,6 @@ if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen( $whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')"; } -$NOW_DATE = date("Y-m-d"); -$NOW_TIME = date("Y-m-d H:i:s"); -$STARTtime = date("U"); -if (!isset($group)) {$group = '';} -if (!isset($query_date)) {$query_date = $NOW_DATE;} -if (!isset($end_date)) {$end_date = $NOW_DATE;} - $stmt="select group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; $rslt=mysql_to_mysqli($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} diff --git a/agc_2-X/trunk/www/vicidial/AST_CLOSERstats.php b/agc_2-X/trunk/www/vicidial/AST_CLOSERstats.php index 02c9094d..1785bf40 100644 --- a/agc_2-X/trunk/www/vicidial/AST_CLOSERstats.php +++ b/agc_2-X/trunk/www/vicidial/AST_CLOSERstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell LICENSE: AGPLv2 # # CHANGES: # 60619-1714 - Added variable filtering to eliminate SQL injection attack threat @@ -69,6 +69,7 @@ # 210923-2248 - Added OCR, SL-1 & SL-2 stats to CUSTOM INDICATOR section # 211022-0735 - Added IR_SLA_all_statuses options.php setting # 212207-2217 - Added IQNANQ to drop SQL calculation queries +# 220303-0850 - Added allow_web_debug system setting # $startMS = microtime(); @@ -114,10 +115,17 @@ if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_d if (isset($_GET["search_archived_data"])) {$search_archived_data=$_GET["search_archived_data"];} elseif (isset($_POST["search_archived_data"])) {$search_archived_data=$_POST["search_archived_data"];} -$MT[0]='0'; -if (strlen($shift)<2) {$shift='ALL';} $DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); +$MT[0]='0'; +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = array();} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} +if (strlen($shift)<2) {$shift='ALL';} + $report_name = 'Inbound Report'; $db_source = 'M'; if ($DID=='Y') @@ -127,9 +135,9 @@ if ($DID=='Y') ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format,allow_web_debug FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +#if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -141,10 +149,38 @@ if ($qm_conf_ct > 0) $SSenable_languages = $row[4]; $SSlanguage_method = $row[5]; $SSreport_default_format = $row[6]; + $SSallow_web_debug = $row[7]; } +if ($SSallow_web_debug < 1) {$DB=0;} +if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} ##### END SETTINGS LOOKUP ##### ########################################### -if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} + +$query_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_date); +$end_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $end_date); +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$submit = preg_replace('/[^-_0-9a-zA-Z]/', '', $submit); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); +$search_archived_data = preg_replace('/[^-_0-9a-zA-Z]/', '', $search_archived_data); +$report_display_type = preg_replace('/[^-_0-9a-zA-Z]/', '', $report_display_type); +$DID = preg_replace('/[^-_0-9a-zA-Z]/', '', $DID); +$EMAIL = preg_replace('/[^-_0-9a-zA-Z]/', '', $EMAIL); + +# Variables filtered further down in the code +# $group + +if ($non_latin < 1) + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9a-zA-Z]/', '', $shift); + } +else + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9\p{L}]/u', '', $shift); + } ### ARCHIVED DATA CHECK CONFIGURATION $archives_available="N"; @@ -184,17 +220,6 @@ if ($gmt_conf_ct > 0) $epoch_offset = (($local_gmt + $dst) * 3600); } -if ($non_latin < 1) - { - $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); - $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); - } -else - { - $PHP_AUTH_PW = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_PW); - $PHP_AUTH_USER = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_USER); - } - $stmt="SELECT selected_language from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); @@ -305,12 +330,6 @@ if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen( $whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')"; } -$NOW_DATE = date("Y-m-d"); -$NOW_TIME = date("Y-m-d H:i:s"); -$STARTtime = date("U"); -if (!isset($group)) {$group = array();} -if (!isset($query_date)) {$query_date = $NOW_DATE;} -if (!isset($end_date)) {$end_date = $NOW_DATE;} $stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='PHONE' $LOGadmin_viewable_groupsSQL order by group_id;"; if ($DID=='Y') @@ -349,6 +368,7 @@ $group_string='|'; $group_ct = count($group); while($i < $group_ct) { + $group[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $group[$i]); if ( (strlen($group[$i]) > 0) and (preg_match("/\|$group[$i]\|/",$groups_string)) ) { $group_string .= "$group[$i]|"; diff --git a/agc_2-X/trunk/www/vicidial/AST_CLOSERstats_v2.php b/agc_2-X/trunk/www/vicidial/AST_CLOSERstats_v2.php index 0a03ddee..0a7cb295 100644 --- a/agc_2-X/trunk/www/vicidial/AST_CLOSERstats_v2.php +++ b/agc_2-X/trunk/www/vicidial/AST_CLOSERstats_v2.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell LICENSE: AGPLv2 # # CHANGES: # 60619-1714 - Added variable filtering to eliminate SQL injection attack threat @@ -125,21 +125,28 @@ if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_d if (isset($_GET["search_archived_data"])) {$search_archived_data=$_GET["search_archived_data"];} elseif (isset($_POST["search_archived_data"])) {$search_archived_data=$_POST["search_archived_data"];} -$MT[0]='0'; -if (strlen($shift)<2) {$shift='ALL';} $DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); +$MT[0]='0'; +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = array();} +if (!isset($campaigns)) {$campaigns = array();} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} +if (strlen($shift)<2) {$shift='ALL';} + $report_name = 'Inbound Report'; $db_source = 'M'; if ($DID=='Y') {$report_name = 'Inbound Report by DID';} - ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format,allow_web_debug FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +#if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -151,10 +158,41 @@ if ($qm_conf_ct > 0) $SSenable_languages = $row[4]; $SSlanguage_method = $row[5]; $SSreport_default_format = $row[6]; + $SSallow_web_debug = $row[7]; } +if ($SSallow_web_debug < 1) {$DB=0;} +if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} ##### END SETTINGS LOOKUP ##### ########################################### -if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} + +$camp_select = preg_replace('/[^-_0-9a-zA-Z]/', '', $camp_select); +$query_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_date); +$end_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $end_date); +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$submit = preg_replace('/[^-_0-9a-zA-Z]/', '', $submit); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); +$search_archived_data = preg_replace('/[^-_0-9a-zA-Z]/', '', $search_archived_data); +$report_display_type = preg_replace('/[^-_0-9a-zA-Z]/', '', $report_display_type); +$DID = preg_replace('/[^-_0-9a-zA-Z]/', '', $DID); +$EMAIL = preg_replace('/[^-_0-9a-zA-Z]/', '', $EMAIL); +$CHAT = preg_replace('/[^-_0-9a-zA-Z]/', '', $CHAT); + +# Variables filtered further down in the code +# $group +# $campaigns + +if ($non_latin < 1) + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9a-zA-Z]/', '', $shift); + } +else + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9\p{L}]/u', '', $shift); + } ### ARCHIVED DATA CHECK CONFIGURATION $archives_available="N"; @@ -194,18 +232,6 @@ if ($gmt_conf_ct > 0) $epoch_offset = (($local_gmt + $dst) * 3600); } -if ($non_latin < 1) - { - $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); - $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); - } -else - { - $PHP_AUTH_PW = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_PW); - $PHP_AUTH_USER = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_USER); - } -$camp_select = preg_replace('/[^-_0-9a-zA-Z]/', '', $camp_select); - $stmt="SELECT selected_language from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); @@ -316,19 +342,13 @@ if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen( $whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')"; } -$NOW_DATE = date("Y-m-d"); -$NOW_TIME = date("Y-m-d H:i:s"); -$STARTtime = date("U"); -if (!isset($group)) {$group = array();} -if (!isset($query_date)) {$query_date = $NOW_DATE;} -if (!isset($end_date)) {$end_date = $NOW_DATE;} -if (!isset($campaigns)) {$campaigns = array();} $i=0; $campaigns_string='|'; $campaigns_ct = count($campaigns); while($i < $campaigns_ct) { + $campaigns[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $campaigns[$i]); $campaigns_string .= "$campaigns[$i]|"; $i++; } @@ -367,6 +387,7 @@ $campaigns_string='|'; $campaigns_ct = count($campaigns); while($i < $campaigns_ct) { + $campaigns[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $campaigns[$i]); if ( (preg_match("/ $campaigns[$i] /",$regexLOGallowed_campaigns)) or (preg_match("/-ALL/",$LOGallowed_campaigns)) ) { $campaigns_string .= "$campaigns[$i]|"; @@ -427,6 +448,7 @@ $group_string='|'; $group_ct = count($group); while($i < $group_ct) { + $group[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $group[$i]); if ( (strlen($group[$i]) > 0) and (preg_match("/\|$group[$i]\|/",$groups_string)) ) { $group_string .= "$group[$i]|"; diff --git a/agc_2-X/trunk/www/vicidial/AST_CLOSERsummary_hourly.php b/agc_2-X/trunk/www/vicidial/AST_CLOSERsummary_hourly.php index acdd4969..6d5798da 100644 --- a/agc_2-X/trunk/www/vicidial/AST_CLOSERsummary_hourly.php +++ b/agc_2-X/trunk/www/vicidial/AST_CLOSERsummary_hourly.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -33,6 +33,7 @@ # 171012-2015 - Fixed javascript/apache errors with graphs # 191013-0831 - Fixes for PHP7 # 200605-1100 - user_group bug fix +# 220303-0829 - Added allow_web_debug system setting # $startMS = microtime(); @@ -70,26 +71,33 @@ if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} -if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["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"];} if (isset($_GET["search_archived_data"])) {$search_archived_data=$_GET["search_archived_data"];} elseif (isset($_POST["search_archived_data"])) {$search_archived_data=$_POST["search_archived_data"];} +$DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); + $MT[0]='0'; +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = array();} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} if (strlen($shift)<2) {$shift='ALL';} if (strlen($exclude_rollover)<2) {$exclude_rollover='NO';} -$DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); $report_name = 'Inbound Summary Hourly Report'; $db_source = 'M'; ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format,allow_web_debug FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +#if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -101,10 +109,42 @@ if ($qm_conf_ct > 0) $SSenable_languages = $row[4]; $SSlanguage_method = $row[5]; $SSreport_default_format = $row[6]; + $SSallow_web_debug = $row[7]; } +if ($SSallow_web_debug < 1) {$DB=0;} +if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} ##### END SETTINGS LOOKUP ##### ########################################### -if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} + +$query_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_date); +$end_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $end_date); +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$submit = preg_replace('/[^-_0-9a-zA-Z]/', '', $submit); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); +$search_archived_data = preg_replace('/[^-_0-9a-zA-Z]/', '', $search_archived_data); +$report_display_type = preg_replace('/[^-_0-9a-zA-Z]/', '', $report_display_type); +$print_calls = preg_replace('/[^-_0-9a-zA-Z]/', '', $print_calls); +$exclude_rollover = preg_replace('/[^-_0-9a-zA-Z]/', '', $exclude_rollover); +$inbound_rate = preg_replace('/[^-\.\_0-9a-zA-Z]/', '', $inbound_rate); +$outbound_rate = preg_replace('/[^-\.\_0-9a-zA-Z]/', '', $outbound_rate); +$bareformat = preg_replace('/[^-_0-9a-zA-Z]/', '', $bareformat); +$costformat = preg_replace('/[^-_0-9a-zA-Z]/', '', $costformat); + +# Variables filtered further down in the code +# $group + +if ($non_latin < 1) + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9a-zA-Z]/', '', $shift); + } +else + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9\p{L}]/u', '', $shift); + } ### ARCHIVED DATA CHECK CONFIGURATION $archives_available="N"; @@ -134,17 +174,6 @@ if ($gmt_conf_ct > 0) $epoch_offset = (($local_gmt + $dst) * 3600); } -if ($non_latin < 1) - { - $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); - $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); - } -else - { - $PHP_AUTH_PW = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_PW); - $PHP_AUTH_USER = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_USER); - } - $stmt="SELECT selected_language from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); @@ -252,7 +281,7 @@ else $webserver_id = mysqli_insert_id($link); } -$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url', webserver='$webserver_id';"; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url', webserver='$webserver_id';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); $report_log_id = mysqli_insert_id($link); @@ -310,13 +339,6 @@ if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen( $whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')"; } -$NOW_DATE = date("Y-m-d"); -$NOW_TIME = date("Y-m-d H:i:s"); -$STARTtime = date("U"); -if (!isset($group)) {$group = array();} -if (!isset($query_date)) {$query_date = $NOW_DATE;} -if (!isset($end_date)) {$end_date = $NOW_DATE;} - $exclude_rolloverSQL="$whereLOGadmin_viewable_groupsSQL"; if (preg_match("/YES/i",$exclude_rollover)) {$exclude_rolloverSQL = " where group_id NOT IN(SELECT drop_inbound_group from vicidial_campaigns) $LOGadmin_viewable_groupsSQL";} @@ -346,6 +368,7 @@ $group_string='|'; $group_ct = count($group); while($i < $group_ct) { + $group[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $group[$i]); if ( (strlen($group[$i]) > 0) and (preg_match("/\|$group[$i]\|/",$groups_string)) ) { $group_string .= "$group[$i]|"; diff --git a/agc_2-X/trunk/www/vicidial/AST_CMstats.php b/agc_2-X/trunk/www/vicidial/AST_CMstats.php index 6eb6efb4..ec416df9 100644 --- a/agc_2-X/trunk/www/vicidial/AST_CMstats.php +++ b/agc_2-X/trunk/www/vicidial/AST_CMstats.php @@ -1,12 +1,13 @@ , Joe Johnson LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell , Joe Johnson LICENSE: AGPLv2 # # CHANGES # 180724-2109 - First build # 180829-1155 - Added totals # 191013-0849 - Fixes for PHP7 +# 220303-0822 - Added allow_web_debug system setting # $startMS = microtime(); @@ -24,8 +25,6 @@ if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} -if (isset($_GET["users"])) {$users=$_GET["users"];} - elseif (isset($_POST["users"])) {$users=$_POST["users"];} if (isset($_GET["user"])) {$user=$_GET["user"];} elseif (isset($_POST["user"])) {$user=$_POST["user"];} if (isset($_GET["callmenus"])) {$callmenus=$_GET["callmenus"];} @@ -38,8 +37,8 @@ if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} -if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} - elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["report_type"])) {$report_type=$_GET["report_type"];} elseif (isset($_POST["report_type"])) {$report_type=$_POST["report_type"];} if (isset($_GET["search_archived_data"])) {$search_archived_data=$_GET["search_archived_data"];} @@ -47,14 +46,22 @@ if (isset($_GET["search_archived_data"])) {$search_archived_data=$_GET["search $DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($callmenus)) {$callmenus=array();} +if (!isset($group)) {$group = array();} +if (!isset($query_date)) {$query_date = "$NOW_DATE 00:00:00";} +if (!isset($end_date)) {$end_date = "$NOW_DATE 23:23:59";} + $report_name = 'Callmenu Survey Report'; $db_source = 'M'; ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format,allow_web_debug FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +#if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -66,10 +73,38 @@ if ($qm_conf_ct > 0) $SSenable_languages = $row[4]; $SSlanguage_method = $row[5]; $SSreport_default_format = $row[6]; + $SSallow_web_debug = $row[7]; } +if ($SSallow_web_debug < 1) {$DB=0;} ##### END SETTINGS LOOKUP ##### ########################################### +$query_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_date); +$end_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $end_date); +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$submit = preg_replace('/[^-_0-9a-zA-Z]/', '', $submit); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); +$search_archived_data = preg_replace('/[^-_0-9a-zA-Z]/', '', $search_archived_data); +$report_type = preg_replace('/[^-_0-9a-zA-Z]/', '', $report_type); +$type = preg_replace('/[^-_0-9a-zA-Z]/', '', $type); + +# Variables filtered further down in the code +# $group +# $callmenus + +if ($non_latin < 1) + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); + $user = preg_replace('/[^-_0-9a-zA-Z]/', '', $user); + } +else + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_PW); + $user = preg_replace('/[^-_0-9\p{L}]/u', '', $user); + } + ### ARCHIVED DATA CHECK CONFIGURATION $archives_available="N"; $log_tables_array=array("vicidial_outbound_ivr_log", "vicidial_closer_log", "live_inbound_log", "vicidial_agent_log"); @@ -96,17 +131,6 @@ else } ############# -if ($non_latin < 1) - { - $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); - $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); - } -else - { - $PHP_AUTH_PW = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_PW); - $PHP_AUTH_USER = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_USER); - } - $stmt="SELECT selected_language from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); @@ -214,7 +238,7 @@ else $webserver_id = mysqli_insert_id($link); } -$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_type|', url='$LOGfull_url', webserver='$webserver_id';"; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$query_date, $end_date, $shift, $file_download, $report_type|', url='$LOGfull_url', webserver='$webserver_id';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); $report_log_id = mysqli_insert_id($link); @@ -282,14 +306,6 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL exit; } -$NOW_DATE = date("Y-m-d"); -$NOW_TIME = date("Y-m-d H:i:s"); -$STARTtime = date("U"); -if (!isset($callmenus)) {$callmenus=array();} -if (!isset($group)) {$group = array();} -if (!isset($query_date)) {$query_date = "$NOW_DATE 00:00:00";} -if (!isset($end_date)) {$end_date = "$NOW_DATE 23:23:59";} - ##### BEGIN Generate select list for which in-groups or campaigns to display ##### @@ -330,6 +346,7 @@ $group_string='|'; $group_ct = count($group); while($i < $group_ct) { + $group[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $group[$i]); $group_string .= "$group[$i]|"; $group_SQL .= "'$group[$i]',"; $groupQS .= "&group[]=$group[$i]"; @@ -354,6 +371,7 @@ $callmenu_ct = count($callmenus); $selected_callmenus=$callmenus; while($i < $callmenu_ct) { + $callmenus[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $callmenus[$i]); $callmenu_string .= "$callmenus[$i]|"; $callmenu_SQL .= "'$callmenus[$i]',"; $callmenuQS .= "&callmenus[]=$callmenus[$i]"; diff --git a/agc_2-X/trunk/www/vicidial/AST_DIDstats.php b/agc_2-X/trunk/www/vicidial/AST_DIDstats.php index 68876862..2b424929 100644 --- a/agc_2-X/trunk/www/vicidial/AST_DIDstats.php +++ b/agc_2-X/trunk/www/vicidial/AST_DIDstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -37,6 +37,7 @@ # 171012-2015 - Fixed javascript/apache errors with graphs # 191013-0850 - Fixes for PHP7 # 210525-1715 - Fixed help display, modification for more call details +# 220303-0759 - Added allow_web_debug system setting # $startMS = microtime(); @@ -73,17 +74,26 @@ if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_d if (isset($_GET["search_archived_data"])) {$search_archived_data=$_GET["search_archived_data"];} elseif (isset($_POST["search_archived_data"])) {$search_archived_data=$_POST["search_archived_data"];} -if (strlen($shift)<2) {$shift='--';} $DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = array();} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} +if (!isset($time_BEGIN)) {$time_BEGIN = "00:00:00";} +if (!isset($time_END)) {$time_END = "23:59:59";} +if (strlen($shift)<2) {$shift='--';} + $report_name = 'Inbound DID Report'; $db_source = 'M'; ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format,allow_web_debug FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +#if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -95,10 +105,38 @@ if ($qm_conf_ct > 0) $SSenable_languages = $row[4]; $SSlanguage_method = $row[5]; $SSreport_default_format = $row[6]; + $SSallow_web_debug = $row[7]; } +if ($SSallow_web_debug < 1) {$DB=0;} +if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} ##### END SETTINGS LOOKUP ##### ########################################### -if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} + +$query_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_date); +$end_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $end_date); +$time_BEGIN = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $time_BEGIN); +$time_END = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $time_END); +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$submit = preg_replace('/[^-_0-9a-zA-Z]/', '', $submit); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); +$search_archived_data = preg_replace('/[^-_0-9a-zA-Z]/', '', $search_archived_data); +$report_display_type = preg_replace('/[^-_0-9a-zA-Z]/', '', $report_display_type); + +# Variables filtered further down in the code +# $group + +if ($non_latin < 1) + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9a-zA-Z]/', '', $shift); + } +else + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9\p{L}]/u', '', $shift); + } ### ARCHIVED DATA CHECK CONFIGURATION $archives_available="N"; @@ -124,17 +162,6 @@ else } ############# -if ($non_latin < 1) - { - $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); - $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); - } -else - { - $PHP_AUTH_PW = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_PW); - $PHP_AUTH_USER = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_USER); - } - $stmt="SELECT selected_language from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); @@ -246,14 +273,6 @@ if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen( $whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')"; } -$NOW_DATE = date("Y-m-d"); -$NOW_TIME = date("Y-m-d H:i:s"); -$STARTtime = date("U"); -if (!isset($group)) {$group = array();} -if (!isset($query_date)) {$query_date = $NOW_DATE;} -if (!isset($end_date)) {$end_date = $NOW_DATE;} -if (!isset($time_BEGIN)) {$time_BEGIN = "00:00:00";} -if (!isset($time_END)) {$time_END = "23:59:59";} $stmt="select did_id,did_pattern,did_description from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;"; $rslt=mysql_to_mysqli($stmt, $link); @@ -279,6 +298,7 @@ $group_string='|'; $group_ct = count($group); while($i < $group_ct) { + $group[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $group[$i]); if ( (strlen($group[$i]) > 0) and (preg_match("/\|$group[$i]\|/",$groups_string)) ) { $group_string .= "$group[$i]|"; diff --git a/agc_2-X/trunk/www/vicidial/AST_DIDstats_v2.php b/agc_2-X/trunk/www/vicidial/AST_DIDstats_v2.php index c7c5ad31..2abd528d 100644 --- a/agc_2-X/trunk/www/vicidial/AST_DIDstats_v2.php +++ b/agc_2-X/trunk/www/vicidial/AST_DIDstats_v2.php @@ -1,13 +1,14 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell LICENSE: AGPLv2 # # CHANGES # # 170828-2018 - First build, based on AST_DIDstats.php # 170903-0941 - Added screen color settings # 191013-0817 - Fixes for PHP7 +# 220303-0726 - Added allow_web_debug system setting # $startMS = microtime(); @@ -44,17 +45,26 @@ if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_d if (isset($_GET["search_archived_data"])) {$search_archived_data=$_GET["search_archived_data"];} elseif (isset($_POST["search_archived_data"])) {$search_archived_data=$_POST["search_archived_data"];} -if (strlen($shift)<2) {$shift='--';} $DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = array();} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} +if (!isset($time_BEGIN)) {$time_BEGIN = "00:00:00";} +if (!isset($time_END)) {$time_END = "23:59:59";} +if (strlen($shift)<2) {$shift='--';} + $report_name = 'Inbound DID Summary Report'; $db_source = 'M'; ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,enable_languages,language_method,report_default_format,allow_web_debug FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +#if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -66,10 +76,38 @@ if ($qm_conf_ct > 0) $SSenable_languages = $row[4]; $SSlanguage_method = $row[5]; $SSreport_default_format = $row[6]; + $SSallow_web_debug = $row[7]; } +if ($SSallow_web_debug < 1) {$DB=0;} +if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} ##### END SETTINGS LOOKUP ##### ########################################### -if (strlen($report_display_type)<2) {$report_display_type = $SSreport_default_format;} + +$query_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_date); +$end_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $end_date); +$time_BEGIN = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $time_BEGIN); +$time_END = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $time_END); +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$submit = preg_replace('/[^-_0-9a-zA-Z]/', '', $submit); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); +$search_archived_data = preg_replace('/[^-_0-9a-zA-Z]/', '', $search_archived_data); +$report_display_type = preg_replace('/[^-_0-9a-zA-Z]/', '', $report_display_type); + +# Variables filtered further down in the code +# $group + +if ($non_latin < 1) + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9a-zA-Z]/', '', $shift); + } +else + { + $PHP_AUTH_USER = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_USER); + $PHP_AUTH_PW = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_PW); + $shift = preg_replace('/[^-_0-9\p{L}]/u', '', $shift); + } ### ARCHIVED DATA CHECK CONFIGURATION $archives_available="N"; @@ -87,17 +125,6 @@ else } ############# -if ($non_latin < 1) - { - $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); - $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_PW); - } -else - { - $PHP_AUTH_PW = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_PW); - $PHP_AUTH_USER = preg_replace("/'|\"|\\\\|;/","",$PHP_AUTH_USER); - } - $stmt="SELECT selected_language from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); @@ -209,15 +236,6 @@ if ( (!preg_match('/\-\-ALL\-\-/i', $LOGadmin_viewable_call_times)) and (strlen( $whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')"; } -$NOW_DATE = date("Y-m-d"); -$NOW_TIME = date("Y-m-d H:i:s"); -$STARTtime = date("U"); -if (!isset($group)) {$group = array();} -if (!isset($query_date)) {$query_date = $NOW_DATE;} -if (!isset($end_date)) {$end_date = $NOW_DATE;} -if (!isset($time_BEGIN)) {$time_BEGIN = "00:00:00";} -if (!isset($time_END)) {$time_END = "23:59:59";} - $stmt="select did_id,did_pattern,did_description from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;"; $rslt=mysql_to_mysqli($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -242,6 +260,7 @@ $group_string='|'; $group_ct = count($group); while($i < $group_ct) { + $group[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $group[$i]); if ( (strlen($group[$i]) > 0) and (preg_match("/\|$group[$i]\|/",$groups_string)) ) { $group_string .= "$group[$i]|"; diff --git a/agc_2-X/trunk/www/vicidial/AST_SIP_event_report.php b/agc_2-X/trunk/www/vicidial/AST_SIP_event_report.php index c0436b50..1b7c6bad 100644 --- a/agc_2-X/trunk/www/vicidial/AST_SIP_event_report.php +++ b/agc_2-X/trunk/www/vicidial/AST_SIP_event_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -46,18 +46,24 @@ if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_d if (isset($_GET["search_archived_data"])) {$search_archived_data=$_GET["search_archived_data"];} elseif (isset($_POST["search_archived_data"])) {$search_archived_data=$_POST["search_archived_data"];} -$query_date = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$query_date); -$query_date_D = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$query_date_D); -$query_date_T = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$query_date_T); -$group = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$group); -$shift = preg_replace('/[^0-9]/','',$shift); -$stage = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$stage); -$file_download = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$file_download); -$color = preg_replace('/[^0-9a-zA-Z]/','',$color); $DB = preg_replace('/[^0-9a-zA-Z]/','',$DB); -$report_display_type = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$report_display_type); -$search_archived_data = preg_replace('/[^- \.\:\/\@\_0-9a-zA-Z]/','',$search_archived_data); + +$MT[0]=''; +if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} +if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} +if (strlen($shift) < 1) {$shift = '0';} +$shiftSQL = "$shift,1000"; +$next_shift = ($shift + 1000); +$prev_shift = ($shift - 1000); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$query_date_BEGIN = "$query_date $query_date_D"; +$query_date_END = "$query_date $query_date_T"; +if (strlen($group) < 1) {$group = 'call_date desc';} if (strlen($color)<1) {$color='E6E6E6';} + $report_name = 'SIP Event Report'; $db_source = 'M'; $JS_text="