]> git.immae.eu Git - github/shaarli/Shaarli.git/blame - plugins/wallabag/wallabag.php
Apply PHP Code Beautifier on source code for linter automatic fixes
[github/shaarli/Shaarli.git] / plugins / wallabag / wallabag.php
CommitLineData
263d1f64 1<?php
53054b2b 2
1696f6aa 3/**
95854417 4 * Wallabag plugin
1696f6aa
A
5 */
6
12266213 7use Shaarli\Config\ConfigManager;
e1850388 8use Shaarli\Plugin\PluginManager;
95854417 9use Shaarli\Plugin\Wallabag\WallabagInstance;
938d9cce 10
7fde6de1
A
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 */
18function wallabag_init($conf)
19{
20 $wallabagUrl = $conf->get('plugins.WALLABAG_URL');
21 if (empty($wallabagUrl)) {
53054b2b 22 $error = t('Wallabag plugin error: ' .
12266213 23 'Please define the "WALLABAG_URL" setting in the plugin administration page.');
53054b2b 24 return [$error];
7fde6de1 25 }
358cb20b 26 $conf->setEmpty('plugins.WALLABAG_URL', '2');
263d1f64
A
27}
28
29/**
30 * Add wallabag icon to link_plugin when rendering linklist.
31 *
51def0d8
A
32 * @param mixed $data Linklist data.
33 * @param ConfigManager $conf Configuration Manager instance.
1696f6aa 34 *
263d1f64
A
35 * @return mixed - linklist data with wallabag plugin.
36 */
51def0d8 37function hook_wallabag_render_linklist($data, $conf)
1696f6aa 38{
eeea1c3d 39 $wallabagUrl = $conf->get('plugins.WALLABAG_URL');
358cb20b 40 if (empty($wallabagUrl) || !$data['_LOGGEDIN_']) {
1696f6aa
A
41 return $data;
42 }
43
eeea1c3d
A
44 $version = $conf->get('plugins.WALLABAG_VERSION');
45 $wallabagInstance = new WallabagInstance($wallabagUrl, $version);
938d9cce
A
46
47 $wallabagHtml = file_get_contents(PluginManager::$PLUGINS_PATH . '/wallabag/wallabag.html');
263d1f64 48
12266213 49 $linkTitle = t('Save to wallabag');
3adbdc2a 50 $path = ($data['_ROOT_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH;
9fbc4229 51
263d1f64 52 foreach ($data['links'] as &$value) {
938d9cce
A
53 $wallabag = sprintf(
54 $wallabagHtml,
55 $wallabagInstance->getWallabagUrl(),
358cb20b 56 urlencode(unescape($value['url'])),
9fbc4229 57 $path,
12266213 58 $linkTitle
938d9cce 59 );
263d1f64
A
60 $value['link_plugin'][] = $wallabag;
61 }
62
63 return $data;
64}
938d9cce 65
12266213
A
66/**
67 * This function is never called, but contains translation calls for GNU gettext extraction.
68 */
69function 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}