function upgradefmFirewallSchema($module_name) { global $fmdb; /** Include module variables */ @(include dirname(__FILE__) . '/variables.inc.php'); /** Get current version */ $running_version = getOption('version', 0, $module_name); /** Checks to support older versions (ie n-3 upgrade scenarios */ $success = version_compare($running_version, '1.0-rc1', '<') ? upgradefmFirewall_01006($__FM_CONFIG, $running_version) : true; if (!$success) { return $fmdb->last_error; } setOption('client_version', $__FM_CONFIG['fmFirewall']['client_version'], 'auto', false, 0, 'fmFirewall'); return true; }
/** 1.1.1 */ function upgradefmFirewall_0111($__FM_CONFIG, $running_version) { global $fmdb, $module_name; $success = version_compare($running_version, '1.0-rc1', '<') ? upgradefmFirewall_01006($__FM_CONFIG, $running_version) : true; if (!$success) { return false; } $table[] = "ALTER TABLE `fm_{$__FM_CONFIG['fmFirewall']['prefix']}servers` DROP INDEX server_serial_no, ADD UNIQUE `idx_server_serial_no` (`server_serial_no`)"; $table[] = "ALTER TABLE `fm_{$__FM_CONFIG['fmFirewall']['prefix']}policies` ADD INDEX `idx_policy_account_id` (`account_id`)"; $table[] = "ALTER TABLE `fm_{$__FM_CONFIG['fmFirewall']['prefix']}policies` ADD INDEX `idx_policy_status` (`policy_status`)"; $inserts = $updates = null; /** Create table schema */ if (count($table) && $table[0]) { foreach ($table as $schema) { $fmdb->query($schema); if (!$fmdb->result || $fmdb->sql_errors) { return false; } } } if (count($inserts) && $inserts[0]) { foreach ($inserts as $schema) { $fmdb->query($schema); if (!$fmdb->result || $fmdb->sql_errors) { return false; } } } if (count($updates) && $updates[0]) { foreach ($updates as $schema) { $fmdb->query($schema); if (!$fmdb->result || $fmdb->sql_errors) { return false; } } } if (!setOption('fmFirewall_client_version', $__FM_CONFIG['fmFirewall']['client_version'], 'auto', false)) { return false; } setOption('version', '1.1.1', 'auto', false, 0, $module_name); return true; }