# UPLOAD LIST — Seller subscription CTA + User soft delete

তারিখ: 2026-08-20

---

## 1. লাইভ সার্ভারে যে ফাইলগুলো আপলোড করতে হবে

### পরিবর্তিত ফাইল (MODIFIED — replace করুন)

| # | সার্ভারে পাথ | কী বদলেছে |
|---|---|---|
| 1 | `/seller/index.php` | সাবস্ক্রিপশন না থাকলে seller ড্যাশবোর্ডে বড় **"Subscribe now"** ব্যানার |
| 2 | `/admin/user_list.php` | User **Delete** (soft) + **Restore**, Deleted Users ভিউ, bulk delete/restore, Deleted stat card |
| 3 | `/admin/includes/sidebar.php` | User Management এর নিচে নতুন **Deleted Users** অপশন + কাউন্ট badge |
| 4 | `/admin/index.php` | Total Users / Total Sellers এ deleted অ্যাকাউন্ট আর গোনা হয় না |
| 5 | `/login.php` | Deleted অ্যাকাউন্ট দিয়ে আর লগইন করা যাবে না |
| 6 | `/neosspmigration.php` | **আপডেট হয়েছে — আবার একবার চালাতে হবে** (নতুন কলাম যোগ করে) |

---

## 2. ডাটাবেস পরিবর্তন — `neosspmigration.php` আবার চালান

`users` টেবিলে নতুন কলাম:

| কলাম | টাইপ | কাজ |
|---|---|---|
| `deleted_at` | TIMESTAMP NULL | NULL = লাইভ অ্যাকাউন্ট, NOT NULL = ডিলিট করা |
| `deleted_by` | INT NULL | কোন অ্যাডমিন ডিলিট করেছে |
| `delete_reason` | VARCHAR(255) NULL | ডিলিট করার কারণ (ঐচ্ছিক) |

নতুন ইনডেক্স: `idx_users_deleted` (`deleted_at`)

**চালানোর নিয়ম**

1. ৬টা ফাইল আপলোড করুন
2. ব্রাউজারে খুলুন: `https://wbmcz.online/neosspmigration.php`
3. সবুজ "completed successfully" দেখলে **ফাইলটা সার্ভার থেকে ডিলিট করে দিন**

> আগে একবার চালিয়ে থাকলেও সমস্যা নেই — ফাইলটা idempotent, যা আগে থেকে আছে সেটা skip করে।

---

## 3. কী কী যোগ হলো

### ক) Seller এর সাবস্ক্রিপশন

- Admin থেকে কাউকে seller বানালে তার `is_subscribed` অপরিবর্তিত থাকে — সাবস্ক্রিপশন সে নিজে কিনতে পারবে
- Seller ড্যাশবোর্ডে এখন উপরে বড় সোনালি ব্যানার: **"Your subscription is not active yet — Subscribe now"** → `subscription.php`
- সাইডবারের **My Subscription** আর ড্যাশবোর্ডের Subscription টাইল আগের মতোই আছে
- Admin চাইলে **Edit Details** মডাল বা **bulk Subscribe/Unsubscribe** দিয়েও যেকোনো user/seller এর সাবস্ক্রিপশন ON/OFF করতে পারবে

### খ) User Delete (soft delete)

- Action কলামে নতুন লাল **Delete** বাটন + optional "Reason" বক্স
- Bulk action bar-এও **Delete** বাটন
- ডিলিট করলে **কিছুই মুছে যায় না** — শুধু `deleted_at` বসে, ফলে:
  - ইউজার লিস্ট, Total Users, Total Sellers থেকে হারিয়ে যায়
  - ওই নম্বর দিয়ে আর লগইন করা যায় না
  - seller হলে `sellers.status = 0` হয়ে যায়
  - **order, wallet, commission, referral — সব history অক্ষত থাকে**
- সাইডবার → User Management → **Deleted Users** এ গেলে ডিলিট করা সব অ্যাকাউন্ট দেখা যায়, সাথে কবে ও কেন ডিলিট হয়েছে
- ওখান থেকে **Restore** (একটা করে বা bulk) করলে অ্যাকাউন্ট আগের মতো ফিরে আসে (status = 1)
- নিজের অ্যাকাউন্ট কখনো ডিলিট করা যাবে না
- প্রতিটা delete/restore ওই ইউজারের **Update History** তে লেখা হয়

> Permanent (একেবারে মুছে ফেলা) delete ইচ্ছে করেই রাখা হয়নি — চাইলে পরে Deleted Users পেজে
> double-confirm সহ যোগ করে দেওয়া যাবে।

---

## 4. আপলোডের পরে যা চেক করবেন

- [ ] `neosspmigration.php` চালিয়ে সবুজ মেসেজ পেয়েছেন, তারপর ফাইলটা ডিলিট করেছেন
- [ ] একটা customer কে Edit Details দিয়ে Seller বানিয়ে, ওই আইডিতে লগইন করে seller ড্যাশবোর্ডে "Subscribe now" ব্যানার দেখা যাচ্ছে
- [ ] ওই seller `subscription.php` থেকে ওয়ালেট/Razorpay দিয়ে সাবস্ক্রিপশন নিতে পারছে
- [ ] একটা টেস্ট ইউজার Delete করলে লিস্ট থেকে চলে যাচ্ছে
- [ ] সাইডবারে Deleted Users এ সংখ্যা দেখাচ্ছে, ভিতরে ওই ইউজার আছে
- [ ] ওই নম্বর দিয়ে লগইন করলে "অ্যাকাউন্টটি বন্ধ" মেসেজ আসছে
- [ ] Restore করলে আবার আগের মতো লিস্টে ফিরে আসছে ও লগইন করা যাচ্ছে

---

## 5. রোলব্যাক

৫টা PHP ফাইলের ব্যাকআপ রেখে দিন; ফেরত দিলেই আগের অবস্থা ফিরে আসবে।
`users` টেবিলের নতুন কলামগুলো থেকে গেলেও পুরোনো কোডের কোনো ক্ষতি হয় না।
