Exemplo n.º 1
0
	public function recuperarDivulgacaDAO($divulgacao){

		$banco = $this->getBancoDados(); 

		$query = "	SELECT tbl_divulgacao.aluno, tbl_divulgacao.professor, tbl_divulgacao.nome, tbl_divulgacao.email
					FROM tbl_divulgacao
					ORDER BY tbl_divulgacao.ultimo_email ASC ";
		$disciplina = NULL; 
		$retorno = $banco->executaSQL($query); 
		if($retorno != NULL) {

			$sessionFacade = new SessionFacade($banco); 
			$resultado     = array();

			while($linha = $banco->fetchArray($retorno)) { 

				if (strlen($linha["aluno"])>0){
					$obj_aluno     = $sessionFacade->recuperarAluno($linha["aluno"]);
				}

				$obj_prova     = $sessionFacade->recuperarProva($linha["prova"]);
				$prova         = $obj_prova->getId();
				$data          = $obj_prova->getDataInicio();
				$disciplina    = $obj_prova->getDisciplina()->getNome();
				$curso         = $obj_prova->getDisciplina()->getCurso()->getNome();

				$obj_prov_resp = $sessionFacade->recuperarProvaRespondida($prova,$aluno);
			}

			return $resultado; 
		} else {
			throw new Exception("Erro ao recuperar Relatório de Acessos ($query)"); 
		}
	}
	public function recuperarProvaRespondidaDAO($id_prova,$id_aluno){

		$banco				= $this->getBancoDados();
		$sessionFacade		= new SessionFacade($banco);
		$obj_prova			= $sessionFacade->recuperarProva($id_prova);
		$prova_respondida	= NULL;

		$query ="SELECT DATE_FORMAT(tbl_prova_aluno.data_inicio , '%d/%m/%Y %H:%i')  AS data_inicio,
						DATE_FORMAT(tbl_prova_aluno.data_termino , '%d/%m/%Y %H:%i') AS data_termino,
						tbl_prova_aluno.qtde_perguntas                               AS qtde_perguntas,
						tbl_prova_aluno.qtde_acertos                                 AS qtde_acertos,
						tbl_prova_aluno.nota                                         AS nota,
						tbl_prova_aluno.professor                                    AS professor,
						tbl_prova_aluno.nota_liberada                                AS nota_liberada
				FROM tbl_prova_aluno
				WHERE tbl_prova_aluno.prova = $id_prova 
				AND   tbl_prova_aluno.aluno = $id_aluno";

		$retorno = $banco->executaSQL($query); 
		if($retorno == NULL) {
			throw new Exception("Erro ao recuperar Prova do Aluno $id_aluno (SQL: $query)"); 
		}

		if ($banco->numRows($retorno) == 0){
			throw new Exception("Nenhuma prova encontrada.",0);
		}

		while($linha = $banco->fetchArray($retorno)) {

			$obj_professor	= $sessionFacade->recuperarProfessor($linha["professor"]);
			$obj_aluno		= $sessionFacade->recuperarAluno($id_aluno);

			$prova_respondida = new ProvaRespondida(); 
			$prova_respondida->setProva($obj_prova);
			$prova_respondida->setAluno($obj_aluno);
			$prova_respondida->setProfessor($obj_professor);
			$prova_respondida->setDataInicio($linha["data_inicio"]);
			$prova_respondida->setDataTermino($linha["data_termino"]);
			$prova_respondida->setQtdePerguntas($linha["qtde_perguntas"]);
			$prova_respondida->setQtdeAcertos($linha["qtde_acertos"]);
			$prova_respondida->setNota($linha["nota"]);
			$prova_respondida->setNotaLiberada($linha["nota_liberada"]);

			$query="SELECT	tbl_prova_aluno_pergunta.prova_aluno_pergunta AS prova_aluno_pergunta,
							tbl_prova_aluno_pergunta.prova_pergunta       AS prova_pergunta,
							tbl_prova_aluno_pergunta.valor_corrigido      AS valor_corrigido,
							tbl_prova_pergunta.tipo_pergunta              AS tipo_pergunta
					FROM tbl_prova_aluno_pergunta
					JOIN tbl_prova_pergunta USING(prova_pergunta)
					WHERE tbl_prova_aluno_pergunta.prova = ".$prova_respondida->getProva()->getId()."
					AND   tbl_prova_aluno_pergunta.aluno = ".$prova_respondida->getAluno()->getId();
			#echo nl2br($query);
			#echo "<hr>"; 
			$retorno_pergunta = $banco->executaSQL($query); 
			if($retorno_pergunta == NULL) {
				throw new Exception("Erro ao recuperar prova corrigida (SQL: $query)"); 
			}
			while($linha_pergunta = $banco->fetchArray($retorno_pergunta)) {

				$prova_respondida->addPerguntaRespondida(	$linha_pergunta["prova_aluno_pergunta"],
															$linha_pergunta["prova_pergunta"],
															$linha_pergunta["valor_corrigido"] );

				$query="SELECT	tbl_prova_aluno_resposta.prova_aluno_resposta AS prova_aluno_resposta,
								tbl_prova_aluno_resposta.prova_aluno_pergunta AS prova_aluno_pergunta,
								tbl_prova_aluno_resposta.prova_resposta       AS prova_resposta,
								tbl_prova_aluno_resposta.resposta_texto       AS resposta_texto,
								tbl_prova_aluno_pergunta.prova_pergunta       AS prova_pergunta,
								tbl_prova_aluno_resposta.resposta_correta     AS resposta_correta,
								tbl_prova_aluno_resposta.valor                AS valor
						FROM tbl_prova_aluno_resposta
						JOIN tbl_prova_aluno_pergunta ON tbl_prova_aluno_pergunta.prova_aluno_pergunta = tbl_prova_aluno_resposta.prova_aluno_pergunta 
						WHERE tbl_prova_aluno_resposta.prova_aluno_pergunta = ".$linha_pergunta["prova_aluno_pergunta"];
				#echo nl2br($query);
				#echo "<hr>";
				$retorno_item = $banco->executaSQL($query); 
				if($retorno_item == NULL) {
					throw new Exception("Erro ao recuperar prova corrigida (SQL: $query)"); 
				}
				while($linha_item = $banco->fetchArray($retorno_item)) {

					$prova_respondida->addResposta(	$linha_item["prova_aluno_resposta"],
													/*$linha_item["prova_aluno_pergunta"],*/
													$linha_item["prova_pergunta"],
													$linha_item["prova_resposta"],
													$linha_item["resposta_texto"],
													$linha_item["resposta_correta"],
													$linha_item["valor"] );
				}
			}
		}
		return $prova_respondida; 
	}
