بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته،،
:: نظام الأضافات البرمجية (Addons) في منتديات PBBoard ::
هو نظام من خلاله يتمكن المبرمجين والمطورين من برمجة اضافة برمجية (هاك) تكتب بداخل بملف من نوع XML يتم تركيبها بشكل بسيط وسهل من خلال لوحة إدارة منتديات pbboard عن طريق استيراد اضافة برمجية وبنقرة زر واحدة يتم من خلالها التركيب حيث يتم تعديل واضافة القوالب وتنفيذ الاستعلامات في قاعدة البيانات بشكل تلقائي . يتم التحكم بالأضافة البرمجية من بند التحكم بالإضافات البرمجية حيث يتم عرض كافة الأضافات البرمجية التي تم تركيبها ويتاح لك عدة خيارات بجانب كل اضافة تتتمثل بالتحرير والتعطيل والتفعيل والحذف والتصدير ..
شرح طريق بناء وكتابة اضافة برمجية (Addons) لمنتديات PBBoard:
لكتابة اضافة برمجية تحتاج إلى خبرة جيدة في لغة تصميم الصفحات HTML ولغة الاستعلامات في قواعد البيانات SQL
الخطوة الأولى وهي التعرف كافة العناصر والأكواد التي يمكن استخدامها في ملف الـ xml الخاص بالأضافة البرمجية لمنتديات pbboard وماعمل كل منها :
السطر الأول اول عنصرتعريفي ثابت يتم كتابته في بداية اول سطر بداخل ملف الـ XML
CODE
<?xml version="1.0" encoding="UTF-8"?>
السطر الثاني العنصر plugin name وهو تعريف اسم الأضافة البرمجية وسنسميها على سبيل المثال Addons_Name
CODE
<plugin name="Addons_Name">
السطر الثالث العنصر version وهو رقم الإصدار الخاص بالأضافة البرمجية وسيكون مثلاً 1.0
CODE
<version>1.0</version>
السطر الرابع العنصر description وهو وصف مختصر للأضافة البرمجية وسيكون على سبيل المثال Addons Description MOD
CODE
<description>Addons Description MOD</description>
السطر الخامس العنصر author وهو اسم كاتب او مبرمج الأضافة البرمجية وسيكون على سبيل المثال Suliman
CODE
<author>Suliman</author>
السطر السادس العنصر url وهو رابط موقع مبرمج الأضافة وسيكون على سبيل المثال pbboard.info
CODE
<url>pbboad.info</url>
الآن ندخل في المرحلة البرمجية :
العنصر installcode كود التثبيت وهو خاص بتنفيذ ادخال اوامر او استعلامات في قاعدة بيانات المنتدى يتم كتابة الأستعلامات بالطريقة المتبعة في نظام منتدى الـ pbboard وليس بشكلها الأساسي وعلى سبيل المثال نريد انشاء حقل جديد اسمه user_mood في جدول الأعضاء member فسيكون الأستعلام بهذا الشكل :
يمكن ايضاً اضافة العديد من الأستعلامات في عنصر installcode واحد
وفي حال لايوجد اي استعلامات للأضافة البرمجية فلا يتم كتابته او يتم ترك هذا العنصر فارغ بالشكل التالي:
CODE
<installcode><![CDATA[]]></installcode>
او لاتتم كتابتة
العنصر السابع uninstallcode كود الغاء التثبيت وهو خاص بحذف الاوامر والاستعلامات التي تم ادخالها في قاعدة بيانات المنتدى ويتم تنفيذة عن النقرعلى حذف الأضافة البرمجية
يتم كتابة الأستعلامات بالطريقة المتبعة في نظام منتدى الـ pbboard وليس بشكلها الأساسي وعلى سبيل المثال نريد حذف الاستعلام السابق في العنصر installcode فسيكون الاستعلام بهذا الشكل :
CODE
<uninstallcode><![CDATA[$PowerBB->DB->sql_query('ALTER TABLE ' . $PowerBB->table['member'] . " DROP user_mood");]]></uninstallcode>
يمكن ايضاً اضافة العديد من استعلامات الحذف في عنصر uninstallcode واحد
وفي حال لايوجد اي من استعلامات حذف للأضافة البرمجية يتم ترك هذا العنصر فارغ بالشكل التالي :
CODE
<uninstallcode><![CDATA[]]></uninstallcode>
او لاتتم كتابتة
التعديل على قوالب المنتدى
العنصر الثامن : templates وهو عنصر بداية تعديلات قوالب الأستايلات ويحتوي على العديد من عناصر template بداخله ويكون بالشكل التالي :
CODE
<templates>
واسفله يتم البدأ بالتحكم بالقوالب وتتمثل في 4 خيارات وهي :
الخيار الأول - اضافة قالب جديد وسنسمية new_template.tpl ويتم كتابة كلمة new لقيمة الـ type وتكون كتابة العناصر لأضافة قالب جديد بالشكل التالي :
CODE
<template name="new_template.tpl" type="new">
اسفله مباشرة سيكون عنصر text وسيكون بداخله محتوى القالب الجديد وسنضع كلمة TestongText
CODE
<text><![CDATA[TestongText]]></text>
يكتب المحتوى بداخل
CODE
<![CDATA[TestongText]]
بعد انتهاء من كتابة عنصر الـ text يتم اغلاق عنصر template
CODE
</template>
الخيار الثاني - وهو ( ابحث واضف بعده) ويتم كتابة كلمة after لقيمة الـ type وتكون كتابة العناصر للتعديل على القالب بالشكل التالي :
CODE
<template name="name_template.tpl" type="after ">
اسفله مباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة البحث ولا بد ان تكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه .. وسنضع على سبيل المثال <!-- action_find_addons_2 -->
اسفله مباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة البحث ولا بد ان تكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه .. وسنضع على سبيل المثال <!-- action_find_addons_2 -->
اسفله مباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة البحث ولا بد ان تكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه .. وسنضع على سبيل المثال <!-- action_find_addons_2 -->
اسفله مباشرة يتم كتابه عنصر action المختص باستبدال جملة البحث بالنص الجديد التي تم ادخالها في عنصر find وسنضع كلمة pbboard.info
CODE
<action><![CDATA[pbboard.info]]></action>
بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template
CODE
</template>
هذه هي الخيارات الـ 4 لربما لاتحتاجها جميعها لكن لابد من شرح وأخذ العلم بها للتوسع ..
بعد الأنتهاء من كتابة كافة تعديلات او اضافة القوالب يتم اغلاق وسم الـ templates
CODE
</templates>
التعديل على قوالب لوحة الإدارة
العنصر التاسع : admin_templates وهو عنصر بداية تعديلات قوالب لوحة الإدارة ويحتوي على العديد من عناصر template بداخله ويكون بالشكل التالي :
CODE
<admin_templates>
واسفله يتم البدأ بالتحكم بالقوالب وتتمثل في 4 خيارات وهي :
الخيار الأول - اضافة قالب جديد وسنسمية new_template.tpl ويتم كتابة كلمة new لقيمة الـ type وتكون كتابة العناصر لأضافة قالب جديد بالشكل التالي :
CODE
<template name="new_template.tpl" type="new">
اسفله مباشرة سيكون عنصر text وسيكون بداخله محتوى القالب الجديد وسنضع كلمة TestongText
CODE
<text><![CDATA[TestongText]]></text>
يكتب المحتوى بداخل
CODE
<![CDATA[TestongText]]
بعد انتهاء من كتابة عنصر الـ text يتم اغلاق عنصر template
CODE
</template>
الخيار الثاني - وهو ( ابحث واضف بعده) ويتم كتابة كلمة after لقيمة الـ type وتكون كتابة العناصر للتعديل على القالب بالشكل التالي :
CODE
<template name="name_template.tpl" type="after ">
اسفله مباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة البحث ولا بد ان تكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه .. وسنضع على سبيل المثال <!-- action_find_addons_2 -->
اسفله مباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة البحث ولا بد ان تكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه .. وسنضع على سبيل المثال <!-- action_find_addons_2 -->
اسفله مباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة البحث ولا بد ان تكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه .. وسنضع على سبيل المثال <!-- action_find_addons_2 -->
اسفله مباشرة يتم كتابه عنصر action المختص باستبدال جملة البحث بالنص الجديد التي تم ادخالها في عنصر find وسنضع كلمة pbboard.info
CODE
<action><![CDATA[pbboard.info]]></action>
بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template
CODE
</template>
هذه هي الخيارات الـ 4 لربما لاتحتاجها جميعها لكن لابد من شرح وأخذ العلم بها للتوسع ..
بعد الأنتهاء من كتابة كافة تعديلات او اضافة القوالب يتم اغلاق وسم الـ admin_templates
CODE
</admin_templates>
واخيراً في النهاية يتم اغلاق عنصر plugin name الذي تمت كتابتة في السطر الثاني في الأعلى بهذا الشكل
CODE
</plugin>
ارجو ان يكون الشرح خفيف وواضح لم اتعمق كثيراً وحاولت باقصى حد ان ابسط الشرح .
إستخدام تعدد اللغات في الأضافة البرمجية
مثال لكتابة مفردات اللغة في ملف اللغة العربية والإنجليزية :
وبالقوالب نستخدم لتعريف متغير اللغة
CODE
{$lang['addons']['test']}
_____________________________________________
واضافات اللغة للجيل الثالث تكون بهذا الشكل :
-----------------------
الـ HOOKS الخطاطيف وهي اماكن ومواقع ثابته موزعه في اهم القوالب والملفات لعرض الأكواد البرمجية للهاكات
حيث main_place و place يضاف بهما اسم المكان المطلوب عرض الكود به
مثال للأستخدام
اخي الغالي انا عملت هاك رساله تضهر للزائر ترحيبيه مثل تبع الفي بي
تبع اذا كانت زيارتك الاولى فيرجى الدخول للقوانين
انا عملت كل الخطوات
لكن بعد رفع الهاك بدء يضهر كل شيء ابيض صفحت لوحة الاداره بيضاء
والمنتدى ابيض وتم ارفاق الهاك لمعاينته وارجو ان تقلي ايش المشكله وايضاً كيف احذف الهاك حتى استرجع منتدايا التجريبي لان ماني قادر افتح اي شيء
المشاركة الأصلية كتبت بواسطة: مهند اخي الغالي انا عملت هاك رساله تضهر للزائر ترحيبيه مثل تبع الفي بي
تبع اذا كانت زيارتك الاولى فيرجى الدخول للقوانين
انا عملت كل الخطوات
لكن بعد رفع الهاك بدء يضهر كل شيء ابيض صفحت لوحة الاداره بيضاء
والمنتدى ابيض وتم ارفاق الهاك لمعاينته وارجو ان تقلي ايش المشكله وايضاً كيف احذف الهاك حتى استرجع منتدايا التجريبي لان ماني قادر افتح اي شيء
وشكرا
لديك اخطاء كثيرة
- اوسمة عناصر غير مقفله .
- خطأ في كتابة اسم القالب المراد البحث عنه.
- اوسمه عناصر غير موجودة .
- عناصر فارغة لاحاجة لأن تكون موجوده .
- ايضاً إذا كانت تعديلات القوالب مجرد قالب واحد فاضف في النهاية وقبل وسم اقفال تعديلات القوالب هذا
CODE
</templates>
قبله اضف
CODE
<template>
</template>
راجع الشرح بتمعن . وتفضل هذه الأضافة البرمجية التي ترغب بعملها بشكل صحيح قارن بينها وبين التي قمت بعملها لتعرف اخطائك
تم تحرير المشاركة بواسطة :Soliman
بتاريخ:06-10-2010 04:15 مساءً
جزاك الله خير اخي سليمان على اصلاحك للاخطاء انا حقارن حتى اعرف جميع اخطائي حتى اعمل اضافاة برمجيه ان شاء الله
جزاك الله خير اخي بس بقى شيء واحد حبيت اسئله واخلص كل شيء
مثلاً عندي اضافه برمجيه حبيت ان تضهر مع قائمة الاضافات البرمجيه في لوحة الاداره
يعني مثلاً برمجة كود ليضهر للوحة الاداره
لكن اين اضعه ليضهر
وشكرا
emovip
بو غدير
حالياً نظام الأضافات البرمجية يشمل تعديلات قوالب المنتدى بالأضافة إلى تنفيذ الأستعلامات في قاعدة البيانات وايضاً تعديل ملف الأندكس والآدمن من حيث اضافة اسماء الموديلات بداخلها لكني لم اعتمدها بشكل نهائي حتى الآن وعطلتها في ملف الـ addons.module ..
في المرحلة القادمة سيكون نظام الأضافات البرمجية متكامل إن شاء الله بحيث يمكن اضافة خيارات وإعدادات للأضافة البرمجية يتم التحكم بها من لوحة الإدارة وايضاً تعديل ملفات php
الأخ حسان ارفع لصور الموجودة بداخل مجلد images بداخل look/images