/** * Método que gera um Select genérico para uso interno da classe * * @return Select Retorna um objeto contendo a base para as consultas */ public function select() { $t = $this->tg->getTabela(); $sqlUnidade = new SqlUnidade(); $sqlSerie = new SqlSerie(); $sqlTurma = new SqlTurma(); $sqlUsuario = new SqlUsuario(); $select = new Select($t); return $select->columns(array("pk_area_transf_dest" => "cod", "area_transf_dest_tipo" => "(case " . "when {$t}.fk_unidade!=0 then '" . Destinatario::UNIDADE . "' " . "when {$t}.fk_serie!=0 then '" . Destinatario::SERIE . "' " . "when {$t}.fk_turma!=0 then '" . Destinatario::TURMA . "' " . "else '" . Destinatario::USUARIO . "' " . "end)", "area_transf_dest_alvo" => "(case " . "when {$t}.fk_unidade!=0 " . "then ({$sqlUnidade->select()->columnsReset()->columns("unidade||''")->where("pk_unidade={$t}.fk_unidade")->limit(1)}) " . "when {$t}.fk_serie!=0 " . "then ({$sqlSerie->select()->columnsReset()->columns("serie||''")->where("pk_serie={$t}.fk_serie")->limit(1)}) " . "when {$t}.fk_turma!=0 " . "then ({$sqlTurma->select()->columnsReset()->columns("turma||''")->where("pk_turma={$t}.fk_turma")->limit(1)}) " . "else ({$sqlUsuario->select()->columnsReset()->columns("usuario||''")->where("pk_usuario={$t}.fk_usuario " . "and {$t}.fk_tipo_usuario=pk_tipo_usuario")->limit(1)}) " . "end)")); }
/** * Método que retorna a unidade selecionada pelo usuário logado */ protected function selecionada() { $sqlUnidade = new SqlUnidade(); $id = false; $tmp = false; //Selecionando o id de acordo com o perfil logado switch ($this->tipoLogado) { case Perfil::ALUNO: $id = (int) $this->data["idUnidadeAluno"]; break; default: break; } if ($id) { $unidade = $sqlUnidade->get($id); $tmp = $this->modelo($unidade); } // $this->appendResposta($tmp); }
/** * Método que lista todas as unidades de acordo com o usuário logado * * @param Filtros $filtros Objeto do sistema de filtros * @param Usuario $usrFiltros Caso seja informado, usa este usuário para a filtragem * * @return ResultSetHydrator Um objeto contendo a resposta da consulta */ public function listar(Filtros $filtros, Usuario $usrFiltros = null) { $sqlUnidade = new SqlUnidade(); //Definindo o usuário para a filtragem if ($usrFiltros instanceof Usuario) { $usuario = $usrFiltros; } else { $usuario = $this->usuarioLogado; } //Fazendo a consulta de acordo com o usuário logado switch ($usuario->getPerfil()->getId()) { case Perfil::ALUNO: //Lista as unidades do aluno logado $aluno = new Aluno($usuario->getId()); return $sqlUnidade->deAluno($aluno); case Perfil::RESPONSAVEL: //Lista as unidades do responsável logado $responsavel = new Responsavel($usuario->getId()); return $sqlUnidade->deResponsavel($responsavel); case Perfil::PROFESSOR: //Lista de unidades do professor logado $professor = new Professor($usuario->getId()); return $sqlUnidade->deProfessor($professor); case Perfil::COORDENADOR: //Listando as unidades do coordenador logado $coordenador = new Coordenador($usuario->getId()); return $sqlUnidade->deCoordenador($coordenador); default: //Lista todas as unidades, independente de tipo de usuário return $sqlUnidade->listarTodos(new Filtros()); } }
/** * Gera um select básico usado em consultas internas * @return Select Objeto genérico usado nas consultas */ public function select() { $select = new Select($this->tg->getTabela()); $sqlUnidade = new SqlUnidade(); return $select->columns(array("ensinos_nome" => "nome_ensino", "pk_ensino"))->join("public.serie", array("ensino" => "pk_ensino"))->join("public.turma", array("fk_serie" => "pk_serie"))->join("public.unidade", array("pk_unidade" => "fk_unidade"))->import($sqlUnidade->select()); }
/** * Método que retorna uma consulta básica para uso dos métodos * @return Select */ public function select() { $sqlUnidade = new SqlUnidade(); $select = new Select($this->tg->getTabela()); return $select->columns(array("ano" => "ano"), "coordenacao_")->columns(array("coordenacao_nome", "pk_coordenacao"))->join("public.unidade", array("pk_unidade" => "{$this->tg->getTabela()}.fk_unidade"))->import($sqlUnidade->select()); }
/** * Método que retorna a foto do aluno informado ou logado * @param int $usuario */ public function get_foto($usuario = false) { try { $this->filtro->initGets(array("width", "height")); $usrAux = new Usuarios(); $sqlUnidade = new SqlUnidade(); $aluno = $usrAux->getAluno((int) $usuario); //Definindo o caminho de acordo com o tipo de usuário buscado $unidade = $sqlUnidade->deAluno($aluno)->fetch(); $caminho = "alunos/{$unidade->getId()}/{$aluno->getFoto()}"; $arquivo = new Arquivos(); $img = $arquivo->getPastaUpload($caminho); if (!file_exists($img) || is_dir($img)) { throw new Exception("A foto do usuário não foi encontrada ou ele " . "não possue foto cadastrada"); } $imagem = new Image($img); if ($this->filtro->getInstance("dimension") instanceof Dimension) { $imagem->setNewDimesion($this->filtro->getInstance("dimension")); } $imagem->setQuality(100); $imagem->setAntiAlias(TRUE); $imagem->setType(""); $getImage = new GetImage($imagem); $getImage->__toString(); } catch (Exception $exc) { $this->setMensagem($exc->getMessage()); $this->printResposta(); } die; }
/** * Método que gera o painel de acompanhamento do aluno * @param int $pkAluno O código do usuário referente ao aluno na * tabela de usuários */ public function painel_de_acompanhamento($pkAluno = 0) { if ($_SERVER['REQUEST_METHOD'] == "POST") { //Tratando a requisição POST $this->editarFoto($pkAluno); } if (!filter_input(INPUT_GET, "menu", FILTER_VALIDATE_BOOLEAN)) { //Definindo se deve ou não exibir o menu principal $this->setShadowBox(TRUE); } //Inicializando os objetos básicos $usrAux = new Usuarios(); $sqlUnidade = new SqlUnidade(); $sqlSerie = new SqlSerie(); $sqlTurmas = new SqlTurma(); $sqlResumo = new SqlResumoALuno(); $sqlAcomp = new SqlAcompanhamento(); $sqlAgenda = new SqlAgendaSemanalAluno(); $sqlRecuperacao = new SqlRecuperacao(); $centralNotifi = new Kernel_Models_Notificacoes(); //Refazer como lib $sqlPlantao = new SqlPlantaoPedagogico(); try { $aluno = $usrAux->getAluno((int) $pkAluno); $resumo = $sqlResumo->get($aluno->getId()); $alunoInfo = $sqlPlantao->get_aluno_info($aluno->getId()); // $videos = array(); $videos = array_merge($videos, $sqlAgenda->listarTodas($aluno)->fetchAll()); $videos = array_merge($videos, $sqlAcomp->videosAcompanahemto($aluno)->fetchAll()); //Definindo os parametros para as notificações $ids = array("aluno_conteudo_diario", "aluno_regs_afa", "aluno_aten_afa", "aluno_acao_afa", "aluno_novas_notas", "aluno_mensagens"); $parametros = array("idAluno" => (string) $aluno->getId()); $centralNotifi->getUltimos($ids, $parametros); $recParalela = $sqlRecuperacao->get_modulos_aluno($aluno->getIdEspecifico()); //Definindo os plugins usados na página e o template $this->definirTema("responsive"); if ($this->tipoLogado == Perfil::ALUNO || $this->tipoLogado == Perfil::RESPONSAVEL) { //As notificações só aparecem para o aluno ou responsável $this->loadPlugin("notif.center"); } $this->bowerLoad("jquery-form"); $this->loadPlugin("shadowbox"); $this->loadPlugin("file_upload"); //Passando os dados para a view e exibindo a página $this->setData("aluno", $aluno); $this->setData("resumo", $resumo); $this->setData("unidades", $sqlUnidade->deAluno($aluno)->fetchAll()); $this->setData("serie", $sqlSerie->deAluno($aluno)->fetch()); $this->setData("turma", $sqlTurmas->deALuno($aluno)->fetch()); $this->setData("estaRecparalela", (bool) count($recParalela)); $this->setData("turmaOlimAssoc", $sqlAcomp->pkAlunoTurmaOlimpica($aluno)); $this->setData("turmaAvancada", $sqlAcomp->pkAlunoTurmaAvancada($aluno)); $this->setData("centralNotifi", $centralNotifi); $this->setData("parametros", $parametros); $this->setData("mensagens", $sqlAcomp->listarMensagens($aluno)); $this->setData("videos", array()); $this->setData("arquivos", new Arquivos()); $this->setData("videos", $videos); $this->setData("alunoInfo", $alunoInfo); //Imprimindo a página $this->printView(); } catch (Exception $exc) { $this->close($exc); } }