summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Parecki <aaron@parecki.com>2017-09-25 16:07:09 -0700
committerAaron Parecki <aaron@parecki.com>2017-09-25 16:07:09 -0700
commitdb65ef5b5d9b979d4a15bef6b54227904119ef66 (patch)
tree1ae22e1ebcda1a896aa8705479aefb617f6f6866
parent1395055d8a9f36f816e0ae3cea9af69674d35fc8 (diff)
show syndication links with icons in reply context
-rw-r--r--controllers/controllers.php28
-rw-r--r--public/images/services/default.pngbin0 -> 1750 bytes
-rw-r--r--public/images/services/facebook.icobin0 -> 1150 bytes
-rw-r--r--public/images/services/github.icobin0 -> 6518 bytes
-rw-r--r--public/images/services/twitter.icobin0 -> 1150 bytes
-rw-r--r--views/new-post.php16
6 files changed, 41 insertions, 3 deletions
diff --git a/controllers/controllers.php b/controllers/controllers.php
index b097bad..b028193 100644
--- a/controllers/controllers.php
+++ b/controllers/controllers.php
@@ -767,14 +767,38 @@ $app->get('/reply/preview', function() use($app) {
}
$mentions = array_values(array_unique($mentions));
+ }
- }
+ $syndications = [];
+ if($entry && isset($entry['syndication'])) {
+ foreach($entry['syndication'] as $s) {
+ $host = parse_url($s, PHP_URL_HOST);
+ switch($host) {
+ case 'twitter.com':
+ case 'www.twitter.com':
+ $icon = 'twitter.ico'; break;
+ case 'facebook.com':
+ case 'www.facebook.com':
+ $icon = 'facebook.ico'; break;
+ case 'github.com':
+ case 'www.github.com':
+ $icon = 'github.ico'; break;
+ default:
+ $icon = 'default.png'; break;
+ }
+ $syndications[] = [
+ 'url' => $s,
+ 'icon' => $icon
+ ];
+ }
+ }
$app->response()['Content-type'] = 'application/json';
$app->response()->body(json_encode([
'canonical_reply_url' => $reply_url,
'entry' => $entry,
- 'mentions' => $mentions
+ 'mentions' => $mentions,
+ 'syndications' => $syndications,
]));
}
});
diff --git a/public/images/services/default.png b/public/images/services/default.png
new file mode 100644
index 0000000..bb54c74
--- /dev/null
+++ b/public/images/services/default.png
Binary files differ
diff --git a/public/images/services/facebook.ico b/public/images/services/facebook.ico
new file mode 100644
index 0000000..1bdf7e1
--- /dev/null
+++ b/public/images/services/facebook.ico
Binary files differ
diff --git a/public/images/services/github.ico b/public/images/services/github.ico
new file mode 100644
index 0000000..133f0ca
--- /dev/null
+++ b/public/images/services/github.ico
Binary files differ
diff --git a/public/images/services/twitter.ico b/public/images/services/twitter.ico
new file mode 100644
index 0000000..b4a7169
--- /dev/null
+++ b/public/images/services/twitter.ico
Binary files differ
diff --git a/views/new-post.php b/views/new-post.php
index f84f231..726a671 100644
--- a/views/new-post.php
+++ b/views/new-post.php
@@ -16,7 +16,7 @@
</div>
<div class="reply-content">
<img src="" class="post-img hidden">
- <div class="author"><span class="name"></span> <span class="url"></span></div>
+ <div class="author"><div class="syndications"></div><span class="name"></span> <span class="url"></span></div>
<h4 class="post-name hidden"></h4>
<span class="content"></span>
</div>
@@ -244,6 +244,13 @@
width: 48px;
margin-right: 4px;
}
+.reply-context .syndications {
+ float: right;
+ padding-right: 4px;
+}
+.reply-context .syndications img {
+ width: 16px;
+}
.reply-context .author {
color: #777;
font-weight: bold;
@@ -582,6 +589,13 @@ $(function(){
} else {
$("#form_rsvp").addClass("hidden");
}
+ if(data.syndications) {
+ $(".reply-context .syndications").html('');
+ for(var i in data.syndications) {
+ var syn = data.syndications[i];
+ $(".reply-context .syndications").append('<a href="'+syn.url+'"><img src="/images/services/'+syn.icon+'"></a>');
+ }
+ }
$(".reply-context").removeClass("hidden");
}