Example #1
0
 /**
  *
  * @param Usuario $usuario O usuário que fez o comentário
  */
 public function setUsuario(Usuario $usuario)
 {
     if (!is_int($usuario->getId())) {
         throw new UsuarioException("O usuário informado não é válido");
     }
     $this->usuario = $usuario;
     return $this;
 }
 /**
  * Método que retorna a avaliação do anexo informado
  * @param Anexos $anexo O anexo alvo da consulta
  * @param Usuario $aluno O aluno que fez a avaliação
  * @return AnexosAvaliacao Retorna a avaliação do anexo
  */
 public function get(Anexos $anexo, Usuario $aluno)
 {
     $ava = $this->tableGatway->select(array("anexos_ava_fk_anexo" => $anexo->getId(), "anexos_ava_fk_usuario" => $aluno->getId()));
     if ($ava->rowCount()) {
         return $ava->fetch();
     } else {
         return new AnexosAvaliacao();
     }
 }
Example #3
0
 /**
  * Método que retorna o usuário logado instanciado com o perfil adequado.
  * 
  * @return Usuario Retorna um objeto do tipo usuário(ou herdeiro)
  *                 contendo os dados do usuário logado
  */
 public function usuarioLogado()
 {
     if (isset($GLOBALS['usuarioLogado']) && $GLOBALS['usuarioLogado'] instanceof Usuario) {
         return $GLOBALS['usuarioLogado'];
     }
     switch ($this->perfilLogado) {
         case Perfil::PROFESSOR:
             $GLOBALS['usuarioLogado'] = $this->getProgfessor($this->idLogado);
             break;
         case Perfil::ALUNO:
             $GLOBALS['usuarioLogado'] = $this->getAluno($this->idLogado);
             break;
         case Perfil::COORDENADOR:
             $GLOBALS['usuarioLogado'] = $this->getCoordenador($this->idLogado);
             break;
         default:
             $usuario = new Usuario(new Perfil($this->perfilLogado));
             $GLOBALS['usuarioLogado'] = $usuario->setId($this->idLogado);
             break;
     }
     return $GLOBALS['usuarioLogado'];
 }
Example #4
0
 /**
  * Método que lista as séries de acordo com os filtros informados 
  * e usuário logado
  * 
  * @param Filtros $filtros Objeto do sistema de filtros
  * 
  * @return ResultSetHydrator Objeto contendo as séries retornadas
  */
 public function listar(Filtros $filtros, Usuario $usrFiltro = null)
 {
     $sqlSerie = new SqlSerie();
     if ($usrFiltro instanceof Usuario) {
         $usuario = $usrFiltro;
     } else {
         $usuario = $this->usuarioLogado;
     }
     switch ($usuario->getPerfil()->getId()) {
         case Perfil::COORDENADOR:
             $coordenador = new Coordenador($usuario->getId());
             return $sqlSerie->deCoordenador($coordenador, $filtros);
         case Perfil::PROFESSOR:
             $professor = new Professor($usrFiltro->getId());
             return $sqlSerie->deProfessor($professor, $filtros);
         case Perfil::ALUNO:
             $aluno = new Aluno($usuario->getId());
             return $sqlSerie->deAluno($aluno, $filtros);
         default:
             return $sqlSerie->listarTodos($filtros);
     }
 }
Example #5
0
 /**
  * Método que atualiza a foto de um determinado usuário
  * @param Usuario $usuario O usuário a ter a foto atualizada
  * @return boolean Retorna TRUE em caso de sucesso ou FALSE em caso de erro
  * @throws Exception
  */
 public function atualizarFoto(Usuario $usuario)
 {
     if (!(int) $usuario->getId()) {
         throw new UsuarioException("O usuário informado não é válido");
     }
     return $this->gatWayUsuario->update("pk_usuario={$usuario->getId()}", array("foto" => $usuario->getFoto()));
 }
Example #6
0
 /**
  * Método que faz a tradução da resposta da consulta para o objeto.
  * 
  * @param array $dados
  */
 public function exchangeArray(array $dados)
 {
     parent::exchangeArray($dados);
     $tabela = $this->perfil->getTabela();
     $pk = substr($tabela, strrpos($tabela, '.') + 1);
     $this->idEspecifico = (int) (empty($dados["pk_{$pk}"]) ? 0 : $dados["pk_{$pk}"]);
     $this->status = (int) (empty($dados["{$this->colunaBase}status"]) ? Status::DESATIVADO : $dados["{$this->colunaBase}status"]);
 }
