예제 #1
0
	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)"); 
		}
	}
예제 #2
0
 /**
  * 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();
 }
예제 #3
0
 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);
     }
 }
예제 #4
0
	$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;
예제 #5
0
 protected function tearDown()
 {
     $this->usuario->delete();
     $this->materia->delete();
     Topico::model()->deleteAll();
 }
예제 #6
0
}

##############################################################################
##############            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;
	}
}
예제 #7
0
		/* 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;
예제 #8
0
	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);
	}