X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=plugins%2Fwallabag%2Fwallabag.php;h=ec09c8a14d03dc89e2865efb794756d5ee199102;hb=649af5b501d2a90448242f53764ff693e9854039;hp=37969c976d780e71cb5b78c508d060d98476a356;hpb=c07e166aa265184db16e8c82ce18a98596cfb3c9;p=github%2Fshaarli%2FShaarli.git diff --git a/plugins/wallabag/wallabag.php b/plugins/wallabag/wallabag.php index 37969c97..ec09c8a1 100644 --- a/plugins/wallabag/wallabag.php +++ b/plugins/wallabag/wallabag.php @@ -4,36 +4,44 @@ * Plugin Wallabag. */ -// don't raise unnecessary warnings -if (is_file(PluginManager::$PLUGINS_PATH . '/wallabag/config.php')) { - include PluginManager::$PLUGINS_PATH . '/wallabag/config.php'; -} +require_once 'WallabagInstance.php'; -if (!isset($GLOBALS['plugins']['WALLABAG_URL'])) { +$wallabagUrl = $conf->get('plugins.WALLABAG_URL'); +if (empty($wallabagUrl)) { $GLOBALS['plugin_errors'][] = 'Wallabag plugin error: '. - 'Please define "$GLOBALS[\'plugins\'][\'WALLABAG_URL\']" '. - 'in "plugins/wallabag/config.php" or in your Shaarli config.php file.'; + 'Please define the "WALLABAG_URL" setting in the plugin administration page.'; } /** * Add wallabag icon to link_plugin when rendering linklist. * - * @param mixed $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) +function hook_wallabag_render_linklist($data, $conf) { - if (!isset($GLOBALS['plugins']['WALLABAG_URL'])) { + $wallabagUrl = $conf->get('plugins.WALLABAG_URL'); + if (empty($wallabagUrl)) { return $data; } - $wallabag_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/wallabag/wallabag.html'); + $version = $conf->get('plugins.WALLABAG_VERSION'); + $wallabagInstance = new WallabagInstance($wallabagUrl, $version); + + $wallabagHtml = file_get_contents(PluginManager::$PLUGINS_PATH . '/wallabag/wallabag.html'); 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']), + PluginManager::$PLUGINS_PATH + ); $value['link_plugin'][] = $wallabag; } return $data; } +