summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/attachmentlist.php4
-rw-r--r--lib/noticelist.php1
-rw-r--r--lib/router.php4
-rw-r--r--lib/util.php21
4 files changed, 27 insertions, 3 deletions
diff --git a/lib/attachmentlist.php b/lib/attachmentlist.php
index 1be7b2fee..52aa5d9ee 100644
--- a/lib/attachmentlist.php
+++ b/lib/attachmentlist.php
@@ -171,7 +171,7 @@ class AttachmentListItem extends Widget
}
function linkTitle() {
- return 'Our page for ' . $this->title();
+ return $this->title();
}
/**
@@ -256,7 +256,7 @@ class Attachment extends AttachmentListItem
}
function linkTitle() {
- return 'Direct link to ' . $this->title();
+ return $this->attachment->url;
}
function showRepresentation() {
diff --git a/lib/noticelist.php b/lib/noticelist.php
index 51b8987fe..ae1438892 100644
--- a/lib/noticelist.php
+++ b/lib/noticelist.php
@@ -180,7 +180,6 @@ class NoticeListItem extends Widget
{
$this->showStart();
$this->showNotice();
- $this->showNoticeAttachmentsIcon();
$this->showNoticeInfo();
$this->showNoticeOptions();
$this->showNoticeAttachments();
diff --git a/lib/router.php b/lib/router.php
index 39c005609..d1e2970c5 100644
--- a/lib/router.php
+++ b/lib/router.php
@@ -159,6 +159,10 @@ class Router
array('action' => 'attachment_ajax'),
array('attachment' => '[0-9]+'));
+ $m->connect('attachment/:attachment/thumbnail',
+ array('action' => 'attachment_thumbnail'),
+ array('attachment' => '[0-9]+'));
+
/*
TODO
not used right now, will revisit later
diff --git a/lib/util.php b/lib/util.php
index fbef8764a..d56f44f7b 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -496,6 +496,27 @@ function common_linkify($url) {
}
$attrs = array('href' => $longurl, 'rel' => 'external');
+
+// if this URL is an attachment, then we set class='attachment' and id='attahcment-ID'
+// where ID is the id of the attachment for the given URL.
+ $query = "select file_oembed.file_id as file_id from file join file_oembed on file.id = file_oembed.file_id where file.url='$longurl'";
+ $file = new File;
+ $file->query($query);
+ $file->fetch();
+
+ if (!empty($file->file_id)) {
+ $query = "select file_thumbnail.file_id as file_id from file join file_thumbnail on file.id = file_thumbnail.file_id where file.url='$longurl'";
+ $file2 = new File;
+ $file2->query($query);
+ $file2->fetch();
+
+ if (empty($file2->file_id)) {
+ $attrs['class'] = 'attachment';
+ } else {
+ $attrs['class'] = 'attachment thumbnail';
+ }
+ $attrs['id'] = "attachment-{$file->file_id}";
+ }
return XMLStringer::estring('a', $attrs, $display);
}