Daniel Siepmann
394b38beb3
Use _uid suffix when uids are used. Add test to ensure topics are working as expected (regarding routing).
158 lines
6.6 KiB
YAML
158 lines
6.6 KiB
YAML
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 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/")
|
|
|
|
DanielSiepmann\Tracking\Middleware\Recordview:
|
|
public: true
|
|
arguments:
|
|
$rules:
|
|
topics:
|
|
matches: >
|
|
request.getQueryParams()["topic_uid"] > 0
|
|
and not (context.getAspect("backend.user").isLoggedIn())
|
|
and not (context.getAspect("frontend.preview").isPreview())
|
|
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: 'request.getQueryParams()["topic_uid"]'
|
|
tableName: 'sys_category'
|