/** * Processes upgrade. * * @since 1.0 * @package facileManager * @subpackage Upgrader */ function fmUpgrade($database) { global $fmdb, $branding_logo; include ABSPATH . 'fm-includes/version.php'; include ABSPATH . 'fm-modules/facileManager/variables.inc.php'; $errors = false; $GLOBALS['running_db_version'] = getOption('fm_db_version'); printf('<div id="fm-branding"> <img src="%s" /><span>%s</span> </div> <div id="window"><table class="form-table">' . "\n", $branding_logo, _('Upgrade')); /** Checks to support older versions (ie n-3 upgrade scenarios */ $success = $GLOBALS['running_db_version'] < 42 ? fmUpgrade_200($database) : true; if ($success) { $success = upgradeConfig('fm_db_version', $fm_db_version); setOption('version_check', array('timestamp' => date("Y-m-d H:i:s", strtotime("2 months ago")), 'data' => null), 'update', true, 0, $fm_name); } else { $errors = true; } displayProgress(_('Upgrading Core Schema'), $success); /** Upgrade any necessary modules */ include ABSPATH . 'fm-modules/' . $fm_name . '/classes/class_tools.php'; $fmdb->get_results("SELECT module_name FROM fm_options WHERE option_name='version'"); $num_rows = $fmdb->num_rows; $module_list = $fmdb->last_result; for ($x = 0; $x < $num_rows; $x++) { $module_name = $module_list[$x]->module_name; $success = $fm_tools->upgradeModule($module_name, 'quiet'); if (!$success || $fmdb->last_error) { $errors = true; $success = false; } else { $success = true; } displayProgress(sprintf(_('Upgrading %s Schema'), $module_name), $success); } echo "</table>"; if (!$errors) { displaySetupMessage(1, $GLOBALS['RELPATH']); } else { displaySetupMessage(2); } echo "</div>"; }
/** fM v2.1-beta1 **/ function fmUpgrade_2101($database) { global $fmdb, $fm_name; $success = true; /** Prereq */ $success = $GLOBALS['running_db_version'] < 42 ? fmUpgrade_200($database) : true; if ($success) { $table[] = "CREATE TABLE IF NOT EXISTS {$database}.`fm_groups` (\n `group_id` int(11) NOT NULL AUTO_INCREMENT,\n `account_id` int(11) NOT NULL DEFAULT '1',\n `group_name` varchar(128) NOT NULL,\n `group_caps` text,\n `group_comment` text,\n `group_status` enum('active','disabled','deleted') NOT NULL DEFAULT 'active',\n PRIMARY KEY (`group_id`)\n) ENGINE=MyISAM DEFAULT CHARSET=utf8"; $table[] = "ALTER TABLE {$database}.`fm_users` ADD `user_group` INT(11) DEFAULT NULL AFTER `user_email`"; /** Create table schema */ if (count($table) && $table[0]) { foreach ($table as $schema) { $fmdb->query($schema); if (!$fmdb->result || $fmdb->sql_errors) { return false; } } } } upgradeConfig('fm_db_version', 43, false); return $success; }