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
Domain: builds.matomo.org
| None | IE=EDGE,chrome=1 |
| notranslate | |
| Generator | Drupal'; 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/ 0000755 0001751 0000171 00000000000 14221213162 017573 5 ustar runner docker piwik/plugins/SitesManager/templates/_displayJavascriptCode.twig 0000644 0001751 0000171 00000004703 14221213162 025121 0 ustar runner docker |
Links:
| $moduleName | https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz#$moduleName |
| 10 days | https://builds.matomo.org/$exampleUrlRss&format=rss$token_auth_url&translateColumnNames=1 |
| XML | https://builds.matomo.org/$exampleUrl&format=xml$token_auth_url |
| Json | https://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 |
| WordPress | https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/ |
| Squarespace | https://matomo.org/faq/new-to-piwik/how-do-i-integrate-matomo-with-squarespace-website/ |
| Wix | https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-wix/ |
| SharePoint | https://matomo.org/faq/how-to-install/faq_19424/ |
| Joomla | https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-joomla/ |
| Shopify | https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-my-shopify-store/ |
| Google Tag Manager | https://matomo.org/faq/new-to-piwik/how-do-i-use-matomo-analytics-within-gtm-google-tag-manager/ |
| Learn more | https://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 Matomo | https://matomo.org/recommends/conversion-funnel/ |
| Multi Channel Conversion Attribution | https://plugins.piwik.org/MultiChannelConversionAttribution |
| Learn more | https://matomo.org/docs/event-tracking/ |
| Content Tracking | https://developer.matomo.org/guides/content-tracking |
| Media Analytics gives deep insights into your audience | https://matomo.org/recommends/media-analytics-website |
| Heatmap & Session Recording | https://matomo.org/recommends/heatmap-session-recording-learn-more/ |
| Heatmap & Session Recording | https://matomo.org/recommends/heatmap-session-recording-learn-more/ |
| SEO Web Vitals | https://matomo.org/recommends/seo-web-vitals/ |
| Search Keywords Performance | https://matomo.org/recommends/search-keywords-performance/ |
| A/B Testing for Matomo | https://matomo.org/recommends/ab-testing-learn-more/ |
| Custom Reports | https://plugins.piwik.org/CustomReports |
| Campaign tracking | https://matomo.org/docs/tracking-campaigns/ |
| URL Builder tool | https://matomo.org/docs/tracking-campaigns/ |
| Marketing Campaigns Reporting plugin | https://plugins.matomo.org/MarketingCampaignsReporting |
| Multi Channel Conversion Attribution | https://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 reports | https://matomo.org/docs/embed-piwik-report/ |
| Users Management section | https://builds.matomo.org/index.php?module=UsersManager |
| Security page | https://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 |
| XSS | https://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 }} |
| GitHub | https://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/ 0000755 0001751 0000171 00000000000 14221213161 020016 5 ustar runner docker piwik/plugins/Marketplace/stylesheets/plugin-details.less 0000644 0001751 0000171 00000003677 14221213161 023644 0 ustar runner docker .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.less 0000644 0001751 0000171 00000001772 14221213161 024466 0 ustar runner docker .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.less 0000644 0001751 0000171 00000006603 14221213161 023203 0 ustar runner docker .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/ 0000755 0001751 0000171 00000000000 14221213175 016714 5 ustar runner docker piwik/plugins/Marketplace/config/tracker.php 0000644 0001751 0000171 00000000030 14221213161 021044 0 ustar runner docker 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/ 0000755 0001751 0000171 00000000000 14221213161 016541 5 ustar runner docker piwik/plugins/Marketplace/Input/PurchaseType.php 0000644 0001751 0000171 00000000502 14221213161 021663 0 ustar runner docker isValidSortMethod($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.php 0000644 0001751 0000171 00000000732 14221213161 020140 0 ustar runner docker requestParam = $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.php 0000644 0001751 0000171 00000012646 14221213161 022134 0 ustar runner docker updaterSettings = $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.php 0000644 0001751 0000171 00000025017 14221213161 017601 0 ustar runner docker marketplaceClient = $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/ 0000755 0001751 0000171 00000000000 14221213161 017050 5 ustar runner docker piwik/plugins/Marketplace/Widgets/GetNewPlugins.php 0000644 0001751 0000171 00000003152 14221213161 022315 0 ustar runner docker marketplaceApiClient = $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.php 0000644 0001751 0000171 00000003207 14221213161 023340 0 ustar runner docker marketplaceApiClient = $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.php 0000644 0001751 0000171 00000001515 14221213161 022013 0 ustar runner docker setCategoryId('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.php 0000644 0001751 0000171 00000005405 14221213161 016570 0 ustar runner docker paid premium plugins | https://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 Clockwork | https://www.clockworksms.com/platforms/piwik/ |
| here | https://www.clockworksms.com/sms-coverage/ |
| get an Account at ASPSMS | http://www.aspsms.com/en/registration/?REF=227830 |
| here | http://www.aspsms.com/en/networks/?REF=227830 |
| Payment | https://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 reports | http://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 |
| Plugins | https://builds.matomo.org/index.php?module=CorePluginsAdmin&action=plugins |
| Themes | https://builds.matomo.org/index.php?module=CorePluginsAdmin&action=themes |
| deactivate | https://builds.matomo.org/index.php?module=CorePluginsAdmin&action=deactivate&pluginName={{ pluginName }}&nonce={{ deactivateNonce }}{% if deactivateIAmSuperUserSalt is not empty %}&i_am_super_user={{ deactivateIAmSuperUserSalt }}{% endif %} |
| uninstall | https://builds.matomo.org/index.php?module=CorePluginsAdmin&action=uninstall&pluginName={{ pluginName }}&nonce={{ uninstallNonce }} |
| login to Matomo | https://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 reports | https://matomo.org/docs/setup-auto-archiving/ |
| >> Learn the recommended server configuration and sizing to run Matomo with speed | https://matomo.org/docs/requirements/#recommended-servers-sizing-cpu-ram-disks |
| >> Tips for staying secure in Matomo | https://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/ |
| WordPress | https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/ |
| Squarespace | https://matomo.org/faq/new-to-piwik/how-do-i-integrate-matomo-with-squarespace-website/ |
| Wix | https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-wix/ |
| SharePoint | https://matomo.org/faq/how-to-install/faq_19424/ |
| Joomla | https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-analytics-tracking-code-on-joomla/ |
| Shopify | https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-my-shopify-store/ |
| Google Tag Manager | https://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=newVersionAvailable | https://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 Doc | https://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 Goals | http://matomo.org/docs/tracking-goals-web-analytics/ |
| Matomo Auto Archiving | https://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 link | https://builds.matomo.org/ |
| ', ' | https://matomo.org/faq/how-to/faq_54/ |
| View keywords report | javascript: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/ |
| Patreon | https://www.patreon.com/matomo |
| Ko-fi | https://ko-fi.com/matomo |
| Liberapay | https://liberapay.com/Matomo |
| Open Collective | https://opencollective.com/matomo-analytics |
| PayPal | https://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.org | https://builds.matomo.org/piwik-" ~ latest_version_available ~ ".zip |
| "," | https://builds.matomo.org/index.php?module=CoreUpdater&action=newVersionAvailable |
| "," | https://matomo.org/changelog/ |
| Matomo | https://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 Analytics | https://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 |
| Menu | https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz |
| Another item | https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz |
| "), ' | https://builds.matomo.org/\"".concat(url, |
| ', ' | https://builds.matomo.org/\'?module=UsersManager&action=userSecurity\' |
| Menu | https://builds.matomo.org/piwik-4.9.0-rc1.tar.gz |
| Another item | https://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