query("SELECT * FROM theme_settings WHERE id = 1"); $settings = $stmt->fetch(PDO::FETCH_ASSOC); if (!$settings) { $pdo->query("INSERT INTO theme_settings (id, primary_color, site_title) VALUES (1, '#16a34a', 'SejiStore')"); $settings = []; } // --- 4. HANDLE SAVE --- $msg = ""; $msg_type = ""; if (isset($_POST['save_settings'])) { // Inputs (Added '??' to fix "Undefined array key" & "Deprecated trim" errors) $site_title = trim($_POST['site_title'] ?? ''); $primary_color = $_POST['primary_color'] ?? '#16a34a'; $meta_title = trim($_POST['meta_title'] ?? ''); $meta_desc = trim($_POST['meta_description'] ?? ''); $meta_keys = trim($_POST['meta_keywords'] ?? ''); $rzp_key = trim($_POST['razorpay_key'] ?? ''); $rzp_secret = trim($_POST['razorpay_secret'] ?? ''); $hero_title = trim($_POST['hero_title'] ?? ''); $hero_subtitle = trim($_POST['hero_subtitle'] ?? ''); $footer_text = trim($_POST['footer_text'] ?? ''); // Contact Info $contact_email = trim($_POST['contact_email'] ?? ''); $whatsapp = trim($_POST['whatsapp_number'] ?? ''); $contact_address = trim($_POST['contact_address'] ?? ''); // Error Fixed Here $map_iframe = trim($_POST['map_iframe'] ?? ''); // Error Fixed Here $founder_name = trim($_POST['founder_name'] ?? ''); $upload_dir = "../uploads/settings/"; if (!is_dir($upload_dir)) { @mkdir($upload_dir, 0777, true); } // File Uploads $logo_path = $settings['logo'] ?? ''; if (!empty($_FILES['logo']['name'])) { $l_name = "logo_" . time() . ".png"; if (move_uploaded_file($_FILES['logo']['tmp_name'], $upload_dir . $l_name)) { $logo_path = "uploads/settings/" . $l_name; } } $favicon_path = $settings['favicon'] ?? ''; if (!empty($_FILES['favicon']['name'])) { $fav_name = "fav_" . time() . ".ico"; if (move_uploaded_file($_FILES['favicon']['tmp_name'], $upload_dir . $fav_name)) { $favicon_path = "uploads/settings/" . $fav_name; } } $founder_path = $settings['founder_image'] ?? ''; if (!empty($_FILES['founder_image']['name'])) { $f_name = "founder_" . time() . "_" . basename($_FILES['founder_image']['name']); if (move_uploaded_file($_FILES['founder_image']['tmp_name'], $upload_dir . $f_name)) { $founder_path = "uploads/settings/" . $f_name; } } // Update Query try { $sql = "UPDATE theme_settings SET site_title=?, primary_color=?, logo=?, favicon=?, meta_title=?, meta_description=?, meta_keywords=?, razorpay_key=?, razorpay_secret=?, hero_title=?, hero_subtitle=?, footer_text=?, contact_email=?, whatsapp_number=?, contact_address=?, map_iframe=?, founder_name=?, founder_image=? WHERE id=1"; $stmt = $pdo->prepare($sql); if ($stmt->execute([ $site_title, $primary_color, $logo_path, $favicon_path, $meta_title, $meta_desc, $meta_keys, $rzp_key, $rzp_secret, $hero_title, $hero_subtitle, $footer_text, $contact_email, $whatsapp, $contact_address, $map_iframe, $founder_name, $founder_path ])) { $msg = "Settings updated successfully!"; $msg_type = "success"; // Data Refresh $stmt = $pdo->query("SELECT * FROM theme_settings WHERE id = 1"); $settings = $stmt->fetch(PDO::FETCH_ASSOC); } else { $msg = "Update failed! Check Database."; $msg_type = "danger"; } } catch (PDOException $e) { $msg = "Database Error: " . $e->getMessage(); $msg_type = "danger"; } } ?>