diff options
author | Aaron Parecki <aaron@parecki.com> | 2017-09-25 16:07:09 -0700 |
---|---|---|
committer | Aaron Parecki <aaron@parecki.com> | 2017-09-25 16:07:09 -0700 |
commit | db65ef5b5d9b979d4a15bef6b54227904119ef66 (patch) | |
tree | 1ae22e1ebcda1a896aa8705479aefb617f6f6866 | |
parent | 1395055d8a9f36f816e0ae3cea9af69674d35fc8 (diff) |
show syndication links with icons in reply context
-rw-r--r-- | controllers/controllers.php | 28 | ||||
-rw-r--r-- | public/images/services/default.png | bin | 0 -> 1750 bytes | |||
-rw-r--r-- | public/images/services/facebook.ico | bin | 0 -> 1150 bytes | |||
-rw-r--r-- | public/images/services/github.ico | bin | 0 -> 6518 bytes | |||
-rw-r--r-- | public/images/services/twitter.ico | bin | 0 -> 1150 bytes | |||
-rw-r--r-- | views/new-post.php | 16 |
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 Binary files differnew file mode 100644 index 0000000..bb54c74 --- /dev/null +++ b/public/images/services/default.png diff --git a/public/images/services/facebook.ico b/public/images/services/facebook.ico Binary files differnew file mode 100644 index 0000000..1bdf7e1 --- /dev/null +++ b/public/images/services/facebook.ico diff --git a/public/images/services/github.ico b/public/images/services/github.ico Binary files differnew file mode 100644 index 0000000..133f0ca --- /dev/null +++ b/public/images/services/github.ico diff --git a/public/images/services/twitter.ico b/public/images/services/twitter.ico Binary files differnew file mode 100644 index 0000000..b4a7169 --- /dev/null +++ b/public/images/services/twitter.ico 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"); } |