Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2020-10-19 11:15:22 +0300
committerGitHub <noreply@github.com>2020-10-19 11:15:22 +0300
commit41090d0faaa292a1baa1dbc42fe5806d6e91f220 (patch)
tree8f1d6d40f4885385b7b85549c83b413ba22a5f08
parentcbde9d878f3dcf71e92ae270f14875b496b5b952 (diff)
parenta6b4770afc689ab37a2f1f6da777bce8eeb4b4df (diff)
Merge pull request #23205 from nextcloud/backport/23012/stable20
[stable20] Make BeforeTemplateRenderedEvent aware of the actual response
-rw-r--r--apps/user_status/lib/Listener/BeforeTemplateRenderedListener.php3
-rw-r--r--lib/private/AppFramework/Middleware/AdditionalScriptsMiddleware.php2
-rw-r--r--lib/public/AppFramework/Http/Events/BeforeTemplateRenderedEvent.php13
3 files changed, 15 insertions, 3 deletions
diff --git a/apps/user_status/lib/Listener/BeforeTemplateRenderedListener.php b/apps/user_status/lib/Listener/BeforeTemplateRenderedListener.php
index fa3d8ce9e68..0daaaa9fcf2 100644
--- a/apps/user_status/lib/Listener/BeforeTemplateRenderedListener.php
+++ b/apps/user_status/lib/Listener/BeforeTemplateRenderedListener.php
@@ -28,6 +28,7 @@ namespace OCA\UserStatus\Listener;
use OCA\UserStatus\AppInfo\Application;
use OCA\UserStatus\Service\JSDataService;
use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent;
+use OCP\AppFramework\Http\TemplateResponse;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\IInitialStateService;
@@ -61,7 +62,7 @@ class BeforeTemplateRenderedListener implements IEventListener {
return;
}
- if (!$event->isLoggedIn()) {
+ if (!$event->isLoggedIn() || $event->getResponse()->getRenderAs() !== TemplateResponse::RENDER_AS_USER) {
return;
}
diff --git a/lib/private/AppFramework/Middleware/AdditionalScriptsMiddleware.php b/lib/private/AppFramework/Middleware/AdditionalScriptsMiddleware.php
index 6c65ee8b2c6..28f322f42b7 100644
--- a/lib/private/AppFramework/Middleware/AdditionalScriptsMiddleware.php
+++ b/lib/private/AppFramework/Middleware/AdditionalScriptsMiddleware.php
@@ -71,7 +71,7 @@ class AdditionalScriptsMiddleware extends Middleware {
$isLoggedIn = false;
}
- $this->dispatcher->dispatchTyped(new BeforeTemplateRenderedEvent($isLoggedIn));
+ $this->dispatcher->dispatchTyped(new BeforeTemplateRenderedEvent($isLoggedIn, $response));
}
return $response;
diff --git a/lib/public/AppFramework/Http/Events/BeforeTemplateRenderedEvent.php b/lib/public/AppFramework/Http/Events/BeforeTemplateRenderedEvent.php
index 3d48e9a269d..79c6825d0d5 100644
--- a/lib/public/AppFramework/Http/Events/BeforeTemplateRenderedEvent.php
+++ b/lib/public/AppFramework/Http/Events/BeforeTemplateRenderedEvent.php
@@ -27,6 +27,7 @@ declare(strict_types=1);
namespace OCP\AppFramework\Http\Events;
+use OCP\AppFramework\Http\TemplateResponse;
use OCP\EventDispatcher\Event;
/**
@@ -38,14 +39,17 @@ use OCP\EventDispatcher\Event;
class BeforeTemplateRenderedEvent extends Event {
/** @var bool */
private $loggedIn;
+ /** @var TemplateResponse */
+ private $response;
/**
* @since 20.0.0
*/
- public function __construct(bool $loggedIn) {
+ public function __construct(bool $loggedIn, TemplateResponse $response) {
parent::__construct();
$this->loggedIn = $loggedIn;
+ $this->response = $response;
}
/**
@@ -54,4 +58,11 @@ class BeforeTemplateRenderedEvent extends Event {
public function isLoggedIn(): bool {
return $this->loggedIn;
}
+
+ /**
+ * @since 20.0.1
+ */
+ public function getResponse(): TemplateResponse {
+ return $this->response;
+ }
}