コード例 #1
0
ファイル: load.php プロジェクト: srokap/db_backup
<?php

$fileName = get_input('backup_file');
try {
    if (db_backup::doRestore($fileName)) {
        system_message(elgg_echo('db_backup:action:restore:ok', array($fileName)));
    } else {
        register_error(elgg_echo('db_backup:action:restore:fail', array(db_backup::getErrorCode(), db_backup::getErrorMessage())));
    }
} catch (RuntimeException $e) {
    register_error($e->getMessage());
}
コード例 #2
0
ファイル: database.php プロジェクト: srokap/db_backup
<?php

if (db_backup::validateDataDir() && db_backup::validateUploadedDataDir()) {
    $dependencies = db_backup::checkDependencies();
    $body = '';
    $body .= '<ul>';
    if ($dependencies) {
        $body .= '<li class="elgg-message elgg-state-success">' . elgg_echo('db_backup:cli:dependencies:ok') . '</li>';
    } else {
        $body .= '<li class="elgg-message elgg-state-error">' . elgg_echo('db_backup:cli:dependencies:fail') . '</li>';
    }
    $body .= '</ul>';
    $body .= '<pre>';
    $body .= trim(db_backup::execSystemCommand('mysqldump -V', $code));
    $body .= '</pre>';
    $body .= '<pre>';
    $body .= trim(db_backup::execSystemCommand('mysql -V', $code));
    $body .= '</pre>';
    echo elgg_view_module('aside', elgg_echo('db_backup:cli'), $body);
    echo elgg_view_module('aside', elgg_echo('db_backup:restore'), elgg_view_form('backup/db/load'));
    $body = '<p><br />' . elgg_view('output/url', array('href' => elgg_add_action_tokens_to_url(elgg_normalize_url('action/backup/db/save')), 'text' => elgg_echo('db_backup:button:quick'), 'class' => 'elgg-button elgg-button-submit')) . '</p>';
    echo elgg_view_module('aside', elgg_echo('db_backup:backup'), $body);
} else {
    $body = '<ul>';
    $body .= '<li class="elgg-message elgg-state-error">' . elgg_echo('db_backup:dir:validate:fail', array(db_backup::getDataDir())) . '</li>';
    $body .= '</ul>';
    echo $body;
}
コード例 #3
0
ファイル: load.php プロジェクト: srokap/db_backup
<?php

$ov1 = array();
$files = db_backup::getBackupsFileIterator();
foreach ($files as $file) {
    if ($file instanceof DirectoryIterator) {
        $ov1[$file->getFilename()] = $file->getFilename() . ' (' . number_format($file->getSize() / 1024, 2) . 'KB)';
    }
}
krsort($ov1);
$ov2 = array();
$files = db_backup::getUploadedBackupsFileIterator();
foreach ($files as $file) {
    if ($file instanceof DirectoryIterator) {
        $ov2[$file->getFilename()] = $file->getFilename() . ' (' . number_format($file->getSize() / 1024, 2) . 'KB)';
    }
}
krsort($ov2);
echo '<p>' . elgg_echo('db_backup:restore:backup_file');
if ($ov1 || $ov2) {
    echo elgg_view('input/select_optgroups', array('name' => 'backup_file', 'optgroups' => array(elgg_echo('db_backup:backup_file:group:scheduled') => $ov1, elgg_echo('db_backup:backup_file:group:uploaded') => $ov2)));
    echo elgg_view('input/submit', array('name' => 'submit', 'value' => elgg_echo('db_backup:restore')));
} else {
    echo '<strong>' . elgg_echo('db_backup:backup_file:no_files') . '</strong> ';
}
echo '</p>';
コード例 #4
0
ファイル: db_backup.php プロジェクト: srokap/db_backup
 /**
  * @return bool
  */
 static function checkDependencies()
 {
     db_backup::execSystemCommand('mysqldump -V', $code1);
     db_backup::execSystemCommand('mysql -V', $code2);
     $result1 = db_backup::validateDataDir();
     $result2 = db_backup::validateUploadedDataDir();
     return $code1 == 0 && $code2 == 0 && $result1 && $result2;
 }