query("SELECT * FROM topbar_settings"); $settings_data = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($settings_data as $setting) { // Handle null values by converting to empty string $settings[$setting['setting_key']] = $setting['setting_value'] !== null ? htmlspecialchars_decode($setting['setting_value'], ENT_QUOTES) : ''; } } catch (PDOException $e) { $error = "डेटाबेस त्रुटि: " . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8'); logError($error); } // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'update') { if (!verifyCSRF($_POST['csrf_token'])) { $error = "अमान्य CSRF टोकन।"; logError($error); } else { try { $show_topbar = isset($_POST['show_topbar']) ? 1 : 0; $topbar_text = sanitizeInput($_POST['topbar_text'], false); $topbar_phone = sanitizeInput($_POST['topbar_phone'], false); $topbar_email = sanitizeInput($_POST['topbar_email'], false); $topbar_background_color = sanitizeInput($_POST['topbar_background_color'], false); // Validate required fields if (empty($topbar_text)) { $error = "टॉपबार टेक्स्ट आवश्यक है।"; logError($error); } elseif (!empty($topbar_email) && !filter_var($topbar_email, FILTER_VALIDATE_EMAIL)) { $error = "अमान्य ईमेल पता।"; logError($error); } elseif (!empty($topbar_background_color) && !preg_match('/^#[0-9A-Fa-f]{6}$/', $topbar_background_color)) { $error = "अमान्य बैकग्राउंड कलर। कृपया वैध HEX कोड (#RRGGBB) प्रदान करें।"; logError($error); } else { $settings = [ 'show_topbar' => $show_topbar, 'topbar_text' => $topbar_text, 'topbar_phone' => $topbar_phone, 'topbar_email' => $topbar_email, 'topbar_background_color' => $topbar_background_color ]; foreach ($settings as $key => $value) { $stmt = $db->prepare("INSERT INTO topbar_settings (setting_key, setting_value) VALUES (?, ?) ON DUPLICATE KEY UPDATE setting_value = ?, updated_at = NOW()"); $stmt->execute([$key, $value, $value]); } $success = "टॉपबार सेटिंग्स सफलतापूर्वक अपडेट की गईं।"; header("Location: topbar-settings.php?success=" . urlencode($success)); exit; } } catch (PDOException $e) { $error = "डेटाबेस त्रुटि: " . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8'); logError($error); } } } $pageTitle = "टॉपबार सेटिंग्स प्रबंधन"; include 'includes/header.php'; ?>