public function recuperarTopico($id_topico){ $query ="SELECT tbl_topico.topico AS topico, tbl_topico.disciplina AS disciplina, tbl_topico.descricao AS descricao FROM tbl_topico WHERE tbl_topico.topico = $id_topico "; $banco = $this->getBancoDados(); $topico = NULL; $retorno = $banco->executaSQL($query); if($retorno != NULL) { if ($banco->numRows($retorno) == 0){ throw new Exception("Nenhuma topico encontrado.",0); } while($linha = $banco->fetchArray($retorno)) { $sessionFacade = new SessionFacade($banco); $obj_disciplina = $sessionFacade->recuperarDisciplina($linha["disciplina"]); $topico = new Topico(); $topico->setId($linha['topico']); $topico->setDisciplina($obj_disciplina); $topico->setDescricao($linha["descricao"]); } return $topico; } else { throw new Exception("Erro ao recuperar Topico ($query)"); } }
/** * Método que verifica se o tópico informado é o ultimo ou não * @param Topico $topico O tópico a ser testado * @return boolean Retorna TRUE caso seja o ultimo e FALSE * em caso contrário */ public function isUltimo(Topico $topico) { if (!$topico->getId() || !$topico->getCapitulo()->getId()) { throw new LivroException("O tópico informado é inválido"); } $query = "SELECT pk_conteudo FROM apostilas.conteudo "; $query .= "inner join apostilas.capitulo on pk_capitulo=fk_capitulo "; $query .= "inner join materia_vin on pk_materia_vin=fk_materia_vin "; $query .= "WHERE fk_capitulo={$topico->getCapitulo()->getId()} "; $query .= "and pk_conteudo>{$topico->getId()} "; $query .= "order by (sequencial_topico) limit 1"; return !(bool) $this->tg->querySelect($query)->rowCount(); }
public function actionCadastrar() { $urlRetorno = ['materias/listar']; if ($this->request->isPostRequest) { $topico = new Topico(); $topico->materia_id = $this->request->getPost('materia_id'); $topico->titulo = $this->request->getPost('titulo'); $topico->dif_esperada = 'F'; //$this->request->getPost('dif_esperada'); $topico->dif_encontrada = null; //$this->request->getPost('dif_encontrada'); $topico->dt_criacao = date('Y-m-d H:i:s'); if ($topico->save()) { $topico->refresh(); $urlRetorno['#'] = "topico-{$topico->id}"; $this->user->setFlash('success', "O tópico {$topico->titulo} foi adicionado à matéria {$topico->materia->titulo}."); } else { $urlRetorno['#'] = 'erroTopicoMsg'; $htmlErro = CHtml::errorSummary($topico, 'Error ao cadastrar este topico, verifique se está tudo correto!'); $this->user->setFlash("erroTopico{$topico->materia_id}", $htmlErro); } $this->redirect($urlRetorno); } }
$tipo_pergunta = addslashes(trim($_POST['tipo_pergunta'])); $dificuldade = addslashes(trim($_POST['dificuldade'])); $fonte = addslashes(trim($_POST['fonte'])); $ativa = addslashes(trim($_POST['ativa'])); try { $banco->iniciarTransacao(); $obj_tipo_pergunta = $sessionFacade->recuperarTipoPergunta($tipo_pergunta); $obj_topico = $sessionFacade->recuperarTopico($topico); $obj_curso = $sessionFacade->recuperarCurso($curso); $obj_disciplina = $sessionFacade->recuperarDisciplina($disciplina); if (strlen($topico_descricao)>0){ $obj_topico = new Topico(); $obj_topico->setDisciplina($obj_disciplina); $obj_topico->setDescricao($topico_descricao); $sessionFacade->gravarTopico($obj_topico); } $perg = new Pergunta(); $perg->setId($pergunta); $perg->setTopico($obj_topico); $perg->setTitulo($titulo_pergunta); $perg->setTipoPergunta($obj_tipo_pergunta); $perg->setDificuldade($dificuldade); $perg->setFonte($fonte); $perg->setAtiva($ativa); $qtde_respostas = 0;
protected function tearDown() { $this->usuario->delete(); $this->materia->delete(); Topico::model()->deleteAll(); }
} ############################################################################## ############## CADASTRAR / ALTERAR ############## ############################################################################## if (isset($_POST['btn_acao']) AND strlen(trim($_POST['btn_acao']))>0) { $topico = addslashes(trim($_POST['topico'])); $disciplina = addslashes(trim($_POST['disciplina'])); $descricao = addslashes(trim($_POST['descricao'])); try { $obj_disciplina = $sessionFacade->recuperarDisciplina($disciplina); $topic = new Topico(); $topic->setId($topico); $topic->setDisciplina($obj_disciplina); $topic->setDescricao($descricao); $sessionFacade->gravarTopico($topic); $banco->desconecta(); header("Location: cadastro.topico.php?topico=".$topic->getId()."&msg_codigo=1"); exit; } catch(Exception $e) { //header("location: cadastrarCliente.php?msg=".$e->getMessage()); array_push($msg_erro,$e->getMessage()); #exit; } }
/* Topicos */ $qtde_item = 20; for ($i=0; $i<$qtde_item;$i++){ $topico = addslashes(trim($_POST['topico_'.$i])); $descricao = addslashes(trim($_POST['descricao_'.$i])); #echo "<hr>Topico ".$topico." - Descricao: ".$descricao; $topic = null; if (strlen($topico)>0){ $topic = $sessionFacade->recuperarTopico($topico); $disc->addTopicoNaoExcluidos($topico); }else{ if (strlen($descricao)>0){ $topic = new Topico(); $topic->setId($topico); $topic->setDescricao($descricao); } } if (is_object($topic)){ $disc->addTopico($topic); } } $sessionFacade->gravarDisciplina($disc); $sessionFacade->gravarDisciplinaAluno($disc); $banco->efetivarTransacao(); $banco->desconecta(); header("Location: cadastro.disciplina.php?disciplina=".$disc->getId()."&msg_codigo=1"); exit;
public function recuperarPerguntaTopicoDAO(Topico $topico, $dificuldade, $qtde_perguntas = 1, $perguntas_inseridas = array()){ $PerguntaDAO = new PerguntaDAO(); $PerguntaDAO->setBancoDados($this->banco); return $PerguntaDAO->recuperarTodosPorTopico($topico->getId(), $dificuldade, $qtde_perguntas, $perguntas_inseridas); }