prepare("INSERT INTO projects (name, is_folder, parent_id, owner_id) VALUES (?, 1, ?, ?)"); $stmt->execute([$_POST['name'], $parent_id, $user_id]); } if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_item'])) { $stmt = $pdo->prepare("DELETE FROM projects WHERE id=? AND owner_id=?"); $stmt->execute([$_POST['item_id'], $user_id]); } if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['edit_item'])) { $stmt = $pdo->prepare("UPDATE projects SET name=? WHERE id=? AND owner_id=?"); $stmt->execute([$_POST['new_name'], $_POST['item_id'], $user_id]); } if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['upload_file']) && isset($_FILES['file'])) { $name = $_FILES['file']['name']; $tmp_name = $_FILES['file']['tmp_name']; $path = 'uploads/' . time() . '_' . $name; move_uploaded_file($tmp_name, $path); $stmt = $pdo->prepare("INSERT INTO projects (name, is_folder, parent_id, file_path, owner_id) VALUES (?, 0, ?, ?, ?)"); $stmt->execute([$name, $parent_id, $path, $user_id]); echo "OK"; exit; // For AJAX } if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['share_project'])) { $pr_id = $_POST['project_id']; $share = $_POST['share_target']; // 'user_1' $parts = explode('_', $share); $stmt = $pdo->prepare("INSERT INTO project_shares (project_id, share_type, share_id) VALUES (?, ?, ?)"); $stmt->execute([$pr_id, $parts[0], $parts[1]]); $pr = query("SELECT name FROM projects WHERE id=?", [$pr_id])->fetch(); $msg = "A project/file '{$pr['name']}' has been shared with you."; if($parts[0] === 'user') notify_user($parts[1], $msg); else notify_group($parts[1], $msg); } // Fetch items in current folder $user_groups = get_user_groups($user_id); $my_group_ids = array_column($user_groups, 'id'); $group_in = implode(',', array_fill(0, count($my_group_ids), '?')) ?: '0'; $parent_cond = $parent_id ? "p.parent_id = ?" : "p.parent_id IS NULL"; $sql = "SELECT p.*, (p.owner_id = ?) as is_mine, u.username as owner_name FROM projects p LEFT JOIN project_shares ps ON p.id = ps.project_id LEFT JOIN users u ON p.owner_id = u.id WHERE ($parent_cond) AND ( p.owner_id = ? OR (ps.share_type='user' AND ps.share_id = ?) OR (ps.share_type='group' AND ps.share_id IN ($group_in)) ) GROUP BY p.id ORDER BY p.is_folder DESC, p.name ASC"; $params = [$user_id]; if($parent_id) $params[] = $parent_id; $params = array_merge($params, [$user_id, $user_id], $my_group_ids); $stmt = $pdo->prepare($sql); $stmt->execute($params); $items = $stmt->fetchAll(); $all_users = query("SELECT id, username FROM users WHERE id != ?", [$user_id])->fetchAll(); $all_groups = query("SELECT * FROM groups")->fetchAll(); ?>
Empty folder.