ตั้งค่าเว็บไซต์
จัดการสิทธิ์การเพิ่มข้อมูล
เปิด/ปิดการเพิ่มข้อมูลของผู้ใช้ระดับตำบล (user_type_id = 4) ในแต่ละส่วน
'TEXT NULL', 'platform_logo' => 'VARCHAR(255) NULL', 'allow_add_resources' => 'TINYINT(1) NOT NULL DEFAULT 1', 'allow_add_activities' => 'TINYINT(1) NOT NULL DEFAULT 1', 'allow_add_knowledge' => 'TINYINT(1) NOT NULL DEFAULT 1', 'allow_add_programs' => 'TINYINT(1) NOT NULL DEFAULT 1', ] 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 = ''; // === บันทึกสิทธิ์เปิด/ปิดการเพิ่มข้อมูล (AJAX toggle) === if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['save_permissions'])) { $allow_resources = isset($_POST['allow_add_resources']) ? 1 : 0; $allow_activities = isset($_POST['allow_add_activities']) ? 1 : 0; $allow_knowledge = isset($_POST['allow_add_knowledge']) ? 1 : 0; $allow_programs = isset($_POST['allow_add_programs']) ? 1 : 0; $stmt = $pdo->prepare("UPDATE system_settings SET allow_add_resources=?, allow_add_activities=?, allow_add_knowledge=?, allow_add_programs=? WHERE id=1"); $stmt->execute([$allow_resources, $allow_activities, $allow_knowledge, $allow_programs]); $message = "บันทึกการตั้งค่าสิทธิ์เรียบร้อยแล้ว"; } // === บันทึกการตั้งค่าทั่วไป === if ($_SERVER['REQUEST_METHOD'] == 'POST' && !isset($_POST['save_permissions'])) { $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(); ?>
เปิด/ปิดการเพิ่มข้อมูลของผู้ใช้ระดับตำบล (user_type_id = 4) ในแต่ละส่วน