diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2020-02-22.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2020-02-22.sql new file mode 100644 index 0000000000000..b8219f379e5b4 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2020-02-22.sql @@ -0,0 +1 @@ +DELETE FROM `#__extensions` WHERE `name` = 'com_mailto'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2020-02-22.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2020-02-22.sql new file mode 100644 index 0000000000000..6cf50fbf00712 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2020-02-22.sql @@ -0,0 +1 @@ +DELETE FROM "#__extensions" WHERE "name" = 'com_mailto'; diff --git a/administrator/components/com_content/src/Service/HTML/Icon.php b/administrator/components/com_content/src/Service/HTML/Icon.php index cce9a846b0890..af40cf7917735 100644 --- a/administrator/components/com_content/src/Service/HTML/Icon.php +++ b/administrator/components/com_content/src/Service/HTML/Icon.php @@ -20,7 +20,6 @@ use Joomla\CMS\Uri\Uri; use Joomla\CMS\Workflow\Workflow; use Joomla\Component\Content\Site\Helper\RouteHelper; -use Joomla\Component\Mailto\Site\Helper\MailtoHelper; use Joomla\Registry\Registry; /** @@ -88,39 +87,6 @@ public function create($category, $params, $attribs = array(), $legacy = false) return $output; } - /** - * Method to generate a link to the email item page for the given article - * - * @param object $article The article information - * @param Registry $params The item parameters - * @param array $attribs Optional attributes for the link - * @param boolean $legacy True to use legacy images, false to use icomoon based graphic - * - * @return string The HTML markup for the email item link - * - * @since 4.0.0 - */ - public function email($article, $params, $attribs = array(), $legacy = false) - { - $uri = Uri::getInstance(); - $base = $uri->toString(array('scheme', 'host', 'port')); - $template = $this->application->getTemplate(); - $link = $base . Route::_(RouteHelper::getArticleRoute($article->slug, $article->catid, $article->language), false); - $url = 'index.php?option=com_mailto&tmpl=component&template=' . $template . '&link=' . MailtoHelper::addLink($link); - - $height = Factory::getApplication()->get('captcha', '0') === '0' ? 450 : 550; - $status = 'width=400,height=' . $height . ',menubar=yes,resizable=yes'; - - $text = LayoutHelper::render('joomla.content.icons.email', array('params' => $params, 'legacy' => $legacy)); - - $attribs['title'] = Text::_('JGLOBAL_EMAIL_TITLE'); - $attribs['onclick'] = "window.open(this.href,'win2','" . $status . "'); return false;"; - $attribs['rel'] = 'nofollow'; - $attribs['class'] = 'dropdown-item'; - - return HTMLHelper::_('link', Route::_($url), $text, $attribs); - } - /** * Display an edit icon for the article. * diff --git a/administrator/components/com_mailto/mailto.xml b/administrator/components/com_mailto/mailto.xml deleted file mode 100644 index 5096fa3d9dc5b..0000000000000 --- a/administrator/components/com_mailto/mailto.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - com_mailto - Joomla! Project - April 2006 - (C) 2005 - 2019 Open Source Matters. All rights reserved. - GNU General Public License version 2 or later; see LICENSE.txt - admin@joomla.org - www.joomla.org - 4.0.0 - COM_MAILTO_XML_DESCRIPTION - Joomla\Component\Mailto - - forms - helpers - src - tmpl - - - language/en-GB/com_mailto.ini - - - js - - - - mailto.xml - services - - - language/en-GB/com_mailto.sys.ini - - - diff --git a/administrator/components/com_mailto/services/provider.php b/administrator/components/com_mailto/services/provider.php deleted file mode 100644 index 3a2cec31aa93f..0000000000000 --- a/administrator/components/com_mailto/services/provider.php +++ /dev/null @@ -1,52 +0,0 @@ -registerServiceProvider(new MVCFactory('\\Joomla\\Component\\Mailto')); - $container->registerServiceProvider(new ComponentDispatcherFactory('\\Joomla\\Component\\Mailto')); - $container->set( - ComponentInterface::class, - function (Container $container) - { - $component = new MVCComponent($container->get(ComponentDispatcherFactoryInterface::class)); - $component->setMVCFactory($container->get(MVCFactoryInterface::class)); - - return $component; - } - ); - } -}; diff --git a/administrator/language/en-GB/com_mailto.sys.ini b/administrator/language/en-GB/com_mailto.sys.ini deleted file mode 100644 index c43784f89f45f..0000000000000 --- a/administrator/language/en-GB/com_mailto.sys.ini +++ /dev/null @@ -1,8 +0,0 @@ -; Joomla! Project -; Copyright (C) 2005 - 2019 Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt -; Note : All ini files need to be saved as UTF-8 - -COM_MAILTO="Mail to" -COM_MAILTO_XML_DESCRIPTION="A generic mail to friend component." - diff --git a/build/media_source/com_mailto/js/mailto-default.es6.js b/build/media_source/com_mailto/js/mailto-default.es6.js deleted file mode 100644 index 9afe3908749c3..0000000000000 --- a/build/media_source/com_mailto/js/mailto-default.es6.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - * @copyright Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved. - * @license GNU General Public License version 2 or later; see LICENSE.txt - */ -((window, document, Joomla) => { - 'use strict'; - - if (!Joomla || typeof Joomla.JText._ !== 'function') { - throw new Error('core.js was not properly initialised'); - } - - // Selectors used by this script - const closeSelector = '.close-mailto'; - - /** - * Register events - */ - const onClick = (event) => { - event.preventDefault(); - window.close(); - }; - - /** - * Register events - */ - const registerEvents = () => { - // Register the close click listener - const closeElements = [].slice.call(document.querySelectorAll(closeSelector)); - - if (closeElements.length) { - closeElements.forEach((closeElement) => { - closeElement.addEventListener('click', onClick); - }); - } - - // Cleanup - document.removeEventListener('DOMContentLoaded', registerEvents); - }; - - document.addEventListener('DOMContentLoaded', registerEvents); -})(window, document, Joomla); diff --git a/components/com_mailto/forms/mailto.xml b/components/com_mailto/forms/mailto.xml deleted file mode 100644 index 55ecc8834a07d..0000000000000 --- a/components/com_mailto/forms/mailto.xml +++ /dev/null @@ -1,55 +0,0 @@ - -
-
- - - - - - - - - -
-
diff --git a/components/com_mailto/helpers/mailto.php b/components/com_mailto/helpers/mailto.php deleted file mode 100644 index 5cb487f90b25e..0000000000000 --- a/components/com_mailto/helpers/mailto.php +++ /dev/null @@ -1,22 +0,0 @@ -input->set('view', 'mailto'); - $this->display(); - } - - /** - * Send the message and display a notice - * - * @return void - * - * @since 1.5 - */ - public function send() - { - // Check for request forgeries - $this->checkToken(); - - /** @var \Joomla\Component\Mailto\Site\Model\MailtoModel $model */ - $model = $this->getModel('mailto'); - $data = $model->getData(); - - // Validate the posted data. - $form = $model->getForm(); - - if (!$form) - { - throw new \RuntimeException($model->getError()); - } - - if (!$model->validate($form, $data)) - { - $errors = $model->getErrors(); - - foreach ($errors as $error) - { - $errorMessage = $error; - - if ($error instanceof \Exception) - { - $errorMessage = $error->getMessage(); - } - - $this->app->enqueueMessage($errorMessage, 'error'); - } - - $this->mailto(); - - return; - } - - // An array of email headers we do not want to allow as input - $headers = array ( - 'Content-Type:', - 'MIME-Version:', - 'Content-Transfer-Encoding:', - 'bcc:', - 'cc:' - ); - - /* - * Here is the meat and potatoes of the header injection test. We - * iterate over the array of form input and check for header strings. - * If we find one, send an unauthorized header and die. - */ - foreach ($data as $key => $value) - { - foreach ($headers as $header) - { - if (is_string($value) && strpos($value, $header) !== false) - { - throw new \Exception('', 403); - } - } - } - - /* - * Free up memory - */ - unset($headers, $fields); - - $siteName = $this->app->get('sitename'); - $link = MailtoHelper::validateHash($this->input->post->get('link', '', 'post')); - - // Verify that this is a local link - if (!$link || !Uri::isInternal($link)) - { - // Non-local url... - $this->app->enqueueMessage(Text::_('COM_MAILTO_EMAIL_NOT_SENT')); - - return $this->mailto(); - } - - $subject_default = Text::sprintf('COM_MAILTO_SENT_BY', $data['sender']); - $subject = $data['subject'] !== '' ? $data['subject'] : $subject_default; - - // Check for a valid to address - $error = false; - - if (!$data['emailto'] || !MailHelper::isEmailAddress($data['emailto'])) - { - $error = Text::sprintf('COM_MAILTO_EMAIL_INVALID', $data['emailto']); - - $this->app->enqueueMessage($error, 'warning'); - } - - // Check for a valid from address - if (!$data['emailfrom'] || !MailHelper::isEmailAddress($data['emailfrom'])) - { - $error = Text::sprintf('COM_MAILTO_EMAIL_INVALID', $data['emailfrom']); - - $this->app->enqueueMessage($error, 'warning'); - } - - if ($error) - { - return $this->mailto(); - } - - // Build the message to send - $msg = Text::_('COM_MAILTO_EMAIL_MSG'); - $body = sprintf($msg, $siteName, $data['sender'], $data['emailfrom'], $link); - - // Clean the email data - $subject = MailHelper::cleanSubject($subject); - $body = MailHelper::cleanBody($body); - - // To send we need to use punycode. - $data['emailfrom'] = PunycodeHelper::emailToPunycode($data['emailfrom']); - $data['emailfrom'] = MailHelper::cleanAddress($data['emailfrom']); - $data['emailto'] = PunycodeHelper::emailToPunycode($data['emailto']); - - // Try to send the email - try - { - $return = Factory::getMailer()->sendMail($data['emailfrom'], $data['sender'], $data['emailto'], $subject, $body); - } - catch (\Exception $exception) - { - try - { - Log::add(Text::_($exception->getMessage()), Log::WARNING, 'jerror'); - - $return = false; - } - catch (\RuntimeException $exception) - { - Factory::getApplication()->enqueueMessage(Text::_($exception->errorMessage()), 'warning'); - - $return = false; - } - } - - if ($return !== true) - { - $this->setMessage(Text::_('COM_MAILTO_EMAIL_NOT_SENT'), 'notice'); - - $this->setRedirect('index.php', 'COM_MAILTO_EMAIL_NOT_SENT'); - - return $this->mailto(); - } - - $this->input->set('view', 'sent'); - $this->display(); - } -} diff --git a/components/com_mailto/src/Dispatcher/Dispatcher.php b/components/com_mailto/src/Dispatcher/Dispatcher.php deleted file mode 100644 index 06e222c5b331b..0000000000000 --- a/components/com_mailto/src/Dispatcher/Dispatcher.php +++ /dev/null @@ -1,37 +0,0 @@ -input->getCmd('task', 'mailto'); - $this->input->set('task', $command); - - parent::dispatch(); - } -} diff --git a/components/com_mailto/src/Helper/MailtoHelper.php b/components/com_mailto/src/Helper/MailtoHelper.php deleted file mode 100644 index 4d58fc2f96e5a..0000000000000 --- a/components/com_mailto/src/Helper/MailtoHelper.php +++ /dev/null @@ -1,106 +0,0 @@ -getSession(); - $mailto_links = $session->get('com_mailto.links', array()); - - if (!isset($mailto_links[$hash])) - { - $mailto_links[$hash] = new \stdClass; - } - - $mailto_links[$hash]->link = $url; - $mailto_links[$hash]->expiry = time(); - $session->set('com_mailto.links', $mailto_links); - - return $hash; - } - - /** - * Checks if a URL is a Flash file - * - * @param string $hash File hash - * - * @return URL - */ - public static function validateHash($hash) - { - $retval = false; - - self::cleanHashes(); - $mailto_links = Factory::getApplication()->getSession()->get('com_mailto.links', array()); - - if (isset($mailto_links[$hash])) - { - $retval = $mailto_links[$hash]->link; - } - - return $retval; - } - - /** - * Cleans out old hashes - * - * @param integer $lifetime How old are the hashes we want to remove - * - * @return void - * - * @since 1.6.1 - */ - public static function cleanHashes($lifetime = 1440) - { - // Flag for if we've cleaned on this cycle - static $cleaned = false; - - if (!$cleaned) - { - $past = time() - $lifetime; - $session = Factory::getApplication()->getSession(); - $mailto_links = $session->get('com_mailto.links', array()); - - foreach ($mailto_links as $index => $link) - { - if ($link->expiry < $past) - { - unset($mailto_links[$index]); - } - } - - $session->set('com_mailto.links', $mailto_links); - $cleaned = true; - } - } -} diff --git a/components/com_mailto/src/Model/MailtoModel.php b/components/com_mailto/src/Model/MailtoModel.php deleted file mode 100644 index ee259facff25a..0000000000000 --- a/components/com_mailto/src/Model/MailtoModel.php +++ /dev/null @@ -1,111 +0,0 @@ -loadForm('com_mailto.mailto', 'mailto', array('load_data' => $loadData)); - - if (empty($form)) - { - return false; - } - - return $form; - } - - /** - * Method to get the data that should be injected in the form. - * - * @return array The default data is an empty array. - * - * @since 3.8.9 - */ - protected function loadFormData() - { - $user = Factory::getUser(); - $app = Factory::getApplication(); - $data = $app->getUserState('mailto.mailto.form.data', array()); - - $data['link'] = urldecode($app->input->get('link', '', 'BASE64')); - - if ($data['link'] == '') - { - throw new \RuntimeException(Text::_('COM_MAILTO_LINK_IS_MISSING')); - } - - // Load with previous data, if it exists - $data['sender'] = $app->input->post->getString('sender', ''); - $data['subject'] = $app->input->post->getString('subject', ''); - $data['emailfrom'] = PunycodeHelper::emailToPunycode($app->input->post->getString('emailfrom', '')); - $data['emailto'] = PunycodeHelper::emailToPunycode($app->input->post->getString('emailto', '')); - - if (!$user->guest) - { - $data['sender'] = $user->name; - $data['emailfrom'] = $user->email; - } - - $app->setUserState('mailto.mailto.form.data', $data); - - $this->preprocessData('com_mailto.mailto', $data); - - return $data; - } - - /** - * Get the request data - * - * @return array The requested data - * - * @since 3.8.9 - */ - public function getData() - { - $input = Factory::getApplication()->input; - - $data['emailto'] = $input->get('emailto', '', 'string'); - $data['sender'] = $input->get('sender', '', 'string'); - $data['emailfrom'] = $input->get('emailfrom', '', 'string'); - $data['subject'] = $input->get('subject', '', 'string'); - $data['consentbox'] = $input->get('consentbox', '', 'string'); - - return $data; - } -} diff --git a/components/com_mailto/src/View/Mailto/HtmlView.php b/components/com_mailto/src/View/Mailto/HtmlView.php deleted file mode 100644 index 24d6a457ea94c..0000000000000 --- a/components/com_mailto/src/View/Mailto/HtmlView.php +++ /dev/null @@ -1,40 +0,0 @@ -form = $this->get('Form'); - $this->link = urldecode(Factory::getApplication()->input->get('link', '', 'BASE64')); - - return parent::display($tpl); - } -} diff --git a/components/com_mailto/src/View/Sent/HtmlView.php b/components/com_mailto/src/View/Sent/HtmlView.php deleted file mode 100644 index fb944a41ca9e4..0000000000000 --- a/components/com_mailto/src/View/Sent/HtmlView.php +++ /dev/null @@ -1,23 +0,0 @@ - 'auto', 'relative' => true]); -?> - -
-

- -

-
- - - - - -
- -
-
- form->getFieldset('') as $field) : ?> - - hidden) : ?> - renderField(['class' => 'com-mailto__' . $field->name]); ?> - - -
- - -
-
- - - - - - - -
-
diff --git a/components/com_mailto/tmpl/sent/default.php b/components/com_mailto/tmpl/sent/default.php deleted file mode 100644 index 70cdc5658ddf0..0000000000000 --- a/components/com_mailto/tmpl/sent/default.php +++ /dev/null @@ -1,25 +0,0 @@ - -
-
- - - -
-

