File manager - Edit - /home/jardides/www/Jardi-design/images/administrator/Lockdown.tar
Back
LockdownManager.php 0000604 00000003675 15247207040 0010340 0 ustar 00 <?php /** * @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl> * * 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/> * */ namespace OC\Lockdown; use OC\Authentication\Token\IToken; use OCP\ISession; use OCP\Lockdown\ILockdownManager; class LockdownManager implements ILockdownManager { /** @var ISession */ private $sessionCallback; private $enabled = false; /** @var array|null */ private $scope; /** * LockdownManager constructor. * * @param callable $sessionCallback we need to inject the session lazily to avoid dependency loops */ public function __construct(callable $sessionCallback) { $this->sessionCallback = $sessionCallback; } public function enable() { $this->enabled = true; } /** * @return ISession */ private function getSession() { $callback = $this->sessionCallback; return $callback(); } private function getScopeAsArray() { if (!$this->scope) { $session = $this->getSession(); $sessionScope = $session->get('token_scope'); if ($sessionScope) { $this->scope = $sessionScope; } } return $this->scope; } public function setToken(IToken $token) { $this->scope = $token->getScopeAsArray(); $session = $this->getSession(); $session->set('token_scope', $this->scope); $this->enable(); } public function canAccessFilesystem() { $scope = $this->getScopeAsArray(); return !$scope || $scope['filesystem']; } } Filesystem/NullStorage.php 0000604 00000010616 15247207040 0011641 0 ustar 00 <?php /** * @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl> * * 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/> * */ namespace OC\Lockdown\Filesystem; use Icewind\Streams\IteratorDirectory; use OC\Files\FileInfo; use OC\Files\Storage\Common; class NullStorage extends Common { public function __construct($parameters) { parent::__construct($parameters); } public function getId() { return 'null'; } public function mkdir($path) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function rmdir($path) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function opendir($path) { return new IteratorDirectory([]); } public function is_dir($path) { return $path === ''; } public function is_file($path) { return false; } public function stat($path) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function filetype($path) { return ($path === '') ? 'dir' : false; } public function filesize($path) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function isCreatable($path) { return false; } public function isReadable($path) { return $path === ''; } public function isUpdatable($path) { return false; } public function isDeletable($path) { return false; } public function isSharable($path) { return false; } public function getPermissions($path) { return null; } public function file_exists($path) { return $path === ''; } public function filemtime($path) { return ($path === '') ? time() : false; } public function file_get_contents($path) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function file_put_contents($path, $data) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function unlink($path) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function rename($path1, $path2) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function copy($path1, $path2) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function fopen($path, $mode) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function getMimeType($path) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function hash($type, $path, $raw = false) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function free_space($path) { return FileInfo::SPACE_UNKNOWN; } public function touch($path, $mtime = null) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function getLocalFile($path) { return false; } public function hasUpdated($path, $time) { return false; } public function getETag($path) { return ''; } public function isLocal() { return false; } public function getDirectDownload($path) { return false; } public function copyFromStorage(\OCP\Files\Storage $sourceStorage, $sourceInternalPath, $targetInternalPath) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function moveFromStorage(\OCP\Files\Storage $sourceStorage, $sourceInternalPath, $targetInternalPath) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function test() { return true; } public function getOwner($path) { return null; } public function getCache($path = '', $storage = null) { return new NullCache(); } } Filesystem/NullCache.php 0000604 00000005645 15247207040 0011246 0 ustar 00 <?php /** * @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl> * * 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/> * */ namespace OC\Lockdown\Filesystem; use OC\Files\Cache\CacheEntry; use OCP\Constants; use OCP\Files\Cache\ICache; use OCP\Files\FileInfo; use OCP\Files\Search\ISearchQuery; class NullCache implements ICache { public function getNumericStorageId() { return -1; } public function get($file) { return $file !== '' ? null : new CacheEntry([ 'fileid' => -1, 'parent' => -1, 'name' => '', 'path' => '', 'size' => '0', 'mtime' => time(), 'storage_mtime' => time(), 'etag' => '', 'mimetype' => FileInfo::MIMETYPE_FOLDER, 'mimepart' => 'httpd', 'permissions' => Constants::PERMISSION_READ ]); } public function getFolderContents($folder) { return []; } public function getFolderContentsById($fileId) { return []; } public function put($file, array $data) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function insert($file, array $data) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function update($id, array $data) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function getId($file) { return -1; } public function getParentId($file) { return -1; } public function inCache($file) { return $file === ''; } public function remove($file) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function move($source, $target) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function moveFromCache(ICache $sourceCache, $sourcePath, $targetPath) { throw new \OC\ForbiddenException('This request is not allowed to access the filesystem'); } public function getStatus($file) { return ICache::COMPLETE; } public function search($pattern) { return []; } public function searchByMime($mimetype) { return []; } public function searchQuery(ISearchQuery $query) { return []; } public function searchByTag($tag, $userId) { return []; } public function getIncomplete() { return []; } public function getPathById($id) { return ''; } public function normalize($path) { return $path; } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings