================================================================
  Codychat 10.0 — النسخة الكاملة المعدلة (v10-modified)
================================================================

هذه النسخة جاهزة للتسطيب مباشرة، وتحتوي على كل التعديلات:

1. إصلاح خطأ HTTP 500 (PHP 8.1+ mysqli)
   - تم إصلاح دالة set_charset() في كل ملفات config_*.php التسعة
   - المشكلة كانت بتحصل لما BOOM_INSTALL = 0 (قبل التسطيب)
   - الحل: set_charset() بقت بتتنفّذ بس لو الاتصال نجح

2. إصلاح الأسماء المزخرفة (decorative usernames)
   - تم تعديل دالة validName() في system/function_all.php
   - بقت تقبل أي حرف يونيكود (Math italic, Syriac, Hieroglyphs,
     Greek, Malayalam, Symbols, إلخ)
   - بترفض بس: Control chars, BOM, Surrogates, HTML/SQL dangerous chars
   - الأمثلة اللي كانت بتترفض وبقت تتقبل:
       𝑌2𝐵𝑂𝑅𝑁𝐼𝐼
       ೃ⁀➷
       ♛ܒߺɹɹɹ𓄹𓏲нσsαмa ൧♛

3. ستايل خلفية الاسم (name background style)
   - الستايل الجديد متطبّق في 3 أماكن:
     * قائمة المتصلين (nameBgAttrs في system/function.php)
     * رسايل الدردشة (premiumNameWrap في js/function_temp.js)
     * البروفايل الخارجي (nameBgAttrs)
   - الستايل: padding:3px 12px; border-radius:12px;
              border:1px solid rgba(255,255,255,.32);
              box-shadow:0 1px 4px rgba(0,0,0,.25),
                         inset 0 1px 0 rgba(255,255,255,.15);
   - تم تحديث function_temp.js (الجذر) و js/function_temp.js معاً

4. ميزة الغرفتين (Multi-Room Feature) — جديدة كاملة
   - العضو يقدر يفتح غرفتين في نفس الوقت
   - تبويب (tabs) بيظهر فوق منطقة الشات للتبديل بينهم
   - لو عند المستخدم صلاحية: الغرفة القديمة بتتنقل لـ tab ثانوي
   - لو م عندهوش صلاحية: السلوك القديم (استبدال الغرفة)

   الملفات الجديدة/المعدّلة:
     - system/function.php: ensureMRoomColumns() + canMroom() +
       user_roomid2 في SELECT
     - system/config*.php (4): استدعاء ensureMRoomColumns()
     - system/action/action_room.php: joinRoom/leaveRoom multi-room
       + switchRoomTab/closeRoomTab
     - system/panel/user_list.php: OR user_roomid2 في الـ query
     - system/function_all.php: room_count query بيشمل الغرفتين
     - system/pages/admin/setting_staff.php: إعداد can_mroom2
     - system/action/system_save.php: حفظ can_mroom2
     - system/language/Arabic|English/language.php: نص can_mroom2
     - control/chat.php: تهيئة secondRoom + buildRoomTabs()
     - js/function_main.js: resetRoom + buildRoomTabs +
       switchRoomTab + closeRoomTab
     - css/custom.css: ستايل .room_tabs_bar, .room_tab

   العمودين الجداد بيتضافوا تلقائياً أول ما السكربت يشتغل:
     - boom_users.user_roomid2 (INT, default 0)
     - boom_setting.can_mroom2 (INT, default 90)
   مفيش SQL يدوي لازم.

================================================================
  طريقة التسطيب
================================================================

1. ارفع الزيب لموقعك (public_html أو subdomain folder)
2. فك الضغط على السيرفر مباشرة (SSH أو cPanel File Manager)
   - مهم: لو فكّيته على جهازك وبعدين رفعته بالـ FTP، الصلاحيات
     ممكن تتغير. شغّل الأوامر في الأسفل لو حصل كده.
3. تأكد إن نسخة PHP = 8.1 أو أحدث (cPanel → MultiPHP Manager)
4. تأكد إن إضافات PHP دي مفعّلة: mysqli, gd, curl, zip, mbstring
5. افتح الموقع في المتصفح → هتظهر لك صفحة التسطيب بالعربي
6. اتبع خطوات التسطيب (بيانات الأدمن + الدومين + قاعدة البيانات)
7. بعد التسطيب، ادخل لوحة الأدمن:
     Admin → Staff → Other
     وضبط "من يقدر يفتح غرفتين مع بعض" على الرتبة اللي عايزها

================================================================
  أوامر الصلاحيات (لو احتجتها بعد رفع الـ FTP)
================================================================

chmod 775 avatar cover gift music room_icon upload upload/* default_images/border emoticon emoticon_icon
chmod 664 system/settings.php system/database.php

لو السيرفر لسه رافض الكتابة، جرب 777 بدل 775 على نفس الفولدرات.

================================================================
  التحقق من التسطيب
================================================================

بعد التسطيب، جرّب:
  1. سجّل حساب باسم مزخرف (مثل 𝑌2𝐵𝑂𝑅𝑁𝐼𝐼) — المفروض يتقبل
  2. من تعديل البروفايل → لون الاسم → اختار خلفية
     الستايل الجديد يظهر في قائمة المتصلين + رسايل الدردشة + البروفايل
  3. لو عندك صلاحية can_mroom2، افتح غرفة A ثم غرفة B
     تبويب بيظهر فوق الشات للتبديل بينهم

================================================================
  ملاحظات تقنية
================================================================

- النسخة دي متوافقة مع PHP 8.1+ (تم اختبار الكود على PHP 8.2)
- كل التعديلات بتحافظ على التوافق مع الـ backwards (لو مفيش
  صلاحية can_mroom2، السلوك القديم بيفضل شغّال)
- Redis اختياري (السكربت بيتعامل مع غيابه بشكل آمن)
- قاعدة البيانات بتستخدم utf8mb4 (4-byte Unicode) فالحروف
  المزخرفة بتتخزن صح

================================================================
  لو فيه مشكلة بعد التسطيب
================================================================

1. HTTP 500 → شوف error_log في cPanel
2. التبويب مش بيظهر → تأكد إن العضو عنده صلاحية can_mroom2
3. ستايل خلفية الاسم قديم → امسح كاش المتصفح (Ctrl+Shift+R)
4. اسم مزخرف لسه بيترفض → ابعتلي النص بالظبط

================================================================
