From 33c7b623266e41d041e856c4c33a4faa7454c85e Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 19 Feb 2020 13:29:55 -0500 Subject: [PATCH] Move manifest JSON from template to array --- src/Module/Manifest.php | 34 ++++++++++++++++++++++------------ view/templates/manifest.tpl | 18 ------------------ 2 files changed, 22 insertions(+), 30 deletions(-) delete mode 100644 view/templates/manifest.tpl diff --git a/src/Module/Manifest.php b/src/Module/Manifest.php index d40624cf8..bfe758fa9 100644 --- a/src/Module/Manifest.php +++ b/src/Module/Manifest.php @@ -31,23 +31,33 @@ class Manifest extends BaseModule { $config = DI::config(); - header('Content-type: application/manifest+json'); - $touch_icon = $config->get('system', 'touch_icon') ?: 'images/friendica-128.png'; $theme = DI::config()->get('system', 'theme'); - $tpl = Core\Renderer::getMarkupTemplate('manifest.tpl'); - $output = Core\Renderer::replaceMacros($tpl, [ - '$touch_icon' => $touch_icon, - '$title' => $config->get('config', 'sitename', 'Friendica'), - '$description' => $config->get('config', 'info', DI::l10n()->t('A Decentralized Social Network')), - '$background_color' => Core\Theme::getBackgroundColor($theme), - '$theme_color' => Core\Theme::getThemeColor($theme), - ]); + $manifest = [ + 'name' => $config->get('config', 'sitename', 'Friendica'), + 'start_url' => DI::baseUrl()->get(), + 'display' => 'standalone', + 'description' => $config->get('config', 'info', DI::l10n()->t('A Decentralized Social Network')), + 'short_name' => 'Friendica', + 'icons' => [ + [ + 'src' => DI::baseUrl()->get() . '/' . $touch_icon, + 'sizes' => '128x128', + 'type' => 'image/png', + ], + ], + ]; - echo $output; + if ($background_color = Core\Theme::getBackgroundColor($theme)) { + $manifest['background_color'] = $background_color; + } - exit(); + if ($theme_color = Core\Theme::getThemeColor($theme)) { + $manifest['theme_color'] = $theme_color; + } + + Core\System::jsonExit($manifest, 'application/manifest+json'); } } diff --git a/view/templates/manifest.tpl b/view/templates/manifest.tpl deleted file mode 100644 index f38c67db3..000000000 --- a/view/templates/manifest.tpl +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "{{$title}}", - "start_url": "{{$baseurl}}", - "display": "standalone", - "description": "{{$description}}", -{{if $background_color}} - "theme_color": "{{$theme_color}}", -{{/if}} -{{if $background_color}} - "background_color": "{{$background_color}}", -{{/if}} - "short_name": "Friendica", - "icons": [{ - "src": "{{$baseurl}}/{{$touch_icon}}", - "sizes": "128x128", - "type": "image/png" - }] -} \ No newline at end of file