From 7166a8d3f0d26a7ba80c057d95e0b45f83b57a71 Mon Sep 17 00:00:00 2001 From: Daniel Saad Nogueira Nunes Date: Mon, 27 Mar 2023 15:45:20 -0300 Subject: Update stat.php (#23) Fixed broken chart generation by the staff statistics by using python3-matplotlib. --- src/staff/report/stat.php | 193 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 160 insertions(+), 33 deletions(-) (limited to 'src') diff --git a/src/staff/report/stat.php b/src/staff/report/stat.php index f93662a..9faf538 100755 --- a/src/staff/report/stat.php +++ b/src/staff/report/stat.php @@ -32,17 +32,23 @@ echo "\n"; $str="All Runs by Problem"; $str2="Accepted Runs by Problem"; -reset($d['problem']); $cor = ""; -while (list($keya, $val) = each($d['problem'])) { +$color=array(); +$values_ac=array(); +// while (list($keya, $val) = each($d['problem'])) { +foreach($d['problem'] as $keya => $val){ $val = $d['problemyes'][$keya]; if($val=="") $val=0; $str2 .= chr(1) . $keya . "(" . $val . ")" . chr(1) . $val; $cor .= "-" . $d['color'][$keya]; + $color[] = "#".$d['color'][$keya]; + $values_ac[]="$keya:$val"; } $cor = substr($cor,1); +$values = array(); -reset($d['problem']); -while (list($keya, $val) = each($d['problem'])) { +foreach($d['problem'] as $keya => $val){ + // while (list($keya, $val) = each($d['problem'])) { + $values[] = $keya . ":" . $val; $str .= chr(1) . $keya . "(" . $val . ")" . chr(1) . $val; echo "$keya "; echo "\"balloon\""; +$myfile = fopen("runs_by_problems.txt", "w") or die("Unable to open file runs_by_problems.txt!"); +for($i=0;$i"; -echo "\n"; -echo "
\"\"\"\"
\n"; +echo "runs by problems\n"; +echo "accepted runs by problems\n"; +echo " "; + //---------------------------------------------------------- echo "

Runs by Problem and Answer

\n"; echo "
\n"; echo ""; -reset($d['answer']); -while (list($key, $val) = each($d['answer'])) +// while (list($key, $val) = each($d['answer'])) +foreach($d['answer'] as $key => $val){ echo ""; +} echo "\n"; -reset($d['problem']); -while (list($keya, $vala) = each($d['problem'])) { +foreach($d['problem'] as $keya => $vala){ +// while (list($keya, $vala) = each($d['problem'])) { echo ""; - reset($d['answer']); - while (list($key, $val) = each($d['answer'])) { + // while (list($key, $val) = each($d['answer'])) { + foreach($d['answer'] as $key => $val){ if(!isset($d['pa'][$keya][$key])) echo ""; else { @@ -101,18 +132,22 @@ echo "

Runs by Problem and Language

\n"; echo "
Problems x Answers$keyTotal
$keya "; echo "\"balloon\"\n"; echo "0
\n"; echo ""; reset($d['language']); -while (list($key, $val) = each($d['language'])) +// while (list($key, $val) = each($d['language'])) +foreach($d['language'] as $key => $val){ echo ""; +} echo "\n"; reset($d['problem']); -while (list($keya, $vala) = each($d['problem'])) { +// while (list($keya, $vala) = each($d['problem'])) { +foreach($d['problem'] as $keya => $vala){ echo ""; reset($d['language']); - while (list($key, $val) = each($d['language'])) { + // while (list($key, $val) = each($d['language'])) { + foreach($d['language'] as $key => $val){ if(!isset($d['pl'][$keya][$key])) echo ""; else { @@ -137,17 +172,23 @@ echo "\n"; $str="All Runs by Language"; $str2="Accepted Runs by Language"; -reset($d['language']); -while (list($keya, $val) = each($d['language'])) { +$values = array(); +$values_ac = array(); + +// while (list($keya, $val) = each($d['language'])) { +foreach($d['language'] as $keya => $val){ $val=0; if(isset($d['languageyes'][$keya])) $val = $d['languageyes'][$keya]; $str2 .= chr(1) . $keya . "(" . $val . ")" . chr(1) . $val; + $values_ac[] = $keya.":".$val; } reset($d['language']); -while (list($keya, $val) = each($d['language'])) { +// while (list($keya, $val) = each($d['language'])) { +foreach($d['language'] as $keya => $val){ $str .= chr(1) . $keya . "(" . $val . ")" . chr(1) . $val; + $values[] =$keya . ":" . $val; echo ""; echo ""; if(isset($d['languageyes'][$keya])) { @@ -160,24 +201,62 @@ while (list($keya, $val) = each($d['language'])) { } echo "
Problems x Languages$keyTotal
$keya "; echo "\"balloon\"\n"; echo "0
$keya$val
"; +$color = array(); +$color[] = "#2cba00"; +$color[] = "#a3ff00"; +$color[] = "#fff400"; +$color[] = "#ffa700"; +$color[] = "#ff0000"; + + +$myfile = fopen("all_runs_by_language.txt", "w") or die("Unable to open file all_runs_by_language.txt!"); +for($i=0;$i"; -echo "\n"; -echo "
\"\"\"\"
\n"; +echo "all runs by language\n"; +echo "accepted runs by language\n"; +echo " "; //---------------------------------------------------------- echo "

Runs by Language and Answer

\n"; echo "
\n"; echo ""; reset($d['answer']); -while (list($key, $val) = each($d['answer'])) +// while (list($key, $val) = each($d['answer'])) +foreach($d['answer'] as $key => $val){ echo ""; +} echo "\n"; reset($d['language']); -while (list($keya, $vala) = each($d['language'])) { +// while (list($keya, $vala) = each($d['language'])) { +foreach($d['language'] as $keya => $vala){ + echo ""; reset($d['answer']); - while (list($key, $val) = each($d['answer'])) { + // while (list($key, $val) = each($d['answer'])) { + foreach($d['answer'] as $key => $val){ if(!isset($d['la'][$keya][$key])) echo ""; else { @@ -205,17 +284,36 @@ echo ""; echo "\n"; $str="All Runs by Answer"; -reset($d['answer']); -while (list($keya, $val) = each($d['answer'])) { +$values = array(); +// while (list($keya, $val) = each($d['answer'])) { +foreach($d['answer'] as $keya => $val){ + $values[] = $keya . ":" . $val; $str .= chr(1) . $keya . "(" . $val . ")" . chr(1) . $val; echo ""; echo ""; echo ""; } + +$color[] = "#af7f57"; +$myfile = fopen("all_runs_by_answer.txt", "w") or die("Unable to open file all_runs_by_answer.txt!"); +for($i=0;$i"; echo ""; -echo "
Languages x Answers$keyTotal
$keya0Answers
$keya$val
\"\"
\n"; +echo "all runs by answer\n"; + +echo "\n"; //---------------------------------------------------------- echo "
"; @@ -224,7 +322,8 @@ echo "

Runs by User and Problem

\n"; echo "
\n"; echo ""; reset($d['problem']); -while (list($key, $val) = each($d['problem'])) { +// while (list($key, $val) = each($d['problem'])) { +foreach($d['problem'] as $key => $val){ echo "\n"; reset($d['username']); -while (list($keya, $vala) = each($d['username'])) { +// while (list($keya, $vala) = each($d['username'])) { +foreach($d['username'] as $keya => $vala){ $keya = $d['username'][$keya]; if(isset($d['user'][$keya])) $vala = $d['user'][$keya]; else $vala=0; echo ""; reset($d['problem']); - while (list($key, $val) = each($d['problem'])) { + // while (list($key, $val) = each($d['problem'])) { + foreach($d['problem'] as $key => $val){ if(!isset($d['up'][$keya][$key])) echo ""; else { @@ -288,7 +389,8 @@ $res = array(); $m = 0; sort($d['timestamp']); reset($d['timestamp']); -while (list($keya, $val) = each($d['timestamp'])) { +// while (list($keya, $val) = each($d['timestamp'])) { +foreach($d['timestamp'] as $keya => $val){ while($atual+$passo < $val) { $atual += $passo; $pos++; @@ -301,15 +403,27 @@ while (list($keya, $val) = each($d['timestamp'])) { $str="Runs by Time Period" . chr(1) . $m; $atual=0; +$values = array(); for($pos=0; $pos<$vezes; $pos++) { if(!isset($res[$pos]) || $res[$pos]=="") $res[$pos] = 0; $q = (int) ($atual/60); $atual += $passo; $qq = (int) ($atual/60); $str .= chr(1) . $q . "-" .$qq . chr(1) . $res[$pos]; + $values[] = $res[$pos]; +} + +$myfile = fopen("runs_by_time_period.txt", "w") or die("Unable to open file runs_by_time_period.txt!"); +for($i=0;$i\"\"\n"; +shell_exec("python3 ../../admin/report/barplot.py runs_by_time_period.txt 'Runs by Time Period'"); + + +echo "
runs_by_time_period
\n"; + //------------------------------------------------ $vezes = 30; @@ -319,7 +433,8 @@ $pos = 0; $res = array(); sort($d['timestampyes']); reset($d['timestampyes']); -while (list($keya, $val) = each($d['timestampyes'])) { +// while (list($keya, $val) = each($d['timestampyes'])) { +foreach($d['timestampyes'] as $keya => $val){ while($atual+$passo < $val) { $atual += $passo; $pos++; @@ -329,6 +444,7 @@ while (list($keya, $val) = each($d['timestampyes'])) { else $res[$pos]=1; } +$values_ac = array(); $str="Accepted Runs by Time Period" . chr(1) . $m; $atual=0; for($pos=0; $pos<$vezes; $pos++) { @@ -337,9 +453,20 @@ for($pos=0; $pos<$vezes; $pos++) { $atual += $passo; $qq = (int) ($atual/60); $str .= chr(1) . $q . "-" .$qq . chr(1) . $res[$pos]; + $values_ac[] = $res[$pos]; } -echo "
\"\"
\n"; +$myfile = fopen("accepted_runs_by_time_period.txt", "w") or die("Unable to open file accepted_runs_by_time_period.txt!"); +for($i=0;$iruns_by_time_period\n"; + include("$locr/footnote.php"); ?> -- cgit v1.2.3
Users x Problems$key "; echo "\"balloon\"\n"; @@ -233,14 +332,16 @@ while (list($key, $val) = each($d['problem'])) { echo "TotalAccepted
".$d['userfull'][$keya]."0