Skip to content

Commit

Permalink
fix: bug in prior refactor (#4179)
Browse files Browse the repository at this point in the history
* fix: bug in prior refactor

* fix deprecation notice
  • Loading branch information
dvikan authored Jul 31, 2024
1 parent b8a9f34 commit 8a1f260
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 20 deletions.
19 changes: 9 additions & 10 deletions actions/DisplayAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,15 @@ private function createResponse(Request $request, BridgeAbstract $bridge, string
$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) {
Expand Down Expand Up @@ -145,16 +154,6 @@ private function createResponse(Request $request, BridgeAbstract $bridge, string
}
}

$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);

Expand Down
18 changes: 8 additions & 10 deletions bridges/GelbooruBridge.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ protected function getFullURI()
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') ?? '');
}

/*
Expand Down Expand Up @@ -76,18 +76,16 @@ protected function getItemFromElement($element)

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) {
Expand Down

0 comments on commit 8a1f260

Please sign in to comment.