'error', 'message' => 'เซิร์ฟเวอร์ของคุณไม่รองรับ cURL (cURL extension is missing)']); exit; } if (!isLoggedIn() || !isAdmin()) { echo json_encode(['status' => 'error', 'message' => 'Unauthorized access']); exit; } $type = $_POST['type'] ?? ''; if ($type === 'line') { $token = $_POST['token'] ?? ''; if (empty($token)) { echo json_encode(['status' => 'error', 'message' => 'กรุณากรอก Token ก่อนทดสอบ']); exit; } $tomorrow = date('d/m/Y', strtotime('+1 day')); $message = "⚠️ แจ้งเตือนกำหนดส่งงาน ⚠️\n"; $message .= "เรียนคุณ: นักเรียนทดสอบ (Test)\n"; $message .= "งาน: ทดสอบระบบแจ้งเตือน\n"; $message .= "กำหนดส่ง: {$tomorrow}\n"; $message .= "สถานะ: เหลือเวลาอีก 1 วัน!\n"; $message .= "กรุณาตรวจสอบระบบ"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://notify-api.line.me/api/notify"); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('message' => $message))); $headers = array('Content-type: application/x-www-form-urlencoded', 'Authorization: Bearer ' . $token); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); $error_msg = curl_error($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($result === false) { echo json_encode(['status' => 'error', 'message' => 'cURL Error: ' . $error_msg]); } elseif ($httpCode == 200) { echo json_encode(['status' => 'success', 'message' => 'ส่งข้อความทดสอบ LINE สำเร็จ']); } else { $resObj = json_decode($result, true); $reason = isset($resObj['message']) ? $resObj['message'] : 'HTTP Code ' . $httpCode; echo json_encode(['status' => 'error', 'message' => 'ไม่สามารถส่งข้อความได้: ' . $reason]); } } elseif ($type === 'telegram') { $bot_token = $_POST['bot_token'] ?? ''; $chat_id = $_POST['chat_id'] ?? ''; if (empty($bot_token) || empty($chat_id)) { echo json_encode(['status' => 'error', 'message' => 'กรุณากรอก Bot Token และ Chat ID ก่อนทดสอบ']); exit; } $tomorrow = date('d/m/Y', strtotime('+1 day')); $message = "⚠️ แจ้งเตือนกำหนดส่งงาน (Test) ⚠️\n\n"; $message .= "👤 เรียนคุณ: นักเรียนทดสอบ\n"; $message .= "📝 งาน: ทดสอบระบบการแจ้งเตือน\n"; $message .= "📅 กำหนดส่ง: {$tomorrow}\n"; $message .= "⏳ สถานะ: เหลือเวลาอีก 1 วัน!\n"; $url = "https://api.telegram.org/bot{$bot_token}/sendMessage"; $data = [ 'chat_id' => $chat_id, 'text' => $message, 'parse_mode' => 'HTML' ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); $error_msg = curl_error($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($result === false) { echo json_encode(['status' => 'error', 'message' => 'cURL Error: ' . $error_msg]); } elseif ($httpCode == 200) { echo json_encode(['status' => 'success', 'message' => 'ส่งข้อความทดสอบ Telegram สำเร็จ']); } else { $resObj = json_decode($result, true); $reason = isset($resObj['description']) ? $resObj['description'] : 'HTTP Code ' . $httpCode; echo json_encode(['status' => 'error', 'message' => 'ไม่สามารถส่งข้อความได้: ' . $reason]); } } else { echo json_encode(['status' => 'error', 'message' => 'Invalid request type']); } ?>