mirror of
https://github.com/Cacti/cacti.git
synced 2026-11-02 18:17:00 +09:00
100 lines
4.7 KiB
PHP
100 lines
4.7 KiB
PHP
<?php
|
|
/*
|
|
+-------------------------------------------------------------------------+
|
|
| Copyright (C) 2004-2026 The Cacti Group |
|
|
| |
|
|
| This program is free software; you can redistribute it and/or |
|
|
| modify it under the terms of the GNU General Public License |
|
|
| as published by the Free Software Foundation; either version 2 |
|
|
| of the License, or (at your option) any later version. |
|
|
| |
|
|
| This program is distributed in the hope that it will be useful, |
|
|
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
| GNU General Public License for more details. |
|
|
+-------------------------------------------------------------------------+
|
|
| Cacti: The Complete RRDtool-based Graphing Solution |
|
|
+-------------------------------------------------------------------------+
|
|
| This code is designed, written, and maintained by the Cacti Group. See |
|
|
| about.php and/or the AUTHORS file for specific developer information. |
|
|
+-------------------------------------------------------------------------+
|
|
| http://www.cacti.net/ |
|
|
+-------------------------------------------------------------------------+
|
|
*/
|
|
|
|
function upgrade_to_0_8_8() : void {
|
|
// speed up the joins
|
|
if (db_column_exists('poller_item', 'host_id')) {
|
|
db_install_execute("ALTER TABLE `poller_item` MODIFY COLUMN `host_id` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0'");
|
|
}
|
|
|
|
db_install_add_key('poller_output', 'key', 'PRIMARY', ['local_data_id', 'rrd_name', 'time']);
|
|
|
|
// speed up user management
|
|
db_install_add_key('user_log', 'key', 'user_id', ['user_id']);
|
|
|
|
/* Plugin Architecture
|
|
* be prepared to find those data already present
|
|
* in case of upgrade of a cacti+PIA installation */
|
|
$sql = "CREATE TABLE IF NOT EXISTS `plugin_config` (
|
|
`id` int(8) unsigned NOT NULL auto_increment,
|
|
`directory` varchar(32) NOT NULL default '',
|
|
`name` varchar(64) NOT NULL default '',
|
|
`status` tinyint(2) NOT NULL default 0,
|
|
`author` varchar(64) NOT NULL default '',
|
|
`webpage` varchar(255) NOT NULL default '',
|
|
`version` varchar(8) NOT NULL default '',
|
|
PRIMARY KEY (`id`),
|
|
KEY `status` (`status`),
|
|
KEY `directory` (`directory`)
|
|
) ENGINE=MyISAM COMMENT='Plugin Configuration'";
|
|
db_install_execute($sql);
|
|
|
|
$sql = "CREATE TABLE IF NOT EXISTS `plugin_db_changes` (
|
|
`id` int(10) unsigned NOT NULL auto_increment,
|
|
`plugin` varchar(16) NOT NULL default '',
|
|
`table` varchar(64) NOT NULL default '',
|
|
`column` varchar(64) NOT NULL default '',
|
|
`method` varchar(16) NOT NULL default '',
|
|
PRIMARY KEY (`id`),
|
|
KEY `plugin` (`plugin`),
|
|
KEY `method` (`method`)
|
|
) ENGINE=MyISAM COMMENT='Plugin Database Changes'";
|
|
db_install_execute($sql);
|
|
|
|
$sql = "CREATE TABLE IF NOT EXISTS `plugin_hooks` (
|
|
`id` int(8) unsigned NOT NULL auto_increment,
|
|
`name` varchar(32) NOT NULL default '',
|
|
`hook` varchar(64) NOT NULL default '',
|
|
`file` varchar(255) NOT NULL default '',
|
|
`function` varchar(128) NOT NULL default '',
|
|
`status` int(8) NOT NULL default 0,
|
|
PRIMARY KEY (`id`),
|
|
KEY `hook` (`hook`),
|
|
KEY `status` (`status`)
|
|
) ENGINE=MyISAM COMMENT='Plugin Hooks'";
|
|
db_install_execute($sql);
|
|
|
|
$sql = "CREATE TABLE IF NOT EXISTS `plugin_realms` (
|
|
`id` int(8) unsigned NOT NULL auto_increment,
|
|
`plugin` varchar(32) NOT NULL default '',
|
|
`file` text NOT NULL,
|
|
`display` varchar(64) NOT NULL default '',
|
|
PRIMARY KEY (`id`),
|
|
KEY `plugin` (`plugin`)
|
|
) ENGINE=MyISAM COMMENT='Plugin Realms'";
|
|
db_install_execute($sql);
|
|
|
|
/* fill initial data into plugin tables
|
|
* be prepared to find those data already present
|
|
* in case of upgrade of a cacti+PIA installation */
|
|
db_install_execute("REPLACE INTO `plugin_realms` VALUES (1, 'internal', 'plugins.php', 'Plugin Management')");
|
|
db_install_execute("REPLACE INTO `plugin_hooks` VALUES (1, 'internal', 'config_arrays', '', 'plugin_config_arrays', 1)");
|
|
db_install_execute("REPLACE INTO `plugin_hooks` VALUES (2, 'internal', 'draw_navigation_text', '', 'plugin_draw_navigation_text', 1)");
|
|
// allow admin user to access Plugin Management
|
|
db_install_execute('REPLACE INTO user_auth_realm VALUES (101,1)');
|
|
|
|
// create index on data_template_data on data_input_id
|
|
db_install_add_key('data_template_data', 'key', 'data_input_id', ['data_input_id']);
|
|
}
|