tracking/Configuration/Services.yaml

96 lines
3.4 KiB
YAML
Raw Normal View History

services:
_defaults:
autowire: true
autoconfigure: true
public: false
DanielSiepmann\Tracking\:
resource: '../Classes/*'
2020-02-24 14:49:31 +01:00
# Virtual services
DanielSiepmann\Tracking\DI\Dashboard\Widgets\Settings\PageViewsBar:
factory:
- '@DanielSiepmann\Tracking\Dashboard\Widgets\SettingsFactory'
- 'fromArray'
arguments:
$widgetIdentifier: 'pageViewsBar'
$settings: []
DanielSiepmann\Tracking\DI\Dashboard\Widgets\Settings\PageViewsPerPageDoughnut:
factory:
- '@DanielSiepmann\Tracking\Dashboard\Widgets\SettingsFactory'
- 'fromArray'
arguments:
$widgetIdentifier: 'pageViewsPerPageDoughnut'
$settings: []
DanielSiepmann\Tracking\DI\Dashboard\Widgets\Settings\NewestPageviewsList:
factory:
- '@DanielSiepmann\Tracking\Dashboard\Widgets\SettingsFactory'
- 'fromArray'
arguments:
$widgetIdentifier: 'newestPageviewsList'
$settings: []
2020-02-24 14:49:31 +01:00
DanielSiepmann\Tracking\DI\DatabaseConnection\Pageview:
factory:
- '@TYPO3\CMS\Core\Database\ConnectionPool'
- 'getConnectionForTable'
arguments:
- 'tx_tracking_pageview'
2020-02-24 14:49:31 +01:00
DanielSiepmann\Tracking\DI\QueryBuilder\PageView:
factory:
- '@TYPO3\CMS\Core\Database\ConnectionPool'
- 'getQueryBuilderForTable'
arguments:
- 'tx_tracking_pageview'
# Existing classes
DanielSiepmann\Tracking\Domain\Repository\Pageview:
public: true
arguments:
2020-02-24 14:49:31 +01:00
- '@DanielSiepmann\Tracking\DI\DatabaseConnection\Pageview'
DanielSiepmann\Tracking\Middleware\Pageview:
public: true
arguments:
$rule: >
not (context.getAspect("backend.user").isLoggedIn())
2020-02-19 09:19:26 +01:00
and not (request.getHeader("User-Agent")[0] matches "/^Wget|TYPO3|TYPO3 linkvalidator/")
2020-02-24 13:57:06 +01:00
and not (request.getHeader("User-Agent")[0] matches "/Googlebot|Bingbot|bingbot|Slurp|DuckDuckBot|Baiduspider|YandexBot|Sogou|Exabot|NextCloud-News|Feedly|XING FeedReader|CCBot|SemrushBot|SEOkicks|Twitterbot|Seekport Crawler|SemanticScholarBot|curl/")
2020-02-23 22:41:41 +01:00
# Dashboard Widgets
DanielSiepmann\Tracking\Dashboard\Widgets\PageViewsBar:
2020-02-24 14:49:31 +01:00
class: 'DanielSiepmann\Tracking\Dashboard\Widgets\PageViewsBar'
arguments:
$identifier: 'pageViewsBar'
$queryBuilder: '@DanielSiepmann\Tracking\DI\QueryBuilder\PageView'
$settings: '@DanielSiepmann\Tracking\DI\Dashboard\Widgets\Settings\PageViewsBar'
2020-02-23 22:41:41 +01:00
tags:
2020-02-24 14:49:31 +01:00
- name: 'dashboard.widget'
identifier: 'pageViewsBar'
widgetGroups: 'tracking'
2020-02-23 22:41:41 +01:00
DanielSiepmann\Tracking\Dashboard\Widgets\PageViewsPerPageDoughnut:
2020-02-24 14:49:31 +01:00
class: 'DanielSiepmann\Tracking\Dashboard\Widgets\PageViewsPerPageDoughnut'
arguments:
$identifier: 'pageViewsPerPageDoughnut'
$queryBuilder: '@DanielSiepmann\Tracking\DI\QueryBuilder\PageView'
$settings: '@DanielSiepmann\Tracking\DI\Dashboard\Widgets\Settings\PageViewsPerPageDoughnut'
2020-02-23 22:41:41 +01:00
tags:
2020-02-24 14:49:31 +01:00
- name: 'dashboard.widget'
identifier: 'pageViewsPerPageDoughnut'
widgetGroups: 'tracking'
DanielSiepmann\Tracking\Dashboard\Widgets\NewestPageviewsList:
class: 'DanielSiepmann\Tracking\Dashboard\Widgets\NewestPageviewsList'
arguments:
$identifier: 'newestPageviewsList'
$queryBuilder: '@DanielSiepmann\Tracking\DI\QueryBuilder\PageView'
$settings: '@DanielSiepmann\Tracking\DI\Dashboard\Widgets\Settings\NewestPageviewsList'
tags:
- name: 'dashboard.widget'
identifier: 'newestPageviewsList'
widgetGroups: 'tracking'