VisitesTask
in package
FinalYes
Attributes
- #[AsCronTask]
- $name: 'visites'
- $periode: 300
Table of Contents
Properties
- $cronLotFichiersVisite : int
- $ipFloodTtl : int
- $logger : LoggerInterface
- $popularitesTask : PopularitesTask
Methods
- __construct() : mixed
- __invoke() : int
- calculerVisites() : int|null
- Calcule les statistiques de visites, en plusieurs étapes.
- compteFichierVisite() : void
- Prend en compte un fichier de visite et agrège les données.
- nettoyerFlood() : void
- Nettoie les IPs des flooders 24h après leur dernier passage.
- nettoyerReferer() : string
- Nettoie les urls en enlevant les variables marketing et variantes AMP.
Properties
$cronLotFichiersVisite read-only
private
int
$cronLotFichiersVisite
Attributes
- #[Autowire]
- '%spip.stats.cron_lot_fichiers_visite%'
$ipFloodTtl read-only
private
int
$ipFloodTtl
Attributes
- #[Autowire]
- '%spip.stats.ip_flood_ttl%'
$logger read-only
private
LoggerInterface
$logger
Attributes
- #[Autowire]
- $service: 'spip.stats.logger'
$popularitesTask read-only
private
PopularitesTask
$popularitesTask
Methods
__construct()
public
__construct(PopularitesTask $popularitesTask, LoggerInterface $logger, int $cronLotFichiersVisite, int $ipFloodTtl) : mixed
Parameters
- $popularitesTask : PopularitesTask
- $logger : LoggerInterface
- $cronLotFichiersVisite : int
- $ipFloodTtl : int
__invoke()
public
__invoke() : int
Return values
intcalculerVisites()
Calcule les statistiques de visites, en plusieurs étapes.
private
calculerVisites() : int|null
Traite un lot de fichiers de sessions de visites et ventile les données dans les tables spip_visites, spip_visites_articles, spip_referers et spip_referers_articles.
Return values
int|null —- null si aucune visite à prendre en compte ou si tous les fichiers sont traités,
- entier négatif s'il reste encore des fichiers à traiter
compteFichierVisite()
Prend en compte un fichier de visite et agrège les données.
private
compteFichierVisite(string $fichier, int &$visites, array<string|int, mixed> &$visitesA, array<string|int, mixed> &$referers, array<string|int, mixed> &$referersA) : void
Parameters
- $fichier : string
-
Nom du fichier de session de visite
- $visites : int
-
Nombre de visites du site (incrémenté par référence)
- $visitesA : array<string|int, mixed>
-
Couples id_article => nombre de visites (par référence)
- $referers : array<string|int, mixed>
-
Couples url_referer => nombre (par référence)
- $referersA : array<string|int, mixed>
-
Couples id_article => [url_referer => nombre] (par référence)
nettoyerFlood()
Nettoie les IPs des flooders 24h après leur dernier passage.
private
nettoyerFlood() : void
nettoyerReferer()
Nettoie les urls en enlevant les variables marketing et variantes AMP.
private
nettoyerReferer(string $url) : string
Parameters
- $url : string