File manager - Edit - /home/webapp69.cm.in.th/u69319090039/Shop39/public/app/Controllers/Seller/DashboardController.php
Back
<?php class DashboardController extends Controller { public function sellerDashboard(): void { $seller = Auth::sellerProfile(); $db = Database::getInstance(); // Calculate Stats $prodStmt = $db->prepare("SELECT COUNT(*) FROM products WHERE seller_id = :sid"); $prodStmt->execute(['sid' => $seller['id']]); $totalProducts = $prodStmt->fetchColumn(); $orderStmt = $db->prepare("SELECT COUNT(*), COALESCE(SUM(total_amount), 0) FROM orders WHERE seller_id = :sid"); $orderStmt->execute(['sid' => $seller['id']]); [$totalOrders, $totalSales] = $orderStmt->fetch(PDO::FETCH_NUM); $this->render('seller/dashboard', [ 'title' => 'Seller Dashboard', 'seller' => $seller, 'totalProducts' => $totalProducts, 'totalOrders' => $totalOrders, 'totalSales' => $totalSales ], 'seller'); } public function settings(): void { $seller = Auth::sellerProfile(); $this->render('seller/settings', [ 'title' => 'จัดการข้อมูลร้านค้า', 'seller' => $seller ], 'seller'); } public function updateSettings(): void { $this->validateCsrf(); $seller = Auth::sellerProfile(); $shopName = Security::sanitizeString($_POST['shop_name'] ?? ''); $description = Security::sanitizeString($_POST['description'] ?? ''); $phone = Security::sanitizeString($_POST['phone'] ?? ''); $address = Security::sanitizeString($_POST['address'] ?? ''); $promptpay = Security::sanitizeString($_POST['promptpay_number'] ?? ''); $bankAccount = Security::sanitizeString($_POST['bank_account'] ?? ''); $latitude = isset($_POST['latitude']) && $_POST['latitude'] !== '' ? (float)$_POST['latitude'] : null; $longitude = isset($_POST['longitude']) && $_POST['longitude'] !== '' ? (float)$_POST['longitude'] : null; if (empty($shopName) || empty($phone) || empty($address)) { Session::setFlash('danger', 'กรุณากรอกชื่อร้าน เบอร์โทร และที่อยู่ให้ครบถ้วน'); $this->redirect('seller/settings'); } $updateData = [ 'shop_name' => $shopName, 'slug' => Security::slugify($shopName), 'description' => $description, 'phone' => $phone, 'address' => $address, 'latitude' => $latitude, 'longitude' => $longitude, 'promptpay_number' => $promptpay, 'bank_account' => $bankAccount ]; // Handle Logo Upload if (!empty($_FILES['logo']['name']) && $_FILES['logo']['error'] === UPLOAD_ERR_OK) { $ext = pathinfo($_FILES['logo']['name'], PATHINFO_EXTENSION); $logoName = 'logo_' . $seller['id'] . '_' . time() . '.' . strtolower($ext); $targetDir = SITE_ROOT . '/public/uploads/shops/'; if (!file_exists($targetDir)) { mkdir($targetDir, 0777, true); } if (move_uploaded_file($_FILES['logo']['tmp_name'], $targetDir . $logoName)) { $updateData['logo'] = 'uploads/shops/' . $logoName; } } // Handle Banner Upload if (!empty($_FILES['banner']['name']) && $_FILES['banner']['error'] === UPLOAD_ERR_OK) { $ext = pathinfo($_FILES['banner']['name'], PATHINFO_EXTENSION); $bannerName = 'banner_' . $seller['id'] . '_' . time() . '.' . strtolower($ext); $targetDir = SITE_ROOT . '/public/uploads/shops/'; if (!file_exists($targetDir)) { mkdir($targetDir, 0777, true); } if (move_uploaded_file($_FILES['banner']['tmp_name'], $targetDir . $bannerName)) { $updateData['banner'] = 'uploads/shops/' . $bannerName; } } $sellerModel = new SellerProfile(); $sellerModel->update($seller['id'], $updateData); Session::setFlash('success', 'อัปเดตข้อมูลร้านค้าเรียบร้อยแล้ว'); $this->redirect('seller/settings'); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.23 |
proxy
|
phpinfo
|
Settings