- -

-
diff --git a/installation/sql/mysql/joomla.sql b/installation/sql/mysql/joomla.sql index 3a9cb158b0f1d..e8a7e43dc204c 100644 --- a/installation/sql/mysql/joomla.sql +++ b/installation/sql/mysql/joomla.sql @@ -43,7 +43,6 @@ INSERT INTO `#__assets` (`id`, `parent_id`, `lft`, `rgt`, `level`, `name`, `titl (10, 1, 41, 42, 1, 'com_installer', 'com_installer', '{"core.manage":{"7":0},"core.delete":{"7":0},"core.edit.state":{"7":0}}'), (11, 1, 43, 44, 1, 'com_languages', 'com_languages', '{"core.admin":{"7":1}}'), (12, 1, 45, 46, 1, 'com_login', 'com_login', '{}'), -(13, 1, 47, 48, 1, 'com_mailto', 'com_mailto', '{}'), (14, 1, 49, 50, 1, 'com_massmail', 'com_massmail', '{}'), (15, 1, 51, 52, 1, 'com_media', 'com_media', '{"core.admin":{"7":1},"core.manage":{"6":1},"core.create":{"3":1},"core.delete":{"5":1}}'), (16, 1, 53, 56, 1, 'com_menus', 'com_menus', '{"core.admin":{"7":1}}'), @@ -518,7 +517,6 @@ CREATE TABLE IF NOT EXISTS `#__extensions` ( -- INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES -(0, 'com_mailto', 'component', 'com_mailto', '', 1, 1, 1, 1, '', '', 0, NULL, 0, 0), (0, 'com_wrapper', 'component', 'com_wrapper', '', 1, 1, 1, 1, '', '', 0, NULL, 0, 0), (0, 'com_admin', 'component', 'com_admin', '', 1, 1, 1, 1, '', '', 0, NULL, 0, 0), (0, 'com_banners', 'component', 'com_banners', '', 1, 1, 1, 0, '', '{"purchase_type":"3","track_impressions":"0","track_clicks":"0","metakey_prefix":"","save_history":"1","history_limit":10}', 0, NULL, 0, 0), diff --git a/installation/sql/postgresql/joomla.sql b/installation/sql/postgresql/joomla.sql index fe5c5f355fa71..f443774e5b009 100644 --- a/installation/sql/postgresql/joomla.sql +++ b/installation/sql/postgresql/joomla.sql @@ -47,7 +47,6 @@ INSERT INTO "#__assets" ("id", "parent_id", "lft", "rgt", "level", "name", "titl (10, 1, 41, 42, 1, 'com_installer', 'com_installer', '{"core.manage":{"7":0},"core.delete":{"7":0},"core.edit.state":{"7":0}}'), (11, 1, 43, 44, 1, 'com_languages', 'com_languages', '{"core.admin":{"7":1}}'), (12, 1, 45, 46, 1, 'com_login', 'com_login', '{}'), -(13, 1, 47, 48, 1, 'com_mailto', 'com_mailto', '{}'), (14, 1, 49, 50, 1, 'com_massmail', 'com_massmail', '{}'), (15, 1, 51, 52, 1, 'com_media', 'com_media', '{"core.admin":{"7":1},"core.manage":{"6":1},"core.create":{"3":1},"core.delete":{"5":1}}'), (16, 1, 53, 56, 1, 'com_menus', 'com_menus', '{"core.admin":{"7":1}}'), @@ -529,7 +528,6 @@ CREATE INDEX "#__extensions_extension" ON "#__extensions" ("type", "element", "f COMMENT ON COLUMN "#__extensions"."package_id" IS 'Parent package ID for extensions installed as a package.'; INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "checked_out", "checked_out_time", "ordering", "state") VALUES -(0, 'com_mailto', 'component', 'com_mailto', '', 1, 1, 1, 1, '', '', 0, NULL, 0, 0), (0, 'com_wrapper', 'component', 'com_wrapper', '', 1, 1, 1, 1, '', '', 0, NULL, 0, 0), (0, 'com_admin', 'component', 'com_admin', '', 1, 1, 1, 1, '', '', 0, NULL, 0, 0), (0, 'com_banners', 'component', 'com_banners', '', 1, 1, 1, 0, '', '{"purchase_type":"3","track_impressions":"0","track_clicks":"0","metakey_prefix":"","save_history":"1","history_limit":10}', 0, NULL, 0, 0), diff --git a/language/en-GB/com_mailto.ini b/language/en-GB/com_mailto.ini deleted file mode 100644 index 905ee855473cd..0000000000000 --- a/language/en-GB/com_mailto.ini +++ /dev/null @@ -1,22 +0,0 @@ -; Joomla! Project -; Copyright (C) 2005 - 2019 Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt -; Note : All ini files need to be saved as UTF-8 - -COM_MAILTO="Mailto" -COM_MAILTO_CANCEL="Cancel" -COM_MAILTO_CAPTCHA="Captcha" -COM_MAILTO_CLOSE_WINDOW="Close Window" -COM_MAILTO_EMAIL_ERR_NOINFO="Please provide a valid email address." -COM_MAILTO_EMAIL_INVALID="The address '%s' does not appear to be a valid email address." -COM_MAILTO_EMAIL_MSG="This is an email from (%s) sent by %s (%s). You may also find the following link interesting: %s" -COM_MAILTO_EMAIL_NOT_SENT="Email could not be sent." -COM_MAILTO_EMAIL_SENT="Email was sent." -COM_MAILTO_EMAIL_TO="Email to" -COM_MAILTO_EMAIL_TO_A_FRIEND="Email this link to a friend." -COM_MAILTO_LINK_IS_MISSING="Link is missing" -COM_MAILTO_SEND="Send" -COM_MAILTO_SENDER="Sender" -COM_MAILTO_SENT_BY="Item sent by %s" -COM_MAILTO_SUBJECT="Subject" -COM_MAILTO_YOUR_EMAIL="Your Email" diff --git a/language/en-GB/joomla.ini b/language/en-GB/joomla.ini index 3b6d80e28a0ac..919e4b1c081fe 100644 --- a/language/en-GB/joomla.ini +++ b/language/en-GB/joomla.ini @@ -231,7 +231,6 @@ JGLOBAL_EDIT="Edit" JGLOBAL_EDIT_TITLE="Edit article" JGLOBAL_EMAIL="Email" JGLOBAL_EMAIL_DOMAIN_NOT_ALLOWED="The email domain %s is not allowed. Please enter another email address." -JGLOBAL_EMAIL_TITLE="Email this link to a friend" JGLOBAL_EXPAND_CATEGORIES="Show more categories" JGLOBAL_FIELD_ADD="Add" JGLOBAL_FIELD_CATEGORIES_CHOOSE_CATEGORY_DESC="Categories that are within this category will be displayed." diff --git a/libraries/src/Extension/ExtensionHelper.php b/libraries/src/Extension/ExtensionHelper.php index bee86356c5a61..e8e722faaa1ab 100644 --- a/libraries/src/Extension/ExtensionHelper.php +++ b/libraries/src/Extension/ExtensionHelper.php @@ -68,7 +68,6 @@ class ExtensionHelper array('component', 'com_languages', '', 1), array('component', 'com_login', '', 1), array('component', 'com_mails', '', 1), - array('component', 'com_mailto', '', 1), array('component', 'com_media', '', 1), array('component', 'com_menus', '', 1), array('component', 'com_messages', '', 1), diff --git a/plugins/content/confirmconsent/confirmconsent.php b/plugins/content/confirmconsent/confirmconsent.php index 2001d292369e5..ad5a034cd5c29 100644 --- a/plugins/content/confirmconsent/confirmconsent.php +++ b/plugins/content/confirmconsent/confirmconsent.php @@ -44,7 +44,6 @@ class PlgContentConfirmConsent extends CMSPlugin */ protected $supportedContext = array( 'com_contact.contact', - 'com_mailto.mailto', 'com_privacy.request', );