افزونه نمایشگر لاگ و خطاهای وردپرس
====================================

نصب
----
۱. این پوشه (site-log-viewer) را zip کنید و از مسیر افزونه‌ها > افزودن > بارگذاری افزونه در وردپرس نصب و فعال کنید.
   یا محتوای پوشه را در wp-content/plugins/site-log-viewer قرار دهید.
۲. بعد از فعال‌سازی، یک منوی مستقل با نام «خطاهای وردپرس من» زیر «پیشخوان» در ستون سمت راست
   اضافه می‌شود؛ از زیرمنوهای «مشاهده لاگ‌ها» و «وضعیت دیباگ» استفاده کنید.
۳. یک ویجت خلاصه هم به‌طور خودکار در پیشخوان اصلی وردپرس اضافه می‌شود.

امکانات
--------
- نمایش کامل فایل debug.log وردپرس در یک صفحه اختصاصی، با رنگ‌بندی بر اساس نوع خطا
  (خطای مهلک، هشدار، منسوخ، اعلان، سایر).
- فیلتر لاگ‌ها بر اساس نوع خطا و جستجوی متنی در محتوای لاگ، همراه با صفحه‌بندی.
- گروه‌بندی خودکار خطاهای تکراری پشت‌سرهم با شمارنده «×N».
- دکمه کپی سریع متن هر رکورد و دکمه دانلود کامل فایل لاگ.
- زیرمنوی «لایسنس» برای فعال‌سازی/غیرفعال‌سازی و بررسی وضعیت کد لایسنس از طریق سرور
  لایسنس مرکزی (خانه افزونه).
- تشخیص خودکار افزونه/قالب مسبب هر خطا، و جمع‌شدن پیش‌فرض استک‌تریس‌های بلند برای
  خوانایی بهتر.
- هشدار ایمیلی برای خطای مهلک جدید (با محدودیت نرخ ارسال قابل‌تنظیم) و آرشیو خودکار
  لاگ قبل از پاک کردن، هر دو از زیرمنوی «تنظیمات».
- نمودار روند خطاهای ۷ روز اخیر و فیلتر بازهٔ زمانی (امروز/۲۴ ساعت اخیر/۷ روز اخیر).
- اتصال به ربات پیام‌رسان بله برای ارسال هشدار خطای مهلک جدید به آیدی شخصی.
- زیرمنوی «راهنما» با توضیح کامل نحوه‌ی راه‌اندازی و استفاده از تمام بخش‌های افزونه.
- ویجت خلاصه در پیشخوان با تعداد هر نوع خطا و آخرین ۵ رکورد.
- دکمه پاک کردن لاگ، هم در صفحه اصلی و هم در ویجت پیشخوان (با تایید قبل از پاک شدن).
- اگر WP_DEBUG یا WP_DEBUG_LOG خاموش باشد، افزونه با یک پیام راهنما دقیق کد لازم برای
  فعال‌سازی را نشان می‌دهد.
- دسترسی فقط برای کاربر با نقش مدیر کل سایت (manage_options)، همراه با بررسی nonce امنیتی
  روی تمام عملیات‌های تغییردهنده (پاک کردن لاگ، دانلود لاگ).

تغییرات نسخه ۱.۱۰.۰
--------------------
- افزودن بررسی دوره‌ای یکپارچگی فایل‌ها (ضدکپی/ضددستکاری) از طریق «مرکز
  لایسنس» (mk-license-server)، هم‌راستا با بقیه‌ی افزونه‌های خانه افزونه.
  بر اساس همان کد لایسنس فعلی افزونه (بدون نیاز به وارد کردن کلید جداگانه)
  به‌صورت روزانه بررسی می‌کند که فایل‌های php افزونه با نسخه‌ی رسمی مطابقت
  دارند یا نه. این افزونه ویژگی پولی‌ای برای غیرفعال کردن ندارد، پس در
  صورت مغایرت فقط یک اعلان اطلاع‌رسانی در پیشخوان نمایش داده می‌شود؛ هیچ
  فایل یا داده‌ای پاک نمی‌شود و هیچ عملکردی قطع نمی‌شود. در صورت خطای
  شبکه یا نسخه‌ی ثبت‌نشده، بررسی fail-open است (هیچ‌وقت به‌خاطر مشکل
  زیرساخت قفل نمی‌شوید).

تغییرات نسخه ۱.۹.۰
--------------------
- زیرمنوی جدید «راهنما» زیر منوی «خطاهای وردپرس من»: توضیح کامل نحوه‌ی راه‌اندازی و
  استفاده از تمام بخش‌های افزونه (لاگ‌ها، فیلترها، هشدار ایمیلی و بله، آرشیو، لایسنس)
  در یک صفحه، بدون نیاز به خواندن این فایل readme.

تغییرات نسخه ۱.۸.۰
--------------------
- اتصال به ربات پیام‌رسان بله: ارسال هشدار خطای مهلک جدید به آیدی شخصی شما در بله،
  علاوه بر ایمیل (یا به‌جای آن). از همان تنظیم محدودیت نرخ ارسال ایمیل استفاده می‌کند.
- دکمه‌ی «ارسال پیام آزمایشی به بله» در صفحه‌ی تنظیمات، برای تست سریع توکن ربات و آیدی
  چت بدون نیاز به منتظر ماندن برای یک خطای واقعی.

تغییرات نسخه ۱.۷.۰
--------------------
- نمودار روند خطاها برای ۷ روز اخیر، بالای لیست لاگ‌ها؛ سهم خطاهای مهلک با رنگ قرمز
  داخل هر ستون مشخص شده است.
