diff options
Diffstat (limited to 'includes/pear/HTTP/Download/Archive.php')
| -rw-r--r-- | includes/pear/HTTP/Download/Archive.php | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/includes/pear/HTTP/Download/Archive.php b/includes/pear/HTTP/Download/Archive.php deleted file mode 100644 index 4eadbd7..0000000 --- a/includes/pear/HTTP/Download/Archive.php +++ /dev/null @@ -1,122 +0,0 @@ -<?php -/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ - -/** - * HTTP::Download::Archive - * - * PHP versions 4 and 5 - * - * @category HTTP - * @package HTTP_Download - * @author Michael Wallner <mike@php.net> - * @copyright 2003-2005 Michael Wallner - * @license BSD, revisewd - * @version CVS: $Id: Archive.php 304423 2010-10-15 13:36:46Z clockwerx $ - * @link http://pear.php.net/package/HTTP_Download - */ - -/** - * Requires HTTP_Download - */ -require_once 'HTTP/Download.php'; - -/** - * Requires System - */ -require_once 'System.php'; - -/** - * HTTP_Download_Archive - * - * Helper class for sending Archives. - * - * @access public - * @version $Revision: 304423 $ - */ -class HTTP_Download_Archive -{ - /** - * Send a bunch of files or directories as an archive - * - * Example: - * <code> - * require_once 'HTTP/Download/Archive.php'; - * HTTP_Download_Archive::send( - * 'myArchive.tgz', - * '/var/ftp/pub/mike', - * HTTP_DOWNLOAD_BZ2, - * '', - * '/var/ftp/pub' - * ); - * </code> - * - * @see Archive_Tar::createModify() - * @static - * @access public - * @return mixed Returns true on success or PEAR_Error on failure. - * @param string $name name the sent archive should have - * @param mixed $files files/directories - * @param string $type archive type - * @param string $add_path path that should be prepended to the files - * @param string $strip_path path that should be stripped from the files - */ - function send($name, $files, $type = HTTP_DOWNLOAD_TGZ, $add_path = '', $strip_path = '') - { - $tmp = System::mktemp(); - - switch ($type = strToUpper($type)) - { - case HTTP_DOWNLOAD_TAR: - include_once 'Archive/Tar.php'; - $arc = &new Archive_Tar($tmp); - $content_type = 'x-tar'; - break; - - case HTTP_DOWNLOAD_TGZ: - include_once 'Archive/Tar.php'; - $arc = &new Archive_Tar($tmp, 'gz'); - $content_type = 'x-gzip'; - break; - - case HTTP_DOWNLOAD_BZ2: - include_once 'Archive/Tar.php'; - $arc = &new Archive_Tar($tmp, 'bz2'); - $content_type = 'x-bzip2'; - break; - - case HTTP_DOWNLOAD_ZIP: - include_once 'Archive/Zip.php'; - $arc = &new Archive_Zip($tmp); - $content_type = 'x-zip'; - break; - - default: - return PEAR::raiseError( - 'Archive type not supported: ' . $type, - HTTP_DOWNLOAD_E_INVALID_ARCHIVE_TYPE - ); - } - - if ($type == HTTP_DOWNLOAD_ZIP) { - $options = array( 'add_path' => $add_path, - 'remove_path' => $strip_path); - if (!$arc->create($files, $options)) { - return PEAR::raiseError('Archive creation failed.'); - } - } else { - if (!$e = $arc->createModify($files, $add_path, $strip_path)) { - return PEAR::raiseError('Archive creation failed.'); - } - if (PEAR::isError($e)) { - return $e; - } - } - unset($arc); - - $dl = &new HTTP_Download(array('file' => $tmp)); - $dl->setContentType('application/' . $content_type); - $dl->setContentDisposition(HTTP_DOWNLOAD_ATTACHMENT, $name); - return $dl->send(); - } -} -?> |
