add new comment endpoint
This commit is contained in:
parent
92ce267baf
commit
e305c030e6
2 changed files with 44 additions and 0 deletions
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use GraphQL\Type\Definition\Type;
|
use GraphQL\Type\Definition\Type;
|
||||||
use GraphQL\Type\Definition\ObjectType;
|
use GraphQL\Type\Definition\ObjectType;
|
||||||
|
use GuzzleHttp\Client;
|
||||||
|
|
||||||
include "lib/getGravatar.php";
|
include "lib/getGravatar.php";
|
||||||
$commentField = new ObjectType([
|
$commentField = new ObjectType([
|
||||||
|
@ -30,3 +31,35 @@ function comments($article, $conn) {
|
||||||
return $response;
|
return $response;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function newComment($conn, $article, $name, $email, $comment, $hCaptchaResponse) {
|
||||||
|
require "./lib/config.php";
|
||||||
|
$data = array(
|
||||||
|
'secret' => $secretkey,
|
||||||
|
'response' => $hCaptchaResponse
|
||||||
|
);
|
||||||
|
$client = new Client();
|
||||||
|
|
||||||
|
$response = $client->post("https://hcaptcha.com/siteverify", [
|
||||||
|
"form_params" => $data
|
||||||
|
]);
|
||||||
|
|
||||||
|
$responseData = json_decode($response->getBody());
|
||||||
|
if(! $responseData->success) {
|
||||||
|
return "Failed to verify Captcha";
|
||||||
|
|
||||||
|
$article = $conn->escape_string($article);
|
||||||
|
$name = $conn->escape_string($name);
|
||||||
|
$email = $conn->escape_string($email);
|
||||||
|
$comment = $conn->escape_string($comment);
|
||||||
|
|
||||||
|
$sql = "INSERT INTO comments (name, email, comment, article) VALUES ('$name', '$email', '$comment', '$article')";
|
||||||
|
|
||||||
|
if ($conn->query($sql) === TRUE) {
|
||||||
|
return "OK";
|
||||||
|
} else {
|
||||||
|
return "Error: " . $sql . "<br>" . $conn->error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -53,6 +53,17 @@ $queryType = new ObjectType([
|
||||||
],
|
],
|
||||||
'resolve' => fn ($rootValue, $args) => comments($args["article"], $rootValue["db"]),
|
'resolve' => fn ($rootValue, $args) => comments($args["article"], $rootValue["db"]),
|
||||||
],
|
],
|
||||||
|
"newComment" => [
|
||||||
|
"type" => Type::string(),
|
||||||
|
"args" => [
|
||||||
|
"article" => Type::string(),
|
||||||
|
"name" => Type::string(),
|
||||||
|
"email" => Type::string(),
|
||||||
|
"comment" => Type::string(),
|
||||||
|
"hCaptchaResponse" => Type::string()
|
||||||
|
],
|
||||||
|
'resolve' => fn ($rootValue, $args) => newComment($rootValue["db"], $args["article"], $args["name"], $args["email"], $args["comment"], $args["hCaptchaResponse"]),
|
||||||
|
],
|
||||||
'ebayKleinanzeigen' => [
|
'ebayKleinanzeigen' => [
|
||||||
"type" => $ebayKleinanzeigenFields,
|
"type" => $ebayKleinanzeigenFields,
|
||||||
"args" => [
|
"args" => [
|
||||||
|
|
Loading…
Reference in a new issue