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'];
}
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
}
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;
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'];
}
PHP Kod:
function test() {
$query = $db->simple_select("users","username");
while ($test = $db->fetch_array($query)) {
echo $test['username'];
}