prepare("INSERT INTO settings (setting_key, setting_value) VALUES (:key, :value) ON DUPLICATE KEY UPDATE setting_value = :value_update"); $stmt->execute(['key' => 'company_name', 'value' => $company_name, 'value_update' => $company_name]); $stmt->execute(['key' => 'address', 'value' => $address, 'value_update' => $address]); $stmt->execute(['key' => 'phone', 'value' => $phone, 'value_update' => $phone]); $stmt->execute(['key' => 'email', 'value' => $email, 'value_update' => $email]); $stmt->execute(['key' => 'maps_embed', 'value' => $maps_embed, 'value_update' => $maps_embed]); $stmt->execute(['key' => 'facebook', 'value' => $facebook, 'value_update' => $facebook]); $stmt->execute(['key' => 'instagram', 'value' => $instagram, 'value_update' => $instagram]); $stmt->execute(['key' => 'linkedin', 'value' => $linkedin, 'value_update' => $linkedin]); $success_msg = "Global settings configurations updated successfully."; } catch (PDOException $e) { $error_msg = "Database Error: " . $e->getMessage(); } } // Handle Admin Password Reset Submit if (isset($_POST['submit_password'])) { $new_pass = trim($_POST['new_password']); $confirm_pass = trim($_POST['confirm_password']); if (empty($new_pass) || empty($confirm_pass)) { $error_msg = "Password inputs cannot be empty."; } elseif ($new_pass !== $confirm_pass) { $error_msg = "Passwords do not match."; } elseif (strlen($new_pass) < 6) { $error_msg = "Password must be at least 6 characters long."; } else { try { $hashed = password_hash($new_pass, PASSWORD_DEFAULT); $stmt = $pdo->prepare("UPDATE users SET password_hash = :hash WHERE username = :user"); $stmt->execute([ 'hash' => $hashed, 'user' => $_SESSION['admin_username'] ]); $success_msg = "Administrator password successfully updated."; } catch (PDOException $e) { $error_msg = "Database Error: " . $e->getMessage(); } } } require_once __DIR__ . '/header.php'; require_once __DIR__ . '/navbar.php'; ?>

Site Settings

Global Properties

Social Media Handles

Change password

Site Info

Changes saved here are cached dynamically inside static memory buffers in the backend helper functions, reducing SQL database load times significantly.