Exemplo n.º 3
0
	public function gravaDadosComunicado(Comunicado $comunicado){

		$banco = $this->getBancoDados(); 

		if (strlen($comunicado->getId())>0){
			$query = " UPDATE tbl_comunicado SET
								instituicao     = $comunicado->Xinstituicao,
								curso           = $comunicado->Xcurso,
								professor       = $comunicado->Xprofessor,
								titulo          = $comunicado->Xtitulo,
								data            = $comunicado->Xdata,
								comentario      = $comunicado->Xcomentario,
								obrigatorio     = $comunicado->Xobrigatorio
						WHERE comunicado = ".$comunicado->getId();
		}else{
			$query = "INSERT INTO tbl_comunicado (
								instituicao    ,
								curso          ,
								professor      ,
								titulo         ,
								data           ,
								comentario     ,
								obrigatorio    
						) VALUES (
								$comunicado->Xinstituicao, 
								$comunicado->Xcurso,       
								$comunicado->Xprofessor,   
								$comunicado->Xtitulo,      
								$comunicado->Xdata,        
								$comunicado->Xcomentario,  
								$comunicado->Xobrigatorio  
						)";
		}
		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao atualizar / inserir Comunicado. (SQL: $query ) "); 
		}

		if (strlen($comunicado->getId())==0){
			$comunicado->setId($banco->insert_id());
		}

		if (is_object($comunicado->getCurso())){
			$query = "	INSERT INTO tbl_comunicado_aluno (comunicado,aluno)
						SELECT DISTINCT 
								".$comunicado->getId().",
								tbl_curso_aluno.aluno
						FROM tbl_curso_aluno
						JOIN tbl_comunicado USING(curso)
						WHERE tbl_curso_aluno.aluno NOT IN (
							SELECT aluno 
							FROM tbl_comunicado_aluno
							WHERE comunicado = ".$comunicado->getId()."
						)
						AND tbl_curso_aluno.curso = ".$comunicado->getCurso()->getId();
		}else{
			$query = "	INSERT INTO tbl_comunicado_aluno (comunicado,aluno)
						SELECT DISTINCT 
								".$comunicado->getId().",
								tbl_aluno.aluno
						FROM tbl_aluno
						WHERE tbl_aluno.instituicao = ".$comunicado->_login_instituicao."
						AND tbl_aluno.aluno NOT IN (
							SELECT aluno 
							FROM tbl_comunicado_aluno
							WHERE comunicado = ".$comunicado->getId()."
						)";
		}

		if(!$banco->updateSQL($query)) {
			throw new Exception("Erro ao atualizar / inserir Comunicado. (SQL: $query ) "); 
		}

		$query = "	SELECT 	tbl_comunicado.instituicao,
							tbl_comunicado.professor,
							tbl_curso_aluno.aluno
					FROM tbl_curso_aluno
					JOIN tbl_comunicado USING(curso)
					LEFT JOIN tbl_professor ON tbl_professor.professor = tbl_comunicado.professor
					WHERE tbl_comunicado.comunicado = ".$comunicado->getId();
		$banco = $this->getBancoDados(); 
		$comunicado = NULL; 
		$retorno = $banco->executaSQL($query); 
		if($retorno != NULL) {

			while($linha = $banco->fetchArray($retorno)) { 

				$sessionFacade		= new SessionFacade($banco); 
				$obj_instituicao	= $sessionFacade->recuperarInstituicao($linha["instituicao"]);
				$obj_professor		= $sessionFacade->recuperarProfessor($linha["professor"]);
				$obj_aluno			= $sessionFacade->recuperarAluno($linha["aluno"]);

				/* Envio de Email para Notificação */
				if (getRealIpAddr() != '127.0.0.1'){
					$mail             = new PHPMailer();

					$body             = $mail->getFile('emails/comunicado.html');
					$variaveis = array("{ALUNO}","{PROFESSOR}","{NOME_INSTITUICAO}","{LOGIN}", "{SENHA}","{KEY}","{P}","{A}");
					$valores   = array(	$obj_aluno->getNome(), 
										$obj_professor->getNome(),
										$obj_instituicao->getNome(),
										$obj_aluno->getEmail(), 
										$obj_aluno->getSenha(),
										md5($obj_aluno->getId().$obj_aluno->getEmail()),
										'',
										$obj_aluno->getId()
						);
					$body      = str_replace($variaveis, $valores, $body);
					$mail->From       = "*****@*****.**";
					$mail->FromName   = "TesteNet";
					$mail->Subject    = "TesteNet - Novo Comunicado!";
					$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!";
					$mail->MsgHTML($body);
					$mail->AddAddress($obj_aluno->getEmail(), $obj_aluno->getNome());
					$mail->AddBCC('*****@*****.**', 'Suporte TesteNet');
					$mail->Send();
				}
			}
		}

	}