commit 87e1fbd3aa9119245378a803e69bd52f7e965fc1
parent 144848225f750cf8fa00067268d03c6622947b7e
Author: St John Karp <stjohn@fuzzjunket.com>
Date: Sun, 12 Aug 2018 07:39:01 -0700
Replace regex with media attachments
Replaced the regex that embedded images and switched to using
proper media attachments. Currently only supporting images.
Diffstat:
2 files changed, 5 insertions(+), 20 deletions(-)
diff --git a/app/Http/Controllers/TimelineController.php b/app/Http/Controllers/TimelineController.php
@@ -12,8 +12,6 @@ class TimelineController extends Controller
$timeline = Mastodon::domain(env('MASTODON_DOMAIN'))
->get('/timelines/public', ['local' => true]);
- $timeline = $this->embed_images($timeline);
-
return view('timeline', ['statuses' => $timeline]);
}
@@ -24,24 +22,6 @@ class TimelineController extends Controller
->token($user->token)
->get('/timelines/home');
- $timeline = $this->embed_images($timeline);
-
return view('timeline', ['statuses' => $timeline]);
}
-
- private function embed_images($timeline)
- {
- foreach ($timeline as $index => $status)
- {
- # Search for links to images and replace the inner HTML
- # with an img tag of the image itself.
- $timeline[$index]['content'] = preg_replace(
- '/<a href="([^>]+)\.(png|jpg|jpeg|gif)">([^<]+)<\/a>/',
- '<a href="${1}.${2}"><img src="${1}.${2}" alt="${3}" /></a>',
- $status['content']
- );
- }
-
- return $timeline;
- }
}
diff --git a/resources/views/timeline.blade.php b/resources/views/timeline.blade.php
@@ -20,6 +20,11 @@
<span class="tooltiptext">{{ $status['account']['acct'] }}</span>
</div>
<p>{!! $status['content'] !!}</p>
+ @foreach ($status['media_attachments'] as $attachment)
+ @if ($attachment['type'] === 'image')
+ <p><img src="{{ $attachment['url'] }}" alt="{{ $attachment['description'] }}" /></p>
+ @endif
+ @endforeach
</div>
@endforeach
</body>