mirror of
https://github.com/DanielSiepmann/tracking.git
synced 2024-11-24 14:36:08 +01:00
Daniel Siepmann
a642a0846d
Preview is also active if a preview link is shared via EXT:workspace. Those views should probably not be tracked, just like active backend sessions.
75 lines
2.4 KiB
YAML
75 lines
2.4 KiB
YAML
imports:
|
|
- { resource: Backend/DashboardWidgets.yaml }
|
|
|
|
services:
|
|
_defaults:
|
|
autowire: true
|
|
autoconfigure: true
|
|
public: false
|
|
|
|
DanielSiepmann\Tracking\:
|
|
resource: '../Classes/*'
|
|
exclude: '../Classes/Dashboard/*'
|
|
|
|
dbconnection.tx_tracking_pageview:
|
|
class: 'TYPO3\CMS\Core\Database\Connection'
|
|
factory:
|
|
- '@TYPO3\CMS\Core\Database\ConnectionPool'
|
|
- 'getConnectionForTable'
|
|
arguments:
|
|
- 'tx_tracking_pageview'
|
|
|
|
querybuilder.tx_tracking_pageview:
|
|
class: 'TYPO3\CMS\Core\Database\Query\QueryBuilder'
|
|
factory:
|
|
- '@TYPO3\CMS\Core\Database\ConnectionPool'
|
|
- 'getQueryBuilderForTable'
|
|
arguments:
|
|
- 'tx_tracking_pageview'
|
|
|
|
dbconnection.tx_tracking_recordview:
|
|
class: 'TYPO3\CMS\Core\Database\Connection'
|
|
factory:
|
|
- '@TYPO3\CMS\Core\Database\ConnectionPool'
|
|
- 'getConnectionForTable'
|
|
arguments:
|
|
- 'tx_tracking_recordview'
|
|
|
|
querybuilder.tx_tracking_recordview:
|
|
class: 'TYPO3\CMS\Core\Database\Query\QueryBuilder'
|
|
factory:
|
|
- '@TYPO3\CMS\Core\Database\ConnectionPool'
|
|
- 'getQueryBuilderForTable'
|
|
arguments:
|
|
- 'tx_tracking_recordview'
|
|
|
|
DanielSiepmann\Tracking\Domain\Repository\Pageview:
|
|
public: true
|
|
arguments:
|
|
- '@dbconnection.tx_tracking_pageview'
|
|
|
|
DanielSiepmann\Tracking\Domain\Repository\Recordview:
|
|
public: true
|
|
arguments:
|
|
- '@dbconnection.tx_tracking_recordview'
|
|
|
|
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 "/Wget|curl|Go-http-client/")
|
|
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|ia_archiver|PaperLiBot|TrendsmapResolver|AhrefsBot|Nuzzel/")
|
|
and not (request.getHeader("User-Agent")[0] matches "/mattermost|Slackbot|WhatsApp/")
|
|
|
|
DanielSiepmann\Tracking\Middleware\Recordview:
|
|
public: true
|
|
arguments:
|
|
$rules: []
|
|
|
|
DanielSiepmann\Tracking\Command\UpdateDataCommand:
|
|
tags:
|
|
- name: 'console.command'
|
|
command: 'tracking:updatedata'
|