set_time_limit(0); // Get the file and destroy the token (single usage) $sToken = utils::ReadParam('token', '', false, 'raw_data'); $sTokenFile = APPROOT . '/data/restore.' . $sToken . '.tok'; if (!is_file($sTokenFile)) { throw new Exception("Error: missing token file: '{$sTokenFile}'"); } $sFile = file_get_contents($sTokenFile); unlink($sTokenFile); $sMySQLBinDir = utils::ReadParam('mysql_bindir', '', false, 'raw_data'); $sDBHost = utils::ReadParam('db_host', '', false, 'raw_data'); $sDBUser = utils::ReadParam('db_user', '', false, 'raw_data'); $sDBPwd = utils::ReadParam('db_pwd', '', false, 'raw_data'); $sDBName = utils::ReadParam('db_name', '', false, 'raw_data'); $sDBSubName = utils::ReadParam('db_subname', '', false, 'raw_data'); $oDBRS = new DBRestore($sDBHost, $sDBUser, $sDBPwd, $sDBName, $sDBSubName); $oDBRS->SetMySQLBinDir($sMySQLBinDir); $sBackupDir = APPROOT . 'data/backups/'; $sBackupFile = $sBackupDir . $sFile; $sRes = $oDBRS->RestoreFromZip($sBackupFile, $sEnvironment); IssueLog::Info('Backup Restore - Done, releasing the LOCK'); $oRestoreMutex->Unlock(); } catch (Exception $e) { $oRestoreMutex->Unlock(); $oPage->p('Error: ' . $e->getMessage()); } } $oPage->output(); break; case 'download': require_once APPROOT . '/application/startup.inc.php';
function restore($file) { $this->driver->make($file); }