示例#1
0
 public function doPost()
 {
     $r = UsuarioResource::getInstance();
     $usuario = Usuario::fromArray($r->getRequest());
     if ($usuario->getEmail()) {
         if ($usuario->getSenha()) {
             if ($usuario->getUsername()) {
                 $m = UsuarioController::cadastrar($usuario);
                 if ($m) {
                     created_header();
                     echo $usuario->getJson("nome,username,email,codigo");
                 } else {
                     exception_header();
                     UsuarioController::print_exception("cadastrar");
                 }
             } else {
                 bad_request_header();
             }
         } else {
             UsuarioController::porEmail($usuario->getEmail());
             ok_header();
             if (UsuarioController::get("id")) {
                 echo UsuarioController::$usuario->getJson("id,nome,username,email,codigo,status,departamento");
             } else {
                 echo $usuario->getJson("email");
             }
         }
     } else {
         bad_request_header();
     }
 }
示例#2
0
 public static function autenticar($token)
 {
     require PROJECT_ADDRESS . "/lib/util/JWT.php";
     $m = JWT::from_token($token, jwt_secret_key());
     if ($m) {
         $usuario = Usuario::fromJSON($m->getPayload(), "email,codigo");
         SessaoController::doUsuario($usuario);
         if (SessaoController::get("id")) {
             UsuarioController::porEmail($usuario->getEmail());
         } else {
             SessaoController::defineException("autenticar", "Sessão inválida!");
         }
     } else {
         SessaoController::defineException("autenticar", "Token inválido!");
     }
 }
示例#3
0
 public static function cadastrar(Usuario $u)
 {
     UsuarioController::porEmail($u->getEmail());
     if (UsuarioController::get("id")) {
         $e = "E-mail já cadastrado.";
         UsuarioController::defineException("cadastrar", $e);
     } else {
         UsuarioController::porUsername($u->getUsername());
         if (UsuarioController::get("id")) {
             $e = "Nome de usuário já utilizado.";
             UsuarioController::defineException("cadastrar", $e);
         } else {
             require_once PROJECT_ADDRESS . "/lib/util/code.php";
             require_once PROJECT_ADDRESS . "/lib/util/proteger.php";
             $codigo = get_codigo(5);
             $senha = embaralhar($u->getSenha(), $codigo);
             $u->setCodigo($codigo);
             $u->setSenha($senha);
             $o = $u->persistir();
         }
     }
     return $o;
 }