]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5718 @0.25
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 15 Feb 2023 09:01:44 +0000 (10:01 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 15 Feb 2023 09:01:44 +0000 (10:01 +0100)
app/Models/File.php

index 502ec3d4d3946e1ec25c97eb811740e15b60a13f..6e8b8934a3bce1cf3a1fbc95be60e0a234cd878c 100644 (file)
@@ -35,6 +35,8 @@ class File extends ToolboxModel
         $this->addField('size', Integer::class, __('Taille'), ['column' => true]);
         $this->addField('from', \App\Fields\User::class, __('Envoyé par'), ['column' => true]);
         $this->addField('to', \App\Fields\User::class, __('Destiné à'), ['column' => true]);
+        $this->addField('hash', Hidden::class, __('Hash'));
+        $this->addField('mtime', Hidden::class, '');
 
         $this->addOwnerField(['column' => false]);
     }
@@ -47,6 +49,9 @@ class File extends ToolboxModel
         foreach ($users as $user) {
             $this->_listFilesOfUser($user->id, $files);
         }
+        usort($files, function ($a, $b) {
+            return $a['mtime'] - $b['mtime'];
+        });
         return array_values($files);
     }
 
@@ -60,7 +65,6 @@ class File extends ToolboxModel
             if (isset($files[$path])) {
                 continue;
             }
-            $uFile['id'] = count($files) + 1;
             $files[$path] = $uFile;
         }
     }
@@ -93,8 +97,10 @@ class File extends ToolboxModel
                 $to = null;
             }
 
+            $mtime = $file->getMTime();
+
             $date = new \DateTime();
-            $date->setTimestamp($file->getMTime());
+            $date->setTimestamp($mtime);
 
             $res[$pathname] = [
                 'path' => $pathname,
@@ -106,6 +112,8 @@ class File extends ToolboxModel
                 'from' => $from,
                 'to' => $to,
                 'owner' => $id,
+                'mtime' => $mtime,
+                'hash' => Files::hashFileAttributes($pathname),
             ];
         }