درس برمجة اضافة ل pbb و تركيبها عن طريق لوحة التحكم







بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

،، تم تحديث الشرح للتوافق مع النسخة 2.1.3 :: نظام الأضافات البرمجية (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 وهو رابط موقع مبرمج الأضافة وسيكون على سبيل المثال http://www.pbboad.com/

رمز Code:
 <url>www.pbboad.com</url>

الآن ندخل في المرحلة البرمجية : العنصرinstallcode كود التثبيت وهو خاص بتنفيذ ادخال اوامر او استعلامات فيقاعدة بيانات المنتدى يتم كتابة الأستعلامات بالطريقة المتبعة في نظاممنتدى الـ pbboard وليس بشكلها الأساسي وعلى سبيل المثال نريد انشاء حقلجديد اسمه user_mood في جدول الأعضاء member فسيكون الأستعلام بهذا الشكل:

رمز Code:
          <installcode><![CDATA[$PowerBB->DB->sql_query("ALTERTABLE " . $PowerBB->table['member'] . " ADD`user_mood` VARCHAR( 250 ) NULL DEFAULTNULL");]]></installcode>

يمكن ايضاً اضافة العديد من الأستعلامات في عنصر installcode واحد وفي حال لايوجد اي استعلامات للأضافة البرمجية يتم ترك هذا العنصر فارغ بالشكل التالي :

رمز Code:
<installcode><![CDATA[]]></installcode>

او لاتتم كتابتة العنصرالسابع uninstallcode كود الغاء التثبيت وهو خاص بحذف الاوامروالاستعلامات التي تم ادخالها في قاعدة بيانات المنتدى ويتم تنفيذة عنالنقرعلى حذف الأضافة البرمجية يتم كتابة الأستعلامات بالطريقةالمتبعة في نظام منتدى الـ pbboard وليس بشكلها الأساسي وعلى سبيل المثالنريد حذف الاستعلام السابق في العنصر installcode فسيكون الاستعلام بهذاالشكل :

رمز Code:
          <uninstallcode><![CDATA[$PowerBB->DB->sql_query('ALTERTABLE ' . $PowerBB->table['member'] . " DROPuser_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 )حيث تكتب كلمة او جملة البحث ولا بد انتكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه.. وسنضع على سبيل المثال

رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>

اسفلهمباشرة يتم كتابه عنصر action المختص باضافة النص الجديد اسفل كلمة البحث التي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM

رمز Code:
<action><![CDATA[PBBOARD.COM]]></action>

بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template

رمز Code:
</template>

الخيارالثالث : وهو( ابحث عن واضف فوقه ) ويتم كتابة كلمة before لقيمة الـ typeتكون كتابة العناصر للتعديل على القالب بالشكل التالي :

رمز Code:
<template name="name_template.tpl" type="before ">

اسفلهمباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة البحث ولا بد انتكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه.. وسنضع على سبيل المثال

رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>

اسفله مباشرة يتم كتابه عنصر action المختص باضافة النص الجديد فوق كلمة البحث التي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM

رمز Code:
<action><![CDATA[PBBOARD.COM]]></action>

بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template

رمز Code:
</template>

الخيارالرابع : وهو( ابحث عن واستبدله بـ ) ويتم كتابة كلمة replace لقيمة الـtype تكون كتابة العناصر للتعديل على القالب بالشكل التالي :

رمز Code:
<template name="name_template.tpl" type="replace">

اسفلهمباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة البحث ولا بد انتكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه.. وسنضع على سبيل المثال

رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>

اسفله مباشرة يتم كتابه عنصر action المختص باستبدال جملة البحث بالنص الجديد التي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM

رمز Code:
<action><![CDATA[PBBOARD.COM]]></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 )حيث تكتب كلمة او جملة البحث ولا بد انتكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه.. وسنضع على سبيل المثال

رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>

اسفلهمباشرة يتم كتابه عنصر action المختص باضافة النص الجديد اسفل كلمة البحثالتي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM

رمز Code:
<action><![CDATA[PBBOARD.COM]]></action>

بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template

رمز Code:
</template>

الخيارالثالث : وهو( ابحث عن واضف فوقه ) ويتم كتابة كلمة before لقيمة الـ typeتكون كتابة العناصر للتعديل على القالب بالشكل التالي :

رمز Code:
<template name="name_template.tpl" type="before ">

اسفلهمباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة البحث ولا بد انتكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه.. وسنضع على سبيل المثال

رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>

اسفله مباشرة يتم كتابه عنصر action المختص باضافة النص الجديد فوق كلمة البحث التي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM

رمز Code:
<action><![CDATA[PBBOARD.COM]]></action>

بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template

رمز Code:
</template>

الخيارالرابع : وهو( ابحث عن واستبدله بـ ) ويتم كتابة كلمة replace لقيمة الـtype تكون كتابة العناصر للتعديل على القالب بالشكل التالي :

رمز Code:
<template name="name_template.tpl" type="replace">

اسفلهمباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة البحث ولا بد انتكون جملة البحث فريدة ووحيدة وغير متكررة في القالب المراد التعديل عليه.. وسنضع على سبيل المثال

رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>

اسفله مباشرة يتم كتابه عنصر action المختص باستبدال جملة البحث بالنص الجديد التي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM

رمز Code:
<action><![CDATA[PBBOARD.COM]]></action>

بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template

رمز Code:
</template>

هذه هي الخيارات الـ 4 لربما لاتحتاجها جميعها لكن لابد من شرح وأخذ العلم بها للتوسع .. بعد الأنتهاء من كتابة كافة تعديلات او اضافة القوالب يتم اغلاق وسم الـ admin_templates

رمز Code:
</admin_templates>

واخيراً في النهاية يتم اغلاق عنصر plugin name الذي تمت كتابتة في السطر الثاني في الأعلى بهذا الشكل

رمز Code:
</plugin>
انتهي الشرح

http://www.traidnt.net/vb/showthread.php?t=1767269