$target = $dest ?: $addr;
- if ($addr ?: $dest) {
- $contact = Contact::getByURL($addr ?: $dest);
+ $contact = Contact::getByURL($addr ?: $dest);
+ if ($contact === [] && $owa === 0) {
+ $this->logger->info('No contact record found, no oWA, redirecting to destination.', ['request' => $request, 'server' => $_SERVER, 'dest' => $dest]);
- $this->app->redirect($dest);
++ $this->appHelper->redirect($dest);
}
- if (empty($contact)) {
- if (!$owa) {
- $this->logger->info('No contact record found, no oWA, redirecting to destination.', ['request' => $request, 'server' => $_SERVER, 'dest' => $dest]);
- $this->appHelper->redirect($dest);
- }
- } else {
+ if ($contact !== []) {
// Redirect if the contact is already authenticated on this site.
- if ($this->app->getContactId() && strpos($contact['nurl'], Strings::normaliseLink($this->baseUrl)) !== false) {
+ if ($this->appHelper->getContactId() && strpos($contact['nurl'], Strings::normaliseLink($this->baseUrl)) !== false) {
$this->logger->info('Contact is already authenticated, redirecting to destination.', ['dest' => $dest]);
System::externalRedirect($dest);
}
$this->logger->debug('Contact found', ['url' => $contact['url']]);
}
- if (!$this->userSession->getLocalUserId() || !$owa) {
+ if (!$this->userSession->getLocalUserId() || $owa === 0) {
$this->logger->notice('Not logged in or not OWA, redirecting to destination.', ['uid' => $this->userSession->getLocalUserId(), 'owa' => $owa, 'dest' => $dest]);
- $this->app->redirect($dest);
+ $this->appHelper->redirect($dest);
}
$dest = Network::removeUrlParameter($dest, 'zid');