Example #1
0
/**
 * 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>";
}
Example #2
0
/** 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;
}