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; }
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(); } } } }