MediaController.php 910 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Media;
  4. use Illuminate\Http\Request;
  5. class MediaController extends Controller
  6. {
  7. public function index(Request $request)
  8. {
  9. abort(404);
  10. }
  11. public function composeUpdate(Request $request, $id)
  12. {
  13. abort(400, 'Endpoint deprecated');
  14. }
  15. public function fallbackRedirect(Request $request, $pid, $mhash, $uhash, $f)
  16. {
  17. if (! (bool) config_cache('pixelfed.cloud_storage')) {
  18. return redirect('/storage/no-preview.png', 302);
  19. }
  20. $path = 'public/m/_v2/'.$pid.'/'.$mhash.'/'.$uhash.'/'.$f;
  21. $media = Media::whereProfileId($pid)
  22. ->whereMediaPath($path)
  23. ->whereNotNull('cdn_url')
  24. ->first();
  25. if (! $media) {
  26. return redirect('/storage/no-preview.png', 302);
  27. }
  28. return redirect()->away($media->cdn_url, 302);
  29. }
  30. }