راهنمای نصب سامانهٔ مدیریت کارخانه پسماند (نسخهٔ PHP)
====================================================

این بسته یک نرم‌افزار کامل تحت وب با PHP است و به هیچ‌چیز دیگری
(Node.js، SSH، خط فرمان و...) نیاز ندارد. کافی است روی هر هاستی که
PHP و MySQL دارد اجرا شود — از جمله هاست‌های اشتراکی cPanel.


■ پیش‌نیازها
------------
- PHP نسخهٔ ۷٫۴ یا بالاتر (نسخهٔ ۸ هم کاملاً پشتیبانی می‌شود)
- افزونه‌های PHP: pdo_mysql (برای MySQL) و mbstring
  (روی cPanel: بخش Select PHP Version / MultiPHP Manager این‌ها را فعال کنید)
- افزونهٔ pdo_sqlite — فقط در صورتی که بخواهید نصب SQLite (تست محلی) انجام دهید
- یک دیتابیس MySQL یا MariaDB خالی (برای نصب روی هاست)
- گزینهٔ SQLite هم برای تست محلی (بدون MySQL) پشتیبانی می‌شود
- فونت «وزیرمتن» به‌صورت محلی داخل بسته است؛ برنامه به اینترنت نیاز ندارد


■ نصب روی هاست cPanel (قدم‌به‌قدم)
-----------------------------------
۱) فایل waste-mgmt-cpanel.zip را دانلود و از حالت فشرده خارج کنید.
   (نام پوشهٔ اصلی را می‌توانید به هر نام دلخواه مثل waste تغییر دهید)

۲) در cPanel وارد File Manager شوید و به پوشهٔ public_html بروید.

۳) پوشهٔ پروژه را بارگذاری (Upload) کنید — یا کل زیپ را بارگذاری و
   با گزینهٔ Extract داخل public_html از حالت فشرده خارج کنید.
   (می‌توانید داخل یک زیرپوشه مثل public_html/waste هم قرار دهید)

۴) در cPanel بخش «MySQL® Databases» این کارها را انجام دهید:
   - یک دیتابیس جدید بسازید (مثلاً waste_db)
   - یک کاربر بسازید (مثلاً waste_user) و رمز عبور تعیین کنید
   - کاربر را به دیتابیس Add کنید و گزینهٔ ALL PRIVILEGES را بدهید
   - نام دیتابیس و کاربر معمولاً با پیشوند نام کاربری cPanel شروع می‌شود
     (مثل user_waste_db) — همان را در ویزارد وارد کنید

۵) آدرس برنامه را در مرورگر باز کنید:
   اگر در ریشهٔ public_html نصب کرده‌اید:
        https://yourdomain.com/install/
   اگر در زیرپوشه (مثلاً waste) نصب کرده‌اید:
        https://yourdomain.com/waste/install/

۶) ویزارد نصب ۳ گام ساده دارد:
   گام ۱: بررسی خودکار پیش‌نیازها
   گام ۲: وارد کردن اطلاعات دیتابیس (یا انتخاب SQLite برای تست محلی)
   گام ۳: تعیین نام سازمان و ساخت حساب سوپرمدیر
   سپس نصب به صورت خودکار انجام می‌شود.

۷) پس از پیام موفقیت، با نام کاربری و رمز عبور مدیری که ساختید وارد شوید.

۸) (پیشنهادی) برای امنیت بیشتر، پوشهٔ install را پس از نصب حذف کنید
   یا نام آن را تغییر دهید.


■ نصب روی هاست لینوکس/داکر/لوکال‌هاست (بدون cPanel)
---------------------------------------------------
همان مراحل بالا کافی است؛ فقط پوشهٔ پروژه را در ریشهٔ وب قرار دهید
(مثلاً /var/www/html/waste) و مطمئن شوید پوشه‌های data و backups
قابل نوشتن باشند (chmod 775).

برای تست سریع روی سیستم شخصی بدون نصب MySQL:
   php -S localhost:8080
و سپس http://localhost:8080/install/ را باز کنید و SQLite را انتخاب کنید.


