تغطية مباشرة لديمو كامب دبي 3
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير المنتديات > إصلاح وصيانة المنتديات
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
مشرف قسم تطوير المنتديات
تاريخ التسجيل: Jun 2005-
Blog Entries: 1
#1 (permalink)  
تعلم كتابة الـPlugin في الـvBulletin


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

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

قم بإضافة plugin جديد
http://www.yoursite.com/vb/admincp/plugin.php?do=add
سنقم بتعريف الحقول الاساسية :-

اسم المنتج او 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:
<?php ?>
قم بوضع الكود كما هو بصورة مباشرة . وهذه النقطة مهمة جداً.


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


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


كود PHP:
<?xml version="1.0" encoding="ISO-8859-1"?>
<plugins>
<plugin active="1">
<title>My First Hack</title>
<hookname>showthread_start</hookname>
<phpcode><![CDATA[
// هنا ضع الكود الخاص بك
 
]]></phpcode>
</plugin>
</plugins>
أحفظ الملف بامتداد XML ،


شرح للكود :

السطر
كود PHP:
<?xml version="1.0" encoding="ISO-8859-1"?>
تعريف عام للغة وترميز اللغة ، ولست بحاجة الى تغيره ، فقط يمكنك تغير الترميز اما البقة اتركها كما هي .
الوسم <plugin active="1"> يعني ان الـplugin نشط ومفعل.
الوسم <title>My First Hack</title>عنوان الـplugin .
الوسم <hookname>showthread_start</hookname> هو اسم الـHook او مكان تنفيذ الكود.
الوسم <phpcode><![CDATA[ ]]></phpcode> هو مكان الكود الخاص بكـ

الان تعلمت كيف تكتب 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
والسلام عليكم ورحمة الله






__________________
######## PHP.SD ########
The launch was now

## mail@php.sd
HaMaDa4eVeR غير متواجد حالياً   قديم 23-05-2006, 10:32 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Apr 2004-
#2 (permalink)  

طيب اخوى محمد كل هذا كلام جميل ولكن ما هى الاكواد التى نستدعيها داخل Plugin
كعاملية اساسية



طلب اخر
ممكن تعطتينى لك التحميل الخاص

vBulletin API






__________________
أشهد ان لا اله الا الله - وأشهد انا محمداً رسول الله
مجموعة حـلم العــرب | لخــدمــات الإنترنت والتسويق
www.arabdream.biz
support@aradream.com
0020103639400
مورى غير متواجد حالياً   قديم 23-05-2006, 11:56 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2004-
#3 (permalink)  

بارك الله فيك أخي الكريم شرح مميز

و الى الامام






golden eye غير متواجد حالياً   قديم 23-05-2006, 11:56 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jun 2001-
#4 (permalink)  

مشاء الله كفيت ووفيت الحمد الله الذي الواحد بيلقي امثلك يحب لااخيه مايحب لنفسه مبدع






__________________
{وَعِبَادُ الرَّحْمَنِ الَّذِينَ يَمْشُونَ عَلَى الْأَرْضِ هَوْنًا وَإِذَا خَاطَبَهُمُ الْجَاهِلُونَ قَالُوا سَلَامًا}
لو ماعجبك ردي ومواضيعي فاشرب اسبرين ينفعك
REDSTAING غير متواجد حالياً   قديم 23-05-2006, 12:16 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2004-
#5 (permalink)  

يعطيك ألف عافية وجاري قراءة الموضوع






__________________
وفقنا الله وإياكم لكل خير
سأصبر حتى يعجز الصبر عن صبري
وأصبر حتى يحكم الله في أمري
وأصبر حتى يعلم الصبر أنني
صبرت على شيء أمر من الصبر
أبو لؤي غير متواجد حالياً   قديم 23-05-2006, 02:26 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Oct 2003-
#6 (permalink)  

تسلم والله يالذيب على هالشرح الرائع






RELAX غير متواجد حالياً   قديم 25-05-2006, 05:03 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Oct 2005-
#7 (permalink)  

سلمت يمناك..شرح رائع






__________________
:: Can You Imagine Invision Board ::
http://www.LibyanMasters.com
Cracker غير متواجد حالياً   قديم 25-05-2006, 03:39 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Apr 2004-
#8 (permalink)  

ماشاء الله درس جميل

يعطيك العافيه اخوي






__________________
tu@w.cn
مرعب غير متواجد حالياً   قديم 25-05-2006, 03:51 PM
رد مع اقتباس
مشرف قسم تطوير المنتديات
تاريخ التسجيل: Jun 2005-
Blog Entries: 1
#9 (permalink)  

اهلاً وسهلا

موري اشكركـ أولا لمروركـ
بالنسبة للرابط فيهو :http://members.vbulletin.com/api
والشكر للجميع لمرورهم






__________________
######## PHP.SD ########
The launch was now

## mail@php.sd
HaMaDa4eVeR غير متواجد حالياً   قديم 27-05-2006, 07:50 PM
رد مع اقتباس
صاحب موقع مهارات سوفت
تاريخ التسجيل: Apr 2004-
#10 (permalink)  

جزاك الله خير أخي الكريم على هذا المجهود ..






__________________
██████████
██████████
██████████


مهارات سوفت
مهارات سوفت للبرامج وتطوير المواقع والمنتديات والتبادل التجاري.


للتواصل ..
00967733873335

باب الحارة .. للبيع ..!!
مُجَاهِد غير متواجد حالياً   قديم 11-07-2006, 03:31 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2001-
#11 (permalink)  

ماشاءالله عليك أخوي حَمد ..
ماقصرت يشهد الله ..
بس ياخوي لو بعد تكلمت عن الـoptions في لوحة التحكم بعدما تضيفها كيف تستفيد منها ..
والتمبلتات الخاصة بالبرودكت .. وكيف تطلع معلومات من المنتدى نفسه كإسم المنتدى أو عنوانه ..
بنكون شااااكرييين

الله يجزاك بالخير .. كفيت ووفيت ..






hasan147 غير متواجد حالياً   قديم 08-10-2006, 05:41 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#12 (permalink)  

جزاك الله خير معلومات قيمة






__________________
منتديات جلـسـات - معنا للأبداع معنى أخر ..!
www.ja1sat.com
أبوبسام غير متواجد حالياً   قديم 08-10-2006, 06:41 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Nov 2005-
#13 (permalink)  

HaMaDa4eVeR جزاك الله خيرا






__________________
.
DESIGN-1983 غير متواجد حالياً   قديم 08-10-2006, 06:48 AM
رد مع اقتباس
مشرف قسم تطوير المنتديات
تاريخ التسجيل: Jun 2005-
Blog Entries: 1
#14 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة hasan147
ماشاءالله عليك أخوي حَمد ..
ماقصرت يشهد الله ..
بس ياخوي لو بعد تكلمت عن الـoptions في لوحة التحكم بعدما تضيفها كيف تستفيد منها ..
والتمبلتات الخاصة بالبرودكت .. وكيف تطلع معلومات من المنتدى نفسه كإسم المنتدى أو عنوانه ..
بنكون شااااكرييين

الله يجزاك بالخير .. كفيت ووفيت ..
أهلا وسهلا بكــ


اقتباس:
وكيف تطلع معلومات من المنتدى نفسه كإسم المنتدى أو عنوانه ..
اذا كنت تود اسم المنتدى والرابط هذه هي المتغيرات :
كود PHP:
$vbuuletin->options['bbtitle'
رابط المنتدى:

كود PHP:
$vbuuletin->options['bburl'
واعذرني لاني لم الشق الاول من السؤال






__________________
######## PHP.SD ########
The launch was now

## mail@php.sd
HaMaDa4eVeR غير متواجد حالياً   قديم 08-10-2006, 02:49 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jan 2002-
#15 (permalink)  

والله إني ادور مثل هالدروس ..

مشكور أخوي وجزاك الله خير ..

وننتظر درس برمجة الـProduct






__________________
█████████
█████████
█████████
Moon4ae غير متواجد حالياً   قديم 31-12-2006, 05:36 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jan 2007-
#16 (permalink)  

يعطيك العافية

لنفرض ان لدي كود معين يقوم بتنفيذ اوامر اريده ان يكون في قسم من اقسام المنتدى مثلا المنتدى العام

كيف اكتب الكود الشرطي لتحقيق التنفيذ في القسم الي احدده من اقسام المنتدى ولا يتنفذ في باقي الاقسام فقط في القسم المحدد..

وايضا لو تشرح كيف ننشئ خيارات للهاك الي انشأناه في خيارات المنتدى ليسهل التحكم به من هناك كإضافة رقم القسم وغيره ..

متابع للموضوع ولي عودة بعد تجارب في الهاك

توني انتبه لتاريخ الموضوع فالعذر والسموحة لو تحبون تحذفون الرد خذو راحتكم






x_yousef_x غير متواجد حالياً   قديم 28-08-2007, 08:28 PM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 05:08 AM بتوقيت المملكة العربية السعودية