<?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()); }
<?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; }
<?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>';
/** * @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; }