Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

46 lines (40 sloc) 1.344 kb
<?php
/** Dump to ZIP format
* @link http://www.adminer.org/plugins/#use
* @uses ZipArchive, tempnam("")
* @author Jakub Vrana, http://www.vrana.cz/
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
*/
class AdminerDumpZip {
/** @access protected */
var $filename, $data;
function dumpOutput() {
if (!class_exists('ZipArchive')) {
return array();
}
return array('zip' => 'ZIP');
}
function _zip($string, $state) {
// ZIP can be created without temporary file by gzcompress - see PEAR File_Archive
$this->data .= $string;
if ($state & PHP_OUTPUT_HANDLER_END) {
$zip = new ZipArchive;
$zipFile = tempnam("", "zip");
$zip->open($zipFile, ZipArchive::OVERWRITE); // php://output is not supported
$zip->addFromString($this->filename, $this->data);
$zip->close();
$return = file_get_contents($zipFile);
unlink($zipFile);
return $return;
}
return "";
}
function dumpHeaders($identifier, $multi_table = false) {
if ($_POST["output"] == "zip") {
$this->filename = "$identifier." . ($multi_table && preg_match("~[ct]sv~", $_POST["format"]) ? "tar" : $_POST["format"]);
header("Content-Type: application/zip");
ob_start(array($this, '_zip'));
}
}
}
Jump to Line
Something went wrong with that request. Please try again.