منتدى استراحات زايد

منتدى استراحات زايد (http://vb.ma7room.com/index.php)
-   منتدى أخبار المواقع والمنتديات العربية والأجنبية (http://vb.ma7room.com/forumdisplay.php?f=183)
-   -   تعلم كتابة الـPlugin في الـvBulletin (http://vb.ma7room.com/showthread.php?t=252502)

محروم.كوم 10-25-2009 03:30 AM

تعلم كتابة الـPlugin في الـvBulletin
 
السلام عليكم ورحمة الله
تعلمنا في موضوع عفوا *** تم حجب الروابط و المرفقات عن الزوار و الأعضاء غير المتفاعلين [ للتسجيل اضغط هنا ] معظم طرق الاتصال بقاعدة البيانات واجراء الاستعلامات عليها وقد مهدنا لطريق البرمجة الخاصة بالـvBulletin ، موضوعنا اليوم سنتحدث فيه بتفاصيل اكبر عن بناء الهاكـ وبروئة عن قرب ،،، ليس بالضرورة ان تكن لك خبرة كبيرة او معلومات عن طرق برمجة الهاكات في نسخ الجيل الثالث ، يمكنك الانطلاق من هنا في برمجة هاكاتك الخاصة من خلال هذا الدرس والدروس التي سبقته ،
قبل ان ابداء معكم هنالك أشياء اساسية يجب ان تكن ملم بهاء جميع الهاكات او الـplugins يتم تخزينها في قاعدة بيانات المنتدى(في جدول يسمى plugins) ويتم إستدعاءها من قاعدة البيانات الى الصفحات عن طريق تقنية الـhook لكي يتم تنفيذ الاكواد في الاماكن التي اخترتها انت ، وتم تقسيم أي ملف من ملفات الـvBulletin الى عدة أماكن والتقسيم هذا ما يعرف بالـHook .
هنالك نقطة يجب ان تنتبه إليها هنالك أماكن كثيرة في ملفات الـvBulletin (لم يتم وضع Hooks لها وفي هذه الحالة يمكنك كتابة الكود الخاص بك يدويا في الملف المعني اذا الضرورة اقتضت ذلك ) ، حتى الان توجد حوالي اكثر من 500 hooks موزعه في الملفات ، هنالك شي آخر يجب ان تاخذه بعين الإعتبار لايمكنك تحديث اي استعلام او كود موجود مسبقا بالملف، بصورة اخرى اذا كان لديك هاك وتريد جلب نتائج أكثر عن طريق إستعلام قاعدة البيانات الموجود أصلا بالملف فلا يمكنك فعل ذلك إلا باضافة استعلام جديد خاص بك أي لايمكنك تحديث اي كود عن طريق الـHooks فقط يمكنك الاضافة، كفانا ثرثرة ولنبداء :)

أولاً:
تاكد بان نظام الـPlugins مفعل ، ويمكنكـ تفعيله من لوحة التحكم الخاصة بالمشرف العام وأسفل خيارات المنتدى.

قم بإضافة plugin جديد
عفوا *** تم حجب الروابط و المرفقات عن الزوار و الأعضاء غير المتفاعلين [ للتسجيل اضغط هنا ]
سنقم بتعريف الحقول الاساسية :-

اسم المنتج او Product Name :
اسم المنتج الافتراضي سوف يكن تابع للـvBulletin ويمكنكـ إضافة Plugin يتبع لمنتج آخر اة هاكـ آخر ،

Hook Location:
كما قلت في الاعلى هناء مكان تنفيذ الكود الخاص بك ،
لتحديد الكود قم بالاتي :
أفتح ملف الـvBulletin الذي تود تنفيذ الكود الخاص بكـ فيه وقم بتحديد المكان المناسب له بعد ذلك قم بالبحث عن أقرب $hook وعادةً يكن شكله كالتالي :
كود PHP:
($hook = vBulletinHook::fetch_hook('showthread_start')) ? eval($hook) : false;


بعد الحصول على الهوك الاقرب يمكنك معرفة اسمه بالنظر الى المتغير الذي يتم تمريره في دالة عرض الهوك ، وفي المثال أعلاه اسم الهةك هو : 'showthread_start' ، هذا هو المكان الذي سوف يتم تنفيذ كود الـPHP الخاص بك ، لكي تضح لك الصورة بشكل أكبر قم بفتح ملف showthread وتقريبا في السطر رقم 88 سوف تجد الهوك ،
وهنالك سوف يتم التنفيذ، ومن القائمة المنسدلة قم بإختياره .

عنوان الهوكـ أو الـTitle :
قم باختيار اسم مناسب للـPlugin الخاص بك وراعي ان يكن الاسم بحروف انكليزية وسوف يتم تعريف هذا الاسم في ادارة البلوغنز.

كود الـPHP أو Plugin PHP Code:
ومن هنا تبداء المعاركـ :)
هنا صع الكةد الخاص بكـ ، والذي تود تنفيذه ،
إنتبه : لا ضرورة لكي تضع اوسمة البداية
كود PHP:


قم بوضع الكود كما هو بصورة مباشرة . وهذه النقطة مهمة جداً.


تنشيط الـPlugin او Plugin is Active:
هذا الخيار يسمح لك بتشغيل / إيقاف البلوغنز الخاص بكـ
اذا اخترت نعم سوف يتم تنفيذ الكود ،
هذه ابسط صورة لكتابة الـPlugins ، وبكل تاكيد هنالك سوف اضع لكم الطريقه الثانية وهي الأكثر اعترافيه لكتابة الPlugins لانها تشمل كل شي تريدهـ .
وهي لا تختلف كثيرا عن الطريقه التي ذكرتها ،


كتابة الـPlugins كملف XML
لكي يسهل استيراده وتصديره لاصدقائكـ
الصورة النموزجيه للـPlugin :


كود PHP:



My First Hack
showthread_start
// هنا ضع الكود الخاص بك

]]>



