/** * Restore the Database */ public function RestoreDatabase() { $db =& $this->db; if (Config::GetSetting('SETTING_IMPORT_ENABLED') != 1) { trigger_error(__('Sorry this function is disabled.'), E_USER_ERROR); } include 'install/header.inc'; echo '<div class="info">'; // Expect a file upload // Check we got a valid file if (isset($_FILES['dumpFile']) && is_uploaded_file($_FILES['dumpFile']['tmp_name']) && $_FILES['dumpFile']['error'] == 0) { echo 'Restoring Database</br>'; Debug::LogEntry('audit', 'Valid Upload', 'Backup', 'RestoreDatabase'); // Directory location $fileName = Kit::ValidateParam($_FILES['dumpFile']['tmp_name'], _STRING); if (is_uploaded_file($fileName)) { // Move the uploaded file to a temporary location in the library $destination = tempnam(Config::GetSetting('LIBRARY_LOCATION'), 'dmp'); move_uploaded_file($fileName, $destination); Kit::ClassLoader('maintenance'); $maintenance = new Maintenance($this->db); // Use the maintenance class to restore the database if (!$maintenance->RestoreDatabase($destination)) { trigger_error($maintenance->GetErrorMessage(), E_USER_ERROR); } unlink($destination); } else { trigger_error(__('Not a valid uploaded file'), E_USER_ERROR); } } else { trigger_error(__('Unable to upload file'), E_USER_ERROR); } echo '</div>'; echo '<a href="index.php?p=admin">' . __('Database Restored. Click here to continue.') . '</a>'; include 'install/footer.inc'; die; }