65 lines
No EOL
1.7 KiB
PHP
65 lines
No EOL
1.7 KiB
PHP
<?php
|
|
|
|
use GraphQL\Type\Definition\Type;
|
|
use GraphQL\Type\Definition\ObjectType;
|
|
|
|
$blogPostFields = new ObjectType([
|
|
"name" => "Blog",
|
|
"fields" => [
|
|
"title" => Type::string(),
|
|
"content" => Type::string(),
|
|
"date" => Type::string(),
|
|
"id" => Type::string()
|
|
],
|
|
]);
|
|
|
|
function blogPost($id, $conn)
|
|
{
|
|
$id = $conn->real_escape_string($id);
|
|
$result = $conn->query("SELECT * FROM posts WHERE id=$id");
|
|
if ($result->num_rows > 0) {
|
|
$row = $result->fetch_assoc();
|
|
} else {
|
|
return [
|
|
"title" => "Nicht Gefunden",
|
|
"content" => "Post wurde nicht gefunden",
|
|
"date" => "2000-01-01 00:00:00",
|
|
"id" => "-1"
|
|
];
|
|
}
|
|
|
|
return [
|
|
"title" => $row["title"],
|
|
"content" => $row["content"],
|
|
"date" => $row["date"],
|
|
"id" => $row["id"],
|
|
];
|
|
}
|
|
|
|
function blogPosts($count, $contentLength, $conn)
|
|
{
|
|
$response = [];
|
|
$result = $conn->query("SELECT * FROM posts order by id desc limit $count");
|
|
if ($result->num_rows > 0) {
|
|
while ($row = $result->fetch_assoc()) {
|
|
$content = $row["content"];
|
|
if($contentLength != null && strlen($content) > $contentLength) {
|
|
$contentNew = substr($content, 0, $contentLength);
|
|
$contentRest = substr($content, $contentLength);
|
|
|
|
$content = $contentNew . explode(" ", $contentRest)[0] . " ...";
|
|
|
|
}
|
|
$blogElement = [
|
|
"title" => $row["title"],
|
|
"content" => $content,
|
|
"date" => $row["date"],
|
|
"id" => $row["id"],
|
|
];
|
|
|
|
array_push($response, $blogElement);
|
|
}
|
|
}
|
|
|
|
return $response;
|
|
} |