X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=plugins%2Fqrcode%2Fqrcode.php;h=4571285986dce3d41f14687b3efa949aab338f36;hb=7f5250421be4832b9679d8140bc4a71c8005dfa3;hp=1080c9645d32bfebd76c7914d6d85f3747324f10;hpb=abb3ff38f5aea6231f981fd2e6d417f09de7a6e6;p=github%2Fshaarli%2FShaarli.git diff --git a/plugins/qrcode/qrcode.php b/plugins/qrcode/qrcode.php index 1080c964..45712859 100644 --- a/plugins/qrcode/qrcode.php +++ b/plugins/qrcode/qrcode.php @@ -5,6 +5,9 @@ * Display a QRCode icon in link list. */ +use Shaarli\Plugin\PluginManager; +use Shaarli\Render\TemplatePage; + /** * Add qrcode icon to link_plugin when rendering linklist. * @@ -16,8 +19,14 @@ function hook_qrcode_render_linklist($data) { $qrcode_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.html'); + $rootPath = preg_replace('#/index\.php$#', '', $data['_BASE_PATH_'] ?? ''); + $path = $rootPath . '/' . PluginManager::$PLUGINS_PATH; foreach ($data['links'] as &$value) { - $qrcode = sprintf($qrcode_html, $value['url'], $value['url'], PluginManager::$PLUGINS_PATH); + $qrcode = sprintf( + $qrcode_html, + $value['url'], + $path + ); $value['link_plugin'][] = $qrcode; } @@ -33,9 +42,34 @@ function hook_qrcode_render_linklist($data) */ function hook_qrcode_render_footer($data) { - if ($data['_PAGE_'] == Router::$PAGE_LINKLIST) { + if ($data['_PAGE_'] == TemplatePage::LINKLIST) { $data['js_files'][] = PluginManager::$PLUGINS_PATH . '/qrcode/shaarli-qrcode.js'; } return $data; } + +/** + * When linklist is displayed, include qrcode CSS file. + * + * @param array $data - header data. + * + * @return mixed - header data with qrcode CSS file added. + */ +function hook_qrcode_render_includes($data) +{ + if ($data['_PAGE_'] == TemplatePage::LINKLIST) { + $data['css_files'][] = PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.css'; + } + + return $data; +} + +/** + * This function is never called, but contains translation calls for GNU gettext extraction. + */ +function qrcode_dummy_translation() +{ + // meta + t('For each link, add a QRCode icon.'); +}