FEATURE: Implemented SubFolders within Documents UI

This commit is contained in:
johnnyq
2024-10-28 17:53:44 -04:00
parent 9491643a4b
commit 77fce6a69d
7 changed files with 335 additions and 67 deletions

View File

@@ -29,36 +29,55 @@
<textarea class="form-control tinymce" name="content"></textarea>
</div>
<?php } ?>
<div class="form-group">
<label for="folderSelect">Select Folder</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-folder"></i></span>
</div>
<select class="form-control" name="folder">
<select class="form-control select2" name="folder" id="folderSelect">
<option value="0">/</option>
<?php
$sql_folders = mysqli_query($mysqli, "SELECT * FROM folders WHERE folder_location = $folder_location AND folder_client_id = $client_id ORDER BY folder_name ASC");
while ($row = mysqli_fetch_array($sql_folders)) {
$folder_id = intval($row['folder_id']);
$folder_name = nullable_htmlentities($row['folder_name']);
// Recursive function to display folder options
function display_folder_options($parent_folder_id, $client_id, $indent = 0) {
global $mysqli;
?>
<option <?php if (isset($_GET['folder_id']) && $_GET['folder_id'] == $folder_id) echo "selected"; ?> value="<?php echo $folder_id ?>"><?php echo $folder_name; ?></option>
<?php
$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_array($sql_folders)) {
$folder_id = intval($row['folder_id']);
$folder_name = nullable_htmlentities($row['folder_name']);
// Indentation for subfolders
$indentation = str_repeat('&nbsp;', $indent * 4);
// Check if this folder is selected
$selected = '';
if ((isset($_GET['folder_id']) && $_GET['folder_id'] == $folder_id) || (isset($_POST['folder']) && $_POST['folder'] == $folder_id)) {
$selected = 'selected';
}
echo "<option value=\"$folder_id\" $selected>$indentation$folder_name</option>";
// Recursively display subfolders
display_folder_options($folder_id, $client_id, $indent + 1);
}
}
?>
// Start displaying folder options from the root (parent_folder = 0)
display_folder_options(0, $client_id);
?>
</select>
</div>
</div>
<label>Description</label>
<div class="form-group">
<label for="descriptionInput">Description</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-file"></i></span>
</div>
<input type="text" class="form-control" name="description" placeholder="Short summary of the document">
<input type="text" class="form-control" name="description" id="descriptionInput" placeholder="Short summary of the document">
</div>
</div>
</div>
@@ -69,4 +88,4 @@
</form>
</div>
</div>
</div>
</div>