Roastmonday/get_posttext.php
2025-05-24 13:23:02 +02:00

59 lines
1.8 KiB
PHP

<?php
require __DIR__ . '/vendor/autoload.php';
if (empty($_GET['id'])) {
echo(json_encode([]));
die();
}
if (empty($_GET['id'])) {
$resp = ['success' => false, 'error' => 400, 'text' => 'No IDs provided'];
header('Content-Type: application/json');
die(json_encode($resp));
}
$config = include __DIR__ . '/config.php';
$internal_pics_dir = realpath(__DIR__ . $config['pics_dir']);
$app = new Phlaym\Roastmonday\Roastmonday($config, $internal_pics_dir);
$app->authenticateServerToken();
$parameters = [
'include_deleted' => false,
'include_client' => false,
'include_counts' => false,
'include_copy_mentions' => false,
'include_raw' => false,
'include_post_raw' => false,
'include_presence' => true
];
if (!empty($_GET['avatarWidth'])) {
$parameters['avatarWidth'] = $_GET['avatarWidth'];
}
$resp = ['success' => false, 'error' => 0, 'text' => ''];
try {
$post = $app->getPost($_GET['id'], $parameters);
} catch (APnutI\Exceptions\NotFoundException $e) {
$resp['error'] = 404;
} catch (Exception $e) {
$resp['error'] = 500;
$resp['text'] = 'Something went wrong';
}
if (!empty($post)) {
$resp['success'] = true;
$resp['error'] = 0;
$resp['text'] = $post->getText(); // DEPRECATED!
if (!empty($post->user)) {
$resp['user'] = '@' . $post->user->username;
if (isset($post->user->name)) {
$resp['realname'] = $post->user->name;
}
}
if (!empty($post->user) && !empty($post->user->avatar_image) && !empty($post->user->avatar_image->link)) {
$resp['img'] = $post->user->avatar_image->link;
}
$resp['presence'] = $post->user->getPresenceInt();
$resp['postid'] = $post->id;
$resp['posttext'] = $post->getText();
$resp['timestamp'] = $post->created_at->getTimestamp();
}
echo json_encode($resp);