function tbxDatabaseRestore() { Privileges::Check(Privileges::DATABASE); $filename = BASE_DIR . '/data/' . File::Sanitize(Request::Get('filename')); if (!is_file($filename)) { return JSON::Failure('The file you have selected no longer exists on the server.'); } $si = ServerInfo::GetCached(); if (!$si->shell_exec_disabled && $si->binaries[ServerInfo::BIN_PHP]) { Shell::ExecScript('cron.php --restore --file=' . escapeshellarg($filename)); JSON::Success('Database restore has been started. Allow a few minutes to complete, then continue with the next step of the restore process.'); } else { $DB = GetDB(); $DB->RestoreTables($filename); JSON::Success('Database restore has been completed'); } }