■ سطوح دسترسی (چهار سطح)
-------------------------
- سوپرمدیر: همهٔ بخش‌ها + مدیریت کاربران + پشتیبان‌گیری و بازیابی
- مدیرکل: خطوط و تجهیزات، انبار قطعات، ثبت و بستن توقف‌ها، همهٔ گزارش‌ها
- مدیر خط: فقط خط خودش — تجهیزات، توقف‌ها و گزارش همان خط
- کارمند: ثبت روشن/خاموش خط خودش و ثبت توقف و تعمیر

هر کاربر محدود (مدیر خط/کارمند) باید هنگام ساخت کاربر به یک «خط تولید» متصل شود.


■ امکانات کلیدی
---------------
- داشبورد گرافیکی با آمار زنده و نمودار ساعات کار ۷ روز اخیر
- تعریف خطوط تولید و تجهیزات مرتبط با هر خط
- ثبت زمان روشن/خاموش خطوط توسط کارمند + بازه‌های کاری
- ثبت توقف با علت توقف، قطعهٔ معیوب و نوع تعمیر + بستن توقف
- گزارش‌ها بر اساس خط، تجهیزات، بازهٔ زمانی و کارمند
- انبار قطعات: ورود/خروج، موجودی، حد هشدار
- گزارش مصرف قطعات به تفکیک روز/هفته/ماه/سال و به‌ازای هر دستگاه
- پشتیبان‌گیری و بازیابی کامل دیتابیس از داخل مرورگر
- خروجی اکسل (CSV) و چاپ گزارش‌ها
- رابط کاربری کاملاً فارسی، راست‌چین، سبز و آبی — مناسب کاربران غیرفنی


■ پشتیبان‌گیری
--------------
از داخل برنامه: ورود با سوپرمدیر ← «پشتیبان‌گیری و بازیابی» ← «ایجاد پشتیبان جدید»
فایل پشتیبان در پوشهٔ backups ساخته می‌شود و قابل دانلود است.
برای بازیابی، همان فایل را از لیست انتخاب و «بازیابی» را بزنید،
یا فایل پشتیبان را بارگذاری (Upload) و سپس بازیابی کنید.
نکته: فایل‌های پشتیبان را به صورت دوره‌ای دانلود و در جایی امن نگه دارید.


■ ساختار پوشه‌ها
----------------
config.php      ← پیکربندی (توسط ویزارد ساخته می‌شود)
index.php       ← داشبورد
login.php       ← ورود
runtimes.php    ← ثبت روشن/خاموش خطوط
stops.php       ← توقفات و تعمیرات
lines.php       ← خطوط و تجهیزات
parts.php       ← انبار قطعات
reports.php     ← گزارش‌ها
users.php       ← کاربران (سوپرمدیر)
backup.php      ← پشتیبان‌گیری (سوپرمدیر)
settings.php    ← تنظیمات
install/        ← ویزارد نصب (پس از نصب حذف شود)
includes/       ← فایل‌های مشترک (دسترسی مستقیم مسدود است)
assets/         ← استایل و اسکریپت
data/           ← فایل دیتابیس SQLite (در صورت انتخاب)
backups/        ← پشتیبان‌ها


■ عیب‌یابی سریع
---------------
- «اتصال برقرار نشد» ← نام دیتابیس/کاربر/رمز را از cPanel دوباره چک کنید.
- خطای «افزونهٔ pdo_sqlite فعال نیست» هنگام انتخاب SQLite ← در cPanel بخش
  Select PHP Version افزونهٔ pdo_sqlite را فعال کنید یا از MySQL استفاده نمایید.
- صفحهٔ خالی سفید ← مطمئن شوید PHP نسخهٔ ۷٫۴+ فعال است و افزونهٔ pdo_mysql روشن است.
- خطای «قابل نوشتن نیست» ← روی پوشه‌ها در File Manager کلیک راست → Permissions → 775.
- فراموشی رمز مدیر ← از phpMyAdmin جدول users را باز کنید؛ در ستون role مقدار
  یک کاربر را superadmin کنید یا از دیتابیس پشتیبان بازیابی نمایید.
- نصب مجدد از ابتدا ← فایل config.php را حذف کنید و install/ را باز کنید
  (داده‌های قبلی دیتابیس پاک نمی‌شوند مگر دیتابیس را خودتان حذف کنید).

موفق باشید — این سامانه برای سهولت کار کاربران غیرفنی طراحی شده است.
