|
|
|
|
@ -17,7 +17,9 @@ use OCP\EventDispatcher\Event; |
|
|
|
|
use OCP\EventDispatcher\IEventDispatcher; |
|
|
|
|
use OCP\EventDispatcher\IEventListener; |
|
|
|
|
use OCP\Files\Events\Node\NodeRenamedEvent; |
|
|
|
|
use OCP\Files\NotFoundException; |
|
|
|
|
use OCP\IUser; |
|
|
|
|
use OCP\IUserManager; |
|
|
|
|
use OCP\IUserSession; |
|
|
|
|
use OCP\Share\Events\ShareCreatedEvent; |
|
|
|
|
use OCP\Share\Events\ShareDeletedEvent; |
|
|
|
|
@ -31,6 +33,7 @@ class EncryptionEventListener implements IEventListener { |
|
|
|
|
private IUserSession $userSession, |
|
|
|
|
private SetupManager $setupManager, |
|
|
|
|
private Manager $encryptionManager, |
|
|
|
|
private IUserManager $userManager, |
|
|
|
|
) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -50,10 +53,14 @@ class EncryptionEventListener implements IEventListener { |
|
|
|
|
} elseif ($event instanceof ShareCreatedEvent) { |
|
|
|
|
$this->getUpdate()->postShared($event->getShare()->getNode()); |
|
|
|
|
} elseif ($event instanceof ShareDeletedEvent) { |
|
|
|
|
// In case the unsharing happens in a background job, we don't have |
|
|
|
|
// a session and we load instead the user from the UserManager |
|
|
|
|
$owner = $event->getShare()->getNode()->getOwner(); |
|
|
|
|
$this->getUpdate($owner)->postUnshared($event->getShare()->getNode()); |
|
|
|
|
try { |
|
|
|
|
// In case the unsharing happens in a background job, we don't have |
|
|
|
|
// a session and we load instead the user from the UserManager |
|
|
|
|
$owner = $this->userManager->get($event->getShare()->getShareOwner()); |
|
|
|
|
$this->getUpdate($owner)->postUnshared($event->getShare()->getNode()); |
|
|
|
|
} catch (NotFoundException $e) { |
|
|
|
|
/* The node was deleted already, nothing to update */ |
|
|
|
|
} |
|
|
|
|
} elseif ($event instanceof NodeRestoredEvent) { |
|
|
|
|
$this->getUpdate()->postRestore($event->getTarget()); |
|
|
|
|
} |
|
|
|
|
@ -78,7 +85,7 @@ class EncryptionEventListener implements IEventListener { |
|
|
|
|
$this->updater = new Update( |
|
|
|
|
new Util( |
|
|
|
|
new View(), |
|
|
|
|
\OC::$server->getUserManager(), |
|
|
|
|
$this->userManager, |
|
|
|
|
\OC::$server->getGroupManager(), |
|
|
|
|
\OC::$server->getConfig()), |
|
|
|
|
\OC::$server->getEncryptionManager(), |
|
|
|
|
|