Changeset 834bcc3 in Klonkt for src/routes/lang.js
- Timestamp:
- 06/23/2026 06:14:27 PM (3 months ago)
- Branches:
- main
- Children:
- d774679
- Parents:
- bb42dfb
- File:
-
- 1 edited
-
src/routes/lang.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/routes/lang.js
rbb42dfb r834bcc3 1 // Taalkeuze van de bezoeker: /lang/:code zet de interface-taal in de sessie en2 // stuurt terug naar waar je vandaan kwam. (Content blijft in de taal van de auteur.)1 // Visitor language choice: /lang/:code sets the interface language in the session 2 // and redirects back to where you came from. (Content stays in the author's language.) 3 3 import express from 'express'; 4 4 import { SUPPORTED } from '../services/i18n.js'; … … 10 10 const code = SUPPORTED.includes(req.params.code) ? req.params.code : 'nl'; 11 11 if (req.session) req.session.lang = code; 12 // Ingelogd? Bewaar de keuze ook op het account zodat 'ie meereist over13 // a pparaten/sessies (niet alleen deze sessie-cookie).12 // Logged in? Also save the choice on the account so it follows the user 13 // across devices/sessions (not just this session cookie). 14 14 if (req.session && req.session.user && req.session.user.id) { 15 15 try { 16 16 db.prepare('UPDATE users SET lang = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?').run(code, req.session.user.id); 17 17 req.session.user.lang = code; 18 } catch { /* lang -kolom ontbreekt op een oude DB → sessie-only, geen breuk*/ }18 } catch { /* lang column missing on an old DB → session-only, no breakage */ } 19 19 } 20 // Veilige terug-URL: alleen een intern pad (geenopen redirect).20 // Safe back URL: internal path only (no open redirect). 21 21 let back = (typeof req.query.r === 'string') ? req.query.r : ''; 22 22 if (!back.startsWith('/') || back.startsWith('//')) {
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)