From 46556931cca5db4ad84ccab02d39654a69e4d024 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Thu, 13 Oct 2022 11:04:16 +0200 Subject: [PATCH] Added Nextcloud admin setting for embed/iframe mode for #96 --- .../lib/Controller/FetchController.php | 3 +-- .../lib/Controller/PageController.php | 8 ++++--- .../snappymail/lib/Settings/AdminSettings.php | 3 ++- .../snappymail/templates/admin-local.php | 22 +++++++++++++------ 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/integrations/nextcloud/snappymail/lib/Controller/FetchController.php b/integrations/nextcloud/snappymail/lib/Controller/FetchController.php index 9c3216bd6..a12716091 100644 --- a/integrations/nextcloud/snappymail/lib/Controller/FetchController.php +++ b/integrations/nextcloud/snappymail/lib/Controller/FetchController.php @@ -26,14 +26,13 @@ class FetchController extends Controller { try { $sUrl = ''; $sPath = ''; - $bAutologin = false; if (isset($_POST['appname']) && 'snappymail' === $_POST['appname']) { $this->config->setAppValue('snappymail', 'snappymail-autologin', isset($_POST['snappymail-autologin']) ? '1' === $_POST['snappymail-autologin'] : false); $this->config->setAppValue('snappymail', 'snappymail-autologin-with-email', isset($_POST['snappymail-autologin']) ? '2' === $_POST['snappymail-autologin'] : false); - $bAutologin = $this->config->getAppValue('snappymail', 'snappymail-autologin', false); + $this->config->setAppValue('snappymail', 'snappymail-embed', isset($_POST['snappymail-embed'])); } else { return new JSONResponse([ 'status' => 'error', diff --git a/integrations/nextcloud/snappymail/lib/Controller/PageController.php b/integrations/nextcloud/snappymail/lib/Controller/PageController.php index 78247ee58..ea381a046 100644 --- a/integrations/nextcloud/snappymail/lib/Controller/PageController.php +++ b/integrations/nextcloud/snappymail/lib/Controller/PageController.php @@ -16,8 +16,11 @@ class PageController extends Controller */ public function index() { - // Uncomment to test without using an iframe -// return static::index_embed(); + $config = \OC::$server->getConfig(); + + if ($config->getAppValue('snappymail', 'snappymail-embed')) { + return static::index_embed(); + } \OC::$server->getNavigationManager()->setActiveEntry('snappymail'); @@ -26,7 +29,6 @@ class PageController extends Controller $query = ''; // If the user has set credentials for SnappyMail in their personal // settings, override everything before and use those instead. - $config = \OC::$server->getConfig(); $sUID = \OC::$server->getUserSession()->getUser()->getUID(); $sEmail = $config->getUserValue($sUID, 'snappymail', 'snappymail-email', ''); if ($sEmail) { diff --git a/integrations/nextcloud/snappymail/lib/Settings/AdminSettings.php b/integrations/nextcloud/snappymail/lib/Settings/AdminSettings.php index df6107e47..7cd32bd97 100644 --- a/integrations/nextcloud/snappymail/lib/Settings/AdminSettings.php +++ b/integrations/nextcloud/snappymail/lib/Settings/AdminSettings.php @@ -17,7 +17,8 @@ class AdminSettings implements ISettings { public function getForm() { $keys = [ 'snappymail-autologin', - 'snappymail-autologin-with-email' + 'snappymail-autologin-with-email', + 'snappymail-embed' ]; $parameters = []; diff --git a/integrations/nextcloud/snappymail/templates/admin-local.php b/integrations/nextcloud/snappymail/templates/admin-local.php index c1fc733e7..c90f8748f 100755 --- a/integrations/nextcloud/snappymail/templates/admin-local.php +++ b/integrations/nextcloud/snappymail/templates/admin-local.php @@ -8,35 +8,43 @@