mirror of
https://github.com/itflow-org/itflow
synced 2026-03-02 03:44:53 +00:00
Render root in display_folders function in files instead of it being seperate
This commit is contained in:
@@ -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) {
|
function display_folders($parent_folder_id, $client_id, $indent = 0, $render_root = false) {
|
||||||
global $mysqli, $get_folder_id, $session_user_role, $archive_query, $archived;
|
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 '<li class="nav-item">';
|
||||||
|
echo '<a class="nav-link ' . ($get_folder_id == 0 ? 'active' : '') . '"';
|
||||||
|
echo ' href="?client_id=' . $client_id . '&folder_id=0&archived=' . $archived . '">';
|
||||||
|
echo '/';
|
||||||
|
|
||||||
|
if ($num_root_items > 0) {
|
||||||
|
echo "<span class='badge badge-pill badge-dark float-right mt-1'>$num_root_items</span>";
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '</a>';
|
||||||
|
echo '</li>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$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)) {
|
while ($row = mysqli_fetch_assoc($sql_folders)) {
|
||||||
$folder_id = intval($row['folder_id']);
|
$folder_id = intval($row['folder_id']);
|
||||||
$folder_name = nullable_htmlentities($row['folder_name']);
|
$folder_name = nullable_htmlentities($row['folder_name']);
|
||||||
|
|
||||||
// Count files in folder
|
$row_files = mysqli_fetch_assoc(mysqli_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"));
|
$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']);
|
$num_files = intval($row_files['num']);
|
||||||
|
|
||||||
// Count documents in folder
|
$row_docs = mysqli_fetch_assoc(mysqli_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"));
|
$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_docs = intval($row_docs['num']);
|
||||||
|
|
||||||
$num_total = $num_files + $num_docs;
|
$num_total = $num_files + $num_docs;
|
||||||
|
|
||||||
// Count subfolders
|
$subfolder_result = mysqli_query(
|
||||||
$subfolder_result = mysqli_query($mysqli, "SELECT COUNT(*) AS count FROM folders WHERE parent_folder = $folder_id AND folder_client_id = $client_id");
|
$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']);
|
$subfolder_count = intval(mysqli_fetch_assoc($subfolder_result)['count']);
|
||||||
|
|
||||||
echo '<li class="nav-item">';
|
echo '<li class="nav-item">';
|
||||||
echo '<div class="row">';
|
echo '<div class="row">';
|
||||||
echo '<div class="col-10">';
|
echo '<div class="col-10">';
|
||||||
echo '<a class="nav-link ';
|
echo '<a class="nav-link ' . ($get_folder_id == $folder_id ? 'active' : '') . '"';
|
||||||
if ($get_folder_id == $folder_id) { echo "active"; }
|
echo ' href="?client_id=' . $client_id . '&folder_id=' . $folder_id . '&archived=' . $archived . '">';
|
||||||
echo '" href="?client_id=' . $client_id . '&folder_id=' . $folder_id . '&archived=' . $archived . '">';
|
|
||||||
|
|
||||||
echo str_repeat(' ', $indent * 4);
|
echo str_repeat(' ', $indent * 4);
|
||||||
|
|
||||||
@@ -125,12 +163,10 @@ function display_folders($parent_folder_id, $client_id, $indent = 0) {
|
|||||||
</button>
|
</button>
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
<a class="dropdown-item ajax-modal" href="#"
|
<a class="dropdown-item ajax-modal" href="#"
|
||||||
data-modal-url="modals/folder/folder_rename.php?id=<?= $folder_id ?>">
|
data-modal-url="modals/folder/folder_rename.php?id=<?= $folder_id ?>">
|
||||||
<i class="fas fa-fw fa-edit mr-2"></i>Rename
|
<i class="fas fa-fw fa-edit mr-2"></i>Rename
|
||||||
</a>
|
</a>
|
||||||
<?php
|
<?php if ($session_user_role == 3 && $num_total == 0 && $subfolder_count == 0) { ?>
|
||||||
// Only show delete if admin and no contents and no subfolders
|
|
||||||
if ($session_user_role == 3 && $num_total == 0 && $subfolder_count == 0) { ?>
|
|
||||||
<div class="dropdown-divider"></div>
|
<div class="dropdown-divider"></div>
|
||||||
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_folder=<?php echo $folder_id; ?>">
|
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_folder=<?php echo $folder_id; ?>">
|
||||||
<i class="fas fa-fw fa-trash mr-2"></i>Delete
|
<i class="fas fa-fw fa-trash mr-2"></i>Delete
|
||||||
@@ -411,12 +447,7 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
|
|||||||
<h4>Folders</h4>
|
<h4>Folders</h4>
|
||||||
<hr>
|
<hr>
|
||||||
<ul class="nav nav-pills flex-column bg-light">
|
<ul class="nav nav-pills flex-column bg-light">
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link <?php if ($get_folder_id == 0) { echo "active"; } ?>"
|
|
||||||
href="?client_id=<?php echo $client_id; ?>&folder_id=0&archived=<?= $archived ?>">
|
|
||||||
/ <?php if ($num_root_items > 0) { echo "<span class='badge badge-pill badge-dark float-right mt-1'>$num_root_items</span>"; } ?>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<?php
|
<?php
|
||||||
// Start folder tree from root
|
// Start folder tree from root
|
||||||
display_folders(0, $client_id);
|
display_folders(0, $client_id);
|
||||||
|
|||||||
Reference in New Issue
Block a user