show size and last modified date of files in file manager

This commit is contained in:
Simon Vieille 2023-03-05 21:33:34 +01:00
parent 902ac81e4b
commit 42ab4d85f0
Signed by: deblan
GPG key ID: 579388D585F70417
2 changed files with 30 additions and 2 deletions

View file

@ -91,12 +91,16 @@ class FsFileManager
$this->applySort($finder, $options['sort'] ?? 'name', $options['sort_direction'] ?? 'asc');
foreach ($finder as $file) {
$splInfo = $this->getSplInfo($directory.'/'.$file->getBasename());
$data['files'][] = [
'basename' => $file->getBasename(),
'path' => $directory,
'webPath' => $this->pathUri.'/'.$directory.'/'.$file->getBasename(),
'locked' => $this->isLocked($directory.'/'.$file->getBasename()),
'mime' => mime_content_type($file->getRealPath()),
'size' => $splInfo ? $splInfo->getSize() : null,
'updated_at' => $splInfo ? date('Y-m-d H:i', $splInfo->getMTime()) : null,
];
}

View file

@ -106,7 +106,7 @@
<td width="10">
<span class="fa fa-folder text-warning"></span>
</td>
<td>
<td colspan="2">
..
</td>
</tr>
@ -115,7 +115,7 @@
<td width="10">
<span class="fa fa-folder text-warning"></span>
</td>
<td>
<td colspan="2">
<div v-if="item.locked" class="float-right">
<span class="btn btn-sm btn-light">
<span class="fa fa-lock"></span>
@ -138,6 +138,10 @@
<span v-html="item.basename"></span>
</td>
<td class="text-right">
<span class="btn btn-sm btn-light border-light mr-1 mb-1" v-text="readableFilesize(item.size)"></span>
<span class="btn btn-sm btn-light border-light mr-1 mb-1" v-text="item.updated_at"></span>
</td>
</tr>
</table>
</div>
@ -323,6 +327,26 @@ export default {
.catch((e) => {
alert('An error occured')
})
},
readableFilesize (size) {
if (size <= 0) {
return '0 KB'
}
if (size === 1) {
return '1 byte'
}
const mod = 1024
const units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB']
let i = 0
while (size > mod && i < units.length - 1) {
size /= mod
++i
}
return `${size.toFixed(2)} ${units[i]}`
}
},
mounted () {