[geeklog-cvs] geeklog: Converted CR/LF line endings to LF only - no change in ...

geeklog-cvs at lists.geeklog.net geeklog-cvs at lists.geeklog.net
Sun Sep 20 04:50:28 EDT 2009


details:   http://project.geeklog.net/cgi-bin/hgweb.cgi/rev/036926b4e089
changeset: 7330:036926b4e089
user:      Dirk Haun <dirk at haun-online.de>
date:      Sun Sep 20 10:01:15 2009 +0200
description:
Converted CR/LF line endings to LF only - no change in content

diffstat:

 system/classes/unpacker.class.php |  956 +++++++++++++++++++++---------------------
 1 files changed, 478 insertions(+), 478 deletions(-)

diffs (truncated from 960 to 300 lines):

diff -r b973949caecc -r 036926b4e089 system/classes/unpacker.class.php
--- a/system/classes/unpacker.class.php	Sun Sep 20 09:46:54 2009 +0200
+++ b/system/classes/unpacker.class.php	Sun Sep 20 10:01:15 2009 +0200
@@ -1,478 +1,478 @@
-<?php
-
-/* Reminder: always indent with 4 spaces (no tabs). */
-// +---------------------------------------------------------------------------+
-// | Geeklog 1.6                                                               |
-// +---------------------------------------------------------------------------+
-// | unpacker.class.php                                                        |
-// |                                                                           |
-// | unpacker - archive libs wrapper                                           |
-// | This class wraps calls to pecl Zip, pear Zip, pear Tar, using the best    |
-// | package available to unpack or list information about the archive.        |
-// +---------------------------------------------------------------------------+
-// | Copyright (C) 2009 by the following authors:                              |
-// |                                                                           |
-// | Authors: Justin Carlson        - justin DOT carlson AT gmail DOT com      |
-// +---------------------------------------------------------------------------+
-// |                                                                           |
-// | This program is free software; you can redistribute it and/or             |
-// | modify it under the terms of the GNU General Public License               |
-// | as published by the Free Software Foundation; either version 2            |
-// | of the License, or (at your option) any later version.                    |
-// |                                                                           |
-// | This program is distributed in the hope that it will be useful,           |
-// | but WITHOUT ANY WARRANTY; without even the implied warranty of            |
-// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             |
-// | GNU General Public License for more details.                              |
-// |                                                                           |
-// | You should have received a copy of the GNU General Public License         |
-// | along with this program; if not, write to the Free Software Foundation,   |
-// | Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.           |
-// |                                                                           |
-// +---------------------------------------------------------------------------+
-
-/**
- * Geeklog plugin unpacker - Archive Libs Wrapper
- * 
- * This class wraps calls to pecl Zip, pear Zip, pear Tar, using the best 
- * package available to unpack or list information about the archive.
- * 
- * @author Justin Carlson, justin DOT carlson AT gmail DOT com
- * 
- */
-class unpacker {
-
-    // mime types ( these are not very reliable, varies browser to browser )
-    // for the best results, pass the real filename as well as the mime type
-    var $mime_def = array('application/zip'              => 'zip',
-    					  'application/x-zip'            => 'zip',
-    					  'application/x-zip-compressed' => 'zip',
-    					  'multipart/x-zip'              => 'zip',
-    					  'application/gzip'             => 'tar',
-    					  'application/tar'              => 'tar',
-    					  'application/x-tar'            => 'tar',
-    					  'application/x-gtar'           => 'tar',
-    					  'application/x-gzip'           => 'tar',
-    					  'application/octet-stream'     => 'tar',
-    					  'application/x-compress'       => 'tar',
-    					  'application/x-compressed'     => 'tar');
-
-    var $file = null; // archive name 
-    var $filesize = null; // archive size (in bytes)
-    var $ext = null; // archive ext 
-    var $contents = null; // archive contents 
-    var $archive = null; // archive resource handle
-    var $errorno = null; // error number ( set when returned false )
-    var $error = null; // error text ( set when returned false )
-    var $u_size = null; // uncompressed archive size 
-    var $d_sep = null; // directory separator default
-    var $type = null; // archive type  
-    var $comp = null; // archive compression type (private)
-
-
-    /**
-     * Constructor
-     * 
-     * @param string $file full path to archive
-     * @param string $mime_type mime type ( optional, application/zip, /tar, etc )
-     * @return bool $success result of loading archive passed
-     */
-    function unpacker($file, $mime_type = null) {
-
-        // default directory separator
-        if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
-            $this->d_sep = '\\';
-        } else {
-            $this->d_sep = '/';
-        }
-
-        // if the file doesn't have it's path, assume local
-        if (! strstr($file, $this->d_sep)) {
-            $file = getcwd() . $this->d_sep . $file;
-        }
-
-        // make sure the file exists
-        if (file_exists($file)) {
-
-            // copy vars
-            $this->file = $file;
-            $this->filesize = filesize($file);
-            $this->ext = strtolower(substr($file, - 4));
-
-            // if the type is passed, store it
-            if ($mime_type != null) {
-
-                if (isset($this->mime_def[$mime_type])) {
-                    $this->type = $this->mime_def[$mime_type];
-                } else {
-                    return $this->setError('400', 'Invalid MIME Type');
-                }
-
-            }
-
-            if ($this->type == null || $this->type == 'other') {
-
-                // if a known mime type was not provided, expect real filename
-                // mime types are not reliable so this is the reccommended way
-                // for example: unpacker($_FILES['foo']['name'],$type); 
-                // .tar, .tgz, .tar.gz, .tar.bz2, and .tar.bz are supported
-                if ($this->ext == 'r.gz' || $this->ext == '.tgz') {
-                    $this->type = 'tar';
-                    $this->comp = 'gz';
-                } elseif ($this->ext == 'r.bz' || $this->ext == '.bz2') {
-                    $this->type = 'tar';
-                    $this->comp = 'bz2';
-                } else {
-                    $this->type = str_replace('.', '', $this->ext);
-                }
-
-                // see if we know of a mime type for this ext
-                if (in_array($this->type, $this->mime_def) === false) {
-                    return $this->setError('400', 'Invalid File Extension');
-                }
-            }
-
-            // call the load wrapper, return result
-            return $this->load_file();
-
-        } else {
-            // file did not exist
-            return false;
-        }
-
-    }
-
-    /**
-     * Open - Constructor Wrapper
-     * This clears the vars and loads another file.
-     * ( May never be used )
-     * 
-     * @param string $file full path to archive
-     * @param string $optional_type mime type ( application/zip, /tar, etc )
-     * @return bool $success result of loading archive passed
-     */
-    function open($file, $optional_type = false) {
-
-        $this->ext = null;
-        $this->file = null;
-        $this->filesize = null;
-        $this->contents = null;
-        $this->archive = null;
-        $this->errorno = null;
-        $this->error = null;
-        $this->u_size = null;
-        $this->d_sep = null;
-        $this->type = null;
-        return $this->unpacker($file, $optional_type);
-    }
-
-    /**
-     * 
-     * Decides which loader to call, or returns false if one isn't found.
-     * 
-     * @return bool $success result of loading archive passed
-     */
-    function load_file() {
-
-        $handler = 'load_' . $this->type;
-        if (method_exists($this, $handler)) {
-            return $this->$handler();
-        } else {
-            return $this->setError('406', 'Unacceptable archive.');
-        }
-    }
-
-    /**
-     * load a zip archive
-     * 
-     * @return bool $success result of loading archive passed
-     */
-    function load_zip() {
-
-        if (function_exists('zip_open')) {
-
-            // Use PECL ZIP
-            $this->archive = new ZipArchive();
-            $result = $this->archive->open($this->file);
-            if ($result === false) {
-                return $this->setError($result, 'ZipArchive Error');
-            }
-
-        } else {
-
-            // use Pear Archive_Zip     
-            require_once 'Archive/Zip.php';
-            $this->archive = new Archive_Zip($this->file);
-            // unfortunately, we can't tell if it succeeded
-
-        }
-
-        // return resource handle or result
-        return true;
-    }
-
-    /**
-     * load a tar archive
-     * 
-     * @return bool $success result of loading archive passed
-     */
-    function load_tar() {
-
-        // use Pear Archive_Tar 
-        require_once 'Archive/Tar.php';
-        $this->archive = new Archive_Tar($this->file, $this->comp);
-
-        // unfortunately, we can't tell if it succeeded
-        return ($this->archive);
-
-    }
-
-    /**
-     * return contents of archive (wrapper)
-     * 
-     * @return array array(array('filename','size','etc')) archive contents
-     */
-    function getlist() {
-
-        // see if content are cached
-        if (is_array($this->contents)) {
-            return $this->contents;
-        }        
-
-        // not cached, load and cache the content list
-        $handler = 'list_' . $this->type;
-        if (method_exists($this, $handler)) {
-            $this->contents = $this->$handler();
-            return $this->contents;
-        } else {
-            return $this->setError('405', 'Unpacker called getlist ' . 'with unknown handler.');
-        }
-
-    }
-
-    /**
-     * return contents of zip archive
-     * 
-     * @return array array(array('filename','size','etc')) archive contents
-     */
-    function list_zip() {
-
-        // using PECL::ZipArchive
-        if (function_exists('zip_open')) {
-
-            // catch empty archive
-            if ($this->archive->numFiles < 1) {
-                return $this->setError('411', 'Archive is empty.');
-            }
-
-            // reset cache
-            $this->contents = array();
-            for ($i = 0; $i < $this->archive->numFiles; $i ++) {
-
-                // Make ZipArchive's info look like Archive_Zip's 
-                $zip_entry = $this->archive->statIndex($i);
-                $this->contents[$i]['filename'] = $zip_entry['name'];
-                $this->contents[$i]['size'] = $zip_entry['size'];
-                $this->contents[$i]['compressed'] = $zip_entry['comp_size'];
-                $this->contents[$i]['method'] = $zip_entry['comp_method'];
-
-            }
-            // return the contents list            
-            return $this->contents;
-
-        // using PEAR::Archive_Zip
-        } else {
-
-            $this->contents = $this->archive->listContent();
-            if (is_array($this->contents)) {
-                return $this->contents;
-            } else {
-                return $this->setError('411', 'Archive is empty.');
-            }
-
-        }
-    }
-
-    /**



More information about the geeklog-cvs mailing list