1
0
Fork 1
mirror of https://github.com/pixelfed/pixelfed.git synced 2024-12-25 01:05:36 +00:00

Added MediaPathService

This commit is contained in:
Daniel Supernault 2020-07-12 21:25:11 -06:00
parent 2c440b4882
commit c54b29c559
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -0,0 +1,51 @@
<?php
namespace App\Services;
use App\Util\ActivityPub\Helpers;
use Illuminate\Support\Facades\Redis;
use Illuminate\Support\Str;
use App\Media;
use App\Profile;
use App\User;
class MediaPathService {
public static function get($account, $version = 1)
{
$mh = hash('sha256', date('Y').'-.-'.date('m'));
if($account instanceOf User) {
switch ($version) {
// deprecated
case 1:
$monthHash = hash('sha1', date('Y').date('m'));
$userHash = hash('sha1', $account->id . (string) $account->created_at);
$path = "public/m/{$monthHash}/{$userHash}";
break;
case 2:
$monthHash = substr($mh, 0, 9).'-'.substr($mh, 9, 6);
$userHash = $account->profile_id;
$random = Str::random(12);
$path = "public/m/_v2/{$userHash}/{$monthHash}/{$random}";
break;
default:
$monthHash = substr($mh, 0, 9).'-'.substr($mh, 9, 6);
$userHash = $account->profile_id;
$random = Str::random(12);
$path = "public/m/_v2/{$userHash}/{$monthHash}/{$random}";
break;
}
}
if($account instanceOf Profile) {
$monthHash = substr($mh, 0, 9).'-'.substr($mh, 9, 6);
$userHash = $account->id;
$random = Str::random(12);
$path = "public/m/_v2/{$userHash}/{$monthHash}/{$random}";
}
return $path;
}
}