René's URL Explorer Experiment


Title: $title

Mail addresses
{{ author.email|escape('url') }}
{{ contactEmail|e('url') }}?subject={{ 'CorePluginsAdmin_TagManagerNowAvailableTitle'|translate|e('url') }}&body={{ 'CorePluginsAdmin_TagManagerTeaserEmailSuperUserBody'|translate(
hello@matomo.org?subject={{ 'Fatal error in Matomo ' ~ piwikVersion|e('url') }}&body={{ lastError.message|e('url') }} in {{ lastError.file|e('url') }} {{ lastError.line|e('url') }} using PHP {{ constant('PHP_VERSION') }}
{{ contactEmail|e('url') }}?subject={{ 'Fatal error in Matomo ' ~ piwikVersion|e('url') }}&body={{ lastError.message|e('url') }} in {{ lastError.file|e('url') }} {{ lastError.line|e('url') }} using PHP {{ constant('PHP_VERSION') }}
?subject={{ 'SitesManager_EmailInstructionsSubject'|translate|url_encode|e('html_attr') }}&body={{ emailBody|url_encode|e('html_attr') }}
?subject=' ~ 'SitesManager_EmailInstructionsSubject'|translate|url_encode|e('html_attr') ~ '&body=' ~ emailBody|url_encode|e('html_attr') ~ '
?subject={{ 'SitesManager_EmailInstructionsSubject'|translate|url_encode|e('html_attr') }}&body={{ emailBody|url_encode|e('html_attr') }}
?body={{ shareTextLong|url_encode(true) }}&subject={{ shareText|url_encode(true) }}
" ~ contactEmail|e(

Generator: Matomo Analytics

direct link

Domain: builds.matomo.org

NoneIE=EDGE,chrome=1
googlenotranslate
GeneratorDrupal'; if (strpos($response['data'], $needle) !== false) { return SitesManager::SITE_TYPE_DRUPAL; } // https://github.com/drupal/drupal/blob/9.2.x/core/includes/install.core.inc#L1054 // Birthday of Dries Buytaert, the founder of Drupal is on 19 November 1978 - https://en.wikipedia.org/wiki/Drupal if (isset($response['headers']['expires']) && $response['headers']['expires'] === 'Sun, 19 Nov 1978 05:00:00 GMT') { return SitesManager::SITE_TYPE_DRUPAL; } $pattern = '/data-wf-(?:domain|page)=/i'; if (preg_match($pattern, $response['data']) === 1) { return SitesManager::SITE_TYPE_WEBFLOW; } return SitesManager::SITE_TYPE_UNKNOWN; } public function guessGtmFromResponse($response) { if ($response === false) { return false; } $needle = 'gtm.start'; if (strpos($response['data'], $needle) !== false) { return true; } return false; } } piwik/plugins/SitesManager/templates/0000755000175100001710000000000014221213162017573 5ustar runnerdockerpiwik/plugins/SitesManager/templates/_displayJavascriptCode.twig0000644000175100001710000000470314221213162025121 0ustar runnerdocker

Links:

$moduleNamehttps://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#$moduleName
10 dayshttps://builds.matomo.org/$exampleUrlRss&format=rss$token_auth_url&translateColumnNames=1
XMLhttps://builds.matomo.org/$exampleUrl&format=xml$token_auth_url
Jsonhttps://builds.matomo.org/$exampleUrl&format=JSON$token_auth_url
Tsv (Excel)https://builds.matomo.org/$exampleUrl&format=Tsv$token_auth_url&translateColumnNames=1
', 'https://matomo.org/faq/troubleshooting/faq_147/
', 'https://matomo.org/faq/how-to/faq_91/
', 'https://matomo.org/faq/how-to-install/#faq_98
{{ dashboard.name|escape }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
', 'https://matomo.org/faq/how-to-install/faq_98/
{{ 'CoreAdminHome_ArchivingSettings'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#/archivingSettings
{{ 'CoreAdminHome_EmailServerSettings'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#/mailSettings
{{ 'CoreAdminHome_BrandingSettings'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#/brandingSettings
{{ 'PrivacyManager_DeleteDataSettings'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#/deleteDataSettings
{{ 'PrivacyManager_ClickHereSettings'|translate("'" ~ 'PrivacyManager_DeleteDataSettings'|translate ~ "'") }} https://builds.matomo.org/{{ linkTo({
', 'https://builds.matomo.org/'~trackingCodeUrl~'
', 'https://developer.matomo.org/guides/tracking-javascript-guide
WordPresshttps://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/
Squarespacehttps://matomo.org/faq/new-to-piwik/how-do-i-integrate-matomo-with-squarespace-website/
Wixhttps://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-wix/
SharePointhttps://matomo.org/faq/how-to-install/faq_19424/
Joomlahttps://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-joomla/
Shopifyhttps://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-my-shopify-store/
Google Tag Managerhttps://matomo.org/faq/new-to-piwik/how-do-i-use-matomo-analytics-within-gtm-google-tag-manager/
Learn morehttps://builds.matomo.org/{{ linkTo({'module': 'Feedback', 'action': 'index'}) }}
{{ change.link_name }}https://builds.matomo.org/{{ change.link|e('html_attr') }}
{{ 'CoreAdminHome_JavaScriptTracking'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#/javaScriptTracking
{{ 'CoreAdminHome_ImageTracking'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#/imageTracking
{{ 'CoreAdminHome_ImportingServerLogs'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#/importServerLogs
{{ 'SitesManager_MobileAppsAndSDKs'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#/mobileAppsAndSdks
{{ 'CoreAdminHome_HttpTrackingApi'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#/trackingApi
{{ 'SitesManager_SiteWithoutDataSinglePageApplication'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#/singlePageApplication
','https://matomo.org/log-analytics/
','https://matomo.org/integrate/#programming-language-platforms-and-frameworks
','https://developer.matomo.org/api-reference/tracking-api
','https://developer.matomo.org/guides/spa-tracking
{{ 'CoreAdminHome_ViewAllTrackingFailures'|translate }}https://builds.matomo.org/{{ linkTo({'module': 'CoreAdminHome', 'action': 'trackingFailures'}) }}
', 'https://builds.matomo.org/'~trackingFailuresUrl~'
', 'https://matomo.org/docs/setup-auto-archiving/
', 'https://matomo.org/docs/setup-auto-archiving/
'; return Object(external_CoreHome_["translate"])('CoreAdminHome_CustomLogoFeedbackInfo', giveUsFeedbackText, linkStart, 'https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz?module=CorePluginsAdmin&action=plugins
', 'https://matomo.org/integrate/
', 'https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#image-tracking-link
"), 'https://builds.matomo.org/\"".concat(subdomainsLink,
', 'https://matomo.org/faq/general/#faq_119
"), 'https://builds.matomo.org/\"".concat(link,
',"https://matomo.org/docs/setup-auto-archiving/
',"https://matomo.org/docs/setup-auto-archiving/
';return Object(r["translate"])("CoreAdminHome_CustomLogoFeedbackInfo",e,t,"https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz?module=CorePluginsAdmin&action=plugins
',"https://matomo.org/integrate/
',"https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#image-tracking-link
',"https://developer.matomo.org/guides/tracking-javascript-guide
'),"https://builds.matomo.org/'.concat(e,'
',"https://matomo.org/faq/general/#faq_119
'),"https://builds.matomo.org/'.concat(e,'
https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/
https://matomo.org/faq/new-to-piwik/how-do-i-integrate-matomo-with-squarespace-website/
https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-wix/
https://matomo.org/faq/how-to-install/faq_19424/
https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-joomla/
https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-my-shopify-store/
https://matomo.org/faq/new-to-piwik/how-do-i-use-matomo-analytics-within-gtm-google-tag-manager/
javascript:;
javascript:;
javascript:;
https://builds.matomo.org/{{ ctaLinkUrl|e('html_attr') }}
{{ ctaLinkTitle }} https://builds.matomo.org/{{ ctaLinkUrl|e('html_attr') }}
Funnels for Matomohttps://matomo.org/recommends/conversion-funnel/
Multi Channel Conversion Attributionhttps://plugins.piwik.org/MultiChannelConversionAttribution
Learn morehttps://matomo.org/docs/event-tracking/
Content Trackinghttps://developer.matomo.org/guides/content-tracking
Media Analytics gives deep insights into your audiencehttps://matomo.org/recommends/media-analytics-website
Heatmap & Session Recordinghttps://matomo.org/recommends/heatmap-session-recording-learn-more/
Heatmap & Session Recordinghttps://matomo.org/recommends/heatmap-session-recording-learn-more/
SEO Web Vitals https://matomo.org/recommends/seo-web-vitals/
Search Keywords Performancehttps://matomo.org/recommends/search-keywords-performance/
A/B Testing for Matomohttps://matomo.org/recommends/ab-testing-learn-more/
Custom Reportshttps://plugins.piwik.org/CustomReports
Campaign trackinghttps://matomo.org/docs/tracking-campaigns/
URL Builder toolhttps://matomo.org/docs/tracking-campaigns/
Marketing Campaigns Reporting pluginhttps://plugins.matomo.org/MarketingCampaignsReporting
Multi Channel Conversion Attributionhttps://plugins.piwik.org/MarketingCampaignsReporting
','https://db-ip.com/db/lite.php?refid=mtm
' . Piwik::translate('GeoIp2_HowToInstallApacheModule') . 'https://maxmind.github.io/mod_maxminddb/
' . Piwik::translate('GeoIp2_HowToInstallNginxModule') . 'https://github.com/leev/ngx_http_geoip2_module/blob/master/README.md#installing
', '', '', 'https://matomo.org/docs/geo-locate/
' . Piwik::translate('UserCountry_HowToInstallGeoIPDatabases') . 'https://matomo.org/faq/how-to/#faq_163
', 'https://builds.matomo.org/' ~ configUrl|e('html_attr') ~ '
','https://builds.matomo.org/'~dbipLiteUrl~'
','http://db-ip.com/?refid=mtm
', 'https://dev.maxmind.com/geoip/geoip2/geolite2/?rId=piwik
','http://www.maxmind.com/?rId=piwik
','https://db-ip.com/?refid=mtm
',dbipLiteUrl|e('html'),'https://builds.matomo.org/'~dbipLiteUrl|e('html_attr')~'
', 'https://matomo.org/faq/how-to/how-do-i-get-the-geolocation-download-url-for-the-free-maxmind-db/
',"https://dev.maxmind.com/geoip/geoip2/geolite2/?rId=piwik
'),"https://builds.matomo.org/'.concat(e,'
',"https://db-ip.com/db/?refid=mtm
',"http://www.maxmind.com/?rId=piwik
',"https://db-ip.com/?refid=mtm
'),this.dbipLiteUrl,"https://builds.matomo.org/'.concat(this.dbipLiteUrl,'
'),"https://builds.matomo.org/'.concat(e,'
').concat(this.dbipLiteFilename,"https://builds.matomo.org/'.concat(this.dbipLiteUrl,'
', 'https://dev.maxmind.com/geoip/geoip2/geolite2/?rId=piwik
"), 'https://builds.matomo.org/\"".concat(maxMindLink,
', 'https://db-ip.com/db/?refid=mtm
', 'http://www.maxmind.com/?rId=piwik
', 'https://db-ip.com/?refid=mtm
"), this.dbipLiteUrl, 'https://builds.matomo.org/\"".concat(this.dbipLiteUrl,
"), 'https://builds.matomo.org/\"".concat(link,
").concat(this.dbipLiteFilename, "https://builds.matomo.org/\"".concat(this.dbipLiteUrl,
' . $url . 'https://builds.matomo.org/' . $url . '
' . Piwik::translate('CoreAdminHome_LearnMore') . 'https://matomo.org/docs/user-id/?mtm_campaign=App_Help&mtm_source=Matomo_App&mtm_keyword=UserGuides
", "https://matomo.org/docs/user-id/
' + _pk_translate('Widgetize_OpenInNewWindow') + 'https://builds.matomo.org/' + urlIframe + '
export your Web Analytics reportshttps://matomo.org/docs/embed-piwik-report/
Users Management sectionhttps://builds.matomo.org/index.php?module=UsersManager
Security pagehttps://builds.matomo.org/{{ linkTo({
{% endif %} {% if labelMetadata[value.word].logo is not same as(false) %} {% else %} {{ value.wordTruncated|rawSafeDecoded }} {% endif %} {% if labelMetadata[value.word].url is not same as(false) %}https://builds.matomo.org/{{ labelMetadata[value.word].url }}
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
', 'https://builds.matomo.org/' ~ linkTo({module: 'TagManager', action: 'gettingStarted'})~'
', 'https://builds.matomo.org/' ~ linkTo({module: 'TagManager', action: 'manageContainers'})~'
' %} {% set mtmPreviewIdUrlEnd = 'https://builds.matomo.org/' ~ previewUrl|e('html_attr') ~ '
','https://matomo.org/faq/tag-manager/why-is-debug-console-not-loading-for-me/
', 'https://builds.matomo.org/' ~ linkTo({module: 'TagManager', 'action': 'manageContainers'}) ~ '
', 'https://developer.matomo.org/guides/tagmanager/settingup
', 'https://builds.matomo.org/' ~ linkTo({module: 'TagManager', action: 'gettingStarted'})~'
', 'https://builds.matomo.org/' ~ linkTo({module: 'TagManager', action: 'manageContainers'})~'
',"https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
',"https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
', 'https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
', 'https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
' . Piwik::translate('TagManager_TagManager') . 'https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#tagmanager
XSShttps://en.wikipedia.org/wiki/Cross-site_scripting
{{ 'General_MoreDetails'|translate }}javascript:;
{{ 'CorePluginsAdmin_ViewAllMarketplacePlugins'|translate }}https://builds.matomo.org/{{ linkTo({'module': 'Marketplace', 'action': 'overview'}) }}
","https://shop.matomo.org/free-trial/
{{ 'General_MoreDetails'|translate }}javascript:;
{{ 'CorePluginsAdmin_ViewAllMarketplacePlugins'|translate }}https://builds.matomo.org/{{ linkTo({'module': 'Marketplace', 'action': 'overview', 'show': 'premium'}) }}
{{ 'General_Description'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#tabs-description
{{ 'General_Faq'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#tabs-faq
{{ 'General_Documentation'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#tabs-documentation
{{ 'Marketplace_Screenshots'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#tabs-screenshots
{{ 'Marketplace_Reviews'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#tabs-reviews
https://builds.matomo.org/{{ screenshot }}
{{ 'Marketplace_UpgradeSubscription'|translate }}https://builds.matomo.org/{{ plugin.consumer.loginUrl|default('')|e('html_attr') }}
{{ 'Marketplace_AddToCart'|translate }}https://builds.matomo.org/{{ plugin.shop.url|default('')|e('html_attr') }}
{{ 'General_MoreDetails'|translate }}https://builds.matomo.org/{% if plugin.shop is defined and plugin.shop and plugin.shop.url %}{{ plugin.shop.url|e('html_attr') }}{% else %}{{ plugin.homepage|e('html_attr') }}{% endif %}
{{ 'General_Download'|translate }}https://builds.matomo.org/{{ linkTo({'action': 'download', 'pluginName': plugin.name, 'nonce': (plugin.name|nonce)}) }}
{{ 'CoreUpdater_UpdateTitle'|translate }}https://builds.matomo.org/{{ linkTo({'module': 'Marketplace', 'action':'updatePlugin', 'pluginName': plugin.name, 'nonce': updateNonce}) }}
{{ 'Marketplace_ActionInstall'|translate }}https://builds.matomo.org/{{ linkTo({'module': 'Marketplace', 'action': 'installPlugin', 'pluginName': plugin.name, 'nonce': installNonce}) }}
{{ latestVersion.license.name }}https://builds.matomo.org/{{ latestVersion.license.url }}
{{ author.name }}https://builds.matomo.org/{{ author.homepage }}
{{ 'Marketplace_PluginWebsite'|translate }}https://builds.matomo.org/{{ plugin.homepage }}
{{ 'CorePluginsAdmin_Changelog'|translate }}https://builds.matomo.org/{{ plugin.changelog.url }}
GitHubhttps://builds.matomo.org/{{ plugin.repositoryUrl }}
', 'https://matomo.org/recommends/premium-plugins/
', 'https://matomo.org/recommends/premium-plugins/
',"https://matomo.org/recommends/premium-plugins/
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
'; } private function getSubscritionSummaryMessage() { $url = Url::getCurrentQueryStringWithParametersModified(array( 'module' => 'Marketplace', 'action' => 'subscriptionOverview' )); $link = ''; return "" . $this->translator->translate('Marketplace_ViewSubscriptionsSummary', array($link, '')); } private function getPluginNamesToExpireInCaseLicenseIsInvalid() { $pluginNames = array( 'exceeded' => array(), 'expired' => array(), 'noLicense' => array() ); try { $paidPlugins = $this->plugins->getAllPaidPlugins(); } catch (\Exception $e) { return $pluginNames; } if (!empty($paidPlugins)) { foreach ($paidPlugins as $plugin) { if (!empty($plugin['isFree'])) { continue; } $pluginName = $plugin['name']; if ($this->isPluginInActivatedPluginsList($pluginName)) { if (empty($plugin['consumer']['license'])) { $pluginNames['noLicense'][] = $pluginName; } elseif (!empty($plugin['consumer']['license']['isExceeded'])) { $pluginNames['exceeded'][] = $pluginName; } elseif (isset($plugin['consumer']['license']['status']) && $plugin['consumer']['license']['status'] === 'Cancelled') { $pluginNames['noLicense'][] = $pluginName; } elseif (isset($plugin['consumer']['license']['isValid']) && empty($plugin['consumer']['license']['isValid'])) { $pluginNames['expired'][] = $pluginName; } } } } return $pluginNames; } /** * for tests only * @param array $pluginNames * @internal * @ignore */ public function setActivatedPluginNames($pluginNames) { $this->activatedPluginNames = $pluginNames; } protected function isPluginInActivatedPluginsList($pluginName) { if (empty($this->activatedPluginNames)){ $this->activatedPluginNames = $this->pluginManager->getActivatedPluginsFromConfig(); } return is_array($this->activatedPluginNames) && in_array($pluginName, $this->activatedPluginNames); } } piwik/plugins/Marketplace/stylesheets/0000755000175100001710000000000014221213161020016 5ustar runnerdockerpiwik/plugins/Marketplace/stylesheets/plugin-details.less0000644000175100001710000000367714221213161023644 0ustar runnerdocker.pluginDetails { font-size: 13px; text-align: left; line-height: 20px; > .row > .col { padding-left: 0; padding-right: 0; } #pluginDetailsTabs > .col { padding: 0 16px 0 0; } h3, h4, h5, h6 { margin: 20px 0 10px 0; color: #000000; } iframe{ width:100%; border: 0; background-image: url('plugins/Morpheus/images/loading-blue.gif'); background-repeat: no-repeat; background-position: center; } blockquote { margin: 20px 0; padding-left: 1.5rem; border-left: 5px solid #ee6e73; } .tab-content ul, .tab-content ol { list-style: initial; padding-left: 20px; } p, .tab-content ul, .tab-content li { text-align: left; line-height: 20px; list-style: initial; } #pluginDetailsTabs { margin-top: 25px; } .contentDetails p { margin: 0 0 10px; } .description { padding-right: 25px; } .variationPicker { margin-top: 0; margin-bottom: 15px; input.select-dropdown { font-size: 15px; } } .contentDetails a { color: @theme-color-link; text-decoration: none; } .download, .install { padding: 11px 19px; font-size: 17.5px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; color: #ffffff; background-color: #5bb75b; display: inline-block; text-decoration: none; } .download:hover, .install:hover { text-decoration: underline; } dt { line-height: 20px; } dd { margin-left: 10px; line-height: 20px; color: @theme-color-text-contrast; } .featuredIcon { height: 16px; width: 16px; margin-right: 5px; } img { max-width: 100%; } } piwik/plugins/Marketplace/stylesheets/marketplace-widget.less0000644000175100001710000000177214221213161024466 0ustar runnerdocker.uiTest .getNewPlugins { .row { display: none; } } .getPremiumFeatures { h3 { margin-top: 0; } .pluginBody { margin-bottom: 32px; display: inline-block; .pluginMoreDetails { line-height:3em; } } .row { margin-left: -12px; margin-right: -12px; } } .getNewPlugins { .pluginName { cursor: pointer; } .widgetBody { margin-bottom: 20px; } .screenshot { cursor: pointer; } &:not(.isAdminPage) { h3 { padding-left: 0 !important; padding-top: 5px !important; } } &.isAdminPage { h3 { margin-top:0; margin-bottom: 8px; } .description { height: 30px; } .row { margin-left: -12px; margin-right: -12px; } .screenshot { max-height: 250px; object-fit: cover; } } }piwik/plugins/Marketplace/stylesheets/marketplace.less0000644000175100001710000000660314221213161023203 0ustar runnerdocker.subscriptionOverview { .icon-error, .errorMessage { color: @color-red-piwik; } .icon-ok { color: @color-green-piwik; } .icon-warning { color: #fbf7f1; } .subscriptionName, .subscriptionType, .subscriptionStatus { white-space: nowrap; } } .marketplace-paid-intro { .licenseKeyText { min-width: 210px; .form-group { margin-top: 0; } } .licenseToolbar { > a, > div { margin-right: 16px; } > a, > div:not(.licenseKeyText) { white-space: nowrap; } } } #installAllPaidPluginsAtOnce { ul { li { list-style-type: disc; list-style-position: inside; margin-top: 8px; } } a.btn { color: #fff; } } .marketplace { .marketplaceActions.row, .pluginListContainer.row { margin: 0 -0.75rem; } input.btn[disabled] { background-color: @theme-color-brand !important; } .marketplaceActions { margin-bottom: 0; } .plugin-search { position: relative; margin-right: 20px; .icon-search { position: absolute; bottom: 32px; right: -16px; font-size: 16px; cursor: pointer; } } .plugin { h3 { word-wrap: break-word; } text-align: center; .description { @line-height: 18px; line-height: @line-height; height: @line-height * 3; // 3 lines of text padding-bottom: 0; margin-bottom: 10px; .more { text-decoration: underline; color: @theme-color-text; } } img.preview { max-width: 250px; width: 100%; } .footer { .download.plugin-details { padding-left: 0; padding-right: 0; } } .metadata { color: @color-silver-l50; font-size: 95%; margin: 15px 15px 10px; list-style: none; li { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; line-height: 18px; font-size: 13px; } .update-available { // Code taken from Bootstrap's labels font-weight: bold; background-color: #f0ad4e; display: inline; padding: .2em .6em .3em; font-size: 76%; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.25em; text-decoration: none; } } .footer { padding: 12px 40px; .btn-link.plugin-details { padding-left: 0; padding-right: 0; } .purchaseable { background-color: #1e93d1; } } } .footer-message { margin-top:30px; } } #installPluginByUpload { .description { margin-top: 30px; margin-bottom: 20px; } .startUpload { margin-top: 20px; margin-bottom: 20px; } }piwik/plugins/Marketplace/config/0000755000175100001710000000000014221213175016714 5ustar runnerdockerpiwik/plugins/Marketplace/config/tracker.php0000644000175100001710000000003014221213161021044 0ustar runnerdocker function (ContainerInterface $c) { $domain = 'http://plugins.matomo.org'; $updater = $c->get('Piwik\Plugins\CoreUpdater\Updater'); if ($updater->isUpdatingOverHttps()) { $domain = str_replace('http://', 'https://', $domain); } return $domain; }, 'Piwik\Plugins\Marketplace\Api\Service' => function (ContainerInterface $c) { /** @var \Piwik\Plugins\Marketplace\Api\Service $previous */ $domain = $c->get('MarketplaceEndpoint'); $service = new Service($domain); $key = new LicenseKey(); $accessToken = $key->get(); $service->authenticate($accessToken); return $service; } ); piwik/plugins/Marketplace/Input/0000755000175100001710000000000014221213161016541 5ustar runnerdockerpiwik/plugins/Marketplace/Input/PurchaseType.php0000644000175100001710000000050214221213161021663 0ustar runnerdockerisValidSortMethod($sort)) { $sort = self::DEFAULT_SORT; } return $sort; } private function isValidSortMethod($sortMethod) { $valid = array(self::METHOD_POPULAR, self::METHOD_NEWEST, self::METHOD_ALPHA); return in_array($sortMethod, $valid, $strict = true); } } piwik/plugins/Marketplace/Input/Mode.php0000644000175100001710000000073214221213161020140 0ustar runnerdockerrequestParam = $requestParam; } public function getPluginName() { $pluginName = Common::getRequestVar($this->requestParam, null, 'string'); $this->dieIfPluginNameIsInvalid($pluginName); return $pluginName; } private function dieIfPluginNameIsInvalid($pluginName) { if (!Plugin\Manager::getInstance()->isValidPluginName($pluginName)){ throw new Exception('Invalid plugin name given'); } } } piwik/plugins/Marketplace/UpdateCommunication.php0000644000175100001710000001264614221213161022134 0ustar runnerdockerupdaterSettings = $settings; } /** * Checks whether plugin update notification is enabled or not. If the marketplace is disabled or if update * communication is disabled in general, it will return false as well. * * @return bool */ public function isEnabled() { if (!self::canBeEnabled()) { return false; } return $this->updaterSettings->sendPluginUpdateEmail->getValue(); } /** * Checks whether a plugin update notification can be enabled or not. It cannot be enabled if for instance the * Marketplace is disabled or if update notifications are disabled in general. * * @return bool */ public static function canBeEnabled() { $isEnabled = (bool) Config::getInstance()->General['enable_update_communication']; if($isEnabled === true && Marketplace::isMarketplaceEnabled() === true && SettingsPiwik::isInternetEnabled() === true){ return true; } return false; } /** * Sends an email to all super users if there is an update available for any plugins from the Marketplace. * For each update we send an email only once. * * @return bool */ public function sendNotificationIfUpdatesAvailable() { $pluginsHavingUpdate = $this->getPluginsHavingUpdate(); if (empty($pluginsHavingUpdate)) { return; } $pluginsToBeNotified = array(); foreach ($pluginsHavingUpdate as $plugin) { if ($this->hasNotificationAlreadyReceived($plugin)) { continue; } $this->setHasLatestUpdateNotificationReceived($plugin); $pluginsToBeNotified[] = $plugin; } if (!empty($pluginsToBeNotified)) { $this->sendNotifications($pluginsToBeNotified); } } protected function sendNotifications($pluginsToBeNotified) { $hasThemeUpdate = false; $hasPluginUpdate = false; foreach ($pluginsToBeNotified as $plugin) { $hasThemeUpdate = $hasThemeUpdate || $plugin['isTheme']; $hasPluginUpdate = $hasPluginUpdate || !$plugin['isTheme']; } $subject = Piwik::translate('CoreUpdater_NotificationSubjectAvailablePluginUpdate'); $message = $this->buildNotificationMessage($pluginsToBeNotified, $hasThemeUpdate, $hasPluginUpdate); $this->sendEmailNotification($subject, $message); } /** * Send an email notification to all super users. * * @param $subject * @param $message */ protected function sendEmailNotification($subject, $message) { $superUsers = UsersManagerApi::getInstance()->getUsersHavingSuperUserAccess(); foreach ($superUsers as $superUser) { $mail = new Mail(); $mail->setDefaultFromPiwik(); $mail->addTo($superUser['email']); $mail->setSubject($subject); $mail->setWrappedHtmlBody($message); $mail->send(); } } protected function setHasLatestUpdateNotificationReceived($plugin) { $latestVersion = $this->getLatestVersion($plugin); Option::set($this->getNotificationSentOptionName($plugin), $latestVersion); } protected function getLatestVersionSent($plugin) { return Option::get($this->getNotificationSentOptionName($plugin)); } protected function getLatestVersion($plugin) { return $plugin['latestVersion']; } protected function hasNotificationAlreadyReceived($plugin) { $latestVersion = $this->getLatestVersion($plugin); $lastVersionSent = $this->getLatestVersionSent($plugin); if (!empty($lastVersionSent) && ($latestVersion == $lastVersionSent || version_compare($latestVersion, $lastVersionSent) == -1)) { return true; } return false; } protected function getNotificationSentOptionName($plugin) { return 'last_update_communication_sent_plugin_' . $plugin['name']; } protected function getPluginsHavingUpdate() { $marketplace = StaticContainer::get('Piwik\Plugins\Marketplace\Plugins'); $pluginsHavingUpdate = $marketplace->getPluginsHavingUpdate(); return $pluginsHavingUpdate; } protected function buildNotificationMessage($pluginsToBeNotified, $hasThemeUpdate, $hasPluginUpdate) { $view = new View('@Marketplace/_updateCommunicationEmail.twig'); $view->pluginsToBeNotified = $pluginsToBeNotified; $view->host = SettingsPiwik::getPiwikUrl(); $view->hasThemeUpdate = $hasThemeUpdate; $view->hasPluginUpdate = $hasPluginUpdate; return $view; } } piwik/plugins/Marketplace/Plugins.php0000644000175100001710000002501714221213161017601 0ustar runnerdockermarketplaceClient = $marketplaceClient; $this->consumer = $consumer; $this->advertising = $advertising; $this->pluginManager = Plugin\Manager::getInstance(); } public function getPluginInfo($pluginName) { $plugin = $this->marketplaceClient->getPluginInfo($pluginName); $plugin = $this->enrichPluginInformation($plugin); return $plugin; } public function getLicenseValidInfo($pluginName) { $plugin = $this->marketplaceClient->getPluginInfo($pluginName); $plugin = $this->enrichLicenseInformation($plugin); return array( 'hasExceededLicense' => !empty($plugin['hasExceededLicense']), 'isMissingLicense' => !empty($plugin['isMissingLicense']) ); } public function getAvailablePluginNames($themesOnly) { if ($themesOnly) { // we do not use getAllThemes() or getAllPlugins() since those methods would apply a whitelist // github organization filter and here we actually want to get all plugin names. $plugins = $this->marketplaceClient->searchForThemes('', '', Sort::DEFAULT_SORT, PurchaseType::TYPE_ALL); } else { $plugins = $this->marketplaceClient->searchForPlugins('', '', Sort::DEFAULT_SORT, PurchaseType::TYPE_ALL); } $names = array(); foreach ($plugins as $plugin) { $names[] = $plugin['name']; } return $names; } public function getAllAvailablePluginNames() { return array_merge( $this->getAvailablePluginNames(true), $this->getAvailablePluginNames(false) ); } public function searchPlugins($query, $sort, $themesOnly, $purchaseType = '') { if ($themesOnly) { $plugins = $this->marketplaceClient->searchForThemes('', $query, $sort, $purchaseType); } else { $plugins = $this->marketplaceClient->searchForPlugins('', $query, $sort, $purchaseType); } foreach ($plugins as $index => $plugin) { $plugins[$index] = $this->enrichPluginInformation($plugin); } return array_values($plugins); } public function getAllPaidPlugins() { return $this->searchPlugins($query = '', Sort::DEFAULT_SORT, $themes = false, PurchaseType::TYPE_PAID); } public function getAllFreePlugins() { return $this->searchPlugins($query = '', Sort::DEFAULT_SORT, $themes = false, PurchaseType::TYPE_FREE); } public function getAllThemes() { return $this->searchPlugins($query = '', Sort::DEFAULT_SORT, $themes = true, PurchaseType::TYPE_ALL); } public function getAllPlugins() { return $this->searchPlugins($query = '', Sort::DEFAULT_SORT, $themes = false, PurchaseType::TYPE_ALL); } private function getPluginUpdateInformation($plugin) { if (empty($plugin['name'])) { return; } if (!isset($this->pluginsHavingUpdateCache)) { $this->pluginsHavingUpdateCache = $this->getPluginsHavingUpdate(); } foreach ($this->pluginsHavingUpdateCache as $pluginHavingUpdate) { if ($plugin['name'] == $pluginHavingUpdate['name']) { return $pluginHavingUpdate; } } } /** * for tests only * @internal * @ignore * @param $plugins */ public function setPluginsHavingUpdateCache($plugins) { $this->pluginsHavingUpdateCache = $plugins; } private function hasPluginUpdate($plugin) { $update = $this->getPluginUpdateInformation($plugin); return !empty($update); } /** * @param bool $themesOnly * @return array */ public function getPluginsHavingUpdate() { $this->pluginManager->loadAllPluginsAndGetTheirInfo(); $loadedPlugins = $this->pluginManager->getLoadedPlugins(); try { $pluginsHavingUpdate = $this->marketplaceClient->getInfoOfPluginsHavingUpdate($loadedPlugins); } catch (\Exception $e) { $pluginsHavingUpdate = array(); } foreach ($pluginsHavingUpdate as $key => $updatePlugin) { foreach ($loadedPlugins as $loadedPlugin) { if (!empty($updatePlugin['name']) && $loadedPlugin->getPluginName() == $updatePlugin['name'] ) { $updatePlugin['currentVersion'] = $loadedPlugin->getVersion(); $updatePlugin['isActivated'] = $this->pluginManager->isPluginActivated($updatePlugin['name']); $pluginsHavingUpdate[$key] = $this->addMissingRequirements($updatePlugin); break; } } } // remove plugins that have updates but for some reason are not loaded foreach ($pluginsHavingUpdate as $key => $updatePlugin) { if (empty($updatePlugin['currentVersion'])) { unset($pluginsHavingUpdate[$key]); } } return $pluginsHavingUpdate; } /** * for tests only * @param array $pluginNames * @internal * @ignore */ public function setActivatedPluginNames($pluginNames) { $this->activatedPluginNames = $pluginNames; } private function isPluginActivated($pluginName) { if (in_array($pluginName, $this->activatedPluginNames)) { return true; } return $this->pluginManager->isPluginActivated($pluginName); } private function isPluginInstalled($pluginName) { if (in_array($pluginName, $this->activatedPluginNames)) { return true; } return $this->pluginManager->isPluginInstalled($pluginName, true); } private function enrichPluginInformation($plugin) { if (empty($plugin)) { return $plugin; } $plugin['isInstalled'] = $this->isPluginInstalled($plugin['name']); $plugin['isActivated'] = $this->isPluginActivated($plugin['name']); $plugin['isInvalid'] = $this->pluginManager->isPluginThirdPartyAndBogus($plugin['name']); $plugin['canBeUpdated'] = $plugin['isInstalled'] && $this->hasPluginUpdate($plugin); $plugin['lastUpdated'] = $this->toShortDate($plugin['lastUpdated']); if ($plugin['isInstalled']) { $plugin = $this->enrichLicenseInformation($plugin); } else { $plugin['hasExceededLicense'] = false; $plugin['isMissingLicense'] = false; } if (!empty($plugin['owner']) && strtolower($plugin['owner']) === 'piwikpro' && !empty($plugin['homepage']) && strpos($plugin['homepage'], 'pk_campaign') === false) { $plugin['homepage'] = $this->advertising->addPromoCampaignParametersToUrl($plugin['homepage'], Advertising::CAMPAIGN_NAME_PROFESSIONAL_SERVICES, 'Marketplace', $plugin['name']); } if ($plugin['canBeUpdated']) { $pluginUpdate = $this->getPluginUpdateInformation($plugin); $plugin['repositoryChangelogUrl'] = $pluginUpdate['repositoryChangelogUrl']; $plugin['currentVersion'] = $pluginUpdate['currentVersion']; } if (!empty($plugin['activity']['lastCommitDate']) && false === strpos($plugin['activity']['lastCommitDate'], '0000') && false === strpos($plugin['activity']['lastCommitDate'], '1970')) { $plugin['activity']['lastCommitDate'] = $this->toLongDate($plugin['activity']['lastCommitDate']); } else { $plugin['activity']['lastCommitDate'] = null; } if (!empty($plugin['versions'])) { foreach ($plugin['versions'] as $index => $version) { $plugin['versions'][$index]['release'] = $this->toLongDate($version['release']); } } $plugin = $this->addMissingRequirements($plugin); return $plugin; } private function enrichLicenseInformation($plugin) { if (empty($plugin)) { return $plugin; } $isPremiumFeature = !empty($plugin['shop']) && empty($plugin['isFree']) && empty($plugin['isDownloadable']); $plugin['hasExceededLicense'] = $isPremiumFeature && !empty($plugin['consumer']['license']['isValid']) && !empty($plugin['consumer']['license']['isExceeded']); $plugin['isMissingLicense'] = $isPremiumFeature && (empty($plugin['consumer']['license']) || (!empty($plugin['consumer']['license']['status']) && $plugin['consumer']['license']['status'] === 'Cancelled')); return $plugin; } private function toLongDate($date) { if (!empty($date)) { $date = Date::factory($date)->getLocalized(Date::DATE_FORMAT_LONG); } return $date; } private function toShortDate($date) { if (!empty($date)) { $date = Date::factory($date)->getLocalized(Date::DATE_FORMAT_SHORT); } return $date; } /** * @param $plugin */ private function addMissingRequirements($plugin) { $plugin['missingRequirements'] = array(); if (empty($plugin['versions']) || !is_array($plugin['versions'])) { return $plugin; } $latestVersion = $plugin['versions'][count($plugin['versions']) - 1]; if (empty($latestVersion['requires'])) { return $plugin; } $requires = $latestVersion['requires']; $dependency = new PluginDependency(); $plugin['missingRequirements'] = $dependency->getMissingDependencies($requires); return $plugin; } } piwik/plugins/Marketplace/Widgets/0000755000175100001710000000000014221213161017050 5ustar runnerdockerpiwik/plugins/Marketplace/Widgets/GetNewPlugins.php0000644000175100001710000000315214221213161022315 0ustar runnerdockermarketplaceApiClient = $marketplaceApiClient; } public static function configure(WidgetConfig $config) { $config->setCategoryId('Marketplace_Marketplace'); $config->setName('Marketplace_LatestMarketplaceUpdates'); $config->setOrder(19); $config->setIsEnabled(!Piwik::isUserIsAnonymous()); } public function render() { Piwik::checkUserIsNotAnonymous(); $isAdminPage = Common::getRequestVar('isAdminPage', 0, 'int'); if (!empty($isAdminPage)) { $template = 'getNewPluginsAdmin'; } else { $template = 'getNewPlugins'; } $plugins = $this->marketplaceApiClient->searchForPlugins('', '', Sort::METHOD_LAST_UPDATED, PurchaseType::TYPE_ALL); $plugins = array_filter($plugins, function ($plugin) { return empty($plugin['isBundle']); }); return $this->renderTemplate($template, array( 'plugins' => array_splice($plugins, 0, 3) )); } }piwik/plugins/Marketplace/Widgets/GetPremiumFeatures.php0000644000175100001710000000320714221213161023340 0ustar runnerdockermarketplaceApiClient = $marketplaceApiClient; } public static function configure(WidgetConfig $config) { $config->setCategoryId('Marketplace_Marketplace'); $config->setSubcategoryId('Marketplace_PaidPlugins'); $config->setName('Marketplace_PaidPlugins'); $config->setOrder(20); $config->setIsEnabled(!Piwik::isUserIsAnonymous()); } public function render() { Piwik::checkUserIsNotAnonymous(); $template = 'getPremiumFeatures'; $plugins = $this->marketplaceApiClient->searchForPlugins('', '', Sort::METHOD_LAST_UPDATED, PurchaseType::TYPE_PAID); //sort array by bundle first usort($plugins, function ($item1, $item2) { return $item1['isBundle'] < $item2['isBundle'] ? 1 : -1; }); if (empty($plugins)) { $plugins = array(); } else { $plugins = array_splice($plugins, 0, 20); } return $this->renderTemplate($template, array( 'plugins' => $plugins )); } }piwik/plugins/Marketplace/Widgets/Marketplace.php0000644000175100001710000000151514221213161022013 0ustar runnerdockersetCategoryId('Marketplace_Marketplace'); $config->setSubcategoryId('Marketplace_Browse'); $config->setName(Piwik::translate('Marketplace_Marketplace')); $config->setModule('Marketplace'); $config->setAction('overview'); $config->setParameters(array('embed' => '1')); $config->setIsNotWidgetizable(); $config->setOrder(19); $config->setIsEnabled(!Piwik::isUserIsAnonymous()); } }piwik/plugins/Marketplace/API.php0000644000175100001710000000540514221213161016570 0ustar runnerdockerpaid premium pluginshttps://builds.matomo.org/' . $info['loginUrl'] . '
'; return "" . $this->translator->translate('Marketplace_ViewSubscriptionsSummary', array($link, 'https://builds.matomo.org/' . $url . '
","https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#globalSettings
", 'https://matomo.org/docs/ecommerce-analytics/
get an API Key from Clockworkhttps://www.clockworksms.com/platforms/piwik/
herehttps://www.clockworksms.com/sms-coverage/
get an Account at ASPSMShttp://www.aspsms.com/en/registration/?REF=227830
herehttp://www.aspsms.com/en/networks/?REF=227830
Paymenthttps://www.aspsms.com/instruction/payment.asp?REF=227830
{{ 'MobileMessaging_MobileReport_MobileMessagingSettingsLink'|translate }}https://builds.matomo.org/{{ linkTo({'module':
' . Piwik::translate('Live_VisitorLogSubcategoryHelp3') . 'https://matomo.org/docs/real-time/?mtm_campaign=App_Help&mtm_source=Matomo_App&mtm_keyword=UserGuides
{% set actionCount = visitInfo.getColumn('actionDetails')|length %} {% if visitInfo.truncatedActionsCount is defined %} {% set actionCount = actionCount + visitInfo.truncatedActionsCount %} {% endif %} {% if visitInfo.getColumn('visitDuration') != 0 %} {{ 'Live_ActionsAndDuration'|translate(actionCount, visitInfo.getColumn('visitDurationPretty')) }} {% else %} {{ actionCount }} {{ 'General_Actions'|translate }} {% endif %} https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
javascript:void(0);
javascript:void(0);
{{ 'Live_LinkVisitorLog'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
Show more actions that occurred on this page...javascript:
Show less actions...javascript:
{% endif %} {% if action.type == 'action' %} {# white spacing matters as Chrome tooltip display whitespaces #} {% set title %} {% if action.url|trim is not empty %}{{ action.url }}{% endif %} {% if action.pageTitle is not empty %}{{ action.pageTitle|rawSafeDecoded }}{% endif %} {{ action.serverTimePretty }} {% if action.timeSpentPretty is defined %}{{ 'General_TimeOnPage'|translate }}: {{ action.timeSpentPretty|raw }}{% endif %} {%- endset %} {% elseif action.type == 'outlink' or action.type == 'download' %} {% elseif action.type == 'search' %} {% elseif action.eventCategory|default(false) is not empty %} {% elseif action.type == 'goal' or action.type == constant('Piwik\\Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER') or action.type == constant('Piwik\\Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART') %} {% endif %} {% if action.url is defined and action.url is not empty %} https://builds.matomo.org/{{ action.url|safelink|e('html_attr') }}
{{ visitorData.firstVisit.referralSummary }} https://builds.matomo.org/{{ visitorData.firstVisit.referrerUrl|safelink|e('html_attr') }}
{{ visitorData.lastVisit.referralSummary }} https://builds.matomo.org/{{ visitorData.lastVisit.referrerUrl|safelink|e('html_attr') }}
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://matomo.org/docs/user-profile/
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
←https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
→https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{% endif %} {{ visitorData.visitorId }} {%- if widgetizedLink is defined %}https://builds.matomo.org/{{ widgetizedLink }}
https://builds.matomo.org/{{ exportLink }}
{{ 'Live_LoadMoreVisits'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{% if not additionalUrls|length %} {# remove main url from urls if site has no additional urls defined #} {{ action.url|replace({(mainUrl~'/'): '/', 'http://': '', 'https://': ''}) }} {% else %} {{ action.url|replace({'http://': '', 'https://': ''}) }} {% endif %} https://builds.matomo.org/{{ action.url|safelink|e('html_attr') }}
'&segment='http://matomo.org/docs/analytics-api/segmentation/
Real time widget and visitor level reportshttp://matomo.org/docs/real-time/
{{ urlToRank }}http://{{ urlToRank }}
{% endif %}{% endset %} {% if rank.logo_link is not empty %}{{ seoLink|raw }}{% endif %}{% if rank.logo_link is not empty %}https://builds.matomo.org/{{ rank.logo_link }}
{{ 'CorePluginsAdmin_UpdateSelected'|translate }}javascript:
{{ plugin.name }} javascript:void(0);
{{ plugin.currentVersion }} => {{ plugin.latestVersion }}https://builds.matomo.org/{{ plugin.changelog.url|e('html_attr') }}
{{ 'General_Download'|translate }}https://builds.matomo.org/{{ linkTo({'action':'download', 'module': 'Marketplace', 'pluginName': plugin.name, 'nonce': (plugin.name|nonce)}) }}
{{ 'CoreUpdater_UpdateTitle'|translate }}https://builds.matomo.org/{{ linkTo({'action':'updatePlugin', 'module': 'Marketplace', 'pluginName': plugin.name, 'nonce': updateNonce}) }}
{{ 'CorePluginsAdmin_Deactivate'|translate }}https://builds.matomo.org/index.php?module=CorePluginsAdmin&action=deactivate&pluginName={{ name }}&nonce={{ deactivateNonce }}&redirectTo=referrer
{{ 'CorePluginsAdmin_Activate'|translate }}https://builds.matomo.org/index.php?module=CorePluginsAdmin&action=activate&pluginName={{ name }}&nonce={{ activateNonce }}&redirectTo=referrer
{{ 'General_All'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{{ 'CorePluginsAdmin_OriginCore'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{{ 'CorePluginsAdmin_OriginOfficial'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{{ 'CorePluginsAdmin_OriginThirdParty'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{{ 'General_All'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{{ 'CorePluginsAdmin_Active'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{{ 'CorePluginsAdmin_Inactive'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{{ name }}javascript:void(0);
{{ 'General_Settings'|translate }}https://builds.matomo.org/{{ linkTo({'module':'CoreAdminHome', 'action': 'generalSettings'}) }}#{{ name|e('html_attr') }}
({{ 'CorePluginsAdmin_PluginHomepage'|translate|replace({' ': ' '})|raw }})https://builds.matomo.org/{{ plugin.info.homepage|e('html_attr') }}
{{ 'CorePluginsAdmin_ConsiderDonating'|translate }}javascript:;
https://www.paypal.com/cgi-bin/webscr?cmd=_donations&item_name=Matomo%20Plugin%20{{ name|escape('url') }}&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted&business={{ plugin.info.donate.paypal|escape('url') }}
https://builds.matomo.org/{{ plugin.info.donate.flattr }}
{{ plugin.info.donate.bitcoin }}bitcoin:{{ plugin.info.donate.bitcoin|escape('url') }}
{% endif %}{{ plugin.info.license }}{% if plugin.info.license_file is defined %}https://builds.matomo.org/index.php?module=CorePluginsAdmin&action=showLicense&pluginName={{ name }}
{{ author.name }}https://builds.matomo.org/{{ author.homepage }}
{{ 'CorePluginsAdmin_ActionUninstall'|translate }}https://builds.matomo.org/index.php?module=CorePluginsAdmin&action=uninstall&pluginName={{ name }}&nonce={{ uninstallNonce }}
{{ 'CorePluginsAdmin_InstallNewThemes'|translate }}https://builds.matomo.org/{{ linkTo({'module': 'Marketplace','action':'overview', 'sort': '', 'show': 'themes'}) }}
{{ 'CorePluginsAdmin_InstallNewPlugins'|translate }}https://builds.matomo.org/{{ linkTo({'module': 'Marketplace','action':'overview', 'sort': ''}) }}
{{ 'Marketplace_ActionActivateTheme'|translate }}https://builds.matomo.org/{{ linkTo({'action': 'activate', 'module': 'CorePluginsAdmin', 'pluginName': plugin.name, 'nonce': nonce}) }}
{{ 'Marketplace_BackToMarketplace'|translate }}https://builds.matomo.org/{{ linkTo({'module': 'Marketplace', 'action': 'overview'}) }}
{{ 'Marketplace_ActionActivatePlugin'|translate }}https://builds.matomo.org/{{ linkTo({'action': 'activate', 'module': 'CorePluginsAdmin', 'pluginName': plugin.name, 'nonce': nonce}) }}
{{ 'Marketplace_BackToMarketplace'|translate }}https://builds.matomo.org/{{ linkTo({'module': 'Marketplace', 'action': 'overview'}) }}
', 'https://builds.matomo.org/' ~ linkTo({'module':'Marketplace', 'action':'overview', 'sort': null, 'activated': null})|e('html_attr') ~ '
', 'https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
', 'https://builds.matomo.org/' ~ linkTo({'action': 'themes', 'activated': null})|e('html_attr') ~'
', 'https://builds.matomo.org/' ~ linkTo({'module': 'Marketplace','action':'overview', 'sort': '', 'show': 'themes'}) ~ '
{{ 'CorePluginsAdmin_ActivateTagManagerNow'|translate }} https://builds.matomo.org/{{ linkTo({'module': 'CorePluginsAdmin', 'action': 'activate', 'nonce': nonce, 'pluginName': 'TagManager', 'redirectTo': 'tagmanager'}) }}
{% if isSuperUser %}{{ 'CorePluginsAdmin_TagManagerTeaserHideSuperUser'|translate }}{% else %}{{ 'CorePluginsAdmin_TagManagerTeaserHideNonSuperUser'|translate }}{% endif %} https://builds.matomo.org/{{ linkTo({'module': 'CorePluginsAdmin', 'action': 'disableActivateTagManagerPage'}) }}
{{ 'CorePluginsAdmin_TagManagerLearnMoreInUserGuide'|translate }}https://matomo.org/docs/tag-manager
{{ 'CorePluginsAdmin_TagManagerLearnMoreInUserGuide'|translate }}https://matomo.org/docs/tag-manager
', 'https://en.wikipedia.org/wiki/Cross-site_scripting
{{ 'CorePluginsAdmin_TagManagerLearnMoreInUserGuide'|translate }}https://matomo.org/docs/tag-manager/#website-security
Pluginshttps://builds.matomo.org/index.php?module=CorePluginsAdmin&action=plugins
Themeshttps://builds.matomo.org/index.php?module=CorePluginsAdmin&action=themes
deactivatehttps://builds.matomo.org/index.php?module=CorePluginsAdmin&action=deactivate&pluginName={{ pluginName }}&nonce={{ deactivateNonce }}{% if deactivateIAmSuperUserSalt is not empty %}&i_am_super_user={{ deactivateIAmSuperUserSalt }}{% endif %}
uninstallhttps://builds.matomo.org/index.php?module=CorePluginsAdmin&action=uninstall&pluginName={{ pluginName }}&nonce={{ uninstallNonce }}
login to Matomohttps://builds.matomo.org/piwik-4.9.0-rc1.tar.gz?module={{ loginModule }}
").concat(s.introduction, "https://builds.matomo.org/\"#/".concat(pluginName,
").concat(pluginName.replace(/([A-Z])/g, ' $1').trim(), "https://builds.matomo.org/\"#/".concat(pluginName,
').concat(n.replace(/([A-Z])/g," $1").trim(),"https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#/'.concat(n,'
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
', Url::getCurrentQueryStringWithParametersModified(array('module' => 'CoreAdminHome', 'action' => 'generalSettings')), $pluginName); $message .= ' ' . $this->translator->translate('CorePluginsAdmin_ChangeSettingsPossible', array($target, 'https://builds.matomo.org/index.php%s#%s
{{ 'UsersManager_ConfirmTokenCopied'|translate }} {{ 'UsersManager_GoBackSecurityPage'|translate }}https://builds.matomo.org/{{ linkTo({'module': 'UsersManager', 'action': 'userSecurity'}) }}
› {% if ignoreCookieSet %}{{ 'UsersManager_ClickHereToDeleteTheCookie'|translate }} {% else %}{{'UsersManager_ClickHereToSetTheCookieOnDomain'|translate(piwikHost) }}{% endif %} https://builds.matomo.org/{{ linkTo({
', 'https://builds.matomo.org/' ~ (linkTo({'module': 'UsersManager', 'action': 'addNewToken'})|e('html_attr'))~ '
{{ 'UsersManager_CreateNewToken'|translate }} https://builds.matomo.org/{{ linkTo({'module': 'UsersManager', 'action': 'addNewToken'})|e('html_attr') }}
","https://builds.matomo.org/" ~ backlink ~ "
', 'https://matomo.org/faq/general/faq_70/
', 'https://matomo.org/faq/general/faq_69/
"), 'https://builds.matomo.org/\"".concat(faq70,
"), 'https://builds.matomo.org/\"".concat(faq69,
', 'https://matomo.org/privacy-policy/
',"https://matomo.org/faq/general/faq_70/
',"https://matomo.org/faq/general/faq_69/
'),"https://builds.matomo.org/'.concat(e,'
'),"https://builds.matomo.org/'.concat(t,'
',"https://matomo.org/privacy-policy/
https://matomo.org/translations/
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
", "https://builds.matomo.org/index.php
','https://matomo.org/get-involved/
","<\/a>")|raw }} https://builds.matomo.org/\'https:/matomo.org/translations/\'
','https://plugins.matomo.org/premium?pk_campaign=App_ProfessionalServices&pk_medium=App_InstallationFinished&pk_source=Matomo_App
')|raw }} https://matomo.org/support-plans/?pk_campaign=App_ProfessionalServices&pk_medium=App_InstallationFinished&pk_source=Matomo_App
','https://matomo.org/matomo-cloud/?pk_campaign=App_ProfessionalServices&pk_medium=App_InstallationFinished&pk_source=Matomo_App
', 'https://matomo.org/docs/setup-auto-archiving/
', 'https://matomo.org/docs/setup-auto-archiving/
','https://matomo.org/docs/setup-auto-archiving/
','https://matomo.org/docs/optimize/
', 'javascript:window.location.reload()
{{ 'General_Next'|translate }} »https://builds.matomo.org/{{ linkTo({'action':nextModuleName, 'token_auth':null, 'method':null }) }}
{{ 'Installation_CopySystemCheck'|translate }}javascript:void(0);
{{ 'Installation_DownloadSystemCheck'|translate }}javascript:void(0);
{{ 'General_RefreshPage'|translate }} »https://builds.matomo.org/{{ url }}
{{ 'General_RefreshPage'|translate }} »https://builds.matomo.org/{{ url }}
(see FAQ)https://matomo.org/faq/how-to-update/#faq_179
{{ 'Installation_Requirements'|translate }}https://matomo.org/docs/requirements/
{{ 'Installation_TablesReuse'|translate }} »https://builds.matomo.org/{{ linkTo({'action':'reuseTables'}) }}
« {{ 'Installation_GoBackAndDefinePrefix'|translate }}https://builds.matomo.org/{{ linkTo({'action':previousPreviousModuleName}) }}
{{ 'Installation_TablesDelete'|translate }} »https://builds.matomo.org/{{ linkTo({'deleteTables':1}) }}
{{ 'Installation_SystemCheckViewFullSystemCheck'|translate }}https://builds.matomo.org/{{ linkTo({'module': 'Installation', 'action': 'systemCheckPage'}) }}
", "https://matomo.org/support/?pk_medium=App_Newsletter_link&pk_source=Matomo_App&pk_campaign=App_Installation
'; $privacyNotice = '' . Piwik::translate('Installation_EmailPrivacyNotice', [$privacyNoticeLink, 'https://matomo.org/privacy-policy/
>> Set up auto-archiving of your reportshttps://matomo.org/docs/setup-auto-archiving/
>> Learn the recommended server configuration and sizing to run Matomo with speedhttps://matomo.org/docs/requirements/#recommended-servers-sizing-cpu-ram-disks
>> Tips for staying secure in Matomohttps://matomo.org/docs/security/
', 'https://builds.matomo.org/\''
', 'https://matomo.org/faq/how-to/how-do-i-see-page-performance-reports/
"), 'https://builds.matomo.org/\"".concat(link,
', 'https://piwik.org/docs/custom-variables
', 'https://piwik.org/faq/general/faq_21117
', 'https://piwik.org/docs/custom-dimensions
'),"https://builds.matomo.org/'.concat(e,'
',"https://piwik.org/faq/general/faq_21117
',"https://piwik.org/docs/custom-dimensions
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#list
', 'https://matomo.org/matomo-cloud/?mtm_campaign=App_Help&mtm_source=Matomo_App
', 'https://plugins.matomo.org/SearchEngineKeywordsPerformance
', 'https://matomo.org/docs/tracking-campaigns-url-builder/
', 'https://matomo.org/docs/tracking-campaigns/
{{ visitInfo.getColumn('referrerName') }} https://builds.matomo.org/{{ visitInfo.getColumn('referrerUrl')|safelink|e('html_attr') }}
{{ visitInfo.getColumn('referrerName') }} https://builds.matomo.org/{{ visitInfo.getColumn('referrerUrl')|safelink|e('html_attr') }}
"{{ visitInfo.getColumn('referrerKeyword') }}"https://builds.matomo.org/{{ visitInfo.getColumn('referrerUrl')|safelink|e('html_attr') }}
', 'https://matomo.org/docs/tracking-campaigns/
{{ 'Overlay_Overlay'|translate }} https://matomo.org/docs/page-overlay/
{{ 'Overlay_ErrorNotLoadingLink'|translate }} https://matomo.org/docs/page-overlay/#toc-page-overlay-troubleshooting
', 'https://builds.matomo.org/' . $url . '
','https://matomo.org/integrate/
','https://developer.matomo.org/guides/tracking-javascript-guide
','https://builds.matomo.org/' ~ linkTo({'module': 'CoreAdminHome', 'action': 'trackingCodeGenerator'}) ~'
', 'https://matomo.org/log-analytics/
','https://matomo.org/integrate/#programming-language-platforms-and-frameworks
','https://developer.matomo.org/api-reference/tracking-api
','https://developer.matomo.org/guides/spa-tracking
{{ 'SitesManager_Integrations'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#integrations
{{ 'CoreAdminHome_TrackingCode'|translate}}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#tracking-code
{{ 'SitesManager_SiteWithoutDataMatomoTagManager'|translate}}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#mtm
{{ 'SitesManager_SiteWithoutDataOtherWays'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#other
','https://builds.matomo.org/' ~ instructionUrl ~ '
','https://matomo.org/faq/new-to-piwik/how-do-i-use-matomo-analytics-within-gtm-google-tag-manager
','https://matomo.org/integrate/
WordPresshttps://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/
Squarespacehttps://matomo.org/faq/new-to-piwik/how-do-i-integrate-matomo-with-squarespace-website/
Wixhttps://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-wix/
SharePointhttps://matomo.org/faq/how-to-install/faq_19424/
Joomlahttps://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-joomla/
Shopifyhttps://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-my-shopify-store/
Google Tag Managerhttps://matomo.org/faq/new-to-piwik/how-do-i-use-matomo-analytics-within-gtm-google-tag-manager/
','https://matomo.org/integrate/
','https://developer.matomo.org/guides/tracking-javascript-guide
','https://builds.matomo.org/' ~ linkTo({'module': 'CoreAdminHome', 'action': 'trackingCodeGenerator'}) ~'
', 'https://matomo.org/docs/tag-manager/
', 'https://matomo.org/log-analytics/
','https://matomo.org/integrate/#programming-language-platforms-and-frameworks
','https://developer.matomo.org/api-reference/tracking-api
','https://matomo.org/faq/new-to-piwik/how-do-i-use-matomo-analytics-within-gtm-google-tag-manager
','https://developer.matomo.org/guides/spa-tracking
{{ 'SitesManager_SiteWithoutDataIgnoreMessage'|translate }} https://builds.matomo.org/{{ linkTo({module: 'SitesManager', action: 'ignoreNoDataMessage'}) }}
', 'https://builds.matomo.org/\'#globalSettings\'
", "https://developer.matomo.org/guides/core-team-workflow#influencing-piwik-development
', 'https://matomo.org/faq/how-to-update/how-to-convert-the-database-to-utf8mb4-charset/
","https://matomo.org/docs/update/
{{ 'General_ContinueToPiwik'|translate }}https://builds.matomo.org/index.php
','https://matomo.org/faq/
(see FAQ)https://matomo.org/faq/how-to-update/#faq_179
{{ 'General_ContinueToPiwik'|translate }}https://builds.matomo.org/index.php
{{ host }}index.php?module=CoreUpdater&action=newVersionAvailablehttps://builds.matomo.org/{{ host|e('html_attr') }}index.php?module=CoreUpdater&action=newVersionAvailable
{{ linkToChangeLog }}https://builds.matomo.org/{{ linkToChangeLog|safelink|e('html_attr') }}
https://matomo.org/contact/https://matomo.org/contact/
{{ 'CoreUpdater_ServicesSupport'|translate|raw }}https://matomo.org/support-plans/?pk_medium=Update_Success_button&pk_source=Matomo_App&pk_campaign=App_Updated
{{ 'CoreUpdater_CloudHosting'|translate }}https://matomo.org/hosting/?pk_medium=App_Cloud_button&pk_source=Matomo_App&pk_campaign=App_Updated
{{ 'General_ContinueToPiwik'|translate }}https://builds.matomo.org/index.php
{{ 'General_ContinueToPiwik'|translate }}https://builds.matomo.org/index.php
','https://matomo.org/faq/
', 'https://matomo.org/faq/how-to/#faq_111
› {{ 'CoreUpdater_ClickHereToViewSqlQueries'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
", "https://matomo.org/support-plans/?pk_campaign=App_Upgrading&pk_source=Matomo_App&pk_medium=NeedHelpUpgrading
{{ 'CoreUpdater_DownloadX'|translate(piwik_new_version) }}https://builds.matomo.org/{{ piwik_latest_version_url }}?cb={{ piwik_new_version }}
« {{ 'General_BackToPiwik'|translate }}https://builds.matomo.org/index.php
{{ 'General_Faq'|translate }}https://matomo.org/faq/troubleshooting/faq_19489/
{{ 'Feedback_CommunityHelp'|translate }}https://forum.matomo.org/
{{ 'Feedback_ProfessionalHelp'|translate }}https://matomo.org/support-plans/?pk_campaign=Help&pk_medium=AjaxError&pk_content=MultiSites&pk_source=Matomo_App
{{ 'SitesManager_AddSite'|translate }} https://builds.matomo.org/index.php?module=SitesManager&action=index&showaddsite=1&period={{ period }}&date={{ date }}&idSite={{ idSite }}
https://matomo.org/faq/troubleshooting/faq_19489/
https://forum.matomo.org/
' . Piwik::translate('Contents_ContentsSubcategoryHelp2') . 'https://matomo.org/docs/content-tracking/?mtm_campaign=App_Help&mtm_source=Matomo_App&&mtm_keyword=UserGuides
{{ 'LanguagesManager_AboutPiwikTranslations'|translate }}https://matomo.org/translations/
https://developer.matomo.org/guides/internationalization
Tracking Dochttps://developer.piwik.org/api-reference/tracking-api
' . Piwik::translate('Goals_ManageGoalsSubcategoryHelp2') . 'https://matomo.org/docs/tracking-goals-web-analytics/?mtm_campaign=App_Help&mtm_source=Matomo_App&mtm_keyword=UserGuides
' . Piwik::translate('Goals_ManageGoalsSubcategoryHelp2') . 'https://matomo.org/docs/tracking-goals-web-analytics/?mtm_campaign=App_Help&mtm_source=Matomo_App&mtm_keyword=UserGuides
', 'https://matomo.org/docs/tracking-goals-web-analytics/
{{ 'Live_RowActionTooltipWithDimension'|translate('General_Goal'|translate) }} javascript:;
","https://matomo.org/docs/tracking-goals-web-analytics/
","https://matomo.org/docs/tracking-goals-web-analytics/
".concat(Object(external_CoreHome_["translate"])('Goals_EcommerceReports'), "https://matomo.org/docs/ecommerce-analytics/
").concat(Object(external_CoreHome_["translate"])('SitesManager_WebsitesManagement'), "https://builds.matomo.org/".concat(link, "
"), 'https://builds.matomo.org/\"".concat(link,
'.concat(Object(l["translate"])("Goals_EcommerceReports"),"https://matomo.org/docs/ecommerce-analytics/
").concat(Object(l["translate"])("SitesManager_WebsitesManagement"),"https://builds.matomo.org/".concat(e,"
'),"https://builds.matomo.org/'.concat(e,'
Tracking Goalshttp://matomo.org/docs/tracking-goals-web-analytics/
Matomo Auto Archivinghttps://matomo.org/docs/setup-auto-archiving/
{{ 'PrivacyManager_ClickHereSettings'|translate("'"~clickDeleteLogSettings~"'") }} https://builds.matomo.org/{{ linkTo({
' . Piwik::translate('UserCountry_HowToInstallGeoIPDatabases') . 'https://matomo.org/faq/how-to/#faq_163
', '', '', 'https://matomo.org/docs/geo-locate/
', '', '', 'https://matomo.org/docs/geo-locate/
({{ 'Live_ShowMap'|translate|replace({' ': ' '})|raw }})https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{{ 'General_Refresh'|translate }}javascript:;
','https://db-ip.com/?refid=mtm
', 'http://www.maxmind.com/?rId=piwik
', 'http://www.maxmind.com/en/city_accuracy?rId=piwik
', 'https://builds.matomo.org/' . Url::getCurrentQueryStringWithParametersModified($params) . '
', 'https://db-ip.com/?refid=mtm
', 'https://matomo.org/faq/how-to/#faq_167
', 'https://matomo.org/docs/geo-locate/
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{% endset %} {% if isSegmentToPreprocess %} {{ 'SegmentEditor_UnprocessedSegmentNoData1'|translate('(' ~ segmentName ~ ')')|raw }} {{ 'SegmentEditor_UnprocessedSegmentNoData2'|translate }} {% else %} {{ 'SegmentEditor_CustomUnprocessedSegmentApiError1'|translate }} {{ 'SegmentEditor_CustomUnprocessedSegmentNoData'|translate }} {% endif %} {{ 'SegmentEditor_UnprocessedSegmentInVisitorLog1'|translate(visitorLogLinkHtml, 'https://builds.matomo.org/{{ visitorLogLink }}
{{ 'Login_LogIn'|translate }}https://builds.matomo.org/index.php?module={{ loginModule }}
{{ 'General_Edit'|translate|lower }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{{ 'General_Delete'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{{ 'General_Close'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
my linkhttps://builds.matomo.org/
', 'https://matomo.org/faq/how-to/faq_54/
View keywords reportjavascript:broadcast.propagateAjax('module=Referrers&action=getKeywords')
» {{ 'RowEvolution_PickAnotherRow'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
» {{ 'RowEvolution_PickARow'|translate }}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{{ 'CoreHome_ReadMoreOnlineGuide'|translate }}https://builds.matomo.org/{{ properties.onlineGuideUrl|safelink|e('html_attr') }}
', 'https://builds.matomo.org/'~'https:/matomo.org/faq/how-to-disable-archiving-the-segment-reports-for-specific-plugins' ~'
','https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
{% endif %} {% if hasSVGLogo %} {% else %} {% endif %} {% if logoLink is not defined or logoLink is not empty %} https://builds.matomo.org/{{ logoLink|default('index.php') }}
{{ _self.menuItemLabel(label, icon) }}https://builds.matomo.org/{{ menu._url }}
javascript:;
javascript:;
', 'https://matomo.org/recommends/premium-plugins/
Patreonhttps://www.patreon.com/matomo
Ko-fihttps://ko-fi.com/matomo
Liberapayhttps://liberapay.com/Matomo
Open Collectivehttps://opencollective.com/matomo-analytics
PayPalhttps://www.paypal.com/donate/?cmd=_s-xclick&hosted_button_id=RPL23NJURMTFA
{{ 'SitesManager_AddSite'|translate|e }} https://builds.matomo.org/{{ linkTo({'module': 'SitesManager', 'action': 'index', 'showaddsite': '1'}) }}
{{ 'UsersManager_AddUser'|translate|e }} https://builds.matomo.org/{{ linkTo({'module': 'UsersManager', 'action': 'index', 'showadduser': '1'}) }}
{{ 'CoreHome_ViewAllPiwikVideoTutorials'|translate }} https://builds.matomo.org/{{ promoVideoUrl|e('html_attr') }}
https://www.facebook.com/sharer.php?u={{ promoVideoUrl|url_encode }}
https://twitter.com/share?text={{ shareText|url_encode }}&url={{ promoVideoUrl|url_encode }}
{{'CoreHome_SkipToContent'|translate}}https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#main
{% if not row.getMetadata('logo') %} {% endif %} {% endif %} {% set totals = dataTable.getMetadata('totals') %} {% set labelColumn = columns_to_display|first %} {% set reportLabel = row.getColumn(labelColumn)|truncate(40)|rawSafeDecoded %} {% include "@CoreVisualizations/_dataTableViz_htmlTable_ratio.twig" with { 'label': reportLabel, 'labelColumn': labelColumn, 'translations': properties.translations } %} {% set dimensions = dataTable.getMetadata('dimensions')|default([]) %} {% if column=='label' or column in dimensions %} {% import 'macros.twig' as piwik %} {% if column=='label' %}{{ piwik.logoHtml(row.getMetadata(), row.getColumn('label')) }}{% endif %} {% if row.getMetadata('html_label_prefix') %}{{ row.getMetadata('html_label_prefix') | raw }} {% endif -%} {% endif %} {%- if row.getColumn(column) or (column=='label' and row.getColumn(column) is same as("0")) %}{% if column=='label' %}{{- row.getColumn(column)|rawSafeDecoded -}}{% else %}{% if row.getMetadata('html_column_' ~ column ~ '_prefix') %}{{ row.getMetadata('html_column_' ~ column ~ '_prefix') | raw }}{% endif -%}{{- row.getColumn(column)|number(2,0)|rawSafeDecoded -}}{% if row.getMetadata('html_column_' ~ column ~ '_suffix') %}{{ row.getMetadata('html_column_' ~ column ~ '_suffix') | raw }}{% endif -%}{% endif %} {%- else -%}- {%- endif -%} {% if column=='label' %}{%- if row.getMetadata('html_label_suffix') %}{{ row.getMetadata('html_label_suffix') | raw }}{% endif -%}{% endif %} {% if not row.getIdSubDataTable() and column=='label' and row.getMetadata('url') %} https://builds.matomo.org/{% if row.getMetadata(
{% else -%} {% endif -%} {{ item.getLabel }}{% if item.getValue %}:{% endif %} {%- if item.getUrlParams %} https://builds.matomo.org/{{ linkTo(item.getUrlParams) }}
{{ 'General_NewUpdatePiwikX'|translate(latest_version_available) }} https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz?module=CoreUpdater&action=newVersionAvailable
{{ 'CoreHome_SeeAvailableVersions'|translate }} https://matomo.org/changelog/
builds.matomo.orghttps://builds.matomo.org/piwik-" ~ latest_version_available ~ ".zip
","https://builds.matomo.org/index.php?module=CoreUpdater&action=newVersionAvailable
","https://matomo.org/changelog/
Matomohttps://matomo.org/
" ~ latest_version_available ~ "https://matomo.org/changelog/
{% endif %} {{ rowMetrics[columnId] | raw }}{# labels are escaped by SafeDecodeLabel filter in core/API/Response.php #} {% if rowMetadata.url is defined %} https://builds.matomo.org/{% if rowMetadata.url|slice(0,4) not in [
{{ 'ScheduledReports_TopOfReport'|translate }} ↑ https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#reportTop
{{ metadata.name }} https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#{{ metadata.uniqueId }}
{% if urlParameters._icon is defined and urlParameters._icon %}{% endif %} {{ name|translate }} https://builds.matomo.org/index.php?{{ urlParameters._url|urlRewriteWithParameters|slice(1) }}
{{ name|translate }}https://builds.matomo.org/index.php?{{ urlParameters._url|urlRewriteWithParameters|slice(1) }}
Matomo Analyticshttps://matomo.org/
{{ 'ScheduledReports_Unsubscribe'|translate }}https://builds.matomo.org/{{ unsubscribeLink|e('html_attr') }}
javascript:;
{% if activeFooterIcon starts with 'icon-' %} {% else %} {% endif %} javascript:;
javascript:;
javascript:;
javascript:;
javascript:;
{% if action.icon starts with 'icon-' %} {% else %} {% endif %} javascript:;
{{ properties.translations[clientSideParameters.period]|default(clientSideParameters.period) }} javascript:;
{% if isCustomLogo and logoHeader %} {% else %} {% endif %} https://builds.matomo.org/{{ piwikUrl }}
{{ 'Dashboard_Dashboard'|translate }} https://builds.matomo.org/{{ piwikUrl }}{{ linkTo({'module': 'CoreHome', 'action': 'redirectToCoreHomeIndex', 'idSite': idSite, 'period': period|default, 'date': date|default, 'token_auth': null, 'method': null, 'idReport': null, 'outputType': null, 'format': null})|raw }}
{{ 'General_Help'|translate }} https://matomo.org/faq/troubleshooting/#faq_171
","https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz?module=UsersManager&action=userSecurity
Menuhttps://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
Another itemhttps://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
"), 'https://builds.matomo.org/\"".concat(url,
', 'https://builds.matomo.org/\'?module=UsersManager&action=userSecurity\'
Menuhttps://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
Another itemhttps://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
https://matomo.org/faq/troubleshooting/faq_19489/
https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz
javascript:
javascript:
javascript:void(0)

Viewport: initial-scale=1.0

Robots: noindex,nofollow


URLs of crawlers that visited me.