From 9c165f4ce96b96ac0d77d6d86ebf21ca49405f1c Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Thu, 27 Nov 2014 16:05:39 +1300 Subject: [PATCH] Fixes #3147 Add rel="noreferrer" to all outgoing links . This works in Firefox so far and only for "left clicks". Not perfect, but hopefully other browsers will implement this in the future, as it's a useful privacy enhancing feature! --- core/API/DocumentationGenerator.php | 16 +++--- core/Error.php | 2 +- core/Plugin/ControllerAdmin.php | 2 +- core/Session.php | 2 +- core/Updates/0.6-rc1.php | 4 +- core/Updates/1.2-rc1.php | 2 +- core/testMinimumPhpVersion.php | 14 ++--- plugins/API/API.php | 4 +- plugins/API/templates/listAllAPI.twig | 2 +- plugins/Actions/API.php | 2 +- .../Actions/Reports/GetSiteSearchKeywords.php | 2 +- .../templates/generalSettings.twig | 12 ++--- .../templates/trackingCodeGenerator.twig | 10 ++-- .../enrichedheadline.directive.html | 2 + plugins/CoreHome/javascripts/dataTable.js | 2 +- .../ReportRenderer/_htmlReportHeader.twig | 2 +- .../CoreHome/templates/_dataTableCell.twig | 2 +- plugins/CoreHome/templates/_donate.twig | 2 +- .../CoreHome/templates/_headerMessage.twig | 4 +- .../templates/_warningInvalidHost.twig | 4 +- plugins/CoreHome/templates/getPromoVideo.twig | 6 +-- .../templates/browsePlugins.twig | 2 +- .../CorePluginsAdmin/templates/macros.twig | 4 +- .../templates/pluginDetails.twig | 2 +- .../CorePluginsAdmin/templates/safemode.twig | 2 +- .../templates/oneClickResults.twig | 2 +- .../templates/runUpdaterAndExit_done.twig | 4 +- .../templates/runUpdaterAndExit_welcome.twig | 4 +- .../templates/_dataTableViz_tagCloud.twig | 2 +- plugins/CustomVariables/API.php | 2 +- .../Reports/GetCustomVariables.php | 2 +- .../GetCustomVariablesValuesFromNameId.php | 2 +- plugins/DBStats/templates/index.twig | 2 +- plugins/Dashboard/API.php | 2 +- plugins/ExampleAPI/API.php | 2 +- plugins/ExampleRssWidget/RssRenderer.php | 2 +- plugins/Feedback/templates/index.twig | 54 +++++++++---------- plugins/Goals/API.php | 2 +- plugins/Goals/Goals.php | 2 +- plugins/Goals/Visualizations/Goals.php | 2 +- plugins/Goals/templates/_addEditGoal.twig | 8 +-- plugins/Goals/templates/_formAddGoal.twig | 2 +- plugins/Goals/templates/addNewGoal.twig | 2 +- plugins/Installation/FormSuperUser.php | 2 +- .../templates/_systemCheckSection.twig | 8 +-- plugins/Installation/templates/finished.twig | 4 +- .../Installation/templates/reuseTables.twig | 2 +- .../Installation/templates/systemCheck.twig | 2 +- .../Installation/templates/trackingCode.twig | 4 +- plugins/LanguagesManager/API.php | 2 +- .../translationsearch.directive.html | 2 +- plugins/Live/API.php | 4 +- plugins/Live/templates/_actionsList.twig | 2 +- .../templates/_dataTableViz_visitorLog.twig | 6 +-- .../Live/templates/getLastVisitsStart.twig | 2 +- .../templates/getVisitorProfilePopup.twig | 2 +- plugins/Login/Controller.php | 2 +- plugins/Login/templates/login.twig | 2 +- plugins/MobileMessaging/SMSProvider.php | 6 +-- .../angularjs/site/site.directive.html | 4 +- plugins/Overlay/templates/index.twig | 4 +- .../templates/privacySettings.twig | 6 +-- plugins/Provider/Reports/GetProvider.php | 2 +- plugins/Referrers/API.php | 4 +- plugins/Referrers/Controller.php | 4 +- plugins/Referrers/Reports/GetCampaigns.php | 2 +- .../Reports/GetKeywordsFromCampaignId.php | 2 +- plugins/SEO/templates/getRank.twig | 4 +- plugins/ScheduledReports/API.php | 2 +- .../templates/_addReport.twig | 2 +- .../templates/_listReports.twig | 2 +- plugins/SecurityInfo | 2 +- .../templates/_segmentSelector.twig | 2 +- plugins/SitesManager/API.php | 2 +- .../templates/_displayJavascriptCode.twig | 4 +- .../UserCountry/LocationProvider/Default.php | 2 +- .../LocationProvider/GeoIp/Pecl.php | 2 +- .../LocationProvider/GeoIp/Php.php | 2 +- .../LocationProvider/GeoIp/ServerBased.php | 4 +- plugins/UserCountry/Reports/Base.php | 8 +-- plugins/UserCountry/Reports/GetCountry.php | 2 +- plugins/UserCountry/templates/adminIndex.twig | 2 +- plugins/UsersManager/API.php | 2 +- plugins/UsersManager/Model.php | 2 +- plugins/VisitorGenerator | 2 +- plugins/VisitsSummary/Controller.php | 2 +- plugins/Widgetize/javascripts/widgetize.js | 2 +- plugins/Widgetize/templates/index.twig | 8 +-- 88 files changed, 174 insertions(+), 172 deletions(-) diff --git a/core/API/DocumentationGenerator.php b/core/API/DocumentationGenerator.php index 6a140ac8fb..3c88f62027 100644 --- a/core/API/DocumentationGenerator.php +++ b/core/API/DocumentationGenerator.php @@ -132,13 +132,13 @@ class DocumentationGenerator $lastNUrls = ''; if (preg_match('/(&period)|(&date)/', $exampleUrl)) { $exampleUrlRss = $prefixUrls . $this->getExampleUrl($class, $methodName, array('date' => 'last10', 'period' => 'day') + $parametersToSet); - $lastNUrls = ", RSS of the last <a target=_blank href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>"; + $lastNUrls = ", RSS of the last <a target='_blank' href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>"; } $exampleUrl = $prefixUrls . $exampleUrl; $str .= " [ Example in - <a target=_blank href='$exampleUrl&format=xml$token_auth'>XML</a>, - <a target=_blank href='$exampleUrl&format=JSON$token_auth'>Json</a>, - <a target=_blank href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a> + <a target='_blank' href='$exampleUrl&format=xml$token_auth'>XML</a>, + <a target='_blank' href='$exampleUrl&format=JSON$token_auth'>Json</a>, + <a target='_blank' href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a> $lastNUrls ]"; } else { @@ -350,13 +350,13 @@ class DocumentationGenerator $lastNUrls = ''; if (preg_match('/(&period)|(&date)/', $exampleUrl)) { $exampleUrlRss = $prefixUrls . $this->getExampleUrl($class, $methodName, array('date' => 'last10', 'period' => 'day') + $parametersToSet); - $lastNUrls = ", RSS of the last <a target=_blank href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>"; + $lastNUrls = ", RSS of the last <a target='_blank' href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>"; } $exampleUrl = $prefixUrls . $exampleUrl; $str .= " [ Example in - <a target=_blank href='$exampleUrl&format=xml$token_auth'>XML</a>, - <a target=_blank href='$exampleUrl&format=JSON$token_auth'>Json</a>, - <a target=_blank href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a> + <a target='_blank' href='$exampleUrl&format=xml$token_auth'>XML</a>, + <a target='_blank' href='$exampleUrl&format=JSON$token_auth'>Json</a>, + <a target='_blank' href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a> $lastNUrls ]"; } else { diff --git a/core/Error.php b/core/Error.php index c56e3301a7..d8fa0706fc 100644 --- a/core/Error.php +++ b/core/Error.php @@ -148,7 +148,7 @@ class Error $htmlString = ''; $htmlString .= "\n<div style='word-wrap: break-word; border: 3px solid red; padding:4px; width:70%; background-color:#FFFF96;'> <strong>There is an error. Please report the message (Piwik " . (class_exists('Piwik\Version') ? Version::VERSION : '') . ") - and full backtrace in the <a href='?module=Proxy&action=redirect&url=http://forum.piwik.org' target='_blank'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/> + and full backtrace in the <a href='?module=Proxy&action=redirect&url=http://forum.piwik.org' rel='noreferrer' target='_blank'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/> "; $htmlString .= Error::getErrNoString($message->errno); $htmlString .= ":</strong> <em>{$message->errstr}</em> in <strong>{$message->errfile}</strong>"; diff --git a/core/Plugin/ControllerAdmin.php b/core/Plugin/ControllerAdmin.php index 746395e88e..008cb4d2f4 100644 --- a/core/Plugin/ControllerAdmin.php +++ b/core/Plugin/ControllerAdmin.php @@ -131,7 +131,7 @@ abstract class ControllerAdmin extends Controller $message = sprintf("You are using the PHP accelerator & optimizer eAccelerator which is known to be not compatible with Piwik. We have disabled eAccelerator, which might affect the performance of Piwik. Read the %srelated ticket%s for more information and how to fix this problem.", - '<a target="_blank" href="https://github.com/piwik/piwik/issues/4439">', '</a>'); + '<a rel="noreferrer" target="_blank" href="https://github.com/piwik/piwik/issues/4439">', '</a>'); $notification = new Notification($message); $notification->context = Notification::CONTEXT_WARNING; diff --git a/core/Session.php b/core/Session.php index f67b2e4caf..edd468c95e 100644 --- a/core/Session.php +++ b/core/Session.php @@ -120,7 +120,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='http://piwik.org/faq/how-to-install/#faq_133' target='_blank'>enable database session storage</a>."; + we recommend that you <a href='http://piwik.org/faq/how-to-install/#faq_133' rel='noreferrer' target='_blank'>enable database session storage</a>."; } $pathToSessions = Filechecks::getErrorMessageMissingPermissions(Filesystem::getPathToPiwikRoot() . '/tmp/sessions/'); diff --git a/core/Updates/0.6-rc1.php b/core/Updates/0.6-rc1.php index 9f293dda97..9a946251ad 100644 --- a/core/Updates/0.6-rc1.php +++ b/core/Updates/0.6-rc1.php @@ -42,8 +42,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/piwik/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/piwik/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 rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/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 rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/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 e268ad8570..658dffeb27 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/piwik/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 rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/45'>Click here.</a>", 'EntryPage' => "EntryPage plugin is not compatible with this version of Piwik, it was disabled.", ); $disabledPlugins = array(); diff --git a/core/testMinimumPhpVersion.php b/core/testMinimumPhpVersion.php index a24780077d..eec5a50d1b 100644 --- a/core/testMinimumPhpVersion.php +++ b/core/testMinimumPhpVersion.php @@ -52,11 +52,11 @@ 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 piwik directory: <br> $ php composer.phar update "; } - $piwik_errorMessage .= "<p>It appears the <a href='https://getcomposer.org/' 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' 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 Piwik 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='http://piwik.org/faq/how-to-install/faq_18271/' target='_blank'>How do I use Piwik from the Git repository?</a>." . + "\n\n<br/><br/>For more information check out this FAQ: <a href='http://piwik.org/faq/how-to-install/faq_18271/' rel='noreferrer' target='_blank'>How do I use Piwik from the Git repository?</a>." . "\n\n<br/><br/>Note: if for some reasons you cannot install composer, instead install the latest Piwik release from ". "<a href='http://builds.piwik.org/piwik.zip'>builds.piwik.org</a>.</p>"; } @@ -122,11 +122,11 @@ if (!function_exists('Piwik_GetErrorMessagePage')) { if ($optionalLinks) { $optionalLinks = '<ul> - <li><a target="_blank" href="http://piwik.org">Piwik.org homepage</a></li> - <li><a target="_blank" href="http://piwik.org/faq/">Piwik Frequently Asked Questions</a></li> - <li><a target="_blank" href="http://piwik.org/docs/">Piwik Documentation</a></li> - <li><a target="_blank" href="http://forum.piwik.org/">Piwik Forums</a></li> - <li><a target="_blank" href="http://demo.piwik.org">Piwik Online Demo</a></li> + <li><a rel="noreferrer" target="_blank" href="http://piwik.org">Piwik.org homepage</a></li> + <li><a rel="noreferrer" target="_blank" href="http://piwik.org/faq/">Piwik Frequently Asked Questions</a></li> + <li><a rel="noreferrer" target="_blank" href="http://piwik.org/docs/">Piwik Documentation</a></li> + <li><a rel="noreferrer" target="_blank" href="http://forum.piwik.org/">Piwik Forums</a></li> + <li><a rel="noreferrer" target="_blank" href="http://demo.piwik.org">Piwik Online Demo</a></li> </ul>'; } if ($optionalLinkBack) { diff --git a/plugins/API/API.php b/plugins/API/API.php index c65c04fffe..7802d3ffd8 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -30,7 +30,7 @@ use Piwik\Version; require_once PIWIK_INCLUDE_PATH . '/core/Config.php'; /** - * This API is the <a href='http://piwik.org/docs/analytics-api/metadata/' target='_blank'>Metadata API</a>: it gives information about all other available APIs methods, as well as providing + * This API is the <a href='http://piwik.org/docs/analytics-api/metadata/' rel='noreferrer' target='_blank'>Metadata API</a>: it gives information about all other available APIs methods, as well as providing * human readable and more complete outputs than normal API methods. * * Some of the information that is returned by the Metadata API: @@ -43,7 +43,7 @@ require_once PIWIK_INCLUDE_PATH . '/core/Config.php'; * <li>the method "getSuggestedValuesForSegment" returns top suggested values for a particular segment. It uses the Live.getLastVisitsDetails API to fetch the most recently used values, and will return the most often used values first.</li> * </ul> * The Metadata API is for example used by the Piwik Mobile App to automatically display all Piwik reports, with translated report & columns names and nicely formatted values. - * More information on the <a href='http://piwik.org/docs/analytics-api/metadata/' target='_blank'>Metadata API documentation page</a> + * More information on the <a href='http://piwik.org/docs/analytics-api/metadata/' rel='noreferrer' target='_blank'>Metadata API documentation page</a> * * @method static \Piwik\Plugins\API\API getInstance() */ diff --git a/plugins/API/templates/listAllAPI.twig b/plugins/API/templates/listAllAPI.twig index e4cf96174c..6ccd5db38f 100644 --- a/plugins/API/templates/listAllAPI.twig +++ b/plugins/API/templates/listAllAPI.twig @@ -16,7 +16,7 @@ <p>{{ 'API_PluginDescription'|translate }}</p> <p> - <strong>{{ 'API_MoreInformation'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api'>","</a>","<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api/reference'>","</a>")|raw }}</strong> + <strong>{{ 'API_MoreInformation'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api'>","</a>","<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api/reference'>","</a>")|raw }}</strong> </p> <h2>{{ 'API_UserAuthentication'|translate }}</h2> diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index ed161bdfec..1bddaab3c8 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -25,7 +25,7 @@ use Piwik\Tracker\PageUrl; * The Actions API lets you request reports for all your Visitor Actions: Page URLs, Page titles (Piwik Events), * File Downloads and Clicks on external websites. * - * For example, "getPageTitles" will return all your page titles along with standard <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' target='_blank'>Actions metrics</a> for each row. + * For example, "getPageTitles" will return all your page titles along with standard <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' rel='noreferrer' target='_blank'>Actions metrics</a> for each row. * * It is also possible to request data for a specific Page Title with "getPageTitle" * and setting the parameter pageName to the page title you wish to request. diff --git a/plugins/Actions/Reports/GetSiteSearchKeywords.php b/plugins/Actions/Reports/GetSiteSearchKeywords.php index 61fc0a84ed..32ce9e3b4b 100644 --- a/plugins/Actions/Reports/GetSiteSearchKeywords.php +++ b/plugins/Actions/Reports/GetSiteSearchKeywords.php @@ -20,7 +20,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="http://piwik.org/docs/site-search/" target="_blank">' . Piwik::translate('Actions_LearnMoreAboutSiteSearchLink') . '</a>'; + . '<a href="http://piwik.org/docs/site-search/" rel="noreferrer" target="_blank">' . Piwik::translate('Actions_LearnMoreAboutSiteSearchLink') . '</a>'; $this->metrics = array('nb_visits', 'nb_pages_per_search', 'exit_rate'); $this->order = 15; $this->widgetTitle = 'Actions_WidgetSearchKeywords'; diff --git a/plugins/CoreAdminHome/templates/generalSettings.twig b/plugins/CoreAdminHome/templates/generalSettings.twig index 772d5d600c..d7f49b07e9 100644 --- a/plugins/CoreAdminHome/templates/generalSettings.twig +++ b/plugins/CoreAdminHome/templates/generalSettings.twig @@ -24,13 +24,13 @@ <input id="enableBrowserTriggerArchiving-no" type="radio" value="0" name="enableBrowserTriggerArchiving"{% if enableBrowserTriggerArchiving==0 %} checked="checked"{% endif %} /> <label for="enableBrowserTriggerArchiving-no">{{ 'General_No'|translate }}</label><br/> - <span class="form-description">{{ 'General_ArchivingTriggerDescription'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' target='_blank'>","</a>")|raw }}</span> + <span class="form-description">{{ 'General_ArchivingTriggerDescription'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' rel='noreferrer' target='_blank'>","</a>")|raw }}</span> </fieldset> <td> {% set browserArchivingHelp %} {{ 'General_ArchivingInlineHelp'|translate }} <br/> - {{ 'General_SeeTheOfficialDocumentationForMoreInformation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' target='_blank'>","</a>")|raw }} + {{ 'General_SeeTheOfficialDocumentationForMoreInformation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' rel='noreferrer' target='_blank'>","</a>")|raw }} {% endset %} {{ piwik.inlineHelp(browserArchivingHelp) }} </td> @@ -100,9 +100,9 @@ </fieldset> <td> {% set checkReleaseHelp %} - {{ 'CoreAdminHome_DevelopmentProcess'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/development-process/' target='_blank'>","</a>")|raw }} + {{ 'CoreAdminHome_DevelopmentProcess'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/development-process/' rel='noreferrer' target='_blank'>","</a>")|raw }} <br/> - {{ 'CoreAdminHome_StableReleases'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/user-feedback/' target='_blank'>","</a>")|raw }} + {{ 'CoreAdminHome_StableReleases'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/user-feedback/' rel='noreferrer' target='_blank'>","</a>")|raw }} {% endset %} {{ piwik.inlineHelp(checkReleaseHelp) }} </td> @@ -225,7 +225,7 @@ <td id="inlineHelpCustomLogo"> {% set giveUsFeedbackText %}"{{ 'General_GiveUsYourFeedback'|translate }}"{% endset %} {% set customLogoHelp %} - {{ 'CoreAdminHome_CustomLogoFeedbackInfo'|translate(giveUsFeedbackText,"<a href='?module=CorePluginsAdmin&action=plugins' target='_blank'>","</a>")|raw }} + {{ 'CoreAdminHome_CustomLogoFeedbackInfo'|translate(giveUsFeedbackText,"<a href='?module=CorePluginsAdmin&action=plugins' rel='noreferrer' target='_blank'>","</a>")|raw }} {% endset %} {{ piwik.inlineHelp(customLogoHelp) }} </td> @@ -344,7 +344,7 @@ {% endset %} <code>{{ iframeOptOut|escape }}</code> <br/> - {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' target='_blank'>","</a>")|raw }} + {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' rel='noreferrer' target='_blank'>","</a>")|raw }} </p> {% endblock %} diff --git a/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig b/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig index b3bfbf8d6b..bd54182b76 100644 --- a/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig +++ b/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig @@ -18,11 +18,11 @@ <p> {{ 'CoreAdminHome_JSTrackingIntro1'|translate }} <br/><br/> - {{ 'CoreAdminHome_JSTrackingIntro2'|translate }} {{ 'CoreAdminHome_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" target="_blank">','</a>')|raw }} + {{ 'CoreAdminHome_JSTrackingIntro2'|translate }} {{ 'CoreAdminHome_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" rel="noreferrer" target="_blank">','</a>')|raw }} <br/><br/> {{ 'CoreAdminHome_JSTrackingIntro4'|translate('<a href="#image-tracking-link">','</a>')|raw }} <br/><br/> - {{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }} + {{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }} </p> <div> @@ -167,7 +167,7 @@ <label for="custom-campaign-query-params-check">{{ 'CoreAdminHome_JSTracking_CustomCampaignQueryParam'|translate }}</label> <div class="small-form-description"> - {{ 'CoreAdminHome_JSTracking_CustomCampaignQueryParamDesc'|translate('<a href="http://piwik.org/faq/general/#faq_119" target="_blank">','</a>')|raw }} + {{ 'CoreAdminHome_JSTracking_CustomCampaignQueryParamDesc'|translate('<a href="http://piwik.org/faq/general/#faq_119" rel="noreferrer" target="_blank">','</a>')|raw }} </div> <table style="display:none;" id="js-campaign-query-param-extra"> @@ -206,7 +206,7 @@ <p> {{ 'CoreAdminHome_ImageTrackingIntro1'|translate }} {{ 'CoreAdminHome_ImageTrackingIntro2'|translate("<em><noscript></noscript></em>")|raw }} <br/><br/> - {{ 'CoreAdminHome_ImageTrackingIntro3'|translate('<a href="http://piwik.org/docs/tracking-api/reference/" target="_blank">','</a>')|raw }} + {{ 'CoreAdminHome_ImageTrackingIntro3'|translate('<a href="http://piwik.org/docs/tracking-api/reference/" rel="noreferrer" target="_blank">','</a>')|raw }} </p> <div> @@ -276,7 +276,7 @@ <h2>{{ 'CoreAdminHome_ImportingServerLogs'|translate }}</h2> <p> - {{ 'CoreAdminHome_ImportingServerLogsDesc'|translate('<a href="http://piwik.org/log-analytics/" target="_blank">','</a>')|raw }} + {{ 'CoreAdminHome_ImportingServerLogsDesc'|translate('<a href="http://piwik.org/log-analytics/" rel="noreferrer" target="_blank">','</a>')|raw }} </p> {% endblock %} diff --git a/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html b/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html index 53f04ecac1..2a03f809c4 100644 --- a/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html +++ b/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html @@ -4,6 +4,7 @@ <span ng-show="view.showIcons"> <a ng-if="helpUrl && !inlineHelp" + rel="noreferrer" target="_blank" href="{{ helpUrl }}" title="{{ 'CoreHome_ExternalHelp'|translate }}" @@ -22,6 +23,7 @@ <div class="inlineHelp" ng-show="view.showIcons && view.showInlineHelp"> <div ng-bind-html="inlineHelp"></div> <a ng-if="helpUrl" + rel="noreferrer" 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 60b703ecbd..ac59e4ff2b 100644 --- a/plugins/CoreHome/javascripts/dataTable.js +++ b/plugins/CoreHome/javascripts/dataTable.js @@ -1708,7 +1708,7 @@ $.extend(DataTable.prototype, UIControl.prototype, { }, handleSummaryRow: function (domElem) { - var details = _pk_translate('General_LearnMore', [' (<a href="http://piwik.org/faq/how-to/faq_54/" target="_blank">', '</a>)']); + var details = _pk_translate('General_LearnMore', [' (<a href="http://piwik.org/faq/how-to/faq_54/" rel="noreferrer" target="_blank">', '</a>)']); domElem.find('tr.summaryRow').each(function () { var labelSpan = $(this).find('.label .value'); diff --git a/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig b/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig index e594377e35..a471b38adf 100644 --- a/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig +++ b/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig @@ -4,7 +4,7 @@ </head> <body style="color: rgb({{ reportTextColor }});"> -<a id="reportTop" target="_blank" href="{{ currentPath }}"><img title="{{ 'General_GoTo'|translate("Piwik") }}" border="0" alt="Piwik" src='{{ logoHeader }}'/></a> +<a id="reportTop" rel="noreferrer" target="_blank" href="{{ currentPath }}"><img title="{{ 'General_GoTo'|translate("Piwik") }}" border="0" alt="Piwik" src='{{ logoHeader }}'/></a> <h1 style="color: rgb({{ reportTitleTextColor }}); font-size: {{ reportTitleTextSize }}pt;"> {{ reportTitle }} diff --git a/plugins/CoreHome/templates/_dataTableCell.twig b/plugins/CoreHome/templates/_dataTableCell.twig index 0b040fe86b..1dd22bf024 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 target="_blank" href='{% if row.getMetadata('url')|slice(0,4) not in ['http','ftp:'] %}http://{% endif %}{{ row.getMetadata('url')|rawSafeDecoded }}'> + <a rel="noreferrer" 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') %} <img class="link" width="10" height="9" src="plugins/Morpheus/images/link.gif"/> {% endif %} diff --git a/plugins/CoreHome/templates/_donate.twig b/plugins/CoreHome/templates/_donate.twig index 1fff9d4015..d7dbde58c2 100755 --- 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" - target="_blank" class="donate-one-time">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a> + rel="noreferrer" 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 d25fc17bdc..0d13585f1a 100644 --- a/plugins/CoreHome/templates/_headerMessage.twig +++ b/plugins/CoreHome/templates/_headerMessage.twig @@ -31,12 +31,12 @@ <br/> {% endif %} {% if latest_version_available and isSuperUser %} - {{ 'General_PiwikXIsAvailablePleaseUpdateNow'|translate(latest_version_available,"<br /><a href='index.php?module=CoreUpdater&action=newVersionAvailable'>","</a>","<a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' target='_blank'>","</a>")|raw }} + {{ 'General_PiwikXIsAvailablePleaseUpdateNow'|translate(latest_version_available,"<br /><a href='index.php?module=CoreUpdater&action=newVersionAvailable'>","</a>","<a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' rel='noreferrer' target='_blank'>","</a>")|raw }} <br/> {{ 'General_YouAreCurrentlyUsing'|translate(piwik_version) }} {% 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=http://piwik.org/' target='_blank'>Piwik</a> <a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' target='_blank'>" ~ latest_version_available ~ "</a>", "<a href='mailto:" ~ superUserEmails ~ "?subject=" ~ updateSubject ~ "'>", "</a>")|raw }} + {{ 'General_PiwikXIsAvailablePleaseNotifyPiwikAdmin'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/' rel='noreferrer' target='_blank'>Piwik</a> <a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' rel='noreferrer' target='_blank'>" ~ latest_version_available ~ "</a>", "<a href='mailto:" ~ superUserEmails ~ "?subject=" ~ updateSubject ~ "'>", "</a>")|raw }} {% elseif isSuperUser and adminMenu is defined and adminMenu %} {{ updateCheck|raw }} <br /> diff --git a/plugins/CoreHome/templates/_warningInvalidHost.twig b/plugins/CoreHome/templates/_warningInvalidHost.twig index d3a2661a86..71d2716893 100644 --- a/plugins/CoreHome/templates/_warningInvalidHost.twig +++ b/plugins/CoreHome/templates/_warningInvalidHost.twig @@ -1,14 +1,14 @@ {# untrusted host warning #} {% if (isValidHost is defined and invalidHostMessage is defined and isValidHost == false) %} {% set invalidHostText %} - <a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" target="_blank"><img src="plugins/Morpheus/images/help.png"/></a> + <a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" rel="noreferrer" target="_blank"><img src="plugins/Morpheus/images/help.png"/></a> <strong>{{ 'General_Warning'|translate }}: </strong>{{ invalidHostMessage|raw }} <br> <br> <small>{{ invalidHostMessageHowToFix|raw }} - <br/><br/><a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" target="_blank">{{ 'General_Help'|translate }} + <br/><br/><a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" rel="noreferrer" target="_blank">{{ 'General_Help'|translate }} <img style="vertical-align: bottom;" src="plugins/Morpheus/images/help.png"/></a><br/> </small> {% endset %} diff --git a/plugins/CoreHome/templates/getPromoVideo.twig b/plugins/CoreHome/templates/getPromoVideo.twig index 36d94381a9..0a0bd0fb63 100755 --- 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="http://piwik.org/blog/2012/12/piwik-how-to-videos/" target="_blank"> + <a id="piwik-promo-videos-link" href="http://piwik.org/blog/2012/12/piwik-how-to-videos/" rel="noreferrer" target="_blank"> {{ 'CoreHome_ViewAllPiwikVideoTutorials'|translate }} </a> @@ -16,12 +16,12 @@ <span>{{ 'CoreHome_ShareThis'|translate }}:</span> {# facebook #} - <a href="http://www.facebook.com/sharer.php?u={{ promoVideoUrl|url_encode }}" target="_blank"> + <a href="http://www.facebook.com/sharer.php?u={{ promoVideoUrl|url_encode }}" rel="noreferrer" target="_blank"> <img src="plugins/Referrers/images/socials/facebook.com.png" /> </a> {# twitter #} - <a href="http://twitter.com/share?text={{ shareText|url_encode }}&url={{ promoVideoUrl|url_encode }}" target="_blank"> + <a href="http://twitter.com/share?text={{ shareText|url_encode }}&url={{ promoVideoUrl|url_encode }}" rel="noreferrer" target="_blank"> <img src="plugins/Referrers/images/socials/twitter.com.png" /> </a> diff --git a/plugins/CorePluginsAdmin/templates/browsePlugins.twig b/plugins/CorePluginsAdmin/templates/browsePlugins.twig index 9259081a0c..2624dd00e9 100644 --- a/plugins/CorePluginsAdmin/templates/browsePlugins.twig +++ b/plugins/CorePluginsAdmin/templates/browsePlugins.twig @@ -55,6 +55,6 @@ {% set marketplaceSellPluginSubject = 'CorePluginsAdmin_MarketplaceSellPluginSubject'|translate %} {{ 'CorePluginsAdmin_GetEarlyAccessForPaidPlugins'|translate("<a href='mailto:hello@piwik.org?subject=" ~ marketplaceSellPluginSubject ~ "'>", "</a>")|raw }} <br/> - {{ 'CorePluginsAdmin_DevelopersLearnHowToDevelopPlugins'|translate('<a href="?module=Proxy&action=redirect&url=http://developer.piwik.org/plugins" target="_blank">', '</a>')|raw }} + {{ 'CorePluginsAdmin_DevelopersLearnHowToDevelopPlugins'|translate('<a href="?module=Proxy&action=redirect&url=http://developer.piwik.org/plugins" rel="noreferrer" target="_blank">', '</a>')|raw }} </div> {% endblock %} diff --git a/plugins/CorePluginsAdmin/templates/macros.twig b/plugins/CorePluginsAdmin/templates/macros.twig index 8c057ed06f..f5c9220721 100644 --- a/plugins/CorePluginsAdmin/templates/macros.twig +++ b/plugins/CorePluginsAdmin/templates/macros.twig @@ -190,7 +190,7 @@ </div> {% if plugin.info.license is defined %} <div class="plugin-license"> - {% if plugin.info.license_homepage is defined %}<a title="{{ 'CorePluginsAdmin_LicenseHomepage'|translate }}" target="_blank" href="{{ plugin.info.license_homepage }}">{% endif %}{{ plugin.info.license }}{% if plugin.info.license_homepage is defined %}</a>{% endif %} + {% if plugin.info.license_homepage is defined %}<a title="{{ 'CorePluginsAdmin_LicenseHomepage'|translate }}" rel="noreferrer" target="_blank" href="{{ plugin.info.license_homepage }}">{% endif %}{{ plugin.info.license }}{% if plugin.info.license_homepage is defined %}</a>{% endif %} </div> {% endif %} {% if plugin.info.authors is defined %} @@ -200,7 +200,7 @@ {% spaceless %} {% for author in plugin.info.authors if author.name %} {% if author.homepage is defined %} - <a title="{{ 'CorePluginsAdmin_AuthorHomepage'|translate }}" href="{{ author.homepage }}" target="_blank">{{ author.name }}</a> + <a title="{{ 'CorePluginsAdmin_AuthorHomepage'|translate }}" href="{{ aurel="noreferrer" target="_blank"" target="_blank">{{ author.name }}</a> {% else %} {{ author.name }} {% endif %} diff --git a/plugins/CorePluginsAdmin/templates/pluginDetails.twig b/plugins/CorePluginsAdmin/templates/pluginDetails.twig index 2487ef41d6..077f3755c5 100644 --- a/plugins/CorePluginsAdmin/templates/pluginDetails.twig +++ b/plugins/CorePluginsAdmin/templates/pluginDetails.twig @@ -69,7 +69,7 @@ {{ pluginsMacro.missingRequirementsPleaseUpdateNotice(plugin) }} {% if plugin.canBeUpdated %} <p class="updateAvailableNotice">{{ 'CorePluginsAdmin_PluginUpdateAvailable'|translate(plugin.currentVersion, plugin.latestVersion) }} - {% if plugin.repositoryChangelogUrl %}<a target="_blank" href="{{ plugin.repositoryChangelogUrl }}">{{ 'CorePluginsAdmin_ViewRepositoryChangelog'|translate }}</a>{% endif %} + {% if plugin.repositoryChangelogUrl %}<a rel="noreferrer" target="_blank" href="{{ plugin.repositoryChangelogUrl }}">{{ 'CorePluginsAdmin_ViewRepositoryChangelog'|translate }}</a>{% endif %} </p> {% endif %} diff --git a/plugins/CorePluginsAdmin/templates/safemode.twig b/plugins/CorePluginsAdmin/templates/safemode.twig index e2608c147e..53de56181b 100644 --- a/plugins/CorePluginsAdmin/templates/safemode.twig +++ b/plugins/CorePluginsAdmin/templates/safemode.twig @@ -63,7 +63,7 @@ <p> If this error continues to happen, you may be able to fix this issue by disabling one or more of the Third-Party plugins. You can enable them again in the - <a 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 + <a rel="noreferrer" 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. {% if pluginCausesIssue %} diff --git a/plugins/CoreUpdater/templates/oneClickResults.twig b/plugins/CoreUpdater/templates/oneClickResults.twig index 555e1ef568..7696e724ae 100644 --- a/plugins/CoreUpdater/templates/oneClickResults.twig +++ b/plugins/CoreUpdater/templates/oneClickResults.twig @@ -14,7 +14,7 @@ <br/> <div class="warning"> <img src="plugins/Morpheus/images/warning_medium.png"/> - {{ 'CoreUpdater_UpdateHasBeenCancelledExplanation'|translate("<br /><br />","<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/update/'>","</a>")|raw }} + {{ 'CoreUpdater_UpdateHasBeenCancelledExplanation'|translate("<br /><br />","<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/update/'>","</a>")|raw }} </div> <br/> <br/> diff --git a/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig b/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig index 0a2eaa5efe..8ddf66876d 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=http://piwik.org/faq/">','</a>','</li><li>')|raw }} + {{ 'CoreUpdater_HelpMessageContent'|translate('<a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.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://piwik.org/faq/how-to-update/#faq_179' target='_blank'>(see FAQ)</a></li> + <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://piwik.org/faq/how-to-update/#faq_179' rel='noreferrer' 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 b6318e5c6a..c468beb3db 100644 --- a/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig +++ b/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig @@ -4,7 +4,7 @@ {% spaceless %} <span style="float:right;">{{ postEvent('Template.topBar')|raw }}</span> {% set helpMessage %} - {{ 'CoreUpdater_HelpMessageContent'|translate('<a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">','</a>','</li><li>')|raw }} + {{ 'CoreUpdater_HelpMessageContent'|translate('<a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">','</a>','</li><li>')|raw }} {% endset %} {% if coreError %} @@ -49,7 +49,7 @@ {% endif %} <ul> <li>{{ 'CoreUpdater_TheUpgradeProcessMayFailExecuteCommand'|translate(commandUpgradePiwik)|raw }}</li> - <li>{{ 'CoreUpdater_HighTrafficPiwikServerEnableMaintenance'|translate('<a target="_blank" href="?module=Proxy&action=redirect&url=http%3A%2F%2Fpiwik.org%2Ffaq%2Fhow-to%2F%23faq_111">', '</a>')|raw }}</li> + <li>{{ 'CoreUpdater_HighTrafficPiwikServerEnableMaintenance'|translate('<a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http%3A%2F%2Fpiwik.org%2Ffaq%2Fhow-to%2F%23faq_111">', '</a>')|raw }}</li> <li>{{ 'CoreUpdater_YouCouldManuallyExecuteSqlQueries'|translate }}<br/> <a href="#titleUpdate" id="showSql" style="margin-left:20px;">› {{ 'CoreUpdater_ClickHereToViewSqlQueries'|translate }}</a> diff --git a/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig b/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig index 1513daca34..d7f328b923 100644 --- a/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig +++ b/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig @@ -5,7 +5,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 }}" target="_blank"> + <a href="{{ labelMetadata[value.word].url }}" rel="noreferrer" target="_blank"> {% endif %} {% if labelMetadata[value.word].logo is not sameas(false) %} <img src="{{ labelMetadata[value.word].logo }}" width="{{ value.logoWidth }}" /> diff --git a/plugins/CustomVariables/API.php b/plugins/CustomVariables/API.php index 1f03f873fe..727ef7d42c 100644 --- a/plugins/CustomVariables/API.php +++ b/plugins/CustomVariables/API.php @@ -16,7 +16,7 @@ use Piwik\Piwik; use Piwik\Plugins\Actions\Actions\ActionSiteSearch; /** - * The Custom Variables API lets you access reports for your <a href='http://piwik.org/docs/custom-variables/' target='_blank'>Custom Variables</a> names and values. + * The Custom Variables API lets you access reports for your <a href='http://piwik.org/docs/custom-variables/' rel='noreferrer' target='_blank'>Custom Variables</a> names and values. * * @method static \Piwik\Plugins\CustomVariables\API getInstance() */ diff --git a/plugins/CustomVariables/Reports/GetCustomVariables.php b/plugins/CustomVariables/Reports/GetCustomVariables.php index 3edc0d276c..2ddedc4e97 100644 --- a/plugins/CustomVariables/Reports/GetCustomVariables.php +++ b/plugins/CustomVariables/Reports/GetCustomVariables.php @@ -20,7 +20,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="http://piwik.org/docs/custom-variables/" target="_blank">', '</a>')); + array('<br />', '<a href="http://piwik.org/docs/custom-variables/" rel="noreferrer" target="_blank">', '</a>')); $this->actionToLoadSubTables = 'getCustomVariablesValuesFromNameId'; $this->order = 10; $this->widgetTitle = 'CustomVariables_CustomVariables'; diff --git a/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php b/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php index 8b88fb20bb..e4f57af4fc 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="http://piwik.org/docs/custom-variables/" target="_blank">', '</a>')); + array('<br />', '<a href="http://piwik.org/docs/custom-variables/" rel="noreferrer" target="_blank">', '</a>')); $this->isSubtableReport = true; $this->order = 15; } diff --git a/plugins/DBStats/templates/index.twig b/plugins/DBStats/templates/index.twig index 32a8e78d08..3d0d578f26 100755 --- a/plugins/DBStats/templates/index.twig +++ b/plugins/DBStats/templates/index.twig @@ -5,7 +5,7 @@ <h2 id="databaseUsageSummary">{{ 'DBStats_DatabaseUsage'|translate }}</h2> <p> {{ 'DBStats_MainDescription'|translate(totalSpaceUsed) }}<br/> - {{ 'DBStats_LearnMore'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' target='_blank'>Piwik Auto Archiving</a>")|raw }} + {{ 'DBStats_LearnMore'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' rel='noreferrer' target='_blank'>Piwik Auto Archiving</a>")|raw }} <br/> <br/> </p> diff --git a/plugins/Dashboard/API.php b/plugins/Dashboard/API.php index 21003135c5..ec41bb626f 100644 --- a/plugins/Dashboard/API.php +++ b/plugins/Dashboard/API.php @@ -11,7 +11,7 @@ use Piwik\Piwik; use Piwik\WidgetsList; /** - * This API is the <a href='http://piwik.org/docs/analytics-api/reference/' target='_blank'>Dashboard API</a>: it gives information about dashboards. + * This API is the <a href='http://piwik.org/docs/analytics-api/reference/' rel='noreferrer' target='_blank'>Dashboard API</a>: it gives information about dashboards. * * @method static \Piwik\Plugins\Dashboard\API getInstance() */ diff --git a/plugins/ExampleAPI/API.php b/plugins/ExampleAPI/API.php index 63e66fac9b..f0d331c010 100644 --- a/plugins/ExampleAPI/API.php +++ b/plugins/ExampleAPI/API.php @@ -16,7 +16,7 @@ use Piwik\Version; /** * The ExampleAPI is useful to developers building a custom Piwik plugin. * - * Please see the <a href='https://github.com/piwik/piwik/blob/master/plugins/ExampleAPI/API.php' target='_blank'>source code in in the file plugins/ExampleAPI/API.php</a> for more documentation. + * Please see the <a href='https://github.com/piwik/piwik/blob/master/plugins/ExampleAPI/API.php' rel='noreferrer' target='_blank'>source code in in the file plugins/ExampleAPI/API.php</a> for more documentation. * @method static \Piwik\Plugins\ExampleAPI\API getInstance() */ class API extends \Piwik\Plugin\API diff --git a/plugins/ExampleRssWidget/RssRenderer.php b/plugins/ExampleRssWidget/RssRenderer.php index 7990b1acb8..829b6dfa2c 100644 --- a/plugins/ExampleRssWidget/RssRenderer.php +++ b/plugins/ExampleRssWidget/RssRenderer.php @@ -62,7 +62,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="" rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=' . $link . '">' . $title . '</a>' . '<span class="rss-date">' . $date . '</span>'; if ($this->showDescription) { $output .= '<div class="rss-description">' . $post->description . '</div>'; diff --git a/plugins/Feedback/templates/index.twig b/plugins/Feedback/templates/index.twig index e72ad2a5da..ba194dc9eb 100644 --- a/plugins/Feedback/templates/index.twig +++ b/plugins/Feedback/templates/index.twig @@ -12,13 +12,13 @@ <div class="header_full"> <p>{{ 'General_PiwikIsACollaborativeProjectYouCanContributeAndDonate'|translate( - "<a href='?module=Proxy&action=redirect&url=http://piwik.org' target='_blank'>", + "<a href='?module=Proxy&action=redirect&url=http://piwik.org' rel='noreferrer' target='_blank'>", "</a>", - "<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/get-involved/'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/get-involved/'>", "</a>", "<a href='#donate'>", "</a>", - "<a href='?module=Proxy&action=redirect&url=http://piwik.org/team/' target='_blank'>", + "<a href='?module=Proxy&action=redirect&url=http://piwik.org/team/' rel='noreferrer' target='_blank'>", "</a>" )|raw }} </p> @@ -28,9 +28,9 @@ <h2>{{ 'Do you need help?'|translate }}</h2> <div class="header_full"> - <p> • {{ 'Feedback_ViewUserGuides'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/'>","</a>")|raw }}.</p> - <p> • {{ 'Feedback_ViewAnswersToFAQ'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/faq/'>","</a>")|raw }}.</p> - <p> • {{ 'Feedback_VisitTheForums'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://forum.piwik.org/'>","</a>")|raw }}.</p> + <p> • {{ 'Feedback_ViewUserGuides'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/'>","</a>")|raw }}.</p> + <p> • {{ 'Feedback_ViewAnswersToFAQ'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/faq/'>","</a>")|raw }}.</p> + <p> • {{ 'Feedback_VisitTheForums'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://forum.piwik.org/'>","</a>")|raw }}.</p> <br/> </div> @@ -38,13 +38,13 @@ <div class="header_full"> <p>{{ 'Feedback_HowToCreateTicket'|translate( - "<a target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-bug-report'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-bug-report'>", "</a>", - "<a target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-feature-request'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-feature-request'>", "</a>", - "<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues'>", "</a>", - "<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/new'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/new'>", "</a>" )|raw }}</p> <br/> @@ -54,7 +54,7 @@ <div class="header_full"> <p>{{ 'Feedback_GetInTouch'|translate }} - <a target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/contact/" + <a rel='noreferrer' target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/contact/" >{{ 'Feedback_ContactThePiwikTeam'|translate }}</a> </p> <br/> @@ -68,35 +68,35 @@ <hr/> <ul class="social"> <li> - <a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/"><img class="icon" src="plugins/Feedback/images/newsletter.png"></a> - <a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/">Newsletter</a> + <a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/"><img class="icon" src="plugins/Feedback/images/newsletter.png"></a> + <a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/">Newsletter</a> </li> <li> - <a target="_blank" href="http://www.facebook.com/Piwik"><img class="icon" src="plugins/Feedback/images/facebook.png"></a> - <a target="_blank" href="http://www.facebook.com/Piwik">Facebook</a> + <a rel="noreferrer" target="_blank" href="http://www.facebook.com/Piwik"><img class="icon" src="plugins/Feedback/images/facebook.png"></a> + <a rel="noreferrer" target="_blank" href="http://www.facebook.com/Piwik">Facebook</a> </li> <li> - <a target="_blank" href="http://twitter.com/piwik"><img class="icon" src="plugins/Feedback/images/twitter.png"></a> - <a target="_blank" href="http://twitter.com/piwik">Twitter</a> + <a rel="noreferrer" target="_blank" href="http://twitter.com/piwik"><img class="icon" src="plugins/Feedback/images/twitter.png"></a> + <a rel="noreferrer" target="_blank" href="http://twitter.com/piwik">Twitter</a> </li> <li> - <a target="_blank" href="http://www.linkedin.com/groups?gid=867857"><img class="icon" src="plugins/Feedback/images/linkedin.png"></a> - <a target="_blank" href="http://www.linkedin.com/groups?gid=867857">Linkedin</a> + <a rel="noreferrer" target="_blank" href="http://www.linkedin.com/groups?gid=867857"><img class="icon" src="plugins/Feedback/images/linkedin.png"></a> + <a rel="noreferrer" target="_blank" href="http://www.linkedin.com/groups?gid=867857">Linkedin</a> </li> <li> - <a target="_blank" href="https://github.com/piwik/piwik"><img class="icon" src="plugins/Feedback/images/github.png"></a> - <a target="_blank" href="https://github.com/piwik/piwik">GitHub</a> + <a rel="noreferrer" target="_blank" href="https://github.com/piwik/piwik"><img class="icon" src="plugins/Feedback/images/github.png"></a> + <a rel="noreferrer" target="_blank" href="https://github.com/piwik/piwik">GitHub</a> </li> </ul> <ul class="menu"> - <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/blog/">Blog</a></li> - <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/about/sponsors/">Sponsors</a></li> - <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://developer.piwik.org">Developers</a></li> - <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://plugins.piwik.org">Marketplace</a></li> - <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/thank-you-all/">Credits</a></li> + <li><a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/blog/">Blog</a></li> + <li><a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/about/sponsors/">Sponsors</a></li> + <li><a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://developer.piwik.org">Developers</a></li> + <li><a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://plugins.piwik.org">Marketplace</a></li> + <li><a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/thank-you-all/">Credits</a></li> </ul> <p class="claim"><small>{{ 'Feedback_PrivacyClaim'|translate( - "<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/privacy/'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/privacy/'>", "</a>" )|raw}}</small></p> </div> diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index 735b647866..076269ff6f 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -35,7 +35,7 @@ use Piwik\Tracker\GoalManager; * If you wish to request specific metrics about Ecommerce goals, you can set the parameter &idGoal=ecommerceAbandonedCart to get metrics about abandoned carts (including Lost revenue, and number of items left in the cart) * or &idGoal=ecommerceOrder to get metrics about Ecommerce orders (number of orders, visits with an order, subtotal, tax, shipping, discount, revenue, items ordered) * - * See also the documentation about <a href='http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>Tracking Goals</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>Tracking Goals</a> in Piwik. * * @method static \Piwik\Plugins\Goals\API getInstance() */ diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php index 381c37f7ee..a5659183ba 100644 --- a/plugins/Goals/Goals.php +++ b/plugins/Goals/Goals.php @@ -24,7 +24,7 @@ class Goals extends \Piwik\Plugin public function getInformation() { $suffix = Piwik::translate('SitesManager_PiwikOffersEcommerceAnalytics', - array('<a href="http://piwik.org/docs/ecommerce-analytics/" target="_blank">', '</a>')); + array('<a href="http://piwik.org/docs/ecommerce-analytics/" rel="noreferrer" target="_blank">', '</a>')); $info = parent::getInformation(); $info['description'] .= ' ' . $suffix; return $info; diff --git a/plugins/Goals/Visualizations/Goals.php b/plugins/Goals/Visualizations/Goals.php index 9808621b14..c373e5bac7 100644 --- a/plugins/Goals/Visualizations/Goals.php +++ b/plugins/Goals/Visualizations/Goals.php @@ -57,7 +57,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="http://piwik.org/docs/tracking-goals-web-analytics/" target="_blank">', '</a>')); + array('<br />', '<br />', '<a href="http://piwik.org/docs/tracking-goals-web-analytics/" rel="noreferrer" target="_blank">', '</a>')); } parent::beforeRender(); diff --git a/plugins/Goals/templates/_addEditGoal.twig b/plugins/Goals/templates/_addEditGoal.twig index f9449d8ce9..f7373b6b8e 100644 --- a/plugins/Goals/templates/_addEditGoal.twig +++ b/plugins/Goals/templates/_addEditGoal.twig @@ -4,7 +4,7 @@ <p>{{ 'Goals_NewGoalDescription'|translate }} {{ 'Goals_NewWhatDoYouWantUsersToDo'|translate }} {{ 'Goals_NewGoalYouWillBeAbleTo'|translate }}</p> - <p>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }} + <p>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>","</a>")|raw }} </p> {% else %} <div class="clear"></div> @@ -13,7 +13,7 @@ <ul class='listCircle'> <li><a onclick='' name='linkAddNewGoal'>{{ 'Goals_CreateNewGOal'|translate }}</a></li> <li><a onclick='' name='linkEditGoals'>{{ 'Goals_ViewAndEditGoals'|translate }}</a></li> - <li>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }}</li> + <li>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>","</a>")|raw }}</li> <li> {% if not ecommerceEnabled %} @@ -21,11 +21,11 @@ <a href='{{ linkTo({'module':'SitesManager','action':'index' }) }}'>{{ 'SitesManager_WebsitesManagement'|translate }}</a> {% endset %} {% set ecommerceReportText %} - <a href="http://piwik.org/docs/ecommerce-analytics/" target="_blank">{{ 'Goals_EcommerceReports'|translate }}</a> + <a href="http://piwik.org/docs/ecommerce-analytics/" rel="noreferrer" target="_blank">{{ 'Goals_EcommerceReports'|translate }}</a> {% endset %} {{ 'Goals_Optional'|translate }} {{ 'Goals_Ecommerce'|translate }}: {{ 'Goals_YouCanEnableEcommerceReports'|translate(ecommerceReportText,websiteManageText)|raw }} {% else %} - {{ 'SitesManager_PiwikOffersEcommerceAnalytics'|translate('<a href="http://piwik.org/docs/ecommerce-analytics/" target="_blank">',"</a>")|raw }} + {{ 'SitesManager_PiwikOffersEcommerceAnalytics'|translate('<a href="http://piwik.org/docs/ecommerce-analytics/" rel="noreferrer" target="_blank">',"</a>")|raw }} {% endif %} </li> </ul> diff --git a/plugins/Goals/templates/_formAddGoal.twig b/plugins/Goals/templates/_formAddGoal.twig index 7bff75f8cb..e2da3c1ffb 100644 --- a/plugins/Goals/templates/_formAddGoal.twig +++ b/plugins/Goals/templates/_formAddGoal.twig @@ -67,7 +67,7 @@ <tbody id="manual_trigger_section" style="display:none;"> <tr> <td colspan="2" class="first"> - {{ 'Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/javascript-tracking/%23toc-manually-trigger-a-conversion-for-a-goal'>","</a>")|raw }} + {{ 'Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/javascript-tracking/%23toc-manually-trigger-a-conversion-for-a-goal'>","</a>")|raw }} </td> </tr> </tbody> diff --git a/plugins/Goals/templates/addNewGoal.twig b/plugins/Goals/templates/addNewGoal.twig index e4cbaea787..6d227bc11c 100644 --- a/plugins/Goals/templates/addNewGoal.twig +++ b/plugins/Goals/templates/addNewGoal.twig @@ -6,6 +6,6 @@ {{ 'Goals_NoGoalsNeedAccess'|translate|raw }} </p> <p> - {{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }} + {{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>","</a>")|raw }} </p> {% endif %} diff --git a/plugins/Installation/FormSuperUser.php b/plugins/Installation/FormSuperUser.php index aef40d6a40..87adc47259 100644 --- a/plugins/Installation/FormSuperUser.php +++ b/plugins/Installation/FormSuperUser.php @@ -61,7 +61,7 @@ class FormSuperUser extends QuickForm2 $this->addElement('checkbox', 'subscribe_newsletter_piwikpro', null, array( 'content' => ' ' . Piwik::translate('Installation_PiwikProNewsletter', - array("<a href='http://piwik.pro' style='color:#444;' target='_blank'>", "</a>") + array("<a href='http://piwik.pro' style='color:#444;' rel='noreferrer' target='_blank'>", "</a>") ), )); diff --git a/plugins/Installation/templates/_systemCheckSection.twig b/plugins/Installation/templates/_systemCheckSection.twig index f9a4b6d474..871b06d981 100755 --- a/plugins/Installation/templates/_systemCheckSection.twig +++ b/plugins/Installation/templates/_systemCheckSection.twig @@ -209,7 +209,7 @@ {{ warning }} <span class="warn">{{ 'SitesManager_AdvancedTimezoneSupportNotFound'|translate }} </span> <br/> - <a href="http://php.net/manual/en/datetime.installation.php" target="_blank">Timezone PHP documentation</a> + <a href="http://php.net/manual/en/datetime.installation.php" rel="noreferrer" target="_blank">Timezone PHP documentation</a> . {% endif %} </td> @@ -311,12 +311,12 @@ {% elseif infos.extra.geolocation_using_non_recommended %} {{ warning }} <span class="warn">{{ 'UserCountry_GeoIpLocationProviderNotRecomnended'|translate }} - {{ 'UserCountry_GeoIpLocationProviderDesc_ServerBased2'|translate('<a href="http://piwik.org/docs/geo-locate/" target="_blank">', '', '', '</a>')|raw }}</span> + {{ 'UserCountry_GeoIpLocationProviderDesc_ServerBased2'|translate('<a href="http://piwik.org/docs/geo-locate/" rel="noreferrer" target="_blank">', '', '', '</a>')|raw }}</span> <br/> {% else %} {{ warning }} <span class="warn">{{ 'UserCountry_DefaultLocationProviderDesc1'|translate }} - {{ 'UserCountry_DefaultLocationProviderDesc2'|translate('<a href="http://piwik.org/docs/geo-locate/" target="_blank">', '', '', '</a>')|raw }} </span> + {{ 'UserCountry_DefaultLocationProviderDesc2'|translate('<a href="http://piwik.org/docs/geo-locate/" rel="noreferrer" target="_blank">', '', '', '</a>')|raw }} </span> </span> {% endif %} </td> @@ -340,7 +340,7 @@ <em><strong>{{ 'General_Error'|translate }}:</strong></em> {{ infos.extra.load_data_infile_error|raw }} {% endif %} - <p>Troubleshooting: <a target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/faq/troubleshooting/%23faq_194">FAQ on piwik.org</a></p> + <p>Troubleshooting: <a rel='noreferrer' target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/faq/troubleshooting/%23faq_194">FAQ on piwik.org</a></p> {% endif %} </td> </tr> diff --git a/plugins/Installation/templates/finished.twig b/plugins/Installation/templates/finished.twig index 468fe0600b..6e428916fb 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 target="_blank" href="http://piwik.org/get-involved/">','</a>')|raw }} - {{ 'General_HelpTranslatePiwik'|translate("<a target='_blank' href=\'http://piwik.org/translations/\'>","<\/a>")|raw }} + {{ 'Installation_GetInvolved'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/get-involved/">','</a>')|raw }} + {{ 'General_HelpTranslatePiwik'|translate("<a rel='noreferrer' target='_blank' href=\'http://piwik.org/translations/\'>","<\/a>")|raw }} </p> <p>{{ 'Installation_WeHopeYouWillEnjoyPiwik'|translate }}</p> <p><i>{{ 'Installation_HappyAnalysing'|translate }}</i></p> diff --git a/plugins/Installation/templates/reuseTables.twig b/plugins/Installation/templates/reuseTables.twig index 909c6d5c95..12eb53bca6 100644 --- a/plugins/Installation/templates/reuseTables.twig +++ b/plugins/Installation/templates/reuseTables.twig @@ -26,7 +26,7 @@ <ul> <li>{{ 'CoreUpdater_ErrorDIYHelp_1'|translate }}</li> <li>{{ 'CoreUpdater_ErrorDIYHelp_2'|translate }}</li> - <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://piwik.org/faq/how-to-update/#faq_179' target='_blank'>(see FAQ)</a></li> + <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://piwik.org/faq/how-to-update/#faq_179' rel='noreferrer' 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 f142e4edef..a8bb2c2e99 100644 --- a/plugins/Installation/templates/systemCheck.twig +++ b/plugins/Installation/templates/systemCheck.twig @@ -24,7 +24,7 @@ <br/> <p> <img src='plugins/Morpheus/images/link.gif'/> - <a href="?module=Proxy&action=redirect&url=http://piwik.org/docs/requirements/" target="_blank">{{ 'Installation_Requirements'|translate }}</a> + <a href="?module=Proxy&action=redirect&url=http://piwik.org/docs/requirements/" rel="noreferrer" target="_blank">{{ '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 3ca7992cfa..f58e4efaff 100644 --- a/plugins/Installation/templates/trackingCode.twig +++ b/plugins/Installation/templates/trackingCode.twig @@ -11,7 +11,7 @@ {{ trackingHelp|raw }} <br/><br/> <h2>{{ 'Installation_LargePiwikInstances'|translate }}</h2> -{{ 'Installation_JsTagArchivingHelp1'|translate('<a target="_blank" href="http://piwik.org/docs/setup-auto-archiving/">','</a>')|raw }} -{{ 'General_ReadThisToLearnMore'|translate('<a target="_blank" href="http://piwik.org/docs/optimize/">','</a>')|raw }} +{{ 'Installation_JsTagArchivingHelp1'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/setup-auto-archiving/">','</a>')|raw }} +{{ 'General_ReadThisToLearnM rel="noreferrer" target="_blank"<a target="_blank" href="http://piwik.org/docs/optimize/">','</a>')|raw }} {% endblock %} \ No newline at end of file diff --git a/plugins/LanguagesManager/API.php b/plugins/LanguagesManager/API.php index eaa5263ff6..2c8d74978a 100644 --- a/plugins/LanguagesManager/API.php +++ b/plugins/LanguagesManager/API.php @@ -19,7 +19,7 @@ use Piwik\Plugin\Manager as PluginManager; * The LanguagesManager API lets you access existing Piwik translations, and change Users languages preferences. * * "getTranslationsForLanguage" will return all translation strings for a given language, - * so you can leverage Piwik translations in your application (and automatically benefit from the <a href='http://piwik.org/translations/' target='_blank'>40+ translations</a>!). + * so you can leverage Piwik translations in your application (and automatically benefit from the <a href='http://piwik.org/translations/' rel='noreferrer' target='_blank'>40+ translations</a>!). * This is mostly useful to developers who integrate Piwik API results in their own application. * * You can also request the default language to load for a user via "getLanguageForUser", diff --git a/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html b/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html index 55ee2281fe..c21cffd24a 100644 --- a/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html +++ b/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html @@ -2,7 +2,7 @@ <p class="adminTable"> 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="http://developer.piwik.org/guides/internationalization" target="_blank">Internationalization guide</a>. + If you want to know more about translations have a look at our <a href="http://developer.piwik.org/guides/internationalization" rel="noreferrer" target="_blank">Internationalization guide</a>. Enter a search term to find translations and their corresponding keys: </p> diff --git a/plugins/Live/API.php b/plugins/Live/API.php index d15cca9e36..402150924a 100644 --- a/plugins/Live/API.php +++ b/plugins/Live/API.php @@ -44,12 +44,12 @@ require_once PIWIK_INCLUDE_PATH . '/plugins/UserCountry/functions.php'; * browser, type of screen, resolution, supported browser plugins (flash, java, silverlight, pdf, etc.), various dates & times format to make * it easier for API users... and more! * - * With the parameter <a href='http://piwik.org/docs/analytics-api/segmentation/' target='_blank'>'&segment='</a> you can filter the + * With the parameter <a href='http://piwik.org/docs/analytics-api/segmentation/' rel='noreferrer' target='_blank'>'&segment='</a> you can filter the * returned visits by any criteria (visitor IP, visitor ID, country, keyword used, time of day, etc.). * * The method "getCounters" is used to return a simple counter: visits, number of actions, number of converted visits, in the last N minutes. * - * See also the documentation about <a href='http://piwik.org/docs/real-time/' target='_blank'>Real time widget and visitor level reports</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/real-time/' rel='noreferrer' target='_blank'>Real time widget and visitor level reports</a> in Piwik. * @method static \Piwik\Plugins\Live\API getInstance() */ class API extends \Piwik\Plugin\API diff --git a/plugins/Live/templates/_actionsList.twig b/plugins/Live/templates/_actionsList.twig index 8463d0e461..cc798f4f6e 100644 --- a/plugins/Live/templates/_actionsList.twig +++ b/plugins/Live/templates/_actionsList.twig @@ -101,7 +101,7 @@ and previousAction.url|default(false) == action.url %} {# For events, do not show (url) if the Event URL is the same as the URL last displayed #} {% else %} - <a href="{{ action.url }}" target="_blank" class="{% if action.eventCategory|default(false) is empty %}action-list-url{# don't put URL on new line for events #}{% endif %} truncated-text-line" + <a href="{{ action.url }}" rel="noreferrer" target="_blank" rel="noreferrer" class="{% if action.eventCategory|default(false) is empty %}action-list-url{# don't put URL on new line for events #}{% endif %} truncated-text-line" {% if overrideLinkStyle is not defined or overrideLinkStyle %}style="{% if action.type=='action' and action.pageTitle|default(false) is not empty %}margin-left: 9px;{% endif %}text-decoration:underline;"{% endif %}> {% if action.eventCategory|default(false) is not empty %} (url) diff --git a/plugins/Live/templates/_dataTableViz_visitorLog.twig b/plugins/Live/templates/_dataTableViz_visitorLog.twig index e91ee9a75a..922ed2057b 100644 --- a/plugins/Live/templates/_dataTableViz_visitorLog.twig +++ b/plugins/Live/templates/_dataTableViz_visitorLog.twig @@ -71,7 +71,7 @@ <div class="referrer"> {% if visitor.getColumn('referrerType') == 'website' %} {{ 'Referrers_ColumnWebsite'|translate }}: - <a href="{{ visitor.getColumn('referrerUrl') }}" target="_blank" title="{{ visitor.getColumn('referrerUrl') }}" + <a href="{{ visitor.getColumn('referrerUrl') }}" rel="noreferrer" target="_blank" title="{{ visitor.getColumn('referrerUrl') }}" style="text-decoration:underline;"> {{ visitor.getColumn('referrerName') }} </a> @@ -91,7 +91,7 @@ <span {% if not showKeyword %}title="{{ keywordNotDefined }}"{% endif %}>{{ visitor.getColumn('referrerName') }}</span> {% if showKeyword %}{{ 'Referrers_Keywords'|translate }}: <br/> - <a href="{{ visitor.getColumn('referrerUrl') }}" target="_blank" style="text-decoration:underline;"> + <a href="{{ visitor.getColumn('referrerUrl') }}" rel="noreferrer" target="_blank" style="text-decoration:underline;"> "{{ visitor.getColumn('referrerKeyword') }}"</a> {% endif %} {% set keyword %}{{ visitor.getColumn('referrerKeyword') }}{% endset %} @@ -134,7 +134,7 @@ GPS (lat/long): {{ visitor.getColumn('latitude') }},{{ visitor.getColumn('longit {% if visitor.getColumn('provider') %} <br/> {{ 'Provider_ColumnProvider'|translate }}: - <a href="{{ visitor.getColumn('providerUrl') }}" target="_blank" title="{{ visitor.getColumn('providerUrl') }}" style="text-decoration:underline;"> + <a href="{{ visitor.getColumn('providerUrl') }}" rel="noreferrer" target="_blank" title="{{ visitor.getColumn('providerUrl') }}" style="text-decoration:underline;"> {{ visitor.getColumn('providerName') }} </a> {% endif %} diff --git a/plugins/Live/templates/getLastVisitsStart.twig b/plugins/Live/templates/getLastVisitsStart.twig index c762688f58..7b9f6a4d9d 100644 --- a/plugins/Live/templates/getLastVisitsStart.twig +++ b/plugins/Live/templates/getLastVisitsStart.twig @@ -42,7 +42,7 @@ {% if visitor.referrerType is defined and visitor.referrerType != 'direct' %} {{ 'General_FromReferrer'|translate }} {% if visitor.referrerUrl is not empty %} - <a href="{{ visitor.referrerUrl }}" target="_blank"> + <a href="{{ visitor.referrerUrl }}" rel="noreferrer" target="_blank"> {% endif %} {% if visitor.searchEngineIcon is defined %} <img src="{{ visitor.searchEngineIcon }}" /> diff --git a/plugins/Live/templates/getVisitorProfilePopup.twig b/plugins/Live/templates/getVisitorProfilePopup.twig index 9e68dde96b..0a25de6a39 100644 --- a/plugins/Live/templates/getVisitorProfilePopup.twig +++ b/plugins/Live/templates/getVisitorProfilePopup.twig @@ -26,7 +26,7 @@ {%- if visitorData.userId is not empty %}: <span title="{{'General_UserId'|translate}}: {{ visitorData.userId|raw }}">{{ visitorData.userId|raw }}</span>{% endif -%} <img class="loadingPiwik" style="display:none;" src="plugins/Morpheus/images/loading-blue.gif"/> </h1> - <a href="http://piwik.org/docs/user-profile/" class="reportDocumentationIcon" target="_blank" title="{{ 'General_ViewDocumentationFor'|translate("Live_VisitorProfile"|translate|ucwords) }}"></a> + <a href="http://piwik.org/docs/user-profile/" class="reportDocumentationIcon" rel="noreferrer" target="_blank" title="{{ 'General_ViewDocumentationFor'|translate("Live_VisitorProfile"|translate|ucwords) }}"></a> {% if visitorData.nextVisitorId is not empty %}<a class="visitor-profile-next-visitor" href="#" title="{{ 'Live_NextVisitor'|translate }}">→</a>{% endif %} </div> <div class="visitor-profile-latest-visit"> diff --git a/plugins/Login/Controller.php b/plugins/Login/Controller.php index 62c8b40740..ed790ec899 100644 --- a/plugins/Login/Controller.php +++ b/plugins/Login/Controller.php @@ -194,7 +194,7 @@ class Controller extends \Piwik\Plugin\Controller protected function getMessageExceptionNoAccess() { - $message = Piwik::translate('Login_InvalidNonceOrHeadersOrReferrer', array('<a href="?module=Proxy&action=redirect&url=' . urlencode('http://piwik.org/faq/how-to-install/#faq_98') . '" target="_blank">', '</a>')); + $message = Piwik::translate('Login_InvalidNonceOrHeadersOrReferrer', array('<a href="?module=Proxy&action=redirect&url=' . urlencode('http://piwik.org/faq/how-to-install/#faq_98') . '" rel="noreferrer" target="_blank">', '</a>')); // Should mention trusted_hosts or link to FAQ return $message; } diff --git a/plugins/Login/templates/login.twig b/plugins/Login/templates/login.twig index aca53736f6..bc756aebc4 100644 --- a/plugins/Login/templates/login.twig +++ b/plugins/Login/templates/login.twig @@ -54,7 +54,7 @@ {% if isCustomLogo %} {% set poweredByPiwik %} - <i><a href="http://piwik.org/" target="_blank">{{ linkTitle }}</a></i> + <i><a href="http://piwik.org/" rel="noreferrer" target="_blank">{{ linkTitle }}</a></i> {% endset %} {% endif %} diff --git a/plugins/MobileMessaging/SMSProvider.php b/plugins/MobileMessaging/SMSProvider.php index c9212971e2..c3794f7d7b 100644 --- a/plugins/MobileMessaging/SMSProvider.php +++ b/plugins/MobileMessaging/SMSProvider.php @@ -24,15 +24,15 @@ abstract class SMSProvider extends BaseFactory const MAX_UCS2_CHARS_IN_ONE_CONCATENATED_SMS = 67; public static $availableSMSProviders = array( - 'Clockwork' => '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/> + 'Clockwork' => 'You can use <a rel="noreferrer" 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/> <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 rel="noreferrer" 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><li> Enter your Clockwork API Key on this page. </li> </ul> <br/><em>About Clockwork: </em><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 rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/sms-coverage/">here</a>. </li> </ul> ', diff --git a/plugins/MultiSites/angularjs/site/site.directive.html b/plugins/MultiSites/angularjs/site/site.directive.html index a976edccbc..dbca619b87 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 }}">{{ website.label }}</a> <span style="width: 10px; margin-left:3px;"> - <a target="_blank" title="{{ 'General_GoTo'|translate:website.main_url }}" ng-href="{{ website.main_url }}"> + <a rel="noreferrer" target="_blank" title="{{ 'General_GoTo'|translate:website.main_url }}" ng-href="{{ website.main_url }}"> <img src="plugins/Morpheus/images/link.gif"/></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 target="_blank" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}" + <a rel="noreferrer" 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 7984e8302b..7c400b9e57 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="Overlay_Title" href="http://piwik.org/docs/page-overlay/" target="_blank"> + <a id="Overlay_Title" href="http://piwik.org/docs/page-overlay/" rel="noreferrer" target="_blank"> {{ 'Overlay_Overlay'|translate }} <img src="plugins/Morpheus/images/help.png" alt="Documentation"/> </a> @@ -37,7 +37,7 @@ </p> <p> - <a href="http://piwik.org/docs/page-overlay/#toc-page-overlay-troubleshooting" target="_blank"> + <a href="http://piwik.org/docs/page-overlay/#toc-page-overlay-troubleshooting" rel="noreferrer" target="_blank"> {{ 'Overlay_ErrorNotLoadingLink'|translate }} </a> </p> diff --git a/plugins/PrivacyManager/templates/privacySettings.twig b/plugins/PrivacyManager/templates/privacySettings.twig index 588e0537c3..dc989fbf04 100644 --- a/plugins/PrivacyManager/templates/privacySettings.twig +++ b/plugins/PrivacyManager/templates/privacySettings.twig @@ -6,7 +6,7 @@ <h2 piwik-enriched-headline help-url="http://piwik.org/docs/privacy/">{{ 'PrivacyManager_TeaserHeadline'|translate }}</h2> <p>{{ 'PrivacyManager_Teaser'|translate('<a href="#anonymizeIPAnchor">',"</a>",'<a href="#deleteLogsAnchor">',"</a>",'<a href="#optOutAnchor">',"</a>")|raw }} - {{'PrivacyManager_SeeAlsoOurOfficialGuidePrivacy'|translate('<strong><a href="http://piwik.org/privacy/" target="_blank">','</a></strong>')|raw }}</p> + {{'PrivacyManager_SeeAlsoOurOfficialGuidePrivacy'|translate('<strong><a href="http://piwik.org/privacy/" rel="noreferrer" target="_blank">','</a></strong>')|raw }}</p> <h2 id="anonymizeIPAnchor">{{ 'PrivacyManager_UseAnonymizeIp'|translate }}</h2> <form method="post" action="{{ {'action':'saveSettings', 'form':'formMaskLength', 'token_auth':token_auth} | urlRewriteWithParameters }}" id="formMaskLength"> <div id='anonymizeIpSettings'> @@ -118,7 +118,7 @@ <span id="privacyManagerDeleteLogDescription" style="margin-top: 10px;display:inline-block;"> {% set deleteLogDescription %} {{ 'PrivacyManager_DeleteLogDescription2'|translate|raw }} - <a href="http://piwik.org/faq/general/#faq_125" target="_blank"> + <a href="http://piwik.org/faq/general/#faq_125" rel="noreferrer" target="_blank"> {{ 'General_ClickHere'|translate }} </a> {% endset %} @@ -307,7 +307,7 @@ {% set iframeOptOut %}<iframe style="border: 0; height: 200px; width: 600px;" src="{{ optOutUrl }}"></iframe>{% endset %} <code>{{ iframeOptOut|e('html') }}</code> <br/> - {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' target='_blank'>","</a>")|raw }} + {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' rel='noreferrer' target='_blank'>","</a>")|raw }} </p> <div style="height:100px;"></div> diff --git a/plugins/Provider/Reports/GetProvider.php b/plugins/Provider/Reports/GetProvider.php index 739124088c..e7cfcfa753 100644 --- a/plugins/Provider/Reports/GetProvider.php +++ b/plugins/Provider/Reports/GetProvider.php @@ -35,7 +35,7 @@ class GetProvider extends Report if (! Common::getRequestVar('disableLink', 0, 'int')) { $message .= ' ' . Piwik::translate( 'General_SeeThisFaq', - array('<a href="http://piwik.org/faq/general/faq_52/" target="_blank">', '</a>') + array('<a href="http://piwik.org/faq/general/faq_52/" rel="noreferrer" target="_blank">', '</a>') ); } $view->config->show_footer_message = $message; diff --git a/plugins/Referrers/API.php b/plugins/Referrers/API.php index 01854ac9f1..5172729e86 100644 --- a/plugins/Referrers/API.php +++ b/plugins/Referrers/API.php @@ -21,11 +21,11 @@ use Piwik\Piwik; /** * The Referrers API lets you access reports about Websites, Search engines, Keywords, Campaigns used to access your website. * - * For example, "getKeywords" returns all search engine keywords (with <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' target='_blank'>general analytics metrics</a> for each keyword), "getWebsites" returns referrer websites (along with the full Referrer URL if the parameter &expanded=1 is set). + * For example, "getKeywords" returns all search engine keywords (with <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' rel='noreferrer' target='_blank'>general analytics metrics</a> for each keyword), "getWebsites" returns referrer websites (along with the full Referrer URL if the parameter &expanded=1 is set). * "getReferrerType" returns the Referrer overview report. "getCampaigns" returns the list of all campaigns (and all campaign keywords if the parameter &expanded=1 is set). * * The methods "getKeywordsForPageUrl" and "getKeywordsForPageTitle" are used to output the top keywords used to find a page. - * Check out the widget <a href='http://demo.piwik.org/index.php?module=Widgetize&action=iframe&moduleToWidgetize=Referrers&actionToWidgetize=getKeywordsForPage&idSite=7&period=day&date=2011-02-15&disableLink=1' target='_blank'>"Top keywords used to find this page"</a> that you can easily re-use on your website. + * Check out the widget <a href='http://demo.piwik.org/index.php?module=Widgetize&action=iframe&moduleToWidgetize=Referrers&actionToWidgetize=getKeywordsForPage&idSite=7&period=day&date=2011-02-15&disableLink=1' rel='noreferrer' target='_blank'>"Top keywords used to find this page"</a> that you can easily re-use on your website. * @method static \Piwik\Plugins\Referrers\API getInstance() */ class API extends \Piwik\Plugin\API diff --git a/plugins/Referrers/Controller.php b/plugins/Referrers/Controller.php index f01c61f647..71960c379b 100644 --- a/plugins/Referrers/Controller.php +++ b/plugins/Referrers/Controller.php @@ -354,8 +354,8 @@ function DisplayTopKeywords($url = "") echo "<p>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> - <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 target='_blank' href='$topPageUrl'>$topPageUrl</a>, - in format JSON: you would dynamically fetch the data using <a 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' 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> <p><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 fbc0835a3b..a09affa70c 100644 --- a/plugins/Referrers/Reports/GetCampaigns.php +++ b/plugins/Referrers/Reports/GetCampaigns.php @@ -20,7 +20,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="http://piwik.org/docs/tracking-campaigns/" target="_blank">', '</a>')); + array('<br />', '<a href="http://piwik.org/docs/tracking-campaigns/" rel="noreferrer" 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 6230faec9f..0a12e87fde 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="http://piwik.org/docs/tracking-campaigns/" target="_blank">', '</a>')); + array('<br />', '<a href="http://piwik.org/docs/tracking-campaigns/" rel="noreferrer" target="_blank">', '</a>')); $this->isSubtableReport = true; $this->order = 10; } diff --git a/plugins/SEO/templates/getRank.twig b/plugins/SEO/templates/getRank.twig index 08839997b3..491e36ea57 100644 --- a/plugins/SEO/templates/getRank.twig +++ b/plugins/SEO/templates/getRank.twig @@ -18,14 +18,14 @@ {{ 'General_Error'|translate }} {% else %} {% set cleanUrl %} - <a href="http://{{ urlToRank }}" target="_blank">{{ urlToRank }}</a> + <a href="http://{{ urlToRank }}" rel="noreferrer" target="_blank">{{ urlToRank }}</a> {% endset %} {{ 'SEO_SEORankingsFor'|translate(cleanUrl)|raw }} <table cellspacing="2" style="margin:auto;line-height:1.5em;padding-top:10px;"> {% for rank in ranks %} <tr> {% set seoLink %}{% if rank.logo_link is defined %}<a class="linkContent" href="?module=Proxy&action=redirect&url={{ rank.logo_link|url_encode }}" - target="_blank" + rel="noreferrer" target="_blank" {% if rank.logo_tooltip is not empty %}title="{{ rank.logo_tooltip }}"{% endif %}>{% endif %}{% endset %} {% set majesticLink %}{{ seoLink }}Majestic</a>{% endset %} <td>{% if rank.logo_link is defined %}{{ seoLink|raw }}{% endif %}<img diff --git a/plugins/ScheduledReports/API.php b/plugins/ScheduledReports/API.php index 3798c166da..54cbf41125 100644 --- a/plugins/ScheduledReports/API.php +++ b/plugins/ScheduledReports/API.php @@ -31,7 +31,7 @@ use Piwik\Translate; * * You can also get the list of all existing reports via "getReports", create new reports via "addReport", * or manage existing reports with "updateReport" and "deleteReport". - * See also the documentation about <a href='http://piwik.org/docs/email-reports/' target='_blank'>Scheduled Email reports</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/email-reports/' rel='noreferrer' target='_blank'>Scheduled Email reports</a> in Piwik. * * @method static \Piwik\Plugins\ScheduledReports\API getInstance() */ diff --git a/plugins/ScheduledReports/templates/_addReport.twig b/plugins/ScheduledReports/templates/_addReport.twig index c059692ecb..3fbc21b98b 100644 --- a/plugins/ScheduledReports/templates/_addReport.twig +++ b/plugins/ScheduledReports/templates/_addReport.twig @@ -41,7 +41,7 @@ <div class="entityInlineHelp"> {% set SegmentEditor_DefaultAllVisits %}{{ 'SegmentEditor_DefaultAllVisits'|translate }}{% endset %} {% set SegmentEditor_AddNewSegment %}{{ 'SegmentEditor_AddNewSegment'|translate }}{% endset %} - {{ 'ScheduledReports_Segment_Help'|translate('<a href="./" target="_blank">','</a>',SegmentEditor_DefaultAllVisits,SegmentEditor_AddNewSegment)|raw }} + {{ 'ScheduledReports_Segment_Help'|translate('<a href="./" rel="noreferrer" target="_blank">','</a>',SegmentEditor_DefaultAllVisits,SegmentEditor_AddNewSegment)|raw }} </div> </td> </tr> diff --git a/plugins/ScheduledReports/templates/_listReports.twig b/plugins/ScheduledReports/templates/_listReports.twig index 5497dfc98e..b9359f21a0 100644 --- a/plugins/ScheduledReports/templates/_listReports.twig +++ b/plugins/ScheduledReports/templates/_listReports.twig @@ -75,7 +75,7 @@ 'outputType':downloadOutputType, 'language':language, 'format': (report.format in ['html', 'csv']) ? report.format : false }) }}" - target="_blank" name="linkDownloadReport" id="{{ report.idreport }}" class="link_but"> + rel="noreferrer" target="_blank" name="linkDownloadReport" id="{{ report.idreport }}" class="link_but"> <img src='{{ reportFormatsByReportType[report.type][report.format] }}' border="0"/> {{ 'General_Download'|translate }} </a> diff --git a/plugins/SecurityInfo b/plugins/SecurityInfo index c76e640f24..36fa09c377 160000 --- a/plugins/SecurityInfo +++ b/plugins/SecurityInfo @@ -1 +1 @@ -Subproject commit c76e640f2404371566a65a640c41af85075e336e +Subproject commit 36fa09c37715435b96731dceae7ebab05a7d6a01 diff --git a/plugins/SegmentEditor/templates/_segmentSelector.twig b/plugins/SegmentEditor/templates/_segmentSelector.twig index 1d1b2275d8..a3a8ee90ae 100644 --- a/plugins/SegmentEditor/templates/_segmentSelector.twig +++ b/plugins/SegmentEditor/templates/_segmentSelector.twig @@ -139,7 +139,7 @@ </div> <div class="segment-footer"> <div piwik-rate-feature title="Segment Editor" style="display:inline-block;float: left;margin-top: 2px;margin-right: 10px;"></div> - <span class="segmentFooterNote">The Segment Editor was <a class='crowdfundingLink' href='http://crowdfunding.piwik.org/custom-segments-editor/' target='_blank'>crowdfunded</a> with the awesome support of 80 companies and Piwik users worldwide!</span> + <span class="segmentFooterNote">The Segment Editor was <a class='crowdfundingLink' href='http://crowdfunding.piwik.org/custom-segments-editor/' rel='noreferrer' target='_blank'>crowdfunded</a> with the awesome support of 80 companies and Piwik users worldwide!</span> <a class="delete" href="#">{{ 'General_Delete'|translate }}</a> <a class="close" href="#">{{ 'General_Close'|translate }}</a> <button class="saveAndApply">{{ 'SegmentEditor_SaveAndApply'|translate }}</button> diff --git a/plugins/SitesManager/API.php b/plugins/SitesManager/API.php index 24bb750f12..445715eda8 100644 --- a/plugins/SitesManager/API.php +++ b/plugins/SitesManager/API.php @@ -41,7 +41,7 @@ use Piwik\UrlHelper; * Some methods will affect all websites globally: "setGlobalExcludedIps" will set the list of IPs to be excluded on all websites, * "setGlobalExcludedQueryParameters" will set the list of URL parameters to remove from URLs for all websites. * The existing values can be fetched via "getExcludedIpsGlobal" and "getExcludedQueryParametersGlobal". - * See also the documentation about <a href='http://piwik.org/docs/manage-websites/' target='_blank'>Managing Websites</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/manage-websites/' rel='noreferrer' target='_blank'>Managing Websites</a> in Piwik. * @method static \Piwik\Plugins\SitesManager\API getInstance() */ class API extends \Piwik\Plugin\API diff --git a/plugins/SitesManager/templates/_displayJavascriptCode.twig b/plugins/SitesManager/templates/_displayJavascriptCode.twig index 9684358aee..d82826b3be 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_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" target="_blank">','</a>')|raw }}</p> + <p>{{ 'CoreAdminHome_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" rel="noreferrer" target="_blank">','</a>')|raw }}</p> <h3>{{ 'General_JsTrackingTag'|translate }}</h3> @@ -12,7 +12,7 @@ <pre class="code-pre"><code>{{ jsTag|raw }}</code></pre> <br/> - <p>{{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }}</p> + <p>{{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }}</p> <p>{{ 'Installation_JSTracking_EndNote'|translate('<em>','</em>')|raw }}</p> </div> \ No newline at end of file diff --git a/plugins/UserCountry/LocationProvider/Default.php b/plugins/UserCountry/LocationProvider/Default.php index 1681efb4f7..ab93545dd9 100755 --- a/plugins/UserCountry/LocationProvider/Default.php +++ b/plugins/UserCountry/LocationProvider/Default.php @@ -104,7 +104,7 @@ class DefaultProvider extends LocationProvider $desc = Piwik::translate('UserCountry_DefaultLocationProviderDesc1') . ' ' . Piwik::translate('UserCountry_DefaultLocationProviderDesc2', array('<strong>', '<em>', '</em>', '</strong>')) - . '<p><em><a href="http://piwik.org/faq/how-to/#faq_163" target="_blank">' + . '<p><em><a href="http://piwik.org/faq/how-to/#faq_163" rel="noreferrer" target="_blank">' . Piwik::translate('UserCountry_HowToInstallGeoIPDatabases') . '</em></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 3326248ecc..f5f28c9719 100755 --- a/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php +++ b/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php @@ -218,7 +218,7 @@ class Pecl extends GeoIp $desc = Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Pecl1') . '<br/><br/>' . Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Pecl2'); $installDocs = '<em>' - . '<a target="_blank" href="http://piwik.org/faq/how-to/#faq_164">' + . '<a rel="noreferrer" target="_blank" href="http://piwik.org/faq/how-to/#faq_164">' . Piwik::translate('UserCountry_HowToInstallGeoIpPecl') . '</a>' . '</em>'; diff --git a/plugins/UserCountry/LocationProvider/GeoIp/Php.php b/plugins/UserCountry/LocationProvider/GeoIp/Php.php index 2a3fda9dee..abaa88139d 100755 --- a/plugins/UserCountry/LocationProvider/GeoIp/Php.php +++ b/plugins/UserCountry/LocationProvider/GeoIp/Php.php @@ -297,7 +297,7 @@ class Php extends GeoIp $desc = Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Php1') . '<br/><br/>' . Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Php2', array('<strong><em>', '</em></strong>', '<strong><em>', '</em></strong>')); - $installDocs = '<em><a target="_blank" href="http://piwik.org/faq/how-to/#faq_163">' + $installDocs = '<em><a rel="noreferrer" target="_blank" href="http://piwik.org/faq/how-to/#faq_163">' . Piwik::translate('UserCountry_HowToInstallGeoIPDatabases') . '</em></a>'; diff --git a/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php b/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php index b7df996637..90a73b8c79 100755 --- 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><em>', '</em></strong>', '<strong><em>', '</em></strong>')); $installDocs = - '<em><a target="_blank" href="http://piwik.org/faq/how-to/#faq_165">' + '<em><a rel="noreferrer" target="_blank" href="http://piwik.org/faq/how-to/#faq_165">' . Piwik::translate('UserCountry_HowToInstallApacheModule') . '</a></em><br/><em>' - . '<a target="_blank" href="http://piwik.org/faq/how-to/#faq_166">' + . '<a rel="noreferrer" target="_blank" href="http://piwik.org/faq/how-to/#faq_166">' . Piwik::translate('UserCountry_HowToInstallNginxModule') . '</a></em>'; diff --git a/plugins/UserCountry/Reports/Base.php b/plugins/UserCountry/Reports/Base.php index 9e62b0a6b6..f7a4f34203 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 target="_blank" href="http://www.maxmind.com/?rId=piwik">', + array('<a rel="noreferrer" target="_blank" href="http://www.maxmind.com/?rId=piwik">', '</a>', - '<a target="_blank" href="http://www.maxmind.com/en/city_accuracy?rId=piwik">', + '<a rel="noreferrer" 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 target="_blank" href="http://dev.maxmind.com/geoip/geolite?rId=piwik">', + '<a rel="noreferrer" target="_blank" href="http://dev.maxmind.com/geoip/geolite?rId=piwik">', '</a>')); } else { $footerMessage .= ' ' . Piwik::translate('UserCountry_ToGeolocateOldVisits', - array('<a target="_blank" href="http://piwik.org/faq/how-to/#faq_167">', '</a>')); + array('<a rel="noreferrer" target="_blank" href="http://piwik.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 17d8e8a83c..88363e1efa 100644 --- a/plugins/UserCountry/Reports/GetCountry.php +++ b/plugins/UserCountry/Reports/GetCountry.php @@ -40,7 +40,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 target="_blank" href="http://piwik.org/docs/geo-locate/">', '</a>')); + array('<a rel="noreferrer" target="_blank" href="http://piwik.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 65d83cba31..587abe25bd 100755 --- a/plugins/UserCountry/templates/adminIndex.twig +++ b/plugins/UserCountry/templates/adminIndex.twig @@ -15,7 +15,7 @@ <h3 style="margin-top:0;">{{ 'UserCountry_HowToSetupGeoIP'|translate }}</h3> <p>{{ 'UserCountry_HowToSetupGeoIPIntro'|translate }}</p> <ul style="list-style:disc;margin-left:2em;"> - <li>{{ 'UserCountry_HowToSetupGeoIP_Step1'|translate('<a href="http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz">','</a>','<a target="_blank" href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}</li> + <li>{{ 'UserCountry_HowToSetupGeoIP_Step1'|translate('<a href="http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz">','</a>','<a rel="noreferrer" target="_blank" href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}</li> <li>{{ 'UserCountry_HowToSetupGeoIP_Step2'|translate("'GeoLiteCity.dat'",'<strong>','</strong>')|raw }}</li> <li>{{ 'UserCountry_HowToSetupGeoIP_Step3'|translate('<strong>','</strong>','<span style="color:green"><strong>','</strong></span>')|raw }}</li> <li>{{ 'UserCountry_HowToSetupGeoIP_Step4'|translate }}</li> diff --git a/plugins/UsersManager/API.php b/plugins/UsersManager/API.php index 751e61dbbc..1e651eef13 100644 --- a/plugins/UsersManager/API.php +++ b/plugins/UsersManager/API.php @@ -28,7 +28,7 @@ use Piwik\Tracker\Cache; * Existing Permissions are listed given a login via "getSitesAccessFromUser", or a website ID via "getUsersAccessFromSite", * or you can list all users and websites for a given permission via "getUsersSitesFromAccess". Permissions are set and updated * via the method "setUserAccess". - * See also the documentation about <a href='http://piwik.org/docs/manage-users/' target='_blank'>Managing Users</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/manage-users/' rel='noreferrer' target='_blank'>Managing Users</a> in Piwik. */ class API extends \Piwik\Plugin\API { diff --git a/plugins/UsersManager/Model.php b/plugins/UsersManager/Model.php index 3d69f0ab14..f6b453e4e9 100644 --- a/plugins/UsersManager/Model.php +++ b/plugins/UsersManager/Model.php @@ -22,7 +22,7 @@ use Piwik\Piwik; * Existing Permissions are listed given a login via "getSitesAccessFromUser", or a website ID via "getUsersAccessFromSite", * or you can list all users and websites for a given permission via "getUsersSitesFromAccess". Permissions are set and updated * via the method "setUserAccess". - * See also the documentation about <a href='http://piwik.org/docs/manage-users/' target='_blank'>Managing Users</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/manage-users/' rel='noreferrer' target='_blank'>Managing Users</a> in Piwik. */ class Model { diff --git a/plugins/VisitorGenerator b/plugins/VisitorGenerator index f516179c7e..0ed78a595d 160000 --- a/plugins/VisitorGenerator +++ b/plugins/VisitorGenerator @@ -1 +1 @@ -Subproject commit f516179c7e7d5ae3cf28123c8e09f168e03dfca6 +Subproject commit 0ed78a595d4d12965cd66f85a7a09b91ec94b55a diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php index 63fe8ef205..b94c440f1d 100644 --- a/plugins/VisitsSummary/Controller.php +++ b/plugins/VisitsSummary/Controller.php @@ -61,7 +61,7 @@ class Controller extends \Piwik\Plugin\Controller . Piwik::translate('General_ColumnNbActionsDocumentation') . '<br />' . '<b>' . Piwik::translate('General_ColumnNbUsers') . ':</b> ' - . Piwik::translate('General_ColumnNbUsersDocumentation') . ' (<a target="_blank" href="http://piwik.org/docs/user-id/">User ID</a>)<br />' + . Piwik::translate('General_ColumnNbUsersDocumentation') . ' (<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/user-id/">User ID</a>)<br />' . '<b>' . Piwik::translate('General_ColumnActionsPerVisit') . ':</b> ' . Piwik::translate('General_ColumnActionsPerVisitDocumentation'); diff --git a/plugins/Widgetize/javascripts/widgetize.js b/plugins/Widgetize/javascripts/widgetize.js index c341c7c5c3..3e7d8787b6 100644 --- a/plugins/Widgetize/javascripts/widgetize.js +++ b/plugins/Widgetize/javascripts/widgetize.js @@ -64,7 +64,7 @@ function widgetize() { '</span>' + '</div>' + '<div> <label for="embedThisWidgetDirectLink">› Direct Link</label>' + - '<span id="embedThisWidgetDirectLink"> ' + self.getInputFormWithHtml('directLinkEmbed', urlIframe) + ' - <a href="' + urlIframe + '" target="_blank">' + _pk_translate('Widgetize_OpenInNewWindow') + '</a></span>' + '<span id="embedThisWidgetDirectLink"> ' + self.getInputFormWithHtml('directLinkEmbed', urlIframe) + ' - <a href="' + urlIframe + '" rel="noreferrer" target="_blank">' + _pk_translate('Widgetize_OpenInNewWindow') + '</a></span>' + '</div>' ); diff --git a/plugins/Widgetize/templates/index.twig b/plugins/Widgetize/templates/index.twig index 4ef49917bd..4763473a62 100644 --- a/plugins/Widgetize/templates/index.twig +++ b/plugins/Widgetize/templates/index.twig @@ -35,14 +35,14 @@ <p> <strong>› Widget authentication:</strong> 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' target='_blank'>Users Management section</a>. + to the anonymous user in the <a href='index.php?module=UsersManager' rel='noreferrer' 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'}) }}' target='_blank'>API page</a>) in the widget URL. + <a href='{{ linkTo({'module':'API','action':'listAllAPI'}) }}' rel='noreferrer' target='_blank'>API page</a>) in the widget URL. </p> <p><strong>› Widgetize the full dashboard:</strong> You can also display the full Piwik dashboard in your application or website in an IFRAME - (<a href='' target='_blank' id='linkDashboardUrl'>see example</a>). + (<a href='' rel='noreferrer' target='_blank' id='linkDashboardUrl'>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. @@ -50,7 +50,7 @@ </p> <p> - <strong>› Widgetize the all websites dashboard in an IFRAME</strong> (<a href='' target='_blank' id='linkAllWebsitesDashboardUrl'>see example</a>) + <strong>› Widgetize the all websites dashboard in an IFRAME</strong> (<a href='' rel='noreferrer' target='_blank' id='linkAllWebsitesDashboardUrl'>see example</a>) <span id='exportAllWebsitesDashboard'></span> </p> -- GitLab