mirror of
https://code.mensbeam.com/MensBeam/Arsse.git
synced 2025-01-03 14:32:40 +00:00
Defer Fever favicons to a future release
This commit is contained in:
parent
0480465e7e
commit
61b942df70
2 changed files with 19 additions and 4 deletions
|
@ -26,6 +26,8 @@ use Zend\Diactoros\Response\EmptyResponse;
|
||||||
|
|
||||||
class API extends \JKingWeb\Arsse\REST\AbstractHandler {
|
class API extends \JKingWeb\Arsse\REST\AbstractHandler {
|
||||||
const LEVEL = 3;
|
const LEVEL = 3;
|
||||||
|
const GENERIC_ICON_TYPE = "image/png;base64";
|
||||||
|
const GENERIC_ICON_DATA = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMjHxIGmVAAAADUlEQVQYV2NgYGBgAAAABQABijPjAAAAAABJRU5ErkJggg==";
|
||||||
|
|
||||||
// GET parameters for which we only check presence: these will be converted to booleans
|
// GET parameters for which we only check presence: these will be converted to booleans
|
||||||
const PARAM_BOOL = ["groups", "feeds", "items", "favicons", "links", "unread_item_ids", "saved_item_ids"];
|
const PARAM_BOOL = ["groups", "feeds", "items", "favicons", "links", "unread_item_ids", "saved_item_ids"];
|
||||||
|
@ -143,7 +145,14 @@ class API extends \JKingWeb\Arsse\REST\AbstractHandler {
|
||||||
$out['feeds_groups'] = $this->getRelationships();
|
$out['feeds_groups'] = $this->getRelationships();
|
||||||
}
|
}
|
||||||
if ($G['favicons']) {
|
if ($G['favicons']) {
|
||||||
# deal with favicons
|
// TODO: implement favicons properly
|
||||||
|
// we provide a single blank favicon for now
|
||||||
|
$out['favicons'] = [
|
||||||
|
[
|
||||||
|
'id' => 0,
|
||||||
|
'data' => self::GENERIC_ICON_TYPE.",".self::GENERIC_ICON_DATA,
|
||||||
|
],
|
||||||
|
];
|
||||||
}
|
}
|
||||||
if ($G['items']) {
|
if ($G['items']) {
|
||||||
$out['items'] = $this->getItems($G);
|
$out['items'] = $this->getItems($G);
|
||||||
|
@ -318,7 +327,7 @@ class API extends \JKingWeb\Arsse\REST\AbstractHandler {
|
||||||
foreach (arsse::$db->subscriptionList(Arsse::$user->id) as $sub) {
|
foreach (arsse::$db->subscriptionList(Arsse::$user->id) as $sub) {
|
||||||
$out[] = [
|
$out[] = [
|
||||||
'id' => (int) $sub['id'],
|
'id' => (int) $sub['id'],
|
||||||
'favicon_id' => (int) ($sub['favicon'] ? $sub['feed'] : 0),
|
'favicon_id' => 0, // TODO: implement favicons
|
||||||
'title' => (string) $sub['title'],
|
'title' => (string) $sub['title'],
|
||||||
'url' => $sub['url'],
|
'url' => $sub['url'],
|
||||||
'site_url' => $sub['source'],
|
'site_url' => $sub['source'],
|
||||||
|
|
|
@ -307,9 +307,9 @@ class TestAPI extends \JKingWeb\Arsse\Test\AbstractTest {
|
||||||
]));
|
]));
|
||||||
$exp = new JsonResponse([
|
$exp = new JsonResponse([
|
||||||
'feeds' => [
|
'feeds' => [
|
||||||
['id' => 1, 'favicon_id' => 5, 'title' => "Ankh-Morpork News", 'url' => "http://example.com/feed", 'site_url' => "http://example.com/", 'is_spark' => 0, 'last_updated_on_time' => strtotime("2019-01-01T21:12:00Z")],
|
['id' => 1, 'favicon_id' => 0, 'title' => "Ankh-Morpork News", 'url' => "http://example.com/feed", 'site_url' => "http://example.com/", 'is_spark' => 0, 'last_updated_on_time' => strtotime("2019-01-01T21:12:00Z")],
|
||||||
['id' => 2, 'favicon_id' => 0, 'title' => "Ook, Ook Eek Ook!", 'url' => "http://example.net/feed", 'site_url' => "http://example.net/", 'is_spark' => 0, 'last_updated_on_time' => strtotime("1988-06-24T12:21:00Z")],
|
['id' => 2, 'favicon_id' => 0, 'title' => "Ook, Ook Eek Ook!", 'url' => "http://example.net/feed", 'site_url' => "http://example.net/", 'is_spark' => 0, 'last_updated_on_time' => strtotime("1988-06-24T12:21:00Z")],
|
||||||
['id' => 3, 'favicon_id' => 1, 'title' => "The Last Soul", 'url' => "http://example.org/feed", 'site_url' => "http://example.org/", 'is_spark' => 0, 'last_updated_on_time' => strtotime("1991-08-12T03:22:00Z")],
|
['id' => 3, 'favicon_id' => 0, 'title' => "The Last Soul", 'url' => "http://example.org/feed", 'site_url' => "http://example.org/", 'is_spark' => 0, 'last_updated_on_time' => strtotime("1991-08-12T03:22:00Z")],
|
||||||
],
|
],
|
||||||
'feeds_groups' => [
|
'feeds_groups' => [
|
||||||
['group_id' => 1, 'feed_ids' => "1,2"],
|
['group_id' => 1, 'feed_ids' => "1,2"],
|
||||||
|
@ -496,4 +496,10 @@ class TestAPI extends \JKingWeb\Arsse\Test\AbstractTest {
|
||||||
$act = $this->h->dispatch($this->req("api=xml"));
|
$act = $this->h->dispatch($this->req("api=xml"));
|
||||||
$this->assertMessage($exp, $act);
|
$this->assertMessage($exp, $act);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testListFeedIcons() {
|
||||||
|
$act = $this->h->dispatch($this->req("api&favicons"));
|
||||||
|
$exp = new JsonResponse(['favicons' => [['id' => 0, 'data' => API::GENERIC_ICON_TYPE.",".API::GENERIC_ICON_DATA]]]);
|
||||||
|
$this->assertMessage($exp, $act);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue