system_settings_table); $lastVersion = DBUtil::getOneResultKey($query, 'value'); $currentVersion = $default->systemVersion; $upgrades = describeUpgrade($lastVersion, $currentVersion); $ret = "
| Code | Description | Applied |
|---|---|---|
| %s | %s | %s |
Logging support is not currently working. Check post-installation checkup.
'; exit(1); } if (PEAR::isError($dbSupport)) { print 'Database support is not currently working. Check post-installation checkup.
'; exit(1); } ?>
|
$action = trim($_REQUEST["go"]);
switch ($action)
{
case 'UpgradeConfirm':
upgradeConfirm();
break;
case 'UpgradePreview':
UpgradePreview();
break;
case 'Upgrade':
Upgrade();
break;
case 'BackupConfirm':
backupConfirm();
break;
case 'Backup':
backup();
break;
case 'BackupDone':
backupDone();
break;
case 'RestoreConfirm':
restoreConfirm();
break;
case 'RestoreSelect':
restoreSelect();
break;
case 'RestoreSelected':
restoreSelected();
break;
case 'Restore':
restore();
break;
case 'RestoreDone':
restoreDone();
break;
default:
welcome();
break;
}
function resolveMysqlDir()
{
// possibly detect existing installations:
if (OS_UNIX)
{
$dirs = array('/opt/mysql/bin','/usr/local/mysql/bin');
$mysqlname ='mysql';
}
else
{
$dirs = explode(';', $_SERVER['PATH']);
$dirs[] ='c:/Program Files/MySQL/MySQL Server 5.0/bin';
$mysqlname ='mysql.exe';
}
if (strpos(__FILE__,'knowledgeTree') !== false && strpos(__FILE__,'ktdms'))
{
$dirs [] = realpath(dirname($FILE) . '/../../mysql/bin');
}
foreach($dirs as $dir)
{
if (is_file($dir . '/' . $mysqlname))
{
return $dir;
}
}
return '';
}
function create_backup_stmt($targetfile=null)
{
$oKTConfig =& KTConfig::getSingleton();
$adminUser = $oKTConfig->get('db/dbAdminUser');
$adminPwd = $oKTConfig->get('db/dbAdminPass');
$dbHost = $oKTConfig->get('db/dbHost');
$dbName = $oKTConfig->get('db/dbName');
$dbPort = trim($oKTConfig->get('db/dbPort'));
if ($dbPort=='' || $dbPort=='default') $dbPort = get_cfg_var('mysql.default_port');
$date=date('Y-m-d-H-i-s');
$dir=resolveMysqlDir();
$info['dir']=$dir;
$prefix='';
if (OS_UNIX)
{
$prefix= "./";
}
$tmpdir=resolveTempDir();
if (is_null($targetfile))
{
$targetfile="$tmpdir/kt-backup-$date.sql";
}
$stmt = $prefix . "mysqldump --user=\"$adminUser\" -p --port=$dbPort \"$dbName\" > \"$targetfile\"";
$info['display']=$stmt;
$info['target']=$targetfile;
$stmt = $prefix. "mysqldump --user=\"$adminUser\" --password=\"$adminPwd\" --port=$dbPort \"$dbName\" > \"$targetfile\"";
$info['cmd']=$stmt;
return $info;
}
function create_restore_stmt($targetfile)
{
$oKTConfig =& KTConfig::getSingleton();
$adminUser = $oKTConfig->get('db/dbAdminUser');
$adminPwd = $oKTConfig->get('db/dbAdminPass');
$dbHost = $oKTConfig->get('db/dbHost');
$dbName = $oKTConfig->get('db/dbName');
$dbPort = trim($oKTConfig->get('db/dbPort'));
if ($dbPort=='' || $dbPort=='default')$dbPort = get_cfg_var('mysql.default_port');
$dir=resolveMysqlDir();
$info['dir']=$dir;
$prefix='';
if (OS_UNIX)
{
$prefix .= "./";
}
$tmpdir=resolveTempDir();
$stmt = $prefix ."mysqladmin --user=\"$adminUser\" -p --port=$dbPort drop \"$dbName\" $title"; } function resolveTempDir() { if (OS_UNIX) { $dir='/tmp/kt-db-backup'; } else { $dir='c:/kt-db-backup'; } if (!is_dir($dir)) { mkdir($dir); } return $dir; } function upgradeConfirm() { title('Confirm Upgrade'); if (!isset($_SESSION['backupStatus']) || $_SESSION['backupStatus'] === false) { ?>Please ensure that you have made a backup before continuing with the upgrade process.
We are about to start the upgrade process. } function backupConfirm() { title('Confirm Backup'); $stmt=create_backup_stmt(); $_SESSION['backupFile'] = $stmt['target']; $dir=$stmt['dir']; if ($dir != '') { ?> Are you sure you want to perform the backup? Your mysql installation has been resolved. Manually, you would do the following:
|