mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-05-06 11:09:18 +02:00
fix(partage): smtp view missing in schema + thanks redirect broken
- Add v_smtp_active VIEW to schema.sql (was only in migration 012,
causing SmtpRelay::isConfigured() to always return false on fresh installs)
- Change thanks redirect from /partage/thanks.php to /partage/thanks
(nginx 'location ~ \.php$ { deny all }' blocked the .php URL)
- Route /partage/thanks in index.php before slug validation
- Guard App::boot() in thanks.php to avoid double-boot when included
This commit is contained in:
@@ -21,6 +21,13 @@ $parts = explode('/', $path);
|
||||
$slug = $parts[0] ?? '';
|
||||
$action = $parts[1] ?? '';
|
||||
|
||||
// Special route: /partage/thanks?id=N
|
||||
if ($slug === 'thanks' || $slug === 'thanks.php') {
|
||||
App::boot();
|
||||
require_once __DIR__ . '/thanks.php';
|
||||
exit;
|
||||
}
|
||||
|
||||
// Validate slug format: YYYYMMDD-XXXXXXXX (17 chars)
|
||||
if (!preg_match('#^\d{8}-[A-Z0-9+/]{8}$#', $slug)) {
|
||||
App::boot();
|
||||
@@ -481,7 +488,7 @@ function handleShareLinkSubmission(string $slug): void
|
||||
$_SESSION['share_email_sent'] = $emailSent;
|
||||
|
||||
// Redirect to thanks page
|
||||
header('Location: /partage/thanks.php?id=' . urlencode((string)$thesisId));
|
||||
header('Location: /partage/thanks?id=' . urlencode((string)$thesisId));
|
||||
exit();
|
||||
} catch (Exception $e) {
|
||||
error_log('Share link submission error: ' . $e->getMessage());
|
||||
|
||||
@@ -3,9 +3,10 @@
|
||||
* Thanks page for share-link submissions.
|
||||
* Displays a centered confirmation with a link to create another thesis via the same link.
|
||||
*/
|
||||
require_once __DIR__ . '/../../bootstrap.php';
|
||||
|
||||
App::boot();
|
||||
if (!defined('APP_ROOT')) {
|
||||
require_once __DIR__ . '/../../bootstrap.php';
|
||||
App::boot();
|
||||
}
|
||||
|
||||
$thesisId = isset($_GET['id']) ? (int)$_GET['id'] : 0;
|
||||
|
||||
|
||||
@@ -341,6 +341,9 @@ CREATE TABLE IF NOT EXISTS smtp_settings (
|
||||
|
||||
INSERT OR IGNORE INTO smtp_settings (id) VALUES (1);
|
||||
|
||||
CREATE VIEW IF NOT EXISTS v_smtp_active AS
|
||||
SELECT * FROM smtp_settings WHERE id = 1;
|
||||
|
||||
-- ============================================================================
|
||||
-- APROPOS CONTENTS (structured data for the "À propos" page)
|
||||
-- ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user