diff options
Diffstat (limited to 'lib/private/Archive/Archive.php')
-rw-r--r-- | lib/private/Archive/Archive.php | 113 |
1 files changed, 38 insertions, 75 deletions
diff --git a/lib/private/Archive/Archive.php b/lib/private/Archive/Archive.php index 20d56e50e76..874087fb167 100644 --- a/lib/private/Archive/Archive.php +++ b/lib/private/Archive/Archive.php @@ -1,127 +1,90 @@ <?php + /** - * @copyright Copyright (c) 2016, ownCloud, Inc. - * - * @author Arthur Schiwon <blizzz@arthur-schiwon.de> - * @author Christopher Schäpers <kondou@ts.unde.re> - * @author Christoph Wurst <christoph@winzerhof-wurst.at> - * @author Joas Schilling <coding@schilljs.com> - * @author Jörn Friedrich Dreyer <jfd@butonic.de> - * @author Lukas Reschke <lukas@statuscode.ch> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <robin@icewind.nl> - * @author Roeland Jago Douma <roeland@famdouma.nl> - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-only */ - namespace OC\Archive; abstract class Archive { - /** - * @param $source - */ - abstract public function __construct($source); + abstract public function __construct(string $source); + /** * add an empty folder to the archive - * @param string $path - * @return bool */ - abstract public function addFolder($path); + abstract public function addFolder(string $path): bool; + /** * add a file to the archive - * @param string $path * @param string $source either a local file or string data - * @return bool */ - abstract public function addFile($path, $source = ''); + abstract public function addFile(string $path, string $source = ''): bool; + /** * rename a file or folder in the archive - * @param string $source - * @param string $dest - * @return bool */ - abstract public function rename($source, $dest); + abstract public function rename(string $source, string $dest): bool; + /** * get the uncompressed size of a file in the archive - * @param string $path - * @return int */ - abstract public function filesize($path); + abstract public function filesize(string $path): false|int|float; + /** * get the last modified time of a file in the archive - * @param string $path - * @return int + * @return int|false */ - abstract public function mtime($path); + abstract public function mtime(string $path); + /** * get the files in a folder * @param string $path * @return array */ - abstract public function getFolder($path); + abstract public function getFolder(string $path): array; + /** * get all files in the archive - * @return array */ - abstract public function getFiles(); + abstract public function getFiles(): array; + /** * get the content of a file - * @param string $path - * @return string + * @return string|false */ - abstract public function getFile($path); + abstract public function getFile(string $path); + /** * extract a single file from the archive - * @param string $path - * @param string $dest - * @return bool */ - abstract public function extractFile($path, $dest); + abstract public function extractFile(string $path, string $dest): bool; + /** * extract the archive - * @param string $dest - * @return bool */ - abstract public function extract($dest); + abstract public function extract(string $dest): bool; + /** * check if a file or folder exists in the archive - * @param string $path - * @return bool */ - abstract public function fileExists($path); + abstract public function fileExists(string $path): bool; + /** * remove a file or folder from the archive - * @param string $path - * @return bool */ - abstract public function remove($path); + abstract public function remove(string $path): bool; + /** * get a file handler - * @param string $path - * @param string $mode * @return bool|resource */ - abstract public function getStream($path, $mode); + abstract public function getStream(string $path, string $mode); + /** * add a folder and all its content - * @param string $path - * @param string $source */ - public function addRecursive($path, $source) { + public function addRecursive(string $path, string $source): void { $dh = opendir($source); if (is_resource($dh)) { $this->addFolder($path); @@ -129,10 +92,10 @@ abstract class Archive { if ($file === '.' || $file === '..') { continue; } - if (is_dir($source.'/'.$file)) { - $this->addRecursive($path.'/'.$file, $source.'/'.$file); + if (is_dir($source . '/' . $file)) { + $this->addRecursive($path . '/' . $file, $source . '/' . $file); } else { - $this->addFile($path.'/'.$file, $source.'/'.$file); + $this->addFile($path . '/' . $file, $source . '/' . $file); } } } |