Ejemplo n.º 1
0
function upgradefmDNSSchema($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, '2.0', '<') ? upgradefmDNS_200($__FM_CONFIG, $running_version) : true;
    if (!$success) {
        return $fmdb->last_error;
    }
    setOption('client_version', $__FM_CONFIG['fmDNS']['client_version'], 'auto', false, 0, 'fmDNS');
    return true;
}
Ejemplo n.º 2
0
/** 2.1-beta1 */
function upgradefmDNS_2101($__FM_CONFIG, $running_version)
{
    global $fmdb, $module_name;
    $success = version_compare($running_version, '2.0', '<') ? upgradefmDNS_200($__FM_CONFIG, $running_version) : true;
    if (!$success) {
        return false;
    }
    $table[] = "ALTER TABLE `fm_{$__FM_CONFIG['fmDNS']['prefix']}config` DROP INDEX domain_id, ADD INDEX `idx_domain_id` (`domain_id`)";
    $table[] = "ALTER TABLE `fm_{$__FM_CONFIG['fmDNS']['prefix']}domains` ADD INDEX `idx_domain_status` (`domain_status`)";
    $table[] = "ALTER TABLE `fm_{$__FM_CONFIG['fmDNS']['prefix']}functions` DROP INDEX def_option, ADD INDEX `idx_def_option` (`def_option`)";
    $table[] = "ALTER TABLE `fm_{$__FM_CONFIG['fmDNS']['prefix']}records` DROP INDEX domain_id, ADD INDEX `idx_domain_id` (`domain_id`)";
    $table[] = "ALTER TABLE `fm_{$__FM_CONFIG['fmDNS']['prefix']}records` ADD INDEX `idx_record_status` (`record_status`)";
    $table[] = "ALTER TABLE `fm_{$__FM_CONFIG['fmDNS']['prefix']}records` ADD INDEX `idx_record_account_id` (`account_id`)";
    $table[] = "ALTER TABLE `fm_{$__FM_CONFIG['fmDNS']['prefix']}records_skipped` DROP INDEX record_id, ADD INDEX `idx_record_id` (`record_id`)";
    $table[] = "ALTER TABLE `fm_{$__FM_CONFIG['fmDNS']['prefix']}servers` DROP INDEX server_serial_no, ADD UNIQUE `idx_server_serial_no` (`server_serial_no`)";
    $inserts[] = <<<INSERT
INSERT IGNORE INTO  `fm_{$__FM_CONFIG['fmDNS']['prefix']}functions` (
`def_function` ,
`def_option_type`,
`def_option` ,
`def_type` ,
`def_multiple_values` ,
`def_clause_support`,
`def_dropdown`,
`def_max_parameters`
)
VALUES 
('options', 'global', 'include', '( quoted_string )', 'no', 'OVZ', 'no', '-1'),
('options', 'response-policy', '( string )', 'no', 'O', NULL, 'no', '1')
;
INSERT;
    /** Run queries */
    if (count($table) && $table[0]) {
        foreach ($table as $schema) {
            $fmdb->query($schema);
            if (!$fmdb->result || $fmdb->sql_errors) {
                return false;
            }
        }
    }
    /** Run queries */
    if (count($inserts) && $inserts[0]) {
        foreach ($inserts as $schema) {
            $fmdb->query($schema);
            if (!$fmdb->result || $fmdb->sql_errors) {
                return false;
            }
        }
    }
    setOption('version', '2.1-beta1', 'auto', false, 0, $module_name);
    return true;
}