/** * * @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(); } }
/** * 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']; }
/** * 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); } }
/** * 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())); }
/** * 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"]); }
/** * 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"]); }
/** * 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()); }
/** * 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"]); } }