aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_trashbin/lib/Sabre/AbstractTrash.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_trashbin/lib/Sabre/AbstractTrash.php')
-rw-r--r--apps/files_trashbin/lib/Sabre/AbstractTrash.php19
1 files changed, 10 insertions, 9 deletions
diff --git a/apps/files_trashbin/lib/Sabre/AbstractTrash.php b/apps/files_trashbin/lib/Sabre/AbstractTrash.php
index e46a7d5d638..f032395437b 100644
--- a/apps/files_trashbin/lib/Sabre/AbstractTrash.php
+++ b/apps/files_trashbin/lib/Sabre/AbstractTrash.php
@@ -8,21 +8,18 @@ declare(strict_types=1);
*/
namespace OCA\Files_Trashbin\Sabre;
+use OCA\Files_Trashbin\Service\ConfigService;
use OCA\Files_Trashbin\Trash\ITrashItem;
use OCA\Files_Trashbin\Trash\ITrashManager;
use OCP\Files\FileInfo;
use OCP\IUser;
+use Sabre\DAV\Exception\Forbidden;
abstract class AbstractTrash implements ITrash {
- /** @var ITrashItem */
- protected $data;
-
- /** @var ITrashManager */
- protected $trashManager;
-
- public function __construct(ITrashManager $trashManager, ITrashItem $data) {
- $this->trashManager = $trashManager;
- $this->data = $data;
+ public function __construct(
+ protected ITrashManager $trashManager,
+ protected ITrashItem $data,
+ ) {
}
public function getFilename(): string {
@@ -78,6 +75,10 @@ abstract class AbstractTrash implements ITrash {
}
public function delete() {
+ if (!ConfigService::getDeleteFromTrashEnabled()) {
+ throw new Forbidden('Not allowed to delete items from the trash bin');
+ }
+
$this->trashManager->removeItem($this->data);
}