هاست لینوکس

آخرین بسته‌ی MyBB: نسخه‌ی 1.8.27 MyBB منتشر شد


امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
فصل سوم نوشتن پلاگین
#1
Tongue 

درود
تند بریم سراغ ادامه کدها که خیلی دیر شده
کد php:
function closeprofile_deactivate()
{
    global 
$db$mybb;

    
$db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='closeprofile'");
    
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='closeprofile_power'");
    
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='closeprofile_uid'");
    
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='doodoo'");
    
rebuild_settings();

خوب توضیحات

کد
کد php:
function closeprofile_deactivate() 
به منظور غیر فعال کردن پلاگین یعنی وقتی پلاگین غیر فعال میشه اتفاق های زیر که میگم باید روی بدهد


کد php:
    global $db$mybb
این کد به منظور اینه که با کجای دیتابیس کار داره با دیتا بیس و بخش مای بی بی اون


کد
کد php:
    $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='closeprofile'");
    
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='closeprofile_power'");
    
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='closeprofile_uid'");
    
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='doodoo'"); 
به معنی حذف جداول از دیتا بس مای بی بی میباشد
که اگر دقت کنید کد
name='doodoo
اسم هر یک از تنظیمات که موقع فعال کردن پلاگین در دیتا سیو کردیم حالا موقع غیر فعال کردن پلاگین باید حذفش کنیم که به مشکل نخوریم


کد
کد php:
$plugins->add_hook("global_end""closeprofile"); 
میشه گفت 95% پلاگین به این کد وابسته هستش این کد به ما نشان میده که در کدام قالب از مای بی بی کار داریم که اول همیشه قالبی که باهاش کار داریم و بعدی هم متغییر تابع میباشد


رسیدیم به اخرین کدها
کد php:
function closeprofile()
{
    global 
$mybb;
    
$power $mybb->settings['closeprofile"_power'];
    
$you $mybb->input['uid'];
    
$they explode(",",$mybb->settings['closeprofile_uid']);

    if (
$power != "0")
    {if (
in_array($you,$they)){error($mybb->settings['doodoo']);}}

کدfunction closeprofile()
میشه وقتی که متغییر فعال بشه کدهای زیر من اتفاق بیوفته
global $mybb;
کد میگه با مای بی بی کار دارم
کد php:
$power $mybb->settings['closeprofile"_power']; 
این کد بهمون میگه که پاور باید طبق تنظیمات انجام شود نکته جالب اینه که اسم این متغییر را میتوانید هرچی که دوست دارید بزارید مهم نیست
کد
کد php:
$you $mybb->input['uid'
یعنی متغییر ذکر شده وقتی عمل کنه که روی ادی طرف ما کلیک میکنیم
uid به معنی ادی یوزر
و input کد اچ تی امل به منعنی که نمیشه گفت ولی منظورش کلیک کردن روش
اونم به معنی مای بی بی معلوم
کد php:
$they explode(",",$mybb->settings['closeprofile_uid']); 
متغییر که اسمی به دلخواه و explode به معنی منفجر شدن میباشد یا نمایان شدن (",",$mybb->settings['closeprofile_uid']);
به معنی تنظیمات یوزر مورد نظر
حال معنی کلی کد
یعنی وقتی تنظیمات مورد نظر اتفاق میوفتد کدهای زیر این متغییر نمایان شود
کد php:
    if ($power != "0"
این کد به معنی اینه که اگر تنظیمات پاور 0 باشد اتفاق یا کد زیر عمل شود
پاور 0 یعنی اگر تنظیمات اولیه باشد پاور
این کد
کد php:
{if (in_array($you,$they)){error($mybb->settings['doodoo']);}} 
اگر متغییر یو و they باشد اروری که در تنظیمات مورد نظر نوشتیم نمایان شود


واقعا توضیح دادن این قسمت خیلی سخت بود دوستان
درود
.....
فعالیت مجدد برای کمک رسانی خدمت دوستان  Heart Heart Heart
 
راه ارتباطی : تلگرام



پاسخ
 سپاس شده توسطMohammad-Mo (۱۳۹۱/۴/۲۵، ۱۰:۳۷:۰۶ صبح) ، geo (۱۳۹۱/۴/۲۵، ۱۱:۱۵:۴۳ صبح) ، HOssE!N-B (۱۳۹۱/۴/۲۵، ۱۲:۵۱:۰۹ عصر)
#2
کد:
$plugins->add_hook("global_end", "closeprofile");

رو لطفا بیشتر توضیح بدید
پاسخ
#3
هوک
بیشتر نقشش پیدا کردن قالب و اضافه کردن متغییر دلخواه به قالب هست
Wink
درود
.....
فعالیت مجدد برای کمک رسانی خدمت دوستان  Heart Heart Heart
 
راه ارتباطی : تلگرام



پاسخ
 سپاس شده توسطMohammad-Mo (۱۳۹۱/۴/۲۷، ۰۹:۴۰:۲۵ صبح)
#4
عزيز ميتوني اين قسمتو يكم جامع تر توضيح بدي؟ مثل همين توضيحي كه تو پست قبل براي هوك دادي ، منظورم اينه كه شما تو آموزشتون يه جورايي كاركرد متغيير ها و آرايه هاي پلاگين خودتون رو گفتيد اگه ميتونيد يكم جامع تر بگيد هر پلاگيني رو نميشه همينطوري نوشت بهتره كه كاركرد هر آرايه و متغيير رو بدونيم.

بعد اين بخش آخر آموزش بود يا ادامه داره؟ چون تا اينجا مطالب سطحش يكم پيش پا افتاده بود خوب بود ولي نميشه باهاش پلاگين هاي حرفه اي نوشت.

اگه ميشه يه توضيحاتي هم راجب گرافيك توي پلاگين ها بديد ، مثلا فرض كنيد تو پلاگينم ميخوام يك صفحه جديد درست كنم چيكار كنم و براي گرافيكاش بايد چيكار كنم و شيوه ي ارجاع دادن فايل زبان به فايل پلاگين رو هم اگه ميشه توضيح بديد.
پاسخ
#5
http://community.mybbiran.com/thread-11331.html
درود لینک بالا مطالعه کنید شما الان در حد -1 پلاگین نوشتن وارد هستید گرافیک هم باید داخل پلاگینها css کار کنید تو استایل که برای دورههای بعدی اگر دلتون میخواد بالا بیایید به اموزش های بعدی به لینک الا بروید
در رابطه با متغییر ها همین را شما فعلا اوکی کنید زیرا لینک بالا اکثر متغییرهای هوک را پیوست کردمWink
درود
.....
فعالیت مجدد برای کمک رسانی خدمت دوستان  Heart Heart Heart
 
راه ارتباطی : تلگرام



پاسخ
#6
یك سوال داشتم ، میخوام تو تنظیمات یك بخش اضافه كنم كه تایم داشته باشه یعنی مثلا طرف تنظیم كنه این پلاگین اینقدر ساعت فعال باشه بعدش غیر فعال بشه ، میشه راهنماییم كنی از چه كدی باید استفاده كنم؟
مثلا فرض كن میخوام یه پلاگین بنویسم كه تو روزای مشخصی سایت رو ببنده یا مثلا طرف ثبت نام رو برای یك مدت مشخصی ببنده.

ممنون
پاسخ
#7
پس يعني برا اين دوره پلاگين نويسي خيلي زوده Big Grin ممنون فقط كاش برا پلاگين نوشتن يه الگوريتم ميداديد همه از رو اون مينوشتن اينطوري آدم گيج ميشه داشتم رو يه پلاگين كار ميكردم ولي اينطوري كه ميگيد خيلي سخت و كاربره نوشتنش.Heart
اگرم ميشه اون قسمت $you و $they رو كلشو يكم بيشتر توضيح بديد كلا نگرفتم كاربردش چيه و چيكار ميكنه يعني تو اين پلاگين فهميدما ولي اينكه بخوام تو يه پلاگين ديگه تغييرش بدم چه كار هايي ميشه كرد رو نگرفتم مثلا جاي explode چه چيز هاي ديگه اي ميتونيم بذاريم و كار هر كدوم چيه.

ممنون.
پاسخ
#8
دوستان بادمجون واكس نزدم سوال كردم Big Grin ميشه لطفا جواب بديد برا نوشتن پلاگيني كه قراره تحويل بدم لازم دارم Heart ممنونHeart
پاسخ
#9
درود
اون دو متغییر میتونی هرچی دوست داری بزاری و بعدش فراخوانی کنی از جمله بادمجون
برای سوال دوم زودBig Grin
این پلاگین یک پلاگین تک نیست از این نوع میتونی حتی ده ها و صدها بنویسی پس عجله نکنید و اینو تحویل بده
تو اکثر پلاگین ها که من دیدم explode یعنی باید بیادBig GrinTongue
درود
.....
فعالیت مجدد برای کمک رسانی خدمت دوستان  Heart Heart Heart
 
راه ارتباطی : تلگرام



پاسخ
#10
درود
اگر اشتباه نکنم زیر رشته ها زیاد کارایی ندارد درسته؟Angel
درود
.....
فعالیت مجدد برای کمک رسانی خدمت دوستان  Heart Heart Heart
 
راه ارتباطی : تلگرام



پاسخ
 سپاس شده توسطشماره مجازی (۱۴۰۱/۸/۲۶، ۰۱:۵۰:۳۰ صبح) ، گراف مسنجر (۱۴۰۱/۱۰/۳، ۰۴:۱۲:۴۱ صبح) ، چارتر ۴۲۴ (۱۴۰۲/۹/۱۲، ۱۵:۱۲:۴۲ عصر)


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان