Plugin wallabag: minor improvements
- hide the wallabag icon for logged out users - set API V2 as default parameter - fix URL encoding issue with special chars Fixes #1147
This commit is contained in:
parent
820cae27cf
commit
358cb20bcb
2 changed files with 32 additions and 8 deletions
|
@ -22,6 +22,7 @@ function wallabag_init($conf)
|
||||||
'Please define the "WALLABAG_URL" setting in the plugin administration page.');
|
'Please define the "WALLABAG_URL" setting in the plugin administration page.');
|
||||||
return array($error);
|
return array($error);
|
||||||
}
|
}
|
||||||
|
$conf->setEmpty('plugins.WALLABAG_URL', '2');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -35,7 +36,7 @@ function wallabag_init($conf)
|
||||||
function hook_wallabag_render_linklist($data, $conf)
|
function hook_wallabag_render_linklist($data, $conf)
|
||||||
{
|
{
|
||||||
$wallabagUrl = $conf->get('plugins.WALLABAG_URL');
|
$wallabagUrl = $conf->get('plugins.WALLABAG_URL');
|
||||||
if (empty($wallabagUrl)) {
|
if (empty($wallabagUrl) || !$data['_LOGGEDIN_']) {
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +52,7 @@ function hook_wallabag_render_linklist($data, $conf)
|
||||||
$wallabag = sprintf(
|
$wallabag = sprintf(
|
||||||
$wallabagHtml,
|
$wallabagHtml,
|
||||||
$wallabagInstance->getWallabagUrl(),
|
$wallabagInstance->getWallabagUrl(),
|
||||||
urlencode($value['url']),
|
urlencode(unescape($value['url'])),
|
||||||
$path,
|
$path,
|
||||||
$linkTitle
|
$linkTitle
|
||||||
);
|
);
|
||||||
|
|
|
@ -49,14 +49,15 @@ public function testWallabagLinklist()
|
||||||
$conf = new ConfigManager('');
|
$conf = new ConfigManager('');
|
||||||
$conf->set('plugins.WALLABAG_URL', 'value');
|
$conf->set('plugins.WALLABAG_URL', 'value');
|
||||||
$str = 'http://randomstr.com/test';
|
$str = 'http://randomstr.com/test';
|
||||||
$data = array(
|
$data = [
|
||||||
'title' => $str,
|
'title' => $str,
|
||||||
'links' => array(
|
'links' => [
|
||||||
array(
|
[
|
||||||
'url' => $str,
|
'url' => $str,
|
||||||
)
|
]
|
||||||
)
|
],
|
||||||
);
|
'_LOGGEDIN_' => true,
|
||||||
|
];
|
||||||
|
|
||||||
$data = hook_wallabag_render_linklist($data, $conf);
|
$data = hook_wallabag_render_linklist($data, $conf);
|
||||||
$link = $data['links'][0];
|
$link = $data['links'][0];
|
||||||
|
@ -69,4 +70,26 @@ public function testWallabagLinklist()
|
||||||
$this->assertNotFalse(strpos($link['link_plugin'][0], urlencode($str)));
|
$this->assertNotFalse(strpos($link['link_plugin'][0], urlencode($str)));
|
||||||
$this->assertNotFalse(strpos($link['link_plugin'][0], $conf->get('plugins.WALLABAG_URL')));
|
$this->assertNotFalse(strpos($link['link_plugin'][0], $conf->get('plugins.WALLABAG_URL')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test render_linklist hook while logged out: no change.
|
||||||
|
*/
|
||||||
|
public function testWallabagLinklistLoggedOut(): void
|
||||||
|
{
|
||||||
|
$conf = new ConfigManager('');
|
||||||
|
$str = 'http://randomstr.com/test';
|
||||||
|
$data = [
|
||||||
|
'title' => $str,
|
||||||
|
'links' => [
|
||||||
|
[
|
||||||
|
'url' => $str,
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'_LOGGEDIN_' => false,
|
||||||
|
];
|
||||||
|
|
||||||
|
$result = hook_wallabag_render_linklist($data, $conf);
|
||||||
|
|
||||||
|
static::assertSame($data, $result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue