أثناء تطوير إضافات XenForo (Add-ons)، خصوصًا عند العمل على ملفات البيانات الخاصة بالإضافة والموجودة داخل مجلد _data (مثل ملفات phrases.xml أو code_event_listeners.xml أو templates.xml)، قد تحدث أخطاء غير مقصودة في صياغة ملفات XML، مما يؤدي إلى فشل بناء الإضافة أو ظهور أخطاء غير مفهومة أثناء التثبيت/الترقية.

لحل هذه المشكلة وتسهيل عملية اكتشاف الأخطاء بسرعة، أشارككم اليوم سكربت PHP مصغر وفّعال لفحص صحة سلامة ملفات XML وتأكيد استيفائها للمعايير البرمجية.
الكود البرمجي:
كيف يعمل السكربت؟
* تحديد المسار: يستهدف مجلد البيانات الخاص بإضافتك المحددة في المسار $dir.
* البحث التلقائي: يمر عبر جميع الملفات التي تنتهي بـ .xml داخل المجلد المذكور باستخدام الدالة glob().
* معالجة الأخطاء بذكاء: يستخدم libxml_use_internal_errors(true) لتعطيل إخراج أخطاء PHP المباشرة وتجميعها ليتم عرضها بشكل منظم.
* التحقق والعرض:
- في حال كان الملف سليماً، يطبع كلمة OK.
- في حال وجود خلل في بناء الملف (مثل وسم غير مغلق أو بناء خاطئ)، يطبع السكربت رسالة الخطأ ورقم السطر بدقة لتسهيل معالجته مباشرة.
طريقة الاستخدام:
1. قم بإنشاء ملف باسم check_xml.php في الجذر الرئيسي للمنتدى (المسار الذي يحتوي على مجلد src).
2. قم بتعديل مسار الإضافة في السطر الثاني ليتناسب مع الإضافة التي تعمل عليها (مثال: تغيير codeNET/DownloadGate إلى مسار إضافتك).
3. افتح الملف عبر المتصفح: https://your-domain.com/check_xml.php
4. لا تنسَ حذف الملف بعد الانتهاء من الفحص للحفاظ على أمان السيرفر.

أتمنى أن يكون هذا السكربت مفيداً لمطوري الإضافات في مجتمعنا. إذا كانت لديكم أي استفسارات أو تطويرات على الكود، يسعدني مناقشتها في الردود.
حقوق النشر - كود نت .

لحل هذه المشكلة وتسهيل عملية اكتشاف الأخطاء بسرعة، أشارككم اليوم سكربت PHP مصغر وفّعال لفحص صحة سلامة ملفات XML وتأكيد استيفائها للمعايير البرمجية.
الكود البرمجي:
<?php
$dir = __DIR__ . '/src/addons/codeNET/DownloadGate/_data/';
foreach (glob($dir . '*.xml') as $file)
{
libxml_use_internal_errors(true);
$xml = simplexml_load_file($file);
echo '<h3>' . htmlspecialchars(basename($file)) . '</h3>';
if ($xml === false)
{
echo '<pre>';
foreach (libxml_get_errors() as $error)
{
echo htmlspecialchars(trim($error->message)) . "\n";
}
echo '</pre>';
}
else
{
echo '<strong style="color:green">OK</strong>';
}
libxml_clear_errors();
}
كيف يعمل السكربت؟
* تحديد المسار: يستهدف مجلد البيانات الخاص بإضافتك المحددة في المسار $dir.
* البحث التلقائي: يمر عبر جميع الملفات التي تنتهي بـ .xml داخل المجلد المذكور باستخدام الدالة glob().
* معالجة الأخطاء بذكاء: يستخدم libxml_use_internal_errors(true) لتعطيل إخراج أخطاء PHP المباشرة وتجميعها ليتم عرضها بشكل منظم.
* التحقق والعرض:
- في حال كان الملف سليماً، يطبع كلمة OK.
- في حال وجود خلل في بناء الملف (مثل وسم غير مغلق أو بناء خاطئ)، يطبع السكربت رسالة الخطأ ورقم السطر بدقة لتسهيل معالجته مباشرة.
طريقة الاستخدام:
1. قم بإنشاء ملف باسم check_xml.php في الجذر الرئيسي للمنتدى (المسار الذي يحتوي على مجلد src).
2. قم بتعديل مسار الإضافة في السطر الثاني ليتناسب مع الإضافة التي تعمل عليها (مثال: تغيير codeNET/DownloadGate إلى مسار إضافتك).
3. افتح الملف عبر المتصفح: https://your-domain.com/check_xml.php
4. لا تنسَ حذف الملف بعد الانتهاء من الفحص للحفاظ على أمان السيرفر.

أتمنى أن يكون هذا السكربت مفيداً لمطوري الإضافات في مجتمعنا. إذا كانت لديكم أي استفسارات أو تطويرات على الكود، يسعدني مناقشتها في الردود.
حقوق النشر - كود نت .