Follow along with the video below to see how to install our site as a web app on your home screen.
ملاحظة: This feature may not be available in some browsers.
إصدار v4.3.2
إصدار ميزات جديد — مركز توثيق الإضافات، المصادقة الثنائية، إدارة ملفات Ads.txt، تحسين أداء البحث، الأرشفة الذكية، بوابة دفع Paddle، والصفحات القانونية.
الأمان والأداء
- ميزة: تنفيذ المصادقة الثنائية (2FA) عبر البريد الإلكتروني. يمكن للأعضاء الآن تفعيل طبقة حماية إضافية من إعدادات الخصوصية، مما يتطلب رمز تحقق فريد يتم إرساله إلى بريدهم الإلكتروني أثناء تسجيل الدخول.
- ميزة: إضافة أكواد الاستعادة (Recovery Codes) للمصادقة الثنائية، مما يتيح للأعضاء استعادة الوصول إلى حساباتهم في حال فقدان الوصول إلى بريدهم الإلكتروني.
- الأداء: ترقية البحث العام في بوابة المجتمع لاستخدام فهرسة MySQL FULLTEXT مع خاصية MATCH AGAINST (الوضع المنطقي - Boolean Mode)، مما أدى إلى تحسين سرعة البحث وذات الصلة بشكل كبير عبر المنشورات، مواضيع المنتدى، قوائم الدليل، المنتجات، والأخبار.
- الأداء: تقديم نظام الأرشفة الذكية لمرات ظهور الإعلانات. يتم الآن نقل بيانات التتبع الضخمة تلقائياً إلى جداول أرشفة مخصصة بعد 30 يوماً عبر مهمة Artisan يومية (myads:archive-impressions)، مما يحافظ على خفة وسرعة جداول الخدمة النشطة.
- التدويل (i18n): تعريب كامل لواجهة المصادقة الثنائية، وأكواد الاستعادة، وتلميحات الأمان عبر جميع اللغات التسع المدعومة، لضمان تجربة أمان متسقة لجميع الأعضاء.
تبادل الإعلانات والتحليلات
- ميزة: تقديم الاستهداف الجغرافي للإعلانات، مما يسمح للمعلنين بتقييد ظهور إعلانات البانر والنصوص/الروابط لدول معينة عبر أداة اختيار دول متعددة في نماذج إنشاء وتعديل الإعلانات.
- ميزة: تنفيذ خرائط حرارية للنقرات بالساعة. يمكن للمعلنين الآن تصور توزيع النقرات على مدار 24 ساعة عبر خريطة حرارية مصغرة تفاعلية ومتوافقة مع سمة الموقع (فاتح/داكن) في لوحة تحكم إدارة الإعلانات.
- ميزة: إضافة اختبار A/B للبانرات والروابط باستخدام خوارزمية تحسين ذكية Epsilon-Greedy (80/20). يمكن للمعلنين تقديم "نسخة B" بديلة (صورة/نص)، ويقوم النظام تلقائياً بعرض النسخة الأفضل أداءً بشكل متكرر بناءً على نسبة النقر إلى الظهور (CTR) في الوقت الفعلي.
- إصلاح: حل خطأ 500 Internal Server Error الحرج في AdsServingController الناتج عن التعامل غير الصحيح مع المجموعات (Collections) ومجموعات النتائج الفارغة أثناء اختيار الإعلان.
- المعمارية: تقديم AdStatsService لتجميع بيانات النقرات الساعية و AdGeoService (كمكان محجوز) لتوسعات تحديد الموقع الجغرافي مستقبلاً.
- واجهة المستخدم: تحسين جداول قائمة الإعلانات بعمود الأداء الجديد وخرائط حرارية تدعم "تلميحات الأدوات" (Tooltips) وتتكيف مع الوضعين الفاتح والداكن.
الفواتير وبوابات الدفع
- ميزة: دمج Paddle كبوابة دفع مدعومة بالكامل لنظام الاشتراكات والخطط المدفوعة، باستخدام واجهة برمجة تطبيقات معاملات Paddle (Transactions API) لجلسات الدفع المستضافة.
- ميزة: إضافة تكوين ديناميكي لبوابة Paddle في لوحة الإدارة (/admin/billing/gateways)، مع دعم مفتاح API، ومعرف السعر (Price ID)، وسر الويب هوك (Webhook Secret)، والتبديل بين وضع الاختبار (Sandbox) والوضع المباشر.
- ميزة: تنفيذ التحقق من توقيع الويب هوك الخاص بـ Paddle (رأس Paddle-Signature بتنسيق ts=...;h1=...) باستخدام HMAC SHA256، مع نافذة سماح مدتها 5 دقائق للحماية من هجمات إعادة التشغيل (Replay attacks).
- ميزة: دعم أنواع أحداث الويب هوك transaction.completed و transaction.payment_failed و transaction.updated لتحديثات دورة حياة الطلب بشكل غير متزامن.
- المعمارية: إضافة فئة PaddleGateway وتوسيع AbstractBillingGateway وتسجيلها في BillingGatewayRegistry جنباً إلى جنب مع Stripe و PayPal والتحويل البنكي و Lemon Squeezy.
- المعمارية: يتم تخزين مفتاح API وسر الويب هوك لـ Paddle بشكل مشفر باستخدام إعدادات SubscriptionGatewaySettings مع تكوين الحقول السرية، بما يتوافق مع أنماط الأمان الموجودة.
- التدويل (i18n): إضافة مفاتيح ترجمة خاصة بـ Paddle باللغتين الإنجليزية والعربية.
الصفحات القانونية
- ميزة: إضافة صفحة سياسة الاسترجاع الجديدة (/refund) كصفحة قانونية مخصصة، باتباع نفس النمط المعماري لصفحات الخصوصية والشروط.
- إضافة: إنشاء دالة refund() في PageController مع دعم كامل لتحسين محركات البحث SEO (الوسوم الوصفية، الأوصاف، ومسارات التنقل).
- إضافة: إنشاء قالب refund.blade.php بسمة لونية برتقالية/كهرمانية مميزة، مع دعم الوضع الداكن والتصميم المتجاوب.
- إضافة: دمج رابط سياسة الاسترجاع في تذييل الموقع مع أيقونة مخصصة (fa-solid fa-rotate-left).
- التدويل (i18n): إضافة 22 مفتاح ترجمة لسياسة الاسترجاع (المقدمة، الأهلية، العملية، الإطار الزمني، النزاعات، إلخ) عبر جميع اللغات التسع المدعومة.
إدارة الوسائط
- ميزة: تقديم مدير وسائط شامل للمسؤولين في /admin/media ، مما يسمح بالإشراف الكامل على الملفات داخل مجلدات الرفع.
- ميزة: تنفيذ فحص الملفات بشكل متكرر (Recursive) مع تصفية متقدمة حسب النوع (صور، فيديوهات، أرشيف، صوتيات، إلخ) وبحث فوري بالاسم أو المسار.
- ميزة: إضافة نظام معاينة الصور باستخدام نافذة Bootstrap 5 المنبثقة، مما يوفر نظرة سريعة على أصول الصور مع إجراءات التحميل وإعادة التسمية المدمجة.
- ميزة: عمليات آمنة على نظام الملفات تشمل إعادة التسمية مع تنقية المسارات والحذف النهائي للأصول غير المستخدمة.
- المعمارية: إنشاء AdminMediaController لمركزية منطق الوسائط، مما يضمن تقييد عمليات الملفات بمسارات الرفع المسموح بها.
- واجهة المستخدم: دمج أيقونات مخصصة لأنواع الملفات وقوائم إجراءات متجاوبة باستخدام نظام تصميم admin-duralux.
نظام الإضافات ومركز التوثيق
- ميزة: تحسين مركز توثيق الإضافات بدعم تلقائي للصور. يقوم النظام الآن بتقديم الأصول الداخلية للإضافات (صور، webp، إلخ) بشكل آمن ويعيد كتابة مسارات الصور النسبية في Markdown إلى روابط صالحة، مما يحل مشاكل عرض التوثيق.
- المعمارية: إضافة مسار admin.plugins.asset ودالة pluginAsset() لتقديم الأصول بأمان من خارج جذر الويب مع التحقق من الامتدادات والحماية من تجاوز الدليل (Directory traversal).
- المعمارية: تنفيذ منطق preg_replace_callback لمعالجة وربط لقطات الشاشة الداخلية للإضافات ديناميكياً داخل ملفات README.md و screenshots.md.
تحسين محركات البحث (SEO) وتفويض الإعلانات
- ميزة: إضافة إدارة ملفات Ads.txt و App-Ads.txt إلى لوحة الإدارة. يمكن للمسؤولين الآن إنشاء وتعديل ملفات التفويض هذه مباشرة عبر واجهة جديدة تحت قسم SEO.
- المعمارية: تنفيذ الحفظ المزدوج (في الجذر ومجلد public/) لملفات ads.txt و app-ads.txt لضمان أقصى قدر من التوافق مع مختلف إعدادات الاستضافة وخوادم الويب.
- المعمارية: تحديث ملف .htaccess في جذر المشروع للسماح صراحة بملفات .txt و .xml لضمان خدمتها بشكل صحيح.
المتجر والسوق
- إصلاح: حل مشكلة في صفحة إنشاء المتجر (/store/create) حيث كان محدد الفئات الفرعية الديناميكي (AJAX) يفشل في التحميل أو يظهر بشكل خاطئ داخل حقول الإدخال، مما يمنع اختيار أنواع السكربتات.
- إصلاح: حل خطأ 500 Internal Server Error حرج في صفحة تعديل المنتج للمسؤول ناتج عن تداخل الأقواس وعدم اتساق الصيغة في قوالب Blade.
- واجهة المستخدم: توحيد تخطيط نموذج تعديل المنتج لضمان وضع العناوين بشكل متسق واستجابة النموذج لجميع أنواع المنتجات (سكربتات، إضافات، قوالب).
الصيانة
- تحديث: ترقية مكتبة postcss من 8.5.6 إلى 8.5.14 لمعالجة الثغرات الأمنية في التبعيات.
- تحديث: ترقية مكتبة axios من 1.15.0 إلى 1.15.2 لتحسين استقرار معالجة الطلبات في موجز المجتمع.
- تحديث: ترقية phpseclib/phpseclib من 3.0.51 إلى 3.0.52 لضمان أحدث التصحيحات الأمنية واستقرار التشفير.
الإصدار v4.1.0
إصدار الميزات - تحديث مركز التنبيهات، إصلاحات في تدفق موضوعات المنتدى، وتحسينات في تغطية الاختبارات البرمجية.المثبت والتثبيت الجديد (Installer & Fresh Install)
- إصلاح: التثبيت الجديد من Git يقوم الآن بإنشاء ملف .env تلقائيًا قبل عملية التشغيل الأولى (bootstrap)، لضمان عدم فشل طلبات المثبت بسبب فقدان إعدادات البيئة.
- إصلاح: يقوم مشغل التثبيت الآن بتوليد مفتاح تطبيق فريد APP_KEY أثناء الإعداد الجديد بدلاً من الاعتماد على المفتاح التجريبي المشترك.
- إصلاح: استثناءات حماية CSRF تغطي الآن صراحةً مسارات install و install/* لمنع ظهور خطأ 419 Page Expired أثناء الإعداد.
- إصلاح: الإعدادات الافتراضية للجلسة (Session) والتخزين المؤقت (Cache) تستخدم الآن نظام الملفات file بدلاً من قاعدة البيانات، بحيث لا يعتمد مسار /install على جداول نظام Laravel قبل تشغيل عمليات التهجير (Migrations).
- إصلاح: الترقية من الإصدارات القديمة v3.2.x تقوم الآن بإصلاح أجزاء مخطط المنتدى المفقودة (مثل f_cat.ordercat وجداول الإشراف)، لضمان عدم تعطل صفحات المنتدى أو لوحة الإدارة بخطأ 500 بعد الترقية.
التنبيهات وتجربة مستخدم الهيدر (Header UX)
- تحسين: إعادة تصميم صفحة /notification لتصبح مركز تنبيهات أوضح مع بطاقة ملخصة، وتمييز أقوى للتنبيهات غير المقروءة، وتغذية تنبيهات أكثر تنظيمًا.
- إضافة: إضافة شارة (Badge) حمراء لعدد التنبيهات غير المقروءة فوق زر التنبيهات في هيدر الموقع لنسخة سطح المكتب.
- إضافة: إضافة شارة حمراء لعدد التنبيهات غير المقروءة فوق زر التنبيهات في الشريط العائم (floaty bar) لنسخة الهاتف.
- تحسين: ميزة "تحديد الكل كمقروء" تقوم الآن بتحديث عدادات ومؤشرات التنبيهات فورياً في الهيدر، شريط الهاتف، وصفحة التنبيهات.
- تحسين: إعادة صياغة عرض عناصر التنبيهات باستخدام القوالب الجزئية (Partials) القابلة لإعادة الاستخدام لتوحيد التصميم بين التحميل الأولي وتحميل AJAX.
تحميل التنبيهات و AJAX
- تحسين: استبدال نظام الترقيم التقليدي (Pagination) في صفحة التنبيهات بنظام التحميل اللانهائي (Infinite Scroll) عند التمرير لأسفل.
- إضافة: مسار GET /notification يعيد الآن بيانات JSON لطلبات AJAX تحتوي على وسم html ورابط الصفحة التالية next_page_url.
- تحسين: مسار POST /notification/mark-all-read يعيد استجابة AJAX أكثر وضوحاً تحتوي على حالة النجاح success وعدد التنبيهات غير المقروءة unread_count.
- إصلاح: الحفاظ على سلوك القراءة الحالي بحيث لا يتم تحديد التنبيه كمقروء إلا عند فتحه أو عند استخدام خيار "تحديد الكل كمقروء".
إصلاحات تدفق موضوعات المنتدى
- إصلاح: إنشاء الموضوعات يعيد التوجيه الآن مباشرة إلى صفحة الموضوع الجديد.
- إصلاح: تحديث الموضوع يعيد التوجيه إلى صفحة الموضوع حتى في حال فقدان مدخلات القسم، باستخدام مسار احتياطي آمن.
- إصلاح: المرفقات المرفوعة أثناء تحديث الموضوع تظل ظاهرة الآن في صفحة الموضوع.
- إصلاح: صفحات الموضوعات تستخدم الآن محدد حاوية التعليقات القياسي بشكل متسق.
- إصلاح: تدفق حفظ تعليقات المنتدى يستمر في إعادة وسم HTML بشكل صحيح لاستخدام AJAX دون فرض إعادة تحميل كاملة للصفحة.
- إصلاح: مسارات قاعدة المعرفة (Knowledgebase) تقبل الآن الأسماء القديمة التي تحتوي على شرطات، بحيث لا تعيد روابط مثل /kb/Web-Designing خطأ 404.
- إصلاح: صفحات القوائم القديمة /b_list و /l_list و /v_list تقوم الآن بإرسال نماذج حذف حقيقية بدلاً من الاعتماد على مشغلات النوافذ المنبثقة القديمة، ليعود حذف الإعلانات والزيارات للعمل مجدداً.
تحديث الشريط الجانبي للمنتدى
- تحسين: إعادة تصميم الشريط الجانبي لأقسام المنتدى في صفحة /f{id} ليتبع لغة التصميم القوية القائمة على البطاقات المستخدمة في دليل الموقع، مع الحفاظ على اتساق سمة المنتدى.
- تحسين: بطاقات أقسام المنتدى تعرض الآن أيقونة القسم، العنوان، وصف قصير، وعدد الموضوعات، مع حالة "نشط" واضحة للقسم المفتوح حالياً.
- تحسين: يتم الآن تجهيز بيانات أقسام الشريط الجانبي في المتحكم (Controller) بدلاً من الاستعلام عنها مباشرة داخل قالب Blade.
- تحسين: عدادات الموضوعات في الشريط الجانبي للمنتدى يتم حسابها مسبقاً للموضوعات النشطة فقط لتجنب الاستعلامات المتكررة.
واجهة مستخدم المصادقة (Auth UI)
- تحسين: تحسين قوالب Blade للسمة الافتراضية لصفحات تسجيل الدخول وإنشاء الحساب.
- إضافة: أزرار تسجيل الدخول الاجتماعي (فيسبوك وجوجل) تظهر الآن مباشرة داخل نموذج تسجيل الدخول عند تهيئتها.
- إضافة: إضافة أزرار تسجيل الدخول الاجتماعي لصفحة إنشاء الحساب لتسهيل عملية التسجيل.
- إصلاح: إجراءات المصادقة الاجتماعية تظهر الآن شرطياً بناءً على إعدادات البيئة المتوفرة بدلاً من عرض مساحات فارغة.
- تحسين: أزرار تسجيل الدخول الاجتماعي تتكيف مع العرض تلقائياً عند تفعيل مزود خدمة واحد فقط.
ملف التعريف ونظام المتابعة
- إصلاح: حل مشكلة خطأ إجراء متابعة الملف الشخصي في مسار /profile/{id}/follow عبر تخزين قيمة time_t المطلوبة في جدول الإعجابات بدلاً من محاولة الكتابة في حقل date القديم غير الموجود.
إصلاحات تفاعل AJAX في موجز المجتمع
- إصلاح: منشورات المجتمع المحملة لاحقاً عبر التمرير اللانهائي تحافظ الآن على عمل إجراءات "التعليق" و "التفاعل" و "المشاركة" بشكل صحيح في صفحات البوابة والنشاط.
- تحسين: أزرار التعليق على النشاط تستخدم الآن معالجاً مفوضاً مشتركاً (Shared Delegated Handler) بدلاً من كتل البرمجة المضمنة لكل منشور، لتعمل المنشورات المحقونة ديناميكياً مثل المنشورات الأولية.
- تحسين: قوائم "التفاعل" و "المشاركة" تستخدم الآن مفاتيح تبديل مخصصة بدلاً من الاعتماد على المصنف العام الذي كان يعالج التحميل الأول فقط بشكل موثوق.
- إصلاح: قوائم المستخدمين المتفاعلين في منشورات المجتمع تفتح الآن بشكل صحيح عند التمرير، مع إصلاحات التموضع لتناسب تخطيطات LTR و RTL.
- تحسين: دعم استدعاءات (Callbacks) ما بعد العرض في نظام التمرير اللانهائي لضمان توافق تغذية النشاط والدليل.
الموجز الذكي والترتيب (Smart Feed)
- إضافة: تقديم خوارزمية "الموجز الذكي" الجديدة لمسار /portal?filter=all التي ترتب المنشورات بناءً على إشارات موزونة: الحداثة، المشاهدات، التفاعلات، والتعليقات.
- تحسين: ترتيب المنشورات يعطي الآن دفعة قوية للمحتوى الجديد (خاصة المنشورات في آخر 1-6 ساعات) باستخدام معادلة اضمحلال أسية.
- إضافة: إضافة دفعة "الدليل الاجتماعي" (+10 نقاط) عندما يقوم أصدقاء المستخدم المتابَعون بالتعليق على منشور.
- إضافة: إضافة دفعة "المتابعة" (+20 نقطة) للمنشورات المكتوبة من قبل مستخدمين يتابعهم المشاهد.
- تحسين: تخزين نتائج الموجز الذكي مؤقتاً لمدة 5 دقائق لتحسين أداء تحميل الصفحة بشكل كبير مع الحفاظ على تجربة اكتشاف ديناميكية.
تحسينات واجهة الدليل (Directory UI)
- تحسين: تحسين لافتات (Banners) الدليل في السمة الافتراضية بلمسات أكثر توازناً وعرض محتوى أكثر تناسقاً ومعالجة خلفية قوية تعتمد على سمة الموقع.
- تحسين: تغيير موضع زر "زيارة الموقع" داخل بطاقات الدليل ليظهر تحت العنوان والوصف بدلاً من مزاحمة رأس البطاقة.
- تحسين: إعادة تصميم تفاصيل إحصائيات الدليل إلى مربعات إحصائية مستجيبة (Responsive) للزيارات والتفاعلات والتعليقات.
إصلاحات أماكن إعلانات الموقع
- إصلاح: فتحة إعلان "الصفحة الرئيسية" من لوحة التحكم تظهر الآن في الصفحة العامة الهبوطية / بدلاً من بقائها في لوحة الإدارة فقط.
- إصلاح: فتحة إعلان "الموضوع" تظهر الآن عبر صفحات تفاصيل المحتوى المدعومة، بما في ذلك موضوعات المنتدى، صفحات منتجات المتجر، وصفحات تفاصيل الدليل.
- إصلاح: فتحة إعلان "التذييل" (Footer) تظهر الآن مرة واحدة في أسفل جميع الصفحات العامة غير الإدارية.
- تحسين: الصفحة الهبوطية تتجاوز الآن مكان إعلان التذييل ليظهر فوق تذييل الصفحة الهبوطية دون تكرار كتلة الإعلان.
إعلانات اللافتات (Banners) والخدمة
- إصلاح: توحيد قيم أحجام اللافتات إلى تنسيقات العرضxالطول القياسية عبر التخزين ونماذج التحرير وخدمة الإعلانات لضمان استمرار عمل القيم القديمة.
- إصلاح: صفحات تحرير اللافتات للمستخدمين والإدارة تعرض الآن نفس خيارات الحجم القياسية، وتنبيهات مراجعة اللافتات توجه الآن إلى مسار التحرير الصحيح.
- إضافة: ملف bn.php يسجل الآن انطباعات (Impressions) اللافتات ويتجنب عرض نفس اللافتة تكراراً لنفس الزائر خلال نافذة التكرار المحددة.
- إضافة: تتضمن إعدادات الإدارة الآن مدة قابلة للتهيئة لنافذة تكرار اللافتات.
الإعلانات الذكية (Smart Ads)
- إضافة: إطلاق نظام حملات "الإعلانات الذكية" الكامل مع رصيد nsmart مخصص، وصفحات إدارة للمستخدمين، وصفحة كود التضمين، ونقطة نهاية خدمة جديدة smart.php.
- إضافة: الحملات الذكية تحلل الآن صفحة الهبوط الخاصة بالمعلن لاستخراج العنوان والوصف والصورة والكلمات المفتاحية تلقائياً، مع دعم الاستهداف اليدوي للدول والأجهزة.
- إضافة: توصيل الإعلانات الذكية يدعم الآن المطابقة السياقية باستخدام بيانات الصفحة وإشارات الجهاز من كود التضمين.
- تحسين: ترجمات الإعلانات الذكية تتبع الآن اللغة النشطة عبر كافة الصفحات بدلاً من العودة للغة الإنجليزية دائماً.
تجربة أكواد الإعلانات والاستجابة (Responsive 2)
- تحسين: صفحة /b_code تعتمد الآن بشكل افتراضي على قصاصة كود سريعة وقصيرة مع الاحتفاظ بـ "الكود المتقدم" للتوصيل المستجيب.
- إضافة: إضافة نوع "Responsive 2" للافتات كوضع ذكي متقدم يكتشف حجم الفتحة ويخدم أقرب تنسيق قانوني للافتة تلقائياً.
- تحسين: تنسيق "Responsive 2" يظهر الآن بلمسات أصلية خفيفة وعلامة "إعلانات بواسطة {الموقع}" مدمجة.
- إضافة: صفحة /l_code تتضمن الآن "Responsive 2" مع كود سريع مباشر وكود ذكي يراعي العرض، بالإضافة إلى تخطيطات متكيفة (مدمجة، مكدسة، وعريضة).
تحسينات الإعلانات الذكية في لوحة التحكم
- إضافة: تتضمن صفحة /home الآن بطاقة إحصائيات مخصصة للإعلانات الذكية، لوحة ملخصة، رصيد الإعلانات الذكية، واختصارات مباشرة للإجراءات.
- إضافة: تحويل النقاط في الصفحة الرئيسية يدعم الآن تحويل النقاط إلى رصيد "إعلانات ذكية" مباشرة من النموذج الحالي.
- إصلاح: بطاقة إحصائيات الإعلانات الذكية تحافظ على خلفيتها بشكل صحيح في وضع RTL.
اتجاه اللغة و RTL/LTR
- إضافة: إضافة دوال مساعدة مركزية locale_direction() و is_locale_rtl() لضمان اتباع الاتجاه البصري للغة Laravel النشطة بشكل متسق.
- تحسين: وسوم HTML العلوية (lang, dir, data-dir) وفئات الاتجاه يتم عرضها الآن بناءً على اللغة النشطة عبر الثيم العام، تخطيط المصادقة، لوحة الإدارة، صفحات المثبت، وصفحات الزيارات.
- إضافة: اللغة الفارسية (fa) تظهر الآن كلغة RTL كاملة بجانب العربية.
صقل واجهة RTL
- إضافة: إضافة ملفات أنماط (Stylesheets) مخصصة لتجاوز الإعدادات في وضع RTL للثيم الفاتح والمظلم وثيم الإدارة Duralux.
- إصلاح: تموضع القوائم المنسدلة المشتركة يعكس الآن إزاحات "اليسار/اليمين" بشكل صحيح في RTL، مما يمنع قص قوائم الرسائل والتنبيهات خارج الشاشة.
- إصلاح: تباعد واجهة RTL يحاذي الآن لافتات الأقسام، عناصر التحكم في النماذج، القوائم المنسدلة، وعناصر الشريط الجانبي المدمجة بشكل أفضل.
- إصلاح: أيقونات وعناوين أقسام المنتدى في صفحة /forum حصلت على تحسينات في التباعد والحشو في وضعي RTL و LTR للجداول المعاد تصميمها.
صقل لوحة الإدارة في RTL
- إضافة: إضافة تجاوزات لهيكل إدراة Duralux في RTL للهيدر، مسار التنقل (Breadcrumbs)، القوائم المنسدلة، ومحاذاة التنقل.
- إصلاح: هيدر الإدارة وحاوية الصفحة يرتكزان الآن من اليمين في RTL، بما في ذلك عروض القائمة المصغرة (minimenu) عند طيها.
- إصلاح: سلوك طي وتوسيع الشريط الجانبي للإدارة في RTL يطابق الآن سلوك LTR بشكل أوثق.
الاختبارات والاستقرار
- إضافة: إضافة اختبارات ميزات (Feature Tests) لمركز التنبيهات تغطي عرض الصفحة، ترقيم AJAX، وسلوك "تحديد الكل كمقروء".
- إضافة: إضافة اختبار ميزة مخصص للتحقق من أن طلبات متابعة الملف الشخصي تنشئ سجل متابعة صالح بختم زمني دون أخطاء إدخال في قاعدة البيانات.
- إضافة: إضافة اختبار ميزة مخصص يغطي الشريط الجانبي الجديد لأقسام المنتدى، بما في ذلك ترتيب الأقسام والحالة النشطة.
- إضافة: إضافة اختبار ميزة مخصص يغطي عرض فتحات إعلانات الموقع في كافة الصفحات العامة ولوحات التحكم.
- إضافة: إضافة اختبارات ميزات لاتجاه اللغة تغطي الإنجليزية، العربية، الفارسية، وصفحات الإدارة والمثبت واستمرار اللغة في الجلسة/الكوكيز.
الإصدار v4.0.1إصدار تصحيحي — تحسين مرونة المُثبّت وإصلاحات التوافق مع الاستضافة المشتركة.
المُثبّت والتثبيت الجديد (Installer & Fresh Install)
- إصلاح: إنشاء ملف
.envتلقائياً من.env.exampleفي حال عدم وجوده عند التثبيت الجديد (index.php).- إصلاح: إنشاء المجلدات الفرعية المطلوبة داخل storage/ تلقائياً عند التشغيل الأول (index.php).
- إصلاح: إزالة علامة storage/installed القديمة أثناء عملية التثبيت الجديد.
- إصلاح: إضافة storage/installed إلى ملف
.gitignoreلمنع إرفاقه مع المستودع (repo).- إصلاح: التعامل مع استثناء
MissingAppKeyExceptionبسلاسة — يتم إنشاءAPP_KEYتلقائياً وإعادة التوجيه إلى /install (bootstrap/app.php).- إصلاح: إضافة
APP_KEYافتراضي إلى ملف.env.exampleلمنع حدوث انهيار قبل تشغيل المُثبّت.- إصلاح: تفعيل
APP_DEBUG=trueفي ملف.env.exampleلإظهار الأخطاء بوضوح أثناء التثبيت؛ ويتم تعطيله تلقائياً بعد اكتمال التثبيت.- إصلاح: استثناء مسارات install/* من التحقق من CSRF لمنع ظهور أخطاء 419 Page Expired أثناء الإعداد (bootstrap/app.php).
- إصلاح: إضافة إنشاء جدول directory المفقود إلى ملفات تهجير قاعدة البيانات (migrations) وطريقة processMigrate().
إصلاحات الأخطاء (Bug Fixes)
- إصلاح: نموذج Status — انهيار بسبب مؤشر فارغ (null pointer) في
getGroupedReactionsAttribute()عندما لا يكون خيار التفاعل موجوداً.- إصلاح: جميع دوال الوصول (accessors) في
$appendsلنموذج Status (date_formatted, reactions_count, comments_count, grouped_reactions) تم تغليفها بـ try-catch لمنع الانهيارات المتسلسلة.- إصلاح: PortalController — استبدال استعلام SQL الخام
CONVERT(... USING utf8mb4)باستعلامات LIKE القياسية لضمان التوافق مع MySQL على الاستضافات المجانية.- إصلاح:
DirectoryController::index()— فصل الفئات (categories) عن الأنشطة (activities) في كتل try-catch مستقلة حتى تستمر الفئات في الظهور عند فشل استعلام الأنشطة.- إصلاح:
DirectoryController::show()— رفض المُعرّفات (IDs) غير الرقمية وإرجاع خطأ 404 (يمنع /directory/store و /directory/ads من الانهيار).- إصلاح:
DirectoryController::store()— تم تغليفها بـ try-catch مع توفير رسالة خطأ بديلة.- إصلاح:
DirectoryController::category()— تم تغليفها بـ try-catch لزيادة المرونة.- إصلاح:
AdminController::index()— تغليف استدعاء واجهة برمجة تطبيقات GitHub API واستعلامات الإحصائيات بـ try-catch لمنع انهيار لوحة التحكم على الاستضافات المقيدة.- إصلاح: نموذج Directory — إضافة date إلى مصفوفة
$fillable(كان يتم تجاهله بصمت عند الإنشاء).- إصلاح:
InstallerController::finish()— تعطيلAPP_DEBUGبعد التثبيت لدواعي أمنية.
v4.0.0إصدار رئيسي — إعادة برمجة كاملة من PHP العادي إلى إطار عمل Laravel.
البنية البرمجية (Architecture)
- إعادة برمجة: انتقال كامل من PHP العادي إلى إطار عمل Laravel 12 (بنية MVC).
- إضافة: محرك القوالب Blade كبديل لقوالب PHP الخام (172 قالباً قديماً ← واجهات Blade منظمة).
- إضافة: Eloquent ORM مع 27 نموذجاً (Models) كبديل لاستعلامات SQL الخام.
- إضافة: 25 متحكم (Controllers) مخصص كبديل لـ 31 معالج طلبات مستقل و 38 ملف PHP.
- إضافة: نظام توجيه سليم (routes/web.php) كبديل للوصول المباشر لملفات PHP.
- إضافة: نظام البرمجيات الوسيطة (Middleware) (AdminMiddleware, SetLocale, UpdateUserOnline, CheckSystemVersion, InstallerGuard).
- إضافة: حماية CSRF على جميع النماذج عبر البرمجيات الوسيطة في Laravel.
- إضافة: عمليات تهجير قواعد البيانات (Migrations) والبذور (Seeders) لإدارة هيكل البيانات بشكل منظم.
واجهة المستخدم والمظهر (UI & Theme)
- إضافة: قالب لوحة تحكم Duralux (مبني على Bootstrap 5) كبديل لقوالب لوحة التحكم القديمة.
- تحسين: صفحة هبوط حديثة مستوحاة من Google AdSense مع أقسام متحركة، تأثيرات الظهور عند التمرير، وعدادات للإحصائيات.
- إضافة: زر التبديل بين الوضع الداكن والوضع الفاتح في جميع أنحاء التطبيق.
- إضافة: دعم اتجاه النصوص من اليمين إلى اليسار (RTL) للغة العربية.
- تحسين: تصميم متجاوب عبر جميع الصفحات (الكمبيوتر المكتبي، الجهاز اللوحي، الهاتف المحمول).
- إضافة: نظام قوالب — دعم لعدة قوالب يمكن التبديل بينها من لوحة التحكم.
المصادقة والأمان (Authentication & Security)
- إضافة: نظام المصادقة الخاص بـ Laravel (تسجيل الدخول، إنشاء حساب، تسجيل الخروج، تذكرني).
- تحسين: دعم تسجيل الدخول عبر البريد الإلكتروني أو اسم المستخدم تلقائياً.
- إضافة: تسجيل الدخول عبر الحسابات الاجتماعية باستخدام Google و Facebook OAuth.
- إضافة: الموافقة الإلزامية على الشروط والأحكام وسياسة الخصوصية عند التسجيل.
- إضافة: التحقق باستخدام نظام CAPTCHA عند التسجيل لمنع الروبوتات.
- تحسين: تشفير كلمات المرور باستخدام bcrypt (من خلال واجهة Hash في Laravel).
- حذف: إزالة التكامل غير الآمن الخاص بالمشاركة وتسجيل الدخول عبر wasp.gq.
النظام متعدد اللغات (Multilingual System)
- تحسين: إعادة بناء نظام الترجمة بالكامل باستخدام بنية التعريب (Localization) في Laravel.
- إضافة: 9 لغات مترجمة بالكامل: الإنجليزية، العربية، الفرنسية، الإسبانية، البرتغالية، الفارسية، التركية، الألمانية، والإيطالية.
- إضافة: اكتشاف ديناميكي للغات — يقوم النظام تلقائياً باكتشاف مجلدات اللغات الجديدة وإضافتها إلى واجهة المستخدم.
- إضافة: إدارة اللغات من لوحة التحكم (مزامنة، تعديل المصطلحات، تصدير).
- إضافة: تبديل لغة العرض ديناميكياً عبر وسيط SetLocale مع حفظ التفضيل في الجلسة (Session) وملفات تعريف الارتباط (Cookies).
لوحة التحكم (Admin Panel)
- تحسين: إعادة تصميم كاملة للوحة تحكم الإدارة باستخدام قالب Duralux.
- إضافة: عناصر تحكم في ترويسة الإدارة: قائمة منسدلة لتبديل اللغة وزر "العودة للموقع" للتنقل السريع.
- إضافة: صفحة إدارة المنتجات للمسؤول (تخطيط شبكي، عرض/حذف المنتجات).
- إضافة: إدارة الرموز التعبيرية للمسؤول (إضافة/حذف رموز تعبيرية مخصصة).
- إضافة: إدارة قوائم التنقل للمسؤول (إضافة، تعديل، حذف، إعادة ترتيب القوائم).
- إضافة: إدارة النوافذ المصغرة (Widgets) للمسؤول (إنشاء، تعديل، حذف، وتحديد مواقع القوائم الجانبية).
- إضافة: إدارة اللغات للمسؤول (إضافة/تعديل/حذف لغات الترجمة ومصطلحاتها).
- إضافة: صفحة إدارة التقارير للمسؤول.
- إضافة: صفحة إدارة الأخبار للمسؤول.
- إضافة: إدارة قاعدة المعرفة (Knowledgebase) للمسؤول.
- إضافة: إعدادات إشعار ملفات تعريف الارتباط للمسؤول (تفعيل/تعطيل، الألوان، الموضع).
- إضافة: صفحة إعدادات النظام للمسؤول (اسم الموقع، الوصف، وضع الصيانة).
- إضافة: إدارة القوالب للمسؤول (التبديل بين القوالب المثبتة).
- تحسين: صفحة إحصائيات المسؤول مع تحليلات مفصلة.
- تحسين: إدارة المستخدمين للمسؤول مع إمكانية تعديل الملفات الشخصية.
المتجر (Store)
- إضافة: تصفية فئات المتجر (سكربتات، قوالب، إضافات) — النقر على الفئة لتصفية المنتجات.
- إضافة: عداد مباشر لعدد المنتجات لكل فئة كبديل لشارات "قريباً" (SOON).
- إضافة: زر إعادة تعيين "كل المنتجات" عند تفعيل فلتر الفئات.
- تحسين: بطاقات المنتجات مع روابط للملف الشخصي للبائع وعرض الفئة.
الشؤون القانونية والامتثال (Legal & Compliance)
- إضافة: صفحة ثابتة لسياسة الخصوصية (/privacy) — مترجمة بالكامل (إنجليزي/عربي).
- إضافة: صفحة ثابتة للشروط والأحكام (/terms) — مترجمة بالكامل (إنجليزي/عربي).
- إضافة: شريط الموافقة على ملفات تعريف الارتباط متوافق مع GDPR / CCPA مع إعدادات قابلة للتخصيص من قبل المسؤول (الألوان، الموضع، تفعيل/تعطيل).
نظام الإضافات (Plugin System)
- إضافة: بنية الإضافات — تثبيت، تفعيل، تعطيل، وحذف الإضافات من لوحة التحكم.
- إضافة: نظام رفع ملفات الإضافات واكتشافها التلقائي.
صفحة الترويج (Promote Page)
- إضافة: صفحة ترويج مخصصة لإعلانات البانر، الإعلانات النصية، إعلانات الروابط، وتبادل الزيارات.
- تحسين: إنشاء وإدارة الإعلانات بنظام تسعير يعتمد على النقاط.
البوابة والنوافذ المصغرة (Portal & Widgets)
- إضافة: نظام نوافذ مصغرة (Widgets) قابل للتهيئة للبوابة (شريط جانبي أيسر، شريط جانبي أيمن، منطقة المحتوى).
- إضافة: نموذج إضافة النوافذ المصغرة للمسؤول لإنشاء محتوى أو HTML مخصص.
- تحسين: صفحة البوابة مع عرض ديناميكي للنوافذ المصغرة.
المجتمع والمنتدى (Community & Forum)
- تحسين: منشورات المجتمع باستخدام قوالب Blade وبنية MVC السليمة.
- تحسين: نظام التعليقات مع دعم الرموز التعبيرية.
- تحسين: نظام التفاعلات (إعجاب، أحببته، لم يعجبني، إلخ).
- تحسين: مواضيع وأقسام المنتدى مع إمكانية إدارة ترتيبها من قبل المسؤول.
- إضافة: نظام إدارة الإشراف للمنتدى (تثبيت، قفل المواضيع).
- إضافة: مشرفون للمنتدى بشكل عام ومشرفون مخصصون لأقسام محددة.
- إضافة: دعم إرفاق الملفات في المنتدى.
الدليل (Directory)
- تحسين: دليل الموقع مع قوائم مصنفة.
- إضافة: إدارة أقسام الدليل للمسؤول (إضافة، تعديل، حذف، إعادة ترتيب).
الرسائل والإشعارات (Messages & Notifications)
- تحسين: نظام المراسلة الخاصة مع تحديث المحادثة في الوقت الفعلي.
- تحسين: نظام الإشعارات للإعلانات، المتابعات، التفاعلات، والتعليقات.
تغييرات أخرى (Other Changes)
- إضافة: إنشاء خريطة الموقع (Sitemap) باستخدام SitemapController.
- إضافة: قسم الأخبار مع إدارة من قبل المسؤول.
- تحسين: صفحات الملف الشخصي للمستخدم مع تبويبات للمتابعة/إلغاء المتابعة، المنشورات، والنشاط.
- تحسين: نظام تبادل الزيارات مع تتبع دقيق.
- إضافة: تحسينات على نظام الإحالة (Referrals).
- حذف: إزالة تكامل wasp.php القديم.
- تحديث: تحديث Font Awesome، Bootstrap، وجميع مكتبات الواجهة الأمامية إلى أحدث الإصدارات.
إصلاح : عديد الأخطاء الأمنية.
حذف : المشاركة و التسجيل الدخول من wasp.gq
إضافة : المشاركة عبر telegram
إضافة : إضافة <nav> تقسيم المنشورات في ملف العضو
إضافة : صفحة للأصدقاء (متابعة من الطرفين)
تحسين: نظام تعدد اللغات
إصلاح : نظام التحديث للأخر إصدار
إصلاح : مشكل تعدد الصفحات في المنتدى
تحسين: نظام تبادل الزيارات
إضافة : خاصية النسخ التلقائي عند النقر على مربعات النص في صفحات b_code.php و l_code.php و r_code.php
تحسين: قائمة الرسائل
إضافة : إشعارات عند حظر الإعلانات أو تفعيلها أو إزالتها
إضافة : زر نسخ الرابط لمنشورات المجتمع
إضافة : إمكانية نشر أعمال في المتجر مقابل نقاط (PTS)
تحسين: واجهة المستخدم وأمن ملفات الحالة والقوالب
Improvement: Site directory Update: privacy policy Fix: Error in advertisement manager template Improvement: admin_nav & admin_home template Addition: Follow all posts or posts from those you follow in the community Improvement: Private message template Improvement: Community posts and images template Fix: Bugs and vulnerabilities Addition: The ability to arrange forum categories Added: Description of forum categories
إصلاح : عديد الأخطاء الأمنية.
إضافة : سجل للنقاط التي تم تحويلها.
إصلاح : بعض الأخطاء في ملفات اللغة.
إصلاح : خطأ في إشعارات دليل المواقع.
إضافة: زر للإباغ عن الإعلانات.
تحسين: قالب /follow.php
تغيير: شعار تويتر
تحديث: مكتبة font awesome إلى النسخة v6.4.2
تحسين : مظهر مواضيع المنتدى في البوابة
إصلاح : قالب الرسائل و إضافةreloadChat ()لمشاهدة الرسائل الواردة دون اللجوء لإعادة تحديث الصفحة.
إصلاح : خطأ ترجمت التواريخ.
تحسين : قائمة البنرات الإعلانية.
إصلاح: خطأ بمحرر الكتابة في قاعدة المعرفة بالمتجر.
إصلاح: خطأ ظهور صفحة بيضاء عند الدخول لصفحة عضو غير موجود .
إصلاح: مشكلة الدخول لملف عضو إسمه مكون من أرقام فقط.
إضافة : كسب النقاط عن طريق النشر في المجتمع و التفاعل مع المنشورات و التعليقات.
إضافة : ودجات Stats Box
إصلاح : مشكلة ظهور المشاركات بشكل غريب إذا كان أحدها نصه طويل.
تحسين : تعدد اللغات
إصلاح : بعض الأخطأ في القوالب
إضافة : عدد المشاهدات للاعلانات النصية