cms/drupal/includes/archiver.inc
changeset 541 e756a8c72c3d
equal deleted inserted replaced
540:07239de796bb 541:e756a8c72c3d
       
     1 <?php
       
     2 
       
     3 /**
       
     4  * @file
       
     5  * Shared classes and interfaces for the archiver system.
       
     6  */
       
     7 
       
     8 /**
       
     9  * Defines the common interface for all Archiver classes.
       
    10  */
       
    11 interface ArchiverInterface {
       
    12 
       
    13   /**
       
    14    * Constructs a new archiver instance.
       
    15    *
       
    16    * @param $file_path
       
    17    *   The full system path of the archive to manipulate. Only local files
       
    18    *   are supported. If the file does not yet exist, it will be created if
       
    19    *   appropriate.
       
    20    */
       
    21   public function __construct($file_path);
       
    22 
       
    23   /**
       
    24    * Adds the specified file or directory to the archive.
       
    25    *
       
    26    * @param $file_path
       
    27    *   The full system path of the file or directory to add. Only local files
       
    28    *   and directories are supported.
       
    29    *
       
    30    * @return ArchiverInterface
       
    31    *   The called object.
       
    32    */
       
    33   public function add($file_path);
       
    34 
       
    35   /**
       
    36    * Removes the specified file from the archive.
       
    37    *
       
    38    * @param $path
       
    39    *   The file name relative to the root of the archive to remove.
       
    40    *
       
    41    * @return ArchiverInterface
       
    42    *   The called object.
       
    43    */
       
    44   public function remove($path);
       
    45 
       
    46   /**
       
    47    * Extracts multiple files in the archive to the specified path.
       
    48    *
       
    49    * @param $path
       
    50    *   A full system path of the directory to which to extract files.
       
    51    * @param $files
       
    52    *   Optionally specify a list of files to be extracted. Files are
       
    53    *   relative to the root of the archive. If not specified, all files
       
    54    *   in the archive will be extracted.
       
    55    *
       
    56    * @return ArchiverInterface
       
    57    *   The called object.
       
    58    */
       
    59   public function extract($path, array $files = array());
       
    60 
       
    61   /**
       
    62    * Lists all files in the archive.
       
    63    *
       
    64    * @return
       
    65    *   An array of file names relative to the root of the archive.
       
    66    */
       
    67   public function listContents();
       
    68 }