prepare("INSERT INTO settings (setting_key, setting_value) VALUES (?, ?) ON DUPLICATE KEY UPDATE setting_value = VALUES(setting_value)"); $companyPhone = trim((string) ($_POST['company_phone'] ?? '')); if ($companyPhone !== '') { $companyPhone = normalize_oman_phone($companyPhone); if ($companyPhone === '') { set_flash('danger', tr('رقم هاتف الشركة يجب أن يكون عمانياً من 8 خانات.', 'Company phone must be an 8-digit Oman number.')); $referer = $_SERVER['HTTP_REFERER'] ?? '../index.php'; header('Location: ' . $referer); exit; } $_POST['company_phone'] = $companyPhone; } foreach ($keys as $key) { if (isset($_POST[$key])) { $value = is_string($_POST[$key]) ? trim($_POST[$key]) : $_POST[$key]; $stmt->execute([$key, $value]); } } // Handle logo upload $uploadDir = __DIR__ . '/../assets/images/'; if (!is_dir($uploadDir)) { mkdir($uploadDir, 0777, true); } if (isset($_FILES['company_logo']) && $_FILES['company_logo']['error'] === UPLOAD_ERR_OK) { $ext = pathinfo($_FILES['company_logo']['name'], PATHINFO_EXTENSION); $filename = 'logo_' . time() . '.' . $ext; if (move_uploaded_file($_FILES['company_logo']['tmp_name'], $uploadDir . $filename)) { $stmt->execute(['company_logo', 'assets/images/' . $filename]); } } // Handle favicon upload if (isset($_FILES['company_favicon']) && $_FILES['company_favicon']['error'] === UPLOAD_ERR_OK) { $ext = pathinfo($_FILES['company_favicon']['name'], PATHINFO_EXTENSION); $filename = 'favicon_' . time() . '.' . $ext; if (move_uploaded_file($_FILES['company_favicon']['tmp_name'], $uploadDir . $filename)) { $stmt->execute(['company_favicon', 'assets/images/' . $filename]); } } set_flash('success', tr('تم حفظ الإعدادات بنجاح.', 'Settings saved successfully.')); // Redirect back to referring page $referer = $_SERVER['HTTP_REFERER'] ?? '../index.php'; header('Location: ' . $referer); exit; }