diff --git a/agc_2-X/trunk/www/vicidial/AST_GROUP_ALIASstats.php b/agc_2-X/trunk/www/vicidial/AST_GROUP_ALIASstats.php index a2045b16..5a1e5156 100644 --- a/agc_2-X/trunk/www/vicidial/AST_GROUP_ALIASstats.php +++ b/agc_2-X/trunk/www/vicidial/AST_GROUP_ALIASstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell LICENSE: AGPLv2 # # If you are going to run this report I would recommend adding the following in MySQL: # CREATE INDEX extension on call_log (extension); @@ -16,7 +16,7 @@ # 140108-0740 - Added webserver and hostname to report logging # 141114-0842 - Finalized adding QXZ translation to all admin files # 141230-1502 - Added code for on-the-fly language translations display -# 170409-1534 - Added IP List validation code +# 220303-0216 - Added allow_web_debug system setting # $startMS = microtime(); @@ -41,14 +41,20 @@ if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} -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($query_date)) {$query_date = "$NOW_DATE 00:00:00";} +if (!isset($end_date)) {$end_date = "$NOW_DATE 23:59:59";} +if (strlen($shift)<2) {$shift='ALL';} + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_languages,language_method,allow_web_debug FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); -if ($DB) {echo "$stmt\n";} +#if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -56,10 +62,17 @@ if ($qm_conf_ct > 0) $non_latin = $row[0]; $SSenable_languages = $row[1]; $SSlanguage_method = $row[2]; + $SSallow_web_debug = $row[3]; } +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); + if ($non_latin < 1) { $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); @@ -67,8 +80,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';"; @@ -185,12 +198,6 @@ $rslt=mysql_to_mysqli($stmt, $link); $report_log_id = mysqli_insert_id($link); ##### END log visit to the vicidial_report_log table ##### -$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 00:00:00";} -if (!isset($end_date)) {$end_date = "$NOW_DATE 23:59:59";} - ?> diff --git a/agc_2-X/trunk/www/vicidial/AST_IVRfilter.php b/agc_2-X/trunk/www/vicidial/AST_IVRfilter.php index 773af3a1..3c667ebb 100644 --- a/agc_2-X/trunk/www/vicidial/AST_IVRfilter.php +++ b/agc_2-X/trunk/www/vicidial/AST_IVRfilter.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -21,6 +21,7 @@ # 160227-1931 - Uniform form format # 170409-1538 - Added IP List validation code # 180507-2315 - Added new help display +# 220302-1630 - Added allow_web_debug system setting # $startMS = microtime(); @@ -36,25 +37,25 @@ $PHP_SELF=$_SERVER['PHP_SELF']; $PHP_SELF = preg_replace('/\.php.*/i','.php',$PHP_SELF); if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} -if (isset($_GET["query_dateY"])) {$query_dateY=$_GET["query_dateY"];} +if (isset($_GET["query_dateY"])) {$query_dateY=$_GET["query_dateY"];} elseif (isset($_POST["query_dateY"])) {$query_dateY=$_POST["query_dateY"];} -if (isset($_GET["query_dateM"])) {$query_dateM=$_GET["query_dateM"];} +if (isset($_GET["query_dateM"])) {$query_dateM=$_GET["query_dateM"];} elseif (isset($_POST["query_dateM"])) {$query_dateM=$_POST["query_dateM"];} -if (isset($_GET["query_dateD"])) {$query_dateD=$_GET["query_dateD"];} +if (isset($_GET["query_dateD"])) {$query_dateD=$_GET["query_dateD"];} elseif (isset($_POST["query_dateD"])) {$query_dateD=$_POST["query_dateD"];} if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} -if (isset($_GET["end_dateY"])) {$end_dateY=$_GET["end_dateY"];} +if (isset($_GET["end_dateY"])) {$end_dateY=$_GET["end_dateY"];} elseif (isset($_POST["end_dateY"])) {$end_dateY=$_POST["end_dateY"];} -if (isset($_GET["end_dateM"])) {$end_dateM=$_GET["end_dateM"];} +if (isset($_GET["end_dateM"])) {$end_dateM=$_GET["end_dateM"];} elseif (isset($_POST["end_dateM"])) {$end_dateM=$_POST["end_dateM"];} -if (isset($_GET["end_dateD"])) {$end_dateD=$_GET["end_dateD"];} +if (isset($_GET["end_dateD"])) {$end_dateD=$_GET["end_dateD"];} elseif (isset($_POST["end_dateD"])) {$end_dateD=$_POST["end_dateD"];} if (isset($_GET["submit"])) {$submit=$_GET["submit"];} elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} -if (isset($_GET["hourly_breakdown"])) {$hourly_breakdown=$_GET["hourly_breakdown"];} +if (isset($_GET["hourly_breakdown"])) {$hourly_breakdown=$_GET["hourly_breakdown"];} elseif (isset($_POST["hourly_breakdown"])) {$hourly_breakdown=$_POST["hourly_breakdown"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} @@ -63,6 +64,54 @@ if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} $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($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,enable_languages,language_method,allow_web_debug FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); +#if ($DB) {$HTML_header.="$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; + $SSallow_web_debug = $row[3]; + } +if ($SSallow_web_debug < 1) {$DB=0;} +##### END SETTINGS LOOKUP ##### +########################################### + +$query_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_date); +$query_dateY = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_dateY); +$query_dateM = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_dateM); +$query_dateD = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $query_dateD); +$end_date = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $end_date); +$end_dateY = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $end_dateY); +$end_dateM = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $end_dateM); +$end_dateD = preg_replace('/[^- \:\_0-9a-zA-Z]/', '', $end_dateD); +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$submit = preg_replace('/[^-_0-9a-zA-Z]/', '', $submit); +$hourly_breakdown = preg_replace('/[^-_0-9a-zA-Z]/', '', $hourly_breakdown); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); + +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); + } + if ($hourly_breakdown) { $date_int=3600; @@ -76,35 +125,6 @@ else $checked=""; } -############################################# -##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; -$rslt=mysql_to_mysqli($stmt, $link); -if ($DB) {$HTML_header.="$stmt\n";} -$qm_conf_ct = mysqli_num_rows($rslt); -$i=0; -while ($i < $qm_conf_ct) - { - $row=mysqli_fetch_row($rslt); - $non_latin = $row[0]; - $SSenable_languages = $row[1]; - $SSlanguage_method = $row[2]; - $i++; - } -##### END SETTINGS LOOKUP ##### -########################################### - -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); @@ -212,17 +232,12 @@ 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 |$campaign[0], $query_date, $end_date|', 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|', url='$LOGfull_url', webserver='$webserver_id';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); $report_log_id = mysqli_insert_id($link); ##### END log visit to the vicidial_report_log table ##### -$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;} -if (!isset($end_date)) {$end_date = $NOW_DATE;} $i=0; diff --git a/agc_2-X/trunk/www/vicidial/AST_LAGGED_log_report.php b/agc_2-X/trunk/www/vicidial/AST_LAGGED_log_report.php index ebab22cb..2ebd6b3f 100644 --- a/agc_2-X/trunk/www/vicidial/AST_LAGGED_log_report.php +++ b/agc_2-X/trunk/www/vicidial/AST_LAGGED_log_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 130622-1026 - First build @@ -10,6 +10,7 @@ # 141114-0832 - Finalized adding QXZ translation to all admin files # 141230-1446 - Added code for on-the-fly language translations display # 170409-1536 - Added IP List validation code +# 220302-1624 - Added allow_web_debug system setting # $startMS = microtime(); @@ -29,10 +30,6 @@ if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} elseif (isset($_POST["query_date_D"])) {$query_date_D=$_POST["query_date_D"];} if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} elseif (isset($_POST["query_date_T"])) {$query_date_T=$_POST["query_date_T"];} -if (isset($_GET["url_type"])) {$url_type=$_GET["url_type"];} - elseif (isset($_POST["url_type"])) {$url_type=$_POST["url_type"];} -if (isset($_GET["response_sec"])) {$response_sec=$_GET["response_sec"];} - elseif (isset($_POST["response_sec"])) {$response_sec=$_POST["response_sec"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -48,18 +45,18 @@ 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"];} -$NOW_DATE = date("Y-m-d"); +$DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); +$NOW_DATE = date("Y-m-d"); +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";} -if (!isset($query_date)) {$query_date = $NOW_DATE;} -$DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); ############################################# ##### 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) { @@ -70,10 +67,22 @@ 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); +$lower_limit = preg_replace('/[^-_0-9a-zA-Z]/', '', $lower_limit); +$upper_limit = preg_replace('/[^-_0-9a-zA-Z]/', '', $upper_limit); +$submit = preg_replace('/[^-_0-9a-zA-Z]/', '', $submit); +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$report_display_type = preg_replace('/[^-_0-9a-zA-Z]/', '', $report_display_type); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); + if ($non_latin < 1) { $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/', '', $PHP_AUTH_USER); @@ -81,8 +90,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';"; @@ -289,20 +298,20 @@ if ($SUBMIT && $query_date) { $HTML_text.=""._QXZ("TOTAL")."$total_count"; - $rpt_stmt="SELECT * from vicidial_agent_log where sub_status='LAGGED' and event_time>='$query_date $query_date_D' and event_time<='$query_date $query_date_T' $url_type_SQL order by user, event_time asc"; + $rpt_stmt="SELECT * from vicidial_agent_log where sub_status='LAGGED' and event_time>='$query_date $query_date_D' and event_time<='$query_date $query_date_T' order by user, event_time asc"; $rpt_rslt=mysql_to_mysqli($rpt_stmt, $link); if ($DB) {$ASCII_text.=$rpt_stmt."\n";} if (!$lower_limit) {$lower_limit=1;} if ($lower_limit+999>=mysqli_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysqli_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;} - $ASCII_text.="--- "._QXZ("LAGGED LOG RECORDS FOR")." $query_date, $query_date_D "._QXZ("TO")." $query_date_T $server_rpt_string, "._QXZ("RECORDS")." #$lower_limit-$upper_limit ["._QXZ("DOWNLOAD")."]\n"; + $ASCII_text.="--- "._QXZ("LAGGED LOG RECORDS FOR")." $query_date, $query_date_D "._QXZ("TO")." $query_date_T $server_rpt_string, "._QXZ("RECORDS")." #$lower_limit-$upper_limit ["._QXZ("DOWNLOAD")."]\n"; $lagged_rpt.="+--------------+------------+-----------------+---------------------+-----------+----------+--------+----------------------+----------------------+----------------------+\n"; $lagged_rpt.="| "._QXZ("AGENT LOG ID",12)." | "._QXZ("USER",10)." | "._QXZ("SERVER IP",15)." | "._QXZ("EVENT TIME",19)." | "._QXZ("LEAD ID",9)." | "._QXZ("CAMPAIGN",8)." | "._QXZ("STATUS",6)." | "._QXZ("USER GROUP",20)." | "._QXZ("COMMENTS",20)." | "._QXZ("UNIQUE ID",20)." |\n"; $lagged_rpt.="+--------------+------------+-----------------+---------------------+-----------+----------+--------+----------------------+----------------------+----------------------+\n"; $HTML_text.="

