Pārlūkot izejas kodu

Added MediaPathService

Daniel Supernault 5 gadi atpakaļ
vecāks
revīzija
c54b29c559
1 mainītis faili ar 51 papildinājumiem un 0 dzēšanām
  1. 51 0
      app/Services/MediaPathService.php

+ 51 - 0
app/Services/MediaPathService.php

@@ -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;
+	}
+
+}