From e4b864752657cd2f974eb031f8d0bb1e9b2317f3 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Sat, 11 Apr 2026 17:28:44 +0000 Subject: [PATCH] fix: prevent blank page by auto-migrating policy columns and catching DB errors in admin profile --- admin.php | 6 ++++++ admin_profile.php | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/admin.php b/admin.php index 83cf318..103a45f 100644 --- a/admin.php +++ b/admin.php @@ -5,6 +5,12 @@ require_once __DIR__ . '/includes/auth.php'; require_login(); // Auto-migrate roles if needed +try { + db()->query("SELECT terms FROM platform_profile LIMIT 1"); +} catch (Exception $e) { + try { db()->exec("ALTER TABLE `platform_profile` ADD COLUMN `terms` TEXT DEFAULT NULL, ADD COLUMN `privacy_policy` TEXT DEFAULT NULL"); } catch (Exception $e2) {} +} + try { db()->query('SELECT 1 FROM roles LIMIT 1'); } catch (Exception $e) { diff --git a/admin_profile.php b/admin_profile.php index 004f501..fc88d1b 100644 --- a/admin_profile.php +++ b/admin_profile.php @@ -43,7 +43,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['name'])) { $terms = $_POST['terms'] ?? ''; $privacy_policy = $_POST['privacy_policy'] ?? ''; - $stmt = db()->prepare("UPDATE platform_profile SET name = :name, description = :description, logo_path = :logo, favicon_path = :favicon, ctr_no = :ctr_no, telephone_no = :telephone_no, email_id = :email_id, terms = :terms, privacy_policy = :privacy_policy WHERE id = 1"); + try { + $stmt = db()->prepare("UPDATE platform_profile SET name = :name, description = :description, logo_path = :logo, favicon_path = :favicon, ctr_no = :ctr_no, telephone_no = :telephone_no, email_id = :email_id, terms = :terms, privacy_policy = :privacy_policy WHERE id = 1"); $stmt->execute([ 'name' => $name, 'description' => $description, @@ -58,6 +59,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['name'])) { header('Location: ' . app_url('admin.php', ['page' => 'profile', 'saved' => 1])); exit; + } catch (Exception $e) { + $error_message = "Error saving profile: " . $e->getMessage(); + } } $prof = get_platform_profile();