أحفظ الملف بامتداد XML ،


شرح للكود :

السطر
كود PHP:


تعريف عام للغة وترميز اللغة ، ولست بحاجة الى تغيره ، فقط يمكنك تغير الترميز اما البقة اتركها كما هي .
الوسم يعني ان الـplugin نشط ومفعل.
الوسم My First Hackعنوان الـplugin .
الوسم showthread_start هو اسم الـHook او مكان تنفيذ الكود.
الوسم هو مكان الكود الخاص بكـ

الان تعلمت كيف تكتب Plugin خاص بك بطريقتين اختار اي واحده منهما واحبذ الطريقه الثانيه.


* هنالك شي مفيد للمطورين ومبرمجي الهاكات وانصحكـ به لكي تعرف الهوكس Hooks التي تم استدعائها ،
طبعا قبل ذلك قم بتفعيل وضع المعالجة او debug
يمكنكـ تفعيله بإضافة السطر التالي :
كود PHP:
$config['Misc']['debug'] = true;


في آخر سطر لملف الـconfig.php الخاص بمنتداكـ (تفعيله يتسبب بضغط زايد للسيرفر ولا انصحك بالتفعيل في المنتديات الكبيرة فقط في منتدى الاختبار الخاص بك أو في المنتدى المنتدى الموجود بجهازكـ) ،،،
بعد التفعيل سوف تلاحظ قائمة اسفل المنتدى توضح لك عدد الاستعلامات التي تم تنفيذها في قاعدة البيانات وتقم ايضا بجلب اسماء القوالب TEMPLATES التي تم إستدعائها في اي صفحة في المنتدى ، وفي لوحة التحكم ماخفي كان أعظم :) ،
قم بهذه الخطوات لكي يتم جلب اسماء الـHook التي تم إستدعائها واستخدامها في تلك الصفحة.
قم بفتح ملف class_hook.php الموجود داخل مجلد includes وابحث عن :
كود PHP:
function &fetch_hook($hookname)
{


وسوف تجدها تقريبا في السطر رقم 83
وأضف أسفلها مباشرة أضف:
كود PHP:
devdebug("تمت مناداة الهوكـ : $hookname");


بعد هذا الموضوع يمكنكـ الإنطلاق في كتابة أول الـPlugin الخاص بكـ ، أتمنى ان تكونو قد إستمتعم في هذا الموضوع وقد أوصلت لكم الفكرة الأساسية لبرمجة الـPlugin وقريبا سوف اكتب لكم موضوع مختصر لطريقة برمجة الـProduct ككل.وسوف يكن هنالك شرح عملي لبرمجه هاكـ متكامل إن شاء الله
تحياتي لكم يا روائع عصري :)
اخوكم محمد HaMaDa4eVeR
والسلام عليكم ورحمة الله


الساعة الآن 01:15 PM

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2 TranZ By Almuhajir


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227