Example #7
0
 /**
  * Método que faz a tradução da respostas das consultas para o modelo
  * @param array $dados
  */
 public function exchangeArray(array $dados)
 {
     parent::exchangeArray($dados);
     $this->idEspecifico = (int) (empty($dados["pk_usuario_coordenador"]) ? 0 : $dados["pk_usuario_coordenador"]);
 }
Example #8
0
 /**
  * Método que faz a tradução da resposta das consultas para o modelo
  * @param array $dados
  */
 public function exchangeArray(array $dados)
 {
     parent::exchangeArray($dados);
 }
 /**
  * Método que lista todas as mensagens para o aluno informado
  * A consulta busca apenas por turmas pois foi definido assim no projeto
  * @param Usuario $destinatario O aluno de destino da mensagem
  * @param FiltrosSistema $filtrosSistema
  * @return ResultSetHydrator
  */
 public function listarTodas(Usuario $destinatario, FiltrosSistema $filtrosSistema = null)
 {
     $select = new Select();
     return $this->tableGatway->selectObj($select->distinct("agendas_semanais.mensagem_alunos.id")->join("agendas_semanais.mensagem_alunos_destinatarios", array("agendas_semanais.mensagem_alunos.id" => "mensagem"))->join("public.turma", array("pk_turma" => "pk_destinatario"))->join("public.usuario_aluno", array("fk_turma" => "pk_turma"))->where(array("fk_usuario" => $destinatario->getId()))->order("agendas_semanais.mensagem_alunos.id", Order::DSC)->limit(3));
 }
 /**
  * Método que lista todas as mensagens cadastradas por um ususário especifico
  * OBS: Os filtros ainda não forma aplicados
  * @param Kernel_Models_Usuario $usuario Objeto referente ao usuário que realizou o cadastro
  * @param FiltrosSistema $filtrosSistema Objeto do sistema de filtros
  * @return PDOStatement Retorna um objeto contendo o resulta da consulta
  */
 public function listarTodasDe(Usuario $usuario, FiltrosSistema $filtrosSistema = null)
 {
     return $this->select("user_insert=" . $usuario->getId());
 }
Example #11
0
 /**
  * Método que faz a tradução da resposta da consulta para o modelo do perfil
  * @param array $dados
  */
 public function exchangeArray(array $dados)
 {
     parent::exchangeArray($dados);
     $this->idEspecifico = (int) (empty($dados["pk_usuario_aluno"]) ? 0 : $dados["pk_usuario_aluno"]);
     $this->status = (bool) (empty($dados["aluno_status"]) ? false : $dados["aluno_status"]);
 }
 /**
  * Método responsável pela tradução das respostas das consultas para o modelo
  * @param array $dados
  */
 public function exchangeArray(array $dados)
 {
     if (!empty($dados["usuario_insert"])) {
         //Executa este trecho caso a resposta seja interna a outra consulta
         $array = explode("),(", substr($dados["usuario_insert"], 1, -1));
         $arrayUsuario = explode(",", $array[0]);
         $arrayPerfil = explode(",", $array[1]);
         $arrayFuncao = explode(",", $array[2]);
         $arrayInteracao = explode(",", $array[3]);
         $this->setId((int) $arrayUsuario[0]);
         $this->setNome($arrayUsuario[1] . " ");
         $this->setEmail($arrayUsuario[3]);
         $this->getPerfil()->setId((int) $arrayPerfil[0]);
         $this->getFuncao()->setId((int) $arrayFuncao[0]);
         $this->tabela = trim(substr($arrayInteracao[3], 1, -1));
         $this->acao = (int) $arrayInteracao[4];
         $this->dtInteracao = new Date(substr($arrayInteracao[5], 1, -1));
         $this->indice = $arrayInteracao[6];
         $this->ip = trim(substr($arrayInteracao[7], 1, -1));
         $this->url = trim(substr($arrayInteracao[8], 1, -1));
     } else {
         //Trecho de execução normal
         parent::exchangeArray($dados);
         $t = Logs::TABELA . "_";
         $this->tabela = empty($dados["{$t}tabela"]) ? "" : $dados["{$t}tabela"];
         $this->acao = (int) (empty($dados["{$t}acao"]) ? 0 : $dados["{$t}acao"]);
         $this->dtInteracao = new Date(empty($dados["{$t}dt_interacao"]) ? "" : $dados["{$t}dt_interacao"]);
         $this->ip = empty($dados["{$t}ip"]) ? "" : $dados["{$t}ip"];
         $this->url = empty($dados["{$t}url"]) ? "" : $dados["{$t}url"];
         $this->indice = (int) (empty($dados["{$t}id_interado"]) ? 0 : $dados["{$t}id_interado"]);
     }
 }