File manager - Edit - /home/webapp69.cm.in.th/u69319090040/Shop/api/admin_stores.php
Back
<?php // NEXUS Commerce - Admin Store Accounts API Manager require_once __DIR__ . '/db.php'; if (session_status() === PHP_SESSION_NONE) { session_start(); } $action = $_GET['action'] ?? 'list'; try { if ($action === 'list') { $stmt = $pdo->query(" SELECT s.*, u.name as owner_name, u.email as owner_email, u.role as owner_role, (SELECT COUNT(*) FROM products p WHERE p.store_id = s.id) as product_count, (SELECT COALESCE(SUM(p.price * p.sales_count), 0) FROM products p WHERE p.store_id = s.id) as total_sales FROM stores s JOIN users u ON s.user_id = u.id ORDER BY s.id DESC "); $stores = $stmt->fetchAll(); echo json_encode(['status' => 'success', 'data' => $stores]); exit; } if ($action === 'add' && $_SERVER['REQUEST_METHOD'] === 'POST') { $store_name = trim($_POST['store_name'] ?? ''); $owner_name = trim($_POST['owner_name'] ?? ''); $owner_email = trim($_POST['owner_email'] ?? ''); $logo_url = trim($_POST['logo_url'] ?? 'https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=150'); $trust_score = intval($_POST['trust_score'] ?? 95); $is_verified = intval($_POST['is_verified'] ?? 1); if (!$store_name || !$owner_email) { echo json_encode(['status' => 'error', 'message' => 'กรุณากรอกชื่อร้านค้าและอีเมล']); exit; } // Check if user exists $stmtUser = $pdo->prepare("SELECT id FROM users WHERE email = ?"); $stmtUser->execute([$owner_email]); $existingUser = $stmtUser->fetch(); if ($existingUser) { $user_id = $existingUser['id']; // Update role to seller $pdo->prepare("UPDATE users SET role = 'seller' WHERE id = ?")->execute([$user_id]); } else { // Create new seller user $stmtInsertUser = $pdo->prepare("INSERT INTO users (name, email, role, level, avatar_url) VALUES (?, ?, 'seller', 'Elite', ?)"); $stmtInsertUser->execute([$owner_name ?: $store_name, $owner_email, $logo_url]); $user_id = $pdo->lastInsertId(); } // Create store $stmtStore = $pdo->prepare("INSERT INTO stores (user_id, store_name, logo_url, rating, trust_score, response_rate, is_verified) VALUES (?, ?, ?, 4.9, ?, 98, ?)"); $stmtStore->execute([$user_id, $store_name, $logo_url, $trust_score, $is_verified]); echo json_encode(['status' => 'success', 'message' => 'สร้างบัญชีร้านค้าเรียบร้อยแล้ว']); exit; } if ($action === 'update' && $_SERVER['REQUEST_METHOD'] === 'POST') { $id = intval($_POST['id'] ?? 0); $store_name = trim($_POST['store_name'] ?? ''); $owner_name = trim($_POST['owner_name'] ?? ''); $owner_email = trim($_POST['owner_email'] ?? ''); $trust_score = intval($_POST['trust_score'] ?? 95); $is_verified = intval($_POST['is_verified'] ?? 1); if (!$id || !$store_name) { echo json_encode(['status' => 'error', 'message' => 'ข้อมูลไม่ถูกต้อง']); exit; } // Get store user_id $stmtS = $pdo->prepare("SELECT user_id FROM stores WHERE id = ?"); $stmtS->execute([$id]); $st = $stmtS->fetch(); if ($st) { $pdo->prepare("UPDATE stores SET store_name = ?, trust_score = ?, is_verified = ? WHERE id = ?") ->execute([$store_name, $trust_score, $is_verified, $id]); if ($owner_email || $owner_name) { $pdo->prepare("UPDATE users SET name = COALESCE(NULLIF(?, ''), name), email = COALESCE(NULLIF(?, ''), email) WHERE id = ?") ->execute([$owner_name, $owner_email, $st['user_id']]); } } echo json_encode(['status' => 'success', 'message' => 'อัปเดตข้อมูลร้านค้าเรียบร้อยแล้ว']); exit; } if ($action === 'adjust_trust' && $_SERVER['REQUEST_METHOD'] === 'POST') { $id = intval($_POST['id'] ?? 0); $delta = intval($_POST['delta'] ?? 5); $pdo->prepare("UPDATE stores SET trust_score = MIN(100, MAX(0, trust_score + ?)) WHERE id = ?")->execute([$delta, $id]); echo json_encode(['status' => 'success']); exit; } if ($action === 'toggle_verify' && $_SERVER['REQUEST_METHOD'] === 'POST') { $id = intval($_POST['id'] ?? 0); $pdo->prepare("UPDATE stores SET is_verified = CASE WHEN is_verified = 1 THEN 0 ELSE 1 END WHERE id = ?")->execute([$id]); echo json_encode(['status' => 'success']); exit; } if ($action === 'delete' && $_SERVER['REQUEST_METHOD'] === 'POST') { $id = intval($_POST['id'] ?? 0); $pdo->prepare("DELETE FROM stores WHERE id = ?")->execute([$id]); echo json_encode(['status' => 'success', 'message' => 'ลบบัญชีร้านค้าเรียบร้อยแล้ว']); exit; } echo json_encode(['status' => 'error', 'message' => 'Action not supported']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.31 |
proxy
|
phpinfo
|
Settings