اخر المواضيع

آخر الأخبار
إختر لونك المفضل

عرض المحتوي

بحث

السبت، 12 سبتمبر 2026

شات بلا قاعده هايف Chat-HaYeF5 الاصدار الاول

 نعم، وهذا أفضل تصميم لـ Chat-HaYeF5. نخلي النظام من البداية Guest-first بدل إجبار الزائر على التسجيل.

الصلاحيات

الزائر العضو المسجل المدير
مشاهدة الغرف مشاهدة الغرف كل الصلاحيات
مشاهدة الموجودين مشاهدة الموجودين إدارة المستخدمين
قراءة الرسائل إرسال رسائل إدارة الغرف
التنقل بين الغرف دخول الغرف حذف/تعديل الرسائل
لا يرسل رسائل إرسال خاص الحظر والتنبيهات
لا ينشئ غرف الملف الشخصي الإعدادات والسجلات
لا يعدل شيئًا تحكم بسيط بحسابه لوحة تحكم كاملة

بدون MySQL أو أي قاعدة بيانات.
التخزين داخل data/*.json.
أسلوب الاستخدام قريب من DigiChat القديم.
PHP حديث + JavaScript/AJAX.
نظام مستخدمين وصلاحيات.
غرف ومحادثات ورسائل خاصة.
لوحة تحكم مدير مستقلة وشاملة.
نظام تحذير للغرف غير النشطة.
حذف الغرفة تلقائيًا بعد 5 أيام من آخر نشاط، مع إمكانية التحكم بالمدة من لوحة المدير.
حماية الملفات والبيانات.
إمكانية تشغيل المشروع على استضافة PHP عادية.

أستطيع وصف الشات الحالي بدقة، لكن لا أستطيع أن أقول إنه محمي 100% بدون فحص ملفات الـPHP الخلفية وخصوصًا api/messages.php وauth.php وfunctions.php.

مواصفات Chat-HaYeF5 الحالية
الشات مبني بطريقة خفيفة وبسيطة:

PHP للجهة الخلفية.
JavaScript Vanilla بدون الحاجة إلى React أو Vue.
HTML + CSS للواجهة.
تخزين البيانات يبدو أنه يعتمد على JSON/ملفات من خلال الدوال مثل json_read() وملف Presence.
نظام جلسات PHP للمستخدمين.
تسجيل دخول وتسجيل حساب.
غرف دردشة متعددة.
معرفة المستخدمين الموجودين حاليًا داخل الغرف.
نظام last_seen لمعرفة المتصلين.
تحديث الرسائل تلقائيًا كل 5 ثوانٍ.
إرسال الرسائل عن طريق API.
حماية CSRF موجودة في كود JavaScript الذي أرسلته.
منع XSS في عرض الرسائل لأن النص يتم وضعه باستخدام textContent، والروابط يتم إنشاؤها كعناصر <a> بدل إدخال HTML مباشرة. وهذا اتجاه جيد أمنيًا؛ OWASP توصي بترميز/معالجة البيانات غير الموثوقة وعدم إدخالها كـHTML غير موثوق.
O
OWASP Cheat Sheet Series
+1
الروابط الخارجية قابلة للضغط وتفتح في نافذة جديدة.
Emoji ووجوه ورموز.
متوافق مع الشاشات الصغيرة من ناحية البنية، مع CSS responsive الذي أرسلته.
يمكن استخدامه من الكمبيوتر والجوال والمتصفح.
قوة الشات
ميزته الأساسية أنه خفيف جدًا.

ليس مثل أنظمة الشات الكبيرة التي تحتاج:

Node.js
WebSocket
Redis
MySQL
React

بل نظامك أقرب إلى:

Browser
JavaScript
PHP API
JSON / Files

وهذا يجعله مناسبًا جدًا لموقع صغير أو متوسط وعدد مستخدمين محدود.
لكن هناك نقطة مهمة جدًا:
التخزين بالـJSON هو أكبر نقطة ضعف من ناحية التوسع
إذا كان لديك مثلًا:
10 مستخدمين ممتاز
50 مستخدم جيد
100 مستخدم مقبول حسب الاستخدام
500+ مستخدم يحتاج دراسة
1000+ مستخدم لا أنصح بنظام ملفات JSON
لأن كل طلب قراءة/كتابة للرسائل أو المستخدمين قد يتعامل مع ملفات، ومع زيادة المستخدمين والرسائل يصبح MySQL/PostgreSQL أفضل بكثير.

الحماية الموجودة في الكود الذي أرسلته
1. CSRF
عند إرسال الرسالة لديك:

body.set(
'csrf',
csrf
);

وقبل ذلك:

csrf = await ChatHaYeF5.getCSRF();
وهذا جيد إذا كان السيرفر نفسه يتحقق من الرمز فعليًا.
وجود الرمز في JavaScript وحده لا يكفي؛ يجب أن يقوم api/messages.php بمقارنته بالجلسة ورفض الطلب إذا كان غير صحيح. وهذا هو المبدأ الموصى به من OWASP.
O
OWASP Cheat Sheet Series

2. XSS
هذا الجزء عندك جيد:
element.textContent = ...
وأيضًا:
link.textContent = url;
بدل:
element.innerHTML = message.text;

وهذا مهم جدًا في الشات، لأن المستخدمين يستطيعون إرسال نصوص وروابط من الخارج. OWASP تعتبر XSS من المخاطر الأساسية في التطبيقات التي تعرض مدخلات المستخدمين.
O
OWASP Cheat Sheet Series

3. الروابط
لديك:

link.target = '_blank';

link.rel =
'noopener noreferrer nofollow';
وهذا جيد من ناحية فتح الروابط الخارجية.
لكن أنصح أن يكون السيرفر أيضًا صارمًا في السماح فقط بـ:

http://
https://

وألا يسمح بأي بروتوكولات خطرة عند إنشاء الروابط. OWASP توصي بالتحقق من URL والسماح بالمخططات الآمنة مثل HTTP/HTTPS.
O
OWASP Cheat Sheet Series
ما الذي لا أستطيع تأكيده حتى الآن؟
من الملفات التي أرسلتها، لا أستطيع الجزم بأن النظام محمي بالكامل من:
SQL Injection — إذا كان لديك قاعدة بيانات في أجزاء أخرى.
سرقة الجلسة.
Session Fixation.
ضعف إعدادات Cookies.
محاولات تسجيل الدخول الكثيرة.
Spam.
Flooding للرسائل.
رفع ملفات ضارة إذا كان الرفع موجودًا.
تجاوز صلاحيات المدير.
الوصول المباشر إلى ملفات JSON.
CSRF على بقية APIs.
ثغرات api/messages.php.
ثغرات register.php.
ثغرات login.php.
صلاحيات الملفات على السيرفر.
والـCSRF/XSS لا يكفيان وحدهما لجعل التطبيق "محميًا بالكامل". OWASP توصي أيضًا بطبقات إضافية مثل خصائص Cookies المناسبة وCSP والتحقق من المدخلات.
O
OWASP Cheat Sheet Series
+1

أهم شيء عندك الآن
من البيانات التي أرسلتها سابقًا، المستخدمون محفوظون بهذا الشكل:

{
"username": "...",
"password": "$2y$10$...",
"role": "user",
"status": "active"
}

وجود:

$2y$10$
يعني أن كلمة المرور مخزنة بصيغة bcrypt hash، وليس كنص عادي. وهذا أفضل بكثير من تخزين كلمات المرور مباشرة.
لكن لا تنشر ملف المستخدمين الحقيقي للعامة، حتى لو كانت كلمات المرور مشفرة.
هل يعمل على الجوال كتطبيق؟
نعم، من ناحية التقنية هو Web App.
يمكن تشغيله على:
Android Chrome
iPhone Safari
Chrome
Edge
Firefox
Samsung Internet
الكمبيوتر واللابتوب
ومع CSS Responsive جيد، يمكن جعله يبدو تقريبًا كتطبيق الهاتف.
ويمكن لاحقًا تحويله إلى PWA بحيث يضيف المستخدم الموقع إلى الشاشة الرئيسية ويظهر كأنه تطبيق مستقل، بدون إعادة بناء المشروع من الصفر.
تقييمي الحالي
بناءً على الأكواد التي رأيتها:
الجزء التقييم
الواجهة ⭐⭐⭐⭐☆
الجوال ⭐⭐⭐⭐☆
خفة النظام ⭐⭐⭐⭐⭐
سهولة التطوير ⭐⭐⭐⭐⭐
نظام الغرف ⭐⭐⭐⭐☆
Presence ⭐⭐⭐⭐☆
Emoji ⭐⭐⭐⭐⭐
الروابط ⭐⭐⭐⭐☆
XSS في كود العرض الحالي ⭐⭐⭐⭐☆
CSRF في الإرسال ⭐⭐⭐⭐☆
التوسع لآلاف المستخدمين ⭐⭐☆☆☆
الأمان الكامل غير ممكن الحكم عليه بعد
ارفع المجلد ويشتغل على طول Chat-HaYeF5
عدل الاداره بنفسك الان فقط دخول عشوائي

 المشروع صار فيه عدة ملفات PHP وواجهات API وJSON وJavaScript، الأفضل الآن نسوي فحص شامل تلقائي بدل ما نعدل ملفًا وراء ملف ونضيع بين المسارات.

أعطيك ملف فحص واحد اسمه:

Chat-HaYeF5/
└── system_check.php

يفحص لك:

وجود جميع المجلدات والملفات.
صلاحيات الكتابة على data/ وملفات JSON.
صحة جميع ملفات JSON.
وجود الدوال الأساسية.
وجود ملفات API.
وجود ملفات JavaScript وCSS.
صحة جلسة PHP.
إصدار PHP.
الإضافات المطلوبة.
مشاكل require_once.
تكرار تعريف الدوال الشائعة مثل e().
اختبار قراءة وكتابة JSON.
اختبار الغرف.
اختبار المستخدمين.
اختبار الرسائل.
اختبار CSRF.
اختبار rooms_manager.php.
اختبار messages_manager.php.
اختبار API للغرف.
اختبار API للمستخدمين والرسائل.
يعطيك PASS / WARNING / ERROR.
وفي النهاية يعطيك نسبة تقريبية لسلامة المشروع.

خذيت الفكره من

https://maereab.blogspot.com/2023/12/ajax-chat-script-in-javascript-php.html

عطيتكم الملف بدون ترتيب مجاني لكم وسلامتكم

إقرأ المزيد
author

ارفع اي ملف vBulletin XML Processor واختر اللغه والاصدر الاصدار الاول

السفراني | سبتمبر 12, 2026 | لا يوجد تعليقات !

 ماذا تختار عند الاستخدام؟

بالنسبة لملف التعريب العربي القديم الذي عندك، اترك الإعدادات هكذا:

  • اللغة: العربية — Arabic
  • الإصدار: vBulletin 3.8.11
  • الترميز: تلقائي — Auto Detect
  • ✓ إصلاح XML Declaration
  • ✓ تعديل charset إلى UTF-8
  • ✓ تحديث languagecode
  • ☐ إضافة UTF-8 BOM — اتركها مغلقة أولًا
  • ☐ إضافة حقوق المبرمج — شغّلها فقط إذا أردت
  • اسم الملف مثل:
    arabic_vb3811_utf8.xml

 أداة تحويل ترميز فقط، بل تريد أداة ويب ترفع لها أي ملف vBulletin Language XML وتتعامل معه من خلال واجهة احترافية، مع خيارات قبل المعالجة.

مميزات القالب الذي أقترحه

1. رفع الملف فقط

تدخل إلى xml-converter.php وتجد:

  • سحب وإفلات ملف XML.
  • أو الضغط على اختيار ملف.
  • الأداة تقرأ الملف تلقائياً.
  • لا تحتاج إلى نسخ ولصق XML داخل الصفحة.

2. اكتشاف الملف تلقائياً

بعد الرفع، تعرض لك معلومات الملف:

  • اسم الملف.
  • حجم الملف.
  • إصدار vBulletin المكتشف.
  • لغة الملف.
  • الترميز الموجود.
  • عدد phrasetype.
  • عدد العبارات phrase.
  • هل الملف صالح أم توجد مشكلة فيه.

3. اختيار اللغة

مثلاً:

  • العربية
  • English
  • Français
  • Türkçe
  • فارسی
  • Deutsch
  • Español
  • أو استخدام اللغة الموجودة في الملف.

والأهم: اختيار اللغة لا يعني ترجمة النصوص آلياً؛ بل يتحكم في بيانات ملف التعريب وإعداداته.

4. اختيار إصدار vBulletin

مثلاً:

  • vBulletin 3.8.11
  • vBulletin 3.8.x
  • vBulletin 4.x
  • استخدام الإصدار الموجود داخل XML

5. اختيار الترميز

بدلاً من الكود الحالي الذي يحاول استخدام أسماء ترميزات غير مدعومة في mbstring، تكون الأداة لديها طبقة تحويل صحيحة.

مثلاً:

  • UTF-8
  • Windows-1256
  • ISO-8859-1
  • UTF-16
  • اكتشاف تلقائي

وبالنسبة إلى Windows-1256 لا نمرره مباشرة إلى mb_convert_encoding() إذا كان تركيب PHP لديك لا يدعمه بهذا الاسم؛ يتم التعامل معه بالاسم/البديل المدعوم فعلياً في البيئة.

6. إصلاح XML

الأداة تفحص الملف قبل إخراجه، مثل:

  • BOM.
  • XML declaration.
  • encoding.
  • charset.
  • الأحرف غير الصالحة.
  • مشاكل XML الأساسية.
  • CDATA.
  • المحافظة على محتوى <phrase>.
  • المحافظة على {1} و {2} وغيرها.
  • عدم العبث بأسماء varname.

7. خيارات إضافية اختيارية

تكون على شكل مربعات اختيار:

  • ☑ تحويل إلى UTF-8
  • ☑ تحديث XML encoding
  • ☑ تحديث vBulletin charset
  • ☑ إزالة BOM القديم
  • ☑ إضافة UTF-8 BOM عند الحاجة
  • ☑ فحص XML
  • ☑ الاحتفاظ بـ CDATA
  • ☑ إنشاء نسخة احتياطية من الملف الأصلي
  • ☑ تنظيف المسافات الزائدة
  • ☑ تقرير بالتغييرات
  • ☑ التحقق من تكرار العبارات
  • ☑ التحقق من العبارات الفارغة

وتستطيع تفعيل أو تعطيل كل واحدة.

إقرأ المزيد
author

ايهم افضل ل vBulletin بين XenForo او MyBB اقرب لتعامل وفيها ل vBulletin بالميه

السفراني | سبتمبر 12, 2026 | لا يوجد تعليقات !

 إذا كان معيارك الأساسي هو "أريد شيئًا قريبًا من vBulletin في طريقة التعامل والواجهة"، فاختياري يكون:

🥇 XenForo — الأقرب كمنصة حديثة

التقارب مع vBulletin: حوالي 80–90% من ناحية تجربة إدارة المنتدى، الأقسام، المواضيع، الأعضاء، الصلاحيات، التنبيهات وغيرها.


أقوى وأحدث من MyBB من ناحية الإمكانيات.

نظام القوالب والـStyle يسمح لك بجعل الواجهة قريبة جدًا من vBulletin 3/4.

مناسب أكثر إذا كان المنتدى كبيرًا وتريد تطويره مستقبلًا.

الانتقال من vBulletin إلى XenForo له أدوات استيراد للبيانات.

🥈 MyBB — الأقرب من ناحية البساطة والشكل التقليدي

التقارب مع vBulletin: حوالي 70–80%.

مجاني ومفتوح المصدر.

أسلوب المنتديات التقليدي قريب من vBulletin.

تعديل القوالب وCSS ممكن جدًا.

أخف وأبسط، لكن إمكانياته وتجربته الحديثة أقل من XenForo.

الخلاصة

  XenForo MyBB

قرب تجربة vBulletin ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐

إمكانية تقليد شكل vBulletin ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐

الإدارة والصلاحيات ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐

التطوير والإضافات ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐

مجاني

مناسب لمنتدى كبير ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐


إذا كان لديك منتدى vBulletin قديم وتريد أن يشعر المستخدم أنه انتقل إلى نظام جديد بدون أن يتغير عليه كل شيء، سأختار XenForo.

وإذا كان أهم شيء عندك أن يكون مجانيًا بالكامل، فاختَر MyBB.

إقرأ المزيد
author

الجمعة، 28 أغسطس 2026

نسخه وملف تعريب واستايل اجنبي معدل ل vBulletin 3.8.9 وتشغيله على اصدار PHP/MySQL 7.x

السفراني | أغسطس 28, 2026 | لا يوجد تعليقات !

امر تعريب او تشغيل نسخ vBulletin
3.8.x- 8 , 9 , 11 , 12
يمكنك على اصدارات
PHP/MySQL 7.x - 0,1,2,3,4
معدل على PHP/MySQL 7.4
يشتغل بلا مشاكل معي
PHP/MySQL 5 - 7
بس الاستضافات بعضها تلغي تلقائي وحسب نوع استضافتك
وحتى الجديد بس بحتاج محترف في تغير

الملفات المعدله على المجلدات :
1- includes
2- install
* وملفات الرئيسيه
vb_doctor-hayef5

يمكنك تنزيل النسخه المعدله هنا ل vBulletin3.8.9
1- لغه التعريب معدله هايف
Hayef-vbulletin-language3.8.9
2- استايل الاجنبيه الرسمي معدل هايف
HaYeF5-Default Style
* كلها موجوده بمجلد
vb_doctor-hayef5
وعملت برمجه قالب واحد كمحاولات بس غير مكتمل * شاهد vb_doctor.php
الاختلاف باللغه شوي معقد ل
utf8mb4
و
utf8
وانتبه ل
latin1
زبده الموضوع معقد
وانتظر باذن الله تطوير 3.8.12
كلنا نبحث عن الشكل القديم الاحترافي وذكريات زمان : قريبا تطوير نسخه
4.2.5 القريبه لشكل القديم

إقرأ المزيد
author

شرح محدث تغير اللغة بعد اضافه القاعدة لاي سكربت وفحصها وتعريب vBulletin

السفراني | أغسطس 28, 2026 | لا يوجد تعليقات !

محاولات سطحيه لتطوير
تغير اللغة بعد اضافه القاعدة لاي سكربت convert utf-8 to utf8mb4 localhost
لنسخه منتدى vBulletin3.8.12 حمل النسخه

أكيد. بما أنك تستخدم vBulletin 3.8.12، الأفضل ألا نكتفي بتجميل السكربت؛ عدّلته بحيث يكون مناسبًا أكثر لمنتدى vBulletin، مع واجهة احترافية، فحص الاتصال، فحص إصدار PHP/MySQL، وضع معاينة قبل التنفيذ، سجل للعمليات، حماية من إعادة التشغيل، ودعم utf8mb4.
مهم: هذا النوع من السكربتات يغيّر البيانات فعليًا. خذ نسخة SQL كاملة من قاعدة forum قبل تشغيل خطوة التحويل.
لكن هناك نقطة مهمة جدًا في vBulletin 3.8.12
أنا لا أنصح بتشغيل step=1 ثم step=2 على منتداك مباشرة قبل أن نعرف شكل البيانات الحالية.
الجزء الأخطر هو:
CONVERT(CAST(CONVERT(`column` USING latin1) AS BINARY) USING utf8mb4)
هذا ليس مجرد تغيير Character Set؛ إنه إعادة تفسير للبايتات الموجودة. فإذا كانت قاعدة بياناتك أصلًا صحيحة، يمكن أن يحول العربية الصحيحة إلى بيانات خاطئة.
كذلك يوجد تحدٍّ آخر مع vBulletin 3.8.x: بعض الجداول القديمة تحتوي على Indexes طويلة، وتحويل VARCHAR إلى utf8mb4 قد يجعل بعض الفهارس تتجاوز الحد المسموح به في إصدارات MySQL القديمة.
أفضل خطوة الآن: أعطني مثالًا حقيقيًا من قاعدة بياناتك، مثلاً كلمة عربية تظهر حاليًا هكذا:
ط§ظ„ط¹ط±ط¨ظٹط©
أو هكذا:
????
أو إذا كانت تظهر العربية بشكل سليم.
HaYeF5 KuwaiT — vBulletin Manager
ويحتوي على:
🔍 كشف vBulletin تلقائيًا.
🏷️ كشف الإصدار تلقائيًا.
🐘 كشف PHP.
🗄️ كشف MySQL/MariaDB.
📊 عدد الجداول.
🔤 كشف Character Set وCollation.
🌐 كشف نظام اللغات.
🇸🇦 كشف العربية تلقائيًا.
📁 حساب ملفات اللغة الموجودة.
🔎 فحص ملفات XML.
🧪 Preview قبل أي تعديل.
📦 استيراد vbulletin-language.xml.
♻️ تحديث اللغة الموجودة بدل تكرارها.
🛡️ Backup/Lock.
📝 Log كامل.
🔤 فحص UTF-8.
🚀 تحويل UTF8MB4 منفصل عن إصلاح البيانات.
📱 واجهة Responsive.
🎨 Header/Footer تلقائي.
🧩 SVG Icons بدون مكتبات خارجية.
⚡ AJAX للفحص الطويل حتى لا تتجمد الصفحة.
🔒 حماية CSRF + جلسة إدارية.
🗑️ تنبيه لحذف الأداة بعد الانتهاء.
وأفضل تغيير عن سكربتك الحالي: لا ننفذ إصلاح UTF-8 على كل النصوص بشكل أعمى؛ نكتشف أولًا هل البيانات فعلًا مشوهة، ثم نعطيك معاينة قبل لمس قاعدة البيانات. هذا هو الجزء الذي يجعلها "بدون مشاكل" بدل أن تكون أداة تحويل خطرة.
* تنبيه الخدمه ارفع بيانات القاعده لمنتدى وفي مجلد المنتدى وضعه

وسلامتكم

إقرأ المزيد
author

الخميس، 27 أغسطس 2026

برمجه خفيفه او اداء سكربت صغير يصلح ملف vbulletin-language.xml كامل دفعة واحدة

السفراني | أغسطس 27, 2026 | لا يوجد تعليقات !

 اداء بسيط وخفيف لتعديل او تشويه اللغه العربيه من رموز او علامات لاي ملف تعريب منتدى


ارفع اي ملف نفس 

vbulletin-language.xml

الاداء باسم fix_vbulletin.py


يخرج لك نفس الحجم ويعدل لك الاخطاء 

ويخرج لك باسم 

vbulletin-language-fixed.xml


انسخ الكود وارفعه في : fix_vbulletin.py

https://www.hayef5.com/m101/html-mp3/maililf-101/


from pathlib import Path


INPUT_FILE = Path("vbulletin-language.xml")

OUTPUT_FILE = Path("vbulletin-language-fixed.xml")


print("=" * 60)

print(" vBulletin 3.8.12 - Arabic Language Repair HaYeF5 KuwaiT")

print("=" * 60)


if not INPUT_FILE.exists():

    print("\nلم يتم العثور على الملف:")

    print(INPUT_FILE.resolve())

    input("\nاضغط Enter للخروج...")

    raise SystemExit


try:

    raw = INPUT_FILE.read_bytes()


    print(f"\nحجم الملف الأصلي: {len(raw):,} bytes")

    print("جاري إصلاح الترميز...")


    # الملف الحالي يحتوي على عربي مشوه من نوع:

    # ÇáÏÎæá ãÍÙæÑ

    #

    # هذه العملية تعكس التحويل الخاطئ:

    # Windows-1256 -> Windows-1252/Latin

    #

    # ثم تعيد النص إلى Windows-1256 الصحيح.


    wrong_text = raw.decode("cp1252")


    fixed_text = wrong_text.encode("cp1252").decode("cp1256")


    # تعريف XML

    if fixed_text.startswith("<?xml"):

        end = fixed_text.find("?>")


        if end != -1:

            fixed_text = (

                '<?xml version="1.0" encoding="windows-1256"?>'

                + fixed_text[end + 2:]

            )


    # التأكد من إعداد vBulletin

    fixed_text = fixed_text.replace(

        "<charset><![CDATA[utf-8]]></charset>",

        "<charset><![CDATA[windows-1256]]></charset>"

    )


    # حفظ الملف فعليًا Windows-1256

    output_data = fixed_text.encode("cp1256")


    OUTPUT_FILE.write_bytes(output_data)


    print("\nتم الإصلاح بنجاح!")

    print("-" * 60)

    print(f"حجم الملف الجديد: {len(output_data):,} bytes")

    print(f"الملف الجديد: {OUTPUT_FILE.resolve()}")

    print("-" * 60)


    # فحص سريع

    if "الدخول محظور" in fixed_text:

        print("\n✓ تم العثور على النص العربي بشكل صحيح.")

    else:

        print("\n⚠ لم يتم العثور على المثال المتوقع.")

        print("لكن تم إنشاء الملف.")


except Exception as e:

    print("\n" + "=" * 60)

    print("حدث خطأ:")

    print(type(e).__name__)

    print(str(e))

    print("=" * 60)


input("\nاضغط Enter للخروج...")


وسلامتكم

إقرأ المزيد
author

الاثنين، 24 أغسطس 2026

هاك اضفني كصديق اعمل xml لرفع الكود

السفراني | أغسطس 24, 2026 | لا يوجد تعليقات !

 ارفع لك الكود فقط وانت حطه بملف بصيغه xml

وسمه مثلا product-Add-friend

صوره المنتج

الكود :


<?xml version="1.0" encoding="ISO-8859-1"?>


<product productid="addme_postbit" active="1">

<title>هاك اضفني كصديق</title>

<description>اضفني كصديق تظهر في المواضيع والمشاركات</description>

<version>1.0</version>

<url>hayef5.yoo7.com</url>

<versioncheckurl>https://hayef5.yoo7.com/portal</versioncheckurl>

<dependencies>

</dependencies>

<codes>

<code version="*">

<installcode><![CDATA[define('DISABLE_PRODUCT_REDIRECT', true);

define('CP_REDIRECT', 'index.php?loc=' . urlencode('options.php?do=options&dogroup=addme_postbit'));]]></installcode>

<uninstallcode />

</code>

</codes>

<templates>

<template name="addme_postbit" templatetype="template" date="1328608250" username="admin" version="1.0"><![CDATA[<style type="text/css">



.wall_last_post {

    background: none repeat scroll 0 0 #F6F6F6;

    border-color: #CCCCCC #000000;

    border-left: 3px solid #000000;

    border-radius: 0 20px 20px 0;

    border-right: 3px solid #000000;

    border-style: dotted solid;

    border-width: 3px;

    float: left;

    height: 63px;

    margin-bottom: 10px;

    margin-right: 10px;

    padding-bottom: 5px;

    width: 190px;

}

.wall_last_post_auhor {

    background: url("https://gulf-missil.ucoz.com/_ph/20/2/781723650.gif") no-repeat scroll left center transparent;

    color: #606060;

    font-family: Tahoma;

    font-size: 12px;

    font-weight: normal;

    margin-left: 10px;

    padding-right: 11px;

    padding-top: 7px;

    text-shadow: 1px 0 1px #88CED8;

}

.wall_last_post .wall_last_post_auhor a {

    color: #CC0000;

    font-size: 12px;

    font-weight: bold;

}

.wall_last_post p {

    color: #606060;

    font-family: Tahoma;

    font-size: 11px;

    font-weight: normal;

    line-height: 15px;

    margin: 0;

    min-height: 27px;

    padding: 3px;

}

.wall_last_post_footer {

    color: #CC0000;

    font-family: Tahoma;

    font-size: 11px;

    font-weight: normal;

}


.add_as_friend {

    background: url("https://gulf-missil.ucoz.com/_ph/20/2/315962949.png") no-repeat scroll left center transparent;

    height: 34px;

    margin: auto;

    padding-left: 40px;

    width: 100px;

}

.add_as_friend span {

    background: none repeat scroll 0 0 #FFE5CD;

    border: 1px solid #F4C182;

    border-radius: 3px 3px 3px 3px;

    color: #E96D10;

    display: block;

    font-family: Tahoma;

    font-size: 11px;

    height: 20px;

    line-height: 23px;

    margin-top: 9px;

    padding-bottom: 5px;

    padding-left: 5px;

    padding-right: 5px;

    text-align: center;

}

</style>


<if condition="$vboptions[addme_postbit_place]==0">

<if condition="$post[postcount] == 1">

<div class="wall_last_post">

<div class="wall_last_post_auhor">

<font color="#000000">انا : </font>

<a href="member.php?$session[sessionurl]u=$post[userid]">

 $post[username]</a></div>

<div class="add_as_friend">

<span><a rel="nofollow" href="profile.php?$session[sessionurl]do=addlist&amp;userlist=friend&amp;u=$post[userid]">

<phrase 1="$prepared[username]">اضفني كصديق</phrase></a></span></div>

<div class="wall_last_post_footer"></div></div></if>


<else />


<div class="wall_last_post">

<div class="wall_last_post_auhor">

<font color="#000000">انا : </font>

<a href="member.php?$session[sessionurl]u=$post[userid]">

 $post[username]</a></div>

<div class="add_as_friend">

<span><a rel="nofollow" href="profile.php?$session[sessionurl]do=addlist&amp;userlist=friend&amp;u=$post[userid]">

<phrase 1="$prepared[username]">اضفني كصديق</phrase></a></span></div>

<div class="wall_last_post_footer"></div></div></if>]]></template>

</templates>

<plugins>

<plugin active="1" executionorder="5">

<title>Cashe templates</title>

<hookname>cache_templates</hookname>

<phpcode><![CDATA[$globaltemplates[] = 'addme_postbit';]]></phpcode>

</plugin>

<plugin active="1" executionorder="5">

<title>addme_postbit</title>

<hookname>postbit_display_start</hookname>

<phpcode><![CDATA[global $db ,$vbulletin;

if ($vbulletin->options['addme_postbit_onoff'])

{

eval('$addme_postbit = "' . fetch_template('addme_postbit') . '";');

}]]></phpcode>

</plugin>

<plugin active="1" executionorder="5">

<title>Showthread</title>

<hookname>showthread_start</hookname>

<phpcode><![CDATA[global $db ,$vbulletin;

if ($vbulletin->options['addme_postbit_onoff'])

{

$vbulletin->templatecache['postbit_legacy'] = str_replace('$post[message]','$addme_postbit<br /><br /> $post[message]',$vbulletin->templatecache['postbit_legacy']);

$vbulletin->templatecache['postbit'] = str_replace('$post[message]','$addme_postbit<br /><br /> $post[message]',$vbulletin->templatecache['postbit']);

$vbulletin->templatecache['helm_legacy'] = str_replace ('$post[message]','$addme_postbit<br /><br /> $post[message]',$vbulletin->templatecache['helm_legacy']);

$vbulletin->templatecache['helm_postbit'] = str_replace ('$post[message]','$addme_postbit<br /><br /> $post[message]',$vbulletin->templatecache['helm_postbit']);

}]]></phpcode>

</plugin>

</plugins>

<phrases>

<phrasetype name="vBulletin Settings" fieldname="vbsettings">

<phrase name="setting_addme_postbit_copyright_desc" date="1328705795" username="admin" version="1.0"><![CDATA[<a target="_blank" href="hayef5.yoo7.com">

<img border="0" src="https://gulf-missil.ucoz.com/_ph/14/2/663075804.gif" alt=":)-(:"></a>]]></phrase>

<phrase name="setting_addme_postbit_copyright_title" date="1328705795" username="admin" version="1.0"><![CDATA[حقوق المبرمج]]></phrase>

<phrase name="setting_addme_postbit_onoff_desc" date="1328705795" username="admin" version="1.0"><![CDATA[من هنا تتحكم في اطفاء وتشغيل الهاك]]></phrase>

<phrase name="setting_addme_postbit_onoff_title" date="1328705795" username="admin" version="1.0"><![CDATA[تشغيل او تعطيل الهاك]]></phrase>

<phrase name="setting_addme_postbit_place_desc" date="1328705795" username="admin" version="1.0"><![CDATA[تحكم في امكانيه ظهور ( اضفني كصديق )]]></phrase>

<phrase name="setting_addme_postbit_place_title" date="1328705795" username="admin" version="1.0"><![CDATA[مكان ظهور ( اضفني كصديق]]></phrase>

<phrase name="settinggroup_addme_postbit" date="1328705795" username="admin" version="1.0"><![CDATA[اعدادات هاك اضفني كصديق]]></phrase>

</phrasetype>

</phrases>

<options>

<settinggroup name="addme_postbit" displayorder="65535">

<setting varname="addme_postbit_onoff" displayorder="10">

<datatype>free</datatype>

<optioncode>yesno</optioncode>

<defaultvalue>1</defaultvalue>

</setting>

<setting varname="addme_postbit_place" displayorder="20">

<datatype>free</datatype>

<optioncode><![CDATA[<select name='setting[$setting[varname]]' tabindex='1' class='bginput'> 

<option value='0' " . iif($setting['value']=='0','selected="selected"') . ">أول مشاركة فقط</option>

<option value='1' " . iif($setting['value']=='1','selected="selected"') . ">بكل المشاركات</option>

</select>]]></optioncode>

<defaultvalue>0</defaultvalue>

</setting>

<setting varname="addme_postbit_copyright" displayorder="30">

<datatype>free</datatype>

<optioncode>حقوق hayef5.yoo7.com</optioncode>

</setting>

</settinggroup>

</options>

<helptopics>

</helptopics>

<cronentries>

</cronentries>

<faqentries>

</faqentries>

</product>


عندك امرين

- المنتج والتعديل فقط الصور ويركب على جميع الاستايلات

والثاني

- ابحث عن قالب الاستايل المناسب لك postbit_legacy

والبحث عن

<!-- message -->

ونضف تحتها مباشرة هذا الكود

<!-- اضفني كصديق -->

<div class="wall_last_post" style="background-origin: initial; background-clip: initial; border-top-left-radius: 0px; border-top-right-radius: 20px; border-bottom-right-radius: 20px; border-bottom-left-radius: 0px; float: left; height: 63px; width: 190px; color: rgb(102, 102, 102); font-family: arial, helvetica, verdana; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-left: 3px solid rgb(204, 0, 255); border-right: 3px solid rgb(204, 0, 255); border-top: 3px dotted rgb(204, 204, 204); border-bottom: 3px dotted rgb(204, 204, 204); margin-right: 10px; margin-bottom: 10px; padding-bottom: 5px; background: rgb(255, 255, 255) repeat repeat 0px 0px"> 

    <div class="wall_last_post_auhor" style="background-origin: initial; background-clip: initial; color: rgb(96, 96, 96); font-family: Tahoma; font-size: 12px; font-weight: normal; text-shadow: rgb(136, 206, 216) '1px 0px 1px'; margin-left: 10px; padding-right: 11px; padding-top: 7px; background: url('http://yoursmileys.ru/csmile/friend/c0401.gif') no-repeat no-repeat 0% 50%"> 

        <font color="#000000">انا : </font>

<a href="member.php?$session[sessionurl]u=$post[userid]">$post[username]</a></div>

    <div class="add_as_friend" style="background-origin: initial; background-clip: initial; height: 38px; width: 127px; margin: auto; padding-left: 40px; background: url('http://yoursmileys.ru/img/rose.gif') no-repeat 0% 50%; "> 

        <span style="background-origin: initial; background-clip: initial; border-image: initial; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; color: rgb(233, 109, 16); display: block; font-family: Tahoma; font-size: 11px; height: 20px; line-height: 23px; text-align: center; border: 1px solid rgb(244, 193, 130); margin-top: 9px; padding-left: 5px; padding-right: 5px; padding-bottom: 5px; background: rgb(255, 229, 205) repeat repeat 0px 0px"> 

        <a rel="nofollow" style="margin:0px; padding:0px; text-decoration: none; outline-width: 0px; outline-style: none; outline-color: initial; " href="profile.php?$session[sessionurl]do=addlist&userlist=friend&u=$post[userid]"> 

        <font color="#000000">اضفني كصديق</font></a></span></div>

    <div class="wall_last_post_footer" style="color: rgb(204, 0, 0); font-family: Tahoma; font-size: 11px; font-weight: normal; "></div> 

</div>

<p align="center" style="font: normal normal normal 11px/normal tahoma, arial, helvetica, verdana; color: rgb(102, 102, 102); font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); "></p> 

<br class="Apple-interchange-newline">

<!-- /اضفني كصديق -->

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

<!-- /اضفني كصديق تعديل وتصميم هايف السفراني-->

<div align="center">

<table border="1" width="15%" cellspacing="0" cellpadding="0" style="border-style: dotted; border-width: 1px">

<tr>

<td>

<p align="center">    <div class="wall_last_post_auhor" style="background-origin: initial; background-clip: initial; color: rgb(96, 96, 96); font-family: Tahoma; font-size: 12px; font-weight: normal; text-shadow: rgb(136, 206, 216) '1px 0px 1px'; margin-left: 10px; padding-right: 11px; padding-top: 7px; background: url('http://yoursmileys.ru/csmile/friend/c0401.gif') no-repeat no-repeat 0% 50%"> 

        <font color="#000000">انا : </font>

<a href="member.php?$session[sessionurl]u=$post[userid]">$post[username]</a></div>

    <div class="add_as_friend" style="background-origin: initial; background-clip: initial; height: 38px; width: 127px; margin: auto; padding-left: 40px; background: url('http://yoursmileys.ru/img/rose.gif') no-repeat 0% 50%; "> 

        <span style="background-origin: initial; background-clip: initial; border-image: initial; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; color: rgb(233, 109, 16); display: block; font-family: Tahoma; font-size: 11px; height: 20px; line-height: 23px; text-align: center; border: 1px solid rgb(244, 193, 130); margin-top: 9px; padding-left: 5px; padding-right: 5px; padding-bottom: 5px; background: rgb(255, 229, 205) repeat repeat 0px 0px"> 

        <a rel="nofollow" style="margin:0px; padding:0px; text-decoration: none; outline-width: 0px; outline-style: none; outline-color: initial; " href="profile.php?$session[sessionurl]do=addlist&userlist=friend&u=$post[userid]"> 

        <font color="#000000">اضفني كصديق</font></a></span></div>

    <div class="wall_last_post_footer" style="color: rgb(204, 0, 0); font-family: Tahoma; font-size: 11px; font-weight: normal; "></div> 

</div>

</td>

</tr>

</table>

</div>

<!-- /اضفني كصديق تعديل وتصميم هايف السفراني-->

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

الاضافه تكون تحت 

وسلامتكم

إقرأ المزيد
author