services: _defaults: autowire: true autoconfigure: true public: false DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerDay: arguments: $queryBuilder: '@querybuilder.tx_tracking_pageview' $pagesToExclude: [1, 11, 38] DanielSiepmann\Tracking\Dashboard\Provider\NewestPageviews: arguments: $queryBuilder: '@querybuilder.tx_tracking_pageview' $pagesToExclude: [1, 11, 38] DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage: arguments: $queryBuilder: '@querybuilder.tx_tracking_pageview' $pagesToExclude: [1, 11, 38] DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage7_days: class: DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage arguments: $queryBuilder: '@querybuilder.tx_tracking_pageview' $pagesToExclude: [1, 11, 38] $days: 7 dashboard.widget.danielsiepmann.tracking.pageViewsPerPage7_days: class: 'TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget' arguments: $view: '@dashboard.views.widget' $dataProvider: '@DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage7_days' tags: - name: 'dashboard.widget' identifier: 'pageViewsPerPageDoughnut7_days' groupNames: 'tracking' iconIdentifier: 'content-widget-chart-bar' title: 'Pageviews 7 Days' description: '' additionalCssClasses: 'dashboard-item--chart' height: 'medium' width: 'small' DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage365_days: class: DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage arguments: $queryBuilder: '@querybuilder.tx_tracking_pageview' $pagesToExclude: [1, 11, 38] $days: 365 dashboard.widget.danielsiepmann.tracking.pageViewsPerPage365_days: class: 'TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget' arguments: $view: '@dashboard.views.widget' $dataProvider: '@DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage365_days' tags: - name: 'dashboard.widget' identifier: 'pageViewsPerPageDoughnut365_days' groupNames: 'tracking' iconIdentifier: 'content-widget-chart-bar' title: 'Pageviews 365 Days' description: '' additionalCssClasses: 'dashboard-item--chart' height: 'medium' width: 'small' dashboard.provider.danielsiepmann.tracking.records.topics: class: 'DanielSiepmann\Tracking\Dashboard\Provider\Recordviews' arguments: $queryBuilder: '@querybuilder.tx_tracking_recordview' $recordTableLimitation: ['sys_category'] dashboard.widget.danielsiepmann.tracking.records.topics: class: 'TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget' arguments: $view: '@dashboard.views.widget' $dataProvider: '@dashboard.provider.danielsiepmann.tracking.records.topics' tags: - name: 'dashboard.widget' identifier: 'topics' groupNames: 'tracking' iconIdentifier: 'content-widget-chart-pie' title: 'Topics 31 Days' description: 'Shows which topics are called most' additionalCssClasses: 'dashboard-item--chart' height: 'medium' width: 'small' dashboard.provider.danielsiepmann.tracking.records.topics7_days: class: 'DanielSiepmann\Tracking\Dashboard\Provider\Recordviews' arguments: $queryBuilder: '@querybuilder.tx_tracking_recordview' $recordTableLimitation: ['sys_category'] $days: 7 dashboard.widget.danielsiepmann.tracking.records.topics7_days: class: 'TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget' arguments: $view: '@dashboard.views.widget' $dataProvider: '@dashboard.provider.danielsiepmann.tracking.records.topics7_days' tags: - name: 'dashboard.widget' identifier: 'topics7days' groupNames: 'tracking' iconIdentifier: 'content-widget-chart-pie' title: 'Topics 7 Days' description: 'Shows which topics are called most' additionalCssClasses: 'dashboard-item--chart' height: 'medium' width: 'small' dashboard.provider.danielsiepmann.tracking.records.topics365_days: class: 'DanielSiepmann\Tracking\Dashboard\Provider\Recordviews' arguments: $queryBuilder: '@querybuilder.tx_tracking_recordview' $recordTableLimitation: ['sys_category'] $days: 365 dashboard.widget.danielsiepmann.tracking.records.topics365_days: class: 'TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget' arguments: $view: '@dashboard.views.widget' $dataProvider: '@dashboard.provider.danielsiepmann.tracking.records.topics365_days' tags: - name: 'dashboard.widget' identifier: 'topics365days' groupNames: 'tracking' iconIdentifier: 'content-widget-chart-pie' title: 'Topics 365 Days' description: 'Shows which topics are called most' additionalCssClasses: 'dashboard-item--chart' height: 'medium' width: 'small' DanielSiepmann\Tracking\Middleware\Pageview: public: true arguments: $rule: > not (context.getAspect("backend.user").isLoggedIn()) and not (context.getAspect("frontend.preview").isPreview()) and traverse(request.getHeader("User-Agent"), '0') and not (request.getHeader("User-Agent")[0] matches "/^TYPO3|TYPO3 linkvalidator/") and not (request.getHeader("User-Agent")[0] matches "/^Symfony BrowserKit/") and not (request.getHeader("User-Agent")[0] matches "/Wget|curl|Go-http-client/") and not (request.getHeader("User-Agent")[0] matches "/bot|spider|Slurp|Sogou|NextCloud-News|Feedly|XING FeedReader|SEOkicks|Seekport Crawler|ia_archiver|TrendsmapResolver|Nuzzel/") and not (request.getHeader("User-Agent")[0] matches "/mattermost|Slackbot|WhatsApp/") DanielSiepmann\Tracking\Middleware\Recordview: public: true arguments: $rules: topics: matches: > traverse(request.getQueryParams(), "topic_uid") > 0 and not (context.getAspect("backend.user").isLoggedIn()) and not (context.getAspect("frontend.preview").isPreview()) and traverse(request.getHeader("User-Agent"), '0') and not (request.getHeader("User-Agent")[0] matches "/^TYPO3|TYPO3 linkvalidator/") and not (request.getHeader("User-Agent")[0] matches "/^Codeception Testing/") and not (request.getHeader("User-Agent")[0] matches "/Wget|curl|Go-http-client/") and not (request.getHeader("User-Agent")[0] matches "/bot|spider|Slurp|Sogou|NextCloud-News|Feedly|XING FeedReader|SEOkicks|Seekport Crawler|ia_archiver|TrendsmapResolver|Nuzzel/") and not (request.getHeader("User-Agent")[0] matches "/mattermost|Slackbot|WhatsApp/") recordUid: 'traverse(request.getQueryParams(), "topic_uid")' tableName: 'sys_category'