18.08.2016, 10:26
Jak dodać pole tekstowe do ustawień w ACP, którego wartość wpisana będzie zmienną {$plugin} umieszczaną w szablonie?
Kod PHP:
<?php
define("IN_MYBB", 1);
$plugins->add_hook('index_start', 'plugin');
function plugin_info() {
return array(
"name" => "Zamiana tekstu w index",
"description" => "Zamienia zmienną header na header i nasz tekst.",
"website" => "https://webboard.pl/",
"author" => "Poftorek",
"authorsite" => "https://webboard.pl/",
"version" => "1.0",
"compatibility" => "18*"
);
}
//Aktywacja pluginu Zamiany
function plugin_activate() {
global $db, $mybb;
//nazwa pluginu w zakladce pluginow
$plugin_group_settings = array(
"gid" => NULL,
"name" => "plugin_option_category",
"title" => "Zamiana tekstu w index",
"description" => "Ustawienia pluginu Zamiana tekstu w index",
"disporder" => "50",
"isdefault" => "no"
);
$db->insert_query("settinggroups", $plugin_group_settings);
$gid = $db->insert_id();
//ustawienie wlaczania w acp
$option_1 = array(
"sid" => NULL,
"name" => "plugin_enabled",
"title" => "Włączyć/Wyłączyć wtyczkę?",
"description" => "Ma plugin działać czy ma plugin nie działać?",
"optionscode" => "yesno",
"value" => "yes",
"isdefault" => "yes",
"disporder" => "1",
"gid" => intval($gid)
);
$db->insert_query("settings", $option_1);
require MYBB_ROOT."/inc/adminfunctions_templates.php";
find_replace_templatesets('index', '#{\$header}#', "{\$header}\n{\$plugin}");
// header - zmienna z index, podmiena ją na header <br>zmienna_moja
}
function plugin_deactivate() {
global $db, $mybb;
$db->delete_query('settinggroups', 'name = "plugin_option_category"');
$db->delete_query('settings', 'name IN("plugin_enabled")');
require MYBB_ROOT."/inc/adminfunctions_templates.php";
find_replace_templatesets('index', '#(\n?){\$plugin}#', '', 0);
}
function plugin()
{
global $db, $mybb, $templates, $plugin;
$plugin =
' <table border="0" class="tborder">
<thead>
<tr>
<td class="thead">
<div><strong><center>Ogloszenie</strong></div></center>
</td>
</tr>
</thead>
<td>Drogi użytkowniku! Prosimy o zapoznanie się z naszym regulaminem, pomoże Ci to w uniknięciu otrzymania ostrzeżenia.</td>
</table>
<br />';
}
?>