Linux anchor 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
Apache/2.4.18 (Ubuntu)
Server IP : 10.10.100.4 & Your IP : 216.73.217.150
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
owncloud-prm /
apps /
files_sharing /
lib /
Delete
Unzip
Name
Size
Permission
Date
Action
API
[ DIR ]
drwxr-xr-x
2018-04-19 18:15
AppInfo
[ DIR ]
drwxr-xr-x
2018-04-19 18:15
Command
[ DIR ]
drwxr-xr-x
2018-04-19 18:15
Controller
[ DIR ]
drwxr-xr-x
2018-04-19 18:15
Controllers
[ DIR ]
drwxr-xr-x
2018-04-19 18:15
Exceptions
[ DIR ]
drwxr-xr-x
2018-04-19 18:15
External
[ DIR ]
drwxr-xr-x
2018-04-19 18:15
Middleware
[ DIR ]
drwxr-xr-x
2018-04-19 18:15
ShareBackend
[ DIR ]
drwxr-xr-x
2018-04-19 18:15
Activity.php
15.33
KB
-rw-r--r--
2018-04-19 18:15
Cache.php
2.79
KB
-rw-r--r--
2018-04-19 18:15
Capabilities.php
4.38
KB
-rw-r--r--
2018-04-19 18:15
DeleteOrphanedSharesJob.php
1.85
KB
-rw-r--r--
2018-04-19 18:15
ExpireSharesJob.php
2.08
KB
-rw-r--r--
2018-04-19 18:15
Helper.php
9.58
KB
-rw-r--r--
2018-04-19 18:15
Hooks.php
2.03
KB
-rw-r--r--
2018-04-19 18:15
ISharedStorage.php
857
B
-rw-r--r--
2018-04-19 18:15
Migration.php
6.35
KB
-rw-r--r--
2018-04-19 18:15
MountProvider.php
5.75
KB
-rw-r--r--
2018-04-19 18:15
Scanner.php
2.31
KB
-rw-r--r--
2018-04-19 18:15
SharedMount.php
8.1
KB
-rw-r--r--
2018-04-19 18:15
SharedPropagator.php
1.41
KB
-rw-r--r--
2018-04-19 18:15
SharedStorage.php
12.21
KB
-rw-r--r--
2018-04-19 18:15
Updater.php
3.72
KB
-rw-r--r--
2018-04-19 18:15
Save
Rename
<?php /** * @author Björn Schießle <bjoern@schiessle.org> * @author Michael Gapczynski <GapczynskiM@gmail.com> * @author Morris Jobke <hey@morrisjobke.de> * @author Roeland Jago Douma <rullzer@owncloud.com> * * @copyright Copyright (c) 2018, ownCloud GmbH * @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/> * */ namespace OCA\Files_Sharing; class Updater { /** * @param array $params */ static public function renameHook($params) { self::renameChildren($params['oldpath'], $params['newpath']); self::moveShareToShare($params['newpath']); } /** * Fix for https://github.com/owncloud/core/issues/20769 * * The owner is allowed to move their files (if they are shared) into a receiving folder * In this case we need to update the parent of the moved share. Since they are * effectively handing over ownership of the file the rest of the code needs to know * they need to build up the reshare tree. * * @param string $path */ static private function moveShareToShare($path) { $userFolder = \OC::$server->getUserFolder(); // If the user folder can't be constructed (e.g. link share) just return. if ($userFolder === null) { return; } $src = $userFolder->get($path); $shareManager = \OC::$server->getShareManager(); $shares = $shareManager->getSharesBy($userFolder->getOwner()->getUID(), \OCP\Share::SHARE_TYPE_USER, $src, false, -1); $shares = array_merge($shares, $shareManager->getSharesBy($userFolder->getOwner()->getUID(), \OCP\Share::SHARE_TYPE_GROUP, $src, false, -1)); // If the path we move is not a share we don't care if (empty($shares)) { return; } // Check if the destination is inside a share $mountManager = \OC::$server->getMountManager(); $dstMount = $mountManager->find($src->getPath()); if (!($dstMount instanceof \OCA\Files_Sharing\SharedMount)) { // expected OC\Files\Mount\MountPoint $newOwner = $dstMount->getStorage()->getOwner(''); } else { $newOwner = $dstMount->getShare()->getShareOwner(); } //Ownership is moved over foreach ($shares as $share) { /** @var \OCP\Share\IShare $share */ if ($share->getSharedWith() !== $newOwner) { $share->setShareOwner($newOwner); $shareManager->updateShare($share); } else { $shareManager->deleteShare($share); } } } /** * rename mount point from the children if the parent was renamed * * @param string $oldPath old path relative to data/user/files * @param string $newPath new path relative to data/user/files */ static private function renameChildren($oldPath, $newPath) { $absNewPath = \OC\Files\Filesystem::normalizePath('/' . \OCP\User::getUser() . '/files/' . $newPath); $absOldPath = \OC\Files\Filesystem::normalizePath('/' . \OCP\User::getUser() . '/files/' . $oldPath); $mountManager = \OC\Files\Filesystem::getMountManager(); $mountedShares = $mountManager->findIn('/' . \OCP\User::getUser() . '/files/' . $oldPath); foreach ($mountedShares as $mount) { if ($mount->getStorage()->instanceOfStorage('OCA\Files_Sharing\ISharedStorage')) { $mountPoint = $mount->getMountPoint(); $target = str_replace($absOldPath, $absNewPath, $mountPoint); $mount->moveMount($target); } } } }