X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=plugins%2Fwallabag%2Fwallabag.php;h=d0df3501d6389b40ce2e1c340675f4debada71ea;hb=3adbdc2a83e6b77a4ca62094c5d857524e39d211;hp=db8151c9587260191a9c1cd1fe85fc959ed539cd;hpb=263d1f649574083be4b8826a57688a85d48d4d15;p=github%2Fshaarli%2FShaarli.git diff --git a/plugins/wallabag/wallabag.php b/plugins/wallabag/wallabag.php index db8151c9..d0df3501 100644 --- a/plugins/wallabag/wallabag.php +++ b/plugins/wallabag/wallabag.php @@ -1,31 +1,73 @@ get('plugins.WALLABAG_URL'); + if (empty($wallabagUrl)) { + $error = t('Wallabag plugin error: '. + 'Please define the "WALLABAG_URL" setting in the plugin administration page.'); + return array($error); + } } /** * Add wallabag icon to link_plugin when rendering linklist. * - * @param $data - linklist data. + * @param mixed $data Linklist data. + * @param ConfigManager $conf Configuration Manager instance. + * * @return mixed - linklist data with wallabag plugin. */ -function hook_wallabag_render_linklist($data) { - $wallabag_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/wallabag/wallabag.html'); +function hook_wallabag_render_linklist($data, $conf) +{ + $wallabagUrl = $conf->get('plugins.WALLABAG_URL'); + if (empty($wallabagUrl)) { + return $data; + } + + $version = $conf->get('plugins.WALLABAG_VERSION'); + $wallabagInstance = new WallabagInstance($wallabagUrl, $version); + + $wallabagHtml = file_get_contents(PluginManager::$PLUGINS_PATH . '/wallabag/wallabag.html'); + + $linkTitle = t('Save to wallabag'); + $path = ($data['_ROOT_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH; foreach ($data['links'] as &$value) { - $wallabag = sprintf($wallabag_html, $GLOBALS['plugins']['WALLABAG_URL'], $value['url'], PluginManager::$PLUGINS_PATH); + $wallabag = sprintf( + $wallabagHtml, + $wallabagInstance->getWallabagUrl(), + urlencode($value['url']), + $path, + $linkTitle + ); $value['link_plugin'][] = $wallabag; } return $data; } + +/** + * This function is never called, but contains translation calls for GNU gettext extraction. + */ +function wallabag_dummy_translation() +{ + // meta + t('For each link, add a QRCode icon.'); + t('Wallabag API URL'); + t('Wallabag API version (1 or 2)'); +}