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'; ?>
Changes saved here are cached dynamically inside static memory buffers in the backend helper functions, reducing SQL database load times significantly.