From dab02c63d4f96b9756ddc209174763ff81d16dfb Mon Sep 17 00:00:00 2001 From: Anil ALCI Date: Sun, 5 Feb 2023 16:02:04 +0100 Subject: [PATCH 1/3] Display CSV As HTML Table #959 --- tinyfilemanager.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tinyfilemanager.php b/tinyfilemanager.php index 5b57b7b..cf79ad0 100644 --- a/tinyfilemanager.php +++ b/tinyfilemanager.php @@ -1623,6 +1623,7 @@ if (isset($_GET['view'])) { $is_audio = false; $is_video = false; $is_text = false; + $is_csv = false; $is_onlineViewer = false; $view_title = 'File'; @@ -1646,6 +1647,9 @@ if (isset($_GET['view'])) { } elseif (in_array($ext, fm_get_video_exts())) { $is_video = true; $view_title = 'Video'; + } elseif ($ext == 'csv') { + $is_csv = true; + $view_title = "CSV File"; } elseif (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) { $is_text = true; $content = file_get_contents($file_path); @@ -1720,7 +1724,7 @@ if (isset($_GET['view'])) {     @@ -1763,6 +1767,15 @@ if (isset($_GET['view'])) { } elseif ($is_video) { // Video content echo '
'; + } elseif ($is_csv) { + $tableTheme = (FM_THEME == "dark") ? "text-white bg-dark table-dark" : "bg-white"; + echo ''; + $csvFilePointer = fopen($file_path, 'r'); + while ( ($csvRow = fgetcsv($csvFilePointer) ) !== FALSE ) { + echo ''; + } + fclose($csvFilePointer); + echo '
'. implode('', $csvRow). '
'; } elseif ($is_text) { if (FM_USE_HIGHLIGHTJS) { // highlight From a99720e51c5f297e38ca9b389b5fecc86d29ed2f Mon Sep 17 00:00:00 2001 From: Anil ALCI Date: Tue, 7 Feb 2023 16:18:59 +0100 Subject: [PATCH 2/3] option to turn on/off --- tinyfilemanager.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tinyfilemanager.php b/tinyfilemanager.php index cf79ad0..6552005 100644 --- a/tinyfilemanager.php +++ b/tinyfilemanager.php @@ -101,6 +101,9 @@ $exclude_items = array(); // false => disable online doc viewer $online_viewer = 'google'; +// Display CSV files as HTML table +$display_csv_as_table = false; + // Sticky Nav bar // true => enable sticky header // false => disable sticky header @@ -1647,7 +1650,7 @@ if (isset($_GET['view'])) { } elseif (in_array($ext, fm_get_video_exts())) { $is_video = true; $view_title = 'Video'; - } elseif ($ext == 'csv') { + } elseif ($display_csv_as_table && $ext == 'csv') { $is_csv = true; $view_title = "CSV File"; } elseif (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) { From ebdc7e2c915bc321c5769839d3f24b649164f1e4 Mon Sep 17 00:00:00 2001 From: Anil ALCI Date: Tue, 7 Feb 2023 16:24:29 +0100 Subject: [PATCH 3/3] Change default value of display_csv_as_table true --- tinyfilemanager.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tinyfilemanager.php b/tinyfilemanager.php index 6552005..7486f2f 100644 --- a/tinyfilemanager.php +++ b/tinyfilemanager.php @@ -102,7 +102,7 @@ $exclude_items = array(); $online_viewer = 'google'; // Display CSV files as HTML table -$display_csv_as_table = false; +$display_csv_as_table = true; // Sticky Nav bar // true => enable sticky header