From 926659087fbd25c479b9e8cb8efdfed1c7fcd18a Mon Sep 17 00:00:00 2001 From: Pontoporeia Date: Mon, 11 May 2026 01:08:46 +0200 Subject: [PATCH] feat: implement SQLite backup & data integrity plan (Phases 2-4) --- TODO.md | 107 +++---- app/migrations/applied/026_audit_log.sql | 16 + app/migrations/applied/027_soft_deletes.sql | 80 +++++ .../028_drop_banner_path.sql | 0 app/public/admin/actions/corbeille.php | 60 ++++ app/public/admin/actions/settings.php | 2 + app/public/admin/index.php | 17 +- app/src/Audit.php | 80 +++++ app/src/Database.php | 275 ++++++++++++++---- .../backups/db-2026-05-11T01-03-26.db.gz | Bin 0 -> 178995 bytes app/storage/schema.sql | 14 +- app/templates/admin/acces.php | 26 ++ app/templates/admin/contenus.php | 30 +- app/templates/admin/index-trash.php | 82 ++++++ app/templates/admin/index.php | 5 + backup-plan.md => docs/backup-plan.md | 0 justfile | 5 + scripts/backup-sqlite.sh | 35 +++ 18 files changed, 683 insertions(+), 151 deletions(-) create mode 100644 app/migrations/applied/026_audit_log.sql create mode 100644 app/migrations/applied/027_soft_deletes.sql rename app/migrations/{pending => applied}/028_drop_banner_path.sql (100%) create mode 100644 app/public/admin/actions/corbeille.php create mode 100644 app/src/Audit.php create mode 100644 app/storage/backups/db-2026-05-11T01-03-26.db.gz create mode 100644 app/templates/admin/index-trash.php rename backup-plan.md => docs/backup-plan.md (100%) create mode 100755 scripts/backup-sqlite.sh diff --git a/TODO.md b/TODO.md index 0779163..4f8b65d 100644 --- a/TODO.md +++ b/TODO.md @@ -1,76 +1,37 @@ # TODO -- [x] Fix email addresses in about.php contacts section not using EmailObfuscator for link text -- [x] Raise rate limits: SearchController 30→300, request-access 3→30, partage 5→50 -- [x] Make Libre option toggleable in Degré d'ouverture fieldset, move to top, remove temporary note -- [x] Mots-clés required (min 3) in partage form: red count < 3, accent ≥ 3 -- [x] Language checkbox-list no longer required when language_autre pill is present -- [x] Admin contenus: auto-save checkboxes via HTMX (Restrictions, Degré d'ouverture, Types de travaux), remove Enregistrer buttons -- [x] Improve recapitulatif.php (partage): bottom margin/padding, center .thanks-success -- [x] Display ALL submitted info in recapitulatif page + email recap -- [x] Add "validate your info / contact xamxam@erg.be" note on recap page -- [x] Fix CSV import: lecteur interne/externe + promoteurice ULB not imported with correct role/is_external/is_ulb flags -- [x] Add "Terminé" button to import dialog on success (closes dialog + reloads page to clear form) +## SQLite Backup & Data Integrity (docs/backup-plan.md) -- [x] Replace HTMX+PHP file upload queues with client-side JS -- [x] Fix submit button on all forms — add JS/PHP debug logging - - [x] Fix file-upload-queue.js: redirect detection broken due to opaque redirect (switched from fetch to XHR for reliable responseURL) - - [x] Add `console.log` tracing on JS submit interception - - [x] Add `error_log` entry-point logging to all 16 PHP action files - - [x] Add double-submit guard (`_xamxamActiveSubmit`) -- [x] Fix spurious HTMX console warnings from checkbox-list default hx-include -- [x] Fix duplicate language entries (accented vs non-accented variants) -- [x] Fix checkbox click in admin index navigating to recapitulatif instead of toggling - - [x] Deduplicate getPredefinedLanguages() query - - [x] Accent-tolerant getOrCreateLanguage() to prevent future duplicates - - [x] Delete orphan non-accented language rows from DB -- [x] Migrate file upload queues to FilePond - - [x] Download filepond.min.js + filepond.min.css as local assets - - [x] Create file-upload-filepond.js (init script for FilePond instances) - - [x] Rewrite fichiers-fragment.php: replace custom picker/queue DOM with FilePond targets - - [x] Rewrite fieldset-files.php: same migration (dead code but kept consistent) - - [x] Update admin/add.php, admin/edit.php, partage/index.php: swap sortable+file-upload-queue for filepond - - [x] Remove file-upload-queue.js and sortable.min.js - - [x] Clean up CSS: remove .fq-*, .tfe-file-queue styles, add filepond.css + theme overrides - - [x] Decouple format extras from main file inputs — slot-based HTMX swaps preserve FilePond instances - - [x] Fix initFilePonds → window.XamxamInitFilePonds bug - - [x] Verify backend $_FILES['queue_file'][*] data flow unchanged - - [x] Add FilePond pools for couverture + note_intention (extracted from file-field.php inner
) - - [x] Fix video/audio pools: allowMultiple: true, not single-file - - [x] Add QUEUE_CONFIG for cover (20MB single) and note_intention (100MB PDF single) -- [x] Disable dedicated video/audio upload slots — video/audio files now go through TFE FilePond input - - [x] Comment out slot-video and slot-audio in fichiers-fragment.php (keep code, render always-hidden) - - [x] Remove HTMX swap triggers from Vidéo/Audio checkboxes - - [x] Clean up slot-video/slot-audio from file-upload-filepond.js beforeSwap handler - - [x] Fix missing endif after removing elseif chain (parse error) -- [x] Fix annexe validation error + FilePond type validation + styling - - [x] Make annexe pool always visible (remove checkbox+HTMX swap, always on, optional) - - [x] Remove mandatory annexe file validation from ThesisCreateController - - [x] Add extension-based file type validation in beforeAddFile (needed because storeAsFile: true skips FilePond MIME detection) - - [x] Fix FilePond dark theme: override item/file colors, buttons, progress indicator to match site theme - - [x] Add drag-over highlight style for drop area -- [x] FilePond production hardening - - [x] Fix beforeAddFile return format: return true/false, not {status, main, sub} (FilePond API contract) - - [x] Replace manual validation with FilePond plugins: FileValidateType, FileValidateSize - - [x] Download FilePond plugin assets: file-validate-type, file-validate-size, image-preview, image-exif-orientation - - [x] Add order serialization: hidden inputs (queue_order[type]) synced from pond.getFiles() - - [x] Fix HTMX cleanup: generic destroyFilePondsIn(target) for all beforeSwap events, not just known IDs - - [x] Fix duplicate initialization: use FilePond.find(input) instead of dataset checks - - [x] Centralize validation config in QUEUE_CONFIG (acceptedFileTypes, maxFileSize per type) - - [x] Add per-extension size limits for TFE queue (PDF=100MB, video/audio=2GB, default 500MB) - - [x] Add comprehensive French labels (labelFileProcessing, labelTapToCancel, etc.) - - [x] Register plugins on all entrypoints (admin/add, admin/edit, partage/index) - - [x] Remove duplicate init scripts from fichiers-fragment.php - - [x] Server-side MIME verification already in place (finfo-based validation in ThesisFileHandler) -- [x] Fix undefined $isExternalUrl and disable PeerTube in tfe.php -- [x] Fix migration 028: drop banner_path from theses (handle dependent view) - - [x] Create ensure-db.php to init fresh DB from schema.sql when missing - - [x] Remove broken 027_drop_banner_path.sql, move 025 to applied - - [x] Move stray 021_peertube_settings.sql to applied/ - - [x] Update deploy justfile to run ensure-db.php before migrations -- [x] Fix promoteurice array repopulation in partage form - - [x] Fix old() to return raw arrays (not json_encode) for repopulation - - [x] Handle jury_promoteur[] and jury_promoteur_ulb_name[] as arrays in partage/index.php -- [x] Make Auteur(s) and Accès columns sortable alphabetically in admin list -- [x] Merge both .recap-section sections into one + add margin-bottom: var(--space-l) -- [x] Fix Fatal error: old() type error in jury-fieldset.php — switch from global old() to $oldFn callable +### Phase 1 — WAL Mode +- [x] WAL mode already active (`PRAGMA journal_mode` → `wal`) — set in Database constructor +- [ ] Verify `-wal` and `-shm` sidecar files exist after writes +- [ ] Verify nginx/PHP write access to sidecar files on server + +### Phase 2 — Audit Log +- [x] `admin_audit_log` table already exists (migration 009), `AdminLogger` already writes to it +- [x] Create the `audit_log` table for data-level audit (before/after row snapshots) +- [x] Create `Audit.php` helper class +- [x] Instrument all DELETE, UPDATE, INSERT operations on core tables (theses, tags, languages, thesis_files) +- [ ] Verify by triggering a test delete and querying `SELECT * FROM audit_log ORDER BY id DESC LIMIT 5` + +### Phase 3 — Soft Deletes +- [x] Add `deleted_at` columns to `languages`, `tags`, `theses` +- [x] Rebuild views `v_theses_full` and `v_theses_public` with `deleted_at IS NULL` filters +- [x] Update `schema.sql` for fresh installs +- [x] Replace all hard DELETEs with soft deletes (`DELETE` → `UPDATE ... SET deleted_at = ...`) +- [x] Add `deleted_at IS NULL` to all SELECT queries touching these tables +- [x] Add admin "Corbeille" view for soft-deleted theses with Restore and Hard Delete actions +- [ ] Test each htmx-driven element (language search, tag search, repertoire filters) to confirm deleted entries don't appear +- [ ] Admin: add soft-deleted tags/languages view with restore option + +### Phase 4 — Hourly Snapshots via Cronjob +- [x] Create `scripts/backup-sqlite.sh` (hot backup via `sqlite3 .backup`, gzip, retention pruning) +- [x] Test locally — backup created, restores correctly +- [x] Add `just backup-snapshot` command for local ad-hoc backups +- [ ] Deploy backup script to server (`/usr/local/bin/backup-sqlite.sh`) +- [ ] Create `/var/backups/xamxam/` directory on server +- [ ] Add cron jobs (hourly 30d + daily 90d) +- [ ] Test restore from production backup + +### Phase 5 — Remote Sync *(for later)* +- [ ] (Deferred) diff --git a/app/migrations/applied/026_audit_log.sql b/app/migrations/applied/026_audit_log.sql new file mode 100644 index 0000000..be77c0a --- /dev/null +++ b/app/migrations/applied/026_audit_log.sql @@ -0,0 +1,16 @@ +-- Migration 026: create audit_log table for data-level audit trail +-- Records before/after snapshots of every row mutation on core tables. +-- Admin actions are already logged separately via admin_audit_log. +CREATE TABLE IF NOT EXISTS audit_log ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + timestamp TEXT NOT NULL DEFAULT (datetime('now')), + actor TEXT NOT NULL, + action TEXT NOT NULL CHECK(action IN ('INSERT','UPDATE','DELETE')), + table_name TEXT NOT NULL, + record_id INTEGER, + old_data TEXT, + new_data TEXT +); + +CREATE INDEX IF NOT EXISTS idx_audit_log_table_record ON audit_log(table_name, record_id); +CREATE INDEX IF NOT EXISTS idx_audit_log_timestamp ON audit_log(timestamp); diff --git a/app/migrations/applied/027_soft_deletes.sql b/app/migrations/applied/027_soft_deletes.sql new file mode 100644 index 0000000..5ecf1ca --- /dev/null +++ b/app/migrations/applied/027_soft_deletes.sql @@ -0,0 +1,80 @@ +-- Migration 027: add soft-delete columns and update views +-- Adds deleted_at to languages, tags, theses so deletions are reversible. + +-- Add soft-delete columns (idempotent: ALTER TABLE ... ADD COLUMN fails gracefully if column exists) +ALTER TABLE languages ADD COLUMN deleted_at TEXT DEFAULT NULL; +ALTER TABLE tags ADD COLUMN deleted_at TEXT DEFAULT NULL; +ALTER TABLE theses ADD COLUMN deleted_at TEXT DEFAULT NULL; + +-- Rebuild views to filter out soft-deleted rows. + +DROP VIEW IF EXISTS v_theses_public; +DROP VIEW IF EXISTS v_theses_full; + +CREATE VIEW v_theses_full AS +SELECT + t.id, + t.identifier, + t.title, + t.subtitle, + t.year, + t.is_doctoral, + t.objet, + o.name as orientation, + ap.name as ap_program, + ft.name as finality_type, + t.synopsis, + t.context_note, + at.name as access_type, + lt.name as license_type, + t.license_id, + t.license_custom, + t.access_type_id, + t.jury_points, + t.submitted_at, + t.defense_date, + t.published_at, + t.is_published, + t.baiu_link, + t.banner_path, + t.exemplaire_baiu, + t.exemplaire_erg, + t.cc2r, + t.remarks, + t.jury_note_added, + GROUP_CONCAT(DISTINCT a.name ORDER BY a.name ASC) as authors, + GROUP_CONCAT(DISTINCT s.name) as supervisors, + GROUP_CONCAT(DISTINCT CASE WHEN ts.role = 'president' THEN s.name END) as jury_president, + GROUP_CONCAT(DISTINCT CASE WHEN ts.role = 'promoteur' AND ts.is_ulb = 0 THEN s.name END) as jury_promoteurs, + GROUP_CONCAT(DISTINCT CASE WHEN ts.role = 'promoteur' AND ts.is_ulb = 1 THEN s.name END) as jury_promoteurs_ulb, + GROUP_CONCAT(DISTINCT CASE WHEN ts.role = 'lecteur' AND ts.is_external = 0 THEN s.name END) as jury_lecteurs_internes, + GROUP_CONCAT(DISTINCT CASE WHEN ts.role = 'lecteur' AND ts.is_external = 1 THEN s.name END) as jury_lecteurs_externes, + GROUP_CONCAT(DISTINCT UPPER(SUBSTR(l.name,1,1)) || SUBSTR(l.name,2)) as languages, + GROUP_CONCAT(DISTINCT fmt.name) as formats, + GROUP_CONCAT(DISTINCT tg.name) as keywords, + -- First author's email and contact-visibility flag + (SELECT a2.email FROM authors a2 JOIN thesis_authors ta2 ON a2.id = ta2.author_id WHERE ta2.thesis_id = t.id ORDER BY ta2.author_order LIMIT 1) as contact_interne, + (SELECT a2.show_contact FROM authors a2 JOIN thesis_authors ta2 ON a2.id = ta2.author_id WHERE ta2.thesis_id = t.id ORDER BY ta2.author_order LIMIT 1) as contact_public +FROM theses t +LEFT JOIN orientations o ON t.orientation_id = o.id +LEFT JOIN ap_programs ap ON t.ap_program_id = ap.id +LEFT JOIN finality_types ft ON t.finality_id = ft.id +LEFT JOIN access_types at ON t.access_type_id = at.id +LEFT JOIN license_types lt ON t.license_id = lt.id +LEFT JOIN thesis_authors ta ON t.id = ta.thesis_id +LEFT JOIN authors a ON ta.author_id = a.id +LEFT JOIN thesis_supervisors ts ON t.id = ts.thesis_id +LEFT JOIN supervisors s ON ts.supervisor_id = s.id +LEFT JOIN thesis_languages tl ON t.id = tl.thesis_id +LEFT JOIN languages l ON tl.language_id = l.id AND l.deleted_at IS NULL +LEFT JOIN thesis_formats tf ON t.id = tf.thesis_id +LEFT JOIN format_types fmt ON tf.format_id = fmt.id +LEFT JOIN thesis_tags tt ON t.id = tt.thesis_id +LEFT JOIN tags tg ON tt.tag_id = tg.id AND tg.deleted_at IS NULL +WHERE t.deleted_at IS NULL +GROUP BY t.id; + +-- Published theses only (for public view) +CREATE VIEW v_theses_public AS +SELECT * FROM v_theses_full +WHERE is_published = 1; diff --git a/app/migrations/pending/028_drop_banner_path.sql b/app/migrations/applied/028_drop_banner_path.sql similarity index 100% rename from app/migrations/pending/028_drop_banner_path.sql rename to app/migrations/applied/028_drop_banner_path.sql diff --git a/app/public/admin/actions/corbeille.php b/app/public/admin/actions/corbeille.php new file mode 100644 index 0000000..7a29dc6 --- /dev/null +++ b/app/public/admin/actions/corbeille.php @@ -0,0 +1,60 @@ +restoreThesis($thesisId); + $logger->logPublish(true, [$thesisId]); // log restore as an admin action + App::flash('success', "TFE restauré avec succès."); + break; + + case 'hard_delete': + $thesisId = filter_var($_POST['thesis_id'] ?? '', FILTER_VALIDATE_INT); + if (!$thesisId) throw new Exception("ID invalide."); + $db->hardDeleteThesis($thesisId); + $logger->logDelete([$thesisId]); + App::flash('success', "TFE définitivement supprimé."); + break; + + case 'empty_trash': + $trashed = $db->getTrashedTheses(); + foreach ($trashed as $t) { + $db->hardDeleteThesis((int)$t['id']); + $logger->logDelete([(int)$t['id']]); + } + App::flash('success', "Corbeille vidée (" . count($trashed) . " TFE supprimés définitivement)."); + break; + + default: + throw new Exception("Action inconnue."); + } +} catch (Exception $e) { + ErrorHandler::log('corbeille', $e); + App::flash('error', ErrorHandler::userMessage($e)); +} + +$_SESSION['csrf_token'] = bin2hex(random_bytes(32)); +header('Location: /admin/index.php?tab=trash'); +exit; diff --git a/app/public/admin/actions/settings.php b/app/public/admin/actions/settings.php index d9bdd9d..ffd7dc5 100644 --- a/app/public/admin/actions/settings.php +++ b/app/public/admin/actions/settings.php @@ -22,6 +22,8 @@ $isHxRequest = (isset($_SERVER['HTTP_HX_REQUEST']) && $_SERVER['HTTP_HX_REQUEST' $section = $_POST['section'] ?? ''; if ($section === 'formulaire') { + // hx-include targets the wrapper div, so all checkboxes in the fieldset + // are submitted together — including unchecked ones (absent from POST). $allowed = [ 'access_type_libre_enabled', 'access_type_interne_enabled', diff --git a/app/public/admin/index.php b/app/public/admin/index.php index 3cdc5fa..dd776d5 100644 --- a/app/public/admin/index.php +++ b/app/public/admin/index.php @@ -398,7 +398,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['csv_file'])) { $langName = strtolower($langName); if ($langName === '') continue; // Lookup case-insensitively; insert if missing (stored lowercase). - $s = $importPdo->prepare("SELECT id FROM languages WHERE LOWER(name) = LOWER(?)"); + $s = $importPdo->prepare("SELECT id FROM languages WHERE LOWER(name) = LOWER(?) AND deleted_at IS NULL"); $s->execute([$langName]); $r = $s->fetch(); $langId = $r ? (int)$r['id'] : null; @@ -470,6 +470,9 @@ try { $years = $db->getAllYears(); $orientations = $db->getAllOrientations(); $apPrograms = $db->getAllAPPrograms(); + $trashCount = $db->countTrashedTheses(); + $tab = $_GET['tab'] ?? 'list'; + $trashedTheses = ($tab === 'trash') ? $db->getTrashedTheses() : []; } catch (Exception $e) { error_log("Error loading theses list: " . $e->getMessage()); die("Erreur lors du chargement de la liste."); @@ -478,11 +481,19 @@ try { $isHtmx = ($_SERVER['HTTP_HX_REQUEST'] ?? '') === 'true'; $isAdmin = true; $bodyClass = 'admin-body'; if ($isHtmx) { - include APP_ROOT . '/templates/admin/index-table.php'; + if ($tab === 'trash') { + include APP_ROOT . '/templates/admin/index-trash.php'; + } else { + include APP_ROOT . '/templates/admin/index-table.php'; + } } else { require_once APP_ROOT . '/templates/head.php'; include APP_ROOT . '/templates/header.php'; - include APP_ROOT . '/templates/admin/index.php'; + if ($tab === 'trash') { + include APP_ROOT . '/templates/admin/index-trash.php'; + } else { + include APP_ROOT . '/templates/admin/index.php'; + } require_once APP_ROOT . '/templates/admin/footer.php'; } diff --git a/app/src/Audit.php b/app/src/Audit.php new file mode 100644 index 0000000..6e77cd6 --- /dev/null +++ b/app/src/Audit.php @@ -0,0 +1,80 @@ +getConnection()->prepare( + 'INSERT INTO audit_log (actor, action, table_name, record_id, old_data, new_data) + VALUES (?, ?, ?, ?, ?, ?)' + ); + $stmt->execute([ + $actor, + $action, + $tableName, + $recordId, + $oldData !== null ? self::safeJsonEncode($oldData) : null, + $newData !== null ? self::safeJsonEncode($newData) : null, + ]); + } catch (\Throwable $e) { + // Audit logging is best-effort — never crash the app over it. + error_log('[Audit] write failed: ' . $e->getMessage()); + } + } + + /** + * Build the actor string from the current request context. + */ + public static function actor(): string + { + $ip = $_SERVER['REMOTE_ADDR'] ?? 'cli'; + $user = $_SESSION['admin_user'] ?? null; + return $user ? "$user@$ip" : $ip; + } + + /** + * JSON-encode data, redacting sensitive/password fields. + */ + private static function safeJsonEncode(array $data): string + { + $safe = $data; + // Redact password-like fields + foreach (['password', 'pass', 'secret', 'token', 'credential'] as $key) { + if (array_key_exists($key, $safe)) { + $safe[$key] = '[REDACTED]'; + } + } + return json_encode($safe, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PARTIAL_OUTPUT_ON_ERROR); + } +} diff --git a/app/src/Database.php b/app/src/Database.php index deba4c2..6f6bd34 100644 --- a/app/src/Database.php +++ b/app/src/Database.php @@ -64,6 +64,17 @@ class Database return $root . '/storage/xamxam.db'; } + /** + * Fetch a single row by ID from a table. Returns null if not found. + */ + private function fetchRow(string $table, int $id): ?array + { + $stmt = $this->pdo->prepare("SELECT * FROM $table WHERE id = ?"); + $stmt->execute([$id]); + $row = $stmt->fetch(); + return $row !== false ? $row : null; + } + /** * Get singleton instance (for front-backend) * @return Database @@ -154,7 +165,7 @@ class Database public function getLatestYearTheses(int $limit = 24): array { $sql = 'SELECT * FROM v_theses_public - WHERE year = (SELECT MAX(year) FROM theses WHERE is_published = 1) + WHERE year = (SELECT MAX(year) FROM theses WHERE is_published = 1 AND deleted_at IS NULL) ORDER BY RANDOM() LIMIT :limit'; $stmt = $this->pdo->prepare($sql); @@ -168,7 +179,7 @@ class Database */ public function getLatestPublishedYear(): ?int { - $stmt = $this->pdo->query('SELECT MAX(year) FROM theses WHERE is_published = 1'); + $stmt = $this->pdo->query('SELECT MAX(year) FROM theses WHERE is_published = 1 AND deleted_at IS NULL'); $val = $stmt->fetchColumn(); return $val ? (int)$val : null; } @@ -178,7 +189,7 @@ class Database */ public function countPublishedTheses() { - $sql = 'SELECT COUNT(*) as count FROM theses WHERE is_published = 1'; + $sql = 'SELECT COUNT(*) as count FROM theses WHERE is_published = 1 AND deleted_at IS NULL'; $stmt = $this->pdo->query($sql); $result = $stmt->fetch(); return $result['count']; @@ -479,7 +490,7 @@ class Database FROM theses t JOIN thesis_authors ta ON ta.thesis_id = t.id JOIN authors a ON a.id = ta.author_id - WHERE t.is_published = 1 + WHERE t.is_published = 1 AND t.deleted_at IS NULL GROUP BY t.id ORDER BY MIN(a.name) ASC' ); @@ -541,7 +552,7 @@ class Database public function getAvailableYears() { - $sql = 'SELECT DISTINCT year FROM theses WHERE is_published = 1 ORDER BY year DESC'; + $sql = 'SELECT DISTINCT year FROM theses WHERE is_published = 1 AND deleted_at IS NULL ORDER BY year DESC'; $stmt = $this->pdo->query($sql); return $stmt->fetchAll(PDO::FETCH_COLUMN); } @@ -581,7 +592,7 @@ class Database $sql = 'SELECT DISTINCT tg.id, tg.name FROM tags tg JOIN thesis_tags tt ON tg.id = tt.tag_id JOIN theses th ON tt.thesis_id = th.id - WHERE th.is_published = 1 + WHERE th.is_published = 1 AND th.deleted_at IS NULL AND tg.deleted_at IS NULL ORDER BY tg.name'; $stmt = $this->pdo->query($sql); return $stmt->fetchAll(); @@ -617,7 +628,7 @@ class Database // Build WHERE + bindings excluding one dimension (for that column's own relevance) $buildWhere = function (string $exclude) use ($filters): array { - $conditions = ['t.is_published = 1']; + $conditions = ['t.is_published = 1', 't.deleted_at IS NULL']; $bindings = []; if ($exclude !== 'years' && !empty($filters['years'])) { @@ -670,7 +681,7 @@ class Database // Years — single-valued FK: use full intersection (including own filter). // Clicking one year should fade years that have zero theses in the current result. $matchedYearsIds = array_column($exec("SELECT DISTINCT t.year $baseJoins WHERE $wAll", $bAll), 'year'); - $allYears = array_column($exec('SELECT DISTINCT year FROM theses WHERE is_published=1 ORDER BY year DESC', []), 'year'); + $allYears = array_column($exec('SELECT DISTINCT year FROM theses WHERE is_published=1 AND deleted_at IS NULL ORDER BY year DESC', []), 'year'); $yearsOut = array_map(fn ($y) => ['value' => $y, 'matched' => in_array($y, $matchedYearsIds, true)], $allYears); // AP programs — single-valued FK: use full intersection. @@ -701,7 +712,7 @@ class Database 'SELECT DISTINCT tg.name FROM tags tg JOIN thesis_tags tt ON tg.id = tt.tag_id JOIN theses th ON tt.thesis_id = th.id - WHERE th.is_published = 1 ORDER BY tg.name', + WHERE th.is_published = 1 AND th.deleted_at IS NULL AND tg.deleted_at IS NULL ORDER BY tg.name', [] ), 'name'); $kwOut = array_map(fn ($n) => ['value' => $n, 'matched' => in_array($n, $matchedKw, true)], $allKw); @@ -748,7 +759,7 @@ class Database */ public function getAllLanguages(): array { - $stmt = $this->pdo->query("SELECT id, UPPER(SUBSTR(name,1,1)) || SUBSTR(name,2) as name, created_at FROM languages ORDER BY name"); + $stmt = $this->pdo->query("SELECT id, UPPER(SUBSTR(name,1,1)) || SUBSTR(name,2) as name, created_at FROM languages WHERE deleted_at IS NULL ORDER BY name"); return $stmt->fetchAll(); } @@ -772,6 +783,7 @@ class Database CASE WHEN name GLOB '*[À-ÿ]*' THEN 0 ELSE 1 END AS is_ascii FROM languages WHERE LOWER(name) IN ('français', 'anglais', 'néerlandais', 'francais', 'neerlandais') + AND deleted_at IS NULL ORDER BY grp, is_ascii" )->fetchAll(); @@ -852,7 +864,7 @@ class Database LEFT JOIN ap_programs ap ON t.ap_program_id = ap.id LEFT JOIN thesis_authors ta ON t.id = ta.thesis_id LEFT JOIN authors a ON ta.author_id = a.id - WHERE 1=1'; + WHERE t.deleted_at IS NULL'; $params = []; @@ -900,7 +912,7 @@ class Database LEFT JOIN thesis_authors ta ON t.id = ta.thesis_id LEFT JOIN authors a ON ta.author_id = a.id LEFT JOIN access_types at ON t.access_type_id = at.id - WHERE 1=1'; + WHERE t.deleted_at IS NULL'; $params = []; @@ -957,7 +969,7 @@ class Database */ public function getAllYears(): array { - $stmt = $this->pdo->query('SELECT DISTINCT year FROM theses ORDER BY year DESC'); + $stmt = $this->pdo->query('SELECT DISTINCT year FROM theses WHERE deleted_at IS NULL ORDER BY year DESC'); return $stmt->fetchAll(PDO::FETCH_COLUMN); } @@ -976,7 +988,8 @@ class Database COUNT(*) AS total, SUM(CASE WHEN is_published = 1 THEN 1 ELSE 0 END) AS published, SUM(CASE WHEN is_published = 0 THEN 1 ELSE 0 END) AS pending - FROM theses' + FROM theses + WHERE deleted_at IS NULL' ); $row = $stmt->fetch(); return [ @@ -1157,7 +1170,7 @@ class Database return null; } - $stmt = $this->pdo->prepare('SELECT id FROM tags WHERE name = ?'); + $stmt = $this->pdo->prepare('SELECT id FROM tags WHERE name = ? AND deleted_at IS NULL'); $stmt->execute([$name]); $row = $stmt->fetch(); @@ -1167,7 +1180,12 @@ class Database $stmt = $this->pdo->prepare('INSERT INTO tags (name) VALUES (?)'); $stmt->execute([$name]); - return (int)$this->pdo->lastInsertId(); + $newId = (int)$this->pdo->lastInsertId(); + + require_once __DIR__ . '/Audit.php'; + Audit::log($this, Audit::actor(), 'INSERT', 'tags', $newId, null, ['id' => $newId, 'name' => $name]); + + return $newId; } @@ -1189,6 +1207,7 @@ class Database COUNT(DISTINCT tt.thesis_id) as thesis_count FROM tags tg LEFT JOIN thesis_tags tt ON tg.id = tt.tag_id + WHERE tg.deleted_at IS NULL GROUP BY tg.id ORDER BY thesis_count DESC, tg.name COLLATE NOCASE LIMIT 10 @@ -1199,7 +1218,7 @@ class Database COUNT(DISTINCT tt.thesis_id) as thesis_count FROM tags tg LEFT JOIN thesis_tags tt ON tg.id = tt.tag_id - WHERE tg.name LIKE ? + WHERE tg.name LIKE ? AND tg.deleted_at IS NULL GROUP BY tg.id ORDER BY tg.name = ? DESC, thesis_count DESC, tg.name COLLATE NOCASE LIMIT 10 @@ -1219,6 +1238,7 @@ class Database COUNT(DISTINCT tt.thesis_id) as thesis_count FROM tags tg LEFT JOIN thesis_tags tt ON tg.id = tt.tag_id + WHERE tg.deleted_at IS NULL GROUP BY tg.id ORDER BY tg.name COLLATE NOCASE '); @@ -1234,13 +1254,17 @@ class Database if ($newName === '') { throw new Exception('Le nom du tag ne peut pas être vide.'); } - // Check uniqueness - $stmt = $this->pdo->prepare('SELECT id FROM tags WHERE name = ? AND id != ?'); + // Check uniqueness (excluding soft-deleted rows) + $stmt = $this->pdo->prepare('SELECT id FROM tags WHERE name = ? AND id != ? AND deleted_at IS NULL'); $stmt->execute([$newName, $id]); if ($stmt->fetch()) { throw new Exception('Un tag avec ce nom existe déjà.'); } + require_once __DIR__ . '/Audit.php'; + $old = $this->fetchRow('tags', $id); $this->pdo->prepare('UPDATE tags SET name = ? WHERE id = ?')->execute([$newName, $id]); + $new = $this->fetchRow('tags', $id); + Audit::log($this, Audit::actor(), 'UPDATE', 'tags', $id, $old, $new); } /** @@ -1261,8 +1285,11 @@ class Database ')->execute([$targetId, $sourceId]); // Delete the old source rows $this->pdo->prepare('DELETE FROM thesis_tags WHERE tag_id = ?')->execute([$sourceId]); - // Delete the source tag itself - $this->pdo->prepare('DELETE FROM tags WHERE id = ?')->execute([$sourceId]); + // Soft-delete the source tag itself + require_once __DIR__ . '/Audit.php'; + $old = $this->fetchRow('tags', $sourceId); + $this->pdo->prepare("UPDATE tags SET deleted_at = datetime('now') WHERE id = ?")->execute([$sourceId]); + Audit::log($this, Audit::actor(), 'DELETE', 'tags', $sourceId, $old); $this->pdo->commit(); } catch (\Throwable $e) { $this->pdo->rollBack(); @@ -1271,11 +1298,14 @@ class Database } /** - * Delete a tag and all its thesis_tags rows (cascades via FK). + * Soft-delete a tag (sets deleted_at). */ public function deleteTag(int $id): void { - $this->pdo->prepare('DELETE FROM tags WHERE id = ?')->execute([$id]); + require_once __DIR__ . '/Audit.php'; + $old = $this->fetchRow('tags', $id); + $this->pdo->prepare("UPDATE tags SET deleted_at = datetime('now') WHERE id = ?")->execute([$id]); + Audit::log($this, Audit::actor(), 'DELETE', 'tags', $id, $old); } // ======================================================================== @@ -1296,6 +1326,7 @@ class Database COUNT(DISTINCT tl.thesis_id) as thesis_count FROM languages l LEFT JOIN thesis_languages tl ON l.id = tl.language_id + WHERE l.deleted_at IS NULL GROUP BY LOWER(l.name) ORDER BY thesis_count DESC, LOWER(MIN(l.name)) COLLATE NOCASE LIMIT 10 @@ -1307,7 +1338,7 @@ class Database COUNT(DISTINCT tl.thesis_id) as thesis_count FROM languages l LEFT JOIN thesis_languages tl ON l.id = tl.language_id - WHERE LOWER(l.name) LIKE LOWER(?) + WHERE LOWER(l.name) LIKE LOWER(?) AND l.deleted_at IS NULL GROUP BY LOWER(l.name) ORDER BY LOWER(MIN(l.name)) = LOWER(?) DESC, thesis_count DESC, LOWER(MIN(l.name)) COLLATE NOCASE LIMIT 10 @@ -1329,6 +1360,7 @@ class Database COUNT(DISTINCT tl.thesis_id) as thesis_count FROM languages l LEFT JOIN thesis_languages tl ON l.id = tl.language_id + WHERE l.deleted_at IS NULL GROUP BY LOWER(l.name) ORDER BY LOWER(MIN(l.name)) COLLATE NOCASE '); @@ -1343,6 +1375,7 @@ class Database $dupes = $this->pdo->query(' SELECT LOWER(name) as lname, MIN(id) as keep_id FROM languages + WHERE deleted_at IS NULL GROUP BY LOWER(name) HAVING COUNT(*) > 1 ')->fetchAll(); @@ -1361,9 +1394,9 @@ class Database ) ')->execute([$dup['lname'], $dup['keep_id']]); - $this->pdo->prepare(' - DELETE FROM languages WHERE LOWER(name) = ? AND id != ? - ')->execute([$dup['lname'], $dup['keep_id']]); + $this->pdo->prepare( + "UPDATE languages SET deleted_at = datetime('now') WHERE LOWER(name) = ? AND id != ?" + )->execute([$dup['lname'], $dup['keep_id']]); } } @@ -1376,16 +1409,20 @@ class Database if ($newName === '') { throw new Exception('Le nom de la langue ne peut pas être vide.'); } - $stmt = $this->pdo->prepare('SELECT id FROM languages WHERE LOWER(name) = LOWER(?) AND id != ?'); + $stmt = $this->pdo->prepare('SELECT id FROM languages WHERE LOWER(name) = LOWER(?) AND id != ? AND deleted_at IS NULL'); $stmt->execute([$newName, $id]); if ($stmt->fetch()) { throw new Exception('Une langue avec ce nom existe déjà.'); } + require_once __DIR__ . '/Audit.php'; + $old = $this->fetchRow('languages', $id); $this->pdo->prepare('UPDATE languages SET name = ? WHERE id = ?')->execute([$newName, $id]); + $new = $this->fetchRow('languages', $id); + Audit::log($this, Audit::actor(), 'UPDATE', 'languages', $id, $old, $new); } /** - * Merge sourceId into targetId: reassign all thesis_languages rows, then delete source. + * Merge sourceId into targetId: reassign all thesis_languages rows, then soft-delete source. */ public function mergeLanguage(int $sourceId, int $targetId): void { @@ -1399,7 +1436,11 @@ class Database SELECT ?, thesis_id FROM thesis_languages WHERE language_id = ? ')->execute([$targetId, $sourceId]); $this->pdo->prepare('DELETE FROM thesis_languages WHERE language_id = ?')->execute([$sourceId]); - $this->pdo->prepare('DELETE FROM languages WHERE id = ?')->execute([$sourceId]); + // Soft-delete the source language + require_once __DIR__ . '/Audit.php'; + $old = $this->fetchRow('languages', $sourceId); + $this->pdo->prepare("UPDATE languages SET deleted_at = datetime('now') WHERE id = ?")->execute([$sourceId]); + Audit::log($this, Audit::actor(), 'DELETE', 'languages', $sourceId, $old); $this->pdo->commit(); } catch (\Throwable $e) { $this->pdo->rollBack(); @@ -1408,11 +1449,14 @@ class Database } /** - * Delete a language and all its thesis_languages rows. + * Soft-delete a language (sets deleted_at). */ public function deleteLanguage(int $id): void { - $this->pdo->prepare('DELETE FROM languages WHERE id = ?')->execute([$id]); + require_once __DIR__ . '/Audit.php'; + $old = $this->fetchRow('languages', $id); + $this->pdo->prepare("UPDATE languages SET deleted_at = datetime('now') WHERE id = ?")->execute([$id]); + Audit::log($this, Audit::actor(), 'DELETE', 'languages', $id, $old); } /** @@ -1487,10 +1531,14 @@ class Database */ public function setVisibility(int $thesisId, ?int $accessTypeId): void { + require_once __DIR__ . '/Audit.php'; + $old = $this->fetchRow('theses', $thesisId); $stmt = $this->pdo->prepare( 'UPDATE theses SET access_type_id = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?' ); $stmt->execute([$accessTypeId, $thesisId]); + $new = $this->fetchRow('theses', $thesisId); + Audit::log($this, Audit::actor(), 'UPDATE', 'theses', $thesisId, $old, $new); } /** @@ -1503,11 +1551,17 @@ class Database if (empty($thesisIds)) { return; } + require_once __DIR__ . '/Audit.php'; + $actor = Audit::actor(); $placeholders = implode(',', array_fill(0, count($thesisIds), '?')); $params = array_merge([$accessTypeId], $thesisIds); $this->pdo->prepare( "UPDATE theses SET access_type_id = ?, updated_at = CURRENT_TIMESTAMP WHERE id IN ($placeholders)" )->execute($params); + foreach ($thesisIds as $id) { + $new = $this->fetchRow('theses', $id); + Audit::log($this, $actor, 'UPDATE', 'theses', $id, null, $new); + } } /** @@ -1515,9 +1569,13 @@ class Database */ public function setPublished(int $thesisId, bool $published): void { + require_once __DIR__ . '/Audit.php'; + $old = $this->fetchRow('theses', $thesisId); $this->pdo->prepare( 'UPDATE theses SET is_published = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?' )->execute([$published ? 1 : 0, $thesisId]); + $new = $this->fetchRow('theses', $thesisId); + Audit::log($this, Audit::actor(), 'UPDATE', 'theses', $thesisId, $old, $new); } /** @@ -1529,11 +1587,17 @@ class Database if (empty($thesisIds)) { return; } + require_once __DIR__ . '/Audit.php'; + $actor = Audit::actor(); $placeholders = implode(',', array_fill(0, count($thesisIds), '?')); $params = array_merge([$published ? 1 : 0], $thesisIds); $this->pdo->prepare( "UPDATE theses SET is_published = ?, updated_at = CURRENT_TIMESTAMP WHERE id IN ($placeholders)" )->execute($params); + foreach ($thesisIds as $id) { + $new = $this->fetchRow('theses', $id); + Audit::log($this, $actor, 'UPDATE', 'theses', $id, null, $new); + } } /** @@ -1721,8 +1785,8 @@ class Database throw new \InvalidArgumentException('Language name must not be empty.'); } - // 1. Exact lowercase match - $stmt = $this->pdo->prepare('SELECT id FROM languages WHERE LOWER(name) = LOWER(?) LIMIT 1'); + // 1. Exact lowercase match (skip soft-deleted rows) + $stmt = $this->pdo->prepare('SELECT id FROM languages WHERE LOWER(name) = LOWER(?) AND deleted_at IS NULL LIMIT 1'); $stmt->execute([$name]); $id = $stmt->fetchColumn(); if ($id !== false) { @@ -1733,7 +1797,7 @@ class Database // iconv 'ASCII//TRANSLIT' turns é→e, ç→c, etc. $asciiName = @iconv('UTF-8', 'ASCII//TRANSLIT', $name); if ($asciiName !== false && $asciiName !== $name) { - $all = $this->pdo->query('SELECT id, name FROM languages')->fetchAll(); + $all = $this->pdo->query('SELECT id, name FROM languages WHERE deleted_at IS NULL')->fetchAll(); foreach ($all as $row) { $rowAscii = @iconv('UTF-8', 'ASCII//TRANSLIT', strtolower($row['name'])); if ($rowAscii !== false && $rowAscii === $asciiName) { @@ -1743,7 +1807,12 @@ class Database } $this->pdo->prepare('INSERT INTO languages (name) VALUES (?)')->execute([$name]); - return (int)$this->pdo->lastInsertId(); + $newId = (int)$this->pdo->lastInsertId(); + + require_once __DIR__ . '/Audit.php'; + Audit::log($this, Audit::actor(), 'INSERT', 'languages', $newId, null, ['id' => $newId, 'name' => $name]); + + return $newId; } /** @@ -1955,6 +2024,11 @@ class Database */ public function updateThesis(int $thesisId, array $data): void { + require_once __DIR__ . '/Audit.php'; + Audit::log($this, Audit::actor(), 'UPDATE', 'theses', $thesisId, + $this->fetchRow('theses', $thesisId) + ); + $stmt = $this->pdo->prepare(' UPDATE theses SET title = ?, @@ -2082,29 +2156,28 @@ class Database !empty($data['cc2r']) ? 1 : 0, ]); - return (int)$this->pdo->lastInsertId(); + $newId = (int)$this->pdo->lastInsertId(); + + require_once __DIR__ . '/Audit.php'; + $new = $this->fetchRow('theses', $newId); + Audit::log($this, Audit::actor(), 'INSERT', 'theses', $newId, null, $new); + + return $newId; } /** - * Delete a single thesis and all its related data (cascade via FK). - * Removes thesis files from disk (covers are stored in thesis_files and handled here). + * Soft-delete a single thesis (sets deleted_at). */ public function deleteThesis(int $thesisId): void { - // Clean up thesis files from disk - $files = $this->getThesisFiles($thesisId); - foreach ($files as $file) { - if (!empty($file['file_path']) && file_exists($file['file_path'])) { - @unlink($file['file_path']); - } - } - - // DB cascade handles junction tables - $this->pdo->prepare('DELETE FROM theses WHERE id = ?')->execute([$thesisId]); + require_once __DIR__ . '/Audit.php'; + $old = $this->fetchRow('theses', $thesisId); + $this->pdo->prepare("UPDATE theses SET deleted_at = datetime('now') WHERE id = ?")->execute([$thesisId]); + Audit::log($this, Audit::actor(), 'DELETE', 'theses', $thesisId, $old); } /** - * Delete multiple theses at once. + * Soft-delete multiple theses at once. * @param int[] $thesisIds */ public function bulkDeleteTheses(array $thesisIds): void @@ -2113,18 +2186,98 @@ class Database return; } - // Clean up files for each thesis + require_once __DIR__ . '/Audit.php'; + $actor = Audit::actor(); + foreach ($thesisIds as $id) { - $files = $this->getThesisFiles($id); - foreach ($files as $file) { - if (!empty($file['file_path']) && file_exists($file['file_path'])) { - @unlink($file['file_path']); - } + $old = $this->fetchRow('theses', $id); + $this->pdo->prepare("UPDATE theses SET deleted_at = datetime('now') WHERE id = ?")->execute([$id]); + Audit::log($this, $actor, 'DELETE', 'theses', $id, $old); + } + } + + /** + * Get trashed (soft-deleted) theses for the admin corbeille view. + */ + public function getTrashedTheses(): array + { + $stmt = $this->pdo->query(' + SELECT t.id, t.identifier, t.title, t.subtitle, t.year, + GROUP_CONCAT(DISTINCT a.name ORDER BY a.name ASC) as authors, + t.deleted_at + FROM theses t + LEFT JOIN thesis_authors ta ON t.id = ta.thesis_id + LEFT JOIN authors a ON ta.author_id = a.id + WHERE t.deleted_at IS NOT NULL + GROUP BY t.id + ORDER BY t.deleted_at DESC + '); + return $stmt->fetchAll(); + } + + /** + * Count trashed (soft-deleted) theses. + */ + public function countTrashedTheses(): int + { + return (int)$this->pdo->query( + 'SELECT COUNT(*) FROM theses WHERE deleted_at IS NOT NULL' + )->fetchColumn(); + } + + /** + * Restore a soft-deleted thesis. + */ + public function restoreThesis(int $thesisId): void + { + require_once __DIR__ . '/Audit.php'; + Audit::log($this, Audit::actor(), 'UPDATE', 'theses', $thesisId, + $this->fetchRow('theses', $thesisId) + ); + $this->pdo->prepare('UPDATE theses SET deleted_at = NULL WHERE id = ?')->execute([$thesisId]); + $new = $this->fetchRow('theses', $thesisId); + Audit::log($this, Audit::actor(), 'UPDATE', 'theses', $thesisId, null, $new); + } + + /** + * Permanently delete a thesis (hard delete — files too). + * Only called from the corbeille for truly irreversible cleanup. + */ + public function hardDeleteThesis(int $thesisId): void + { + require_once __DIR__ . '/Audit.php'; + $old = $this->fetchRow('theses', $thesisId); + + // Clean up thesis files from disk + $files = $this->getThesisFiles($thesisId); + foreach ($files as $file) { + if (!empty($file['file_path']) && file_exists($file['file_path'])) { + @unlink($file['file_path']); } } - $placeholders = implode(',', array_fill(0, count($thesisIds), '?')); - $this->pdo->prepare("DELETE FROM theses WHERE id IN ($placeholders)")->execute($thesisIds); + $this->pdo->prepare('DELETE FROM theses WHERE id = ?')->execute([$thesisId]); + Audit::log($this, Audit::actor(), 'DELETE', 'theses', $thesisId, $old); + } + + /** + * Restore a soft-deleted tag. + */ + public function restoreTag(int $id): void + { + require_once __DIR__ . '/Audit.php'; + Audit::log($this, Audit::actor(), 'UPDATE', 'tags', $id, $this->fetchRow('tags', $id)); + $this->pdo->prepare('UPDATE tags SET deleted_at = NULL WHERE id = ?')->execute([$id]); + } + + /** + * Restore a soft-deleted language. + */ + public function restoreLanguage(int $id): void + { + require_once __DIR__ . '/Audit.php'; + Audit::log($this, Audit::actor(), 'UPDATE', 'languages', $id, $this->fetchRow('languages', $id)); + $this->pdo->prepare('UPDATE languages SET deleted_at = NULL WHERE id = ?')->execute([$id]); } /** @@ -2202,7 +2355,7 @@ class Database public function deleteThesisFile(int $fileId, int $thesisId): ?string { $stmt = $this->pdo->prepare( - 'SELECT file_path FROM thesis_files WHERE id = ? AND thesis_id = ? LIMIT 1' + 'SELECT * FROM thesis_files WHERE id = ? AND thesis_id = ? LIMIT 1' ); $stmt->execute([$fileId, $thesisId]); $row = $stmt->fetch(); @@ -2210,6 +2363,10 @@ class Database return null; } $this->pdo->prepare('DELETE FROM thesis_files WHERE id = ?')->execute([$fileId]); + + require_once __DIR__ . '/Audit.php'; + Audit::log($this, Audit::actor(), 'DELETE', 'thesis_files', $fileId, $row); + return $row['file_path']; } diff --git a/app/storage/backups/db-2026-05-11T01-03-26.db.gz b/app/storage/backups/db-2026-05-11T01-03-26.db.gz new file mode 100644 index 0000000000000000000000000000000000000000..c846d23c5057cb71713ac6a33b5b5b83640da28e GIT binary patch literal 178995 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

