-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.php
53 lines (41 loc) · 1.62 KB
/
index.php
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
<?php
require_once 'includes/config.php';
require_once 'includes/functions.php';
require_once 'includes/translations.php';
// Obtener la ruta base desde el formulario o usar la ruta actual por defecto
$base_dir = isset($_POST['base_dir']) ? realpath($_POST['base_dir']) : __DIR__;
// Obtener el directorio actual desde la URL
$current_dir = isset($_GET['dir']) ? realpath($_GET['dir']) : $base_dir;
$parent_dir = dirname($current_dir);
// Verificar si estamos en el directorio raíz
$is_root = $current_dir === realpath($base_dir);
// Obtener la vista seleccionada (lista o cards)
$view_mode = isset($_GET['view']) ? $_GET['view'] : 'list';
// Obtener la lista de archivos en el directorio actual
$files = get_files_in_directory($current_dir);
// Filtrar archivos inaccesibles
$files = array_filter($files, function ($file) use ($current_dir) {
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
return is_readable($file_path);
});
// Ordenar archivos por fecha de modificación
usort($files, function ($a, $b) use ($current_dir) {
$file_a = $current_dir . DIRECTORY_SEPARATOR . $a;
$file_b = $current_dir . DIRECTORY_SEPARATOR . $b;
if (!@filemtime($file_a) || !@filemtime($file_b)) {
return 0;
}
return filemtime($file_b) - filemtime($file_a);
});
require_once 'templates/header.php';
require_once 'templates/nav_bar.php';
if (!empty($files)) {
if ($view_mode == 'list') {
require 'templates/list_view.php';
} elseif ($view_mode == 'cards') {
require 'templates/card_view.php';
}
} else {
echo '<p class="text-muted">' . $translations[$lang]['no_files'] . '</p>';
}
require_once 'templates/footer.php';