public function recuperarProvaResposta($id_prova_resposta){ $query ="SELECT tbl_prova_resposta.prova_resposta AS prova_resposta, tbl_prova_resposta.prova_pergunta AS prova_pergunta, tbl_prova_resposta.resposta_texto AS resposta_texto, tbl_prova_resposta.resposta_correta AS resposta_correta, tbl_prova_resposta.resposta_filho AS resposta_filho, tbl_prova_resposta.ordem AS ordem FROM tbl_prova_resposta WHERE tbl_prova_resposta.prova_resposta = $id_prova_resposta "; $banco = $this->getBancoDados(); $prova_resposta = NULL; $retorno = $banco->executaSQL($query); if($retorno != NULL) { if ($banco->numRows($retorno) == 0){ #throw new Exception("Nenhuma resposta da prova encontrada. (QUERY: $query )",0); } while($linha = $banco->fetchArray($retorno)) { if (strlen(trim($linha["resposta_filho"]))>0){ $sessionFacade = new SessionFacade($banco); $obj_prova_resposta_filho = $sessionFacade->recuperarProvaResposta($linha["resposta_filho"]); }else{ $obj_prova_resposta_filho = NULL; } $prova_resposta = new Resposta(); $prova_resposta->setId($linha['prova_resposta']); $prova_resposta->setPergunta($linha["prova_pergunta"]); $prova_resposta->setRespostaCorreta($linha["resposta_correta"]); $prova_resposta->setRespostaTexto($linha["resposta_texto"]); $prova_resposta->setRespostaFilho($obj_prova_resposta_filho); $prova_resposta->setOrdem($linha["ordem"]); } return $prova_resposta; } else { throw new Exception("Erro ao recuperar Resposta Prova (SQL: $query )"); } }
#$resposta_filho->setPergunta($perg); $resposta_filho->setRespostaTexto($resposta_texto_filho); $resposta_filho->setRespostaCorreta($resposta_correta); $resposta_filho->setRespostaFilho($resposta_correta); $perg->addResposta($resposta_filho); } if (strlen($resposta_texto)==0){ continue; } $resItem = new Resposta(); $resItem->setId($resposta); #$resItem->setPergunta($perg); $resItem->setRespostaTexto($resposta_texto); $resItem->setRespostaCorreta($resposta_correta); $resItem->setRespostaFilho($resposta_filho); $perg->addResposta($resItem); } $sessionFacade->gravarPergunta($perg); /* ---------- UPLOAD DAS IMAGENS ---------- */ $files = array(); if (isset($_FILES['imagens'])){ foreach ($_FILES['imagens'] as $k => $l) { foreach ($l as $i => $v) { if (!array_key_exists($i, $files)) { $files[$i] = array(); }
function gravarProvaPergunta(ProvaPergunta $prova_pergunta){ if (strlen($prova_pergunta->getTitulo())==0){ throw new Exception('Informe o título da pergunta!'); }else{ $prova_pergunta->Xtitulo = "'".$prova_pergunta->getTitulo()."'"; } if (!is_object($prova_pergunta->getTipoPergunta())){ throw new Exception('Informe o tipo da pergunta!'); }else{ $prova_pergunta->Xtipo_pergunta = $prova_pergunta->getTipoPergunta()->getId(); } if (!is_object($prova_pergunta->getTopico())){ throw new Exception('Informe o tópico da pergunta!'); }else{ $prova_pergunta->Xtopico = $prova_pergunta->getTopico()->getId(); } if (strlen($prova_pergunta->getDificuldade())==0){ throw new Exception('Selecione a dificuldade da perguta!'); }else{ $prova_pergunta->Xdificuldade = $prova_pergunta->getDificuldade(); } if (strlen($prova_pergunta->getFonte())==0){ $prova_pergunta->Xfonte = " NULL "; }else{ $prova_pergunta->Xfonte = "'".$prova_pergunta->getFonte()."'"; } if (strlen($prova_pergunta->getPeso())==0){ $prova_pergunta->Xpeso = " NULL "; }else{ $prova_pergunta->setPeso( str_replace(",",".",$prova_pergunta->getPeso()) ); $prova_pergunta->Xpeso = $prova_pergunta->getPeso(); } if (strlen($prova_pergunta->getPerguntaOrigem())==0){ throw new Exception('Qual origem desta pergunta?'); }else{ $prova_pergunta->Xpergunta_origem = $prova_pergunta->getPerguntaOrigem(); } if (strlen($prova_pergunta->getProvaId())==0){ throw new Exception('Problema ao identificar a oritem da prova. Tente novamente.'); }else{ $prova_pergunta->Xprova_id = $prova_pergunta->getProvaId(); } $provaPerguntaDAO = new ProvaPerguntaDAO(); $provaPerguntaDAO->setBancoDados($this->banco); $provaPerguntaDAO->gravaDadosProvaPergunta($prova_pergunta); #echo "<br><br>Pergunta: (".$prova_pergunta->getPerguntaOrigem().")"; #echo "<br>Qtde Respostas: ".$prova_pergunta->getQtdeResposta(); /* if ( $prova_pergunta->getPerguntaOrigem() == '3'){ echo "<br><br>"; print_r( $prova_pergunta->getResposta(0) ); echo "<br><br>"; print_r( $prova_pergunta->getResposta(1) ); echo "<br><br>"; print_r( $prova_pergunta->getResposta(2) ); echo "<br><br>"; print_r( $prova_pergunta->getResposta(3) ); echo "<br><br>"; print_r( $prova_pergunta->getResposta(4) ); echo "<br><br>"; } */ for ($i=0;$i<$prova_pergunta->getQtdeResposta();$i++){ $prova_pergunta->getResposta($i)->setPergunta($prova_pergunta->getId()); if (is_object($prova_pergunta->getResposta($i)->getRespostaFilho())) { $resposta_filho = new Resposta(); $resposta_filho->setId($prova_pergunta->getResposta($i)->getRespostaFilho()->getId()); $resposta_filho->setPergunta($prova_pergunta->getId()); $resposta_filho->setRespostaTexto($prova_pergunta->getResposta($i)->getRespostaFilho()->getRespostaTexto()); $resposta_filho->setRespostaCorreta($prova_pergunta->getResposta($i)->getRespostaFilho()->getRespostaCorreta()); #$resposta_filho->setRespostaFilho($prova_pergunta->getResposta($i)->getRespostaFilho()->getId()); $resposta_filho = $this->gravarProvaResposta($resposta_filho); $prova_pergunta->getResposta($i)->setRespostaFilho($resposta_filho); } $this->gravarProvaResposta($prova_pergunta->getResposta($i)); } $this->atualizarOrdemResposta($prova_pergunta); }