Commit e28c2d79cd51a5901035415e479d6d0cdbc5871e
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='?go=RestoreConfirm'; |
| 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')) | ... | ... |