* * @author Joas Schilling * @author Lukas Reschke * @author Roeland Jago Douma * * @license GNU AGPL version 3 or any later version * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * */ namespace OCA\AdminAudit\Actions; /** * Class Files logs the actions to files * * @package OCA\AdminAudit\Actions */ class Files extends Action { /** * Logs file read actions * * @param array $params */ public function read(array $params): void { $this->log( 'File accessed: "%s"', $params, [ 'path', ] ); } /** * Logs rename actions of files * * @param array $params */ public function rename(array $params): void { $this->log( 'File renamed: "%s" to "%s"', $params, [ 'oldpath', 'newpath', ] ); } /** * Logs creation of files * * @param array $params */ public function create(array $params): void { if ($params['path'] === '/' || $params['path'] === '' || $params['path'] === null) { return; } $this->log( 'File created: "%s"', $params, [ 'path', ] ); } /** * Logs copying of files * * @param array $params */ public function copy(array $params): void { $this->log( 'File copied: "%s" to "%s"', $params, [ 'oldpath', 'newpath', ] ); } /** * Logs writing of files * * @param array $params */ public function write(array $params): void { if ($params['path'] === '/' || $params['path'] === '' || $params['path'] === null) { return; } $this->log( 'File written to: "%s"', $params, [ 'path', ] ); } /** * Logs update of files * * @param array $params */ public function update(array $params): void { $this->log( 'File updated: "%s"', $params, [ 'path', ] ); } /** * Logs deletions of files * * @param array $params */ public function delete(array $params): void { $this->log( 'File deleted: "%s"', $params, [ 'path', ] ); } /** * Logs preview access to a file * * @param array $params */ public function preview(array $params): void { $this->log( 'Preview accessed: "%s" (width: "%s", height: "%s" crop: "%s", mode: "%s")', $params, [ 'path', 'width', 'height', 'crop', 'mode' ] ); } }