vwlWbH6FnsH*qY=%3Q|y~J>|vR5 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
0Fz>)2D>^)_wbqq_uzxbRnS!Oic|&AKXQ&un zRQoF;`jTY%kh@@S~mm-%*LRt4sm@O}gTK-4<{8z>d-C z=-!@SEkpW^OdZ2j2>}4M4Pouo)n_b~`Bs}}zzj?845V(;qOR4fkwU%J`UZxrHZ<9b zr-r|yE15G+r^ly7#MtlWcZu|fpf67!c~_G6uVTBynB`Nwp6`XAhzym`#-VQly9EM{ zi<#K2MxX?~LI$Qfj&NceLU(TsenHnTeGB}+oB)98P88licYtM2?QpfcyPcElIgf>GN*gGF`^r9SB zK?yoYZ-n|7z9lq$h8){L*V94r=91Mj-BY#|nZa<0nnYgdZ;qxS)g#-u*^heIG1!@2 zWGxLUG{rXDTwv35j2u^!+)!^!TbWF`II=#kfi*!N<%|24EEICFA7#`~5BZf*1>sEV zieKJHx$6oUVcsJfV@2$QT>ZF{e0@hp*Q|UqBZwNqBZ`3segh`2Ju(0Pt1Sh z{2#ggN8109An|Unk8sgUyw4ZWj}?S9c0><23GNR3#UQks7nx4z(AGSW&LMk9HqL{2 zk8}(lbp;ym2429}2ZZXkS8Kbp2TQgQ{lNAJpE8d~Mb_8#wrFWe=7x2;SJZ3 zD$=0PXTS&Sq;6V5k>7$p=mF~yIYl8ezQAYj$7^y*LP>ztj1~L{hrcE_+EQHy@zYya z3F6+*Fv$t{GG58Fiz6Z)v`(D=?`2x%6StkaT6I%C zaXl%=;YuvH0>W~Qed2Nt9c$JhM~sr-CvIjm`G4t7mKEdR%s2^rZn(Rr&zOhM`O~r3 zopL}tVvay0C)~RN=U~I#d}al7hn(1c>JFI^8v4`F8Vb;%ZXm*zPF%K)@RGV!c+`n2 zz2Dx1QlwkFz+d0H-PAQuEf>cY_VQ1Cvf-CEbW&MVc{G%YRebX^7>fAr=r)O-w`4!$ zS8J7swtn-F_-QniPW81##c7IWKKfqNmHN&T-bBJ*o8#)Eck??SU!LUp1M<@9)Q9Z~ z`D)?MZq@NIgf5%C5)0h4dlVA{l=Wye{V|}m>sCU8R>eGo6ZFgNf<6*1-h%X%s~*AM zh)$CEe#&i2#;Y16d@JQrXx{P(`AM)b07?*>VIDXJor3gXDqO(daMUys`jqUDj~!H- zg7niWXM*&1E8{c=yvWA)%1eLZE9637;w$LQ{FO~3#;X!Syb{l-LhjYGsNM2;v=Mvd zvq-}ZstPDiNossb^?V8#KO-FQjY6*=Lciio!tuCetDkqOQUUMb)rkKIg5|%#Fvh>Z zC>rL4r93Gk@t)EN#=XJJPx^p!{Yy3y31Qx@H)FJrn}C4)48>`}o8W$ZFg z$|sIb))1e1nFSGT^go;*d?p_y^lP3L4`Tkn@&}ZsTvDF?lyk-t_ko6}V`hm-|9Fx- zs}#q&)i~2Us~CgcDj9R$Dix7sGPa6i2rv*ZXGW}t~nZ8jW&I!Vk z@`m;mPYVZ$rbR-7Gs9sZ&y$sZB%Yn1YnTpFmTrH0LK+mYNLyp2-2SAMm6kLgJ0!~- z?_wSAwx?hs`y1SB%*NhQ{54t|m5+a}eamI4Jw42_V!H>hEXWkcE{Gm)jH@N85Pwe7 znb$PP*|OkoCab^b@@dSixIF6$%(Ip98hQ`w?u{0^k*94&<@GIf1h{$BAJ^+4ke&3m zoMbUN+hNwV4a~ZFo64nkpZb_h{qa%shEqZql3bN5K0#;fm`O|0e4HHRTon zG#3fYiOcE#mOB%}1@H~bd9OYxuPuG_d9NNFR4YtKrY4$jEV)TLQ&lLRiKm$yRR4zH z`a5F2%B#KNQx>29n9%y3*7z`U#$BU=Im_NFAz9Va{TTvfyDMNb`?XqL{@Xgq#gw4Aj3R-sFs%gy4ZY%Oi=dI4BIr~p;=RbDu5J*JrWn^Z?` zAjzM5CApifo3ESQ&E#q3EcP&H%EZONMd7L4$i&6O#q6o-tmxc#tS`lKuXb2G%o8a< z&Q6vm%bV2BaX&R&6N!UTg);Rk`j=l3nUlP+dJ&OQJ|{U7r;}rmKXK;#k-@M)L?707 z-K)#}-WWmL-mh=5kF?k4`>CVU*P_>M4|YHIkCdOvBd@O!uklBaBYz_)4z;hM*TWmy zj2XuASo9usAD8=z1-`!H1ujZ&zCL2}E4^#;s?IJtI{T(ykh3bSB`m9EUJj1$7SwUB zTgIDGq*9OOHQeglE3`6$0QjQG$e-8?q@urV(lb&cBm6=wL5lpvRO^tjK2eI9@grk0 zSP=wt>-22ZM~ORsEntfFiLzoZFd)S)M$9oRNZKx`UmF)ION2;ey3+c+mb5OG69_Y-q_6_IB`w*hff2QWu7rNqW}=XUn?aWTA5YAp|A;zK7kaTjEerLOmh->o zFaA5#?&zBHY?iW1>eOIfOOR~gtrZp?XAHXmD2t+H7)6KjwRIg@i_NUjiJN8Z2!H5W zP}DM08x>iboHq=LPK5=z(99aN`EuI5S++*tzexl?@yXzbdFB?s|EPD?U6aQDo82_H&eHF;l{eVq_i3qTP&AlFew1^PewNAN$i#ya?3~CL$>URTTPTmtE9J z)PN+4=p9B0zK8)?4Ed9x2&#wy3EAeLZd1*?D-hr!3bJ4k;VPPMt$}ro-Pq40HS#AO z85lv(|GLb)E67TRtWq}wAR>xE{0_7L9`O}q$y6j@qmh*=7O^YQjI@xCL?`%!U&JnY zOUzBMz!Pyw;-#ZwrY;?^yQq$pO58ZXMAiR?1L-Y7UxF2J?8-_MTvjJ)T;z$mhm^OXZ(LlXIZ;Cd4-T4uD_XOo_ps)Ec{s%NfhZuQ!Qmgx#Z&KG4#UPS8W!Tf118ie(l z4fJtE`f+6>NtWEbpiMVzO~ z%BiZ9A1?Ci_vgIK+TK}-A0*>GDywRAf zI}Amd^XZm!!v?Ti_RUF+?pSBe**j{jMJFCA-rj|#Nee!|+39`SFVq_4U2E&-#xy-@ zFS*+E=WF3;p1NaAp@}x<*3@%N4aWy8=h+h(t|!QGh46hDs}J>oWV2)L8%ww9H@wS5 zva0?4?B?zz?)9X6NU^mk$TXE^ABvsB*N0oAssqQent%pY+9zdG^y6#XG%QUk#7|AT z3`&~EsPzl_m9m~ybqYP#GoHp4J9VYBjK8K^dYMKNOF;u^$!(0RiiT&=Y1L6d8OFf& z{719DS;(AMjIy~`*^aU`xnu`|3MeI_-b<;wytP`gn|Jz_-p`q6bh!-v#q7Uzj(o1Z zVJ|Envwe@ZW^Grms7{vY(AI5Ow=RtYlquFa#4cY4onc&8FL4F-baY4Vyon;*}wzxj-D<1gV-^&{DY(M=^2Sm^6CYNw^Axu`Zf;jf{c zJbAOmIios(EMmT|P`|n-qL>k3aZtY7t3a2fNf)#qbLLr%l_d-UyMsK2rrwOxU#4~- zBeb3xtFKLNjU>gh2=^jz?akQlimfT7`^k)qPXu+()|yll>La!;(m7Y|5CX0eaz4#* z*!0zNo~hPVA=Kz%pWzU?Qim*;9NOwV~XuTwq-)Diw!Zdfhb@6DCz z9tFEl3(TZ#|7i9r_^E}o(ONS8QSdMty!h6u)%#ip=e8};@wXCDY$;CiWDs4WT1FjT zq37xXi;SLaIR9aLbJhf{nvdeMfe+JEspnH4l}WGH;!JT)P0&kziN)K|f^D74&8cZ# zqJD-4T~3B}$bZe@(})WYX(gZ?M{E77v}r-(CONB>c!h1TMAJDFc#>K_+x!cx1ZXRG zCv9Y5dh#|AW4-LFq=Y;)I@LB#xBElUU$+&>7KuHC|M6HkjCx)SnWcpOJ+xu1p|ju^ z!Z|U4{Lot~hej9FDK-frt?98n49rNV(EN%L!epiCM^9Io7_9kp{npr&K}9#!(8op5 z=#{5#)eJmiWiy7IBVJ|s2-xb?MRmk7*@7O-I+bCgeQUNqm9}&TSf_y4;K!m(c0LBG z<_NAzb!ydb6qIL{i|D3Q@6K>|`^9O8vpo4<`9f#lnzdM}efHFa@R??2O)!T{%Py)k zg#!^0;Xp%xz>KT!=<(?#-&D%0t&#rHy2>Nmch;(1J8`j0Df2#cI==!l7R+I`HsvN1mEF-TI1K3u1hQE zI7b4Vq7ZgRx17t+yFB|OhELladJMGLkXYeKQfkvqW9-9hL&W>InjRxFSJVElG3APK zbmR$(a;K$r37*SVL+V)Dr+>T38s}c`(YH6GW^&HTD73AjJf#mrlpifL8CL&9CPc;1PHO< z0FWd@bza(qFlvH!P^TlunQ-2##NfaO#rZP(wwkWv6CQ_gTkaHI7}L79gYf{c^#Z?+^8<24mxT5mI$$h^Yv(A z_|k+a0$12qIuOTJOq96k2#$~Og=PLQWq0nDjY}h=WQoL$iH79u4NIUc&5*t3r~dkyf1EMK>d~L1z)I82o zYkF@D-g2XG2ug56>3YYv6E?>w^W|8%20Mw!!ZqDV=Z18VL+Aj6I70qvw~fgHX({tQ zI&K593EEG*RlrV%<-9AhDlEBCYD+D!^F8&sMH#s6XgERugQX~NxzH~Q5q8uEBe8e~Tm&Zrm z&z-fhk9Ri@ek>o3H{na+I$DE^N#=SGV6NC820uz4XGTIH8Xx1$?D#S`72+2*>Mp8Lh3;(E4WnQE(A<%hsHgJUw$!!T43*OGREeW+aqF^kN5(`w+YQ`;Ap+?2gVlq?% z&4mTTAGLL&#)Q6MqLjF6O1#vfofxZ7pJw>Ch_2`+sq4mfbz7JUMMf8Lck1C&^kH%X zFXXRYEdRaB!X=8~MXU(27->;W>naBrNtxy_8*0;z*l}kx-$8H|%0DYVYhyu~of57i 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ⅈ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

1E6Kh)H@` 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 X{X#9X&bsf>3!0(_umi~j3+aCW{t{+1 literal 0 HcmV?d00001 diff --git a/app/storage/schema.sql b/app/storage/schema.sql index 7b524ce..2a0cd4a 100644 --- a/app/storage/schema.sql +++ b/app/storage/schema.sql @@ -84,7 +84,8 @@ INSERT OR IGNORE INTO finality_types (name) VALUES CREATE TABLE IF NOT EXISTS languages ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE, - created_at DATETIME DEFAULT CURRENT_TIMESTAMP + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + deleted_at TEXT DEFAULT NULL ); INSERT OR IGNORE INTO languages (name) VALUES @@ -112,7 +113,8 @@ INSERT OR IGNORE INTO format_types (name) VALUES CREATE TABLE IF NOT EXISTS tags ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE, - created_at DATETIME DEFAULT CURRENT_TIMESTAMP + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + deleted_at TEXT DEFAULT NULL ); CREATE INDEX IF NOT EXISTS idx_tags_name ON tags(name); @@ -200,6 +202,9 @@ CREATE TABLE IF NOT EXISTS theses ( -- CC2r acceptance (collected in student form) cc2r BOOLEAN DEFAULT 0, + -- Soft delete support + deleted_at TEXT DEFAULT NULL, + -- Timestamps created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, @@ -538,11 +543,12 @@ LEFT JOIN authors a ON ta.author_id = a.id LEFT JOIN thesis_supervisors ts ON t.id = ts.thesis_id LEFT JOIN supervisors s ON ts.supervisor_id = s.id LEFT JOIN thesis_languages tl ON t.id = tl.thesis_id -LEFT JOIN languages l ON tl.language_id = l.id +LEFT JOIN languages l ON tl.language_id = l.id AND l.deleted_at IS NULL LEFT JOIN thesis_formats tf ON t.id = tf.thesis_id LEFT JOIN format_types fmt ON tf.format_id = fmt.id LEFT JOIN thesis_tags tt ON t.id = tt.thesis_id -LEFT JOIN tags tg ON tt.tag_id = tg.id +LEFT JOIN tags tg ON tt.tag_id = tg.id AND tg.deleted_at IS NULL +WHERE t.deleted_at IS NULL GROUP BY t.id; -- Published theses only (for public view) diff --git a/app/templates/admin/acces.php b/app/templates/admin/acces.php index b1c545a..8347a8f 100644 --- a/app/templates/admin/acces.php +++ b/app/templates/admin/acces.php @@ -584,6 +584,32 @@ +%%%%%%% diff from: somsyvxz 249f7943 "Bulk bar anti-shift, tags icons, AP no-wrap, credits reorder" (rebased revision) +\\\\\\\ to: psvklxsu ec511543 "fix: exclude entire var/ from rsync --delete to preserve logs" (rebased revision) ++ $linkName = $link['name'] ?? ''; +++ $linkExpiresVal = $link['expires_at'] ? date('Y-m-d\TH:i', strtotime($link['expires_at'])) : ''; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff from: psvklxsu ec511543 "fix: exclude entire var/ from rsync --delete to preserve logs" (rebased revision) +\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ to: somsyvxz 249f7943 "Bulk bar anti-shift, tags icons, AP no-wrap, credits reorder" (rebased revision) +- $linkName = $link['name'] ?? ''; +- $linkExpiresVal = $link['expires_at'] ? date('Y-m-d\TH:i', strtotime($link['expires_at'])) : ''; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff from: somsyvxz 14a3cd10 "Bulk bar anti-shift, tags icons, AP no-wrap, credits reorder" (rebase destination) +\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ to: ouqzmwvn fafb3fc6 "feat: implement SQLite backup & data integrity plan (Phases 2-4)" (rebased revision) + $linkName = $link['name'] ?? ''; + $linkExpiresVal = $link['expires_at'] ? date('Y-m-d\TH:i', strtotime($link['expires_at'])) : ''; + $linkLockedYear = $link['locked_year'] ?? null; ++%%%%%%% diff from: somsyvxz 249f7943 "Bulk bar anti-shift, tags icons, AP no-wrap, credits reorder" (rebased revision) ++\\\\\\\ to: ouqzmwvn 97412d13 "feat: implement SQLite backup & data integrity plan (Phases 2-4)" (rebased revision) +++ $linkName = $link['name'] ?? ''; +++ $linkExpiresVal = $link['expires_at'] ? date('Y-m-d\TH:i', strtotime($link['expires_at'])) : ''; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff from: ouqzmwvn 97412d13 "feat: implement SQLite backup & data integrity plan (Phases 2-4)" (rebased revision) +\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ to: somsyvxz 249f7943 "Bulk bar anti-shift, tags icons, AP no-wrap, credits reorder" (rebased revision) +- $linkName = $link['name'] ?? ''; +- $linkExpiresVal = $link['expires_at'] ? date('Y-m-d\TH:i', strtotime($link['expires_at'])) : ''; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff from: somsyvxz 14a3cd10 "Bulk bar anti-shift, tags icons, AP no-wrap, credits reorder" (rebase destination) +\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ to: wstuyzym f5810c41 "feat: implement SQLite backup & data integrity plan (Phases 2-4)" (rebased revision) + $linkName = $link['name'] ?? ''; + $linkExpiresVal = $link['expires_at'] ? date('Y-m-d\TH:i', strtotime($link['expires_at'])) : ''; + $linkLockedYear = $link['locked_year'] ?? null; ++%%%%%%% diff from: somsyvxz 249f7943 "Bulk bar anti-shift, tags icons, AP no-wrap, credits reorder" (rebased revision) ++\\\\\\\ to: wstuyzym 5886355c "feat: implement SQLite backup & data integrity plan (Phases 2-4)" (rebased revision) +++ $linkName = $link['name'] ?? ''; ++ $linkExpiresVal = $link['expires_at'] ? date('Y-m-d\TH:i', strtotime($link['expires_at'])) : ''; ?> diff --git a/app/templates/admin/contenus.php b/app/templates/admin/contenus.php index 739558b..85f0cf3 100644 --- a/app/templates/admin/contenus.php +++ b/app/templates/admin/contenus.php @@ -88,16 +88,17 @@

Restrictions d'accès aux fichiers -
- +
+