} } closedir($handle); } sort($filelist); //print_vars($filelist); foreach ($filelist as $file) { $filepath = $config['install_dir'] . '/update/' . $file; list($filename, $extension) = explode('.', $file, 2); if ($filename > $db_rev) { if (!$updating) { echo "-- 更新数据库/文件架构\n"; } if ($extension == "php") { echo sprintf("%03d", $db_rev) . " -> " . sprintf("%03d", $filename) . " ... (php)"; include_wrapper($filepath); } else { if ($extension == "sql") { echo sprintf("%03d", $db_rev) . " -> " . sprintf("%03d", $filename) . " ... (db)"; $err = 0; if ($fd = @fopen($filepath, 'r')) { $data = fread($fd, 4096); while (!feof($fd)) { $data .= fread($fd, 4096); } foreach (explode("\n", $data) as $line) { if (trim($line)) { print_debug($line); if ($line[0] != "#") { $update = dbQuery($line); if (!$update) {
if (filetype($config['install_dir'] . '/update/' . $file) == 'file' && (preg_match($sql_regexp, $file) || preg_match($php_regexp, $file))) { $filelist[] = $file; } } closedir($handle); } asort($filelist); foreach ($filelist as $file) { list($filename, $extension) = explode('.', $file, 2); if ($filename > $db_rev) { if (!$updating) { echo "-- Updating database/file schema\n"; } if ($extension == "php") { echo sprintf("%03d", $db_rev) . " -> " . sprintf("%03d", $filename) . " ... (file)"; include_wrapper($config['install_dir'] . '/update/' . $file); } elseif ($extension == "sql") { echo sprintf("%03d", $db_rev) . " -> " . sprintf("%03d", $filename) . " ... (db)"; $err = 0; if ($fd = @fopen($config['install_dir'] . '/update/' . $file, 'r')) { $data = fread($fd, 4096); while (!feof($fd)) { $data .= fread($fd, 4096); } foreach (explode("\n", $data) as $line) { if (trim($line)) { if ($debug) { echo "{$line} \n"; } if ($line[0] != "#") { $update = dbQuery($line);