diff --git a/.woodpecker.yml b/.woodpecker.yml
index 1c02aa5..9c24f2b 100644
--- a/.woodpecker.yml
+++ b/.woodpecker.yml
@@ -8,13 +8,13 @@ pipeline:
event: [tag, push, pull_request]
branch: [master, develop, feature/*, fix/*, translations]
- osv_detector:
+ osv-detector:
image: gitnet.fr/deblan/osv-detector:v0.10
commands:
- osv-detector package-lock.json
failure: ignore
- build_js:
+ build-js:
image: node:16
commands:
- npm run build
@@ -22,7 +22,7 @@ pipeline:
branch: [master, develop, feature/*, fix/*, translations]
event: [tag, push, pull_request]
- build_php:
+ build-translations:
image: deblan/php:8.0
commands:
- php bin/generate_l10n.php
@@ -30,7 +30,24 @@ pipeline:
branch: [master, develop, feature/*, fix/*, translations]
event: [tag, push, pull_request]
- code_quality:
+ create-signature:
+ image: nextcloud:25
+ secrets: [app_certificate, app_public_certificate]
+ environment:
+ SQLITE_DATABASE: /var/www/data/data.db
+ NEXTCLOUD_ADMIN_USER: admin
+ NEXTCLOUD_ADMIN_PASSWORD: admin
+ commands:
+ - echo "$APP_CERTIFICATE" > "/tmp/side_menu.key"
+ - echo "$APP_PUBLIC_CERTIFICATE" > "/tmp/side_menu.crt"
+ - /usr/src/nextcloud/occ integrity:sign-app
+ --privateKey=/tmp/side_menu.key
+ --certificate=/tmp/side_menu.crt
+ --path=$CI_WORKSPACE
+ when:
+ event: [tag]
+
+ check-code-quality:
image: sonarsource/sonar-scanner-cli
secrets: [sonar_token, sonar_host, sonar_project]
commands:
@@ -45,7 +62,7 @@ pipeline:
when:
event: [pull_request]
- package:
+ create-package:
image: deblan/php:8.0
volumes:
- /var/www/html/artifacts:/var/www/html/artifacts
@@ -61,7 +78,7 @@ pipeline:
when:
event: [tag]
- release:
+ push-release:
image: plugins/gitea-release
volumes:
- /var/www/html/artifacts:/var/www/html/artifacts
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6a44bf0..0b84da9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
## [Unreleased]
+## 3.7.3
+### Fixed
+* fix #244: use app href for redirection
+### Added
+* add signature on build
+
## 3.7.2
### Added
* update pipeline conditions allowing `fix/*`
diff --git a/appinfo/info.xml b/appinfo/info.xml
index 8614a98..b24bd58 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -32,7 +32,7 @@ Notice
Because I believe in a free and decentralized Internet, [Gitnet](https://gitnet.fr) is **self-hosted at home**.
In case of downtime, you can download **Custom Menu** from [here](https://kim.deblan.fr/~side_menu/).
]]>
- 3.7.2
+ 3.7.3
agpl
Simon Vieille
SideMenu
diff --git a/lib/Controller/AppController.php b/lib/Controller/AppController.php
index 83a0e8c..5516090 100644
--- a/lib/Controller/AppController.php
+++ b/lib/Controller/AppController.php
@@ -78,29 +78,33 @@ class AppController extends Controller
continue;
}
- return $this->redirectToApp($app['id']);
+ return $this->redirectToApp($app, true);
}
return $this->redirectToApp('files');
}
- protected function redirectToApp($appId): RedirectResponse
+ protected function redirectToApp($app, bool $isHref = false): RedirectResponse
{
- $isIgnoreFrontController = true === OC::$server->getConfig()->getSystemValue(
- 'htaccess.IgnoreFrontController',
- false
- );
+ if (!$isHref) {
+ $isIgnoreFrontController = true === OC::$server->getConfig()->getSystemValue(
+ 'htaccess.IgnoreFrontController',
+ false
+ );
- $isFrontControllerActive = 'true' === getenv('front_controller_active');
+ $isFrontControllerActive = 'true' === getenv('front_controller_active');
- if ($isIgnoreFrontController || $isFrontControllerActive) {
- $path = '/apps/%s/';
+ if ($isIgnoreFrontController || $isFrontControllerActive) {
+ $path = '/apps/%s/';
+ } else {
+ $path = '/index.php/apps/%s/';
+ }
+
+ $url = $this->urlGenerator->getAbsoluteURL(sprintf($path, $app));
} else {
- $path = '/index.php/apps/%s/';
+ $url = $app['href'];
}
- $url = $this->urlGenerator->getAbsoluteURL(sprintf($path, $appId));
-
return new RedirectResponse($url);
}
}