fix: bug in prior refactor (#4179)

* fix: bug in prior refactor

* fix deprecation notice
This commit is contained in:
Dag 2024-07-31 19:25:51 +02:00 committed by GitHub
parent b8a9f34527
commit 8a1f2604aa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 20 deletions

View file

@ -112,6 +112,15 @@ class DisplayAction implements ActionInterface
$input = array_diff_key($requestArray, array_fill_keys($remove, ''));
$bridge->setInput($input);
$bridge->collectData();
$items = $bridge->getItems();
if (isset($items[0]) && is_array($items[0])) {
$feedItems = [];
foreach ($items as $item) {
$feedItems[] = FeedItem::fromArray($item);
}
$items = $feedItems;
}
$feed = $bridge->getFeed();
} catch (\Exception $e) {
// Probably an exception inside a bridge
if ($e instanceof HttpException) {
@ -145,16 +154,6 @@ class DisplayAction implements ActionInterface
}
}
$items = $bridge->getItems();
if (isset($items[0]) && is_array($items[0])) {
$feedItems = [];
foreach ($items as $item) {
$feedItems[] = FeedItem::fromArray($item);
}
$items = $feedItems;
}
$feed = $bridge->getFeed();
$formatFactory = new FormatFactory();
$format = $formatFactory->create($format);

View file

@ -33,7 +33,7 @@ class GelbooruBridge extends BridgeAbstract
return $this->getURI()
. 'index.php?&page=dapi&s=post&q=index&json=1&pid=' . $this->getInput('p')
. '&limit=' . $this->getInput('l')
. '&tags=' . urlencode($this->getInput('t'));
. '&tags=' . urlencode($this->getInput('t') ?? '');
}
/*
@ -76,18 +76,16 @@ class GelbooruBridge extends BridgeAbstract
public function collectData()
{
$content = getContents($this->getFullURI());
// $content is empty string
$url = $this->getFullURI();
$content = getContents($url);
// Most other Gelbooru-based boorus put their content in the root of
// the JSON. This check is here for Bridges that inherit from this one
$posts = json_decode($content);
if (isset($posts->post)) {
$posts = $posts->post;
if ($content === '') {
return;
}
if (is_null($posts)) {
returnServerError('No posts found.');
$posts = Json::decode($content, false);
if (isset($posts->post)) {
$posts = $posts->post;
}
foreach ($posts as $post) {