mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-26 08:13:16 +00:00
Added MediaPathService
This commit is contained in:
parent
2c440b4882
commit
c54b29c559
1 changed files with 51 additions and 0 deletions
51
app/Services/MediaPathService.php
Normal file
51
app/Services/MediaPathService.php
Normal 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;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue