]> git.immae.eu Git - github/shaarli/Shaarli.git/blob - plugins/wallabag/wallabag.php
Apply PHP Code Beautifier on source code for linter automatic fixes
[github/shaarli/Shaarli.git] / plugins / wallabag / wallabag.php
1 <?php
2
3 /**
4 * Wallabag plugin
5 */
6
7 use Shaarli\Config\ConfigManager;
8 use Shaarli\Plugin\PluginManager;
9 use Shaarli\Plugin\Wallabag\WallabagInstance;
10
11 /**
12 * Init function, return an error if the server is not set.
13 *
14 * @param $conf ConfigManager instance.
15 *
16 * @return array Eventual error.
17 */
18 function wallabag_init($conf)
19 {
20 $wallabagUrl = $conf->get('plugins.WALLABAG_URL');
21 if (empty($wallabagUrl)) {
22 $error = t('Wallabag plugin error: ' .
23 'Please define the "WALLABAG_URL" setting in the plugin administration page.');
24 return [$error];
25 }
26 $conf->setEmpty('plugins.WALLABAG_URL', '2');
27 }
28
29 /**
30 * Add wallabag icon to link_plugin when rendering linklist.
31 *
32 * @param mixed $data Linklist data.
33 * @param ConfigManager $conf Configuration Manager instance.
34 *
35 * @return mixed - linklist data with wallabag plugin.
36 */
37 function hook_wallabag_render_linklist($data, $conf)
38 {
39 $wallabagUrl = $conf->get('plugins.WALLABAG_URL');
40 if (empty($wallabagUrl) || !$data['_LOGGEDIN_']) {
41 return $data;
42 }
43
44 $version = $conf->get('plugins.WALLABAG_VERSION');
45 $wallabagInstance = new WallabagInstance($wallabagUrl, $version);
46
47 $wallabagHtml = file_get_contents(PluginManager::$PLUGINS_PATH . '/wallabag/wallabag.html');
48
49 $linkTitle = t('Save to wallabag');
50 $path = ($data['_ROOT_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH;
51
52 foreach ($data['links'] as &$value) {
53 $wallabag = sprintf(
54 $wallabagHtml,
55 $wallabagInstance->getWallabagUrl(),
56 urlencode(unescape($value['url'])),
57 $path,
58 $linkTitle
59 );
60 $value['link_plugin'][] = $wallabag;
61 }
62
63 return $data;
64 }
65
66 /**
67 * This function is never called, but contains translation calls for GNU gettext extraction.
68 */
69 function wallabag_dummy_translation()
70 {
71 // meta
72 t('For each link, add a QRCode icon.');
73 t('Wallabag API URL');
74 t('Wallabag API version (1 or 2)');
75 }