aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2015-12-22 10:24:31 +0100
committerArthurHoaro <arthur@hoa.ro>2015-12-22 10:59:41 +0100
commit49e62f22ad750d4d60936ec8437caee91809b179 (patch)
tree238d7d9996ce165f71f6a718ccd5a79457962388
parent79851b489087f8a3027ecd805255cd13ee6fcf63 (diff)
downloadShaarli-49e62f22ad750d4d60936ec8437caee91809b179.tar.gz
Shaarli-49e62f22ad750d4d60936ec8437caee91809b179.tar.zst
Shaarli-49e62f22ad750d4d60936ec8437caee91809b179.zip
QRCode plugin: use url instead of real_url
Fixes #414 and avoid usage of redirector in QRCode. Also fixed a bug with URL encoding.
-rw-r--r--application/LinkDB.php4
-rw-r--r--plugins/qrcode/qrcode.php6
-rw-r--r--tests/plugins/PlugQrcodeTest.php4
3 files changed, 10 insertions, 4 deletions
diff --git a/application/LinkDB.php b/application/LinkDB.php
index f771ac8b..51fa926d 100644
--- a/application/LinkDB.php
+++ b/application/LinkDB.php
@@ -17,8 +17,10 @@
17 * - private: Is this link private? 0=no, other value=yes 17 * - private: Is this link private? 0=no, other value=yes
18 * - tags: tags attached to this entry (separated by spaces) 18 * - tags: tags attached to this entry (separated by spaces)
19 * - title Title of the link 19 * - title Title of the link
20 * - url URL of the link. Can be absolute or relative. 20 * - url URL of the link. Used for displayable links (no redirector, relative, etc.).
21 * Can be absolute or relative.
21 * Relative URLs are permalinks (e.g.'?m-ukcw') 22 * Relative URLs are permalinks (e.g.'?m-ukcw')
23 * - real_url Absolute processed URL.
22 * 24 *
23 * Implements 3 interfaces: 25 * Implements 3 interfaces:
24 * - ArrayAccess: behaves like an associative array; 26 * - ArrayAccess: behaves like an associative array;
diff --git a/plugins/qrcode/qrcode.php b/plugins/qrcode/qrcode.php
index 5f6e76a2..84a19618 100644
--- a/plugins/qrcode/qrcode.php
+++ b/plugins/qrcode/qrcode.php
@@ -17,7 +17,11 @@ function hook_qrcode_render_linklist($data)
17 $qrcode_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.html'); 17 $qrcode_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.html');
18 18
19 foreach ($data['links'] as &$value) { 19 foreach ($data['links'] as &$value) {
20 $qrcode = sprintf($qrcode_html, $value['real_url'], $value['real_url'], PluginManager::$PLUGINS_PATH); 20 $qrcode = sprintf($qrcode_html,
21 urlencode($value['url']),
22 $value['url'],
23 PluginManager::$PLUGINS_PATH
24 );
21 $value['link_plugin'][] = $qrcode; 25 $value['link_plugin'][] = $qrcode;
22 } 26 }
23 27
diff --git a/tests/plugins/PlugQrcodeTest.php b/tests/plugins/PlugQrcodeTest.php
index c749fa86..86dc7f29 100644
--- a/tests/plugins/PlugQrcodeTest.php
+++ b/tests/plugins/PlugQrcodeTest.php
@@ -30,7 +30,7 @@ class PlugQrcodeTest extends PHPUnit_Framework_TestCase
30 'title' => $str, 30 'title' => $str,
31 'links' => array( 31 'links' => array(
32 array( 32 array(
33 'real_url' => $str, 33 'url' => $str,
34 ) 34 )
35 ) 35 )
36 ); 36 );
@@ -39,7 +39,7 @@ class PlugQrcodeTest extends PHPUnit_Framework_TestCase
39 $link = $data['links'][0]; 39 $link = $data['links'][0];
40 // data shouldn't be altered 40 // data shouldn't be altered
41 $this->assertEquals($str, $data['title']); 41 $this->assertEquals($str, $data['title']);
42 $this->assertEquals($str, $link['real_url']); 42 $this->assertEquals($str, $link['url']);
43 43
44 // plugin data 44 // plugin data
45 $this->assertEquals(1, count($link['link_plugin'])); 45 $this->assertEquals(1, count($link['link_plugin']));