コード例 #1
0
ファイル: class.prova.DAO.php プロジェクト: nowakis/TesteNet
	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>";
				}
			}
		}
	}
コード例 #2
0
		$prof = $sessionFacade->recuperarProfessor($_login_professor); 
		$prov->setProfessor($prof);

		/* Perguntas */
		for ($i=0; $i<$qtde_perguntas+10;$i++){
			$prova_pergunta = addslashes(trim($_POST['prova_pergunta_'.$i]));
			$pergunta       = addslashes(trim($_POST['pergunta_'.$i]));
			$peso           = addslashes(trim($_POST['peso_'.$i]));

			if (strlen($prova_pergunta)>0){
				$perg = NULL;
				$perg = $sessionFacade->recuperarProvaPergunta($prova_pergunta); 
				if ( is_object($perg)){
					$perg->setPeso($peso);
					$prov->addPergunta($perg);
					$qtde_pergunta_prova++;
				}
			}elseif (strlen($pergunta)>0){
				$perg = NULL;
				$perg = $sessionFacade->recuperarPergunta($pergunta); 
				if ( is_object($perg)){
					$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($peso);
					$perg_aux->setPerguntaOrigem($perg->getId());
					for ($j=0;$j<$perg->getQtdeResposta();$j++){