예제 #1
0
	public function gravaDadosTopico(Topico $topico){

		if (strlen($topico->getId())>0){
				$query = " UPDATE tbl_topico SET
									disciplina       = $topico->Xdisciplina,
									descricao        = $topico->Xdescricao
							WHERE topico = ".$topico->getId();
		}else{
				$query = "INSERT INTO tbl_topico (
									disciplina,
									descricao
						) VALUES (
									$topico->Xdisciplina,
									$topico->Xdescricao
							)";
		}

		$banco = $this->getBancoDados(); 
		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao atualizar / inserir Topico. ($query) "); 
		}

		if (strlen($topico->getId())==0){
			$topico->setId($banco->insert_id());
		}
	}
예제 #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 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);
	}