/** * 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); }