$row['folder_name'] !== '' ? $row['folder_name'] : 'Not in a folder', 'count' => intval($row['n'])]; $all_count += intval($row['n']); } $folder = isset($_GET['folder']) && isset($folders[intval($_GET['folder'])]) ? intval($_GET['folder']) : null; $where = $visible . ($folder !== null ? " AND document_folder_id = $folder" : ''); if ($q !== '') { $q_sql = escapeSql($q); $where .= " AND (document_name LIKE '%$q_sql%' OR document_description LIKE '%$q_sql%' OR document_content_raw LIKE '%$q_sql%')"; } $total = intval(mysqli_fetch_row(mysqli_query($mysqli, "SELECT COUNT(*) FROM documents WHERE $where"))[0]); $pages = max(1, (int) ceil($total / $per_page)); $page = min(max(1, intval($_GET['page'] ?? 1)), $pages); $offset = ($page - 1) * $per_page; $documents = mysqli_query($mysqli, "SELECT document_id, document_name, document_description, document_created_at, document_updated_at, folder_name, (SELECT file_ext FROM document_files JOIN files ON files.file_id = document_files.file_id WHERE document_files.document_id = documents.document_id ORDER BY files.file_id LIMIT 1) AS file_ext FROM documents LEFT JOIN folders ON folder_id = document_folder_id AND folder_client_id = $session_client_id WHERE $where ORDER BY COALESCE(document_updated_at, document_created_at) DESC, document_name ASC LIMIT $per_page OFFSET $offset"); /** This page's address with some of its settings changed. */ function documentsUrl(array $changes) { global $folder, $q; $params = array_merge(['folder' => $folder, 'q' => $q !== '' ? $q : null], $changes); $params = array_filter($params, function ($v) { return $v !== null && $v !== ''; }); return 'documents.php' . ($params ? '?' . http_build_query($params) : ''); } ?>
Guides and records we share with you