Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--core/ErrorHandler.php2
-rw-r--r--core/Filechecks.php2
-rw-r--r--core/Plugin/ControllerAdmin.php4
-rw-r--r--core/Session.php2
-rw-r--r--core/Updates/0.6-rc1.php4
-rw-r--r--core/Updates/1.2-rc1.php2
-rw-r--r--core/testMinimumPhpVersion.php16
-rw-r--r--plugins/API/Menu.php7
-rw-r--r--plugins/API/templates/listAllAPI.twig2
-rw-r--r--plugins/Actions/Reports/GetSiteSearchKeywords.php4
-rw-r--r--plugins/Actions/templates/_profileSummary.twig4
-rw-r--r--plugins/CoreAdminHome/javascripts/protocolCheck.js2
-rw-r--r--plugins/CoreAdminHome/templates/generalSettings.twig6
-rw-r--r--plugins/CoreAdminHome/templates/trackingCodeGenerator.twig16
-rw-r--r--plugins/CoreHome/CoreHome.php1
-rw-r--r--plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html4
-rw-r--r--plugins/CoreHome/javascripts/dataTable.js2
-rw-r--r--plugins/CoreHome/javascripts/noreferrer.js18
-rw-r--r--plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig2
-rw-r--r--plugins/CoreHome/templates/_dataTableCell.twig2
-rw-r--r--plugins/CoreHome/templates/_donate.twig2
-rw-r--r--plugins/CoreHome/templates/_headerMessage.twig6
-rw-r--r--plugins/CoreHome/templates/_topBar.twig11
-rw-r--r--plugins/CoreHome/templates/_warningInvalidHost.twig2
-rw-r--r--plugins/CoreHome/templates/getPromoVideo.twig6
-rw-r--r--plugins/CorePluginsAdmin/templates/macros.twig6
-rw-r--r--plugins/CorePluginsAdmin/templates/safemode.twig4
-rw-r--r--plugins/CoreUpdater/SystemSettings.php4
-rw-r--r--plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig4
-rw-r--r--plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig6
-rw-r--r--plugins/CoreUpdater/templates/updateHttpError.twig2
-rw-r--r--plugins/CoreUpdater/templates/updateSuccess.twig2
-rw-r--r--plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig4
-rw-r--r--plugins/CustomVariables/Reports/GetCustomVariables.php2
-rw-r--r--plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php2
-rw-r--r--plugins/DBStats/templates/index.twig2
-rw-r--r--plugins/Diagnostics/Diagnostic/DbOverSSLCheck.php2
-rw-r--r--plugins/Diagnostics/Diagnostic/LoadDataInfileCheck.php2
-rw-r--r--plugins/Diagnostics/Diagnostic/TimezoneCheck.php2
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_row_evolution_graph__ScheduledReports.generateReport_week.original.html2
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_week.original.html2
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html2
-rw-r--r--plugins/Events/templates/_actionEvent.twig2
-rw-r--r--plugins/Feedback/templates/index.twig74
-rw-r--r--plugins/Goals/Visualizations/Goals.php2
-rw-r--r--plugins/Goals/templates/_formAddGoal.twig2
-rw-r--r--plugins/Goals/templates/_listGoalEdit.twig4
-rw-r--r--plugins/Goals/templates/addNewGoal.twig4
-rw-r--r--plugins/Installation/FormSuperUser.php2
-rw-r--r--plugins/Installation/templates/finished.twig6
-rw-r--r--plugins/Installation/templates/reuseTables.twig2
-rw-r--r--plugins/Installation/templates/systemCheck.twig2
-rw-r--r--plugins/Installation/templates/trackingCode.twig4
-rw-r--r--plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html4
-rw-r--r--plugins/LanguagesManager/templates/getLanguagesSelector.twig4
-rw-r--r--plugins/Live/templates/_actionCommon.twig2
-rw-r--r--plugins/Login/Controller.php4
-rw-r--r--plugins/Login/templates/login.twig2
-rw-r--r--plugins/Marketplace/Plugins/InvalidLicenses.php2
-rw-r--r--plugins/Marketplace/templates/licenseform.twig4
-rw-r--r--plugins/Marketplace/templates/overview.twig12
-rw-r--r--plugins/Marketplace/templates/plugin-details.twig14
-rw-r--r--plugins/Marketplace/templates/subscription-overview.twig6
-rw-r--r--plugins/Marketplace/tests/Integration/Plugins/InvalidLicensesTest.php10
-rw-r--r--plugins/MobileMessaging/SMSProvider/ASPSMS.php8
-rw-r--r--plugins/MobileMessaging/SMSProvider/Clockwork.php6
-rw-r--r--plugins/Morpheus/templates/ajaxMacros.twig8
-rw-r--r--plugins/MultiSites/angularjs/dashboard/dashboard.directive.html6
-rw-r--r--plugins/MultiSites/angularjs/site/site.directive.html4
-rw-r--r--plugins/Overlay/templates/index.twig4
-rw-r--r--plugins/PrivacyManager/angularjs/opt-out-customizer/opt-out-customizer.directive.html4
-rw-r--r--plugins/PrivacyManager/templates/privacySettings.twig4
-rw-r--r--plugins/ProfessionalServices/templates/promoBelowCampaigns.twig10
-rw-r--r--plugins/ProfessionalServices/templates/promoBelowEvents.twig8
-rw-r--r--plugins/ProfessionalServices/templates/promoBelowReferrerTypes.twig4
-rw-r--r--plugins/ProfessionalServices/templates/promoCustomVariables.twig4
-rw-r--r--plugins/ProfessionalServices/templates/promoExperiments.twig4
-rw-r--r--plugins/ProfessionalServices/templates/promoFunnel.twig4
-rw-r--r--plugins/ProfessionalServices/templates/promoHeatmaps.twig2
-rw-r--r--plugins/ProfessionalServices/templates/promoSearchKeywords.twig4
-rw-r--r--plugins/ProfessionalServices/templates/promoServicesWidget.twig6
-rw-r--r--plugins/ProfessionalServices/templates/promoSessionRecordings.twig4
-rw-r--r--plugins/Provider/Reports/GetProvider.php2
-rw-r--r--plugins/Provider/templates/_visitorDetails.twig4
-rw-r--r--plugins/Proxy/Controller.php1
-rw-r--r--plugins/Referrers/Controller.php4
-rw-r--r--plugins/Referrers/Reports/GetCampaigns.php2
-rw-r--r--plugins/Referrers/Reports/GetKeywordsFromCampaignId.php2
-rw-r--r--plugins/Referrers/templates/_visitorDetails.twig4
-rw-r--r--plugins/RssWidget/RssRenderer.php2
-rw-r--r--plugins/SEO/templates/getRank.twig6
-rw-r--r--plugins/ScheduledReports/templates/_addReport.twig2
-rw-r--r--plugins/ScheduledReports/templates/_listReports.twig2
-rw-r--r--plugins/SitesManager/templates/_displayJavascriptCode.twig10
-rw-r--r--plugins/SitesManager/templates/siteWithoutData.twig6
-rw-r--r--plugins/SitesManager/templates/sites-list/site-fields.html2
-rw-r--r--plugins/Transitions/javascripts/transitions.js67
-rw-r--r--plugins/Transitions/stylesheets/transitions.less6
-rw-r--r--plugins/UserCountry/Diagnostic/GeolocationDiagnostic.php4
-rw-r--r--plugins/UserCountry/LocationProvider/DefaultProvider.php2
-rw-r--r--plugins/UserCountry/LocationProvider/GeoIp/Pecl.php2
-rw-r--r--plugins/UserCountry/LocationProvider/GeoIp/Php.php2
-rw-r--r--plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php4
-rw-r--r--plugins/UserCountry/Reports/Base.php8
-rw-r--r--plugins/UserCountry/Reports/GetCountry.php2
-rw-r--r--plugins/UserCountry/templates/adminIndex.twig2
-rw-r--r--plugins/UsersManager/templates/index.twig6
-rw-r--r--plugins/UsersManager/templates/userSettings.twig2
-rw-r--r--plugins/VisitsSummary/Controller.php2
-rw-r--r--plugins/Widgetize/angularjs/widget-preview/widget-preview.directive.js4
-rw-r--r--plugins/Widgetize/templates/index.twig10
-rw-r--r--tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getSystemSettings.xml4
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getSystemSettings.xml4
-rw-r--r--tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml4
-rw-r--r--tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml4
-rw-r--r--tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_day.xml4
-rw-r--r--tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml4
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_row_evolution_graph__ScheduledReports.generateReport_month.original.html2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_month.original.html2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html2
-rw-r--r--tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getGlossaryReports.xml10
-rw-r--r--tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml10
-rw-r--r--tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getSystemSettings.xml4
-rw-r--r--tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getSystemSettings.xml4
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml4
126 files changed, 350 insertions, 326 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b850b9fbe6..522f82e99f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ The Product Changelog at **[matomo.org/changelog](https://matomo.org/changelog)*
* Changed some menu items to use translation keys instead (see [PR #12885](https://github.com/matomo-org/matomo/pull/12885)).
* The methods `assertResponseCode()` and `assertHttpResponseText()` in `Piwik\Tests\Framework\TestCase\SystemTestCase` have been deprecated and will be removed in Matomo 4.0. Please use `Piwik\Http` instead.
* The classes `PHPUnit\Framework\Constraint\HttpResponseText` and `PHPUnit\Framework\Constraint\ResponseCode` have been deprecated and will be removed in Matomo 4.0. Please use `Piwik\Http` instead.
+* Creating links through the Proxy has been deprecated. Use rel="nofollow" instead.
* The console option `--piwik-domain` has been deprecated and will be removed in Matomo 4.0. Use `--matomo-domain` instead
* Social networks are now detected as new referrer type (ID=7), which allows improved reports and better segmentation
* New settings form field UI component "Field Array" that lets users enter multiple values for one setting as a flat array
diff --git a/core/ErrorHandler.php b/core/ErrorHandler.php
index 2d855c3aea..3beed55e8f 100644
--- a/core/ErrorHandler.php
+++ b/core/ErrorHandler.php
@@ -123,7 +123,7 @@ class ErrorHandler
$message = ErrorHandler::getErrNoString($errno) . ' - ' . $errstr;
$html = "<p>There is an error. Please report the message (Matomo " . (class_exists('Piwik\Version') ? Version::VERSION : '') . ")
- and full backtrace in the <a href='?module=Proxy&action=redirect&url=https://forum.matomo.org' target='_blank'>Matomo forums</a> (please do a search first as it might have been reported already!).</p>";
+ and full backtrace in the <a target='_blank' rel='noreferrer noopener' href='https://forum.matomo.org'>Matomo forums</a> (please do a search first as it might have been reported already!).</p>";
$html .= "<p><strong>{$message}</strong> in <em>{$errfile}</em>";
$html .= " on line {$errline}</p>";
$html .= "Backtrace:<pre>";
diff --git a/core/Filechecks.php b/core/Filechecks.php
index 64bffb02a2..9cf8d45199 100644
--- a/core/Filechecks.php
+++ b/core/Filechecks.php
@@ -94,7 +94,7 @@ class Filechecks
. "<blockquote>$directoryList</blockquote>"
. "<p>If this doesn't work, you can try to create the directories with your FTP software, and set the CHMOD to 0755 (or 0777 if 0755 is not enough). To do so with your FTP software, right click on the directories then click permissions.</p>"
. "<p>After applying the modifications, you can <a href='index.php'>refresh the page</a>.</p>"
- . "<p>If you need more help, try <a href='?module=Proxy&action=redirect&url=https://matomo.org'>Matomo.org</a>.</p>";
+ . "<p>If you need more help, try <a target='_blank' rel='noreferrer noopener' href='https://matomo.org'>Matomo.org</a>.</p>";
$ex = new MissingFilePermissionException($directoryMessage);
$ex->setIsHtmlMessage();
diff --git a/core/Plugin/ControllerAdmin.php b/core/Plugin/ControllerAdmin.php
index b60cd750c3..3ae8f978e2 100644
--- a/core/Plugin/ControllerAdmin.php
+++ b/core/Plugin/ControllerAdmin.php
@@ -156,7 +156,7 @@ abstract class ControllerAdmin extends Controller
$message .= " ";
$message .= Piwik::translate('General_ReadThisToLearnMore',
- array('<a rel="noreferrer" target="_blank" href="https://matomo.org/faq/how-to/faq_91/">', '</a>')
+ array('<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/how-to/faq_91/">', '</a>')
);
$notification = new Notification($message);
@@ -193,7 +193,7 @@ abstract class ControllerAdmin extends Controller
$message = sprintf("You are using the PHP accelerator & optimizer eAccelerator which is known to be not compatible with Matomo.
We have disabled eAccelerator, which might affect the performance of Matomo.
Read the %srelated ticket%s for more information and how to fix this problem.",
- '<a rel="noreferrer" target="_blank" href="https://github.com/matomo-org/piwik/issues/4439">', '</a>');
+ '<a rel="noreferrer noopener" target="_blank" href="https://github.com/matomo-org/matomo/issues/4439">', '</a>');
$notification = new Notification($message);
$notification->context = Notification::CONTEXT_WARNING;
diff --git a/core/Session.php b/core/Session.php
index 200a17bbb0..e9369b97d0 100644
--- a/core/Session.php
+++ b/core/Session.php
@@ -121,7 +121,7 @@ class Session extends Zend_Session
$enableDbSessions = '';
if (DbHelper::isInstalled()) {
$enableDbSessions = "<br/>If you still experience issues after trying these changes,
- we recommend that you <a href='https://matomo.org/faq/how-to-install/#faq_133' rel='noreferrer' target='_blank'>enable database session storage</a>.";
+ we recommend that you <a href='https://matomo.org/faq/how-to-install/#faq_133' rel='noreferrer noopener' target='_blank'>enable database session storage</a>.";
}
$pathToSessions = Filechecks::getErrorMessageMissingPermissions(self::getSessionsDirectory());
diff --git a/core/Updates/0.6-rc1.php b/core/Updates/0.6-rc1.php
index 07f2734a4b..e6fd303986 100644
--- a/core/Updates/0.6-rc1.php
+++ b/core/Updates/0.6-rc1.php
@@ -55,8 +55,8 @@ class Updates_0_6_rc1 extends Updates
{
// first we disable the plugins and keep an array of warnings messages
$pluginsToDisableMessage = array(
- 'SearchEnginePosition' => "SearchEnginePosition plugin was disabled, because it is not compatible with the new Piwik 0.6. \n You can download the latest version of the plugin, compatible with Piwik 0.6.\n<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/matomo-org/piwik/issues/502'>Click here.</a>",
- 'GeoIP' => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 0.6. \nYou can download the latest version of the plugin, compatible with Piwik 0.6.\n<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/matomo-org/piwik/issues/45'>Click here.</a>"
+ 'SearchEnginePosition' => "SearchEnginePosition plugin was disabled, because it is not compatible with the new Piwik 0.6. \n You can download the latest version of the plugin, compatible with Piwik 0.6.\n<a target='_blank' rel='noopener' href='https://github.com/matomo-org/matomo/issues/502'>Click here.</a>",
+ 'GeoIP' => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 0.6. \nYou can download the latest version of the plugin, compatible with Piwik 0.6.\n<a target='_blank' rel='noopener' href='https://github.com/matomo-org/matomo/issues/45'>Click here.</a>"
);
$disabledPlugins = array();
foreach ($pluginsToDisableMessage as $pluginToDisable => $warningMessage) {
diff --git a/core/Updates/1.2-rc1.php b/core/Updates/1.2-rc1.php
index d13210b9d5..713162cf04 100644
--- a/core/Updates/1.2-rc1.php
+++ b/core/Updates/1.2-rc1.php
@@ -129,7 +129,7 @@ class Updates_1_2_rc1 extends Updates
{
// first we disable the plugins and keep an array of warnings messages
$pluginsToDisableMessage = array(
- 'GeoIP' => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 1.2. \nYou can download the latest version of the plugin, compatible with Piwik 1.2.\n<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/matomo-org/piwik/issues/45'>Click here.</a>",
+ 'GeoIP' => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 1.2. \nYou can download the latest version of the plugin, compatible with Piwik 1.2.\n<a target='_blank' rel='noopener' href='https://github.com/matomo-org/matomo/issues/45'>Click here.</a>",
'EntryPage' => "EntryPage plugin is not compatible with this version of Matomo, it was disabled.",
);
$disabledPlugins = array();
diff --git a/core/testMinimumPhpVersion.php b/core/testMinimumPhpVersion.php
index b4b36dabb7..82bbc4fd88 100644
--- a/core/testMinimumPhpVersion.php
+++ b/core/testMinimumPhpVersion.php
@@ -62,13 +62,13 @@ if ($minimumPhpInvalid) {
$composerInstall = "Download and run <a href=\"https://getcomposer.org/Composer-Setup.exe\"><b>Composer-Setup.exe</b></a>, it will install the latest Composer version and set up your PATH so that you can just call composer from any directory in your command line. "
. " <br>Then run this command in a terminal in the matomo directory: <br> $ php composer.phar install ";
}
- $piwik_errorMessage .= "<p>It appears the <a href='https://getcomposer.org/' rel='noreferrer' target='_blank'>composer</a> tool is not yet installed. You can install Composer in a few easy steps:\n\n".
+ $piwik_errorMessage .= "<p>It appears the <a href='https://getcomposer.org/' rel='noreferrer noopener' target='_blank'>composer</a> tool is not yet installed. You can install Composer in a few easy steps:\n\n".
"<br/>" . $composerInstall.
" This will initialize composer for Matomo and download libraries we use in vendor/* directory.".
"\n\n<br/><br/>Then reload this page to access your analytics reports." .
- "\n\n<br/><br/>For more information check out this FAQ: <a href='https://matomo.org/faq/how-to-install/faq_18271/' rel='noreferrer' target='_blank'>How do I use Matomo from the Git repository?</a>." .
+ "\n\n<br/><br/>For more information check out this FAQ: <a href='https://matomo.org/faq/how-to-install/faq_18271/' rel='noreferrer noopener' target='_blank'>How do I use Matomo from the Git repository?</a>." .
"\n\n<br/><br/>Note: if for some reasons you cannot install composer, instead install the latest Matomo release from ".
- "<a href='https://builds.matomo.org/piwik.zip'>builds.matomo.org</a>.</p>";
+ "<a href='https://builds.matomo.org/piwik.zip' rel='noreferrer noopener'>builds.matomo.org</a>.</p>";
}
}
@@ -142,11 +142,11 @@ if (!function_exists('Piwik_GetErrorMessagePage')) {
if ($optionalLinks) {
$optionalLinks = '<ul>
- <li><a rel="noreferrer" target="_blank" href="https://matomo.org">Matomo.org homepage</a></li>
- <li><a rel="noreferrer" target="_blank" href="https://matomo.org/faq/">Matomo Frequently Asked Questions</a></li>
- <li><a rel="noreferrer" target="_blank" href="https://matomo.org/docs/">Matomo Documentation</a></li>
- <li><a rel="noreferrer" target="_blank" href="https://forum.matomo.org/">Matomo Forums</a></li>
- <li><a rel="noreferrer" target="_blank" href="https://matomo.org/support/?pk_campaign=App_AnErrorOccured&pk_source=Piwik_App&pk_medium=ProfessionalServicesLink">Professional help for Matomo</a></li>
+ <li><a rel="noreferrer noopener" target="_blank" href="https://matomo.org">Matomo.org homepage</a></li>
+ <li><a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/">Matomo Frequently Asked Questions</a></li>
+ <li><a rel="noreferrer noopener" target="_blank" href="https://matomo.org/docs/">Matomo Documentation</a></li>
+ <li><a rel="noreferrer noopener" target="_blank" href="https://forum.matomo.org/">Matomo Forums</a></li>
+ <li><a rel="noreferrer noopener" target="_blank" href="https://matomo.org/support/?pk_campaign=App_AnErrorOccured&pk_source=Piwik_App&pk_medium=ProfessionalServicesLink">Professional help for Matomo</a></li>
</ul>';
}
if ($optionalLinkBack) {
diff --git a/plugins/API/Menu.php b/plugins/API/Menu.php
index 0f0aa8fd18..7226821228 100644
--- a/plugins/API/Menu.php
+++ b/plugins/API/Menu.php
@@ -55,12 +55,7 @@ class Menu extends \Piwik\Plugin\Menu
$parsedOS = $ua->parse();
if (!empty($parsedOS['short_name']) && in_array($parsedOS['short_name'], array(self::DD_SHORT_NAME_ANDROID, self::DD_SHORT_NAME_IOS))) {
-
- $url = $this->urlForModuleAction('Proxy', 'redirect', array('url' => 'https://matomo.org/mobile/'));
-
- if ($url) {
- $menu->addItem('Mobile_MatomoMobile', null, $url, 4);
- }
+ $menu->addItem('Mobile_MatomoMobile', null, 'https://matomo.org/mobile/', 4);
}
}
diff --git a/plugins/API/templates/listAllAPI.twig b/plugins/API/templates/listAllAPI.twig
index 4c7e9f4794..a8d4c7f258 100644
--- a/plugins/API/templates/listAllAPI.twig
+++ b/plugins/API/templates/listAllAPI.twig
@@ -14,7 +14,7 @@
<p>{{ 'API_PluginDescription'|translate }}</p>
<p>
- {{ 'API_MoreInformation'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=https://matomo.org/docs/analytics-api'>","</a>","<a target='_blank' href='?module=Proxy&action=redirect&url=https://matomo.org/docs/analytics-api/reference'>","</a>")|raw }}
+ {{ 'API_MoreInformation'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/docs/analytics-api'>","</a>","<a target='_blank' rel='noreferrer' href='https://matomo.org/docs/analytics-api/reference'>","</a>")|raw }}
</p>
</div>
<div piwik-content-block content-title="{{ 'API_UserAuthentication'|translate|e('html_attr') }}">
diff --git a/plugins/Actions/Reports/GetSiteSearchKeywords.php b/plugins/Actions/Reports/GetSiteSearchKeywords.php
index a314ccb421..abb8b70b64 100644
--- a/plugins/Actions/Reports/GetSiteSearchKeywords.php
+++ b/plugins/Actions/Reports/GetSiteSearchKeywords.php
@@ -24,7 +24,7 @@ class GetSiteSearchKeywords extends SiteSearchBase
$this->dimension = new Keyword();
$this->name = Piwik::translate('Actions_WidgetSearchKeywords');
$this->documentation = Piwik::translate('Actions_SiteSearchKeywordsDocumentation') . '<br/><br/>' . Piwik::translate('Actions_SiteSearchIntro') . '<br/><br/>'
- . '<a href="https://matomo.org/docs/site-search/" rel="noreferrer" target="_blank">' . Piwik::translate('Actions_LearnMoreAboutSiteSearchLink') . '</a>';
+ . '<a href="https://matomo.org/docs/site-search/" rel="noreferrer noopener" target="_blank">' . Piwik::translate('Actions_LearnMoreAboutSiteSearchLink') . '</a>';
$this->metrics = array('nb_visits', 'nb_pages_per_search');
$this->processedMetrics = array(
new AverageTimeOnPage(),
@@ -67,4 +67,4 @@ class GetSiteSearchKeywords extends SiteSearchBase
$this->addSiteSearchDisplayProperties($view);
}
-} \ No newline at end of file
+}
diff --git a/plugins/Actions/templates/_profileSummary.twig b/plugins/Actions/templates/_profileSummary.twig
index fa30e694b8..e16df663df 100644
--- a/plugins/Actions/templates/_profileSummary.twig
+++ b/plugins/Actions/templates/_profileSummary.twig
@@ -11,7 +11,7 @@
url|trim|lower starts with 'data:' %}
{{ url }}
{% else %}
- <a href="{{ url }}" rel="noreferrer" target="_blank"
+ <a href="{{ url }}" rel="noreferrer noopener" target="_blank"
class="action-list-url truncated-text-line">
{{ url|replace({'http://': '', 'https://': ''}) }}
</a>
@@ -22,4 +22,4 @@
</ul>
</div>
</div>
-{% endif %} \ No newline at end of file
+{% endif %}
diff --git a/plugins/CoreAdminHome/javascripts/protocolCheck.js b/plugins/CoreAdminHome/javascripts/protocolCheck.js
index b1331f2162..65eff12ab8 100644
--- a/plugins/CoreAdminHome/javascripts/protocolCheck.js
+++ b/plugins/CoreAdminHome/javascripts/protocolCheck.js
@@ -32,7 +32,7 @@ $(document).ready(function () {
'"config/config.ini.php"',
'"assume_secure_protocol=1"',
'"[General]"',
- '<a href="?module=Proxy&action=redirect&url=https://matomo.org/faq/how-to-install/faq_98/" target="_blank">',
+ '<a target="_blank" href="https://matomo.org/faq/how-to-install/faq_98/">',
'</a>'
];
var message = _pk_translate('CoreAdminHome_ProtocolNotDetectedCorrectly') + " " + _pk_translate('CoreAdminHome_ProtocolNotDetectedCorrectlySolution', params);
diff --git a/plugins/CoreAdminHome/templates/generalSettings.twig b/plugins/CoreAdminHome/templates/generalSettings.twig
index 45dfaca9f1..af71747c59 100644
--- a/plugins/CoreAdminHome/templates/generalSettings.twig
+++ b/plugins/CoreAdminHome/templates/generalSettings.twig
@@ -34,14 +34,14 @@
<label for="enableBrowserTriggerArchiving2">
{{ 'General_No'|translate }}
- <span class="form-description">{{ 'General_ArchivingTriggerDescription'|translate("<a href='?module=Proxy&action=redirect&url=https://matomo.org/docs/setup-auto-archiving/' target='_blank'>","</a>")|raw }}</span>
+ <span class="form-description">{{ 'General_ArchivingTriggerDescription'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/docs/setup-auto-archiving/'>","</a>")|raw }}</span>
</label>
</p>
</div><div class="col s12 m6">
<div class="form-help">
{{ 'General_ArchivingInlineHelp'|translate }}
<br/>
- {{ 'General_SeeTheOfficialDocumentationForMoreInformation'|translate("<a href='?module=Proxy&action=redirect&url=https://matomo.org/docs/setup-auto-archiving/' target='_blank'>","</a>")|raw }}
+ {{ 'General_SeeTheOfficialDocumentationForMoreInformation'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/docs/setup-auto-archiving/'>","</a>")|raw }}
</div>
</div>
</div>
@@ -149,7 +149,7 @@
{% set help -%}
{% set giveUsFeedbackText %}"{{ 'General_GiveUsYourFeedback'|translate }}"{% endset %}
- {{ 'CoreAdminHome_CustomLogoFeedbackInfo'|translate(giveUsFeedbackText,"<a href='?module=CorePluginsAdmin&action=plugins' rel='noreferrer' target='_blank'>","</a>")|raw }}
+ {{ 'CoreAdminHome_CustomLogoFeedbackInfo'|translate(giveUsFeedbackText,"<a href='?module=CorePluginsAdmin&action=plugins' rel='noreferrer noopener' target='_blank'>","</a>")|raw }}
{%- endset %}
<div piwik-field uicontrol="checkbox" name="useCustomLogo"
diff --git a/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig b/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig
index dab8773815..d84885725b 100644
--- a/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig
+++ b/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig
@@ -39,11 +39,11 @@
<p>
{{ 'CoreAdminHome_JSTrackingIntro1'|translate }}
<br/><br/>
- {{ 'CoreAdminHome_JSTrackingIntro2'|translate }} {{ 'CoreAdminHome_JSTrackingIntro3b'|translate('<a href="https://matomo.org/integrate/" rel="noreferrer" target="_blank">','</a>')|raw }}
+ {{ 'CoreAdminHome_JSTrackingIntro2'|translate }} {{ 'CoreAdminHome_JSTrackingIntro3b'|translate('<a href="https://matomo.org/integrate/" rel="noreferrer noopener" target="_blank">','</a>')|raw }}
<br/><br/>
{{ 'CoreAdminHome_JSTrackingIntro4'|translate('<a href="#image-tracking-link">','</a>')|raw }}
<br/><br/>
- {{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a rel="noreferrer" target="_blank" href="https://matomo.org/docs/javascript-tracking/">','</a>')|raw }}
+ {{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/docs/javascript-tracking/">','</a>')|raw }}
</p>
<div piwik-field uicontrol="site" name="js-tracker-website"
@@ -59,7 +59,7 @@
{# track across all subdomains #}
<div id="jsTrackAllSubdomainsInlineHelp" class="inline-help-node">
{{ 'CoreAdminHome_JSTracking_MergeSubdomainsDesc'|translate("x.<span class='current-site-host'></span>","y.<span class='current-site-host'></span>")|raw }}
- {{ 'General_LearnMore'|translate(' (<a href="https://developer.matomo.org/guides/tracking-javascript-guide#measuring-domains-andor-sub-domains" rel="noreferrer" target="_blank">', '</a>)')|raw }}
+ {{ 'General_LearnMore'|translate(' (<a href="https://developer.matomo.org/guides/tracking-javascript-guide#measuring-domains-andor-sub-domains" rel="noreferrer noopener" target="_blank">', '</a>)')|raw }}
</div>
<div piwik-field uicontrol="checkbox" name="javascript-tracking-all-subdomains"
@@ -202,7 +202,7 @@
{# custom campaign name/keyword query params #}
<div id="jsTrackCampaignParamsInlineHelp" class="inline-help-node">
- {{ 'CoreAdminHome_JSTracking_CustomCampaignQueryParamDesc'|translate('<a href="https://matomo.org/faq/general/#faq_119" rel="noreferrer" target="_blank">','</a>')|raw }}
+ {{ 'CoreAdminHome_JSTracking_CustomCampaignQueryParamDesc'|translate('<a href="https://matomo.org/faq/general/#faq_119" rel="noreferrer noopener" target="_blank">','</a>')|raw }}
</div>
<div piwik-field uicontrol="checkbox" name="custom-campaign-query-params-check"
@@ -265,7 +265,7 @@
{{ 'CoreAdminHome_ImageTrackingIntro1'|translate }} {{ 'CoreAdminHome_ImageTrackingIntro2'|translate("<code>&lt;noscript&gt;&lt;/noscript&gt;</code>")|raw }}
</p>
<p>
- {{ 'CoreAdminHome_ImageTrackingIntro3'|translate('<a href="https://matomo.org/docs/tracking-api/reference/" rel="noreferrer" target="_blank">','</a>')|raw }}
+ {{ 'CoreAdminHome_ImageTrackingIntro3'|translate('<a href="https://matomo.org/docs/tracking-api/reference/" rel="noreferrer noopener" target="_blank">','</a>')|raw }}
</p>
{# website #}
@@ -335,16 +335,16 @@
<div piwik-content-block content-title="{{ 'CoreAdminHome_ImportingServerLogs'|translate|e('html_attr') }}"
anchor="importServerLogs">
<p>
- {{ 'CoreAdminHome_ImportingServerLogsDesc'|translate('<a href="https://matomo.org/log-analytics/" rel="noreferrer" target="_blank">','</a>')|raw }}
+ {{ 'CoreAdminHome_ImportingServerLogsDesc'|translate('<a href="https://matomo.org/log-analytics/" rel="noreferrer noopener" target="_blank">','</a>')|raw }}
</p>
</div>
<div piwik-content-block content-title="{{ 'SitesManager_MobileAppsAndSDKs'|translate }}" anchor="mobileAppsAndSdks">
- <p>{{ 'SitesManager_MobileAppsAndSDKsDescription'|translate('<a href="https://matomo.org/integrate/#programming-language-platforms-and-frameworks" rel="noreferrer" target="_blank">','</a>')|raw }}</p>
+ <p>{{ 'SitesManager_MobileAppsAndSDKsDescription'|translate('<a href="https://matomo.org/integrate/#programming-language-platforms-and-frameworks" rel="noreferrer noopener" target="_blank">','</a>')|raw }}</p>
</div>
<div piwik-content-block content-title="{{ 'CoreAdminHome_HttpTrackingApi'|translate }}" anchor="trackingApi">
- <p>{{ 'CoreAdminHome_HttpTrackingApiDescription'|translate('<a href="https://developer.matomo.org/api-reference/tracking-api" rel="noreferrer" target="_blank">','</a>')|raw }}</p>
+ <p>{{ 'CoreAdminHome_HttpTrackingApiDescription'|translate('<a href="https://developer.matomo.org/api-reference/tracking-api" rel="noreferrer noopener" target="_blank">','</a>')|raw }}</p>
</div>
{{ postEvent('Template.endTrackingCodePage') }}
diff --git a/plugins/CoreHome/CoreHome.php b/plugins/CoreHome/CoreHome.php
index b1a29135d4..04fc917ec7 100644
--- a/plugins/CoreHome/CoreHome.php
+++ b/plugins/CoreHome/CoreHome.php
@@ -158,6 +158,7 @@ class CoreHome extends \Piwik\Plugin
$jsFiles[] = "plugins/CoreHome/javascripts/notification_parser.js";
$jsFiles[] = "plugins/CoreHome/javascripts/numberFormatter.js";
$jsFiles[] = "plugins/CoreHome/javascripts/zen-mode.js";
+ $jsFiles[] = "plugins/CoreHome/javascripts/noreferrer.js";
$jsFiles[] = "plugins/CoreHome/angularjs/piwikApp.config.js";
diff --git a/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html b/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html
index 277769d3de..236f6e6d37 100644
--- a/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html
+++ b/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html
@@ -7,7 +7,7 @@
<span ng-show="view.showIcons || view.showInlineHelp" class="iconsBar">
<a ng-if="helpUrl && !inlineHelp"
- rel="noreferrer"
+ rel="noreferrer noopener"
target="_blank"
href="{{ helpUrl }}"
title="{{ 'CoreHome_ExternalHelp'|translate }}"
@@ -26,7 +26,7 @@
<div class="inlineHelp" ng-show="view.showInlineHelp">
<div ng-bind-html="inlineHelp"></div>
<a ng-if="helpUrl"
- rel="noreferrer"
+ rel="noreferrer noopener"
target="_blank"
href="{{ helpUrl }}"
class="readMore">{{ 'General_MoreDetails'|translate }}</a>
diff --git a/plugins/CoreHome/javascripts/dataTable.js b/plugins/CoreHome/javascripts/dataTable.js
index 103b9afb89..1fbae58f68 100644
--- a/plugins/CoreHome/javascripts/dataTable.js
+++ b/plugins/CoreHome/javascripts/dataTable.js
@@ -1722,7 +1722,7 @@ $.extend(DataTable.prototype, UIControl.prototype, {
},
handleSummaryRow: function (domElem) {
- var details = _pk_translate('General_LearnMore', [' (<a href="https://matomo.org/faq/how-to/faq_54/" rel="noreferrer" target="_blank">', '</a>)']);
+ var details = _pk_translate('General_LearnMore', [' (<a href="https://matomo.org/faq/how-to/faq_54/" rel="noreferrer noopener" target="_blank">', '</a>)']);
domElem.find('tr.summaryRow').each(function () {
var labelSpan = $(this).find('.label .value');
diff --git a/plugins/CoreHome/javascripts/noreferrer.js b/plugins/CoreHome/javascripts/noreferrer.js
new file mode 100644
index 0000000000..cc3b0d35a8
--- /dev/null
+++ b/plugins/CoreHome/javascripts/noreferrer.js
@@ -0,0 +1,18 @@
+/*!
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+$(function () {
+ if ($.browser.msie && parseInt($.browser.version) === 10) {
+ $(document).on('click', 'a[rel~="noreferrer"]', function (event) {
+ event.preventDefault();
+ var a = event.currentTarget;
+ var w = window.open(a.href, a.target || '_self');
+ if (/\bnoopener\b/.test(a.rel)) {
+ w.opener = null;
+ }
+ });
+ }
+});
diff --git a/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig b/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig
index 8ce96f42e4..2aeeaa26c7 100644
--- a/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig
+++ b/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig
@@ -16,7 +16,7 @@
<table style="width:100%; background-color:#37474f; padding:10px 0; margin: 0 0 25px 0; height:64px;">
<tr>
<td>
- <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer" target="_blank" href="{{ piwikUrl }}" style="lineheight:17px">
+ <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer noopener" target="_blank" href="{{ piwikUrl }}" style="lineheight:17px">
{% if isCustomLogo and logoHeader %}
<img src="{{ logoHeader }}" height="20px" width="auto" />
{% else %}
diff --git a/plugins/CoreHome/templates/_dataTableCell.twig b/plugins/CoreHome/templates/_dataTableCell.twig
index 3b771e596c..d82a7bb851 100644
--- a/plugins/CoreHome/templates/_dataTableCell.twig
+++ b/plugins/CoreHome/templates/_dataTableCell.twig
@@ -2,7 +2,7 @@
{% set tooltipIndex = column ~ '_tooltip' %}
{% if row.getMetadata(tooltipIndex) %}<span class="cell-tooltip" data-tooltip="{{ row.getMetadata(tooltipIndex) }}">{% endif %}
{% if not row.getIdSubDataTable() and column=='label' and row.getMetadata('url') %}
- <a rel="noreferrer"
+ <a rel="noreferrer noopener"
target="_blank"
href='{% if row.getMetadata('url')|slice(0,4) not in ['http','ftp:'] %}http://{% endif %}{{ row.getMetadata('url')|rawSafeDecoded }}'>
{% if not row.getMetadata('logo') %}
diff --git a/plugins/CoreHome/templates/_donate.twig b/plugins/CoreHome/templates/_donate.twig
index 93d6cfb9b8..43e99dc324 100644
--- a/plugins/CoreHome/templates/_donate.twig
+++ b/plugins/CoreHome/templates/_donate.twig
@@ -37,7 +37,7 @@
title="{{ 'CoreHome_SubscribeAndBecomePiwikSupporter'|translate }}"/>
<a class="donate-spacer">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a>
<a href="index.php?module=CoreHome&action=redirectToPaypal&idSite=1&cmd=_s-xclick&hosted_button_id=RPL23NJURMTFA&bb2_screener_=1357583494+83.233.186.82"
- rel="noreferrer" target="_blank" class="donate-one-time">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a>
+ rel="noreferrer noopener" target="_blank" class="donate-one-time">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a>
</div>
<!-- to cache images -->
diff --git a/plugins/CoreHome/templates/_headerMessage.twig b/plugins/CoreHome/templates/_headerMessage.twig
index ba837f9f9a..10ff0f1bc5 100644
--- a/plugins/CoreHome/templates/_headerMessage.twig
+++ b/plugins/CoreHome/templates/_headerMessage.twig
@@ -30,14 +30,14 @@
<div class="dropdown positionInViewport">
{% if latest_version_available and isSuperUser %}
{% if isMultiServerEnvironment %}
- {{ 'CoreHome_OneClickUpdateNotPossibleAsMultiServerEnvironment'|translate("<a rel='noreferrer' href='https://builds.matomo.org/piwik-" ~ latest_version_available ~ ".zip'>","</a>")|raw }}
+ {{ 'CoreHome_OneClickUpdateNotPossibleAsMultiServerEnvironment'|translate("<a rel='noreferrer noopener' href='https://builds.matomo.org/piwik-" ~ latest_version_available ~ ".zip'>","</a>")|raw }}
{% else %}
- {{ 'General_PiwikXIsAvailablePleaseUpdateNow'|translate(latest_version_available,"<br /><a href='index.php?module=CoreUpdater&amp;action=newVersionAvailable'>","</a>","<a href='?module=Proxy&amp;action=redirect&amp;url=https://matomo.org/changelog/' target='_blank'>","</a>")|raw }}
+ {{ 'General_PiwikXIsAvailablePleaseUpdateNow'|translate(latest_version_available,"<br /><a href='index.php?module=CoreUpdater&amp;action=newVersionAvailable'>","</a>","<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/changelog/'>","</a>")|raw }}
{% endif %}
<br />
{% elseif latest_version_available and not isPiwikDemo and hasSomeViewAccess and not isUserIsAnonymous %}
{% set updateSubject = 'General_NewUpdatePiwikX'|translate(latest_version_available)|e('url') %}
- {{ 'General_PiwikXIsAvailablePleaseNotifyPiwikAdmin'|translate("<a href='?module=Proxy&action=redirect&url=https://matomo.org/' target='_blank'>Piwik</a> <a href='?module=Proxy&action=redirect&url=https://matomo.org/changelog/' target='_blank'>" ~ latest_version_available ~ "</a>", "<a href='mailto:" ~ superUserEmails ~ "?subject=" ~ updateSubject ~ "'>", "</a>")|raw }}
+ {{ 'General_PiwikXIsAvailablePleaseNotifyPiwikAdmin'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/'>Piwik</a> <a target='_blank' rel='noreferrer noopener' href='https://matomo.org/changelog/'>" ~ latest_version_available ~ "</a>", "<a href='mailto:" ~ superUserEmails ~ "?subject=" ~ updateSubject ~ "'>", "</a>")|raw }}
<br />
{% endif %}
diff --git a/plugins/CoreHome/templates/_topBar.twig b/plugins/CoreHome/templates/_topBar.twig
index f722e74ffc..c53ce95577 100644
--- a/plugins/CoreHome/templates/_topBar.twig
+++ b/plugins/CoreHome/templates/_topBar.twig
@@ -13,12 +13,17 @@
{{ menu._html|raw }}
{% else %}
<a {% if menu._tooltip is defined %}title="{{ menu._tooltip }}"{% endif %}
- id="topmenu-{{ menu._url.module|lower }}" target="_self"
- href="index.php{{ menu._url|urlRewriteWithParameters }}" tabindex="3">{{ _self.menuItemLabel(label, icon) }}</a>
+ {% if menu._url.module is defined %}
+ id="topmenu-{{ menu._url.module|lower }}"
+ href="index.php{{ menu._url|urlRewriteWithParameters }}"
+ {% else %}
+ href="{{ menu._url }}" rel="noreferrer noopener"
+ {% endif %}
+ target="_self" tabindex="3">{{ _self.menuItemLabel(label, icon) }}</a>
{% endif %}
{% endmacro %}
- {% macro isActiveItem(menu, currentModule, currentAction) %}{% if (menu and menu._url and menu._url.module == currentModule and (menu._url.action is empty or menu._url.action == currentAction)) %}active{% endif %}{% endmacro %}
+ {% macro isActiveItem(menu, currentModule, currentAction) %}{% if (menu and menu._url and menu._url.module is defined and menu._url.module == currentModule and (menu._url.action is empty or menu._url.action == currentAction)) %}active{% endif %}{% endmacro %}
{% if topMenuModule is not defined %}
{% set topMenuModule = currentModule %}
diff --git a/plugins/CoreHome/templates/_warningInvalidHost.twig b/plugins/CoreHome/templates/_warningInvalidHost.twig
index 86d1247967..a29ef55271 100644
--- a/plugins/CoreHome/templates/_warningInvalidHost.twig
+++ b/plugins/CoreHome/templates/_warningInvalidHost.twig
@@ -1,7 +1,7 @@
{# untrusted host warning #}
{% if (isValidHost is defined and invalidHostMessage is defined and isValidHost == false) %}
{% set invalidHostText %}
- <a class="btn btn-link" style="float:right;" href="https://matomo.org/faq/troubleshooting/#faq_171" rel="noreferrer" target="_blank">
+ <a class="btn btn-link" style="float:right;" href="https://matomo.org/faq/troubleshooting/#faq_171" rel="noreferrer noopener" target="_blank">
<span class="icon-help"></span>
{{ 'General_Help'|translate }}
</a>
diff --git a/plugins/CoreHome/templates/getPromoVideo.twig b/plugins/CoreHome/templates/getPromoVideo.twig
index 8da27c773a..e068bb25e1 100644
--- a/plugins/CoreHome/templates/getPromoVideo.twig
+++ b/plugins/CoreHome/templates/getPromoVideo.twig
@@ -8,7 +8,7 @@
</div>
</div>
- <a id="piwik-promo-videos-link" href="https://matomo.org/blog/2012/12/piwik-how-to-videos/" rel="noreferrer" target="_blank">
+ <a id="piwik-promo-videos-link" href="https://matomo.org/blog/2012/12/piwik-how-to-videos/" rel="noreferrer noopener" target="_blank">
{{ 'CoreHome_ViewAllPiwikVideoTutorials'|translate }}
</a>
@@ -16,12 +16,12 @@
<span>{{ 'CoreHome_ShareThis'|translate }}:</span>
{# facebook #}
- <a href="https://www.facebook.com/sharer.php?u={{ promoVideoUrl|url_encode }}" rel="noreferrer" target="_blank">
+ <a href="https://www.facebook.com/sharer.php?u={{ promoVideoUrl|url_encode }}" rel="noreferrer noopener" target="_blank">
<img src="plugins/Morpheus/icons/dist/socials/facebook.com.png" width="16px" height="16px" />
</a>
{# twitter #}
- <a href="https://twitter.com/share?text={{ shareText|url_encode }}&url={{ promoVideoUrl|url_encode }}" rel="noreferrer" target="_blank">
+ <a href="https://twitter.com/share?text={{ shareText|url_encode }}&url={{ promoVideoUrl|url_encode }}" rel="noreferrer noopener" target="_blank">
<img src="plugins/Morpheus/icons/dist/socials/twitter.com.png" width="16px" height="16px" />
</a>
diff --git a/plugins/CorePluginsAdmin/templates/macros.twig b/plugins/CorePluginsAdmin/templates/macros.twig
index 11134dd42d..56353fe3b1 100644
--- a/plugins/CorePluginsAdmin/templates/macros.twig
+++ b/plugins/CorePluginsAdmin/templates/macros.twig
@@ -23,7 +23,7 @@
<td class="vers">
{% if plugin.changelog is defined and plugin.changelog and plugin.changelog.url is defined and plugin.changelog.url %}
<a href="{{ plugin.changelog.url|e('html_attr') }}" title="{{ 'CorePluginsAdmin_Changelog'|translate }}"
- target="_blank" rel="noreferrer"
+ target="_blank" rel="noreferrer noopener"
>{{ plugin.currentVersion }} => {{ plugin.latestVersion }}</a>
{% else %}
{{ plugin.currentVersion }} => {{ plugin.latestVersion }}
@@ -181,7 +181,7 @@
</div>
{% if plugin.info.license is defined %}
<div class="plugin-license">
- {% if plugin.info.license_file is defined %}<a title="{{ 'CorePluginsAdmin_LicenseHomepage'|translate }}" rel="noreferrer" target="_blank" href="index.php?module=CorePluginsAdmin&action=showLicense&pluginName={{ name }}">{% endif %}{{ plugin.info.license }}{% if plugin.info.license_file is defined %}</a>{% endif %}
+ {% if plugin.info.license_file is defined %}<a title="{{ 'CorePluginsAdmin_LicenseHomepage'|translate }}" rel="noreferrer noopener" target="_blank" href="index.php?module=CorePluginsAdmin&action=showLicense&pluginName={{ name }}">{% endif %}{{ plugin.info.license }}{% if plugin.info.license_file is defined %}</a>{% endif %}
</div>
{% endif %}
{% if plugin.info.authors is defined %}
@@ -191,7 +191,7 @@
{% spaceless %}
{% for author in plugin.info.authors if author.name %}
{% if author.homepage is defined %}
- <a title="{{ 'CorePluginsAdmin_AuthorHomepage'|translate }}" href="{{ author.homepage }}" rel="noreferrer" target="_blank">{{ author.name }}</a>
+ <a title="{{ 'CorePluginsAdmin_AuthorHomepage'|translate }}" href="{{ author.homepage }}" rel="noreferrer noopener" target="_blank">{{ author.name }}</a>
{% else %}
{{ author.name }}
{% endif %}
diff --git a/plugins/CorePluginsAdmin/templates/safemode.twig b/plugins/CorePluginsAdmin/templates/safemode.twig
index 75519043cb..89edb5575c 100644
--- a/plugins/CorePluginsAdmin/templates/safemode.twig
+++ b/plugins/CorePluginsAdmin/templates/safemode.twig
@@ -67,7 +67,7 @@
If this error continues to happen, you may be able to fix this issue by disabling one or more of
the Third-Party plugins. If you don't know which plugin is causing this error, we recommend to first disable any plugin not created by "Matomo" and not created by "InnoCraft".
You can enable plugin again afterwards in the
- <a rel="noreferrer" target="_blank" href="index.php?module=CorePluginsAdmin&action=plugins">Plugins</a>
+ <a rel="noreferrer noopener" target="_blank" href="index.php?module=CorePluginsAdmin&action=plugins">Plugins</a>
or <a target="_blank" href="index.php?module=CorePluginsAdmin&action=themes">Themes</a> page under
settings at any time.
@@ -144,4 +144,4 @@
</div>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/plugins/CoreUpdater/SystemSettings.php b/plugins/CoreUpdater/SystemSettings.php
index 604c0c6e9e..630165a330 100644
--- a/plugins/CoreUpdater/SystemSettings.php
+++ b/plugins/CoreUpdater/SystemSettings.php
@@ -84,11 +84,11 @@ class SystemSettings extends \Piwik\Settings\Plugin\SystemSettings
};
$field->inlineHelp = Piwik::translate('CoreAdminHome_DevelopmentProcess',
- array("<a href='?module=Proxy&action=redirect&url=https://matomo.org/participate/development-process/' target='_blank'>",
+ array("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/participate/development-process/'>",
"</a>"))
. Piwik::translate('<br/>')
. Piwik::translate('CoreAdminHome_StableReleases',
- array("<a href='?module=Proxy&action=redirect&url=https%3A%2F%2Fdeveloper.matomo.org%2Fguides%2Fcore-team-workflow%23influencing-piwik-development' target='_blank'>",
+ array("<a target='_blank' rel='noreferrer noopener' href='https://developer.matomo.org/guides/core-team-workflow#influencing-piwik-development'>",
"</a>"))
. Piwik::translate('<br />')
. Piwik::translate('CoreAdminHome_LtsReleases');
diff --git a/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig b/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig
index 0d9f608822..23d1d67eec 100644
--- a/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig
+++ b/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig
@@ -1,6 +1,6 @@
{% extends '@CoreUpdater/layout.twig' %}
{% set helpMessage %}
- {{ 'CoreUpdater_HelpMessageContent'|translate('<a target="_blank" href="?module=Proxy&action=redirect&url=https://matomo.org/faq/">','</a>','</li><li>')|raw }}
+ {{ 'CoreUpdater_HelpMessageContent'|translate('<a target="_blank" rel="noreferrer noopener" href="https://matomo.org/faq/">','</a>','</li><li>')|raw }}
{% endset %}
{% block content %}
@@ -24,7 +24,7 @@
<ul>
<li>{{ 'CoreUpdater_ErrorDIYHelp_1'|translate }}</li>
<li>{{ 'CoreUpdater_ErrorDIYHelp_2'|translate }}</li>
- <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://matomo.org/faq/how-to-update/#faq_179' rel='noreferrer' target='_blank'>(see FAQ)</a></li>
+ <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://matomo.org/faq/how-to-update/#faq_179' rel='noreferrer noopener' target='_blank'>(see FAQ)</a></li>
<li>{{ 'CoreUpdater_ErrorDIYHelp_4'|translate }}</li>
<li>{{ 'CoreUpdater_ErrorDIYHelp_5'|translate }}</li>
</ul>
diff --git a/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig b/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig
index 7563d6217f..041dacccb7 100644
--- a/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig
+++ b/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig
@@ -11,7 +11,7 @@
<div class="content" style="text-align:left;">
{% set helpMessage %}
- {{ 'CoreUpdater_HelpMessageContent'|translate('<a target="_blank" href="?module=Proxy&action=redirect&url=https://matomo.org/faq/">','</a>','</li><li>')|raw }}
+ {{ 'CoreUpdater_HelpMessageContent'|translate('<a target="_blank" rel="noreferrer noopener" href="https://matomo.org/faq/">','</a>','</li><li>')|raw }}
{% endset %}
{% if coreError %}
@@ -51,7 +51,7 @@
{% endif %}
<p>{{ 'CoreUpdater_TheUpgradeProcessMayFailExecuteCommand'|translate('') }}</p>
<pre>{{ commandUpgradePiwik }}</pre>
- <p>{{ 'CoreUpdater_HighTrafficPiwikServerEnableMaintenance'|translate('<a target="_blank" href="?module=Proxy&action=redirect&url=http%3A%2F%2Fmatomo.org%2Ffaq%2Fhow-to%2F%23faq_111">', '</a>')|raw }}</p>
+ <p>{{ 'CoreUpdater_HighTrafficPiwikServerEnableMaintenance'|translate('<a target="_blank" rel="noreferrer noopener" href="https://matomo.org/faq/how-to/#faq_111">', '</a>')|raw }}</p>
{% if queries is not empty %}
<p><a href="#" id="showSql">› {{ 'CoreUpdater_ClickHereToViewSqlQueries'|translate }}</a></p>
@@ -61,7 +61,7 @@
{% endif %}
<h2>{{ 'CoreUpdater_NeedHelpUpgrading'|translate }}</h2>
- <p>{{ 'CoreUpdater_NeedHelpUpgradingText'|translate("<a rel='noreferrer' target='_blank' href='https://matomo.org/support/upgrading-piwik/'>", "</a>")|raw }}</p>
+ <p>{{ 'CoreUpdater_NeedHelpUpgradingText'|translate("<a rel='noreferrer noopener' target='_blank' href='https://matomo.org/support/upgrading-piwik/'>", "</a>")|raw }}</p>
<h2>{{ 'CoreUpdater_ReadyToGo'|translate }}</h2>
<p>{{ 'CoreUpdater_TheUpgradeProcessMayTakeAWhilePleaseBePatient'|translate }}</p>
diff --git a/plugins/CoreUpdater/templates/updateHttpError.twig b/plugins/CoreUpdater/templates/updateHttpError.twig
index 7666bb3d52..f302b64cd8 100644
--- a/plugins/CoreUpdater/templates/updateHttpError.twig
+++ b/plugins/CoreUpdater/templates/updateHttpError.twig
@@ -18,7 +18,7 @@
</div>
<p>
- {{ 'CoreUpdater_UpdateHasBeenCancelledExplanation'|translate("<br /><br />","<a target='_blank' href='?module=Proxy&action=redirect&url=https://matomo.org/docs/update/'>","</a>")|raw }}
+ {{ 'CoreUpdater_UpdateHasBeenCancelledExplanation'|translate("<br /><br />","<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/docs/update/'>","</a>")|raw }}
</p>
</div>
diff --git a/plugins/CoreUpdater/templates/updateSuccess.twig b/plugins/CoreUpdater/templates/updateSuccess.twig
index 6b6fa35a10..2ea2647f81 100644
--- a/plugins/CoreUpdater/templates/updateSuccess.twig
+++ b/plugins/CoreUpdater/templates/updateSuccess.twig
@@ -9,7 +9,7 @@
<div class="content">
<h2>Piwik is now Matomo</h2>
<p>
- <a target='_blank' rel='noreferrer' href='https://matomo.org/blog/2018/01/piwik-is-now-matomo/'>
+ <a target='_blank' rel='noreferrer noopener' href='https://matomo.org/blog/2018/01/piwik-is-now-matomo/'>
<img src='https://matomo.org/wp-content/uploads/2018/01/banner_piwik_is_now_matomo.jpg' width='70%'>
</a>
</p>
diff --git a/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig b/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig
index a86120181e..f9f51397e2 100644
--- a/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig
+++ b/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig
@@ -4,7 +4,7 @@
{# we strike tags with 0 hits #}
{% if value.value == 0 %}valueIsZero{% endif %}">
{% if labelMetadata[value.word].url is not sameas(false) %}
- <a href="{{ labelMetadata[value.word].url }}" rel="noreferrer" target="_blank">
+ <a href="{{ labelMetadata[value.word].url }}" rel="noreferrer noopener" target="_blank">
{% endif %}
{% if labelMetadata[value.word].logo is not sameas(false) %}
<img src="{{ labelMetadata[value.word].logo }}" width="{{ value.logoWidth }}" />
@@ -14,4 +14,4 @@
{% if labelMetadata[value.word].url is not sameas(false) %}</a>{% endif %}
</span>
{% endfor %}
-</div> \ No newline at end of file
+</div>
diff --git a/plugins/CustomVariables/Reports/GetCustomVariables.php b/plugins/CustomVariables/Reports/GetCustomVariables.php
index e2ece1a5d4..62e3dbd5dd 100644
--- a/plugins/CustomVariables/Reports/GetCustomVariables.php
+++ b/plugins/CustomVariables/Reports/GetCustomVariables.php
@@ -21,7 +21,7 @@ class GetCustomVariables extends Base
$this->dimension = new CustomVariableName();
$this->name = Piwik::translate('CustomVariables_CustomVariables');
$this->documentation = Piwik::translate('CustomVariables_CustomVariablesReportDocumentation',
- array('<br />', '<a href="https://matomo.org/docs/custom-variables/" rel="noreferrer" target="_blank">', '</a>'));
+ array('<br />', '<a href="https://matomo.org/docs/custom-variables/" rel="noreferrer noopener" target="_blank">', '</a>'));
$this->actionToLoadSubTables = 'getCustomVariablesValuesFromNameId';
$this->order = 10;
diff --git a/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php b/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php
index 397aa911a8..2e1171af37 100644
--- a/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php
+++ b/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php
@@ -20,7 +20,7 @@ class GetCustomVariablesValuesFromNameId extends Base
$this->dimension = new CustomVariableValue();
$this->name = Piwik::translate('CustomVariables_CustomVariables');
$this->documentation = Piwik::translate('CustomVariables_CustomVariablesReportDocumentation',
- array('<br />', '<a href="https://matomo.org/docs/custom-variables/" rel="noreferrer" target="_blank">', '</a>'));
+ array('<br />', '<a href="https://matomo.org/docs/custom-variables/" rel="noreferrer noopener" target="_blank">', '</a>'));
$this->isSubtableReport = true;
$this->order = 15;
}
diff --git a/plugins/DBStats/templates/index.twig b/plugins/DBStats/templates/index.twig
index fde84f2bfa..6bfd4a41ca 100644
--- a/plugins/DBStats/templates/index.twig
+++ b/plugins/DBStats/templates/index.twig
@@ -9,7 +9,7 @@
</h2>
<p>
{{ 'DBStats_MainDescription'|translate(totalSpaceUsed) }}<br/>
- {{ 'DBStats_LearnMore'|translate("<a href='?module=Proxy&action=redirect&url=https://matomo.org/docs/setup-auto-archiving/' target='_blank'>Matomo Auto Archiving</a>")|raw }}
+ {{ 'DBStats_LearnMore'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/docs/setup-auto-archiving/'>Matomo Auto Archiving</a>")|raw }}
</p>
</div>
diff --git a/plugins/Diagnostics/Diagnostic/DbOverSSLCheck.php b/plugins/Diagnostics/Diagnostic/DbOverSSLCheck.php
index 07b8942da5..2a63437d76 100644
--- a/plugins/Diagnostics/Diagnostic/DbOverSSLCheck.php
+++ b/plugins/Diagnostics/Diagnostic/DbOverSSLCheck.php
@@ -55,7 +55,7 @@ class DbOverSSLCheck implements Diagnostic
}
}
- $comment .= '<br />' . '<a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/"> FAQ on piwik.org</a>';
+ $comment .= '<br />' . '<a target="_blank" rel="noreferrer noopener" href="https://matomo.org/faq/"> FAQ on matomo.org</a>';
return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_WARNING, $comment));
}
diff --git a/plugins/Diagnostics/Diagnostic/LoadDataInfileCheck.php b/plugins/Diagnostics/Diagnostic/LoadDataInfileCheck.php
index 1064cf9d3d..b8725b35a2 100644
--- a/plugins/Diagnostics/Diagnostic/LoadDataInfileCheck.php
+++ b/plugins/Diagnostics/Diagnostic/LoadDataInfileCheck.php
@@ -78,7 +78,7 @@ class LoadDataInfileCheck implements Diagnostic
'<br/><strong>%s:</strong> %s<br/>%s',
$this->translator->translate('General_Error'),
$errorMessage,
- 'Troubleshooting: <a target="_blank" href="?module=Proxy&action=redirect&url=https://matomo.org/faq/troubleshooting/%23faq_194">FAQ on matomo.org</a>'
+ 'Troubleshooting: <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/faq/troubleshooting/#faq_194">FAQ on matomo.org</a>'
);
}
diff --git a/plugins/Diagnostics/Diagnostic/TimezoneCheck.php b/plugins/Diagnostics/Diagnostic/TimezoneCheck.php
index 60ca8b44d8..5fcf6204bc 100644
--- a/plugins/Diagnostics/Diagnostic/TimezoneCheck.php
+++ b/plugins/Diagnostics/Diagnostic/TimezoneCheck.php
@@ -37,7 +37,7 @@ class TimezoneCheck implements Diagnostic
$comment = sprintf(
'%s<br />%s.',
$this->translator->translate('SitesManager_AdvancedTimezoneSupportNotFound'),
- '<a href="http://php.net/manual/en/datetime.installation.php" rel="noreferrer" target="_blank">Timezone PHP documentation</a>'
+ '<a href="http://php.net/manual/en/datetime.installation.php" rel="noreferrer noopener" target="_blank">Timezone PHP documentation</a>'
);
return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_WARNING, $comment));
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_row_evolution_graph__ScheduledReports.generateReport_week.original.html b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_row_evolution_graph__ScheduledReports.generateReport_week.original.html
index 1cde2444b7..85db9e2df1 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_row_evolution_graph__ScheduledReports.generateReport_week.original.html
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_row_evolution_graph__ScheduledReports.generateReport_week.original.html
@@ -14,7 +14,7 @@
<table style="width:100%; background-color:#37474f; padding:10px 0; margin: 0 0 25px 0; height:64px;">
<tr>
<td>
- <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
+ <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer noopener" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
<img src="http://example.com/piwik/tests/PHPUnit/proxy//plugins/Morpheus/images/logo-email.png" height="20px" width="auto" alt="Matomo, free/libre analytics platform" />
</a>
</td>
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_week.original.html b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_week.original.html
index 6a2f694305..8ed5ba9957 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_week.original.html
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_week.original.html
@@ -14,7 +14,7 @@
<table style="width:100%; background-color:#37474f; padding:10px 0; margin: 0 0 25px 0; height:64px;">
<tr>
<td>
- <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
+ <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer noopener" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
<img src="http://example.com/piwik/tests/PHPUnit/proxy//plugins/Morpheus/images/logo-email.png" height="20px" width="auto" alt="Matomo, free/libre analytics platform" />
</a>
</td>
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html
index 7e359a3500..626283dc82 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html
@@ -14,7 +14,7 @@
<table style="width:100%; background-color:#37474f; padding:10px 0; margin: 0 0 25px 0; height:64px;">
<tr>
<td>
- <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
+ <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer noopener" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
<img src="http://example.com/piwik/tests/PHPUnit/proxy//plugins/Morpheus/images/logo-email.png" height="20px" width="auto" alt="Matomo, free/libre analytics platform" />
</a>
</td>
diff --git a/plugins/Events/templates/_actionEvent.twig b/plugins/Events/templates/_actionEvent.twig
index 6fa44108b1..d360a0410c 100644
--- a/plugins/Events/templates/_actionEvent.twig
+++ b/plugins/Events/templates/_actionEvent.twig
@@ -15,7 +15,7 @@
action.url|trim|lower starts with 'data:' %}
{{ action.url }}
{% else %}
- <a href="{{ action.url }}" rel="noreferrer" target="_blank" class="truncated-text-line">
+ <a href="{{ action.url }}" rel="noreferrer noopener" target="_blank" class="truncated-text-line">
{{ action.url|replace({'http://': '', 'https://': ''}) }}
</a>
{% endif %}
diff --git a/plugins/Feedback/templates/index.twig b/plugins/Feedback/templates/index.twig
index fb88961dce..b8811105cc 100644
--- a/plugins/Feedback/templates/index.twig
+++ b/plugins/Feedback/templates/index.twig
@@ -12,22 +12,22 @@
content-title="{{ headline|e('html_attr') }}"
feature="{{ 'General_Help'|translate|e('html_attr') }}">
<p>{{ 'General_MatomoIsACollaborativeProjectYouCanContributeAndDonateNextRelease'|translate(
- "<a href='?module=Proxy&action=redirect&url=https://matomo.org' target='_blank'>",
+ "<a target='_blank' rel='noreferrer noopener' href='https://matomo.org'>",
"</a>",
- "<a target='_blank' href='?module=Proxy&action=redirect&url=https://matomo.org/get-involved/'>",
+ "<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/get-involved/'>",
"</a>",
"<a href='#donate'>",
"</a>",
- "<a href='?module=Proxy&action=redirect&url=https://matomo.org/team/' target='_blank'>",
+ "<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/team/'>",
"</a>"
)|raw }}
</p>
</div>
<div piwik-content-block content-title="{{ 'Feedback_CommunityHelp'|translate|e('html_attr') }}">
- <p> &bull; {{ 'Feedback_ViewUserGuides'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=https://matomo.org/docs/'>","</a>")|raw }}.</p>
- <p> &bull; {{ 'Feedback_ViewAnswersToFAQ'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=https://matomo.org/faq/'>","</a>")|raw }}.</p>
- <p> &bull; {{ 'Feedback_VisitTheForums'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=https://forum.matomo.org/'>","</a>")|raw }}.</p>
+ <p> &bull; {{ 'Feedback_ViewUserGuides'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/docs/'>","</a>")|raw }}.</p>
+ <p> &bull; {{ 'Feedback_ViewAnswersToFAQ'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/faq/'>","</a>")|raw }}.</p>
+ <p> &bull; {{ 'Feedback_VisitTheForums'|translate("<a target='_blank' rel='noreferrer noopener' href='https://forum.matomo.org/'>","</a>")|raw }}.</p>
<p> &bull; {{ 'API_LearnAboutCommonlyUsedTerms2'|translate }} <a href="{{ linkTo({'module':"API",'action':"glossary"}) }}">({{ 'API_Glossary'|translate }})</a></p>
</div>
@@ -39,7 +39,7 @@
<p> &bull; {{ 'Feedback_ProfessionalServicesOptimizationMaintenance'|translate }}</p>
<p> &bull; {{ 'Feedback_ProfessionalServicesPhoneEmailSupport'|translate }}</p>
<p> &bull; {{ 'Feedback_ProfessionalServicesTraining'|translate }}</p>
- <p> &bull; <a rel='noreferrer' target='_blank' href='https://matomo.org/recommends/premium-plugins'>{{ 'Feedback_ProfessionalServicesPremiumFeatures'|translate }}</a></p>
+ <p> &bull; <a rel='noreferrer noopener' target='_blank' href='https://matomo.org/recommends/premium-plugins'>{{ 'Feedback_ProfessionalServicesPremiumFeatures'|translate }}</a></p>
<p> &bull; {{ 'Feedback_ProfessionalServicesCustomDevelopment'|translate }}</p>
<p> &bull; {{ 'Feedback_ProfessionalServicesAnalystConsulting'|translate }}</p>
@@ -54,27 +54,27 @@
<div piwik-content-block content-title="Premium products">
<p>Grow your business, understand your audience better and increase your sales and conversions with a premium plugin:
- <p> &bull; <a rel='noreferrer' target='_blank' href='https://matomo.org/recommends/users-flow/'>Users Flow</a>: a visual representation of the most popular paths your users take through your website or app.</p>
- <p> &bull; <a rel='noreferrer' target='_blank' href='https://matomo.org/recommends/ab-testing-learn-more/'>A/B Testing</a>: compare different versions of your websites or apps and detect the winning variation.</p>
- <p> &bull; <a rel='noreferrer' target='_blank' href='https://matomo.org/recommends/conversion-funnels'>Funnels</a>: identify and understand where your visitors drop off in your conversion funnels.</p>
- <p> &bull; <a rel='noreferrer' target='_blank' href='https://matomo.org/recommends/form-analytics/'>Form Analytics</a>: increase conversions and get better leads from your website forms.</p>
- <p> &bull; <a rel='noreferrer' target='_blank' href='https://matomo.org/recommends/media-analytics-website/'>Video and Audio Analytics</a>: powerful insights into how your audience watches your videos and listens to your audio.</p>
- <p> &bull; <a rel='noreferrer' target='_blank' href='https://matomo.org/recommends/roll-up-reporting/'>Roll-Up Reporting</a>: aggregate data from multiple websites, apps and shops into a Roll-Up site to gain new insights.</p>
- <p> &bull; <a rel='noreferrer' target='_blank' href='https://matomo.org/recommends/search-keywords-performance/'>Search Keywords Performance</a>: all keywords searched by your users on Google+Bing+Yahoo into your Matomo reports.</p>
- <p> &bull; <a rel='noreferrer' target='_blank' href='https://matomo.org/recommends/activity-log/'>Audit log</a>: better security and problem diagnostic with a detailed audit log of Matomo user activities.</p>
- <p> &bull; <a rel='noreferrer' target='_blank' href='https://matomo.org/recommends/white-label/'>White Label</a>: give your clients access to their analytics reports where all Matomo-branded widgets are removed.</p>
- <p> &bull; <strong><a rel='noreferrer' target='_blank' href='https://matomo.org/recommends/premium-plugins'>All premium plugins.</a></strong></p>
+ <p> &bull; <a rel='noreferrer noopener' target='_blank' href='https://matomo.org/recommends/users-flow/'>Users Flow</a>: a visual representation of the most popular paths your users take through your website or app.</p>
+ <p> &bull; <a rel='noreferrer noopener' target='_blank' href='https://matomo.org/recommends/ab-testing-learn-more/'>A/B Testing</a>: compare different versions of your websites or apps and detect the winning variation.</p>
+ <p> &bull; <a rel='noreferrer noopener' target='_blank' href='https://matomo.org/recommends/conversion-funnels'>Funnels</a>: identify and understand where your visitors drop off in your conversion funnels.</p>
+ <p> &bull; <a rel='noreferrer noopener' target='_blank' href='https://matomo.org/recommends/form-analytics/'>Form Analytics</a>: increase conversions and get better leads from your website forms.</p>
+ <p> &bull; <a rel='noreferrer noopener' target='_blank' href='https://matomo.org/recommends/media-analytics-website/'>Video and Audio Analytics</a>: powerful insights into how your audience watches your videos and listens to your audio.</p>
+ <p> &bull; <a rel='noreferrer noopener' target='_blank' href='https://matomo.org/recommends/roll-up-reporting/'>Roll-Up Reporting</a>: aggregate data from multiple websites, apps and shops into a Roll-Up site to gain new insights.</p>
+ <p> &bull; <a rel='noreferrer noopener' target='_blank' href='https://matomo.org/recommends/search-keywords-performance/'>Search Keywords Performance</a>: all keywords searched by your users on Google+Bing+Yahoo into your Matomo reports.</p>
+ <p> &bull; <a rel='noreferrer noopener' target='_blank' href='https://matomo.org/recommends/activity-log/'>Audit log</a>: better security and problem diagnostic with a detailed audit log of Matomo user activities.</p>
+ <p> &bull; <a rel='noreferrer noopener' target='_blank' href='https://matomo.org/recommends/white-label/'>White Label</a>: give your clients access to their analytics reports where all Matomo-branded widgets are removed.</p>
+ <p> &bull; <strong><a rel='noreferrer noopener' target='_blank' href='https://matomo.org/recommends/premium-plugins'>All premium plugins.</a></strong></p>
</div>
<div piwik-content-block content-title="{{ 'Feedback_DoYouHaveBugReportOrFeatureRequest'|translate|e('html_attr') }}">
<p>{{ 'Feedback_HowToCreateTicket'|translate(
- "<a target='_blank' href='?module=Proxy&action=redirect&url=https://developer.matomo.org/guides/core-team-workflow%23submitting-a-bug-report'>",
+ "<a target='_blank' rel='noreferrer noopener' href='https://developer.matomo.org/guides/core-team-workflow#submitting-a-bug-report'>",
"</a>",
- "<a target='_blank' href='?module=Proxy&action=redirect&url=https://developer.matomo.org/guides/core-team-workflow%23submitting-a-feature-request'>",
+ "<a target='_blank' rel='noreferrer noopener' href='https://developer.matomo.org/guides/core-team-workflow#submitting-a-feature-request'>",
"</a>",
- "<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/matomo-org/piwik/issues'>",
+ "<a target='_blank' rel='noreferrer noopener' href='https://github.com/matomo-org/piwik/issues'>",
"</a>",
- "<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/matomo-org/piwik/issues/new'>",
+ "<a target='_blank' rel='noreferrer noopener' href='https://github.com/matomo-org/piwik/issues/new'>",
"</a>"
)|raw }}</p>
</div>
@@ -82,35 +82,35 @@
<div class="footer">
<ul class="social">
<li>
- <a target="_blank" href="?module=Proxy&action=redirect&url=https://matomo.org/newsletter/"><img class="icon" src="plugins/Feedback/images/newsletter.png"></a>
- <a target="_blank" href="?module=Proxy&action=redirect&url=https://matomo.org/newsletter/">Newsletter</a>
+ <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/newsletter/"><img class="icon" src="plugins/Feedback/images/newsletter.png"></a>
+ <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/newsletter/">Newsletter</a>
</li>
<li>
- <a rel="noreferrer" target="_blank" href="https://www.facebook.com/Matomo.org"><img class="icon" src="plugins/Feedback/images/facebook.png"></a>
- <a rel="noreferrer" target="_blank" href="https://www.facebook.com/Matomo.org">Facebook</a>
+ <a target="_blank" rel="noreferrer noopener" href="https://www.facebook.com/Matomo.org"><img class="icon" src="plugins/Feedback/images/facebook.png"></a>
+ <a target="_blank" rel="noreferrer noopener" href="https://www.facebook.com/Matomo.org">Facebook</a>
</li>
<li>
- <a rel="noreferrer" target="_blank" href="https://twitter.com/matomo_org"><img class="icon" src="plugins/Feedback/images/twitter.png"></a>
- <a rel="noreferrer" target="_blank" href="https://twitter.com/matomo_org">Twitter</a>
+ <a target="_blank" rel="noreferrer noopener" href="https://twitter.com/matomo_org"><img class="icon" src="plugins/Feedback/images/twitter.png"></a>
+ <a target="_blank" rel="noreferrer noopener" href="https://twitter.com/matomo_org">Twitter</a>
</li>
<li>
- <a rel="noreferrer" target="_blank" href="https://www.linkedin.com/groups?gid=867857"><img class="icon" src="plugins/Feedback/images/linkedin.png"></a>
- <a rel="noreferrer" target="_blank" href="https://www.linkedin.com/groups?gid=867857">Linkedin</a>
+ <a target="_blank" rel="noreferrer noopener" href="https://www.linkedin.com/groups?gid=867857"><img class="icon" src="plugins/Feedback/images/linkedin.png"></a>
+ <a target="_blank" rel="noreferrer noopener" href="https://www.linkedin.com/groups?gid=867857">Linkedin</a>
</li>
<li>
- <a rel="noreferrer" target="_blank" href="https://github.com/matomo-org/piwik"><img class="icon" src="plugins/Feedback/images/github.png"></a>
- <a rel="noreferrer" target="_blank" href="https://github.com/matomo-org/piwik">GitHub</a>
+ <a target="_blank" rel="noreferrer noopener" href="https://github.com/matomo-org/piwik"><img class="icon" src="plugins/Feedback/images/github.png"></a>
+ <a target="_blank" rel="noreferrer noopener" href="https://github.com/matomo-org/piwik">GitHub</a>
</li>
</ul>
<ul class="menu">
- <li><a target="_blank" href="?module=Proxy&action=redirect&url=https://matomo.org/blog/">Blog</a></li>
- <li><a target="_blank" href="?module=Proxy&action=redirect&url=https://matomo.org/about/sponsors/">Sponsors</a></li>
- <li><a target="_blank" href="?module=Proxy&action=redirect&url=https://developer.matomo.org">Developers</a></li>
- <li><a target="_blank" href="?module=Proxy&action=redirect&url=https://plugins.matomo.org">Marketplace</a></li>
- <li><a target="_blank" href="?module=Proxy&action=redirect&url=https://matomo.org/thank-you-all/">Credits</a></li>
+ <li><a target="_blank" rel="noreferrer noopener" href="https://matomo.org/blog/">Blog</a></li>
+ <li><a target="_blank" rel="noreferrer noopener" href="https://matomo.org/about/sponsors/">Sponsors</a></li>
+ <li><a target="_blank" rel="noreferrer noopener" href="https://developer.matomo.org">Developers</a></li>
+ <li><a target="_blank" rel="noreferrer noopener" href="https://plugins.matomo.org">Marketplace</a></li>
+ <li><a target="_blank" rel="noreferrer noopener" href="https://matomo.org/thank-you-all/">Credits</a></li>
</ul>
<p class="claim"><small>{{ 'Feedback_PrivacyClaim'|translate(
- "<a target='_blank' href='?module=Proxy&action=redirect&url=https://matomo.org/privacy/'>",
+ "<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/privacy/'>",
"</a>"
)|raw}}</small></p>
</div>
diff --git a/plugins/Goals/Visualizations/Goals.php b/plugins/Goals/Visualizations/Goals.php
index 36af135dc6..2c1fe815d6 100644
--- a/plugins/Goals/Visualizations/Goals.php
+++ b/plugins/Goals/Visualizations/Goals.php
@@ -48,7 +48,7 @@ class Goals extends HtmlTable
if (1 == Common::getRequestVar('documentationForGoalsPage', 0, 'int')) {
// TODO: should not use query parameter
$this->config->documentation = Piwik::translate('Goals_ConversionByTypeReportDocumentation',
- array('<br />', '<br />', '<a href="https://matomo.org/docs/tracking-goals-web-analytics/" rel="noreferrer" target="_blank">', '</a>'));
+ array('<br />', '<br />', '<a href="https://matomo.org/docs/tracking-goals-web-analytics/" rel="noreferrer noopener" target="_blank">', '</a>'));
}
parent::beforeRender();
diff --git a/plugins/Goals/templates/_formAddGoal.twig b/plugins/Goals/templates/_formAddGoal.twig
index 94703f0588..84620ee1f5 100644
--- a/plugins/Goals/templates/_formAddGoal.twig
+++ b/plugins/Goals/templates/_formAddGoal.twig
@@ -37,7 +37,7 @@
</div>
<div class="col s12 m6">
<div piwik-alert="info" ng-show="manageGoals.goal.triggerType == 'manually'">
- {{ 'Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=https://matomo.org/docs/javascript-tracking/%23toc-manually-trigger-a-conversion-for-a-goal'>","</a>")|raw }}
+ {{ 'Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore'|translate("<a target='_blank' rel='noreferrer noopener' href='https://developer.matomo.org/guides/tracking-javascript-guide#manually-trigger-goal-conversions'>","</a>")|raw }}
</div>
<div piwik-field uicontrol="radio" name="match_attribute"
diff --git a/plugins/Goals/templates/_listGoalEdit.twig b/plugins/Goals/templates/_listGoalEdit.twig
index bd65be9f71..ef42c9bee9 100644
--- a/plugins/Goals/templates/_listGoalEdit.twig
+++ b/plugins/Goals/templates/_listGoalEdit.twig
@@ -6,7 +6,7 @@
<div piwik-activity-indicator loading="manageGoals.isLoading"></div>
<div class="contentHelp">
- {{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=https://matomo.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }}
+ {{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/docs/tracking-goals-web-analytics/'>","</a>")|raw }}
{% if not ecommerceEnabled %}
<br /><br/>
@@ -14,7 +14,7 @@
<a href='{{ linkTo({'module':'SitesManager','action':'index' }) }}'>{{ 'SitesManager_WebsitesManagement'|translate }}</a>
{% endset %}
{% set ecommerceReportText %}
- <a href="https://matomo.org/docs/ecommerce-analytics/" rel="noreferrer" target="_blank">{{ 'Goals_EcommerceReports'|translate }}</a>
+ <a href="https://matomo.org/docs/ecommerce-analytics/" rel="noreferrer noopener" target="_blank">{{ 'Goals_EcommerceReports'|translate }}</a>
{% endset %}
{{ 'Goals_Optional'|translate }} {{ 'Goals_Ecommerce'|translate }}: {{ 'Goals_YouCanEnableEcommerceReports'|translate(ecommerceReportText,websiteManageText)|raw }}
{% endif %}
diff --git a/plugins/Goals/templates/addNewGoal.twig b/plugins/Goals/templates/addNewGoal.twig
index a40497b2e8..2fa4a58c9a 100644
--- a/plugins/Goals/templates/addNewGoal.twig
+++ b/plugins/Goals/templates/addNewGoal.twig
@@ -1,7 +1,7 @@
{% if userCanEditGoals %}
{% set addNewGoalIntro %}
<p>{{ 'Goals_NewGoalIntro'|translate }}</p>
- <p>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=https://matomo.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }}</p>
+ <p>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/docs/tracking-goals-web-analytics/'>","</a>")|raw }}</p>
{% endset %}
{% include "@Goals/_addEditGoal.twig" %}
@@ -14,7 +14,7 @@
{{ 'Goals_NoGoalsNeedAccess2'|translate|raw }}
</p>
<p>
- {{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=https://matomo.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }}
+ {{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/docs/tracking-goals-web-analytics/'>","</a>")|raw }}
</p>
</div>
{{ postEvent("Template.afterGoalCannotAddNewGoal") }}
diff --git a/plugins/Installation/FormSuperUser.php b/plugins/Installation/FormSuperUser.php
index 7c24bddcaa..6cbe91e4cc 100644
--- a/plugins/Installation/FormSuperUser.php
+++ b/plugins/Installation/FormSuperUser.php
@@ -59,7 +59,7 @@ class FormSuperUser extends QuickForm2
));
$professionalServicesNewsletter = Piwik::translate('Installation_ProfessionalServicesNewsletter',
- array("<a href='https://matomo.org/support/?pk_medium=App_Newsletter_link&pk_source=Piwik_App&pk_campaign=App_Installation' style='color:#444;' rel='noreferrer' target='_blank'>", "</a>")
+ array("<a href='https://matomo.org/support/?pk_medium=App_Newsletter_link&pk_source=Piwik_App&pk_campaign=App_Installation' style='color:#444;' rel='noreferrer noopener' target='_blank'>", "</a>")
);
$privacyNoticeLink = '<a href="https://matomo.org/privacy-policy/" target="_blank" rel="noreferrer noopener">';
diff --git a/plugins/Installation/templates/finished.twig b/plugins/Installation/templates/finished.twig
index 1be63b10b1..8cfa70ab23 100644
--- a/plugins/Installation/templates/finished.twig
+++ b/plugins/Installation/templates/finished.twig
@@ -11,8 +11,8 @@
{{ 'Installation_CollaborativeProject'|translate }}
</p>
<p>
- {{ 'Installation_GetInvolved'|translate('<a rel="noreferrer" target="_blank" href="https://matomo.org/get-involved/">','</a>')|raw }}
- {{ 'General_HelpTranslatePiwik'|translate("<a rel='noreferrer' target='_blank' href=\'https://matomo.org/translations/\'>","<\/a>")|raw }}
+ {{ 'Installation_GetInvolved'|translate('<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/get-involved/">','</a>')|raw }}
+ {{ 'General_HelpTranslatePiwik'|translate("<a rel='noreferrer noopener' target='_blank' href=\'https://matomo.org/translations/\'>","<\/a>")|raw }}
</p>
<p>{{ 'Installation_WeHopeYouWillEnjoyPiwik'|translate }}</p>
<p><i>{{ 'Installation_HappyAnalysing'|translate }}</i></p>
@@ -23,7 +23,7 @@
{{ 'Installation_ProfessionalServicesfessionalServicesAdText'|translate }}
</p>
<p>
- {{ 'Installation_ProfessionalServicesfessionalDiscoverHow'|translate('<a rel="noreferrer" target="_blank" href="' ~ linkToProfessionalServices ~ '">','</a>')|raw }}
+ {{ 'Installation_ProfessionalServicesfessionalDiscoverHow'|translate('<a rel="noreferrer noopener" target="_blank" href="' ~ linkToProfessionalServices ~ '">','</a>')|raw }}
</p>
{% endif %}
diff --git a/plugins/Installation/templates/reuseTables.twig b/plugins/Installation/templates/reuseTables.twig
index 28ac5d0e11..e390309d38 100644
--- a/plugins/Installation/templates/reuseTables.twig
+++ b/plugins/Installation/templates/reuseTables.twig
@@ -25,7 +25,7 @@
<ul>
<li>{{ 'CoreUpdater_ErrorDIYHelp_1'|translate }}</li>
<li>{{ 'CoreUpdater_ErrorDIYHelp_2'|translate }}</li>
- <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://matomo.org/faq/how-to-update/#faq_179' rel='noreferrer' target='_blank'>(see FAQ)</a></li>
+ <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://matomo.org/faq/how-to-update/#faq_179' rel='noreferrer noopener' target='_blank'>(see FAQ)</a></li>
<li>{{ 'CoreUpdater_ErrorDIYHelp_4'|translate }}</li>
<li>{{ 'CoreUpdater_ErrorDIYHelp_5'|translate }}</li>
</ul>
diff --git a/plugins/Installation/templates/systemCheck.twig b/plugins/Installation/templates/systemCheck.twig
index d7b5c4b9a9..248d0ba622 100644
--- a/plugins/Installation/templates/systemCheck.twig
+++ b/plugins/Installation/templates/systemCheck.twig
@@ -23,7 +23,7 @@
{% if not showNextStep %}
<p>
<span class="icon-export"></span>
- <a href="?module=Proxy&action=redirect&url=https://matomo.org/docs/requirements/" target="_blank">{{ 'Installation_Requirements'|translate }}</a>
+ <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/docs/requirements/">{{ 'Installation_Requirements'|translate }}</a>
</p>
{% include "@Installation/_systemCheckLegend.twig" %}
{% endif %}
diff --git a/plugins/Installation/templates/trackingCode.twig b/plugins/Installation/templates/trackingCode.twig
index e3ecf9db16..cb9455fe70 100644
--- a/plugins/Installation/templates/trackingCode.twig
+++ b/plugins/Installation/templates/trackingCode.twig
@@ -12,10 +12,10 @@
<h3>{{ 'Installation_LargePiwikInstances'|translate }}</h3>
<p>
- {{ 'Installation_JsTagArchivingHelp1'|translate('<a rel="noreferrer" target="_blank" href="https://matomo.org/docs/setup-auto-archiving/">','</a>')|raw }}
+ {{ 'Installation_JsTagArchivingHelp1'|translate('<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/docs/setup-auto-archiving/">','</a>')|raw }}
</p>
<p>
- {{ 'General_ReadThisToLearnMore'|translate('<a rel="noreferrer" target="_blank" href="https://matomo.org/docs/optimize/">','</a>')|raw }}
+ {{ 'General_ReadThisToLearnMore'|translate('<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/docs/optimize/">','</a>')|raw }}
</p>
{% endblock %}
diff --git a/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html b/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html
index 775e7aaa36..e56b0d15ea 100644
--- a/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html
+++ b/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html
@@ -2,7 +2,7 @@
<p>
This page helps you to find existing translations that you can reuse in your Plugin.
- If you want to know more about translations have a look at our <a href="https://developer.matomo.org/guides/internationalization" rel="noreferrer" target="_blank">Internationalization guide</a>.
+ If you want to know more about translations have a look at our <a href="https://developer.matomo.org/guides/internationalization" rel="noreferrer noopener" target="_blank">Internationalization guide</a>.
Enter a search term to find translations and their corresponding keys:
</p>
@@ -41,4 +41,4 @@
</tbody>
</table>
-</div> \ No newline at end of file
+</div>
diff --git a/plugins/LanguagesManager/templates/getLanguagesSelector.twig b/plugins/LanguagesManager/templates/getLanguagesSelector.twig
index 94b84413df..1cb8fcdd09 100644
--- a/plugins/LanguagesManager/templates/getLanguagesSelector.twig
+++ b/plugins/LanguagesManager/templates/getLanguagesSelector.twig
@@ -2,8 +2,8 @@
ng-cloak
menu-title="{{ currentLanguageName|e('html_attr') }}"
piwik-menudropdown>
- <a class="item"
- href="?module=Proxy&amp;action=redirect&amp;url=https://matomo.org/translations/">{{ 'LanguagesManager_AboutPiwikTranslations'|translate }}</a>
+ <a class="item" target="_blank" rel="noreferrer noopener"
+ href="https://matomo.org/translations/">{{ 'LanguagesManager_AboutPiwikTranslations'|translate }}</a>
{% for language in languages %}
<a class="item {% if language.code == currentLanguageCode %}active{% endif %}"
value="{{ language.code }}"
diff --git a/plugins/Live/templates/_actionCommon.twig b/plugins/Live/templates/_actionCommon.twig
index a978588527..84d3bc966d 100644
--- a/plugins/Live/templates/_actionCommon.twig
+++ b/plugins/Live/templates/_actionCommon.twig
@@ -23,7 +23,7 @@
action.url|trim|lower starts with 'data:' %}
{{ action.url }}
{% else %}
- <a href="{{ action.url }}" rel="noreferrer" target="_blank"
+ <a href="{{ action.url }}" rel="noreferrer noopener" target="_blank"
class="action-list-url truncated-text-line">
{{ action.url|replace({'http://': '', 'https://': ''}) }}
</a>
diff --git a/plugins/Login/Controller.php b/plugins/Login/Controller.php
index b91852d41b..c933214b01 100644
--- a/plugins/Login/Controller.php
+++ b/plugins/Login/Controller.php
@@ -231,7 +231,7 @@ class Controller extends \Piwik\Plugin\Controller
protected function getMessageExceptionNoAccess()
{
- $message = Piwik::translate('Login_InvalidNonceOrHeadersOrReferrer', array('<a href="?module=Proxy&action=redirect&url=' . urlencode('https://matomo.org/faq/how-to-install/#faq_98') . '" target="_blank">', '</a>'));
+ $message = Piwik::translate('Login_InvalidNonceOrHeadersOrReferrer', array('<a target="_blank" rel="noreferrer noopener" href="https://matomo.org/faq/how-to-install/#faq_98">', '</a>'));
$message .= $this->getMessageExceptionNoAccessWhenInsecureConnectionMayBeUsed();
@@ -250,7 +250,7 @@ class Controller extends \Piwik\Plugin\Controller
if(Url::isSecureConnectionAssumedByPiwikButNotForcedYet()) {
$message = '<br/><br/>' . Piwik::translate('Login_InvalidNonceSSLMisconfigured',
array(
- '<a href="?module=Proxy&action=redirect&url=' . urlencode('<a href="https://matomo.org/faq/how-to/faq_91/">') . '">',
+ '<a target="_blank" rel="noreferrer noopener" href="https://matomo.org/faq/how-to/faq_91/">',
'</a>',
'config/config.ini.php',
'<pre>force_ssl=1</pre>',
diff --git a/plugins/Login/templates/login.twig b/plugins/Login/templates/login.twig
index a128236383..e12c8af5db 100644
--- a/plugins/Login/templates/login.twig
+++ b/plugins/Login/templates/login.twig
@@ -114,7 +114,7 @@
{% if isCustomLogo %}
<p id="piwik">
- <i><a href="https://matomo.org/" rel="noreferrer" target="_blank">{{ linkTitle }}</a></i>
+ <i><a href="https://matomo.org/" rel="noreferrer noopener" target="_blank">{{ linkTitle }}</a></i>
</p>
{% endif %}
diff --git a/plugins/Marketplace/Plugins/InvalidLicenses.php b/plugins/Marketplace/Plugins/InvalidLicenses.php
index 2ecd469de6..fede02cedd 100644
--- a/plugins/Marketplace/Plugins/InvalidLicenses.php
+++ b/plugins/Marketplace/Plugins/InvalidLicenses.php
@@ -159,7 +159,7 @@ class InvalidLicenses
return '';
}
- return '<a href="' . $info['loginUrl'] . '" target="_blank" rel="noreferrer">';
+ return '<a href="' . $info['loginUrl'] . '" target="_blank" rel="noreferrer noopener">';
}
private function getSubscritionSummaryMessage()
diff --git a/plugins/Marketplace/templates/licenseform.twig b/plugins/Marketplace/templates/licenseform.twig
index ffa6da07e6..cbf31bb83e 100644
--- a/plugins/Marketplace/templates/licenseform.twig
+++ b/plugins/Marketplace/templates/licenseform.twig
@@ -49,7 +49,7 @@
{% else %}
{% if isSuperUser %}
- {{ 'Marketplace_PaidPluginsNoLicenseKeyIntro'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=https://matomo.org/recommends/premium-plugins/'>", "</a>")|raw }}
+ {{ 'Marketplace_PaidPluginsNoLicenseKeyIntro'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/recommends/premium-plugins/'>", "</a>")|raw }}
<br/>
@@ -60,7 +60,7 @@
<div piwik-activity-indicator loading="licenseController.isUpdating"></div>
{% else %}
- {{ 'Marketplace_PaidPluginsNoLicenseKeyIntroNoSuperUserAccess'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=https://matomo.org/recommends/premium-plugins/'>", "</a>")|raw }}
+ {{ 'Marketplace_PaidPluginsNoLicenseKeyIntroNoSuperUserAccess'|translate("<a target='_blank' rel='noreferrer noopener' href='https://matomo.org/recommends/premium-plugins/'>", "</a>")|raw }}
{% endif %}
{% endif %}
diff --git a/plugins/Marketplace/templates/overview.twig b/plugins/Marketplace/templates/overview.twig
index 7237fdb914..a8a0a2031b 100644
--- a/plugins/Marketplace/templates/overview.twig
+++ b/plugins/Marketplace/templates/overview.twig
@@ -70,16 +70,16 @@
{% include '@Marketplace/plugin-list.twig' %}
<div class="footer-message center">
- {{ 'Marketplace_DevelopersLearnHowToDevelopPlugins'|translate('<a href="?module=Proxy&action=redirect&url=https://developer.matomo.org/develop" target="_blank">', '</a>')|raw }}
+ {{ 'Marketplace_DevelopersLearnHowToDevelopPlugins'|translate('<a target="_blank" rel="noreferrer noopener" href="https://developer.matomo.org/develop">', '</a>')|raw }}
<br />
<br />
<br />
- <a rel="noreferrer" href="https://shop.matomo.org/faq/" target="_blank">FAQ</a> |
- <a rel="noreferrer" href="https://shop.matomo.org/terms-conditions/" target="_blank">Terms</a> |
- <a rel="noreferrer" href="https://matomo.org/privacy-policy/" target="_blank">Privacy</a> |
- <a rel="noreferrer" href="https://matomo.org/contact/" target="_blank">Contact</a>
+ <a rel="noreferrer noopener" href="https://shop.matomo.org/faq/" target="_blank">FAQ</a> |
+ <a rel="noreferrer noopener" href="https://shop.matomo.org/terms-conditions/" target="_blank">Terms</a> |
+ <a rel="noreferrer noopener" href="https://matomo.org/privacy-policy/" target="_blank">Privacy</a> |
+ <a rel="noreferrer noopener" href="https://matomo.org/contact/" target="_blank">Contact</a>
</div>
</div>
-{% endblock %} \ No newline at end of file
+{% endblock %}
diff --git a/plugins/Marketplace/templates/plugin-details.twig b/plugins/Marketplace/templates/plugin-details.twig
index 1bd181647b..e939f67164 100644
--- a/plugins/Marketplace/templates/plugin-details.twig
+++ b/plugins/Marketplace/templates/plugin-details.twig
@@ -114,7 +114,7 @@
{% if plugin.consumer.loginUrl is defined and plugin.consumer.loginUrl %}
<a class="install update"
target="_blank"
- rel="noreferrer"
+ rel="noreferrer noopener"
href="{{ plugin.consumer.loginUrl|default('')|e('html_attr') }}"
>{{ 'Marketplace_UpgradeSubscription'|translate }}</a>
{% endif %}
@@ -136,12 +136,12 @@
<a class="install update addToCartLink" target="_blank"
title="{{ 'Marketplace_ClickToCompletePurchase'|translate|e('html_attr') }}"
- rel="noreferrer"
+ rel="noreferrer noopener"
href="{{ plugin.shop.url|default('')|e('html_attr') }}"
>{{ 'Marketplace_AddToCart'|translate }}</a>
{% else %}
<a class="install update" target="_blank"
- rel="noreferrer"
+ rel="noreferrer noopener"
href="{% if plugin.shop is defined and plugin.shop and plugin.shop.url %}{{ plugin.shop.url|e('html_attr') }}{% else %}{{ plugin.homepage|e('html_attr') }}{% endif %}"
>{{ 'General_MoreDetails'|translate }}</a>
{% endif %}
@@ -204,7 +204,7 @@
<dt>{{ 'Marketplace_License'|translate }}</dt>
<dd>
{% if latestVersion.license.url is defined and latestVersion.license.url %}
- <a rel="noreferrer"
+ <a rel="noreferrer noopener"
href="{{ latestVersion.license.url }}"
target="_blank">{{ latestVersion.license.name }}</a>
{% else %}
@@ -217,7 +217,7 @@
{% spaceless %}
{% if author.homepage %}
- <a target="_blank" rel="noreferrer" href="{{ author.homepage }}">{{ author.name }}</a>
+ <a target="_blank" rel="noreferrer noopener" href="{{ author.homepage }}">{{ author.name }}</a>
{% elseif author.email %}
<a href="mailto:{{ author.email|escape('url') }}">{{ author.name }}</a>
{% else %}
@@ -235,12 +235,12 @@
<dt>{{ 'CorePluginsAdmin_Websites'|translate }}</dt>
<dd>
{% if plugin.homepage %}
- <a target="_blank" rel="noreferrer" href="{{ plugin.homepage }}">{{ 'Marketplace_PluginWebsite'|translate }}</a>
+ <a target="_blank" rel="noreferrer noopener" href="{{ plugin.homepage }}">{{ 'Marketplace_PluginWebsite'|translate }}</a>
{%- endif -%}
{%- if plugin.changelog is defined and plugin.changelog and plugin.changelog.url is defined and plugin.changelog.url -%}
{%- if plugin.homepage %}, {% endif %}
- <a target="_blank" rel="noreferrer" href="{{ plugin.changelog.url }}">{{ 'CorePluginsAdmin_Changelog'|translate }}</a>
+ <a target="_blank" rel="noreferrer noopener" href="{{ plugin.changelog.url }}">{{ 'CorePluginsAdmin_Changelog'|translate }}</a>
{%- endif -%}
{%- if plugin.repositoryUrl %}, <a target="_blank" href="{{ plugin.repositoryUrl }}">GitHub</a>{% endif %}
diff --git a/plugins/Marketplace/templates/subscription-overview.twig b/plugins/Marketplace/templates/subscription-overview.twig
index 0ace015545..45c57f47e6 100644
--- a/plugins/Marketplace/templates/subscription-overview.twig
+++ b/plugins/Marketplace/templates/subscription-overview.twig
@@ -13,7 +13,7 @@
<p>
{{ 'Marketplace_PluginSubscriptionsList'|translate }}
{% if loginUrl %}
- <a target="_blank" rel="noreferrer" href="{{ loginUrl }}">{{ 'Marketplace_OverviewPluginSubscriptionsAllDetails'|translate }}</a>
+ <a target="_blank" rel="noreferrer noopener" href="{{ loginUrl }}">{{ 'Marketplace_OverviewPluginSubscriptionsAllDetails'|translate }}</a>
{% endif %}
<br/>
{{ 'Marketplace_OverviewPluginSubscriptionsMissingInfo'|translate }}
@@ -42,7 +42,7 @@
<tr>
<td class="subscriptionName">
{% if subscription.plugin.htmlUrl %}
- <a href="{{ subscription.plugin.htmlUrl }}" rel="noreferrer" target="_blank">
+ <a href="{{ subscription.plugin.htmlUrl }}" rel="noreferrer noopener" target="_blank">
{% endif %}
{{ subscription.plugin.displayName }}
@@ -98,4 +98,4 @@
{% endif %}
</div>
-{% endblock %} \ No newline at end of file
+{% endblock %}
diff --git a/plugins/Marketplace/tests/Integration/Plugins/InvalidLicensesTest.php b/plugins/Marketplace/tests/Integration/Plugins/InvalidLicensesTest.php
index 28c748dee0..38d98c0da4 100644
--- a/plugins/Marketplace/tests/Integration/Plugins/InvalidLicensesTest.php
+++ b/plugins/Marketplace/tests/Integration/Plugins/InvalidLicensesTest.php
@@ -223,7 +223,7 @@ class InvalidLicensesTest extends IntegrationTestCase
$this->assertEquals('', $expired->getMessageExceededLicenses());
$this->assertEquals('', $expired->getMessageExpiredLicenses());
- $this->assertEquals('The following plugins have been deactivated because you are using them without a license: <strong>PaidPlugin1</strong>. <br/>To resolve this issue either update your license key, <strong><a href="https://shop.piwik.org/my-account" target="_blank" rel="noreferrer">get a subscription now</a></strong> or deactivate the plugin. <br/><a href="?module=Marketplace&action=subscriptionOverview">View your plugin subscriptions.</a>', $expired->getMessageNoLicense());
+ $this->assertEquals('The following plugins have been deactivated because you are using them without a license: <strong>PaidPlugin1</strong>. <br/>To resolve this issue either update your license key, <strong><a href="https://shop.piwik.org/my-account" target="_blank" rel="noreferrer noopener">get a subscription now</a></strong> or deactivate the plugin. <br/><a href="?module=Marketplace&action=subscriptionOverview">View your plugin subscriptions.</a>', $expired->getMessageNoLicense());
}
public function test_getMessageExceededLicenses_getMessageExpiredLicenses_invalidLicenses_PaidPluginActivated()
@@ -231,20 +231,20 @@ class InvalidLicensesTest extends IntegrationTestCase
$expired = $this->buildWithExpiredLicense();
$this->assertNull($expired->getMessageExceededLicenses());
- $this->assertEquals('The licenses for the following plugins are expired: <strong>PaidPlugin1</strong>. <br/>You will no longer receive any updates for these plugins. To resolve this issue either <strong><a href="https://shop.piwik.org/my-account" target="_blank" rel="noreferrer">renew your subscription now</a></strong>, or deactivate the plugin if you no longer use it. <br/><a href="?module=Marketplace&action=subscriptionOverview">View your plugin subscriptions.</a>', $expired->getMessageExpiredLicenses());
+ $this->assertEquals('The licenses for the following plugins are expired: <strong>PaidPlugin1</strong>. <br/>You will no longer receive any updates for these plugins. To resolve this issue either <strong><a href="https://shop.piwik.org/my-account" target="_blank" rel="noreferrer noopener">renew your subscription now</a></strong>, or deactivate the plugin if you no longer use it. <br/><a href="?module=Marketplace&action=subscriptionOverview">View your plugin subscriptions.</a>', $expired->getMessageExpiredLicenses());
}
public function test_getMessageExceededLicenses_getMessageExpiredLicenses_exceededLicenses_PaidPluginActivated()
{
$expired = $this->buildWithExceededLicense();
- $this->assertEquals('The licenses for the following plugins are no longer valid as the number of authorized users for the license is exceeded: <strong>PaidPlugin2</strong>. <br/>You will not be able to download updates for these plugins. To resolve this issue either delete some users or <strong><a href="https://shop.piwik.org/my-account" target="_blank" rel="noreferrer">upgrade the subscription now</a></strong>. <br/><a href="?module=Marketplace&action=subscriptionOverview">View your plugin subscriptions.</a>', $expired->getMessageExceededLicenses());
- $this->assertEquals('The licenses for the following plugins are expired: <strong>PaidPlugin1</strong>. <br/>You will no longer receive any updates for these plugins. To resolve this issue either <strong><a href="https://shop.piwik.org/my-account" target="_blank" rel="noreferrer">renew your subscription now</a></strong>, or deactivate the plugin if you no longer use it. <br/><a href="?module=Marketplace&action=subscriptionOverview">View your plugin subscriptions.</a>', $expired->getMessageExpiredLicenses());
+ $this->assertEquals('The licenses for the following plugins are no longer valid as the number of authorized users for the license is exceeded: <strong>PaidPlugin2</strong>. <br/>You will not be able to download updates for these plugins. To resolve this issue either delete some users or <strong><a href="https://shop.piwik.org/my-account" target="_blank" rel="noreferrer noopener">upgrade the subscription now</a></strong>. <br/><a href="?module=Marketplace&action=subscriptionOverview">View your plugin subscriptions.</a>', $expired->getMessageExceededLicenses());
+ $this->assertEquals('The licenses for the following plugins are expired: <strong>PaidPlugin1</strong>. <br/>You will no longer receive any updates for these plugins. To resolve this issue either <strong><a href="https://shop.piwik.org/my-account" target="_blank" rel="noreferrer noopener">renew your subscription now</a></strong>, or deactivate the plugin if you no longer use it. <br/><a href="?module=Marketplace&action=subscriptionOverview">View your plugin subscriptions.</a>', $expired->getMessageExpiredLicenses());
}
public function test_getMessageMissingLicenses_getMessageMissingLicenses_PaidPluginActivated()
{
$expired = $this->buildWithNoLicense();
- $this->assertEquals('The following plugins have been deactivated because you are using them without a license: <strong>PaidPlugin1</strong>. <br/>To resolve this issue either update your license key, <strong><a href="https://shop.piwik.org/my-account" target="_blank" rel="noreferrer">get a subscription now</a></strong> or deactivate the plugin. <br/><a href="?module=Marketplace&action=subscriptionOverview">View your plugin subscriptions.</a>', $expired->getMessageNoLicense());
+ $this->assertEquals('The following plugins have been deactivated because you are using them without a license: <strong>PaidPlugin1</strong>. <br/>To resolve this issue either update your license key, <strong><a href="https://shop.piwik.org/my-account" target="_blank" rel="noreferrer noopener">get a subscription now</a></strong> or deactivate the plugin. <br/><a href="?module=Marketplace&action=subscriptionOverview">View your plugin subscriptions.</a>', $expired->getMessageNoLicense());
}
private function buildWithValidLicense()
diff --git a/plugins/MobileMessaging/SMSProvider/ASPSMS.php b/plugins/MobileMessaging/SMSProvider/ASPSMS.php
index 4d5d5ceb92..24acc8a942 100644
--- a/plugins/MobileMessaging/SMSProvider/ASPSMS.php
+++ b/plugins/MobileMessaging/SMSProvider/ASPSMS.php
@@ -38,17 +38,17 @@ class ASPSMS extends SMSProvider
public function getDescription()
{
- return 'You can use <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.aspsms.com/en/?REF=227830"><img src="plugins/MobileMessaging/images/ASPSMS.png"/></a> to send SMS Reports from Piwik.<br/>
+ return 'You can use <a target="_blank" rel="noreferrer noopener" href="http://www.aspsms.com/en/?REF=227830"><img src="plugins/MobileMessaging/images/ASPSMS.png"/></a> to send SMS Reports from Piwik.<br/>
<ul>
- <li> First, <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.aspsms.com/en/registration/?REF=227830">get an Account at ASPSMS</a> (Signup is free!)
+ <li> First, <a target="_blank" rel="noreferrer noopener" href="http://www.aspsms.com/en/registration/?REF=227830">get an Account at ASPSMS</a> (Signup is free!)
</li><li> Enter your ASPSMS credentials on this page. </li>
</ul>
<br/>About ASPSMS.com: <ul>
<li>ASPSMS provides fast and reliable high quality worldwide SMS delivery, over 900 networks in every corner of the globe.
</li><li>Cost per SMS message depends on the target country and starts from ~0.06USD (0.04EUR).
- </li><li>Most countries and networks are supported but we suggest you check the latest position on their supported networks list <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.aspsms.com/en/networks/?REF=227830">here</a>.
+ </li><li>Most countries and networks are supported but we suggest you check the latest position on their supported networks list <a href="http://www.aspsms.com/en/networks/?REF=227830" target="_blank" rel="noreferrer noopener">here</a>.
</li><li>For sending an SMS, you need so-called ASPSMS credits, which are purchased in advance. The ASPSMS credits do not expire.
- </li><li><a href="?module=Proxy&action=redirect&url=https://www.aspsms.com/instruction/payment.asp?REF=227830">Payment</a> by bank transfer, various credit cards such as Eurocard/Mastercard, Visa, American Express or Diners Club, PayPal or Swiss Postcard.
+ </li><li><a target="_blank" rel="noreferrer noopener" href="https://www.aspsms.com/instruction/payment.asp?REF=227830">Payment</a> by bank transfer, various credit cards such as Eurocard/Mastercard, Visa, American Express or Diners Club, PayPal or Swiss Postcard.
</li>
</ul>
';
diff --git a/plugins/MobileMessaging/SMSProvider/Clockwork.php b/plugins/MobileMessaging/SMSProvider/Clockwork.php
index 798b4039a1..cc052f06cf 100644
--- a/plugins/MobileMessaging/SMSProvider/Clockwork.php
+++ b/plugins/MobileMessaging/SMSProvider/Clockwork.php
@@ -39,15 +39,15 @@ class Clockwork extends SMSProvider
public function getDescription()
{
- return 'You can use <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/platforms/piwik/"><img src="plugins/MobileMessaging/images/Clockwork.png"/></a> to send SMS Reports from Piwik.<br/>
+ return 'You can use <a target="_blank" rel="noreferrer noopener" href="https://www.clockworksms.com/platforms/piwik/"><img src="plugins/MobileMessaging/images/Clockwork.png"/></a> to send SMS Reports from Piwik.<br/>
<ul>
- <li> First, <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/platforms/piwik/">get an API Key from Clockwork</a> (Signup is free!)
+ <li> First, <a target="_blank" rel="noreferrer noopener" href="https://www.clockworksms.com/platforms/piwik/">get an API Key from Clockwork</a> (Signup is free!)
</li><li> Enter your Clockwork API Key on this page. </li>
</ul>
<br/>About Clockwork: <ul>
<li>Clockwork gives you fast, reliable high quality worldwide SMS delivery, over 450 networks in every corner of the globe.
</li><li>Cost per SMS message is around ~0.08USD (0.06EUR).
- </li><li>Most countries and networks are supported but we suggest you check the latest position on their coverage map <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/sms-coverage/">here</a>.
+ </li><li>Most countries and networks are supported but we suggest you check the latest position on their coverage map <a target="_blank" rel="noreferrer noopener" href="https://www.clockworksms.com/sms-coverage/">here</a>.
</li>
</ul>
';
diff --git a/plugins/Morpheus/templates/ajaxMacros.twig b/plugins/Morpheus/templates/ajaxMacros.twig
index d4a7dc9576..4546e4a0a9 100644
--- a/plugins/Morpheus/templates/ajaxMacros.twig
+++ b/plugins/Morpheus/templates/ajaxMacros.twig
@@ -26,14 +26,14 @@
<br /><br />
{{ 'General_NeedMoreHelp'|translate }}
- <a rel="noreferrer" target="_blank" href="https://matomo.org/faq/troubleshooting/faq_19489/">{{ 'General_Faq'|translate }}</a> –
- <a rel="noreferrer" target="_blank" href="https://forum.matomo.org/">{{ 'Feedback_CommunityHelp'|translate }}</a>
+ <a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/troubleshooting/faq_19489/">{{ 'General_Faq'|translate }}</a> –
+ <a rel="noreferrer noopener" target="_blank" href="https://forum.matomo.org/">{{ 'Feedback_CommunityHelp'|translate }}</a>
{%- if areAdsForProfessionalServicesEnabled %}
–
{% set supportUrl = 'https://matomo.org/support/?pk_campaign=Help&pk_medium=AjaxError&pk_content=' ~ currentModule ~ '&pk_source=Piwik_App' %}
- <a rel="noreferrer" target="_blank" href="{{ supportUrl|e('html_attr') }}">{{ 'Feedback_ProfessionalHelp'|translate }}</a>
+ <a rel="noreferrer noopener" target="_blank" href="{{ supportUrl|e('html_attr') }}">{{ 'Feedback_ProfessionalHelp'|translate }}</a>
{%- endif %}.
</div>
</div>
-{% endmacro %} \ No newline at end of file
+{% endmacro %}
diff --git a/plugins/MultiSites/angularjs/dashboard/dashboard.directive.html b/plugins/MultiSites/angularjs/dashboard/dashboard.directive.html
index d48293da5b..3fd9780ae2 100644
--- a/plugins/MultiSites/angularjs/dashboard/dashboard.directive.html
+++ b/plugins/MultiSites/angularjs/dashboard/dashboard.directive.html
@@ -63,11 +63,11 @@
<br /><br />
{{ 'General_NeedMoreHelp'|translate }}
- <a rel="noreferrer" target="_blank" href="https://matomo.org/faq/troubleshooting/faq_19489/">{{ 'General_Faq'|translate }}</a>
+ <a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/troubleshooting/faq_19489/">{{ 'General_Faq'|translate }}</a>
–
- <a rel="noreferrer" target="_blank" href="https://forum.matomo.org/">{{ 'Feedback_CommunityHelp'|translate }}</a>
+ <a rel="noreferrer noopener" target="_blank" href="https://forum.matomo.org/">{{ 'Feedback_CommunityHelp'|translate }}</a>
<span ng-show="areAdsForProfessionalServicesEnabled"> – </span>
- <a ng-show="areAdsForProfessionalServicesEnabled" rel="noreferrer" target="_blank" href="https://matomo.org/support/?pk_campaign=Help&pk_medium=AjaxError&pk_content=MultiSites&pk_source=Piwik_App">{{ 'Feedback_ProfessionalHelp'|translate }}</a>.
+ <a ng-show="areAdsForProfessionalServicesEnabled" rel="noreferrer noopener" target="_blank" href="https://matomo.org/support/?pk_campaign=Help&pk_medium=AjaxError&pk_content=MultiSites&pk_source=Piwik_App">{{ 'Feedback_ProfessionalHelp'|translate }}</a>.
</div>
</td>
</tr>
diff --git a/plugins/MultiSites/angularjs/site/site.directive.html b/plugins/MultiSites/angularjs/site/site.directive.html
index 68f200df7c..727990b55d 100644
--- a/plugins/MultiSites/angularjs/site/site.directive.html
+++ b/plugins/MultiSites/angularjs/site/site.directive.html
@@ -3,7 +3,7 @@
<a title="View reports" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}" class="truncated-text-line">{{ website.label }}</a>
<span style="width: 10px; margin-left:3px;">
- <a rel="noreferrer" target="_blank" title="{{ 'General_GoTo'|translate:website.main_url }}" ng-href="{{ website.main_url }}">
+ <a rel="noreferrer noopener" target="_blank" title="{{ 'General_GoTo'|translate:website.main_url }}" ng-href="{{ website.main_url }}">
<img src="plugins/Morpheus/images/link.png"/></a>
</span>
</td>
@@ -30,7 +30,7 @@
<td ng-if="showSparklines" style="width:180px;">
<div ng-if="!website.isGroup" class="sparkline" style="width: 100px; margin: auto;">
- <a rel="noreferrer" target="_blank" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}"
+ <a rel="noreferrer noopener" target="_blank" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}"
title="{{ 'General_GoTo'|translate:('Dashboard_DashboardOf'|translate:website.label) }}">
<img alt="" ng-src="{{ sparklineImage(website) }}" width="100" height="25" />
</a>
diff --git a/plugins/Overlay/templates/index.twig b/plugins/Overlay/templates/index.twig
index f47b875fc7..97ed8783ff 100644
--- a/plugins/Overlay/templates/index.twig
+++ b/plugins/Overlay/templates/index.twig
@@ -8,7 +8,7 @@
{% block content %}
<div class="overlay-sidebar-container">
- <a id="overlayTitle" href="https://matomo.org/docs/page-overlay/" rel="noreferrer" target="_blank">
+ <a id="overlayTitle" href="https://matomo.org/docs/page-overlay/" rel="noreferrer noopener" target="_blank">
{{ 'Overlay_Overlay'|translate }}
<span class="icon-info2"></span>
</a>
@@ -39,7 +39,7 @@
</p>
<p>
- <a href="https://matomo.org/docs/page-overlay/#toc-page-overlay-troubleshooting" rel="noreferrer" target="_blank">
+ <a href="https://matomo.org/docs/page-overlay/#toc-page-overlay-troubleshooting" rel="noreferrer noopener" target="_blank">
{{ 'Overlay_ErrorNotLoadingLink'|translate }}
</a>
</p>
diff --git a/plugins/PrivacyManager/angularjs/opt-out-customizer/opt-out-customizer.directive.html b/plugins/PrivacyManager/angularjs/opt-out-customizer/opt-out-customizer.directive.html
index 2ae66be612..6693b4900c 100644
--- a/plugins/PrivacyManager/angularjs/opt-out-customizer/opt-out-customizer.directive.html
+++ b/plugins/PrivacyManager/angularjs/opt-out-customizer/opt-out-customizer.directive.html
@@ -1,7 +1,7 @@
<div class="optOutCustomizer">
<p>
{{ 'CoreAdminHome_OptOutExplanation'|translate }}
- <span ng-bind-html="'General_ReadThisToLearnMore'|translate:'&lt;a rel=\'noreferrer\' target=\'_blank\' href=\'https://matomo.org/faq/how-to/faq_25918/\'>':'&lt;/a>'"></span>
+ <span ng-bind-html="'General_ReadThisToLearnMore'|translate:'&lt;a rel=\'noreferrer noopener\' target=\'_blank\' href=\'https://matomo.org/faq/how-to/faq_25918/\'>':'&lt;/a>'"></span>
</p>
<h3>Customize the Opt-out iframe</h3>
@@ -45,7 +45,7 @@
style="border: 0; height: 200px; width: 600px;"
src="{{ optOutCustomizer.iframeUrl }}"
&gt;&lt;/iframe&gt;</pre>
- <p ng-bind-html="'CoreAdminHome_OptOutExplanationIntro'|translate:'&lt;a href=\'' + optOutCustomizer.iframeUrl + '\' rel=\'noreferrer\' target=\'_blank\'>':'&lt;/a>'">
+ <p ng-bind-html="'CoreAdminHome_OptOutExplanationIntro'|translate:'&lt;a href=\'' + optOutCustomizer.iframeUrl + '\' rel=\'noreferrer noopener\' target=\'_blank\'>':'&lt;/a>'">
</p>
<h3>Preview of the Opt-out as it will appear on your website</h3>
<iframe ng-src="{{ optOutCustomizer.iframeUrl }}" style="border: 1px solid #333; height: 200px; width: 600px;" />
diff --git a/plugins/PrivacyManager/templates/privacySettings.twig b/plugins/PrivacyManager/templates/privacySettings.twig
index 0d2d7fb1b0..819abea55e 100644
--- a/plugins/PrivacyManager/templates/privacySettings.twig
+++ b/plugins/PrivacyManager/templates/privacySettings.twig
@@ -9,7 +9,7 @@
<h2 piwik-enriched-headline help-url="https://matomo.org/docs/privacy/">{{ title }}</h2>
<p>{{ 'PrivacyManager_TeaserHeader'|translate('<a href="#anonymizeIPAnchor">',"</a>",'<a href="#deleteLogsAnchor">',"</a>",'<a href="#anonymizeHistoricalData">',"</a>")|raw }}
- {{'PrivacyManager_SeeAlsoOurOfficialGuidePrivacy'|translate('<a href="https://matomo.org/privacy/" rel="noreferrer" target="_blank">','</a>')|raw }}</p>
+ {{'PrivacyManager_SeeAlsoOurOfficialGuidePrivacy'|translate('<a href="https://matomo.org/privacy/" rel="noreferrer noopener" target="_blank">','</a>')|raw }}</p>
</div>
<div piwik-content-block
@@ -107,7 +107,7 @@
<div class="alert alert-warning" style="width: 50%;">
{{ 'PrivacyManager_DeleteLogDescription2'|translate|raw }}
- <a href="https://matomo.org/faq/general/#faq_125" rel="noreferrer" target="_blank">
+ <a href="https://matomo.org/faq/general/#faq_125" rel="noreferrer noopener" target="_blank">
{{ 'General_ClickHere'|translate }}
</a>
</div>
diff --git a/plugins/ProfessionalServices/templates/promoBelowCampaigns.twig b/plugins/ProfessionalServices/templates/promoBelowCampaigns.twig
index 1aa00beabf..d6b1c9a5e3 100644
--- a/plugins/ProfessionalServices/templates/promoBelowCampaigns.twig
+++ b/plugins/ProfessionalServices/templates/promoBelowCampaigns.twig
@@ -1,11 +1,11 @@
<p style="margin-top:3em" class=" alert-info alert">Did you know?
- <br/> <a target="_blank" rel="noreferrer" href="https://matomo.org/docs/tracking-campaigns/">Campaign tracking</a> lets you measure the effectiveness of your marketing campaigns such as emails marketing, paid search, banner ads, affiliates links, etc.
- Use the <a target="_blank" rel="noreferrer" href="https://matomo.org/docs/tracking-campaigns/">URL Builder tool</a> to create your links with new URL campaign parameters.
+ <br/> <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/docs/tracking-campaigns/">Campaign tracking</a> lets you measure the effectiveness of your marketing campaigns such as emails marketing, paid search, banner ads, affiliates links, etc.
+ Use the <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/docs/tracking-campaigns/">URL Builder tool</a> to create your links with new URL campaign parameters.
{% if displayMarketingCampaignsReportingAd %}
- <br/> Install our <a target="_blank" rel="noreferrer" href="https://plugins.matomo.org/MarketingCampaignsReporting">Marketing Campaigns Reporting plugin</a> to get even more campaigns reports and new segments for up to five marketing channels (campaign, source, medium, keyword, content).
+ <br/> Install our <a target="_blank" rel="noreferrer noopener" href="https://plugins.matomo.org/MarketingCampaignsReporting">Marketing Campaigns Reporting plugin</a> to get even more campaigns reports and new segments for up to five marketing channels (campaign, source, medium, keyword, content).
{% endif %}
{% if multiChannelConversionAttributionAd %}
<br />
- Discover how much each campaign truly contributes to your success by applying attribution models using the <a target="_blank" rel="noreferrer" href="https://plugins.piwik.org/MarketingCampaignsReporting">Multi Channel Conversion Attribution</a> premium feature.
+ Discover how much each campaign truly contributes to your success by applying attribution models using the <a target="_blank" rel="noreferrer noopener" href="https://plugins.piwik.org/MarketingCampaignsReporting">Multi Channel Conversion Attribution</a> premium feature.
{% endif %}
-</p> \ No newline at end of file
+</p>
diff --git a/plugins/ProfessionalServices/templates/promoBelowEvents.twig b/plugins/ProfessionalServices/templates/promoBelowEvents.twig
index ae2af80dde..5888288105 100644
--- a/plugins/ProfessionalServices/templates/promoBelowEvents.twig
+++ b/plugins/ProfessionalServices/templates/promoBelowEvents.twig
@@ -1,7 +1,7 @@
<p style="margin-top:3em" class=" alert-info alert">Did you know?
- <br/>Using Events you can measure any user interaction and gain amazing insights into your audience. <a target="_blank" href="?module=Proxy&action=redirect&url=https://matomo.org/docs/event-tracking/">Learn more</a>.
- <br/> To measure blocks of content such as image galleries, listings or ads: use <a target="_blank" href="?module=Proxy&action=redirect&url=https://developer.matomo.org/guides/content-tracking">Content Tracking</a> and see exactly which content is viewed and clicked.
+ <br/>Using Events you can measure any user interaction and gain amazing insights into your audience. <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/docs/event-tracking/">Learn more</a>.
+ <br/> To measure blocks of content such as image galleries, listings or ads: use <a target="_blank" rel="noreferrer noopener" href="https://developer.matomo.org/guides/content-tracking">Content Tracking</a> and see exactly which content is viewed and clicked.
{% if displayMediaAnalyticsAd %}
- <br/>When you publish videos or audios, <a target="_blank" rel="noreferrer" href="https://matomo.org/recommends/media-analytics-website">Media Analytics gives deep insights into your audience</a> and how they watch your videos or listens to your music.
+ <br/>When you publish videos or audios, <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/recommends/media-analytics-website">Media Analytics gives deep insights into your audience</a> and how they watch your videos or listens to your music.
{% endif %}
-</p> \ No newline at end of file
+</p>
diff --git a/plugins/ProfessionalServices/templates/promoBelowReferrerTypes.twig b/plugins/ProfessionalServices/templates/promoBelowReferrerTypes.twig
index 673c4f4367..fdb154657d 100644
--- a/plugins/ProfessionalServices/templates/promoBelowReferrerTypes.twig
+++ b/plugins/ProfessionalServices/templates/promoBelowReferrerTypes.twig
@@ -1,3 +1,3 @@
<p style="margin-top:3em" class=" alert-info alert">Did you know?
- <br/>You can get advanced insights into how much each of your marking channel truly contributes to your success by applying attribution models using the <a target="_blank" rel="noreferrer" href="https://plugins.piwik.org/MultiChannelConversionAttribution">Multi Channel Conversion Attribution</a> premium feature.
-</p> \ No newline at end of file
+ <br/>You can get advanced insights into how much each of your marking channel truly contributes to your success by applying attribution models using the <a target="_blank" rel="noreferrer noopener" href="https://plugins.piwik.org/MultiChannelConversionAttribution">Multi Channel Conversion Attribution</a> premium feature.
+</p>
diff --git a/plugins/ProfessionalServices/templates/promoCustomVariables.twig b/plugins/ProfessionalServices/templates/promoCustomVariables.twig
index 69da4dbc11..de618dfde5 100644
--- a/plugins/ProfessionalServices/templates/promoCustomVariables.twig
+++ b/plugins/ProfessionalServices/templates/promoCustomVariables.twig
@@ -1,3 +1,3 @@
<p style="margin-top:1em" class=" alert-info alert">Did you know?
- <br/> With the <a target="_blank" rel="noreferrer" href="https://plugins.piwik.org/CustomReports">Custom Reports</a> premium feature you can pull out the information you need in a matter of seconds.
-</p> \ No newline at end of file
+ <br/> With the <a target="_blank" rel="noreferrer noopener" href="https://plugins.piwik.org/CustomReports">Custom Reports</a> premium feature you can pull out the information you need in a matter of seconds.
+</p>
diff --git a/plugins/ProfessionalServices/templates/promoExperiments.twig b/plugins/ProfessionalServices/templates/promoExperiments.twig
index 7c018e8e4c..f25c95e076 100644
--- a/plugins/ProfessionalServices/templates/promoExperiments.twig
+++ b/plugins/ProfessionalServices/templates/promoExperiments.twig
@@ -1,3 +1,3 @@
<p style="margin-top:3em" class=" alert-info alert">Did you know?
- With <a target="_blank" rel="noreferrer" href="https://matomo.org/recommends/ab-testing-learn-more/">A/B Testing for Matomo</a> you can immediately increase conversions and sales by creating different versions of a page to see which one grows your business.
-</p> \ No newline at end of file
+ With <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/recommends/ab-testing-learn-more/">A/B Testing for Matomo</a> you can immediately increase conversions and sales by creating different versions of a page to see which one grows your business.
+</p>
diff --git a/plugins/ProfessionalServices/templates/promoFunnel.twig b/plugins/ProfessionalServices/templates/promoFunnel.twig
index 30260ad27b..23e31db32d 100644
--- a/plugins/ProfessionalServices/templates/promoFunnel.twig
+++ b/plugins/ProfessionalServices/templates/promoFunnel.twig
@@ -1,5 +1,5 @@
<p style="margin-top:3em;margin-bottom:3em" class="alert-info alert">Did you know?
A Funnel defines a series of actions that you expect your visitors to take on their way to converting a goal.
- <br/>With <a target="_blank" rel="noreferrer" href="https://matomo.org/recommends/conversion-funnel/">Funnels for Matomo</a>,
+ <br/>With <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/recommends/conversion-funnel/">Funnels for Matomo</a>,
you can easily determine your funnel and see where your visitors drop off and how to focus efforts to increase your conversions.
-</p> \ No newline at end of file
+</p>
diff --git a/plugins/ProfessionalServices/templates/promoHeatmaps.twig b/plugins/ProfessionalServices/templates/promoHeatmaps.twig
index 9d49010480..0d191d9eb4 100644
--- a/plugins/ProfessionalServices/templates/promoHeatmaps.twig
+++ b/plugins/ProfessionalServices/templates/promoHeatmaps.twig
@@ -1,3 +1,3 @@
<p style="margin-top:24px;font-size:13px;" class="alert-info alert">Did you know?
- With <a target="_blank" rel="noreferrer" href="https://matomo.org/recommends/heatmap-session-recording-learn-more/">Heatmap & Session Recording</a> you understand your visitors much better. See where your visitors click, move the mouse, scroll, type, and more.
+ With <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/recommends/heatmap-session-recording-learn-more/">Heatmap & Session Recording</a> you understand your visitors much better. See where your visitors click, move the mouse, scroll, type, and more.
</p>
diff --git a/plugins/ProfessionalServices/templates/promoSearchKeywords.twig b/plugins/ProfessionalServices/templates/promoSearchKeywords.twig
index 6829c0f9ec..1d8ebe3263 100644
--- a/plugins/ProfessionalServices/templates/promoSearchKeywords.twig
+++ b/plugins/ProfessionalServices/templates/promoSearchKeywords.twig
@@ -1,6 +1,6 @@
<p style="margin-top:3em;margin-bottom:3em" class=" alert-info alert">Did you know?<br/>
- Use <a target="_blank" rel="noreferrer" href="https://matomo.org/recommends/search-keywords-performance/">Search Keywords Performance</a>
+ Use <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/recommends/search-keywords-performance/">Search Keywords Performance</a>
to see all keywords behind 'keyword not defined'.
All keywords searched by your users on Google, Bing and other search engines will be listed
and you can even monitor the SEO position of your website in their search results.
-</p> \ No newline at end of file
+</p>
diff --git a/plugins/ProfessionalServices/templates/promoServicesWidget.twig b/plugins/ProfessionalServices/templates/promoServicesWidget.twig
index 29edd9358f..5bfe57952e 100644
--- a/plugins/ProfessionalServices/templates/promoServicesWidget.twig
+++ b/plugins/ProfessionalServices/templates/promoServicesWidget.twig
@@ -1,13 +1,13 @@
<div class="promoWidget">
<div class="promo">
- <a href="{{ ctaLinkUrl|e('html_attr') }}" target="_blank" rel="noreferrer"><img class="icon" src="plugins/ProfessionalServices/images/promo.png"></a>
+ <a href="{{ ctaLinkUrl|e('html_attr') }}" target="_blank" rel="noreferrer noopener"><img class="icon" src="plugins/ProfessionalServices/images/promo.png"></a>
<h2>{{ ctaTitle }}</h2>
<p class="text">
<span>{{ ctaText }}</span>
<br /><br />
- <a class="btn" href="{{ ctaLinkUrl|e('html_attr') }}" target="_blank" rel="noreferrer">
+ <a class="btn" href="{{ ctaLinkUrl|e('html_attr') }}" target="_blank" rel="noreferrer noopener">
{{ ctaLinkTitle }}
</a>
</p>
</div>
-</div> \ No newline at end of file
+</div>
diff --git a/plugins/ProfessionalServices/templates/promoSessionRecordings.twig b/plugins/ProfessionalServices/templates/promoSessionRecordings.twig
index 4646ff6632..d087c865be 100644
--- a/plugins/ProfessionalServices/templates/promoSessionRecordings.twig
+++ b/plugins/ProfessionalServices/templates/promoSessionRecordings.twig
@@ -1,3 +1,3 @@
<p class="alert-info alert">Did you know?
- With <a target="_blank" rel="noreferrer" href="https://matomo.org/recommends/heatmap-session-recording-learn-more/">Heatmap & Session Recording</a> you can record all clicks, mouse movements, scrolls and form interactions of your visitors and replay them in a video to truly understand your visitors.
-</p> \ No newline at end of file
+ With <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/recommends/heatmap-session-recording-learn-more/">Heatmap & Session Recording</a> you can record all clicks, mouse movements, scrolls and form interactions of your visitors and replay them in a video to truly understand your visitors.
+</p>
diff --git a/plugins/Provider/Reports/GetProvider.php b/plugins/Provider/Reports/GetProvider.php
index ad2858a6ba..f22c296ba5 100644
--- a/plugins/Provider/Reports/GetProvider.php
+++ b/plugins/Provider/Reports/GetProvider.php
@@ -44,7 +44,7 @@ class GetProvider extends Report
if (! Common::getRequestVar('disableLink', 0, 'int')) {
$message .= ' ' . Piwik::translate(
'General_SeeThisFaq',
- array('<a href="https://matomo.org/faq/general/faq_52/" rel="noreferrer" target="_blank">', '</a>')
+ array('<a href="https://matomo.org/faq/general/faq_52/" rel="noreferrer noopener" target="_blank">', '</a>')
);
}
$view->config->show_footer_message = $message;
diff --git a/plugins/Provider/templates/_visitorDetails.twig b/plugins/Provider/templates/_visitorDetails.twig
index 0cfdbe6b4b..c0ab546750 100644
--- a/plugins/Provider/templates/_visitorDetails.twig
+++ b/plugins/Provider/templates/_visitorDetails.twig
@@ -2,8 +2,8 @@
<br />
{{ 'Provider_ColumnProvider'|translate }}:
{% if visitInfo.getColumn('providerUrl') %}
- <a href="{{ visitInfo.getColumn('providerUrl') }}" rel="noreferrer" target="_blank" class="visitorLogTooltip" title="{{ visitInfo.getColumn('providerName') }} {{ visitInfo.getColumn('providerUrl') }}" style="text-decoration:underline;">
+ <a href="{{ visitInfo.getColumn('providerUrl') }}" rel="noreferrer noopener" target="_blank" class="visitorLogTooltip" title="{{ visitInfo.getColumn('providerName') }} {{ visitInfo.getColumn('providerUrl') }}" style="text-decoration:underline;">
{%- endif %}
{{ visitInfo.getColumn('providerName') }}
{%- if visitInfo.getColumn('providerUrl') %}</a>{% endif %}
-</div> \ No newline at end of file
+</div>
diff --git a/plugins/Proxy/Controller.php b/plugins/Proxy/Controller.php
index 03d48ba267..4aa1a5181e 100644
--- a/plugins/Proxy/Controller.php
+++ b/plugins/Proxy/Controller.php
@@ -74,6 +74,7 @@ class Controller extends \Piwik\Plugin\Controller
* exposing the referrer on the Piwik demo.
*
* @internal param string $url (via $_GET)
+ * @deprecated @since 3.6.0
*/
public function redirect()
{
diff --git a/plugins/Referrers/Controller.php b/plugins/Referrers/Controller.php
index 5a2ccd6459..367be3c9c9 100644
--- a/plugins/Referrers/Controller.php
+++ b/plugins/Referrers/Controller.php
@@ -428,8 +428,8 @@ function DisplayTopKeywords($url = "")
echo "<p style='padding: 0 12px;'>This widget is designed to work in your website directly.
This widget makes it easy to use Piwik to <i>automatically display the list of Top Keywords</i>, for each of your website Page URLs.</p>
<p style='padding: 0 12px;'>
- <b>Example API URL</b> - For example if you would like to get the top 10 keywords, used last week, to land on the page <a rel='noreferrer' target='_blank' href='$topPageUrl'>$topPageUrl</a>,
- in format JSON: you would dynamically fetch the data using <a rel='noreferrer' target='_blank' href='$jsonRequest&url=" . urlencode($topPageUrl) . "'>this API request URL</a>. Make sure you encode the 'url' parameter in the URL.</p>
+ <b>Example API URL</b> - For example if you would like to get the top 10 keywords, used last week, to land on the page <a rel='noreferrer noopener' target='_blank' href='$topPageUrl'>$topPageUrl</a>,
+ in format JSON: you would dynamically fetch the data using <a rel='noreferrer noopener' target='_blank' href='$jsonRequest&url=" . urlencode($topPageUrl) . "'>this API request URL</a>. Make sure you encode the 'url' parameter in the URL.</p>
<p style='padding: 0 12px;'><b>PHP Function ready to use!</b> - If you use PHP on your website, we have prepared a small code snippet that you can copy paste in your Website PHP files. You can then simply call the function <code>DisplayTopKeywords();</code> anywhere in your template, at the bottom of the content or in your blog sidebar.
If you run this code in your page $topPageUrl, it would output the following:";
diff --git a/plugins/Referrers/Reports/GetCampaigns.php b/plugins/Referrers/Reports/GetCampaigns.php
index da3e0edfdb..6984999f80 100644
--- a/plugins/Referrers/Reports/GetCampaigns.php
+++ b/plugins/Referrers/Reports/GetCampaigns.php
@@ -21,7 +21,7 @@ class GetCampaigns extends Base
$this->dimension = new Campaign();
$this->name = Piwik::translate('Referrers_Campaigns');
$this->documentation = Piwik::translate('Referrers_CampaignsReportDocumentation',
- array('<br />', '<a href="https://matomo.org/docs/tracking-campaigns/" rel="noreferrer" target="_blank">', '</a>'));
+ array('<br />', '<a href="https://matomo.org/docs/tracking-campaigns/" rel="noreferrer noopener" target="_blank">', '</a>'));
$this->actionToLoadSubTables = 'getKeywordsFromCampaignId';
$this->hasGoalMetrics = true;
$this->order = 9;
diff --git a/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php b/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php
index 7885bd0940..4ad420711e 100644
--- a/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php
+++ b/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php
@@ -20,7 +20,7 @@ class GetKeywordsFromCampaignId extends Base
$this->dimension = new Keyword();
$this->name = Piwik::translate('Referrers_Campaigns');
$this->documentation = Piwik::translate('Referrers_CampaignsReportDocumentation',
- array('<br />', '<a href="https://matomo.org/docs/tracking-campaigns/" rel="noreferrer" target="_blank">', '</a>'));
+ array('<br />', '<a href="https://matomo.org/docs/tracking-campaigns/" rel="noreferrer noopener" target="_blank">', '</a>'));
$this->isSubtableReport = true;
$this->order = 10;
}
diff --git a/plugins/Referrers/templates/_visitorDetails.twig b/plugins/Referrers/templates/_visitorDetails.twig
index 107a0980e8..39c43d816e 100644
--- a/plugins/Referrers/templates/_visitorDetails.twig
+++ b/plugins/Referrers/templates/_visitorDetails.twig
@@ -1,7 +1,7 @@
<div class="visitorReferrer {{ visitInfo.getColumn('referrerType') }}">
{% if visitInfo.getColumn('referrerType') == 'website' %}
<span>{{ 'Referrers_ColumnWebsite'|translate }}:</span>
- <a href="{{ visitInfo.getColumn('referrerUrl') }}" rel="noreferrer" target="_blank" class="visitorLogTooltip" title="{{ visitInfo.getColumn('referrerUrl') }}"
+ <a href="{{ visitInfo.getColumn('referrerUrl') }}" rel="noreferrer noopener" target="_blank" class="visitorLogTooltip" title="{{ visitInfo.getColumn('referrerUrl') }}"
style="text-decoration:underline;">
{{ visitInfo.getColumn('referrerName') }}
</a>
@@ -29,7 +29,7 @@
{% endif %}
<span>{{ visitInfo.getColumn('referrerName') }}</span>
{%- if showKeyword %}<span>, {{ 'Referrers_Keywords'|translate }}:</span>
- <a href="{{ visitInfo.getColumn('referrerUrl') }}" rel="noreferrer" target="_blank" style="text-decoration:underline;">
+ <a href="{{ visitInfo.getColumn('referrerUrl') }}" rel="noreferrer noopener" target="_blank" style="text-decoration:underline;">
"{{ visitInfo.getColumn('referrerKeyword') }}"</a>
{% endif %}
{% set keyword %}{{ visitInfo.getColumn('referrerKeyword') }}{% endset %}
diff --git a/plugins/RssWidget/RssRenderer.php b/plugins/RssWidget/RssRenderer.php
index 8673443216..a2df5c1d8d 100644
--- a/plugins/RssWidget/RssRenderer.php
+++ b/plugins/RssWidget/RssRenderer.php
@@ -61,7 +61,7 @@ class RssRenderer
$date = @strftime("%B %e, %Y", strtotime($post->pubDate));
$link = $post->link;
- $output .= '<li><a class="rss-title" title="" target="_blank" href="?module=Proxy&action=redirect&url=' . $link . '">' . $title . '</a>' .
+ $output .= '<li><a class="rss-title" title="" target="_blank" rel="noreferrer noopener" href="' . htmlspecialchars($link, ENT_COMPAT, 'UTF-8') . '">' . $title . '</a>' .
'<span class="rss-date">' . $date . '</span>';
if ($this->showDescription) {
$output .= '<div class="rss-description">' . $post->description . '</div>';
diff --git a/plugins/SEO/templates/getRank.twig b/plugins/SEO/templates/getRank.twig
index 08fd69e310..80aab34cdb 100644
--- a/plugins/SEO/templates/getRank.twig
+++ b/plugins/SEO/templates/getRank.twig
@@ -20,15 +20,15 @@
{{ 'General_Error'|translate }}
{% else %}
{% set cleanUrl %}
- <a href="http://{{ urlToRank }}" rel="noreferrer" target="_blank">{{ urlToRank }}</a>
+ <a href="http://{{ urlToRank }}" rel="noreferrer noopener" target="_blank">{{ urlToRank }}</a>
{% endset %}
{{ 'SEO_SEORankingsFor'|translate(cleanUrl)|raw }}
<table cellspacing="2" style="margin:auto;line-height:3.5em !important;margin-top:20px;">
{% for rank in ranks %}
<tr>
- {% set seoLink %}{% if rank.logo_link is not empty %}<a class="linkContent" href="?module=Proxy&action=redirect&url={{ rank.logo_link|url_encode }}"
- target="_blank"
+ {% set seoLink %}{% if rank.logo_link is not empty %}<a class="linkContent" href="{{ rank.logo_link }}"
+ target="_blank" rel="noreferrer noopener"
{% if rank.logo_tooltip is not empty %}title="{{ rank.logo_tooltip }}"{% endif %}>{% endif %}{% endset %}
<td>{% if rank.logo_link is not empty %}{{ seoLink|raw }}{% endif %}<img width="24px" height="24px"
style='vertical-align:middle;margin-right:6px;' src='{{ rank.logo }}' border='0'
diff --git a/plugins/ScheduledReports/templates/_addReport.twig b/plugins/ScheduledReports/templates/_addReport.twig
index 525eba47f4..37dd977132 100644
--- a/plugins/ScheduledReports/templates/_addReport.twig
+++ b/plugins/ScheduledReports/templates/_addReport.twig
@@ -21,7 +21,7 @@
<div id="reportSegmentInlineHelp" class="inline-help-node">
{% set SegmentEditor_DefaultAllVisits %}{{ 'SegmentEditor_DefaultAllVisits'|translate }}{% endset %}
{% set SegmentEditor_AddNewSegment %}{{ 'SegmentEditor_AddNewSegment'|translate }}{% endset %}
- {{ 'ScheduledReports_Segment_Help'|translate('<a href="./" rel="noreferrer" target="_blank">','</a>',SegmentEditor_DefaultAllVisits,SegmentEditor_AddNewSegment)|raw }}
+ {{ 'ScheduledReports_Segment_Help'|translate('<a href="./" rel="noreferrer noopener" target="_blank">','</a>',SegmentEditor_DefaultAllVisits,SegmentEditor_AddNewSegment)|raw }}
</div>
<div piwik-field uicontrol="select" name="report_segment"
diff --git a/plugins/ScheduledReports/templates/_listReports.twig b/plugins/ScheduledReports/templates/_listReports.twig
index 030803810d..bf43a1d91a 100644
--- a/plugins/ScheduledReports/templates/_listReports.twig
+++ b/plugins/ScheduledReports/templates/_listReports.twig
@@ -80,7 +80,7 @@
'outputType':downloadOutputType, 'language':language,
'format': (report.format in ['html', 'csv']) ? report.format : false
}) }}"
- rel="noreferrer" target="_blank" name="linkDownloadReport" id="{{ report.idreport }}" class="link_but withIcon">
+ rel="noreferrer noopener" target="_blank" name="linkDownloadReport" id="{{ report.idreport }}" class="link_but withIcon">
<img src='{{ reportFormatsByReportType[report.type][report.format] }}' border="0" width="16px" height="16px"/>
{{ 'General_Download'|translate }}
</a>
diff --git a/plugins/SitesManager/templates/_displayJavascriptCode.twig b/plugins/SitesManager/templates/_displayJavascriptCode.twig
index f7dd5e155e..e675220052 100644
--- a/plugins/SitesManager/templates/_displayJavascriptCode.twig
+++ b/plugins/SitesManager/templates/_displayJavascriptCode.twig
@@ -3,7 +3,7 @@
<div class='trackingHelp'>
<p>{{ 'Installation_JSTracking_Intro'|translate }}</p>
- <p>{{ 'CoreAdminHome_JSTrackingIntro3b'|translate('<a href="https://matomo.org/integrate/" rel="noreferrer" target="_blank">','</a>')|raw }}</p>
+ <p>{{ 'CoreAdminHome_JSTrackingIntro3b'|translate('<a href="https://matomo.org/integrate/" rel="noreferrer noopener" target="_blank">','</a>')|raw }}</p>
<h3>{{ 'General_JsTrackingTag'|translate }}</h3>
@@ -11,7 +11,7 @@
<pre piwik-select-on-focus>{{ jsTag|raw }}</pre>
- <p>{{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a rel="noreferrer" target="_blank" href="https://matomo.org/docs/javascript-tracking/">','</a>')|raw }}</p>
+ <p>{{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/docs/javascript-tracking/">','</a>')|raw }}</p>
{% if isInstall is defined %}
<p>{{ 'Installation_JSTracking_EndNote'|translate('', '')|raw }}</p>
@@ -21,13 +21,13 @@
<h3>{{ 'SitesManager_LogAnalytics'|translate }}</h3>
- <p>{{ 'SitesManager_LogAnalyticsDescription'|translate('<a href="https://matomo.org/log-analytics/" rel="noreferrer" target="_blank">', '</a>')|raw }}</p>
+ <p>{{ 'SitesManager_LogAnalyticsDescription'|translate('<a href="https://matomo.org/log-analytics/" rel="noreferrer noopener" target="_blank">', '</a>')|raw }}</p>
<h3>{{ 'SitesManager_MobileAppsAndSDKs'|translate }}</h3>
- <p>{{ 'SitesManager_MobileAppsAndSDKsDescription'|translate('<a href="https://matomo.org/integrate/#programming-language-platforms-and-frameworks" rel="noreferrer" target="_blank">','</a>')|raw }}</p>
+ <p>{{ 'SitesManager_MobileAppsAndSDKsDescription'|translate('<a href="https://matomo.org/integrate/#programming-language-platforms-and-frameworks" rel="noreferrer noopener" target="_blank">','</a>')|raw }}</p>
<p></p>
{{ postEvent('Template.endTrackingHelpPage') }}
-</div> \ No newline at end of file
+</div>
diff --git a/plugins/SitesManager/templates/siteWithoutData.twig b/plugins/SitesManager/templates/siteWithoutData.twig
index 2200d0900c..3bee12e49d 100644
--- a/plugins/SitesManager/templates/siteWithoutData.twig
+++ b/plugins/SitesManager/templates/siteWithoutData.twig
@@ -42,9 +42,9 @@
'module': 'Goals',
'action': 'manage',
}) ~ '">', "</a>",
- '<a href="https://matomo.org/features/" rel="noreferrer" target="_blank">', "</a>",
- '<a href="https://matomo.org/docs/" rel="noreferrer" target="_blank">', "</a>",
- '<a href="https://matomo.org/faq/" rel="noreferrer" target="_blank">', "</a>")|raw }}
+ '<a href="https://matomo.org/features/" rel="noreferrer noopener" target="_blank">', "</a>",
+ '<a href="https://matomo.org/docs/" rel="noreferrer noopener" target="_blank">', "</a>",
+ '<a href="https://matomo.org/faq/" rel="noreferrer noopener" target="_blank">', "</a>")|raw }}
<br />
<br />
diff --git a/plugins/SitesManager/templates/sites-list/site-fields.html b/plugins/SitesManager/templates/sites-list/site-fields.html
index 250ae93e08..b020f31b01 100644
--- a/plugins/SitesManager/templates/sites-list/site-fields.html
+++ b/plugins/SitesManager/templates/sites-list/site-fields.html
@@ -33,7 +33,7 @@
<li>
<span class="title">{{ 'SitesManager_Urls'|translate }}</span>:
<span ng-repeat="url in site.alias_urls">
- <a target=_blank rel=noreferrer ng-href="{{ url }}">{{ url }}{{$last ? '' : ', '}}</a>
+ <a target=_blank rel="noreferrer noopener" ng-href="{{ url }}">{{ url }}{{$last ? '' : ', '}}</a>
</span>
</li>
<li ng-show="site.excluded_ips.length">
diff --git a/plugins/Transitions/javascripts/transitions.js b/plugins/Transitions/javascripts/transitions.js
index e4efbe2def..944fb0c765 100644
--- a/plugins/Transitions/javascripts/transitions.js
+++ b/plugins/Transitions/javascripts/transitions.js
@@ -249,18 +249,22 @@ Piwik_Transitions.prototype.preparePopover = function () {
if (self.actionType == 'url') {
title = Piwik_Transitions_Util.shortenUrl(title, true);
}
- title = self.centerBox.find('h2')
- .addClass('Transitions_ApplyTextAndTruncate')
- .data('text', title)
- .data('maxLines', 3);
-
+ var h2 = self.centerBox.find('h2');
+ var textContainer = h2;
if (self.actionType == 'url') {
- title.click(function () {
- self.openExternalUrl(self.actionName);
- }).css('cursor', 'pointer');
+ var a = $(document.createElement('a'));
+ a.attr('href', self.actionName);
+ a.attr('rel', 'noreferrer noopener');
+ a.attr('target', '_blank');
+ h2.append(a);
+ textContainer = a;
}
- var element = title.add(self.popover.find('p.Transitions_Pageviews'));
+ textContainer.addClass('Transitions_ApplyTextAndTruncate')
+ .data('text', title)
+ .data('maxLines', 3);
+
+ var element = textContainer.add(self.popover.find('p.Transitions_Pageviews'));
element.tooltip({
track: true,
@@ -564,15 +568,11 @@ Piwik_Transitions.prototype.renderOpenGroup = function (groupName, side, onlyBg)
if (!isOthers && (groupName == 'previousPages' || groupName == 'followingPages')) {
onClick = (function (url) {
return function () {
- self.reloadPopover(url);
+ self.reloadPopover(url.replace(/^(?!http)/, 'http://'));
};
})(label);
} else if (!isOthers && (groupName == 'outlinks' || groupName == 'websites' || groupName == 'downloads')) {
- onClick = (function (url) {
- return function () {
- self.openExternalUrl(url);
- };
- })(label);
+ onClick = label
}
var tooltip = Piwik_Transitions_Translations.XOfY;
@@ -742,17 +742,6 @@ Piwik_Transitions.prototype.unHighlightGroup = function (groupName, side) {
this.renderLoops();
};
-/** Open a link in a new tab */
-Piwik_Transitions.prototype.openExternalUrl = function (url) {
- if (url.substring(0, 4) != 'http') {
- // internal pages don't have the protocol
- // external links / downloads have the protocol
- url = 'http://' + url;
- }
- url = piwik.piwik_url + '?module=Proxy&action=redirect&url=' + encodeURIComponent(url);
- window.open(url, '_newtab');
-};
-
// --------------------------------------
// CANVAS
// --------------------------------------
@@ -906,17 +895,27 @@ Piwik_Transitions_Canvas.prototype.renderText = function (text, x, y, cssClass,
div.addClass('Transitions_' + cssClass);
}
}
+ var textContainer = div;
if (onClick) {
- div.css('cursor', 'pointer').hover(function () {
- $(this).addClass('Transitions_Hover');
- },function () {
- $(this).removeClass('Transitions_Hover');
- }).click(onClick);
+ if (typeof onClick == 'function') {
+ div.css('cursor', 'pointer').hover(function () {
+ $(this).addClass('Transitions_Hover');
+ },function () {
+ $(this).removeClass('Transitions_Hover');
+ }).click(onClick);
+ } else {
+ var a = $(document.createElement('a'));
+ a.attr('href', onClick);
+ a.attr('rel', 'noreferrer noopener');
+ a.attr('target', '_blank');
+ div.append(a);
+ textContainer = a;
+ }
}
if (maxLines) {
- div.addClass('Transitions_ApplyTextAndTruncate').data('text', text);
+ textContainer.addClass('Transitions_ApplyTextAndTruncate').data('text', text);
} else {
- div.html(text);
+ textContainer.html(text);
}
return div;
};
@@ -1025,7 +1024,7 @@ Piwik_Transitions_Canvas.prototype.renderBox = function (params) {
// text inside the box
if (params.boxText && !params.onlyBg) {
- var onClick = typeof params.onClick == 'function' ? params.onClick : false;
+ var onClick = params.onClick;
var boxTextLeft, boxTextTop, el;
if (params.side == 'left') {
boxTextLeft = this.leftBoxBeginX + 10;
diff --git a/plugins/Transitions/stylesheets/transitions.less b/plugins/Transitions/stylesheets/transitions.less
index bc5f8fe0a3..3ddbe1d12d 100644
--- a/plugins/Transitions/stylesheets/transitions.less
+++ b/plugins/Transitions/stylesheets/transitions.less
@@ -66,6 +66,10 @@
overflow: hidden;
color: #255792;
margin: 0;
+
+ a {
+ color: inherit;
+ }
}
.Transitions_Pageviews {
@@ -195,4 +199,4 @@ body .ui-tooltip.Transitions_Tooltip_Small {
.Transitions_SingleLine {
font-size: 12px;
height: 21px;
-} \ No newline at end of file
+}
diff --git a/plugins/UserCountry/Diagnostic/GeolocationDiagnostic.php b/plugins/UserCountry/Diagnostic/GeolocationDiagnostic.php
index fa6497c199..52a648e270 100644
--- a/plugins/UserCountry/Diagnostic/GeolocationDiagnostic.php
+++ b/plugins/UserCountry/Diagnostic/GeolocationDiagnostic.php
@@ -56,12 +56,12 @@ class GeolocationDiagnostic implements Diagnostic
$comment = $this->translator->translate('UserCountry_GeoIpLocationProviderNotRecomnended') . ' ';
$message = Manager::getInstance()->isPluginActivated('GeoIp2') ? 'GeoIp2_LocationProviderDesc_ServerModule2' : 'UserCountry_GeoIpLocationProviderDesc_ServerBased2';
$comment .= $this->translator->translate($message, array(
- '<a href="https://matomo.org/docs/geo-locate/" rel="noreferrer" target="_blank">', '', '', '</a>'
+ '<a href="https://matomo.org/docs/geo-locate/" rel="noreferrer noopener" target="_blank">', '', '', '</a>'
));
} else {
$comment = $this->translator->translate('UserCountry_DefaultLocationProviderDesc1') . ' ';
$comment .= $this->translator->translate('UserCountry_DefaultLocationProviderDesc2', array(
- '<a href="https://matomo.org/docs/geo-locate/" rel="noreferrer" target="_blank">', '', '', '</a>'
+ '<a href="https://matomo.org/docs/geo-locate/" rel="noreferrer noopener" target="_blank">', '', '', '</a>'
));
}
diff --git a/plugins/UserCountry/LocationProvider/DefaultProvider.php b/plugins/UserCountry/LocationProvider/DefaultProvider.php
index b5b32ec8c2..32be534a7b 100644
--- a/plugins/UserCountry/LocationProvider/DefaultProvider.php
+++ b/plugins/UserCountry/LocationProvider/DefaultProvider.php
@@ -104,7 +104,7 @@ class DefaultProvider extends LocationProvider
$desc = Piwik::translate('UserCountry_DefaultLocationProviderDesc1') . ' '
. Piwik::translate('UserCountry_DefaultLocationProviderDesc2',
array('<strong>', '', '', '</strong>'))
- . '<p><a href="https://matomo.org/faq/how-to/#faq_163" rel="noreferrer" target="_blank">'
+ . '<p><a href="https://matomo.org/faq/how-to/#faq_163" rel="noreferrer noopener" target="_blank">'
. Piwik::translate('UserCountry_HowToInstallGeoIPDatabases')
. '</a></p>';
return array('id' => self::ID, 'title' => self::TITLE, 'description' => $desc, 'order' => 1);
diff --git a/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php b/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php
index 8171485e42..0fc7c32cd5 100644
--- a/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php
+++ b/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php
@@ -217,7 +217,7 @@ class Pecl extends GeoIp
{
$desc = Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Pecl1') . '<br/><br/>'
. Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Pecl2');
- $installDocs = '<a rel="noreferrer" target="_blank" href="https://matomo.org/faq/how-to/#faq_164">'
+ $installDocs = '<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/how-to/#faq_164">'
. Piwik::translate('UserCountry_HowToInstallGeoIpPecl')
. '</a>';
diff --git a/plugins/UserCountry/LocationProvider/GeoIp/Php.php b/plugins/UserCountry/LocationProvider/GeoIp/Php.php
index db274f6bf7..1969376edc 100644
--- a/plugins/UserCountry/LocationProvider/GeoIp/Php.php
+++ b/plugins/UserCountry/LocationProvider/GeoIp/Php.php
@@ -324,7 +324,7 @@ class Php extends GeoIp
$desc = Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Php1') . '<br/><br/>'
. Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Php2',
array('<strong>', '</strong>', '<strong>', '</strong>'));
- $installDocs = '<a rel="noreferrer" target="_blank" href="https://matomo.org/faq/how-to/#faq_163">'
+ $installDocs = '<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/how-to/#faq_163">'
. Piwik::translate('UserCountry_HowToInstallGeoIPDatabases')
. '</a>';
diff --git a/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php b/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php
index 2a597bd030..08e1f6d298 100644
--- a/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php
+++ b/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php
@@ -223,10 +223,10 @@ class ServerBased extends GeoIp
. Piwik::translate('UserCountry_GeoIpLocationProviderDesc_ServerBased2',
array('<strong>', '</strong>', '<strong>', '</strong>'));
$installDocs =
- '<a rel="noreferrer" target="_blank" href="https://matomo.org/faq/how-to/#faq_165">'
+ '<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/how-to/#faq_165">'
. Piwik::translate('UserCountry_HowToInstallApacheModule')
. '</a><br/>'
- . '<a rel="noreferrer" target="_blank" href="https://matomo.org/faq/how-to/#faq_166">'
+ . '<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/how-to/#faq_166">'
. Piwik::translate('UserCountry_HowToInstallNginxModule')
. '</a>';
diff --git a/plugins/UserCountry/Reports/Base.php b/plugins/UserCountry/Reports/Base.php
index 7a6166dec4..ac02c16a6d 100644
--- a/plugins/UserCountry/Reports/Base.php
+++ b/plugins/UserCountry/Reports/Base.php
@@ -23,9 +23,9 @@ abstract class Base extends \Piwik\Plugin\Report
protected function getGeoIPReportDocSuffix()
{
return Piwik::translate('UserCountry_GeoIPDocumentationSuffix',
- array('<a rel="noreferrer" target="_blank" href="http://www.maxmind.com/?rId=piwik">',
+ array('<a rel="noreferrer noopener" target="_blank" href="http://www.maxmind.com/?rId=piwik">',
'</a>',
- '<a rel="noreferrer" target="_blank" href="http://www.maxmind.com/en/city_accuracy?rId=piwik">',
+ '<a rel="noreferrer noopener" target="_blank" href="http://www.maxmind.com/en/city_accuracy?rId=piwik">',
'</a>')
);
}
@@ -50,11 +50,11 @@ abstract class Base extends \Piwik\Plugin\Report
$footerMessage .= ' ' . Piwik::translate('UserCountry_NoDataForGeoIPReport2',
array('<a target="_blank" href="' . Url::getCurrentQueryStringWithParametersModified($params) . '">',
'</a>',
- '<a rel="noreferrer" target="_blank" href="http://dev.maxmind.com/geoip/geolite?rId=piwik">',
+ '<a rel="noreferrer noopener" target="_blank" href="http://dev.maxmind.com/geoip/geolite?rId=piwik">',
'</a>'));
} else {
$footerMessage .= ' ' . Piwik::translate('UserCountry_ToGeolocateOldVisits',
- array('<a rel="noreferrer" target="_blank" href="https://matomo.org/faq/how-to/#faq_167">', '</a>'));
+ array('<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/how-to/#faq_167">', '</a>'));
}
$view->config->show_footer_message = $footerMessage;
diff --git a/plugins/UserCountry/Reports/GetCountry.php b/plugins/UserCountry/Reports/GetCountry.php
index f3e8f2fcd3..5ea33cdced 100644
--- a/plugins/UserCountry/Reports/GetCountry.php
+++ b/plugins/UserCountry/Reports/GetCountry.php
@@ -39,7 +39,7 @@ class GetCountry extends Base
// if we're using the default location provider, add a note explaining how it works
$footerMessage = Piwik::translate("General_Note") . ': '
. Piwik::translate('UserCountry_DefaultLocationProviderExplanation',
- array('<a rel="noreferrer" target="_blank" href="https://matomo.org/docs/geo-locate/">', '</a>'));
+ array('<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/docs/geo-locate/">', '</a>'));
$view->config->show_footer_message = $footerMessage;
}
diff --git a/plugins/UserCountry/templates/adminIndex.twig b/plugins/UserCountry/templates/adminIndex.twig
index ea26230f5f..1a093612b0 100644
--- a/plugins/UserCountry/templates/adminIndex.twig
+++ b/plugins/UserCountry/templates/adminIndex.twig
@@ -18,7 +18,7 @@
<h3 style="margin-top:0;">{{ 'UserCountry_HowToSetupGeoIP'|translate }}</h3>
<p>{{ 'UserCountry_HowToSetupGeoIPIntro'|translate }}</p>
<ul style="list-style:disc !important;margin-left:2em;">
- <li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step1'|translate('<a href="'~geoLiteUrl~'">','</a>','<a rel="noreferrer" target="_blank" href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}</li>
+ <li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step1'|translate('<a rel="noreferrer noopener" href="'~geoLiteUrl~'">','</a>','<a rel="noreferrer noopener" target="_blank" href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}</li>
<li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step2'|translate("'"~geoLiteFilename~"'",'<strong>','</strong>')|raw }}</li>
<li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step3'|translate('<strong>','</strong>','<span style="color:green"><strong>','</strong></span>')|raw }}</li>
<li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step4'|translate }}</li>
diff --git a/plugins/UsersManager/templates/index.twig b/plugins/UsersManager/templates/index.twig
index 941affc6e3..5f2b9076dd 100644
--- a/plugins/UsersManager/templates/index.twig
+++ b/plugins/UsersManager/templates/index.twig
@@ -54,8 +54,8 @@
<th class='first'>{{ 'UsersManager_User'|translate }}</th>
<th>{{ 'UsersManager_Alias'|translate }}</th>
<th>{{ 'UsersManager_PrivNone'|translate }}</th>
- <th>{{ 'UsersManager_PrivView'|translate }} <a href="https://matomo.org/faq/general/faq_70/" rel="noreferrer" target="_blank" class="helpLink"><span class="icon-help"></span></a></th>
- <th>{{ 'UsersManager_PrivAdmin'|translate }} <a href="https://matomo.org/faq/general/faq_69/" rel="noreferrer" target="_blank" class="helpLink"><span class="icon-help"></span></a></th>
+ <th>{{ 'UsersManager_PrivView'|translate }} <a href="https://matomo.org/faq/general/faq_70/" rel="noreferrer noopener" target="_blank" class="helpLink"><span class="icon-help"></span></a></th>
+ <th>{{ 'UsersManager_PrivAdmin'|translate }} <a href="https://matomo.org/faq/general/faq_69/" rel="noreferrer noopener" target="_blank" class="helpLink"><span class="icon-help"></span></a></th>
</tr>
</thead>
@@ -268,7 +268,7 @@
<tr>
<th class='first'>{{ 'UsersManager_User'|translate }}</th>
<th>{{ 'UsersManager_Alias'|translate }}</th>
- <th>{{ 'Installation_SuperUser'|translate }} <a href="https://matomo.org/faq/general/faq_35/" rel="noreferrer" target="_blank" class="helpLink"><span class="icon-help"></span></a></th>
+ <th>{{ 'Installation_SuperUser'|translate }} <a href="https://matomo.org/faq/general/faq_35/" rel="noreferrer noopener" target="_blank" class="helpLink"><span class="icon-help"></span></a></th>
</tr>
</thead>
diff --git a/plugins/UsersManager/templates/userSettings.twig b/plugins/UsersManager/templates/userSettings.twig
index da76435406..885d1e9750 100644
--- a/plugins/UsersManager/templates/userSettings.twig
+++ b/plugins/UsersManager/templates/userSettings.twig
@@ -35,7 +35,7 @@
</div>
<div id="languageHelp" class="inline-help-node">
- <a href="?module=Proxy&amp;action=redirect&amp;url=https://matomo.org/translations/" target="_blank">
+ <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/translations/">
{{ 'LanguagesManager_AboutPiwikTranslations'|translate }}</a>
</div>
diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php
index 0f51480296..4ea1137195 100644
--- a/plugins/VisitsSummary/Controller.php
+++ b/plugins/VisitsSummary/Controller.php
@@ -77,7 +77,7 @@ class Controller extends \Piwik\Plugin\Controller
. $this->translator->translate('General_ColumnNbActionsDocumentation') . '<br />'
. '<b>' . $this->translator->translate('General_ColumnNbUsers') . ':</b> '
- . $this->translator->translate('General_ColumnNbUsersDocumentation') . ' (<a rel="noreferrer" target="_blank" href="https://matomo.org/docs/user-id/">User ID</a>)<br />'
+ . $this->translator->translate('General_ColumnNbUsersDocumentation') . ' (<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/docs/user-id/">User ID</a>)<br />'
. '<b>' . $this->translator->translate('General_ColumnActionsPerVisit') . ':</b> '
. $this->translator->translate('General_ColumnActionsPerVisitDocumentation');
diff --git a/plugins/Widgetize/angularjs/widget-preview/widget-preview.directive.js b/plugins/Widgetize/angularjs/widget-preview/widget-preview.directive.js
index eb9961548b..405e91904a 100644
--- a/plugins/Widgetize/angularjs/widget-preview/widget-preview.directive.js
+++ b/plugins/Widgetize/angularjs/widget-preview/widget-preview.directive.js
@@ -73,7 +73,7 @@
'</div>' +
'</div>' +
'<div> <label for="embedThisWidgetDirectLink">&rsaquo; Direct Link</label>' +
- '<div id="embedThisWidgetDirectLink"> ' + self.getInputFormWithHtml('directLinkEmbed', urlIframe) + ' - <a href="' + urlIframe + '" rel="noreferrer" target="_blank">' + _pk_translate('Widgetize_OpenInNewWindow') + '</a></div>'
+ '<div id="embedThisWidgetDirectLink"> ' + self.getInputFormWithHtml('directLinkEmbed', urlIframe) + ' - <a href="' + urlIframe + '" rel="noreferrer noopener" target="_blank">' + _pk_translate('Widgetize_OpenInNewWindow') + '</a></div>'
+ '</div>'
);
@@ -96,4 +96,4 @@
}
};
}
-})(); \ No newline at end of file
+})();
diff --git a/plugins/Widgetize/templates/index.twig b/plugins/Widgetize/templates/index.twig
index 80d77ee6af..3c4d1529e0 100644
--- a/plugins/Widgetize/templates/index.twig
+++ b/plugins/Widgetize/templates/index.twig
@@ -14,20 +14,20 @@
<div class="widgetize" ng-controller="ExportWidgetController as exportWidget">
<div piwik-content-intro>
<h2 piwik-enriched-headline>{{ title|e('html_attr') }}</h2>
- <p>With Matomo, you can <a rel="noreferrer" target="_blank" href="https://matomo.org/docs/embed-piwik-report/">export your Web Analytics reports</a> on your blog, website, or intranet dashboard... in one click.</p>
+ <p>With Matomo, you can <a rel="noreferrer noopener" target="_blank" href="https://matomo.org/docs/embed-piwik-report/">export your Web Analytics reports</a> on your blog, website, or intranet dashboard... in one click.</p>
</div>
<div piwik-content-block content-title="Authentication">
<p>
If you want your widgets to be viewable by everybody, you first have to set the 'view' permissions
- to the anonymous user in the <a href='index.php?module=UsersManager' rel='noreferrer' target='_blank'>Users Management section</a>.
+ to the anonymous user in the <a href='index.php?module=UsersManager' rel='noreferrer noopener' target='_blank'>Users Management section</a>.
<br/>Alternatively, if you are publishing widgets on a password protected or private page,
you don't necessarily have to allow 'anonymous' to view your reports. In this case, you can add the secret token_auth parameter (found in the
- <a href='{{ linkTo({'module':'API','action':'listAllAPI'}) }}' rel='noreferrer' target='_blank'>API page</a>) in the widget URL.
+ <a href='{{ linkTo({'module':'API','action':'listAllAPI'}) }}' rel='noreferrer noopener' target='_blank'>API page</a>) in the widget URL.
</p>
</div>
<div piwik-content-block content-title="Widgetize dashboards">
<p>You can also display the full Matomo dashboard in your application or website in an IFRAME
- (<a ng-href='{{ '{{ exportWidget.dashboardUrl }}'|raw }}' rel='noreferrer' target='_blank' >see example</a>).
+ (<a ng-href='{{ '{{ exportWidget.dashboardUrl }}'|raw }}' rel='noreferrer noopener' target='_blank' >see example</a>).
The date parameter can be set to a specific calendar date, "today", or "yesterday". The period parameter can be set to "day", "week", "month", or
"year".
The language parameter can be set to the language code of a translation, such as language=fr.
@@ -39,7 +39,7 @@
<br />
You can also widgetize the all websites dashboard in an IFRAME
- (<a ng-href='{{ '{{ exportWidget.allWebsitesDashboardUrl }}'|raw }}' rel='noreferrer' target='_blank' id='linkAllWebsitesDashboardUrl'>see example</a>)
+ (<a ng-href='{{ '{{ exportWidget.allWebsitesDashboardUrl }}'|raw }}' rel='noreferrer noopener' target='_blank' id='linkAllWebsitesDashboardUrl'>see example</a>)
<br />
diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getSystemSettings.xml b/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getSystemSettings.xml
index c38b87eae4..c02114e485 100644
--- a/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getSystemSettings.xml
+++ b/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getSystemSettings.xml
@@ -288,7 +288,7 @@
<latest_2x_beta>Latest beta 2.X (Long Term Support version)</latest_2x_beta>
</availableValues>
<description />
- <inlineHelp>While our &lt;a href='?module=Proxy&amp;action=redirect&amp;url=https://matomo.org/participate/development-process/' target='_blank'&gt;development process&lt;/a&gt; includes thousands of automated tests, Beta Testers play a key role in achieving the &quot;No bug policy&quot; in Matomo.&lt;br/&gt;If Matomo is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please &lt;a href='?module=Proxy&amp;action=redirect&amp;url=https%3A%2F%2Fdeveloper.matomo.org%2Fguides%2Fcore-team-workflow%23influencing-piwik-development' target='_blank'&gt;see here&lt;/a&gt;.&lt;br /&gt;LTS (Long Term Support) versions receive only security and bug fixes.</inlineHelp>
+ <inlineHelp>While our &lt;a target='_blank' rel='noreferrer noopener' href='https://matomo.org/participate/development-process/'&gt;development process&lt;/a&gt; includes thousands of automated tests, Beta Testers play a key role in achieving the &quot;No bug policy&quot; in Matomo.&lt;br/&gt;If Matomo is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please &lt;a target='_blank' rel='noreferrer noopener' href='https://developer.matomo.org/guides/core-team-workflow#influencing-piwik-development'&gt;see here&lt;/a&gt;.&lt;br /&gt;LTS (Long Term Support) versions receive only security and bug fixes.</inlineHelp>
<templateFile />
<introduction>Release channel</introduction>
<condition />
@@ -715,4 +715,4 @@ Another line</defaultValue>
</row>
</settings>
</row>
-</result> \ No newline at end of file
+</result>
diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getSystemSettings.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getSystemSettings.xml
index c38b87eae4..c02114e485 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getSystemSettings.xml
+++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getSystemSettings.xml
@@ -288,7 +288,7 @@
<latest_2x_beta>Latest beta 2.X (Long Term Support version)</latest_2x_beta>
</availableValues>
<description />
- <inlineHelp>While our &lt;a href='?module=Proxy&amp;action=redirect&amp;url=https://matomo.org/participate/development-process/' target='_blank'&gt;development process&lt;/a&gt; includes thousands of automated tests, Beta Testers play a key role in achieving the &quot;No bug policy&quot; in Matomo.&lt;br/&gt;If Matomo is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please &lt;a href='?module=Proxy&amp;action=redirect&amp;url=https%3A%2F%2Fdeveloper.matomo.org%2Fguides%2Fcore-team-workflow%23influencing-piwik-development' target='_blank'&gt;see here&lt;/a&gt;.&lt;br /&gt;LTS (Long Term Support) versions receive only security and bug fixes.</inlineHelp>
+ <inlineHelp>While our &lt;a target='_blank' rel='noreferrer noopener' href='https://matomo.org/participate/development-process/'&gt;development process&lt;/a&gt; includes thousands of automated tests, Beta Testers play a key role in achieving the &quot;No bug policy&quot; in Matomo.&lt;br/&gt;If Matomo is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please &lt;a target='_blank' rel='noreferrer noopener' href='https://developer.matomo.org/guides/core-team-workflow#influencing-piwik-development'&gt;see here&lt;/a&gt;.&lt;br /&gt;LTS (Long Term Support) versions receive only security and bug fixes.</inlineHelp>
<templateFile />
<introduction>Release channel</introduction>
<condition />
@@ -715,4 +715,4 @@ Another line</defaultValue>
</row>
</settings>
</row>
-</result> \ No newline at end of file
+</result>
diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml
index 8b26d43ba3..8e833d0e73 100644
--- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml
@@ -9,7 +9,7 @@
<module>Actions</module>
<action>getSiteSearchKeywords</action>
<dimension>Keyword</dimension>
- <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.&lt;br/&gt;&lt;br/&gt;Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://matomo.org/docs/site-search/&quot; rel=&quot;noreferrer&quot; target=&quot;_blank&quot;&gt;Learn more about Tracking how your visitors use your Search engine.&lt;/a&gt;</documentation>
+ <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.&lt;br/&gt;&lt;br/&gt;Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://matomo.org/docs/site-search/&quot; rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot;&gt;Learn more about Tracking how your visitors use your Search engine.&lt;/a&gt;</documentation>
<metrics>
<nb_visits>Searches</nb_visits>
<nb_pages_per_search>Search Results pages</nb_pages_per_search>
@@ -93,4 +93,4 @@
<nb_hits>13</nb_hits>
<exit_nb_visits>2</exit_nb_visits>
</reportTotal>
-</result> \ No newline at end of file
+</result>
diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml
index 8377a9f040..00a27ff413 100644
--- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml
+++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml
@@ -9,7 +9,7 @@
<module>Actions</module>
<action>getSiteSearchKeywords</action>
<dimension>Keyword</dimension>
- <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.&lt;br/&gt;&lt;br/&gt;Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://matomo.org/docs/site-search/&quot; rel=&quot;noreferrer&quot; target=&quot;_blank&quot;&gt;Learn more about Tracking how your visitors use your Search engine.&lt;/a&gt;</documentation>
+ <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.&lt;br/&gt;&lt;br/&gt;Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://matomo.org/docs/site-search/&quot; rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot;&gt;Learn more about Tracking how your visitors use your Search engine.&lt;/a&gt;</documentation>
<metrics>
<nb_visits>Searches</nb_visits>
<nb_pages_per_search>Search Results pages</nb_pages_per_search>
@@ -86,4 +86,4 @@
<nb_hits>13</nb_hits>
<exit_nb_visits>2</exit_nb_visits>
</reportTotal>
-</result> \ No newline at end of file
+</result>
diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_day.xml
index dd9cbff2e9..170015ac60 100644
--- a/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_day.xml
@@ -9,7 +9,7 @@
<module>CustomVariables</module>
<action>getCustomVariables</action>
<dimension>Custom Variable name</dimension>
- <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. &lt;br /&gt; For more information about Custom Variables in general, read the &lt;a href=&quot;https://matomo.org/docs/custom-variables/&quot; rel=&quot;noreferrer&quot; target=&quot;_blank&quot;&gt;Custom Variables documentation on piwik.org&lt;/a&gt;</documentation>
+ <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. &lt;br /&gt; For more information about Custom Variables in general, read the &lt;a href=&quot;https://matomo.org/docs/custom-variables/&quot; rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot;&gt;Custom Variables documentation on piwik.org&lt;/a&gt;</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
@@ -169,4 +169,4 @@
<nb_uniq_visitors>11</nb_uniq_visitors>
<nb_actions>14</nb_actions>
</reportTotal>
-</result> \ No newline at end of file
+</result>
diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml
index bbc2026ff4..7daf5b3b12 100644
--- a/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml
+++ b/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml
@@ -9,7 +9,7 @@
<module>CustomVariables</module>
<action>getCustomVariables</action>
<dimension>Custom Variable name</dimension>
- <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. &lt;br /&gt; For more information about Custom Variables in general, read the &lt;a href=&quot;https://matomo.org/docs/custom-variables/&quot; rel=&quot;noreferrer&quot; target=&quot;_blank&quot;&gt;Custom Variables documentation on piwik.org&lt;/a&gt;</documentation>
+ <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. &lt;br /&gt; For more information about Custom Variables in general, read the &lt;a href=&quot;https://matomo.org/docs/custom-variables/&quot; rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot;&gt;Custom Variables documentation on piwik.org&lt;/a&gt;</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
<nb_actions>Actions</nb_actions>
@@ -114,4 +114,4 @@
<nb_visits>11</nb_visits>
<nb_actions>14</nb_actions>
</reportTotal>
-</result> \ No newline at end of file
+</result>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_row_evolution_graph__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_row_evolution_graph__ScheduledReports.generateReport_month.original.html
index dc8074c621..4db7974660 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_row_evolution_graph__ScheduledReports.generateReport_month.original.html
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_row_evolution_graph__ScheduledReports.generateReport_month.original.html
@@ -14,7 +14,7 @@
<table style="width:100%; background-color:#37474f; padding:10px 0; margin: 0 0 25px 0; height:64px;">
<tr>
<td>
- <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
+ <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer noopener" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
<img src="http://example.com/piwik/tests/PHPUnit/proxy//plugins/Morpheus/images/logo-email.png" height="20px" width="auto" alt="Matomo, free/libre analytics platform" />
</a>
</td>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_month.original.html
index 8a7cd61d3f..2faffb352d 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_month.original.html
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_month.original.html
@@ -14,7 +14,7 @@
<table style="width:100%; background-color:#37474f; padding:10px 0; margin: 0 0 25px 0; height:64px;">
<tr>
<td>
- <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
+ <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer noopener" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
<img src="http://example.com/piwik/tests/PHPUnit/proxy//plugins/Morpheus/images/logo-email.png" height="20px" width="auto" alt="Matomo, free/libre analytics platform" />
</a>
</td>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
index 203c1e34c7..8bd58fa93b 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
@@ -14,7 +14,7 @@
<table style="width:100%; background-color:#37474f; padding:10px 0; margin: 0 0 25px 0; height:64px;">
<tr>
<td>
- <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
+ <a style="font-size:16px;padding:0 15px;color:#ffffff;height: 22px;display: inline-block;vertical-align: inherit;" rel="noreferrer noopener" target="_blank" href="http://example.com/piwik/tests/PHPUnit/proxy/" style="lineheight:17px">
<img src="http://example.com/piwik/tests/PHPUnit/proxy//plugins/Morpheus/images/logo-email.png" height="20px" width="auto" alt="Matomo, free/libre analytics platform" />
</a>
</td>
diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getGlossaryReports.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getGlossaryReports.xml
index a7573af16e..33041a0be6 100644
--- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getGlossaryReports.xml
+++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getGlossaryReports.xml
@@ -18,11 +18,11 @@
</row>
<row>
<name>Campaigns (Referrers)</name>
- <documentation>This report shows which campaigns led visitors to your website. &lt;br /&gt; For more information about tracking campaigns, read the &lt;a href=&quot;https://matomo.org/docs/tracking-campaigns/&quot; rel=&quot;noreferrer&quot; target=&quot;_blank&quot;&gt;campaigns documentation on piwik.org&lt;/a&gt;</documentation>
+ <documentation>This report shows which campaigns led visitors to your website. &lt;br /&gt; For more information about tracking campaigns, read the &lt;a href=&quot;https://matomo.org/docs/tracking-campaigns/&quot; rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot;&gt;campaigns documentation on piwik.org&lt;/a&gt;</documentation>
</row>
<row>
<name>City (Visitors)</name>
- <documentation>This report shows the cities your visitors were in when they accessed your website.&lt;br/&gt;In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial &lt;a rel=&quot;noreferrer&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/?rId=piwik&quot;&gt;Maxmind&lt;/a&gt; GeoIP databases are more accurate than the free ones. To see how accurate they are, click &lt;a rel=&quot;noreferrer&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/en/city_accuracy?rId=piwik&quot;&gt;here&lt;/a&gt;.</documentation>
+ <documentation>This report shows the cities your visitors were in when they accessed your website.&lt;br/&gt;In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial &lt;a rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/?rId=piwik&quot;&gt;Maxmind&lt;/a&gt; GeoIP databases are more accurate than the free ones. To see how accurate they are, click &lt;a rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/en/city_accuracy?rId=piwik&quot;&gt;here&lt;/a&gt;.</documentation>
</row>
<row>
<name>Configurations (Visitors)</name>
@@ -38,7 +38,7 @@
</row>
<row>
<name>Custom Variables (Visitors)</name>
- <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. &lt;br /&gt; For more information about Custom Variables in general, read the &lt;a href=&quot;https://matomo.org/docs/custom-variables/&quot; rel=&quot;noreferrer&quot; target=&quot;_blank&quot;&gt;Custom Variables documentation on piwik.org&lt;/a&gt;</documentation>
+ <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. &lt;br /&gt; For more information about Custom Variables in general, read the &lt;a href=&quot;https://matomo.org/docs/custom-variables/&quot; rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot;&gt;Custom Variables documentation on piwik.org&lt;/a&gt;</documentation>
</row>
<row>
<name>Downloads (Actions)</name>
@@ -98,7 +98,7 @@
</row>
<row>
<name>Region (Visitors)</name>
- <documentation>This report shows which region your visitors were in when they accessed your website.&lt;br/&gt;In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial &lt;a rel=&quot;noreferrer&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/?rId=piwik&quot;&gt;Maxmind&lt;/a&gt; GeoIP databases are more accurate than the free ones. To see how accurate they are, click &lt;a rel=&quot;noreferrer&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/en/city_accuracy?rId=piwik&quot;&gt;here&lt;/a&gt;.</documentation>
+ <documentation>This report shows which region your visitors were in when they accessed your website.&lt;br/&gt;In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial &lt;a rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/?rId=piwik&quot;&gt;Maxmind&lt;/a&gt; GeoIP databases are more accurate than the free ones. To see how accurate they are, click &lt;a rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/en/city_accuracy?rId=piwik&quot;&gt;here&lt;/a&gt;.</documentation>
</row>
<row>
<name>Search Categories (Actions)</name>
@@ -114,7 +114,7 @@
</row>
<row>
<name>Site Search Keywords (Actions)</name>
- <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.&lt;br/&gt;&lt;br/&gt;Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://matomo.org/docs/site-search/&quot; rel=&quot;noreferrer&quot; target=&quot;_blank&quot;&gt;Learn more about Tracking how your visitors use your Search engine.&lt;/a&gt;</documentation>
+ <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.&lt;br/&gt;&lt;br/&gt;Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://matomo.org/docs/site-search/&quot; rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot;&gt;Learn more about Tracking how your visitors use your Search engine.&lt;/a&gt;</documentation>
</row>
<row>
<name>Social Networks (Referrers)</name>
diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml
index 0387dc3eab..8a527ff33f 100644
--- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml
+++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml
@@ -104,7 +104,7 @@
<module>CustomVariables</module>
<action>getCustomVariables</action>
<dimension>Custom Variable name</dimension>
- <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. &lt;br /&gt; For more information about Custom Variables in general, read the &lt;a href=&quot;https://matomo.org/docs/custom-variables/&quot; rel=&quot;noreferrer&quot; target=&quot;_blank&quot;&gt;Custom Variables documentation on piwik.org&lt;/a&gt;</documentation>
+ <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. &lt;br /&gt; For more information about Custom Variables in general, read the &lt;a href=&quot;https://matomo.org/docs/custom-variables/&quot; rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot;&gt;Custom Variables documentation on piwik.org&lt;/a&gt;</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
@@ -885,7 +885,7 @@
<module>UserCountry</module>
<action>getRegion</action>
<dimension>Region</dimension>
- <documentation>This report shows which region your visitors were in when they accessed your website.&lt;br/&gt;In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial &lt;a rel=&quot;noreferrer&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/?rId=piwik&quot;&gt;Maxmind&lt;/a&gt; GeoIP databases are more accurate than the free ones. To see how accurate they are, click &lt;a rel=&quot;noreferrer&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/en/city_accuracy?rId=piwik&quot;&gt;here&lt;/a&gt;.</documentation>
+ <documentation>This report shows which region your visitors were in when they accessed your website.&lt;br/&gt;In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial &lt;a rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/?rId=piwik&quot;&gt;Maxmind&lt;/a&gt; GeoIP databases are more accurate than the free ones. To see how accurate they are, click &lt;a rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/en/city_accuracy?rId=piwik&quot;&gt;here&lt;/a&gt;.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
@@ -963,7 +963,7 @@
<module>UserCountry</module>
<action>getCity</action>
<dimension>City</dimension>
- <documentation>This report shows the cities your visitors were in when they accessed your website.&lt;br/&gt;In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial &lt;a rel=&quot;noreferrer&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/?rId=piwik&quot;&gt;Maxmind&lt;/a&gt; GeoIP databases are more accurate than the free ones. To see how accurate they are, click &lt;a rel=&quot;noreferrer&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/en/city_accuracy?rId=piwik&quot;&gt;here&lt;/a&gt;.</documentation>
+ <documentation>This report shows the cities your visitors were in when they accessed your website.&lt;br/&gt;In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial &lt;a rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/?rId=piwik&quot;&gt;Maxmind&lt;/a&gt; GeoIP databases are more accurate than the free ones. To see how accurate they are, click &lt;a rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot; href=&quot;http://www.maxmind.com/en/city_accuracy?rId=piwik&quot;&gt;here&lt;/a&gt;.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
@@ -1309,7 +1309,7 @@
<module>Actions</module>
<action>getSiteSearchKeywords</action>
<dimension>Keyword</dimension>
- <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.&lt;br/&gt;&lt;br/&gt;Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://matomo.org/docs/site-search/&quot; rel=&quot;noreferrer&quot; target=&quot;_blank&quot;&gt;Learn more about Tracking how your visitors use your Search engine.&lt;/a&gt;</documentation>
+ <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.&lt;br/&gt;&lt;br/&gt;Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://matomo.org/docs/site-search/&quot; rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot;&gt;Learn more about Tracking how your visitors use your Search engine.&lt;/a&gt;</documentation>
<metrics>
<nb_visits>Searches</nb_visits>
<nb_pages_per_search>Search Results pages</nb_pages_per_search>
@@ -1843,7 +1843,7 @@
<module>Referrers</module>
<action>getCampaigns</action>
<dimension>Campaign</dimension>
- <documentation>This report shows which campaigns led visitors to your website. &lt;br /&gt; For more information about tracking campaigns, read the &lt;a href=&quot;https://matomo.org/docs/tracking-campaigns/&quot; rel=&quot;noreferrer&quot; target=&quot;_blank&quot;&gt;campaigns documentation on piwik.org&lt;/a&gt;</documentation>
+ <documentation>This report shows which campaigns led visitors to your website. &lt;br /&gt; For more information about tracking campaigns, read the &lt;a href=&quot;https://matomo.org/docs/tracking-campaigns/&quot; rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot;&gt;campaigns documentation on piwik.org&lt;/a&gt;</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getSystemSettings.xml b/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getSystemSettings.xml
index c38b87eae4..c02114e485 100644
--- a/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getSystemSettings.xml
+++ b/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getSystemSettings.xml
@@ -288,7 +288,7 @@
<latest_2x_beta>Latest beta 2.X (Long Term Support version)</latest_2x_beta>
</availableValues>
<description />
- <inlineHelp>While our &lt;a href='?module=Proxy&amp;action=redirect&amp;url=https://matomo.org/participate/development-process/' target='_blank'&gt;development process&lt;/a&gt; includes thousands of automated tests, Beta Testers play a key role in achieving the &quot;No bug policy&quot; in Matomo.&lt;br/&gt;If Matomo is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please &lt;a href='?module=Proxy&amp;action=redirect&amp;url=https%3A%2F%2Fdeveloper.matomo.org%2Fguides%2Fcore-team-workflow%23influencing-piwik-development' target='_blank'&gt;see here&lt;/a&gt;.&lt;br /&gt;LTS (Long Term Support) versions receive only security and bug fixes.</inlineHelp>
+ <inlineHelp>While our &lt;a target='_blank' rel='noreferrer noopener' href='https://matomo.org/participate/development-process/'&gt;development process&lt;/a&gt; includes thousands of automated tests, Beta Testers play a key role in achieving the &quot;No bug policy&quot; in Matomo.&lt;br/&gt;If Matomo is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please &lt;a target='_blank' rel='noreferrer noopener' href='https://developer.matomo.org/guides/core-team-workflow#influencing-piwik-development'&gt;see here&lt;/a&gt;.&lt;br /&gt;LTS (Long Term Support) versions receive only security and bug fixes.</inlineHelp>
<templateFile />
<introduction>Release channel</introduction>
<condition />
@@ -715,4 +715,4 @@ Another line</defaultValue>
</row>
</settings>
</row>
-</result> \ No newline at end of file
+</result>
diff --git a/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getSystemSettings.xml b/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getSystemSettings.xml
index c38b87eae4..c02114e485 100644
--- a/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getSystemSettings.xml
+++ b/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getSystemSettings.xml
@@ -288,7 +288,7 @@
<latest_2x_beta>Latest beta 2.X (Long Term Support version)</latest_2x_beta>
</availableValues>
<description />
- <inlineHelp>While our &lt;a href='?module=Proxy&amp;action=redirect&amp;url=https://matomo.org/participate/development-process/' target='_blank'&gt;development process&lt;/a&gt; includes thousands of automated tests, Beta Testers play a key role in achieving the &quot;No bug policy&quot; in Matomo.&lt;br/&gt;If Matomo is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please &lt;a href='?module=Proxy&amp;action=redirect&amp;url=https%3A%2F%2Fdeveloper.matomo.org%2Fguides%2Fcore-team-workflow%23influencing-piwik-development' target='_blank'&gt;see here&lt;/a&gt;.&lt;br /&gt;LTS (Long Term Support) versions receive only security and bug fixes.</inlineHelp>
+ <inlineHelp>While our &lt;a target='_blank' rel='noreferrer noopener' href='https://matomo.org/participate/development-process/'&gt;development process&lt;/a&gt; includes thousands of automated tests, Beta Testers play a key role in achieving the &quot;No bug policy&quot; in Matomo.&lt;br/&gt;If Matomo is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please &lt;a target='_blank' rel='noreferrer noopener' href='https://developer.matomo.org/guides/core-team-workflow#influencing-piwik-development'&gt;see here&lt;/a&gt;.&lt;br /&gt;LTS (Long Term Support) versions receive only security and bug fixes.</inlineHelp>
<templateFile />
<introduction>Release channel</introduction>
<condition />
@@ -715,4 +715,4 @@ Another line</defaultValue>
</row>
</settings>
</row>
-</result> \ No newline at end of file
+</result>
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml
index 7c7cbee48d..c905efd913 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml
@@ -8,7 +8,7 @@
<module>CustomVariables</module>
<action>getCustomVariablesValuesFromNameId</action>
<dimension>Custom Variable value</dimension>
- <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. &lt;br /&gt; For more information about Custom Variables in general, read the &lt;a href=&quot;https://matomo.org/docs/custom-variables/&quot; rel=&quot;noreferrer&quot; target=&quot;_blank&quot;&gt;Custom Variables documentation on piwik.org&lt;/a&gt;</documentation>
+ <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. &lt;br /&gt; For more information about Custom Variables in general, read the &lt;a href=&quot;https://matomo.org/docs/custom-variables/&quot; rel=&quot;noreferrer noopener&quot; target=&quot;_blank&quot;&gt;Custom Variables documentation on piwik.org&lt;/a&gt;</documentation>
<isSubtableReport>1</isSubtableReport>
<metrics>
<nb_visits>Visits</nb_visits>
@@ -79,4 +79,4 @@
<bounce_count>4</bounce_count>
<revenue>2000</revenue>
</reportTotal>
-</result> \ No newline at end of file
+</result>