Exemplo n.º 1
0
<?php

session_start();
include_once '../include/class_prova.php';
include "../../include/config.inc.php";
//$dao = new daoFunctions();
// conecta no banco de dados
$conn = mysql_connect('localhost', 'root', '');
$db = mysql_select_db('sgpo', $conn);
// Campo de teste :)
$objProva = new Prova();
$Objeto = new Prova();
$Objeto->clienteParametro(1, $_POST['tx_renach']);
$_SESSION[prova][prova_id] = $Objeto->prova_id;
$_SESSION[prova][cand_id] = $Objeto->cand_id;
$_SESSION[prova][cand_nome] = $Objeto->cand_nome;
$_SESSION[prova][cand_renach] = $Objeto->cand_renach;
$_SESSION[prova][questoes_qtd] = $Objeto->param_nr_questoes;
$_SESSION[prova][tempo] = $Objeto->param_duracao;
$_SESSION[prova][param_nr_alternativas] = $Objeto->param_nr_alternativas;
$_SESSION[prova][param_msg_aprovacao] = $Objeto->param_msg_aprovacao;
$_SESSION[prova][param_msg_reprovacao] = $Objeto->param_msg_reprovacao;
$_SESSION[questao] = $Objeto->questao;
$_SESSION[opcoes] = $Objeto->opcoes;
for ($x = 1; $x <= count($_SESSION[questao]); $x++) {
    // ------------- GRAVA EM PROVA_QUESTAO
    $sqlProva_Opcoes = "INSERT INTO `prova_questao` (" . "`prova_id`," . "`prova_pergunta`," . "`prova_opcao1`," . "`prova_opcao2`," . "`prova_opcao3`," . "`prova_opcao4`," . "`prova_opcao5`," . "`prova_dispensavel`," . "`prova_correta`," . "`prova_resp_cand`" . ") VALUES (" . "'" . $_SESSION[prova][prova_id] . "', " . "'" . utf8_encode($_SESSION[questao][$x]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][0][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][1][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][2][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][3][0]) . "'," . ($_SESSION[prova][param_nr_alternativas] == 5 ? "'" . htmlspecialchars_decode($_SESSION[opcoes][$x][4][0]) . "'," : "'',");
    $dispensavel = 0;
    $correta = 0;
    for ($y = 1; $y <= $_SESSION[prova][param_nr_alternativas]; $y++) {
        if ($_SESSION[opcoes][$x][$y][1] == 1) {
Exemplo n.º 2
0
<?php 
session_start();
//include_once('./class_simulado.php');
// conecta no banco de dados
include "./include/config.inc.php";
//$dao = new daoFunctions();
// Campo de teste :)
$objProva = new Prova();
$Objeto = new Prova();
$Objeto->clienteParametro(1, $_POST['campo1'], $_POST['campo2']);
$_SESSION[prova][prova_id] = $Objeto->prova_id;
$_SESSION[prova][cand_id] = $Objeto->cand_id;
$_SESSION[prova][cand_nome] = $Objeto->cand_nome;
$_SESSION[prova][cand_renach] = $Objeto->cand_renach;
$_SESSION[prova][questoes_qtd] = $Objeto->param_nr_questoes;
$_SESSION[prova][tempo] = $Objeto->param_duracao;
$_SESSION[prova][param_nr_alternativas] = $Objeto->param_nr_alternativas;
$_SESSION[prova][param_msg_aprovacao] = $Objeto->param_msg_aprovacao;
$_SESSION[prova][param_msg_reprovacao] = $Objeto->param_msg_reprovacao;
$_SESSION[questao] = $Objeto->questao;
$_SESSION[opcoes] = $Objeto->opcoes;
$_SESSION[param_tx_aprovacao] = $Objeto->param_tx_aprovacao;
for ($x = 1; $x <= count($_SESSION[questao]); $x++) {
    // ------------- GRAVA EM PROVA_QUESTAO
    $sqlProva_Opcoes = "INSERT INTO `prova_questao` (" . "`prova_id`," . "`prova_pergunta`," . "`prova_opcao1`," . "`prova_opcao2`," . "`prova_opcao3`," . "`prova_opcao4`," . "`prova_opcao5`," . "`prova_dispensavel`," . "`prova_correta`," . "`prova_resp_cand`," . "`bnq_id`" . ") VALUES (" . "'" . $_SESSION[prova][prova_id] . "', " . "'" . utf8_encode($_SESSION[questao][$x]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][0][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][1][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][2][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][3][0]) . "'," . ($_SESSION[prova][param_nr_alternativas] == 5 ? "'" . htmlspecialchars_decode($_SESSION[opcoes][$x][4][0]) . "'," : "'',");
    $dispensavel = 0;
    $correta = 0;
    for ($y = 1; $y <= $_SESSION[prova][param_nr_alternativas]; $y++) {
        if ($_SESSION[opcoes][$x][$y][1] == 1) {
            $correta = $y;
        }
Exemplo n.º 3
0
    public function clienteParametro($cliente = 0101100)
    {
        $this->dao = new daoFunctions();
        $sql = "SELECT *\n\t\t\t\tFROM parametro\n\t\t\t\tWHERE cliente_id = '{$cliente}'";
        return $this->dao->query($sql);
        /*
        		$this->set_numeroQuestoes($aParametros_Cliente[0][0][param_nr_questoes]);
        		$this->set_numeroAlternativas($aParametros_Cliente[0][0][param_nr_alternativas]);
        		$this->set_taxaAprovacao($aParametros_Cliente[0][0][param_tx_aprovacao]);
        		$this->set_duracaoProva($aParametros_Cliente[0][0][param_duracao]);
        */
    }
    public function bucaProva($renachCandidato = 0101100)
    {
        $this->dao = new daoFunctions();
        $sql = "-- Pelo numero do renach do candidado\n\t\t\t\t-- localiza-se a prova que ele vai realizar\n\t\t\t\t-- e veririfica na parametrizacao como\n\t\t\t\t-- deve ser montada a prova\n\t\t\t\tSELECT pd.disciplina_id, pd.par_dis_dificuldade, par_dis_nr_questao\n\t\t\t\tFROM param_curso_disciplina pd\n\t\t\t\tWHERE pd.curso_id = (SELECT p.curso_id\n\t\t\t\tFROM prova p\n\t\t\t\tWHERE p.cand_id = (SELECT c.cand_id\n\t\t\t\tFROM candidato c\n\t\t\t\tWHERE c.cand_renach = '{$renachCandidato}')\n\t\t\t\t)";
        return $this->dao->query($sql);
    }
}
// Campo de teste :)
$objProva = new Prova();
// Codigo do cliente e retorna vetor com parametrizacao do cliente
$acliParam = $objProva->clienteParametro(1);
// RENACH do candidato e retorna o vetor de prova
$aproParam = $objProva->bucaProva(3);
/*
echo "Numero de Questoes ".$objProva->get_numeroQuestoes(). "<br />";
echo "Numero de Alternativas  ".$objProva->get_numeroAlternativas(). "<br />";
echo "TX Aprovacao ".$objProva->get_taxaAprovacao(). "% <br />";
echo "Duracao  ".$objProva->get_duracaoProva(). "<br />";
*/
Exemplo n.º 4
0
        $Questao_Nr = 0;
        // Qtd de Questões para o cliente
        for ($x = 0; $x < $iQuestoes_Qtd; $x++) {
            $iDisciplina = $ret[$x][0][disciplina_id];
            $iDificuldade = $ret[$x][0][par_dis_dificuldade];
            $iDisciplinas_Qtd = $ret[$x][0][par_dis_nr_questao];
            // Quantidade de questoes por disciplina e por dificuldade
            for ($z = 0; $z < $iDisciplinas_Qtd; $z++) {
                $sql = " -- Seleciona randomicamente 1 pergunta\r\n\t\t\t\t\t\t-- passando como parametro\r\n\t\t\t\t\t\t-- o codigo da disciplina e a dificuldade\r\n\t\t\t\t\t\t-- ps: bnq_status_id = 1 (Disponível)\r\n\t\t\t\t\t\tSELECT b.*\r\n\t\t\t\t\t\tFROM bnq b\r\n\t\t\t\t\t\tWHERE b.bnq_id NOT IN (" . $sQuestoes . ")\r\n\t\t\t\t\t\t  AND b.disciplina_id = '{$iDisciplina}'\r\n\t\t\t\t\t\t  AND b.bnq_status_id = 1\r\n\t\t\t\t\t\tAND dificuldade_id = '{$iDificuldade}'\r\n\t\t\t\t\t\tORDER BY rand() limit 1\r\n\t\t\t\t\t\t";
                $aQuestao = $this->dao->query($sql);
                $iQuestao = $aQuestao[0][0][bnq_id];
                $sPergunta = $aQuestao[0][0][bnq_pergunta];
                $this->questao[++$Questao_Nr] = $Questao_Nr . ")- " . $aQuestao[0][0][bnq_pergunta];
                $letra = array('a', 'b', 'c', 'd', 'e');
                $sql = "-- Seleciona as opcoes (respostas)\r\n\t\t\t\t\t\t\t-- randomicamente tendo como parametro\r\n\t\t\t\t\t\t\t-- o codigo da questao\r\n\t\t\t\t\t\t\tSELECT bo.*\r\n\t\t\t\t\t\t\tFROM bnq_opcao bo\r\n\t\t\t\t\t\t\tWHERE bo.bnq_id = " . $aQuestao[0][0][bnq_id] . ($this->param_nr_alternativas == 4 ? " AND opcao_dispensavel <> 1 " : '') . " ORDER BY rand()";
                $aOpcaoRand = $this->dao->query($sql);
                // Opções de resposta
                for ($y = 0; $y < $this->param_nr_alternativas; $y++) {
                    $this->opcao[$Questao_Nr][$letra[$y]] = $aOpcaoRand[$y][0][opcao_desc];
                }
            }
        }
    }
}
// Campo de teste :)
$objProva = new Prova();
// Codigo do cliente e retorna vetor com parametrizacao do cliente
$objProva->clienteParametro(1, 3);
echo "<pre>";
//print_r($objProva->questao);
print_r($objProva->opcao);
Exemplo n.º 5
0
	public function excluirProvaDAO(Prova $prova){

		$banco = $this->getBancoDados(); 

		$sql = "SELECT count(*) AS qtde
				FROM tbl_prova 
				JOIN tbl_disciplina USING(disciplina)
				WHERE tbl_disciplina.instituicao = ".$this->_login_instituicao."
				AND   tbl_prova.prova            = ".$prova->getId(); 
		$retorno = $banco->executaSQL($sql);
		if($retorno != NULL) {
			$linha = mysql_fetch_array($retorno);
			if ($linha['qtde'] == 0){
				throw new Exception("Prova não encontrada!"); 
			}
		} else {
			throw new Exception("Erro ao excluir a prova. ($sql)"); 
		}

		$query = " DELETE FROM tbl_prova_aluno_email
					WHERE prova = ".$prova->getId();
		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao excluir PROVA. ($query) "); 
		}

		$query = " DELETE FROM tbl_prova_aluno_resposta
					WHERE prova_aluno_pergunta IN (
							SELECT prova_aluno_pergunta
							FROM tbl_prova_aluno_pergunta
							WHERE tbl_prova_aluno_pergunta.prova = ".$prova->getId()."
					)";
		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao excluir PROVA. ($query) "); 
		}

		$query = " DELETE FROM tbl_prova_aluno_pergunta
					WHERE prova = ".$prova->getId();
		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao excluir PROVA. ($query) "); 
		}

		$query = " DELETE FROM tbl_prova_aluno
					WHERE prova = ".$prova->getId();
		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao excluir PROVA. ($query) ".$banco->mysql_error()); 
		}

		$query = " DELETE FROM tbl_prova_resposta
					WHERE prova_pergunta IN (
							SELECT prova_pergunta
							FROM tbl_prova_pergunta
							WHERE prova = ".$prova->getId()."
					)";
		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao excluir PROVA. ($query) "); 
		}

		$query = " DELETE FROM tbl_prova_pergunta_imagem 
					WHERE prova_pergunta IN (
						SELECT prova_pergunta 
						FROM tbl_prova_pergunta 
						WHERE prova = ".$prova->getId()."
					)";
		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao excluir PROVA. ($query) "); 
		}
		
		$query = " DELETE FROM tbl_prova_pergunta
					WHERE prova = ".$prova->getId();
		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao excluir PROVA. ($query) ".$banco->mysql_error()); 
		}

		$query = " DELETE FROM tbl_prova_topico
					WHERE prova = ".$prova->getId();
		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao excluir PROVA. ($query) "); 
		}

		$query = " DELETE FROM tbl_prova
					WHERE prova = ".$prova->getId();
		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao excluir PROVA. ($query) 2".$banco->mysql_error()); 
		}
	}
