Version: current

     1 <?php
     2 /**
     3  * Class for handling archives.
     4  * To implement a specific archive system, create a subclass of this abstract class, and amend the implementation of Archive::open().
     5  * @package sapphire
     6  * @subpackage filesystem
     7  */
     8 abstract class Archive extends Object {
     9     /**
    10      * Return an Archive object for the given file.
    11      */
    12     static function open($filename) {
    13         if(substr($filename, strlen($filename) - strlen('.tar.gz')) == '.tar.gz' ||
    14             substr($filename, strlen($filename) - strlen('.tar.bz2')) == '.tar.bz2' ||
    15             substr($filename, strlen($filename) - strlen('.tar')) == '.tar') {
    16                 return new TarballArchive($filename);
    17             }
    18     }
    19
    20     function extractTo($destination, $entries = null) {
    21     }
    22
    23     function listing($path) {
    24     }
    25 }
    26
    27 ?>

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -