diff options
Diffstat (limited to 'apps/admin_audit/lib/auditlogger.php')
-rw-r--r-- | apps/admin_audit/lib/auditlogger.php | 39 |
1 files changed, 28 insertions, 11 deletions
diff --git a/apps/admin_audit/lib/auditlogger.php b/apps/admin_audit/lib/auditlogger.php index 674282b5fe2..20d34655507 100644 --- a/apps/admin_audit/lib/auditlogger.php +++ b/apps/admin_audit/lib/auditlogger.php @@ -1,8 +1,10 @@ <?php /** * @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org> + * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch> * * @author Bjoern Schiessle <bjoern@schiessle.org> + * @author Lukas Reschke <lukas@statuscode.ch> * * @license GNU AGPL version 3 or any later version * @@ -21,11 +23,10 @@ * */ - namespace OCA\Admin_Audit; - use OC\Files\Filesystem; +use OC\Files\Node\File; use OCA\Admin_Audit\Actions\Auth; use OCA\Admin_Audit\Actions\Files; use OCA\Admin_Audit\Actions\GroupManagement; @@ -35,17 +36,17 @@ use OCA\Admin_Audit\Actions\UserManagement; use OCA\Admin_Audit\Actions\Versions; use OCP\IGroupManager; use OCP\ILogger; +use OCP\IPreview; use OCP\IUserSession; use OCP\Util; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\EventDispatcher\GenericEvent; class AuditLogger { - /** @var ILogger */ private $logger; - /** @var IUserSession */ private $userSession; - /** @var IGroupManager */ private $groupManager; @@ -55,17 +56,20 @@ class AuditLogger { * @param ILogger $logger * @param IUserSession $userSession * @param IGroupManager $groupManager + * @param EventDispatcherInterface $eventDispatcher */ public function __construct(ILogger $logger, IUserSession $userSession, - IGroupManager $groupManager) { + IGroupManager $groupManager, + EventDispatcherInterface $eventDispatcher) { $this->logger = $logger; $this->userSession = $userSession; $this->groupManager = $groupManager; + $this->eventDispatcher = $eventDispatcher; } /** - * register hooks in order to log them + * Register hooks in order to log them */ public function registerHooks() { $this->userManagementHooks(); @@ -78,7 +82,7 @@ class AuditLogger { } /** - * connect to user management hooks + * Connect to user management hooks */ private function userManagementHooks() { $userActions = new UserManagement($this->logger); @@ -119,12 +123,25 @@ class AuditLogger { Util::connectHook('OC_User', 'logout', $authActions, 'logout'); } - /** - * connect to file hooks + * Connect to file hooks */ private function fileHooks() { $fileActions = new Files($this->logger); + $this->eventDispatcher->addListener( + IPreview::EVENT, + function(GenericEvent $event) use ($fileActions) { + /** @var File $file */ + $file = $event->getSubject(); + $fileActions->preview([ + 'path' => substr($file->getInternalPath(), 5), + 'width' => $event->getArguments()['width'], + 'height' => $event->getArguments()['height'], + 'crop' => $event->getArguments()['crop'], + 'mode' => $event->getArguments()['mode'] + ]); + } + ); Util::connectHook( Filesystem::CLASSNAME, @@ -177,7 +194,7 @@ class AuditLogger { } /** - * connect to trash bin hooks + * Connect to trash bin hooks */ private function trashbinHooks() { $trashActions = new Trashbin($this->logger); |