| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 | 
							- <?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";
 
- 	}
 
- }
 
- // delete all files and sub-folders from a folder
 
- function deleteFolderAndFiles($dir) {
 
- 	foreach(glob($dir . '/*') as $file) {
 
- 		if(is_dir($file))
 
- 			deleteFolderAndFiles($file);
 
- 		else
 
- 			unlink($file);
 
- 	}
 
- 	rmdir($dir);
 
- }
 
- function pegarLogsDoAluno ($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;
 
- 		$exp = explode("-", $files1[4]);
 
- 		$fi = "";
 
- 		for ($j = 0; $j < count($exp) - 1; $j++) {
 
- 			$fi .= $exp[$j];
 
- 			if ($j < (count($exp) - 3)) {
 
- 				$fi .= "-";
 
- 			}
 
- 		}
 
-   		if (strpos($fi, $exercicio) !== false) {
 
-   			$arquivo = $files1[$i];
 
-   		} else {
 
-   			unlink($dir . '/' . $files1[$i]);
 
-   		}
 
-   	}
 
-   	return $arquivo;
 
- }
 
- function pegarLogsDoAlunoComoString ($curso, $aluno, $exercicio) {
 
- 	$registros = abrirArquivoCSV($_GET['curso'], false);
 
- 	$aluno_raw = str_replace(" ", "_", $aluno);
 
- 	$exercicio_raw = str_replace("_", " ", $curso);
 
- 	foreach ($registros as $registro) {
 
- 		//if (str_contains($registro))
 
- 	}
 
- 	// $handle = fopen("temp/" . $arquivo, "r");
 
- 	// $inicio = false;
 
- 	// $string_final = "";
 
- 	// if ($handle) {		
 
- 		
 
- 	//     while (($line = fgets($handle)) !== false) {
 
- 			
 
- 	//         if ( strpos($line, "::logs::") !== false) {
 
-   	// 			$inicio = true;
 
- 	// 			print $line;
 
- 	// 			break;
 
-   	// 		}
 
-   	// 		if ($inicio) {
 
-   	// 			$ex = explode(",", $line);
 
-   	// 			if (count($ex) > 3) {
 
-   	// 				$string_final .= $ex[1] . "," . $ex[2] . ",1,0\\n";
 
-   	// 			}
 
-   	// 		}
 
- 	//     }
 
- 	//     fclose($handle);
 
- 	// } else {
 
- 	//     echo "ERRO AO LER O ARQUIVO";
 
- 	// }
 
- 	// print 'a'. $string_final;
 
- 	
 
- 	// exit;
 
- 	// return $string_final;
 
- }
 
- function abrirArquivoCSV ($curso, $delete_temp = true) {
 
- 	$zip = new ZipArchive;
 
- 	$dir    = 'cursos/' . $curso;
 
-   	$files1 = scandir($dir);
 
-   	$exercicios  = array();
 
-   	
 
-   	if (count($files1) < 3) {
 
-   		return null;
 
-   	}
 
- 	$temp_folder = 'temp/' . $curso;
 
-   	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_folder);
 
- 		  $zip->close();
 
- 		}
 
- 	}
 
- 	if (!file_exists($temp_folder . '/index.csv')) {
 
- 		return null;
 
- 	}
 
- 	
 
- 	$final_array = array();
 
- 	$file = fopen($temp_folder . '/index.csv', 'r');
 
- 	while (($line = fgetcsv($file)) !== FALSE) {
 
- 		array_push($final_array, $line);
 
- 	}
 
- 	fclose($file);
 
- 	if ($delete_temp)
 
- 		deleteFolderAndFiles($temp_folder);
 
- 	return $final_array;
 
- }
 
- function listarAlunos ($curso) {
 
- 	
 
- 	$registros = abrirArquivoCSV($curso);
 
- 	$nomes = array();
 
- 	foreach ($registros as $registro) {
 
- 		if ($registro[0] == 'submissionid') continue;
 
- 		$nome = str_replace("_", " ", explode("/", $registro[1])[1]);
 
- 		array_push($nomes, $nome);
 
- 	}
 
- 	$nomes = array_unique($nomes);
 
- 	asort($nomes);
 
- 	return $nomes;
 
- }
 
- function listarExercicios ($curso) {
 
- 	
 
- 	$registros = abrirArquivoCSV($curso);
 
- 	$exercicios = array();
 
- 	foreach ($registros as $registro) {
 
- 		if ($registro[0] == 'submissionid') continue;
 
- 		$nome = str_replace("_", " ", explode("/", $registro[1])[0]);
 
- 		array_push($exercicios, $nome);
 
- 	}
 
-   	return array_unique($exercicios);
 
- }
 
- function instrucoes () {
 
- 	return "<p class='text-reduced'>
 
-             <b>Instruções para inserir novos logs para análise:</b> 
 
-             <ol>
 
- 				<li>Em primeiro lugar, crie uma nova pasta no diretório cursos/, com o nome do curso que você pretende analisar.</li>
 
- 				<li>Agora, navegue pelo iTarefa até a área do gerenciador de todas as submissões (bloco itarefa -> relatório -> gerenciar todas as submissões).</li>
 
- 				<li>No gerenciador de submissões, utilize o exportador geral, que está disponível no botão de 'download' mais acima na tela.</li>
 
-                 <li>Por fim, insira na pasta criada no primeiro passo o arquivo .zip que fori gerado pelo iTarefa com os dados dos alunos.</li>
 
- 			</ol>
 
-             <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 style='color: red;'>Essa versão é incompatível com arquivos gerados pelo iTarefa antes de 2020.</p>
 
-           </p>";
 
- }
 
- ?>
 
 
  |