"; - $HTML_rpt.=""; + $HTML_rpt.=""; $HTML_rpt.=""; $CSV_text="\""._QXZ("AGENT LOG ID")."\",\""._QXZ("USER")."\",\""._QXZ("SERVER IP")."\",\""._QXZ("EVENT TIME")."\",\""._QXZ("LEAD ID")."\",\""._QXZ("CAMPAIGN")."\",\""._QXZ("STATUS")."\",\""._QXZ("USER GROUP")."\",\""._QXZ("COMMENTS")."\",\""._QXZ("UNIQUE ID")."\"\n"; @@ -337,8 +346,8 @@ if ($SUBMIT && $query_date) { if ($ll<1 || ($lower_limit+1000)>=mysqli_num_rows($rpt_rslt)) {$HTML_colspan=6;} else {$HTML_colspan=3;} if ($ll>=1) { - $lagged_rpt_hf.="[<<< "._QXZ("PREV 1000 records")."]"; - $HTML_rpt_hf.="
"._QXZ("LAGGED LOG RECORDS FOR")." $query_date, $query_date_D "._QXZ("TO")." $query_date_T $server_rpt_string, "._QXZ("RECORDS")." #$lower_limit-$upper_limit["._QXZ("DOWNLOAD")."]
"._QXZ("LAGGED LOG RECORDS FOR")." $query_date, $query_date_D "._QXZ("TO")." $query_date_T $server_rpt_string, "._QXZ("RECORDS")." #$lower_limit-$upper_limit["._QXZ("DOWNLOAD")."]
"._QXZ("AGENT LOG ID").""._QXZ("USER").""._QXZ("SERVER IP").""._QXZ("EVENT TIME").""._QXZ("LEAD ID").""._QXZ("CAMPAIGN").""._QXZ("STATUS").""._QXZ("USER GROUP").""._QXZ("COMMENTS").""._QXZ("UNIQUE ID")."
[<<< "._QXZ("PREV 1000 records")."]"; + $lagged_rpt_hf.="[<<< "._QXZ("PREV 1000 records")."]"; + $HTML_rpt_hf.="[<<< "._QXZ("PREV 1000 records")."]"; } else { $lagged_rpt_hf.=sprintf("%-23s", " "); @@ -346,8 +355,8 @@ if ($SUBMIT && $query_date) { $lagged_rpt_hf.=sprintf("%-145s", " "); if (($lower_limit+1000)=mysqli_num_rows($rpt_rslt)) {$max_limit=mysqli_num_rows($rpt_rslt)-$upper_limit;} else {$max_limit=1000;} - $lagged_rpt_hf.="["._QXZ("NEXT")." $max_limit "._QXZ("records")." >>>]"; - $HTML_rpt_hf.="["._QXZ("NEXT")." $max_limit "._QXZ("records")." >>>]"; + $lagged_rpt_hf.="["._QXZ("NEXT")." $max_limit "._QXZ("records")." >>>]"; + $HTML_rpt_hf.="["._QXZ("NEXT")." $max_limit "._QXZ("records")." >>>]"; } else { $lagged_rpt_hf.=sprintf("%23s", " "); } diff --git a/agc_2-X/trunk/www/vicidial/AST_LISTS_campaign_stats.php b/agc_2-X/trunk/www/vicidial/AST_LISTS_campaign_stats.php index 035ed4e8..026b850d 100644 --- a/agc_2-X/trunk/www/vicidial/AST_LISTS_campaign_stats.php +++ b/agc_2-X/trunk/www/vicidial/AST_LISTS_campaign_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell LICENSE: AGPLv2 # # This is a list inventory report, not a calling report. This report will show # statistics for all of the lists in the selected campaigns @@ -32,6 +32,7 @@ # 171012-2015 - Fixed javascript/apache errors with graphs # 180507-2315 - Added new help display # 191013-0819 - Fixes for PHP7 +# 220302-1315 - Added allow_web_debug system setting # $startMS = microtime(); @@ -53,15 +54,20 @@ if (isset($_GET["submit"])) {$submit=$_GET["submit"];} elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} -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"];} +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); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = array();} + $report_name = 'Lists Campaign Statuses Report'; $db_source = 'M'; @@ -74,9 +80,9 @@ $JS_onload="onload = function() {\n"; ############################################# ##### 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) { @@ -88,10 +94,32 @@ 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;} + +$SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '', $SUBMIT); +$submit = preg_replace('/[^-_0-9a-zA-Z]/', '', $submit); +$report_display_type = preg_replace('/[^-_0-9a-zA-Z]/', '', $report_display_type); +$file_download = preg_replace('/[^-_0-9a-zA-Z]/', '', $file_download); +$search_archived_data = preg_replace('/[^-_0-9a-zA-Z]/', '', $search_archived_data); + +# 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); + } +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); + } ### ARCHIVED DATA CHECK CONFIGURATION $archives_available="N"; @@ -109,17 +137,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); @@ -228,7 +245,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); @@ -264,16 +281,13 @@ 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($group)) {$group = array();} $i=0; $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]|"; $i++; } @@ -312,6 +326,7 @@ $group_string='|'; $group_ct = count($group); while($i < $group_ct) { + $group[$i] = preg_replace('/[^-_0-9\p{L}]/u', '', $group[$i]); if ( (preg_match("/ $group[$i] /",$regexLOGallowed_campaigns)) or (preg_match("/-ALL/",$LOGallowed_campaigns)) ) { $group_string .= "$group[$i]|"; diff --git a/agc_2-X/trunk/www/vicidial/AST_LISTS_stats.php b/agc_2-X/trunk/www/vicidial/AST_LISTS_stats.php index d8faa721..f9cb6b65 100644 --- a/agc_2-X/trunk/www/vicidial/AST_LISTS_stats.php +++ b/agc_2-X/trunk/www/vicidial/AST_LISTS_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2022 Matt Florell LICENSE: AGPLv2 # # This is a list inventory report, not a calling report. This report will show # statistics for all of the lists in the selected campaigns @@ -18,6 +18,7 @@ # 170409-1539 - Added IP List validation code # 170903-0951 - Added screen color settings # 180507-2315 - Added new help display +# 220302-1214 - Added allow_web_debug system setting # $startMS = microtime(); @@ -31,8 +32,6 @@ $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["group"])) {$group=$_GET["group"];} - elseif (isset($_POST["group"])) {$group=$_POST["group"];} if (isset($_GET["list"])) {$list=$_GET["list"];} elseif (isset($_POST["list"])) {$list=$_POST["list"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -41,15 +40,20 @@ if (isset($_GET["submit"])) {$submit=$_GET["submit"];} elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} -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"];} +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["campaigns_or_lists_rpt"])) {$campaigns_or_lists_rpt=$_GET["campaigns_or_lists_rpt"];} elseif (isset($_POST["campaigns_or_lists_rpt"])) {$campaigns_or_lists_rpt=$_POST["campaigns_or_lists_rpt"];} $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($list)) {$list = array();} + $report_name = 'Lists Statuses Report'; $db_source = 'M'; $JS_text="