File manager - Edit - /home/pack/api/beacon_event.php
Back
<?php require_once "../config.php"; require_once "../lib/line.php"; if ($_SERVER['REQUEST_METHOD'] !== 'POST') { http_response_code(405); exit; } /* =============================== INPUT ================================ */ $user_id = intval($_POST['user_id'] ?? 0); $uuid = $_POST['uuid'] ?? ''; $major = intval($_POST['major'] ?? 0); $minor = intval($_POST['minor'] ?? 0); if (!$user_id || !$uuid) exit; /* =============================== FIND BEACON ================================ */ $stmt = $conn->prepare(" SELECT * FROM beacons WHERE uuid=? AND major=? AND minor=? AND user_id=? "); $stmt->bind_param("siii", $uuid,$major,$minor,$user_id); $stmt->execute(); $beacon = $stmt->get_result()->fetch_assoc(); $stmt->close(); if (!$beacon) exit; /* =============================== ONCE PER DAY CHECK ================================ */ if ($beacon['notify_type'] === 'ONCE_PER_DAY') { $chk = $conn->prepare(" SELECT id FROM logs WHERE beacon_id=? AND DATE(created_at)=CURDATE() "); $chk->bind_param("i", $beacon['id']); $chk->execute(); if ($chk->get_result()->num_rows > 0) exit; $chk->close(); } /* =============================== TODAY → ENUM ================================ */ $map = [ 'Mon'=>'monday','Tue'=>'tuesday','Wed'=>'wednesday', 'Thu'=>'thursday','Fri'=>'friday', 'Sat'=>'saturday','Sun'=>'sunday' ]; $today = $map[date('D')]; /* =============================== GET PENDING ITEMS ================================ */ $sql = " SELECT i.id,i.item_name FROM items i LEFT JOIN item_status s ON i.id=s.item_id AND s.date=CURDATE() WHERE i.user_id=? AND i.day=? AND (s.status IS NULL OR s.status='pending') "; $stmt = $conn->prepare($sql); $stmt->bind_param("is", $user_id,$today); $stmt->execute(); $res = $stmt->get_result(); if ($res->num_rows === 0) exit; /* =============================== BUILD MESSAGE ================================ */ $thaiDay = [ 'monday'=>'จันทร์','tuesday'=>'อังคาร','wednesday'=>'พุธ', 'thursday'=>'พฤหัสบดี','friday'=>'ศุกร์', 'saturday'=>'เสาร์','sunday'=>'อาทิตย์' ]; $msg = "🎒 เตรียมของวัน{$thaiDay[$today]}\n"; while ($row = $res->fetch_assoc()) { $msg .= "☐ {$row['item_name']}\n"; } /* =============================== SEND LINE ================================ */ $userLineId = "Uxxxxxxxxxxxxxxxx"; // ⚠️ map user_id → line_user_id line_push($userLineId, $msg); /* =============================== LOG ================================ */ $log = $conn->prepare(" INSERT INTO logs(user_id,beacon_id,message) VALUES (?,?,?) "); $log->bind_param("iis", $user_id,$beacon['id'],$msg); $log->execute(); $log->close(); echo json_encode(["status"=>"ok"]);
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.83 |
proxy
|
phpinfo
|
Settings