File manager - Edit - /home/webapp69.cm.in.th/u69319090039/Shop39/app/Controllers/PublicTrackingController.php
Back
<?php /** * PublicTrackingController - Public order tracking by tracking number */ class PublicTrackingController extends Controller { public function track(string $trackingId): void { $trackingId = urldecode(trim($trackingId)); $db = Database::getInstance(); // Fetch order info (no sensitive seller data exposed) $sql = "SELECT o.id, o.order_number, o.tracking_number, o.status, o.created_at, o.shipping_address, o.total_amount, sp.shop_name, sp.slug AS shop_slug FROM orders o JOIN seller_profiles sp ON o.seller_id = sp.id WHERE o.tracking_number = :tn LIMIT 1"; $stmt = $db->prepare($sql); $stmt->execute(['tn' => $trackingId]); $order = $stmt->fetch(); if (!$order) { $this->render('orders/track_not_found', [ 'title' => 'ไม่พบข้อมูลการติดตาม', 'trackingId' => Security::e($trackingId), ]); return; } // Fetch status history $history = OrderStatusHistory::getHistory((int)$order['id']); $statusLabels = [ 'pending' => 'รอยืนยัน', 'waiting_payment' => 'รอชำระเงิน', 'paid' => 'ชำระเงินแล้ว', 'preparing' => 'กำลังจัดเตรียม', 'shipping' => 'กำลังจัดส่ง', 'delivered' => 'จัดส่งแล้ว', 'completed' => 'สำเร็จ', 'cancelled' => 'ยกเลิก', ]; $this->render('orders/track', [ 'title' => 'ติดตามพัสดุ #' . Security::e($trackingId), 'order' => $order, 'history' => $history, 'statusLabels' => $statusLabels, 'trackingId' => Security::e($trackingId), ]); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.22 |
proxy
|
phpinfo
|
Settings