Skip to content

Commit

Permalink
Merge pull request #31901 from nextcloud/fs-setup-tweaks
Browse files Browse the repository at this point in the history
Filesystem setup tweaks
  • Loading branch information
PVince81 committed Apr 8, 2022
2 parents 0d7d28e + 499749d commit 1b819b8
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 2 deletions.
11 changes: 11 additions & 0 deletions lib/private/Files/Node/LazyFolder.php
Expand Up @@ -23,6 +23,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/

namespace OC\Files\Node;

use OC\Files\Utils\PathHelper;
Expand Down Expand Up @@ -310,13 +311,20 @@ public function getUserFolder($userId) {
* @inheritDoc
*/
public function getMimetype() {
if (isset($this->data['mimetype'])) {
return $this->data['mimetype'];
}
return $this->__call(__FUNCTION__, func_get_args());
}

/**
* @inheritDoc
*/
public function getMimePart() {
if (isset($this->data['mimetype'])) {
[$part,] = explode('/', $this->data['mimetype']);
return $part;
}
return $this->__call(__FUNCTION__, func_get_args());
}

Expand All @@ -331,6 +339,9 @@ public function isEncrypted() {
* @inheritDoc
*/
public function getType() {
if (isset($this->data['type'])) {
return $this->data['type'];
}
return $this->__call(__FUNCTION__, func_get_args());
}

Expand Down
3 changes: 3 additions & 0 deletions lib/private/Files/Node/LazyUserFolder.php
Expand Up @@ -23,6 +23,7 @@

namespace OC\Files\Node;

use OCP\Files\FileInfo;
use OCP\Constants;
use OCP\Files\IRootFolder;
use OCP\Files\NotFoundException;
Expand All @@ -49,6 +50,8 @@ public function __construct(IRootFolder $rootFolder, IUser $user) {
}, [
'path' => $this->path,
'permissions' => Constants::PERMISSION_ALL,
'type' => FileInfo::TYPE_FOLDER,
'mimetype' => FileInfo::MIMETYPE_FOLDER,
]);
}

Expand Down
9 changes: 7 additions & 2 deletions lib/private/Files/SetupManager.php
Expand Up @@ -368,8 +368,12 @@ public function setupForPath(string $path, bool $includeChildren = false): void
}

// for the user's home folder, it's always the home mount
if (rtrim($path) === "/" . $user->getUID() . "/files" && !$includeChildren) {
$this->oneTimeUserSetup($user);
if (rtrim($path) === "/" . $user->getUID() . "/files") {
if ($includeChildren) {
$this->setupForUser($user);
} else {
$this->oneTimeUserSetup($user);
}
return;
}

Expand Down Expand Up @@ -460,6 +464,7 @@ public function setupForProvider(string $path, array $providers): void {

if (in_array('', $providers)) {
$this->setupForUser($user);
return;
}
$setupProviders = $this->setupUserMountProviders[$user->getUID()] ?? [];

Expand Down

0 comments on commit 1b819b8

Please sign in to comment.