Mybb Eklenti Temelleri / Mybb plugin basics

1
21013

Konu

#1
Mybb Eklentileri, MyBB'yi genişletmenize ve değiştirmenizi sağlar. böylece yaptığınız değişiklilikler kolayca etkinleştirilebilir, devre dışı bırakılabilir, kurulabilir veya kaldırılabilir. 

Eklenti dosyanızı adlandırmak ve bazı eklenti işlev adlarınızda kullanmak için kısa ve küçük harf kullanmalısınız.
Yapacağımız Eklenti için bir php dosyası oluşturalım.
inc/plugins
Örnekte kullanacağım dosya adı : friday_plugins.php


PHP Kod:
<?php
if(!defined("IN_MYBB"))
{
 die(
"Bu Dosyaya direk erişim yasaktır!");
}
function 
friday_plugins_info()
{
 return array(
 
"name" => "Eklenti İsmi",
 
"description" => "Eklenti Açıklaması",
 
"website" => "https://webailesi.com/",
 
"author" => "Friday",
 
"authorsite" => "https://webailesi.com/",
 
"version" => "1.0",
 
"guid" => "",
 
"codename" => "",
 
"compatibility" => "*"
 
);
}
function 
friday_plugins_install()
{
// Eklentiyi Kur ve aktifleştir Butonuna basılınca yapılacak işlev.
}
function 
friday_plugins_is_installed()
{
// Eklentinin Kurulumu,aktifmi olduğunu belirteceğimiz kısım.
}
function 
friday_plugins_uninstall()
{
// Eklenti Kaldırılınca Yapılacak işlev.
}
function 
friday_plugins_activate()
{
// Eklenti Aktifken Çalışacak Kodlar.
}
function 
friday_plugins_deactivate()
{
// Eklenti Kapatıldığında Çalışacak Kodlar

NOT : Yukarıdaki kodlarda friday_plugins yazan kısma dosya ismini yazmanız gerek !

Gelelim friday_plugins_is_installed değişkenine bu değişken yukarıdada belirttiğim gibi eklenti kurulumu,kaldırılmışmı bunu kontrol eder.

örneğin return true; yazarsanız eklentiyi kapat ve kaldır butonlarını görürsünüz.

return false; yazarsanız'da eklentiyi kur ve aktifleştir butonlarını görürsünüz.

Peki bunu otomatik nasıl yapıcaz ?

örneğin eklenti ile 1 veritabanı oluşturduk şöyle bir yol izleyeceğiz ; 

PHP Kod:
global $db;
    if($db->table_exists("oluşturduğumuzveritabanı"))
    {
        return true;
    }
    return false

Çoğu değişkeni kullanabilmek için aşağıdaki değişkenleri functionlarımızın altına yazmamız gerekir.
$mybb, $user, $db,$templates gibi MyBB global değişkenleriyle etkileşime girmeniz gerekir .
Örnek vermek gerekirse ;


PHP Kod:
function test() {
global 
$db;
$query $db->simple_select("users","username");
while (
$test $db->fetch_array($query)) {
 echo $test['username'];

fonksiyonumuz bu şekilde çalışır fakat aşağıda yaptığım şekilde çalışmaz.
PHP Kod:
function test() {
$query $db->simple_select("users","username");
while (
$test $db->fetch_array($query)) {
 echo $test['username'];








Mybb Plugins allow you to extend and modify MyBB. so that the changes you make can be easily enabled, disabled, installed or uninstalled.

You should use short and lowercase letters to name your plugin file and use it in some of your plugin function names.
Let's create a php file for the Plugin we will make.inc/plugins
The filename I will use in the example: friday_plugins.php

PHP Kod:
<?php
if(!defined("IN_MYBB"))
{
die(
"Direct access to this file is prohibited!");
}
function 
friday_plugins_info()
{
return array(
"name" => "Plugin Name",
"description" => "Plugin Description",
"website" => "https://webailesi.com/",
"author" => "Friday",
"authorsite" => "https://webailesi.com/",
"version" => "1.0",
"guid" => "",
"codename" => "",
"compatibility" => "*"
);
}
function 
friday_plugins_install()
{
// Function to be performed when the Plugin Install and Activate button is pressed.
}
function 
friday_plugins_is_installed()
{
// Installation of the Plugin, the part where we will specify whether it is active or not.
}
function 
friday_plugins_uninstall()
{
// Function to Do When Plugin Uninstalled.
}
function 
friday_plugins_activate()
{
// Codes to Run While Plugin is Active.
}
function 
friday_plugins_deactivate()
{
// Codes to Run When Plugin is Closed

NOTE: You need to write the file name in the part that says friday_plugins in the above codes!

Let's come to the friday_plugins_is_installed variable, this variable checks whether the plugin has been installed or uninstalled as I mentioned above.


eg return true; If you type, you will see the buttons to close and remove the plugin.


return false; If you type, you will see the install and activate buttons.

So how do we do this automatically?

For example, we have created 1 database with the plugin, we will follow a path like this;


PHP Kod:
global $db;
    if($db->table_exists("the database we created"))
    {
        return true;
    }
    return false
In order to use most variables, we need to write the following variables under our functions.
You need to interact with MyBB global variables like $mybb, $user, $db,$templates.
For example ;

PHP Kod:
function test() {
global 
$db;
$query $db->simple_select("users","username");
while (
$test $db->fetch_array($query)) {
echo 
$test['username'];

our function works like this but not the way I did below.


PHP Kod:
function test() {
$query $db->simple_select("users","username");
while (
$test $db->fetch_array($query)) {
echo 
$test['username'];

Son Düzenleme: 20-12-2021, 18:16, Düzenleyen: Efe*.
Cevapla
#2
Eline sağlık.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task
Kayıt Ol
Discord Adresimize Katılın