Add permissions for filemanager stuff to subusers

This commit is contained in:
Dane Everitt 2016-10-06 20:29:21 -04:00
parent a43ba2421d
commit a2fc511e7e
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
7 changed files with 522 additions and 386 deletions

View file

@ -209,6 +209,70 @@ class ServerPolicy
return $user->permissions()->server($server)->permission('save-files')->exists();
}
/**
* Check if user has permission to move and rename files and folders on a server.
*
* @param Pterodactyl\Models\User $user
* @param Pterodactyl\Models\Server $server
* @return boolean
*/
public function moveFiles(User $user, Server $server)
{
if ($this->isOwner($user, $server)) {
return true;
}
return $user->permissions()->server($server)->permission('move-files')->exists();
}
/**
* Check if user has permission to copy folders and files on a server.
*
* @param Pterodactyl\Models\User $user
* @param Pterodactyl\Models\Server $server
* @return boolean
*/
public function copyFiles(User $user, Server $server)
{
if ($this->isOwner($user, $server)) {
return true;
}
return $user->permissions()->server($server)->permission('copy-files')->exists();
}
/**
* Check if user has permission to compress files and folders on a server.
*
* @param Pterodactyl\Models\User $user
* @param Pterodactyl\Models\Server $server
* @return boolean
*/
public function compressFiles(User $user, Server $server)
{
if ($this->isOwner($user, $server)) {
return true;
}
return $user->permissions()->server($server)->permission('compress-files')->exists();
}
/**
* Check if user has permission to decompress files on a server.
*
* @param Pterodactyl\Models\User $user
* @param Pterodactyl\Models\Server $server
* @return boolean
*/
public function decompressFiles(User $user, Server $server)
{
if ($this->isOwner($user, $server)) {
return true;
}
return $user->permissions()->server($server)->permission('decompress-files')->exists();
}
/**
* Check if user has permission to add files to a server.
*

View file

@ -41,19 +41,7 @@ class ServerRepository
{
protected $daemonPermissions = [
's:get',
's:power:start',
's:power:stop',
's:power:restart',
's:power:kill',
's:console',
's:command',
's:files:get',
's:files:read',
's:files:post',
's:files:delete',
's:files:upload',
's:set-password'
's:*'
];
public function __construct()

View file

@ -71,6 +71,10 @@ class SubuserRepository
'download-files' => null,
'upload-files' => 's:files:upload',
'delete-files' => 's:files:delete',
'move-files' => 's:files:move',
'copy-files' => 's:files:copy',
'compress-files' => 's:files:compress',
'decompress-files' => 's:files:decompress',
// Subusers
'list-subusers' => null,