هاست لینوکس

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


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

درود
مثل جت میریم ببینیم چی میشه بهتر برای یاداوری به این لینک بروید
خب بریم سراغ درس کد بعدی

توضیحات کد بالا فقط دوستان این توضیحات محاوره ای میباشد برا اینکه علمی برخورد کنید باید از کتابهای php استفاده بکنید
کد function closethread_activate()
که به معنی اینکه وقتی پلاگین closethread فعال میشود باید اتفاق های کدهای زیر من بیوفتدTongue
---------------------------------------------------------------------------------------------
کد{
global $db, $mybb;
به ما میگه که با دیتابیس و مای بی بی کدهای زیر کار دارند کد $db بیانگر دیتا بیس و $mybb بیانگر مای بی بی میباشد
----------------------------------------------------------------------------------------------
کد
$closethread_group = array(
به ما میگه که تو بخش تنظیمات تو کنترل پنل باید چطوری باشد ( این کدها دقیقا مانند کد return array( در درس یک میباشد)
--------------------------------------------------------------------------------------------------
کد
"name" => "closethread",
اسم پلاگین را مشخص میکند لازم به ذکر هست که بعدا با این اسامی که برای تنظیمات میگذاریم کار داریم پس حواستون خوب باشهBig Grin
----------------------------------------------------------------------------------------------------
کد"title" => "بستن موضوع",
موضوع یا تیتری که شما تو تنظیمات انجمن خواهید دید را برای شما بیان میکند
---------------------------------------------------------------------------------------------------
کد
"description" => "تنظیمات پلاگین.",
که شرحی یا توضیحاتی زیر تیتر یا موضوع در قسمت تنظیمات پلاگین قرار میگیرد
---------------------------------------------------------------------------------------------------
کد
"disporder" => "1",
خب من این کد را به دلخواه خودم گذاشتم کد ترتیبBig GrinTongue این کد به شما امکان ترتیب دادن به تنظیمات میدهد چون در این پلاگین یک تنظیم در بخش موضوعات تنظیمات داریم همین باشه اوکی
-----------------------------------------------------------------------------------------------------------
$db->insert_query("settinggroups", $closethread_group);
$gid = $db->insert_id();
این کدها برای ثبت تنظیمات انها در دیتا بیس به هر حال اطلاعات شما باید در دیتابیس ذخیره شود و این نقش آن را دارد
------------------------------------------------------------------------------------------------------------------------
کد
$closethread_setting_1
تنظیمات یک پلاگین( وقتی که داخل تنظیمات میشوید)
بقیه کدها رو تا بالا دادم تا کد
"optionscode" => "yesno",
خب خب خب رسیدیم به جای یکم سخت( نترسیداTongue)
این گزینه برای مود و امکانات تنظیم میباشد که چند نوع دارد
دوستان باز میگم من عامیانه توضیح میدم بهتر متوجه شوید و از اصطلاحات (من دراوردی) میباشد در جایی ابراز نکنید(عواقب ابروتون با خودتونهTongueBig Grin)
yesno:این گزینه به معنی چند گزینه کردن میباشد که میتوانید با تیک تنظیمات را شخص مشخص کند
textarea:این گزینه به عنوان جعبه متن بزرگ میباشد که میتوانید متن های بلد را شخص وارد کنید
text:این گزینه به عنوان جعبه من کوچک میباشد که متن های کوتاه در آن اوصولا استفاده میشود
ترس داشتTongue
------------------------------------------------------------------------------------------------
کد بعدی
"value" => "no",
این کد حالت اولیه پلاگین را مشخص میکند ( در این پلاگین وقتی یک نفر پلاگین را فعال میکند کار نمیکند تا برود در تنظیمات و فعال بودن پلاگین را بلی کند)
به اصطلاع من تنظیمات کارخانه میباشدBig Grin
---------------------------------------------------------------------------------------------------------
این کد
rebuild_settings();
هم نقش ساختن تنظیمات در رادارد و باید اخر تنظیمات ذکر شود
تنظیماتشم ساختیمWink
درود
.....
فعالیت مجدد برای کمک رسانی خدمت دوستان  Heart Heart Heart
 
راه ارتباطی : تلگرام



پاسخ
 سپاس شده توسطgeo (۱۳۹۱/۴/۲۰، ۰۸:۵۷:۱۶ صبح) ، Mohammad-Mo (۱۳۹۱/۴/۲۰، ۱۰:۱۹:۱۰ صبح) ، -ALI- (۱۳۹۱/۴/۲۰، ۱۵:۵۶:۰۷ عصر) ، hamidxx (۱۳۹۱/۴/۲۰، ۱۶:۲۸:۴۷ عصر) ، Mohammad-Za (۱۳۹۱/۴/۲۰، ۱۶:۲۹:۴۸ عصر) ، adnan (۱۳۹۱/۴/۲۱، ۰۴:۵۳:۲۲ صبح) ، mahpishoni (۱۳۹۱/۴/۲۱، ۱۰:۲۷:۳۹ صبح)
#2
درود
کد ها رو نذاشتید؟
من بذارم؟!!!Big GrinTongue
پاسخ
#3
لازم نیست هرکی خواست از فصل اول بردارد دانلود کند
خواستیدم بزاریدWink
درود
.....
فعالیت مجدد برای کمک رسانی خدمت دوستان  Heart Heart Heart
 
راه ارتباطی : تلگرام



پاسخ
#4
آقا می شه یکم جمع و جور تر بنویسید؟

آدم نمی فهمه کی به کیه.Blush
پاسخ
#5
درود
از چه لحاظ؟Huh
درود
.....
فعالیت مجدد برای کمک رسانی خدمت دوستان  Heart Heart Heart
 
راه ارتباطی : تلگرام



پاسخ
#6
کد:
کد ها این باشه


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



پاسخ
 سپاس شده توسطamirreza78 (۱۳۹۱/۴/۲۸، ۰۸:۲۴:۴۵ صبح)
#8
تو این قسمت یعنی ما هر کدوم رو که لازم باشه میتونیم بزاریم یا نه به انتخاب خودمونه؟
نقل‌قول: yesno:این گزینه به معنی چند گزینه کردن میباشد که میتوانید با تیک تنظیمات را شخص مشخص کند
textarea:این گزینه به عنوان جعبه متن بزرگ میباشد که میتوانید متن های بلد را شخص وارد کنید
text:این گزینه به عنوان جعبه من کوچک میباشد که متن های کوتاه در آن اوصولا استفاده میشود
من اینطور متوجه شدم که یعنی اگر پلاگینی بود که نیاز داشت میتونیم استفاده کنیم نه اینکه دل بخواهی باشه.
پاسخ
#9
Wink درود
دقیقاCool
درود
.....
فعالیت مجدد برای کمک رسانی خدمت دوستان  Heart Heart Heart
 
راه ارتباطی : تلگرام



پاسخ
#10
با اجازه آقای doodoo
کد این قسمت:
کد:
function closethread_activate()
{
    global $db, $mybb;

    $closethread_group = array(
        "gid"            => "NULL",        "name"            => "closethread",        "title"         => "بستن موضوع",        "description"    => "تنظیمات پلاگین.",        "disporder"        => "1",        "isdefault"        => "no",    "gid"            => intval($gid),   );
    $db->insert_query("settinggroups", $closethread_group);
    $gid = $db->insert_id();
    
    $closethread_setting_1 = array(
        "sid"            => "NULL",        "name"            => "closethread_power",        "title"            => "فعال کردن",        "description"    => "ایا میخواهید پلاگین فعال شود ?",        "optionscode"    => "yesno",        "value"            => "no",        "disporder"        => "1",     "gid"            => intval($gid),    );

    $db->insert_query("settings", $closethread_setting_1);

    $closethread_setting_2 = array(
        "sid"            => "NULL",        "name"            => "closethread_uid",        "title"            => "ای دی موضوع ",        "description"    => "ای دی موضوع را وارد کنید ,",        "optionscode"    => "textarea",        "value"            => "0",        "disporder"        => "2",        "gid"            => intval($gid),    );

    $db->insert_query("settings", $closethread_setting_2);
        $closethread_setting_3 = array(
        "sid"            => "NULL",        "name"            => "doodoo",        "title"            => "متن ارور",        "description"    => "متن ارور برای بستن موضوع انجمن ,",        "optionscode"    => "textarea",        "value"            => "درود دسترسی به این موضوع توسط مدیریت بسته شده لطفا برای اطلاعات بیشتر با مدیریت تماس بگیرید",        "disporder"        => "3",        "gid"            => intval($gid),    );

    $db->insert_query("settings", $closethread_setting_3);

    rebuild_settings();
}

function closethread_deactivate()
{
    global $db, $mybb;

    $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='closethread'");
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='closethread_power'");
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='closethread_uid'");
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='doodoo'");
    rebuild_settings();
}

$plugins->add_hook("global_end", "closethread");
function closethread()
{
    global $mybb;
    $power = $mybb->settings['closethread_power'];
    $you = $mybb->input['tid'];
    $they = explode(",",$mybb->settings['closethread_uid']);

    if ($power != "0")
    {if (in_array($you,$they)){error($mybb->settings['doodoo']);}}
}
?>
میباشد(برای یاد گیری سریع تر گذاشتمCool
پاسخ
 سپاس شده توسطشماره مجازی (۱۴۰۱/۸/۲۶، ۰۱:۵۳:۱۲ صبح) ، گراف مسنجر (۱۴۰۱/۱۰/۳، ۰۴:۱۵:۱۲ صبح) ، چارتر ۴۲۴ (۱۴۰۲/۹/۱۲، ۱۵:۱۶:۴۱ عصر)


پرش به انجمن:


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