Example #1
0
 /**
  * Método que permite editar os dados do usuário, somente os dados permitidos
  * @param int $idUsuario O código do usuário a ser editado
  */
 public function editarPerfil($idUsuario)
 {
     //Tratando a requisição POST
     if ($this->getRequest()->isPost()) {
         $this->editarPerfilPost((int) $idUsuario);
     }
     //Gerando a página de edição
     $sqlUsuario = new \Kernel\Sql\SqlUsuario();
     try {
         $usuario = $sqlUsuario->get((int) $idUsuario);
         $this->setData("usuarioEdit", $usuario);
         $this->printView();
     } catch (Exception $exc) {
         echo $exc->getMessage();
         echo $exc->getTraceAsString();
     }
 }
 /**
  * Método que retorna um determinado usuário de acordo com o código e modelos informados.
  * Caso o usuário logado não seja o admin, verfifica se o usuário é do tipo pedido de
  * acordo com o modelo informado.
  * @param int $idUsuario O código do usuário pedido. Informe 0 para buscar o usuário logado
  * @param \Kernel\Modelo\Usuario $usrModelo Objeto contendo o perfil exigido para o método
  * @param int|array $outrosPerfis Caso queira informar outros perfis com a permissão de ver dados
  * do usuário informado alem do admin e gestor. Caso informe um array, deve ser informado um array de inteiros
  * @return \Kernel\Modelo\Usuario Um objeto do tipo Usuário ou heredeiro contendo os dados pedidos
  * @throws \Kernel\Exception\UsuarioException
  */
 public function getUsuario($idUsuario = FALSE, \Kernel\Modelo\Usuario $usrModelo = null, $outrosPerfis = false)
 {
     $sqlUsuario = new \Kernel\Sql\SqlUsuario();
     $perfisAceitos = array(Kernel\Modelo\Perfil::ADMIN, Kernel\Modelo\Perfil::GESTOR);
     if (is_int($outrosPerfis)) {
         array_push($perfisAceitos, $outrosPerfis);
     } elseif (is_array($outrosPerfis)) {
         if (Arrays::checarValores($outrosPerfis, FILTER_VALIDATE_INT)) {
             $perfisAceitos = array_merge($outrosPerfis);
         }
     }
     if (is_int($idUsuario)) {
         if (!in_array($this->tipoLogado, $perfisAceitos)) {
             throw new Kernel\Exception\UsuarioException("Você não tem acesso a este recurso");
         }
     } else {
         if (is_null($usrModelo)) {
             $usrModelo = new \Kernel\Modelo\Usuario(new Kernel\Modelo\Perfil($this->tipoLogado));
         }
         $idUsuario = $this->usuario->get_idusuario();
     }
     return $sqlUsuario->get($idUsuario, $usrModelo);
 }