printmsg("ERROR => There was an error creating DB user: "******"1.0"?> <schema version="0.3"> <sql> <query>INSERT INTO domains (id,name,admin_email,default_ttl,refresh,retry,expiry,minimum) VALUES (1,'{$default_domain}','hostmaster', 86400, 86400, 3600, 3600, 3600)</query> <query>UPDATE sys_config SET value='{$default_domain}' WHERE name like 'dns_defaultdomain'</query> </sql> </schema> EOL; $schema = new adoSchema($db); // Build the SQL array from the schema XML file $domainsql = $schema->ParseSchemaString($xmldefdomain); // Execute the SQL on the database if ($schema->ExecuteSchema($domainsql) == 2) { $text .= "<img src=\"{$images}/silk/accept.png\" border=\"0\" /> Created default DNS domain '{$default_domain}'.<br>"; } else { $status++; $text .= "<img src=\"{$images}/silk/exclamation.png\" border=\"0\" /> Failed to create default DNS domain '{$default_domain}'.<br><span style='font-size: xx-small;'>" . $db->ErrorMsg() . "</span><br>"; } // Open the database config and write the contents to it. if (!($fh = @fopen($dbconffile, 'w'))) { $status++; $text .= "<img src=\"{$images}/silk/exclamation.png\" border=\"0\" /> Failed to open config file for writing: '{$dbconffile}'.<br>"; } else { fwrite($fh, "<?php\n\n\$ona_contexts=" . var_export($ona_contexts, TRUE) . ";\n\n?>"); fclose($fh); $text .= "<img src=\"{$images}/silk/accept.png\" border=\"0\" /> Created database connection config file.<br>";
function execute_upgrade_file($folder, $installed_version) { global $db, $page, $conf; // At first the config file $upgrade_path = BASEDIR . '/upgrade/' . $folder; new ConfUpdater(CONFIG_PATH, $upgrade_path); $upgrade_info = parse_ini_file($upgrade_path . '/upgrade.info', true); // dev version upgrade? if ($folder == Flyspray::base_version($installed_version)) { $type = 'develupgrade'; } else { $type = 'defaultupgrade'; } // Next a mix of XML schema files and PHP upgrade scripts if (!isset($upgrade_info[$type])) { die('#1 Bad upgrade.info file.'); } ksort($upgrade_info[$type]); foreach ($upgrade_info[$type] as $file) { if (substr($file, -4) == '.php') { require_once $upgrade_path . '/' . $file; } if (substr($file, -4) == '.xml') { $schema = new adoSchema($db->dblink); $xml = file_get_contents($upgrade_path . '/' . $file); // $xml = str_replace('<table name="', '<table name="' . $conf['database']['dbprefix'], $xml); // Set the prefix for database objects ( before parsing) $schema->setPrefix($conf['database']['dbprefix'], false); $schema->ParseSchemaString($xml); $schema->ExecuteSchema(null, true); } } // Last but not least global prefs update if (isset($upgrade_info['fsprefs'])) { $sql = $db->Query('SELECT pref_name FROM {prefs}'); $existing = $db->FetchCol($sql); // Add what is missing foreach ($upgrade_info['fsprefs'] as $name => $value) { if (!in_array($name, $existing)) { $db->Query('INSERT INTO {prefs} (pref_name, pref_value) VALUES (?, ?)', array($name, $value)); } } // Delete what is too much foreach ($existing as $name) { if (!isset($upgrade_info['fsprefs'][$name])) { $db->Query('DELETE FROM {prefs} WHERE pref_name = ?', array($name)); } } } $db->Query('UPDATE {prefs} SET pref_value = ? WHERE pref_name = ?', array(basename($upgrade_path), 'fs_ver')); #$page->assign('done', true); return "Write " . basename($upgrade_path) . " into table {prefs} fs_ver in database"; }