fix: prevent blank page by auto-migrating policy columns and catching DB errors in admin profile

This commit is contained in:
Flatlogic Bot 2026-04-11 17:28:44 +00:00
parent d9856c1c15
commit e4b8647526
2 changed files with 11 additions and 1 deletions

View File

@ -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) {

View File

@ -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();