Plugin Settings
Here is how to add settings to your plugins.
Adding Settings on Install
Below is an example of how to add settings.
function myplugin_install()
{
global $db;
$setting_group = array(
'gid' => 'NULL',
'name' => 'myplugin',
'title' => 'MyPlugin Settings',
'description' => 'Settings for MyPlugin.',
'disporder' => "1",
'isdefault' => 'no',
);
$db->insert_query('settinggroups', $setting_group);
$gid = $db->insert_id();
$myplugin_setting = array(
'name' => 'myplugin_setting1',
'title' => 'A random setting for MyPlugin',
'description' => 'What this setting will do',
'optionscode' => 'yesno', //this will be a yes/no select box
'value' => '1', //default value is yes, use 0 for no
'disporder' => 1,
'gid' => intval($gid),
);
$db->insert_query('settings', $myplugin_setting);
$myplugin_setting = array(
'name' => 'myplugin_setting2',
'title' => 'Another random setting for MyPlugin',
'description' => 'This is a textbox.',
'optionscode' => 'text', //this will be a textbox, for a big textbox use textarea
'value' => 'defauly value, yay!',
'disporder' => 2, //increment this
'gid' => intval($gid),
);
$db->insert_query('settings', $myplugin_setting);
rebuild_settings();
}
Deleting Settings on Uninstall
Here is how to delete settings.
function myplugin_uninstall()
{
global $db;
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('myplugin_setting1','myplugin_setting2')");
$db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='myplugin'");
rebuild_settings();
}
Using Settings
Here is an example of how you can use the above settings.
function myplugin_functionname()
{
global $mybb;
if($mybb->settings['myplugin_setting1'] == '1') {
$randomvar = "<table><tr><td>{$mybb->settings['myplugin_setting2']}</td></tr></table>";
}
}