Exemplo n.º 6
0
	$prova				= addslashes(trim($_POST['prova']));
	$titulo_prova		= addslashes(trim($_POST['titulo_prova']));
	$curso				= addslashes(trim($_POST['curso']));
	$disciplina			= addslashes(trim($_POST['disciplina']));
	$numero_perguntas	= addslashes(trim($_POST['numero_perguntas']));
	$data_inicio		= addslashes(trim($_POST['data_inicio']));
	$data_termino		= addslashes(trim($_POST['data_termino']));
	$dificuldade		= addslashes(trim($_POST['dificuldade']));

	$qtde_perguntas		= addslashes(trim($_POST['qtde_perguntas']));
	$qtde_pergunta_prova = 0;

	try {
		$banco->iniciarTransacao();

		$prov = new Prova();
		$prov->setId($prova);
		$prov->setTitulo($titulo_prova);
		$prov->setNumeroPerguntas($numero_perguntas);
		$prov->setData(date("d/m/Y H:i:s"));
		$prov->setDataInicio($data_inicio);
		$prov->setDataTermino($data_termino);
		$prov->setDificuldade($dificuldade);
		$prov->setLiberada($data_inicio);

		if (strlen($disciplina)>0){
			$disc = $sessionFacade->recuperarDisciplina($disciplina); 
			$prov->setDisciplina($disc);
		}

		$prof = $sessionFacade->recuperarProfessor($_login_professor); 
Exemplo n.º 7
0
	function selecionaPerguntas(Prova $prova){

		if ($prova->getQtdeTopico()==0){
			throw new Exception('Para criar uma prova, é precisa selecionar pelo menos 1 tópico!');
		}

		if ($prova->getNumeroPerguntas()==0){
			throw new Exception('Informe o número de perguntas!');
		}else{
			$prova->Xnumero_perguntas = $prova->getNumeroPerguntas();
		}

		if (strlen($prova->getDificuldade())==0){
			throw new Exception('Informe o nível de dificuldade da prova!');
		}else{
			$prova->Xdificuldade = $prova->getDificuldade();
		}

		$provaDAO = new ProvaDAO(); 
		$provaDAO->setBancoDados($this->banco); 
		$provaDAO->selecionaPerguntas($prova); 
	}