123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- <?php
- function listarCursos () {
- $dir = 'cursos';
- $files1 = scandir($dir);
- $cursos = array();
- for ($i = 0; $i < count($files1); $i++) {
- if ($files1[$i] == "." || $files1[$i] == "..") continue;
- array_push($cursos, $files1[$i]);
- }
- return $cursos;
- }
- function qualVersaoDoIVProg ($arquivo) {
- $handle = fopen("temp/" . $arquivo, "r");
- $menu = false;
- if ($handle) {
- while (($line = fgets($handle)) !== false) {
- if ( strpos($line, "fluid") !== false) {
- $menu = true;
- break;
- }
- }
- fclose($handle);
- } else {
- echo "ERRO AO LER O ARQUIVO";
- }
- if ($menu) {
- return "menu";
- } else {
- return "contexto";
- }
- }
- function pegarLogsDoAluno ($curso, $aluno, $exercicio) {
- echo $curso . ' ' . $aluno . ' ' . $exercicio . ' ';
- $zip = new ZipArchive;
- $dir = 'cursos/' . $curso;
- $files1 = scandir($dir);
- $nomes = array();
-
- if (count($files1) < 3) {
- return null;
- }
-
- for ($i = 0; $i < count($files1); $i++) {
- if ($files1[$i] == "." || $files1[$i] == "..") continue;
- if ( strpos($files1[$i], $aluno) !== false ) {
- array_push($nomes, $files1[$i]);
- }
- }
-
- for ($i = 0; $i < count($nomes); $i++) {
- if ($nomes[$i] == "." || $nomes[$i] == "..") continue;
- $res = $zip->open($dir . '/' . $nomes[$i]);
- if ($res === TRUE) {
- $zip->extractTo('temp/');
- $zip->close();
- }
- }
- $dir = 'temp';
- $files1 = scandir($dir);
-
- if (count($files1) < 3) {
- return null;
- }
- $arquivo = "";
- for ($i = 0; $i < count($files1); $i++) {
- if ($files1[$i] == "." || $files1[$i] == "..") continue;
- if ( strpos($files1[$i], $exercicio) !== false) {
- $arquivo = $files1[$i];
- } else {
- //unlink($dir . '/' . $files1[$i]);
- }
- }
- return $arquivo;
- }
- function pegarLogsDoAlunoComoString ($arquivo) {
- $handle = fopen("temp/" . $arquivo, "r");
- $inicio = false;
- $string_final = "";
- if ($handle) {
- while (($line = fgets($handle)) !== false) {
- // Linhas comentadas, pq o formato dos logs foi alterado!
- // if (strpos($line, "::logs::") !== false) {
- // $inicio = true;
- // continue;
- // }
- // if ($inicio) {
- // $ex = explode(",", $line);
- // if (count($ex) > 3) {
- // $string_final .= $ex[1] . "," . $ex[2] . ",1,0\\n";
- // }
- // }
- if (strpos($line, "::logs::") !== false) {
- $string_final = explode("::logs::", $line)[1];
- break;
- }
- }
- fclose($handle);
- } else {
- echo "ERRO AO LER O ARQUIVO";
- }
- $logs_array = explode("[", $string_final);
- $string_final = "";
- foreach ($logs_array as $item) {
- $mins = explode(",", $item);
- if ($mins[0] && is_numeric($mins[0])) {
- $string_final .= $mins[0] . "," . $mins[1] . ",1,0\\n";
- }
- }
- return $string_final;
- }
- function listarAlunos ($curso) {
- $dir = 'cursos/' . $curso;
- $files1 = scandir($dir);
- $nomes = array();
-
- if (count($files1) < 3) {
- return null;
- }
- for ($i = 0; $i < count($files1); $i++) {
- if ($files1[$i] == "." || $files1[$i] == "..") continue;
- $ex = explode("_iassign_", $files1[$i])[1];
- $ex = explode("-", $ex)[0];
-
- $ja_existe = false;
- for ($j = 0; $j < count($nomes); $j ++) {
- if ($nomes[$j] == $ex) {
- $ja_existe = true;
- break;
- }
- }
- if (!$ja_existe) {
- array_push($nomes, $ex);
- }
- }
- return $nomes;
- }
- function listarExercicios ($curso) {
- $zip = new ZipArchive;
- $dir = 'cursos/' . $curso;
- $files1 = scandir($dir);
- $exercicios = array();
-
- if (count($files1) < 3) {
- return null;
- }
- for ($i = 0; $i < count($files1); $i++) {
- if ($files1[$i] == "." || $files1[$i] == "..") continue;
- $res = $zip->open($dir . '/' . $files1[$i]);
- if ($res === TRUE) {
- $zip->extractTo('temp/');
- $zip->close();
- }
- }
- $dir = 'temp';
- $files1 = scandir($dir);
-
- if (count($files1) < 3) {
- return null;
- }
- for ($i = 0; $i < count($files1); $i++) {
- if ($files1[$i] == "." || $files1[$i] == "..") continue;
- $exp = explode("-", $files1[$i]);
- $fi = "";
- for ($j = 0; $j < count($exp) - 1; $j++) {
- $fi .= $exp[$j];
- if ($j < (count($exp) - 3)) {
- $fi .= "-";
- }
- }
- $ja_existe = false;
- for ($j = 0; $j < count($exercicios); $j++) {
- if ($exercicios[$j][0] == $fi) {
- $ja_existe = true;
- break;
- }
- }
- if (!$ja_existe) {
- $temp = explode("202", $files1[$i])[0];
- $ft = [$fi, $temp];
- array_push($exercicios, $ft);
- }
- unlink($dir . '/' . $files1[$i]);
- }
-
- return $exercicios;
- }
- function instrucoes () {
- return "<p class='text-reduced'>
- <b>Instruções para inserir novos logs para análise:</b>
- <p>Em primeiro lugar, crie uma nova pasta no diretório cursos/, com o nome do curso que você pretende analisar.
- Em seguida, insira nessa pasta recém-criada todos os arquivos .zip que foram gerados pelo iTarefa com os dados dos alunos.</p>
- <p><b>Atenção!</b> Não altere nem o nome do arquivo gerado pelo iTarefa, pois o sistema segue o mesmo padrão.</p>
- </p>";
- }
- ?>
|