function mactrack_check_upgrade () { global $config; if (defined('CACTI_BASE_PATH')) { $config["base_path"] = CACTI_BASE_PATH; } include_once($config["base_path"] . "/plugins/mactrack/lib/mactrack_functions.php"); $files = array('index.php', 'plugins.php', 'mactrack_devices.php'); if (isset($_SERVER['PHP_SELF']) && !in_array(basename($_SERVER['PHP_SELF']), $files)) { return; } $current = plugin_mactrack_version(); $current = $current['version']; $old = db_fetch_row("SELECT * FROM plugin_config WHERE directory='mactrack'"); if (!sizeof($old) || $current != $old["version"]) { /* if the plugin is installed and/or active */ if (!sizeof($old) || $old["status"] == 1 || $old["status"] == 4) { /* re-register the hooks */ plugin_mactrack_install(); if (api_plugin_is_enabled('mactrack')) { # may sound ridiculous, but enables new hooks api_plugin_enable_hooks('mactrack'); } /* perform a database upgrade */ mactrack_database_upgrade(); } if (read_config_option("mt_convert_readstrings", true) != "on") { convert_readstrings(); } /* rebuild the scanning functions */ mactrack_rebuild_scanning_funcs(); /* update the plugin information */ $info = plugin_mactrack_version(); $id = db_fetch_cell("SELECT id FROM plugin_config WHERE directory='mactrack'"); db_execute("UPDATE plugin_config SET name='" . $info["longname"] . "', author='" . $info["author"] . "', webpage='" . $info["homepage"] . "', version='" . $info["version"] . "' WHERE id='$id'"); } }
function mactrack_check_upgrade() { global $config; $files = array('index.php', 'plugins.php', 'mactrack_devices.php'); if (isset($_SERVER['PHP_SELF']) && !in_array(basename($_SERVER['PHP_SELF']), $files)) { return; } include_once $config['base_path'] . '/plugins/mactrack/lib/mactrack_functions.php'; $current = plugin_mactrack_version(); $current = $current['version']; $old = db_fetch_row("SELECT * FROM plugin_config WHERE directory='mactrack'"); if (!sizeof($old) || $current != $old['version']) { /* if the plugin is installed and/or active */ if (!sizeof($old) || $old['status'] == 1 || $old['status'] == 4) { /* re-register the hooks */ plugin_mactrack_install(); if (api_plugin_is_enabled('mactrack')) { # may sound ridiculous, but enables new hooks api_plugin_enable_hooks('mactrack'); } /* perform a database upgrade */ mactrack_database_upgrade(); } if (read_config_option('mt_convert_readstrings', true) != 'on') { convert_readstrings(); } // If are realms are not present in plugin_realms recreate them with the old realm ids (minus 100) so that upgraded installs are not broken if (!db_fetch_cell("SELECT id FROM plugin_realms WHERE plugin = 'mactrack'")) { db_execute("INSERT INTO plugin_realms (id, plugin, file, display) VALUES (2020, 'mactrack', 'mactrack_view_ips.php,mactrack_view_arp.php,mactrack_view_macs.php,mactrack_view_sites.php,mactrack_view_devices.php,mactrack_view_interfaces.php,mactrack_view_graphs.php,mactrack_ajax.php', 'Plugin -> MacTrack Viewer')"); db_execute("INSERT INTO plugin_realms (id, plugin, file, display) VALUES (2021, 'mactrack', 'mactrack_ajax_admin.php,mactrack_devices.php,mactrack_snmp.php,mactrack_sites.php,mactrack_device_types.php,mactrack_utilities.php,mactrack_macwatch.php,mactrack_macauth.php,mactrack_vendormacs.php', 'Plugin -> MacTrack Administrator')"); } /* rebuild the scanning functions */ mactrack_rebuild_scanning_funcs(); /* update the plugin information */ $info = plugin_mactrack_version(); $id = db_fetch_cell("SELECT id FROM plugin_config WHERE directory='mactrack'"); db_execute("UPDATE plugin_config\n\t\t\tSET name='" . $info['longname'] . "',\n\t\t\tauthor='" . $info['author'] . "',\n\t\t\twebpage='" . $info['homepage'] . "',\n\t\t\tversion='" . $info['version'] . "'\n\t\t\tWHERE id='{$id}'"); } }