예제 #1
0
	public function selecionaPerguntas(Prova $prova){

		$banco			= $this->getBancoDados(); 
		$sessionFacade	= new SessionFacade($banco); 

/*		$ppt = $prova->getNumeroPerguntas() / $prova->getQtdeTopico();
		$ppt = number_format($ppt,0);
		if  ($ppt < 1 ){
			$ppt = 1;
		}
		$topicos = array();
		$lista_topicos = array();
		for ($i=0; $i<$prova->getQtdeTopico();$i++){
			array_push($lista_topicos,$prova->getTopico($i)->getId());
		}
		$topicos = $sessionFacade->recuperarPerguntaTopicoOrdenadoDAO($lista_topicos);

		for ($i=0; $i<count($topicos);$i++){
			echo "<br>Tópico: ".$topicos[$i][0]->getDescricao()." / Qtde Perguntas: ".$topicos[$i][1];
			$perguntas = $sessionFacade->recuperarPerguntaTopicoDAO($prova->getTopico($i), $prova->getDificuldade());
			for ($j=0; $j<count($perguntas);$j++){
				$prova->addPergunta($perguntas[$j]);
				echo "<br>Pergunta: ".$perguntas[$j]->getTitulo();
			}
		}
*/

		$qtde_por_vez			= 1;
		$sem_pergunta			= 1;
		$perguntas_inseridas	= array();
		$x_qtde_perguntas		= $prova->getNumeroPerguntas();
		$qtde_perguntas			= $prova->getNumeroPerguntas();

		while ($qtde_perguntas > 0 AND $sem_pergunta > 0){
			$sem_pergunta = 0;
			for ($i=0; $i<$prova->getQtdeTopico();$i++){
				#echo "<br>Tópico: ".$prova->getTopico($i)->getDescricao();
				$perguntas = $sessionFacade->recuperarPerguntaTopicoDAO($prova->getTopico($i), $prova->getDificuldade(), $qtde_por_vez, $perguntas_inseridas);

				for ($j=0; $j<count($perguntas); $j++ ) {
					$perg = $perguntas[$j];

					if ($qtde_perguntas>0){
						$perg_aux = new ProvaPergunta(); 
						$perg_aux->setTopico($perg->getTopico());
						$perg_aux->setTipoPergunta($perg->getTipoPergunta());
						$perg_aux->setTitulo($perg->getTitulo());
						$perg_aux->setDificuldade($perg->getDificuldade());
						$perg_aux->setFonte($perg->getFonte());
						$perg_aux->setPeso( round(10 / $x_qtde_perguntas, 2));
						$perg_aux->setPerguntaOrigem($perg->getId());

	#echo "Qtde: ".$perg->getQtdeResposta();
						for ($w=0;$w<$perg->getQtdeResposta();$w++){
							$perg->getResposta($w)->setId(NULL);
							if (is_object($perg->getResposta($w)->getRespostaFilho())) {
								$perg->getResposta($w)->getRespostaFilho()->setId(NULL);
							}
							$perg_aux->addResposta($perg->getResposta($w));
						}

						$prova->addPergunta($perg_aux);
						array_push($perguntas_inseridas,$perguntas[$j]->getId());
						$qtde_perguntas--;
						$sem_pergunta++;
					}
					#echo "<br>Pergunta: ".$perguntas[0]->getTitulo();
					#echo "<hr>";
				}
			}
		}
	}