'TEXT NULL', 'platform_logo' => 'VARCHAR(255) NULL'] as $col => $def) { $col_check = $pdo->query("SHOW COLUMNS FROM system_settings LIKE '$col'")->fetch(); if (!$col_check) { $pdo->exec("ALTER TABLE system_settings ADD COLUMN `$col` $def"); } } } catch (PDOException $e) {} $message = ''; $error = ''; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $name = $_POST['platform_name']; $bg = $_POST['about_background']; $types = $_POST['about_types']; $wisdom = $_POST['about_wisdom']; $refs = $_POST['about_references']; // ดึงค่า logo ปัจจุบันก่อน — จะถูกแทนที่เฉพาะเมื่อมีการอัพโหลดใหม่ หรือกดลบ $current = $pdo->query("SELECT platform_logo FROM system_settings WHERE id=1")->fetch(); $logo_path = $current['platform_logo'] ?? ''; // ลบโลโก้ปัจจุบัน if (!empty($_POST['remove_logo']) && !empty($logo_path)) { $abs = __DIR__ . '/upload/' . basename($logo_path); if (is_file($abs)) @unlink($abs); $logo_path = ''; } // อัพโหลดโลโก้ใหม่ if (!empty($_FILES['platform_logo']['name']) && $_FILES['platform_logo']['error'] === UPLOAD_ERR_OK) { $tmp = $_FILES['platform_logo']['tmp_name']; $info = @getimagesize($tmp); $mime = $info['mime'] ?? ''; $allowed = ['image/png', 'image/jpeg', 'image/webp', 'image/svg+xml']; if (!in_array($mime, $allowed, true)) { $error = "ไฟล์ไม่ถูกต้อง — รองรับเฉพาะ PNG / JPG / WEBP / SVG"; } elseif ($_FILES['platform_logo']['size'] > 2 * 1024 * 1024) { $error = "ไฟล์ใหญ่เกิน 2 MB"; } else { $ext = ['image/png'=>'png','image/jpeg'=>'jpg','image/webp'=>'webp','image/svg+xml'=>'svg'][$mime]; $new_name = 'platform_logo_' . time() . '.' . $ext; $dest_dir = __DIR__ . '/upload'; if (!is_dir($dest_dir)) @mkdir($dest_dir, 0775, true); $dest = $dest_dir . '/' . $new_name; if (move_uploaded_file($tmp, $dest)) { // ลบไฟล์เก่าถ้ามี if (!empty($logo_path)) { $old = $dest_dir . '/' . basename($logo_path); if (is_file($old)) @unlink($old); } $logo_path = $new_name; } else { $error = "บันทึกไฟล์ไม่สำเร็จ"; } } } if (empty($error)) { $stmt = $pdo->prepare("UPDATE system_settings SET platform_name=?, platform_logo=?, about_background=?, about_types=?, about_wisdom=?, about_references=? WHERE id=1"); $stmt->execute([$name, $logo_path, $bg, $types, $wisdom, $refs]); $message = "บันทึกการตั้งค่าเรียบร้อยแล้ว"; } } $settings = $pdo->query("SELECT * FROM system_settings WHERE id=1")->fetch(); ?>