- فیلتر بازهٔ زمانی («کل بازه»، «امروز»، «۲۴ ساعت اخیر»، «۷ روز اخیر») همراه با فیلترهای
  قبلی نوع خطا و جستجو، و هماهنگ با صفحه‌بندی.

تغییرات نسخه ۱.۶.۰
--------------------
- زیرمنوی جدید «تنظیمات» زیر منوی «خطاهای وردپرس من».
- هشدار ایمیلی خودکار وقتی یک خطای مهلک (Fatal) جدید در سایت ثبت شود، با محدودیت نرخ
  ارسال قابل‌تنظیم (هر بار / هر ۱۵ دقیقه / هر ۱ ساعت / هر ۶ ساعت) تا صندوق ورودی شلوغ نشود.
- آرشیو خودکار (قابل خاموش‌کردن) قبل از پاک کردن لاگ: یک نسخه از لاگ فعلی در پوشه‌ای
  محافظت‌شده نگه داشته می‌شود و از همان صفحهٔ تنظیمات قابل دانلود است (حداکثر ۲۰ آرشیو
  اخیر نگه‌داری می‌شود).
- افزودن uninstall.php برای پاک‌سازی آپشن‌های افزونه از دیتابیس در صورت حذف کامل.

تغییرات نسخه ۱.۵.۰
--------------------
- تشخیص خودکار افزونه یا قالب مسبب هر خطا (از روی مسیر فایل در متن خطا) و نمایش آن
  به‌صورت یک بج کوچک کنار نوع خطا.
- رکوردهای چندخطی (استک‌تریس‌های بلند) اکنون پیش‌فرض جمع‌شده نمایش داده می‌شوند؛ با دکمهٔ
  «نمایش استک‌تریس» قابل باز کردن هستند تا لیست شلوغ نشود.
- دکمهٔ کپی اکنون کل رکورد (شامل استک‌تریس بسته‌شده) را کپی می‌کند، نه فقط خط اول.

تغییرات نسخه ۱.۴.۰
--------------------
- زیرمنوی جدید «لایسنس» زیر منوی «خطاهای وردپرس من» اضافه شد: فعال‌سازی، غیرفعال‌سازی
  و بررسی وضعیت کد لایسنس، از طریق اتصال REST به افزونهٔ «مرکز لایسنس» (mk-license-server).
- بررسی وضعیت لایسنس به‌صورت خودکار یک‌بار در روز از طریق WP-Cron انجام می‌شود.
- آدرس سرور لایسنس و اسلاگ محصول با ثابت‌های SLV_LICENSE_API_BASE و
  SLV_LICENSE_PRODUCT_SLUG در wp-config.php قابل تغییرند.

تغییرات نسخه ۱.۳.۰
--------------------
- افزونه دیگر زیرمنوی «ابزارها» نیست؛ اکنون یک منوی مستقل با نام «خطاهای وردپرس من»
  مستقیماً زیر «پیشخوان» در ستون سمت راست وردپرس اضافه می‌شود.
- بخش‌های افزونه به‌صورت زیرمنو زیر همین منو قرار گرفته‌اند: «مشاهده لاگ‌ها» (صفحه اصلی
  قبلی) و «وضعیت دیباگ» (زیرمنوی جدید با جزئیات وضعیت WP_DEBUG/WP_DEBUG_LOG و راهنمای
  فعال‌سازی).

تغییرات نسخه ۱.۲.۰
--------------------
- گروه‌بندی خطاهای تکراری پشت‌سرهم: به‌جای نمایش ده‌ها بلوک یکسان، یک بلوک با شمارنده
  «×N» نشان داده می‌شود.
- صفحه‌بندی لیست لاگ‌ها (۲۵ رکورد در هر صفحه) هماهنگ با فیلتر و جستجو.
- دکمه «دانلود لاگ کامل» برای دریافت کل فایل debug.log (نه فقط ۵۰۰ رکورد آخر نمایش داده‌شده).
- دکمه «کپی» روی هر رکورد برای کپی سریع متن آن خطا.

تغییرات نسخه ۱.۱.۱
--------------------
- رکوردهای بسیار طولانی لاگ (مثل استک‌تریس‌های خیلی بزرگ) اکنون در نمایش کوتاه می‌شوند تا
  صفحه سنگین نشود.
- هدر «Text Domain» که استفاده‌ای نداشت (چون افزونه ترجمه‌پذیر نیست و متن‌ها مستقیم فارسی
  هستند) حذف شد تا گمراه‌کننده نباشد.
- شماره نسخه تغییر کرد تا کش مرورگر/سرور مجبور به بارگذاری فایل‌های جدید شود.

تغییرات نسخه ۱.۱.۰
--------------------
- کل رابط کاربری افزونه به فارسی برگردانده شد؛ برچسب‌های نوع خطا روی بج‌ها و دکمه‌های فیلتر
  (که قبلاً به انگلیسی — Fatal/Warning/Deprecated/Notice — نمایش داده می‌شدند) اکنون فارسی
  هستند: «خطای مهلک»، «هشدار»، «منسوخ»، «اعلان»، «سایر».
- شماره نسخه افزونه تغییر کرد تا مرورگر و کش‌های احتمالی مجبور شوند فایل‌های CSS/JS جدید را
  به‌جای نسخه‌ی کش‌شده‌ی قبلی بارگذاری کنند (چون این فایل‌ها بر اساس شماره نسخه لینک می‌شوند).

تغییرات نسخه ۱.۰.۰
--------------------
- انتشار اولیه: صفحه لاگ در ابزارها، ویجت پیشخوان، و دکمه پاک کردن لاگ.
