diff --git a/integrations/nextcloud/snappymail/lib/Controller/PageController.php b/integrations/nextcloud/snappymail/lib/Controller/PageController.php index e1d1d2b27..7bb4fb52e 100644 --- a/integrations/nextcloud/snappymail/lib/Controller/PageController.php +++ b/integrations/nextcloud/snappymail/lib/Controller/PageController.php @@ -27,17 +27,12 @@ class PageController extends Controller \OCP\Util::addScript('snappymail', 'snappymail'); \OCP\Util::addStyle('snappymail', 'style'); - $query = ''; - $aCredentials = SnappyMailHelper::getLoginCredentials(); - if ($aCredentials[0] && $aCredentials[1]) { - $query = '?sso&hash=' . \RainLoop\Api::CreateUserSsoHash($aCredentials[0] && $aCredentials[1]); - } + SnappyMailHelper::startApp(); - $params = [ - 'snappymail-iframe-url' => SnappyMailHelper::normalizeUrl(SnappyMailHelper::getAppUrl()) . $query - ]; - - $response = new TemplateResponse('snappymail', 'index', $params); + $response = new TemplateResponse('snappymail', 'index', [ + 'snappymail-iframe-url' => SnappyMailHelper::normalizeUrl(SnappyMailHelper::getAppUrl()) + . (empty($_GET['target']) ? '' : "#{$_GET['target']}") + ]); $csp = new ContentSecurityPolicy(); $csp->addAllowedFrameDomain("'self'"); diff --git a/integrations/nextcloud/snappymail/lib/Search/Provider.php b/integrations/nextcloud/snappymail/lib/Search/Provider.php index 02dfac27a..74716fe0e 100644 --- a/integrations/nextcloud/snappymail/lib/Search/Provider.php +++ b/integrations/nextcloud/snappymail/lib/Search/Provider.php @@ -87,6 +87,15 @@ class Provider implements IProvider // instanceof \MailSo\Mail\MessageCollection $MessageCollection = $oMailClient->MessageList($oParams); + $baseURL = $this->urlGenerator->linkToRoute('snappymail.page.index'); + $config = \OC::$server->getConfig(); + if ($config->getAppValue('snappymail', 'snappymail-embed')) { + $baseURL .= '#'; + } else { + $baseURL .= '?target='; + } + $search = \rawurlencode($oParams->sSearch); + // $MessageCollection->MessageResultCount; foreach ($MessageCollection as $Message) { // $Message instanceof \MailSo\Mail\Message @@ -98,9 +107,7 @@ class Provider implements IProvider // subline $Message->From()->ToString(), // resourceUrl /index.php/apps/snappymail/#/mailbox/INBOX/p2/text=an&unseen - $this->urlGenerator->linkToRoute('snappymail.page.index') - . '#/mailbox/INBOX/m' . $Message->Uid() - . '/' . \rawurlencode($oParams->sSearch), + $baseURL . '/mailbox/INBOX/m' . $Message->Uid() . '/' . $search, // icon 'icon-mail', // rounded