123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?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;
- use App\Services\HashidService;
- 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;
- }
- public static function story($account, $version = 1)
- {
- $mh = hash('sha256', date('Y').'-.-'.date('m'));
- $monthHash = HashidService::encode(date('Y').date('m'));
- $random = date('d').Str::random(32);
- if($account instanceOf User) {
- switch ($version) {
- case 1:
- $userHash = HashidService::encode($account->profile_id);
- $path = "public/_esm.t3/{$monthHash}/{$userHash}/{$random}";
- break;
-
- default:
- $userHash = HashidService::encode($account->profile_id);
- $path = "public/_esm.t3/{$monthHash}/{$userHash}/{$random}";
- break;
- }
- }
- if($account instanceOf Profile) {
- $userHash = HashidService::encode($account->id);
- $path = "public/_esm.t3/{$monthHash}/{$userHash}/{$random}";
- }
- return $path;
- }
- }
|