コード例 #1
0
 /**
  * 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)"));
 }
コード例 #2
0
 /**
  * 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);
 }
コード例 #3
0
ファイル: UnidadeAux.php プロジェクト: andersongimino/area51
 /**
  * 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());
     }
 }
コード例 #4
0
ファイル: SqlEnsino.php プロジェクト: andersongimino/area51
 /**
  * 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());
 }
コード例 #5
0
 /**
  * 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());
 }
コード例 #6
0
 /**
  * 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;
 }
コード例 #7
0
ファイル: aluno.php プロジェクト: andersongimino/area51
 /**
  * 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);
     }
 }