[WIP] Blacklist command #14
@ -28,7 +28,11 @@
|
|||||||
}).done(function (response) {
|
}).done(function (response) {
|
||||||
term.echo('\n' + response).resume();
|
term.echo('\n' + response).resume();
|
||||||
}).fail(function (response, code) {
|
}).fail(function (response, code) {
|
||||||
term.echo('\n' + response).resume();
|
if (response.status === 403) {
|
||||||
|
term.echo(response.responseJSON.error).resume();
|
||||||
|
} else {
|
||||||
|
term.echo('\n[[;red;]Error]\n' + response).resume();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
|
@ -21,13 +21,13 @@ class OccController extends Controller
|
|||||||
|
|
||||||
private $application;
|
private $application;
|
||||||
private $output;
|
private $output;
|
||||||
|
private $blacklist;
|
||||||
public function __construct(ILogger $logger, $AppName, IRequest $request, $userId)
|
public function __construct(ILogger $logger, $AppName, IRequest $request, $userId)
|
||||||
{
|
{
|
||||||
parent::__construct($AppName, $request);
|
parent::__construct($AppName, $request);
|
||||||
$this->logger = $logger;
|
$this->logger = $logger;
|
||||||
$this->userId = $userId;
|
$this->userId = $userId;
|
||||||
|
$this->blacklist = array("maintenance:mode on");
|
||||||
$this->application = new Application(
|
$this->application = new Application(
|
||||||
OC::$server->getConfig(),
|
OC::$server->getConfig(),
|
||||||
OC::$server->getEventDispatcher(),
|
OC::$server->getEventDispatcher(),
|
||||||
@ -58,8 +58,9 @@ class OccController extends Controller
|
|||||||
$this->application->run($input, $this->output);
|
$this->application->run($input, $this->output);
|
||||||
return $this->output->fetch();
|
return $this->output->fetch();
|
||||||
} catch (Exception $ex) {
|
} catch (Exception $ex) {
|
||||||
$this->logger->logException($ex);
|
exceptionHandler($ex);
|
||||||
return "error: " . $ex->getMessage();
|
} catch (Error $ex) {
|
||||||
|
exceptionHandler($ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,6 +71,10 @@ class OccController extends Controller
|
|||||||
public function cmd($command)
|
public function cmd($command)
|
||||||
{
|
{
|
||||||
$this->logger->debug($command);
|
$this->logger->debug($command);
|
||||||
|
if (in_array($command, $this->blacklist)) {
|
||||||
|
$this->logger->debug("Command blacklist");
|
||||||
|
return new DataResponse(array("error" => "\n".'\u001b[37;41m \u001b[39;49m'."\n".'\u001b[37;41m Command blacklisted. \u001b[39;49m'."\n".'\u001b[37;41m \u001b[39;49m'."\n\n"), 403);
|
||||||
|
}
|
||||||
$input = new StringInput($command);
|
$input = new StringInput($command);
|
||||||
$response = $this->run($input);
|
$response = $this->run($input);
|
||||||
$this->logger->debug($response);
|
$this->logger->debug($response);
|
||||||
@ -86,3 +91,9 @@ class OccController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function exceptionHandler($exception)
|
||||||
|
{
|
||||||
|
echo "An unhandled exception has been thrown:" . PHP_EOL;
|
||||||
|
echo $exception;
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user