Преглед изворни кода

Update Status, generate missing status types

Daniel Supernault пре 6 година
родитељ
комит
b7362caf50
3 измењених фајлова са 8 додато и 14 уклоњено
  1. 6 12
      app/Status.php
  2. 1 1
      app/Transformer/Api/StatusTransformer.php
  3. 1 1
      config/pixelfed.php

+ 6 - 12
app/Status.php

@@ -53,30 +53,24 @@ class Status extends Model
     // todo: deprecate after 0.6.0
     // todo: deprecate after 0.6.0
     public function viewType()
     public function viewType()
     {
     {
-        return Cache::remember('status:view-type:'.$this->id, 10080, function() {
-            $this->setType();
-            $media = $this->firstMedia();
-            $mime = explode('/', $media->mime)[0];
-            $count = $this->media()->count();
-            $type = ($mime == 'image') ? 'image' : 'video';
-            if($count > 1) {
-                $type = ($type == 'image') ? 'album' : 'video-album';
-            }
-            return $type;
-        });
+        if($this->type) {
+            return $this->type;
+        }
+        return $this->setType();
     }
     }
 
 
     // todo: deprecate after 0.6.0
     // todo: deprecate after 0.6.0
     public function setType()
     public function setType()
     {
     {
         if(in_array($this->type, self::STATUS_TYPES)) {
         if(in_array($this->type, self::STATUS_TYPES)) {
-            return;
+            return $this->type;
         }
         }
         $mimes = $this->media->pluck('mime')->toArray();
         $mimes = $this->media->pluck('mime')->toArray();
         $type = StatusController::mimeTypeCheck($mimes);
         $type = StatusController::mimeTypeCheck($mimes);
         if($type) {
         if($type) {
             $this->type = $type;
             $this->type = $type;
             $this->save();
             $this->save();
+            return $type;
         }
         }
     }
     }
 
 

+ 1 - 1
app/Transformer/Api/StatusTransformer.php

@@ -41,7 +41,7 @@ class StatusTransformer extends Fractal\TransformerAbstract
             'language'                  => null,
             'language'                  => null,
             'pinned'                    => null,
             'pinned'                    => null,
 
 
-            'pf_type'          => $status->type,
+            'pf_type'          => $status->type ?? $status->setType(),
         ];
         ];
     }
     }
 
 

+ 1 - 1
config/pixelfed.php

@@ -23,7 +23,7 @@ return [
     | This value is the version of your PixelFed instance.
     | This value is the version of your PixelFed instance.
     |
     |
     */
     */
-    'version' => '0.5.0',
+    'version' => '0.5.1',
 
 
     /*
     /*
     |--------------------------------------------------------------------------
     |--------------------------------------------------------------------------