fix: prevent blank page by auto-migrating policy columns and catching DB errors in admin profile
This commit is contained in:
parent
d9856c1c15
commit
e4b8647526
@ -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) {
|
||||
|
||||
@ -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();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user