diff options
Diffstat (limited to 'apps/admin_audit/lib/AppInfo/Application.php')
-rw-r--r-- | apps/admin_audit/lib/AppInfo/Application.php | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/apps/admin_audit/lib/AppInfo/Application.php b/apps/admin_audit/lib/AppInfo/Application.php index ed9d64590ae..6e68a48f84b 100644 --- a/apps/admin_audit/lib/AppInfo/Application.php +++ b/apps/admin_audit/lib/AppInfo/Application.php @@ -25,6 +25,7 @@ use OC\Files\Filesystem; use OC\Files\Node\File; use OC\Group\Manager; use OC\User\Session; +use OCA\AdminAudit\Actions\AppManagement; use OCA\AdminAudit\Actions\Auth; use OCA\AdminAudit\Actions\Files; use OCA\AdminAudit\Actions\GroupManagement; @@ -32,6 +33,7 @@ use OCA\AdminAudit\Actions\Sharing; use OCA\AdminAudit\Actions\Trashbin; use OCA\AdminAudit\Actions\UserManagement; use OCA\AdminAudit\Actions\Versions; +use OCP\App\ManagerEvent; use OCP\AppFramework\App; use OCP\IGroupManager; use OCP\ILogger; @@ -55,10 +57,15 @@ class Application extends App { */ protected function registerHooks() { $logger = $this->getContainer()->getServer()->getLogger(); + $this->userManagementHooks($logger); $this->groupHooks($logger); - $this->sharingHooks($logger); $this->authHooks($logger); + + $this->appHooks($logger); + + $this->sharingHooks($logger); + $this->fileHooks($logger); $this->trashbinHooks($logger); $this->versionsHooks($logger); @@ -106,6 +113,24 @@ class Application extends App { Util::connectHook('OC_User', 'logout', $authActions, 'logout'); } + protected function appHooks(ILogger $logger) { + + $eventDispatcher = $this->getContainer()->getServer()->getEventDispatcher(); + $eventDispatcher->addListener(ManagerEvent::EVENT_APP_ENABLE, function(ManagerEvent $event) use ($logger) { + $appActions = new AppManagement($logger); + $appActions->enableApp($event->getAppID()); + }); + $eventDispatcher->addListener(ManagerEvent::EVENT_APP_ENABLE_FOR_GROUPS, function(ManagerEvent $event) use ($logger) { + $appActions = new AppManagement($logger); + $appActions->enableAppForGroups($event->getAppID(), $event->getGroups()); + }); + $eventDispatcher->addListener(ManagerEvent::EVENT_APP_DISABLE, function(ManagerEvent $event) use ($logger) { + $appActions = new AppManagement($logger); + $appActions->disableApp($event->getAppID()); + }); + + } + protected function fileHooks(ILogger $logger) { $fileActions = new Files($logger); $eventDispatcher = $this->getContainer()->getServer()->getEventDispatcher(); |