Commit e28c2d79cd51a5901035415e479d6d0cdbc5871e

Authored by conradverm
1 parent fd080a89

KTS-2124

"Backup wizard no working on Linux"
Fixed.

Reviewed By: Kevin Fourie

git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@6843 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 42 additions and 19 deletions
setup/upgrade.php
... ... @@ -340,19 +340,33 @@ function create_backup_stmt($targetfile=null)
340 340 $adminPwd = $oKTConfig->get('db/dbAdminPass');
341 341 $dbHost = $oKTConfig->get('db/dbHost');
342 342 $dbName = $oKTConfig->get('db/dbName');
  343 +
343 344 $dbPort = trim($oKTConfig->get('db/dbPort'));
344   - if ($dbPort=='' || $dbPort=='default') $dbPort = get_cfg_var('mysql.default_port');
345   -
  345 + if (empty($dbPort) || $dbPort=='default') $dbPort = get_cfg_var('mysql.default_port');
  346 + if (empty($dbPort)) $dbPort='3306';
  347 + $dbSocket = trim($oKTConfig->get('db/dbSocket'));
  348 + if (empty($dbSocket) || $dbSocket=='default') $dbSocket = get_cfg_var('mysql.default_socket');
  349 + if (empty($dbSocket)) $dbSocket='../tmp/mysql.sock';
  350 +
346 351 $date=date('Y-m-d-H-i-s');
347 352  
348 353 $dir=resolveMysqlDir();
349   -
  354 +
350 355 $info['dir']=$dir;
351 356  
352 357 $prefix='';
353 358 if (OS_UNIX)
354 359 {
355   - $prefix= "./";
  360 + $prefix .= "./";
  361 + }
  362 +
  363 + if (@stat($dbSocket) !== false)
  364 + {
  365 + $mechanism="--socket=\"$dbSocket\"";
  366 + }
  367 + else
  368 + {
  369 + $mechanism="--port=\"$dbPort\"";
356 370 }
357 371  
358 372 $tmpdir=resolveTempDir();
... ... @@ -362,13 +376,12 @@ function create_backup_stmt($targetfile=null)
362 376 $targetfile="$tmpdir/kt-backup-$date.sql";
363 377 }
364 378  
365   -
366   - $stmt = $prefix . "mysqldump --user=\"$adminUser\" -p --port=$dbPort \"$dbName\" > \"$targetfile\"";
  379 + $stmt = $prefix . "mysqldump --user=\"$adminUser\" -p $mechanism \"$dbName\" > \"$targetfile\"";
367 380 $info['display']=$stmt;
368 381 $info['target']=$targetfile;
369 382  
370 383  
371   - $stmt = $prefix. "mysqldump --user=\"$adminUser\" --password=\"$adminPwd\" --port=$dbPort \"$dbName\" > \"$targetfile\"";
  384 + $stmt = $prefix. "mysqldump --user=\"$adminUser\" --password=\"$adminPwd\" $mechanism \"$dbName\" > \"$targetfile\"";
372 385 $info['cmd']=$stmt;
373 386 return $info;
374 387 }
... ... @@ -383,8 +396,11 @@ function create_restore_stmt($targetfile)
383 396 $dbName = $oKTConfig->get('db/dbName');
384 397 $dbPort = trim($oKTConfig->get('db/dbPort'));
385 398 if ($dbPort=='' || $dbPort=='default')$dbPort = get_cfg_var('mysql.default_port');
  399 + if (empty($dbPort)) $dbPort='3306';
  400 + $dbSocket = trim($oKTConfig->get('db/dbSocket'));
  401 + if (empty($dbSocket) || $dbSocket=='default') $dbSocket = get_cfg_var('mysql.default_socket');
  402 + if (empty($dbSocket)) $dbSocket='../tmp/mysql.sock';
386 403  
387   -
388 404 $dir=resolveMysqlDir();
389 405  
390 406 $info['dir']=$dir;
... ... @@ -394,22 +410,30 @@ function create_restore_stmt($targetfile)
394 410 {
395 411 $prefix .= "./";
396 412 }
397   -
  413 +
  414 + if (@stat($dbSocket) !== false)
  415 + {
  416 + $mechanism="--socket=\"$dbSocket\"";
  417 + }
  418 + else
  419 + {
  420 + $mechanism="--port=\"$dbPort\"";
  421 + }
398 422  
399 423 $tmpdir=resolveTempDir();
400 424  
401   - $stmt = $prefix ."mysqladmin --user=\"$adminUser\" -p --port=$dbPort drop \"$dbName\"<br>";
402   - $stmt .= $prefix ."mysqladmin --user=\"$adminUser\" -p --port=$dbPort create \"$dbName\"<br>";
  425 + $stmt = $prefix ."mysqladmin --user=\"$adminUser\" -p $mechanism drop \"$dbName\"<br>";
  426 + $stmt .= $prefix ."mysqladmin --user=\"$adminUser\" -p $mechanism create \"$dbName\"<br>";
403 427  
404 428  
405   - $stmt .= $prefix ."mysql --user=\"$adminUser\" -p --port=$dbPort \"$dbName\" < \"$targetfile\"\n";
  429 + $stmt .= $prefix ."mysql --user=\"$adminUser\" -p $mechanism \"$dbName\" < \"$targetfile\"\n";
406 430 $info['display']=$stmt;
407 431  
408 432  
409   - $stmt = $prefix ."mysqladmin --user=\"$adminUser\" --force --password=\"$adminPwd\" --port=$dbPort drop \"$dbName\"\n";
410   - $stmt .= $prefix ."mysqladmin --user=\"$adminUser\" --password=\"$adminPwd\" --port=$dbPort create \"$dbName\"\n";
  433 + $stmt = $prefix ."mysqladmin --user=\"$adminUser\" --force --password=\"$adminPwd\" $mechanism drop \"$dbName\"\n";
  434 + $stmt .= $prefix ."mysqladmin --user=\"$adminUser\" --password=\"$adminPwd\" $mechanism create \"$dbName\"\n";
411 435  
412   - $stmt .= $prefix ."mysql --user=\"$adminUser\" --password=\"$adminPwd\" --port=$dbPort \"$dbName\" < \"$targetfile\"";
  436 + $stmt .= $prefix ."mysql --user=\"$adminUser\" --password=\"$adminPwd\" $mechanism \"$dbName\" < \"$targetfile\"";
413 437 $info['cmd']=$stmt;
414 438 return $info;
415 439 }
... ... @@ -608,13 +632,12 @@ document.location=&#39;?go=RestoreConfirm&#39;;
608 632  
609 633 function restoreConfirm()
610 634 {
611   - if (!isset($_SESSION['backupFile']) || !is_file($_SESSION['backupFile']))
  635 + if (!isset($_SESSION['backupFile']) || !is_file($_SESSION['backupFile']) || filesize($_SESSION['backupFile']) == 0)
612 636 {
613 637 restoreSelect();
614 638 exit;
615 639 }
616   -
617   -
  640 +
618 641 title('Confirm Restore');
619 642 $status = $_SESSION['backupStatus'];
620 643 $filename=$_SESSION['backupFile'];
... ... @@ -908,7 +931,7 @@ function restore()
908 931 $stmt=create_restore_stmt($filename);
909 932 $dir=$stmt['dir'];
910 933  
911   -
  934 +
912 935  
913 936  
914 937 if (is_file($dir . '/mysql') || is_file($dir . '/mysql.exe'))
... ...