Ejemplo n.º 1
0
if (isset($_POST['exerc'])) {
    require_once 'Rserve-php/Connection.php';
    if (empty($_FILES['rfile']["tmp_name"])) {
        echo "Nenhum arquivo recebido. Verifique se houve algum problema no upload.";
        echo "<br>Poss&iacute;veis causas de erro: <ul><li>Voc&ecirc; esqueceu de fornecer um nome de arquivo?</li>";
        echo "<li>O arquivo &eacute; grande demais? (m&aacute;ximo aceito: 15 mil caracteres)</li>";
        echo "<li>Voc&ecirc; salvou o arquivo usando algum processador de texto, como o Word?</li>";
        echo "</ul>";
    } else {
        $uploadfile = $BASEDIR . "/tmp/" . basename($_FILES['rfile']['tmp_name']);
        move_uploaded_file($_FILES['rfile']['tmp_name'], $uploadfile);
        ### Correcao de bug! O R trava se o editor de texto não encerrou
        #   a ultima linha
        system("echo ' ' >> {$uploadfile}");
        $conts = file_get_contents($uploadfile);
        $probs = new Proibidos();
        $teste = $probs->pass($conts, $X->getId());
        if ($teste === FALSE) {
            # Verifica se existe alguma palavra proibida na resposta
            try {
                $r = new Rserve_Connection(RSERVE_HOST);
            } catch (Exception $e) {
                echo 'Erro interno ao conectar no servidor. Notifique os administradores do sistema!<br>';
                if (error_reporting() & E_ERROR) {
                    echo $e;
                }
            }
            try {
                $text = 'source("' . $BASEDIR . '/corretor.R");';
                $text .= 'con <- connect("' . $DBUSER . '","' . $DBPASS . '","' . $DBNAME . '");';
                $text .= 'PATH <- "' . $BASEDIR . '";';
Ejemplo n.º 2
0
 public function cadastraTestes($testes, $msg)
 {
     // E impedimentos, por preguiça do programador
     global $mysqli;
     $res = $mysqli->prepare("DELETE FROM teste WHERE id_exercicio=?");
     $res->bind_param('i', $this->id);
     $res->execute();
     $ok = true;
     for ($i = 0, $c = 0; $i < sizeof($testes[1]); $i++) {
         $j = $i + 1;
         if (!empty($testes[1][$i])) {
             $c++;
             $T = new Teste();
             $ok = $ok and $T->create($this->id, $j, $testes[0][$i], $testes[1][$i], $testes[2][$i]);
         }
     }
     if (!$ok) {
         $msg .= "<p>Falha ao cadastrar os testes!</p>";
     } else {
         $msg .= " com {$c} testes. ";
     }
     $res = $mysqli->prepare("DELETE FROM proibido WHERE id_exercicio=?");
     $res->bind_param('i', $this->id);
     $res->execute();
     $ok = true;
     for ($i = 0; $i < sizeof($testes[3]); $i++) {
         if ($testes[3][$i]) {
             $T = new Proibidos();
             $ok = $ok and $T->create($testes[3][$i], $this->id);
         }
     }
     if (!$ok) {
         $msg .= "<p>Falha ao cadastrar os impedimentos!</p>";
     }
     $msg .= "Pr&oacute;ximos passos: <ul>\n\t\t\t<li><a href='exercicio.php?exerc={$this->id}'>Teste</a> se a corre&ccedil;&atilde;o funciona</li><li><a href='cadastra.php?exerc={$this->id}'>Edite</a> as defini&ccedil;&otilde;es deste exerc&iacute;cio</li><li>Determine o <a href='prazos.php'>prazo</a> de entrega</li></ul>";
     return $msg;
 }