QRCode plugin: use url instead of real_url
Fixes #414 and avoid usage of redirector in QRCode. Also fixed a bug with URL encoding.
This commit is contained in:
parent
79851b4890
commit
49e62f22ad
3 changed files with 10 additions and 4 deletions
|
@ -17,8 +17,10 @@
|
||||||
* - private: Is this link private? 0=no, other value=yes
|
* - private: Is this link private? 0=no, other value=yes
|
||||||
* - tags: tags attached to this entry (separated by spaces)
|
* - tags: tags attached to this entry (separated by spaces)
|
||||||
* - title Title of the link
|
* - title Title of the link
|
||||||
* - url URL of the link. Can be absolute or relative.
|
* - url URL of the link. Used for displayable links (no redirector, relative, etc.).
|
||||||
|
* Can be absolute or relative.
|
||||||
* Relative URLs are permalinks (e.g.'?m-ukcw')
|
* Relative URLs are permalinks (e.g.'?m-ukcw')
|
||||||
|
* - real_url Absolute processed URL.
|
||||||
*
|
*
|
||||||
* Implements 3 interfaces:
|
* Implements 3 interfaces:
|
||||||
* - ArrayAccess: behaves like an associative array;
|
* - ArrayAccess: behaves like an associative array;
|
||||||
|
|
|
@ -17,7 +17,11 @@ function hook_qrcode_render_linklist($data)
|
||||||
$qrcode_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.html');
|
$qrcode_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.html');
|
||||||
|
|
||||||
foreach ($data['links'] as &$value) {
|
foreach ($data['links'] as &$value) {
|
||||||
$qrcode = sprintf($qrcode_html, $value['real_url'], $value['real_url'], PluginManager::$PLUGINS_PATH);
|
$qrcode = sprintf($qrcode_html,
|
||||||
|
urlencode($value['url']),
|
||||||
|
$value['url'],
|
||||||
|
PluginManager::$PLUGINS_PATH
|
||||||
|
);
|
||||||
$value['link_plugin'][] = $qrcode;
|
$value['link_plugin'][] = $qrcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ function testQrcodeLinklist()
|
||||||
'title' => $str,
|
'title' => $str,
|
||||||
'links' => array(
|
'links' => array(
|
||||||
array(
|
array(
|
||||||
'real_url' => $str,
|
'url' => $str,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -39,7 +39,7 @@ function testQrcodeLinklist()
|
||||||
$link = $data['links'][0];
|
$link = $data['links'][0];
|
||||||
// data shouldn't be altered
|
// data shouldn't be altered
|
||||||
$this->assertEquals($str, $data['title']);
|
$this->assertEquals($str, $data['title']);
|
||||||
$this->assertEquals($str, $link['real_url']);
|
$this->assertEquals($str, $link['url']);
|
||||||
|
|
||||||
// plugin data
|
// plugin data
|
||||||
$this->assertEquals(1, count($link['link_plugin']));
|
$this->assertEquals(1, count($link['link_plugin']));
|
||||||
|
|
Loading…
Reference in a new issue