Example #1
0
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;
}
Example #2
0
 /**
  * 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']);
 }