@@ -0,0 +1,45 @@ | |||
<?php | |||
/** | |||
* @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com> | |||
* | |||
* @author Joas Schilling <coding@schilljs.com> | |||
* | |||
* @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 <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
namespace OCA\AdminAudit\Actions; | |||
class Console extends Action { | |||
/** | |||
* @param $arguments | |||
*/ | |||
public function runCommand($arguments) { | |||
if ($arguments[1] === '_completion') { | |||
// Don't log autocompletion | |||
return; | |||
} | |||
// Remove `./occ` | |||
array_shift($arguments); | |||
$this->log('Console command executed: %s', | |||
['arguments' => implode(' ', $arguments)], | |||
['arguments'] | |||
); | |||
} | |||
} |
@@ -27,6 +27,7 @@ use OC\Group\Manager; | |||
use OC\User\Session; | |||
use OCA\AdminAudit\Actions\AppManagement; | |||
use OCA\AdminAudit\Actions\Auth; | |||
use OCA\AdminAudit\Actions\Console; | |||
use OCA\AdminAudit\Actions\Files; | |||
use OCA\AdminAudit\Actions\GroupManagement; | |||
use OCA\AdminAudit\Actions\Sharing; | |||
@@ -35,6 +36,7 @@ use OCA\AdminAudit\Actions\UserManagement; | |||
use OCA\AdminAudit\Actions\Versions; | |||
use OCP\App\ManagerEvent; | |||
use OCP\AppFramework\App; | |||
use OCP\Console\ConsoleEvent; | |||
use OCP\IGroupManager; | |||
use OCP\ILogger; | |||
use OCP\IPreview; | |||
@@ -62,6 +64,7 @@ class Application extends App { | |||
$this->groupHooks($logger); | |||
$this->authHooks($logger); | |||
$this->consoleHooks($logger); | |||
$this->appHooks($logger); | |||
$this->sharingHooks($logger); | |||
@@ -131,6 +134,14 @@ class Application extends App { | |||
} | |||
protected function consoleHooks(ILogger $logger) { | |||
$eventDispatcher = $this->getContainer()->getServer()->getEventDispatcher(); | |||
$eventDispatcher->addListener(ConsoleEvent::EVENT_RUN, function(ConsoleEvent $event) use ($logger) { | |||
$appActions = new Console($logger); | |||
$appActions->runCommand($event->getArguments()); | |||
}); | |||
} | |||
protected function fileHooks(ILogger $logger) { | |||
$fileActions = new Files($logger); | |||
$eventDispatcher = $this->getContainer()->getServer()->getEventDispatcher(); |