aboutsummaryrefslogtreecommitdiffhomepage
path: root/application
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2019-03-02 10:54:06 +0100
committerGitHub <noreply@github.com>2019-03-02 10:54:06 +0100
commitcc69aad4a903dc603f47cfa87aeb1865b03c8950 (patch)
treeffc04dac709b2a4cc732ce10f98fb40a562863c7 /application
parent5bb384cd2742ff4f982cbe914cee551b74ab4bad (diff)
parenta8e7da01146455f13ef06b151a7dafedd3acf769 (diff)
downloadShaarli-cc69aad4a903dc603f47cfa87aeb1865b03c8950.tar.gz
Shaarli-cc69aad4a903dc603f47cfa87aeb1865b03c8950.tar.zst
Shaarli-cc69aad4a903dc603f47cfa87aeb1865b03c8950.zip
Merge pull request #1271 from ArthurHoaro/hotfix/thumb-note-retrieve
Do not try to retrieve thumbnails for internal link
Diffstat (limited to 'application')
-rw-r--r--application/api/ApiUtils.php2
-rw-r--r--application/bookmark/LinkUtils.php13
-rw-r--r--application/feed/FeedBuilder.php4
-rw-r--r--application/netscape/NetscapeBookmarkUtils.php2
4 files changed, 17 insertions, 4 deletions
diff --git a/application/api/ApiUtils.php b/application/api/ApiUtils.php
index 1824b5d0..1e3ac02e 100644
--- a/application/api/ApiUtils.php
+++ b/application/api/ApiUtils.php
@@ -59,7 +59,7 @@ class ApiUtils
59 { 59 {
60 $out['id'] = $link['id']; 60 $out['id'] = $link['id'];
61 // Not an internal link 61 // Not an internal link
62 if ($link['url'][0] != '?') { 62 if (! is_note($link['url'])) {
63 $out['url'] = $link['url']; 63 $out['url'] = $link['url'];
64 } else { 64 } else {
65 $out['url'] = $indexUrl . $link['url']; 65 $out['url'] = $indexUrl . $link['url'];
diff --git a/application/bookmark/LinkUtils.php b/application/bookmark/LinkUtils.php
index 988970bd..35a5b290 100644
--- a/application/bookmark/LinkUtils.php
+++ b/application/bookmark/LinkUtils.php
@@ -204,3 +204,16 @@ function link_small_hash($date, $id)
204{ 204{
205 return smallHash($date->format(LinkDB::LINK_DATE_FORMAT) . $id); 205 return smallHash($date->format(LinkDB::LINK_DATE_FORMAT) . $id);
206} 206}
207
208/**
209 * Returns whether or not the link is an internal note.
210 * Its URL starts by `?` because it's actually a permalink.
211 *
212 * @param string $linkUrl
213 *
214 * @return bool true if internal note, false otherwise.
215 */
216function is_note($linkUrl)
217{
218 return isset($linkUrl[0]) && $linkUrl[0] === '?';
219}
diff --git a/application/feed/FeedBuilder.php b/application/feed/FeedBuilder.php
index e23b3452..7c859474 100644
--- a/application/feed/FeedBuilder.php
+++ b/application/feed/FeedBuilder.php
@@ -147,8 +147,8 @@ class FeedBuilder
147 protected function buildItem($link, $pageaddr) 147 protected function buildItem($link, $pageaddr)
148 { 148 {
149 $link['guid'] = $pageaddr . '?' . $link['shorturl']; 149 $link['guid'] = $pageaddr . '?' . $link['shorturl'];
150 // Check for both signs of a note: starting with ? and 7 chars long. 150 // Prepend the root URL for notes
151 if ($link['url'][0] === '?' && strlen($link['url']) === 7) { 151 if (is_note($link['url'])) {
152 $link['url'] = $pageaddr . $link['url']; 152 $link['url'] = $pageaddr . $link['url'];
153 } 153 }
154 if ($this->usePermalinks === true) { 154 if ($this->usePermalinks === true) {
diff --git a/application/netscape/NetscapeBookmarkUtils.php b/application/netscape/NetscapeBookmarkUtils.php
index 2fb1a4a6..28665941 100644
--- a/application/netscape/NetscapeBookmarkUtils.php
+++ b/application/netscape/NetscapeBookmarkUtils.php
@@ -54,7 +54,7 @@ class NetscapeBookmarkUtils
54 $link['timestamp'] = $date->getTimestamp(); 54 $link['timestamp'] = $date->getTimestamp();
55 $link['taglist'] = str_replace(' ', ',', $link['tags']); 55 $link['taglist'] = str_replace(' ', ',', $link['tags']);
56 56
57 if (startsWith($link['url'], '?') && $prependNoteUrl) { 57 if (is_note($link['url']) && $prependNoteUrl) {
58 $link['url'] = $indexUrl . $link['url']; 58 $link['url'] = $indexUrl . $link['url'];
59 } 59 }
60 60