aboutsummaryrefslogtreecommitdiffstats
path: root/apps/workflowengine/lib/Check/RequestURL.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/workflowengine/lib/Check/RequestURL.php')
-rw-r--r--apps/workflowengine/lib/Check/RequestURL.php55
1 files changed, 22 insertions, 33 deletions
diff --git a/apps/workflowengine/lib/Check/RequestURL.php b/apps/workflowengine/lib/Check/RequestURL.php
index 30424a1ee47..fb2ac7e8fd5 100644
--- a/apps/workflowengine/lib/Check/RequestURL.php
+++ b/apps/workflowengine/lib/Check/RequestURL.php
@@ -1,44 +1,29 @@
<?php
+
/**
- * @copyright Copyright (c) 2016 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/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
-
namespace OCA\WorkflowEngine\Check;
use OCP\IL10N;
use OCP\IRequest;
class RequestURL extends AbstractStringCheck {
+ public const CLI = 'cli';
- /** @var string */
+ /** @var ?string */
protected $url;
- /** @var IRequest */
- protected $request;
-
/**
* @param IL10N $l
* @param IRequest $request
*/
- public function __construct(IL10N $l, IRequest $request) {
+ public function __construct(
+ IL10N $l,
+ protected IRequest $request,
+ ) {
parent::__construct($l);
- $this->request = $request;
}
/**
@@ -47,7 +32,11 @@ class RequestURL extends AbstractStringCheck {
* @return bool
*/
public function executeCheck($operator, $value) {
- $actualValue = $this->getActualValue();
+ if (\OC::$CLI) {
+ $actualValue = $this->url = RequestURL::CLI;
+ } else {
+ $actualValue = $this->getActualValue();
+ }
if (in_array($operator, ['is', '!is'])) {
switch ($value) {
case 'webdav':
@@ -77,15 +66,15 @@ class RequestURL extends AbstractStringCheck {
return $this->url; // E.g. https://localhost/nextcloud/index.php/apps/files_texteditor/ajax/loadfile
}
- /**
- * @return bool
- */
- protected function isWebDAVRequest() {
+ protected function isWebDAVRequest(): bool {
+ if ($this->url === RequestURL::CLI) {
+ return false;
+ }
return substr($this->request->getScriptName(), 0 - strlen('/remote.php')) === '/remote.php' && (
- $this->request->getPathInfo() === '/webdav' ||
- strpos($this->request->getPathInfo(), '/webdav/') === 0 ||
- $this->request->getPathInfo() === '/dav/files' ||
- strpos($this->request->getPathInfo(), '/dav/files/') === 0
+ $this->request->getPathInfo() === '/webdav'
+ || str_starts_with($this->request->getPathInfo() ?? '', '/webdav/')
+ || $this->request->getPathInfo() === '/dav/files'
+ || str_starts_with($this->request->getPathInfo() ?? '', '/dav/files/')
);
}
}