/usr/share/php/Horde/Compress/Base.php is in php-horde-compress 2.2.1-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <?php
/**
* Copyright 2011-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
* @author Michael Slusarz <slusarz@horde.org>
* @author Jan Schneider <jan@horde.org>
* @category Horde
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Compress
*/
/**
* The base class that all compress drivers should extend.
*
* @author Michael Slusarz <slusarz@horde.org>
* @author Jan Schneider <jan@horde.org>
* @category Horde
* @copyright 2011-2017 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Compress
*/
class Horde_Compress_Base
{
/**
* Does this driver support compressing data?
*
* @var boolean
*/
public $canCompress = false;
/**
* Does this driver support decompressing data?
*
* @var boolean
*/
public $canDecompress = false;
/**
* Logger
*
* @var Horde_Log_Logger
*/
protected $_logger;
/**
* Constructor.
*
* @param array $options Additional options for the compressor backend.
*/
public function __construct($options = array())
{
if (!empty($options['logger'])) {
$this->_logger = $options['logger'];
} else {
$this->_logger = new Horde_Support_Stub();
}
}
/**
* Compresses the data.
*
* @param mixed $data The data to compress.
* @param array $params An array of arguments needed to compress the
* data.
*
* @return mixed The compressed data.
* @throws Horde_Compress_Exception
*/
public function compress($data, array $params = array())
{
return $data;
}
/**
* Compresses a directory.
*
* @since Horde_Compress 2.2.0
*
* @param string $directory The directory to recursively compress.
* @param array $params An array of arguments needed to compress the
* data.
*
* @return mixed The compressed data.
* @throws Horde_Compress_Exception
*/
public function compressDirectory($directory, array $params = array())
{
if (!$this->canCompress) {
throw new Horde_Compress_Exception(
Horde_Compress_Translation::t("Cannot compress data")
);
}
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator(
$directory,
FilesystemIterator::CURRENT_AS_FILEINFO
| FilesystemIterator::SKIP_DOTS
)
);
$regexp = '/^' . preg_quote($directory . '/', '/') . '/';
$data = array();
foreach ($iterator as $file) {
$content = '';
foreach ($file->openFile() as $line) {
$content .= $line;
}
$data[] = array(
'name' => preg_replace($regexp, '', $file->getPathName()),
'data' => $content,
'time' => $file->getMTime(),
'spl' => $file,
);
}
return $this->compress($data, $params);
}
/**
* Decompresses the data.
*
* @param mixed $data The data to decompress.
* @param array $params An array of arguments needed to decompress the
* data.
*
* @return mixed The decompressed data.
* @throws Horde_Compress_Exception
*/
public function decompress($data, array $params = array())
{
return $data;
}
}
|