السلام عليكم ورحمة الله وبركاته
درسنا لهذا اليوم من الدروس المفضلة عند الجميع
بعد هذا بإذن الله ستقوم ببرمجة كل هاك ترغب ببرمجته
مع ملاحظة أن قوة وكبر الهاك يعتمد على معرفتك بالـ PHP
وسأقوم بعرض بعض الأمثلة التطبيقية التي تراها في بعض الهاكات أو على الأقل أغلبها
وأيضاً سأقوم بعرض طريقة وضع متغير القالب في أي قالب تريده بشكل تلقائي
أي عند تركيب الهاك لا حاجة لتعديل القوالب
----------------------------------------
مثال على أول كود نكتبه ليفهم الجميع :
----------------------------------------
الكود التالي يقوم بالتأكد إن تم تفعيل الهاك من خيارات الهاك أم لا
وعند التفعيل سيتم تنفيذ أكواد الهاك
مع استبدال XXX بإسم الخيار الخاص بتفعيل الهاك :
رمز PHP:
if ($vbulletin->options['XXX'])
{
هنا أكواد PHP الخاصة بالهاك
}
الكواد التالي يقوم بالتأكد إذا كان عدد المشاركات الموجود في الخيار XXX في لوحة التحكم
هو أقل من عدد مشاركات العضو .. وإن كان أقل سيتم إظهار رسالة عدم وجود صلاحيات :
رمز PHP:
if ($vbulletin->userinfo['posts'] < $vbulletin->options['XXX'])
{
print_no_permission();
}
الكود التالي يقوم بالتأكد إذا كان العضو هو صاحب الموضوع أم لا :
رمز PHP:
if ($threadinfo['postusername'] == $vbulletin->userinfo['username'])
{
هنا أكواد PHP الخاصة بالهاك
}
الكود التالي يقوم بالتأكد أن العضو من المجموعات المحددة :
رمز PHP:
if (is_member_of($vbulletin->userinfo, array('2','3','4')))
{
هنا أكواد PHP الخاصة بالهاك
}
الكود التالي يقوم بالتأكد أن القسم هو المطلوب :
رمز PHP:
if ($foruminfo['forumid'] == 1)
{
هنا أكواد PHP الخاصة بالهاك
}
----------------------------------------
لاتنسى مراعاة الهوك الخاص بالبلقن
ذكرت في الدرس الثالث بعض الهوكات واستخداماتها
----------------------------------------
الآن سننتقل إلى الجزء المفضل عند الجميع
طريقة وضع القالب تلقائياً دون أي تدخل من صاحب المنتدى
أي دون وضع أي متغيرات في أي قالب بشكل يدوي
أولاً بعد إَضافة القالب ضع الكود التالي في بداية البلقن ( قبل كود الاستبدال الذي سنراه بعد قليل ) :
رمز PHP:
eval('$XXX = "' . fetch_template('XXX') . '";');
مع إستبدال XXX بإسم القالب
أما الكود التالي فيأتي بعد الكود السابق وهو للإستبدال التلقائي للقالب :
رمز PHP:
$vbulletin->templatecache['XX'] = str_replace('QQ','QQ NN',$vbulletin->templatecache['XX']);
مع إستبدال XX بإسم القالب الذي تريد وضع الهاك فيه مثل FORUMHOME للصفحة الرئيسية
وإستبدال QQ بكود موجود في نفس القالب وتريد وضع الهاك أسفله أو فوقه
وإستبدال NN بالمتغير الخاص بإسم القالب مثل $XXX
أي مثلاً أريد وضع القالب RAMZY في الصفحة الرئيسية أسفل الهيدر .. سيكون الكود كالتالي :
رمز PHP:
$vbulletin->templatecache['header'] = str_replace('$_phpinclude_output','$_phpinclude_ou tput $RAMZY',$vbulletin->templatecache['header']);
أو الكود التالي سيفي بالغرض وهو أفضل من الكود السابق في هذه الحالة :
رمز PHP:
$vbulletin->templatecache['header'].= '$RAMZY';
لكن تريث قليلاً .. بعض الهاكات لا تحتاج إلى قوالب .. لذا تضع المطلوب في متغير ومن ثم تستبدل .. مثال :
رمز PHP:
$ramzy = $vbulletin->opions['XX_news'];
$vbulletin->templatecache['header'].= '$ramzy';
وكما ذكرت سابقاً هذا يعتمد على حسب معرفتك بالـ PHP
----------------------------------------
وهذا مثال سريع على الإستبدال التلقائي مع بعض الإضافات :