function snapshot_utility_extract_archive_manifest($archiveFilename='', $restoreFolder='') { global $wpmudev_snapshot; $manifest_file = 'snapshot_manifest.txt'; if (!file_exists($archiveFilename)) return false; if (!$restoreFolder) $restoreFolder = $wpmudev_snapshot->snapshot_get_setting('backupRestoreFolderFull'); // It is assumed the folder already exists! // Clear out the restore folder. snapshot_utility_recursive_rmdir($restoreFolder); $ret = wp_mkdir_p($restoreFolder); //echo "zipLibrary[". $wpmudev_snapshot->config_data['config']['zipLibrary'] ."]<br />"; //die(); if ($wpmudev_snapshot->config_data['config']['zipLibrary'] == "PclZip") { if (!defined('PCLZIP_TEMPORARY_DIR')) define('PCLZIP_TEMPORARY_DIR', $restoreFolder); if (!class_exists('class PclZip')) require_once(ABSPATH . '/wp-admin/includes/class-pclzip.php'); $zipArchive = new PclZip($archiveFilename); $exteact_files_list = $zipArchive->extract(PCLZIP_OPT_PATH, $restoreFolder, PCLZIP_OPT_BY_NAME, array('snapshot_manifest.txt')); } else { $zip = new ZipArchive; $res = $zip->open($archiveFilename); if ($res === TRUE) { $zip->extractTo($restoreFolder, array('snapshot_manifest.txt')); $zip->close(); } } $manifest_filename = trailingslashit($restoreFolder) . $manifest_file; if (file_exists($manifest_filename)) return $manifest_filename; else return false; }
/** * Uninstall/Delete plugin action. Called from uninstall.php file. This function removes file and options setup by plugin. * * @since 1.0.0 * @see * * @param int UNIX timestamp from time() * @return none */ function uninstall_snapshot() { $this->load_config(); $this->set_backup_folder(); if (isset($this->_settings['backupBaseFolderFull']) && strlen($this->_settings['backupBaseFolderFull'])) { snapshot_utility_recursive_rmdir($this->_settings['backupBaseFolderFull']); } delete_option($this->_settings['options_key']); }