From 4693aa3c937319bf06f7329ef0a89b23ea0f8331 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Tue, 27 Jan 2026 15:25:20 -0500 Subject: [PATCH] Render root in display_folders function in files instead of it being seperate --- agent/files.php | 75 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 53 insertions(+), 22 deletions(-) diff --git a/agent/files.php b/agent/files.php index c724c42a..88e3677b 100644 --- a/agent/files.php +++ b/agent/files.php @@ -72,34 +72,72 @@ function is_ancestor_folder($folder_id, $current_folder_id, $client_id) { } } -function display_folders($parent_folder_id, $client_id, $indent = 0) { - global $mysqli, $get_folder_id, $session_user_role, $archive_query, $archived; +function display_folders($parent_folder_id, $client_id, $indent = 0, $render_root = false) { + global $mysqli, $get_folder_id, $session_user_role, $archive_query, $archived, $num_root_items; + + // Always render root (only once) + if ($parent_folder_id == 0 && $indent == 0) { + echo ''; + } + + $sql_folders = mysqli_query( + $mysqli, + "SELECT * FROM folders + WHERE parent_folder = $parent_folder_id + AND folder_client_id = $client_id + ORDER BY folder_name ASC" + ); - $sql_folders = mysqli_query($mysqli, "SELECT * FROM folders WHERE parent_folder = $parent_folder_id AND folder_client_id = $client_id ORDER BY folder_name ASC"); while ($row = mysqli_fetch_assoc($sql_folders)) { $folder_id = intval($row['folder_id']); $folder_name = nullable_htmlentities($row['folder_name']); - // Count files in folder - $row_files = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('file_id') AS num FROM files WHERE file_folder_id = $folder_id AND file_client_id = $client_id AND file_$archive_query")); + $row_files = mysqli_fetch_assoc(mysqli_query( + $mysqli, + "SELECT COUNT('file_id') AS num + FROM files + WHERE file_folder_id = $folder_id + AND file_client_id = $client_id + AND file_$archive_query" + )); $num_files = intval($row_files['num']); - // Count documents in folder - $row_docs = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('document_id') AS num FROM documents WHERE document_folder_id = $folder_id AND document_client_id = $client_id AND document_$archive_query")); + $row_docs = mysqli_fetch_assoc(mysqli_query( + $mysqli, + "SELECT COUNT('document_id') AS num + FROM documents + WHERE document_folder_id = $folder_id + AND document_client_id = $client_id + AND document_$archive_query" + )); $num_docs = intval($row_docs['num']); $num_total = $num_files + $num_docs; - // Count subfolders - $subfolder_result = mysqli_query($mysqli, "SELECT COUNT(*) AS count FROM folders WHERE parent_folder = $folder_id AND folder_client_id = $client_id"); + $subfolder_result = mysqli_query( + $mysqli, + "SELECT COUNT(*) AS count + FROM folders + WHERE parent_folder = $folder_id + AND folder_client_id = $client_id" + ); $subfolder_count = intval(mysqli_fetch_assoc($subfolder_result)['count']); echo '