payload) && gettype($dados->payload) === 'array') { /* O input é uma array de dados */ $tmpArray = array(); /* Faz o decrypt em todas as strings */ foreach ($dados->payload as $parte) { $data = $parte; if (openssl_private_decrypt(base64_decode($data), $decrypted, $chavePrivada)){ array_push($tmpArray, $decrypted); }; } /* Junta as strings */ $dados = implode($tmpArray, ''); /* E transforma a string (que é uma string json) em um objeto */ $dados = json_decode($dados); if (gettype($dados) === 'object'){ /* Assim, teremos os dados do usuário */ /* Checamos se temos todos os dados obrigatórios */ if (isset($dados->id) && isset($dados->first_name) && isset($dados->last_name) && isset($dados->gender) && isset($dados->gigaProxima)){ $id = $dados->id; $first_name = $dados->first_name; $last_name = $dados->last_name; $gender = $dados->gender; $gigaProxima = $dados->gigaProxima; /* Campos opcionais: */ $email = null; if (isset($dados->email)){ $email = $dados->email; } $birthday = null; if (isset($dados->birthday)){ $tmpBirth = new DateTime($dados->birthday); $birthday = $tmpBirth->format('Y-m-d'); } /* Verificamos, via ID DO FACEBOOK se o usuário já existe no banco de dados: */ require_once './includes/config.php'; /* Cria a conexão */ $db = mysqli_connect(HOST,USER,PASSWORD,DATABASE); mysqli_set_charset($db,"utf8"); /* Executa a query */ $query = "SELECT `idFb` FROM `usuarios` WHERE `idFb` = $id LIMIT 1"; $resultado = mysqli_query($db, $query); /* Se existir, atualizamos, se não, criamos um novo */ if (mysqli_num_rows($resultado) > 0){ /* Atualizamos se já houver : */ $query = "UPDATE `usuarios` SET `first_name` = '$first_name', `last_name` = '$last_name', `gender` = '$gender', `birthday` = '$birthday', `email` = '$email', `gigaProxima` = '$gigaProxima' WHERE `idFb` = $id"; mysqli_query($db, $query); } else { $query = "INSERT INTO `usuarios`(`idFb`, `first_name`, `last_name`, `gender`, `birthday`, `email`, `gigaProxima`) VALUES ('$id','$first_name','$last_name','$gender','$birthday','$email','$gigaProxima');"; mysqli_query($db, $query); } } else { echo $invalido; } } else { echo $invalido; } } else { echo $invalido; } } else { echo $invalido; } } else { echo $invalido; }