1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
<?php $this->layout('layout', ['title' => 'media', 'css' => $css . 'home.css']) ?>
<?php $this->start('page') ?>
<body>
<?php $this->insert('backtopbar', ['user' => $user, 'tab' => 'media']) ?>
<main class="media">
<div id="tree">
<h2>Explorer</h2>
<table id="dirlsit">
<tr><th>folder</th><th>files</th></tr>
<?php
function treecount(array $dir, string $dirname, int $deepness, string $path, string $currentdir)
{
if ($path === $currentdir) {
$folder = '├─📂<strong>' . $dirname . '<strong>';
} else {
$folder = '├─📁' . $dirname;
}
echo '<tr>';
echo '<td><a href="?path=' . $path . '">' . str_repeat(' ', $deepness) . $folder . '</a></td>';
echo '<td>' . $dir['dirfilecount'] . '</td>';
echo '</tr>';
foreach ($dir as $key => $value) {
if (is_array($value)) {
treecount($value, $key, $deepness + 1, $path . DIRECTORY_SEPARATOR . $key, $currentdir);
}
}
}
treecount($dirlist, 'media', 0, 'media', $dir);
?>
</table>
</div>
<div id="explorer">
<h2><?= $dir ?></h2>
Print the whole content of the folder using this code : <span><code>%MEDIA:<?= str_replace('\\', '/', substr($dir, strlen(Model::MEDIA_DIR))) ?>%</code></span>
<form id="addfolder" action="<?= $this->url('mediafolder') ?>" method="post">
<label for="foldername">📂 New folder</label>
<input type="text" name="foldername" id="foldername" placeholder="folder name" required>
<input type="hidden" name="dir" value="<?= $dir ?>">
<input type="submit" value="create folder">
</form>
<form id=addmedia action="<?= $this->url('mediaupload') ?>" method="post" enctype="multipart/form-data">
<label for="file">🚀 Upload file(s)</label>
<input type='file' id="file" name='file[]' multiple required>
<input type="hidden" name="dir" value="<?= $dir ?>">
<input type="submit" value="upload">
</form>
<table id="medialist">
<tr><th>id</th><th>ext</th><th>type</th><th>size</th><th>width</th><th>height</th><th>lengh</th><th>code</th></tr>
<?php
foreach ($medialist as $media) {
?>
<tr>
<td><a href="<?= $media->getfullpath() ?>" target="_blank"><?= $media->id() ?></a></td>
<td><?= $media->extension() ?></td>
<td><?= $media->type() == 'image' ? '<span class="thumbnail">image 👁<img src="' . $media->getfullpath() . '"></span>' : $media->type() ?></td>
<td><?= readablesize($media->size()) ?></td>
<td><?= $media->width() ?></td>
<td><?= $media->height() ?></td>
<td><?= $media->length() ?></td>
<td class="code"><code>
<?php
if($media->type() == 'image') {
?>
 ?>)
<?php
} elseif ($media->type() == 'other') {
?>
[<?= $media->id() ?>](<?= $media->getincludepath() ?>)
<?php
} else {
echo $media->getincludepath();
}
?>
</code></td>
</tr>
<?php
}
?>
</table>
</div>
</main>
</body>
<?php $this->stop('page') ?>
|