diff --git a/plugins/content/joomla/src/Extension/Joomla.php b/plugins/content/joomla/src/Extension/Joomla.php index 268ba3456e3ba..d1d5da510e40d 100644 --- a/plugins/content/joomla/src/Extension/Joomla.php +++ b/plugins/content/joomla/src/Extension/Joomla.php @@ -179,9 +179,15 @@ public function onContentAfterSave(AfterSaveEvent $event): void 'name' => $user->name, 'email' => PunycodeHelper::emailToPunycode($user->email), 'title' => $article->title, - 'url' => Route::link('administrator', 'index.php?option=com_content&view=articles&filter[search]=id:' . $article->id, false, $linkMode, true), ]; + if ($receiver->authorise('core.login.admin') && $receiver->authorise('core.manage', 'com_content')) { + $templateData['url'] = Route::link('administrator', 'index.php?option=com_content&view=articles&filter[search]=id:' . $article->id, false, $linkMode, true); + } elseif (\in_array($article->access, $receiver->getAuthorisedViewLevels())) { + $templateData['url'] = Route::link('site', 'index.php?option=com_content&view=article&id=' . $article->id, false, $linkMode, true); + } else { + $templateData['url'] = Text::_('JERROR_ALERTNOAUTHOR'); + } // Send email try { $mailer = new MailTemplate('plg_content_joomla.newarticle', $receiver->getParam('admin_language', $this->getLanguage()->getTag()));