ব্যবসার সারসংক্ষেপ
ক্যাশ কাউন্টার
ইউজার ম্যানেজমেন্ট ও প্যাকেজ কন্ট্রোল
নতুন ক্যাশিয়ার তৈরি করুন এবং ড্রপডাউন থেকে স্ট্যাটাস ও ডিভাইস কন্ট্রোল করুন
| নাম ও কন্টাক্ট | ইউজারনেম | রোল ও প্যাকেজ | মেয়াদ (Expire Date) | স্ট্যাটাস | অ্যাকশন (ড্রপডাউন) |
|---|
// AJAX / Form Actions Handler if (isset($_POST['action'])) { header('Content-Type: application/json'); // ১. লগইন হ্যান্ডলার (উইথ ডিভাইস লক চেক) if ($_POST['action'] === 'login') { $user = trim($_POST['username']); $pass = trim($_POST['password']); $client_device_id = trim($_POST['device_id']); $stmt = $pdo->prepare("SELECT * FROM users WHERE username = ? AND status = 'active'"); $stmt->execute([$user]); $db_user = $stmt->fetch(PDO::FETCH_ASSOC); if ($db_user && password_verify($pass, $db_user['password'])) { // প্যাকেজ এক্সপায়ার চেক (যদি থাকে) if (!empty($db_user['expire_date']) && strtotime($db_user['expire_date']) < time()) { echo json_encode(['status' => 'error', 'message' => 'আপনার সাবস্ক্রিপশন বা প্যাকেজের মেয়াদ শেষ হয়ে গেছে!']); exit; } // ডিভাইস লক চেক if (empty($db_user['device_id'])) { $update_stmt = $pdo->prepare("UPDATE users SET device_id = ? WHERE id = ?"); $update_stmt->execute([$client_device_id, $db_user['id']]); } elseif ($db_user['device_id'] !== $client_device_id) { echo json_encode(['status' => 'error', 'message' => 'অ্যাক্সেস অস্বীকৃত! এই অ্যাকাউন্টটি অন্য একটি নির্দিষ্ট ডিভাইসে রেজিস্টার করা আছে।']); exit; } $_SESSION['user_id'] = $db_user['id']; $_SESSION['user'] = $db_user['name']; $_SESSION['role'] = $db_user['role']; echo json_encode(['status' => 'success', 'role' => $db_user['role'], 'name' => $db_user['name']]); } else { echo json_encode(['status' => 'error', 'message' => 'ইউজারনেম, পাসওয়ার্ড ভুল অথবা অ্যাকাউন্ট স্থগিত/মেয়াদোত্তীর্ণ আছে!']); } exit; } // ২. নতুন ইউজার ক্রিয়েট (প্যাকেজ ও কন্টাক্ট ইনফো সহ) if ($_POST['action'] === 'create_user' && isset($_SESSION['role']) && $_SESSION['role'] === 'admin') { $name = trim($_POST['name']); $uname = trim($_POST['username']); $pass = password_hash(trim($_POST['password']), PASSWORD_DEFAULT); $phone = trim($_POST['phone']); $email = trim($_POST['email']); $package =$_POST['package']; $role =$_POST['role']; // প্যাকেজ অনুযায়ী এক্সপায়ার ডেট ক্যালকুলেশন $expire_date = null; $now = new DateTime(); switch ($package) { case '2_hour': $now->modify('+2 hours'); break; case '7_day': $now->modify('+7 days'); break; case '1_month': $now->modify('+1 month'); break; case '2_month': $now->modify('+2 months'); break; case '3_month': $now->modify('+3 months'); break; case '4_month': $now->modify('+4 months'); break; case '5_month': $now->modify('+5 months'); break; case '6_month': $now->modify('+6 months'); break; case '7_month': $now->modify('+7 months'); break; case '8_month': $now->modify('+8 months'); break; case '9_month': $now->modify('+9 months'); break; case '10_month': $now->modify('+10 months'); break; case '11_month': $now->modify('+11 months'); break; case '12_month': case '1_years': $now->modify('+1 year'); break; } $expire_date =$now->format('Y-m-d H:i:s'); try { $stmt =$pdo->prepare("INSERT INTO users (name, username, password, phone, email, package, expire_date, role, status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'active')"); $stmt->execute([$name,$uname, $pass,$phone, $email,$package, $expire_date,$role]); echo json_encode(['status' => 'success', 'message' => 'সফলভাবে নতুন ইউজার তৈরি করা হয়েছে!']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => 'এই ইউজারনেমটি ইতিমধ্যে ব্যবহার করা হয়েছে!']); } exit; } // ৩. ইউজার স্ট্যাটাস ও ডিভাইস অ্যাকশন (Dropdown Actions) if (isset($_SESSION['role']) &&$_SESSION['role'] === 'admin') { $id =$_POST['id'] ?? 0; if ($_POST['action'] === 'set_status') { $status =$_POST['status']; // active বা suspended $stmt =$pdo->prepare("UPDATE users SET status = ? WHERE id = ?"); $stmt->execute([$status,$id]); echo json_encode(['status' => 'success']); exit; } if ($_POST['action'] === 'reset_device') { $stmt =$pdo->prepare("UPDATE users SET device_id = NULL WHERE id = ?"); $stmt->execute([$id]); echo json_encode(['status' => 'success', 'message' => 'ডিভাইস সফলভাবে রিসেট করা হয়েছে!']); exit; } if ($_POST['action'] === 'delete_user') { if ($id ==$_SESSION['user_id']) { echo json_encode(['status' => 'error', 'message' => 'নিজেকে ডিলিট করতে পারবেন না!']); exit; } $stmt =$pdo->prepare("DELETE FROM users WHERE id = ?"); $stmt->execute([$id]); echo json_encode(['status' => 'success', 'message' => 'ইউজার ডিলিট করা হয়েছে!']); exit; } } } ?>
আপনার ইউজারনেম ও পাসওয়ার্ড দিয়ে প্রবেশ করুন