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,19 +340,33 @@ function create_backup_stmt($targetfile=null)
340 $adminPwd = $oKTConfig->get('db/dbAdminPass'); 340 $adminPwd = $oKTConfig->get('db/dbAdminPass');
341 $dbHost = $oKTConfig->get('db/dbHost'); 341 $dbHost = $oKTConfig->get('db/dbHost');
342 $dbName = $oKTConfig->get('db/dbName'); 342 $dbName = $oKTConfig->get('db/dbName');
  343 +
343 $dbPort = trim($oKTConfig->get('db/dbPort')); 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 $date=date('Y-m-d-H-i-s'); 351 $date=date('Y-m-d-H-i-s');
347 352
348 $dir=resolveMysqlDir(); 353 $dir=resolveMysqlDir();
349 - 354 +
350 $info['dir']=$dir; 355 $info['dir']=$dir;
351 356
352 $prefix=''; 357 $prefix='';
353 if (OS_UNIX) 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 $tmpdir=resolveTempDir(); 372 $tmpdir=resolveTempDir();
@@ -362,13 +376,12 @@ function create_backup_stmt($targetfile=null) @@ -362,13 +376,12 @@ function create_backup_stmt($targetfile=null)
362 $targetfile="$tmpdir/kt-backup-$date.sql"; 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 $info['display']=$stmt; 380 $info['display']=$stmt;
368 $info['target']=$targetfile; 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 $info['cmd']=$stmt; 385 $info['cmd']=$stmt;
373 return $info; 386 return $info;
374 } 387 }
@@ -383,8 +396,11 @@ function create_restore_stmt($targetfile) @@ -383,8 +396,11 @@ function create_restore_stmt($targetfile)
383 $dbName = $oKTConfig->get('db/dbName'); 396 $dbName = $oKTConfig->get('db/dbName');
384 $dbPort = trim($oKTConfig->get('db/dbPort')); 397 $dbPort = trim($oKTConfig->get('db/dbPort'));
385 if ($dbPort=='' || $dbPort=='default')$dbPort = get_cfg_var('mysql.default_port'); 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 $dir=resolveMysqlDir(); 404 $dir=resolveMysqlDir();
389 405
390 $info['dir']=$dir; 406 $info['dir']=$dir;
@@ -394,22 +410,30 @@ function create_restore_stmt($targetfile) @@ -394,22 +410,30 @@ function create_restore_stmt($targetfile)
394 { 410 {
395 $prefix .= "./"; 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 $tmpdir=resolveTempDir(); 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 $info['display']=$stmt; 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 $info['cmd']=$stmt; 437 $info['cmd']=$stmt;
414 return $info; 438 return $info;
415 } 439 }
@@ -608,13 +632,12 @@ document.location=&#39;?go=RestoreConfirm&#39;; @@ -608,13 +632,12 @@ document.location=&#39;?go=RestoreConfirm&#39;;
608 632
609 function restoreConfirm() 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 restoreSelect(); 637 restoreSelect();
614 exit; 638 exit;
615 } 639 }
616 -  
617 - 640 +
618 title('Confirm Restore'); 641 title('Confirm Restore');
619 $status = $_SESSION['backupStatus']; 642 $status = $_SESSION['backupStatus'];
620 $filename=$_SESSION['backupFile']; 643 $filename=$_SESSION['backupFile'];
@@ -908,7 +931,7 @@ function restore() @@ -908,7 +931,7 @@ function restore()
908 $stmt=create_restore_stmt($filename); 931 $stmt=create_restore_stmt($filename);
909 $dir=$stmt['dir']; 932 $dir=$stmt['dir'];
910 933
911 - 934 +
912 935
913 936
914 if (is_file($dir . '/mysql') || is_file($dir . '/mysql.exe')) 937 if (is_file($dir . '/mysql') || is_file($dir . '/mysql.exe'))