JArchiveZip

Extends \JObject

ZIP format adapter for the JArchive class

The ZIP compression code is partially based on code from: Eric Mueller eric@themepark.com http://www.zend.com/codex.php?id=535&single=1

Deins125 webmaster@atlant.ru http://www.zend.com/codex.php?id=470&single=1

The ZIP compression date code is partially based on code from Peter Listiak mlady@users.sourceforge.net

This class is inspired from and draws heavily in code and concept from the Compress package of The Horde Project http://www.horde.org

contributor

Chuck Hagenbuch chuck@horde.org

Michael Slusarz slusarz@horde.org

Michael Cochrane mike@graftonhall.co.nz

package

Joomla.Platform

subpackage

FileSystem

since

11.1

Methods

__construct

Class constructor, overridden in descendant classes.

__construct(mixed $properties = null) 
inherited
since

11.1

Arguments

$properties

mixedEither and associative array or another object to set the initial properties of the object.

__toString

Magic method to convert the object to a string gracefully.

__toString() : string
inherited deprecated
since

11.1

deprecated

12.3 Classes should provide their own __toString() implementation.

Response

stringThe classname.

_addToZIPFile

Adds a "file" to the ZIP archive.

_addToZIPFile( &$file,  &$contents,  &$ctrldir) : void
since

11.1

todo

Review and finish implementation

Arguments

$file

$contents

$ctrldir

_createZIPFile

Creates the ZIP file.

_createZIPFile( &$contents,  &$ctrlDir, string $path) : boolean

Official ZIP file format: http://www.pkware.com/appnote.txt

since

11.1

todo

Review and finish implementation

Arguments

$contents

$ctrlDir

$path

stringThe path to store the archive.

Response

booleanTrue if successful

_extract

Extract a ZIP compressed file to a given path using a php based algorithm that only requires zlib support

_extract(string $archive, string $destination, array $options) : boolean
since

11.1

Arguments

$archive

stringPath to ZIP archive to extract.

$destination

stringPath to extract archive into.

$options

arrayExtraction options [unused].

Response

booleanTrue if successful

_extractNative

Extract a ZIP compressed file to a given path using native php api calls for speed

_extractNative(string $archive, string $destination, array $options) : boolean
since

11.1

Arguments

$archive

stringPath to ZIP archive to extract

$destination

stringPath to extract archive into

$options

arrayExtraction options [unused]

Response

booleanTrue if successful

_getFileData

Returns the file data for a file by offsest in the ZIP archive

_getFileData(integer $key) : string
since

11.1

Arguments

$key

integerThe position of the file in the archive.

Response

stringUncompressed file data buffer.

_readZipInfo

Get the list of files/data from a ZIP archive buffer.

_readZipInfo( &$data) : boolean
KEY: Position in zipfile
VALUES: 'attr'  --  File attributes
'crc'   --  CRC checksum
'csize' --  Compressed file size
'date'  --  File modification time
'name'  --  Filename
'method'--  Compression method
'size'  --  Original file size
'type'  --  File type
since

11.1

Arguments

$data

Response

booleanTrue on success.

_unix2DOSTime

Converts a UNIX timestamp to a 4-byte DOS date and time format (date in high 2-bytes, time in low 2-bytes allowing magnitude comparison).

_unix2DOSTime(integer $unixtime = null) : integer
since

11.1

Arguments

$unixtime

integerThe current UNIX timestamp.

Response

integerThe current date in a 4-byte DOS format.

checkZipData

Checks to see if the data is a valid ZIP file.

checkZipData( &$data) : boolean
since

11.1

Arguments

$data

Response

booleanTrue if valid, false if invalid.

create

Create a ZIP compressed file from an array of file data.

create(string $archive, array $files, array $options = array()) : boolean
since

11.1

todo

Finish Implementation

Arguments

$archive

stringPath to save archive.

$files

arrayArray of files to add to archive.

$options

arrayCompression options (unused).

Response

booleanTrue if successful.

def

Sets a default value if not alreay assigned

def(string $property, mixed $default = null) : mixed
inherited
since

11.1

Arguments

$property

stringThe name of the property.

$default

mixedThe default value.

Response

mixed

extract

Extract a ZIP compressed file to a given path

extract(string $archive, string $destination, array $options = array()) : boolean
since

11.1

Arguments

$archive

stringPath to ZIP archive to extract

$destination

stringPath to extract archive into

$options

arrayExtraction options [unused]

Response

booleanTrue if successful

get

Returns a property of the object or the default value if the property is not set.

get(string $property, mixed $default = null) : mixed
inherited
since

11.1

see \JObject::getProperties()

Arguments

$property

stringThe name of the property.

$default

mixedThe default value.

Response

mixedThe value of the property.

getError

Get the most recent error message.

getError(integer $i = null, boolean $toString = true) : string
inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Arguments

$i

integerOption error index.

$toString

booleanIndicates if JError objects should return their error message.

Response

stringError message

getErrors

Return all errors, if any.

getErrors() : array
inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Response

arrayArray of error messages or JErrors.

getProperties

Returns an associative array of object properties.

getProperties(boolean $public = true) : array
inherited
since

11.1

see \JObject::get()

Arguments

$public

booleanIf true, returns only the public properties.

Response

array

hasNativeSupport

Method to determine if the server has native zip support for faster handling

hasNativeSupport() : boolean
static
since

11.1

Response

booleanTrue if php has native ZIP support

isSupported

Tests whether this adapter can unpack files on this computer.

isSupported() : boolean
static
since

11.3

Response

booleanTrue if supported

set

Modifies a property of the object, creating it if it does not already exist.

set(string $property, mixed $value = null) : mixed
inherited
since

11.1

Arguments

$property

stringThe name of the property.

$value

mixedThe value of the property to set.

Response

mixedPrevious value of the property.

setError

Add an error message.

setError(string $error) : void
inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Arguments

$error

stringError message.

setProperties

Set the object properties based on a named array/hash.

setProperties(mixed $properties) : boolean
inherited
since

11.1

see \JObject::set()

Arguments

$properties

mixedEither an associative array or another object.

Response

boolean

toString

Converts the object to a string (the class name).

toString() : string
inherited deprecated
since

11.1

deprecated

12.1 Use magic method __toString()

see \JObject::__toString()

Response

string

Properties

_methods

ZIP compression methods.

since

11.1

Type(s)

array

_ctrlDirHeader

Beginning of central directory record.

since

11.1

Type(s)

string

_ctrlDirEnd

End of central directory record.

since

11.1

Type(s)

string

_fileHeader

Beginning of file contents.

since

11.1

Type(s)

string

_data

ZIP file data buffer

since

11.1

Type(s)

string

_metadata

ZIP file metadata array

since

11.1

Type(s)

array

_errors

An array of error messages or Exception objects.

inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Type(s)

array