From 2fb451c87241b5dfb44b45129978e1bb9b971a26 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Thu, 15 Oct 2009 17:55:55 +0000 Subject: - Patch #604618 by Crell, JacobSingh: create a common interface for Archive operations so we can handle .zip, .tar.gz. --- modules/system/system.api.php | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'modules/system/system.api.php') diff --git a/modules/system/system.api.php b/modules/system/system.api.php index c1f597855..1f4d1d394 100644 --- a/modules/system/system.api.php +++ b/modules/system/system.api.php @@ -2398,6 +2398,34 @@ function hook_action_info_alter(&$actions) { $actions['node_unpublish_action']['label'] = t('Unpublish and remove from public view.'); } +/** + * Declare archivers to the system. + * + * An archiver is a class that is able to package and unpackage one or more files + * into a single possibly compressed file. Common examples of such files are + * zip files and tar.gz files. All archiver classes must implement + * ArchiverInterface. + * + * When mapping a + * + * Each entry should be keyed on a unique value, and specify three + * additional keys: + * - class: The name of the PHP class for this archiver. + * - extensions: An array of file extensions that this archiver supports. + * - weight: This optional key specifies the weight of this archiver. + * When mapping file extensions to archivers, the first archiver by + * weight found that supports the requested extension will be used. + */ +function system_archiver_info() { + return array( + 'tar' => array( + 'class' => 'ArchiverTar', + 'extensions' => array('tar', 'tar.gz', 'tar.bz2'), + ), + ); +} + + /** * Defines additional date types. * -- cgit v1.2.3