SupportedVersions
in package
Supported Versions filters class.
Table of Contents
Properties
- $config : array<string|int, mixed>|null
- Configuration du calendrier (SVG, CSS, Dates).
- $now : DateTime
- Date courante.
- $releasesFile : string
- Chemin relatif du fichier JSON des versions à afficher
- $defaultConfig : array<string|int, mixed>
- Configuration par défaut.
- $maxDate : DateTime
- Date de fin du calendrier.
- $minDate : DateTime
- Date de début du calendrier.
- $releases : array<string|int, mixed>
- Liste des versions issues du fichier $releasesFile.
- $years : array<string|int, string>
- Liste des années (format 'Y-m-d') du calendrier
Methods
- branchesByState() : array<string|int, mixed>
- Filtre sélectionnant les données de branches en fonction de leur état.
- branchesToShow() : array<string|int, mixed>
- Filtre sélectionnant les données des branches à afficher.
- configuration() : string
- Transforme un tableau en chaine.
- getBranchesFromState() : array<string|int, mixed>
- Filtre fournissant les branches correspondant à un état de publication donné.
- getBranchValues() : array<string|int, mixed>
- Filtre fournissant les informations de la branche liée à la release passée en paramètre.
- height() : int
- Filtre donnant la hauteur du calendrier.
- horizCoord() : int
- Filtre qui calcule la position horizontale d'une date dans le calendrier.
- phpMatrix() : array<string|int, mixed>
- Filtre fournissant un tableau de compatibilité SPIP/PHP.
- rectWidth() : int|string
- Filtre calculant la largeur du rectangle, d'un état d'une branche.
- spipLoaderApi() : int
- Version par défaut de l'API pour le script spip_loader.php.
- state() : string
- Filtre qui détermine l'état d'une version par rapport à la date du jour.
- stateOrGradient() : string
- Filtre calculant la class CSS d'un rectangle SVG de l'état d'une branche.
- top() : int
- Filtre servant à calculer la coordonnées 'y' dans le calendrier pour une branche données.
- topForText() : int
- Filtre donnant la coordonnées 'y' du nom de la branche dans le calendrier.
- width() : int
- Filtre donnant la largeur du calendrier.
- years() : array<string|int, string>
- Filtre fournissant les années (format 'Y-m-d') composant le calendrier.
- dateHorizCoord() : int
- Renvoie la coordonnée x d'une date dans le calendrier svg.
Properties
$config
Configuration du calendrier (SVG, CSS, Dates).
protected
static array<string|int, mixed>|null
$config
= \null
$now
Date courante.
protected
static DateTime
$now
$releasesFile
Chemin relatif du fichier JSON des versions à afficher
protected
static string
$releasesFile
$defaultConfig
Configuration par défaut.
private
static array<string|int, mixed>
$defaultConfig
= ['calendar' => ['min_year' => 'P3Y', 'max_year' => 'P5Y'], 'svg' => ['margin_left' => 80, 'margin_right' => 50, 'header_height' => 24, 'year_width' => 120, 'branch_height' => 30, 'footer_height' => 24]]
$maxDate
Date de fin du calendrier.
private
static DateTime
$maxDate
$minDate
Date de début du calendrier.
private
static DateTime
$minDate
$releases
Liste des versions issues du fichier $releasesFile.
private
static array<string|int, mixed>
$releases
$years
Liste des années (format 'Y-m-d') du calendrier
private
static array<string|int, string>
$years
Methods
branchesByState()
Filtre sélectionnant les données de branches en fonction de leur état.
public
static branchesByState(array<string|int, string> $states) : array<string|int, mixed>
Parameters
- $states : array<string|int, string>
-
Listes des états souhaités
Tags
Return values
array<string|int, mixed> —les branches à afficher
branchesToShow()
Filtre sélectionnant les données des branches à afficher.
public
static branchesToShow([bool $eol = false ]) : array<string|int, mixed>
Par défaut, récupère les branches affichables dans l'intervalle du calendrier Sont affichables:
- Les branches avec une date de release initiale effective ou prévue antérieure à la date de fin de l'intervalle
- Les branches avec une date de fin postérieure à la date de début de l'intervalle ou non prévue
Parameters
- $eol : bool = false
-
Ajoute les branches 'eol' à la sélection si true
Return values
array<string|int, mixed> —les branches à afficher
configuration()
Transforme un tableau en chaine.
public
static configuration(array<string|int, mixed> $extensions[, string $versionMarker = '' ][, string $logicalOperation = 'and' ]) : string
Parameters
- $extensions : array<string|int, mixed>
-
liste des extensions et de leurs versions
- $versionMarker : string = ''
- $logicalOperation : string = 'and'
Return values
stringgetBranchesFromState()
Filtre fournissant les branches correspondant à un état de publication donné.
public
static getBranchesFromState(string $state) : array<string|int, mixed>
l'état de publication doit correspondre à l'un des termes suivants: future, stable, security, eol.
Parameters
- $state : string
-
l'état de publication souhaité
Tags
Return values
array<string|int, mixed>getBranchValues()
Filtre fournissant les informations de la branche liée à la release passée en paramètre.
public
static getBranchValues(string $release) : array<string|int, mixed>
-
Si le paramètre ne correspond pas à un nommage de branch X.Y ou si la branche X.Y n'existe pas : On retourne un tableau de valeurs vide.
-
Sinon, on retourne toutes les données de la branche.
Parameters
- $release : string
-
la version de la publication dont on souhaite récupérer les données de branche
Return values
array<string|int, mixed>height()
Filtre donnant la hauteur du calendrier.
public
static height(int $header_height) : int
Cf. modeles/supportedversions_calendar.html
Parameters
- $header_height : int
Tags
Return values
inthorizCoord()
Filtre qui calcule la position horizontale d'une date dans le calendrier.
public
static horizCoord(string $date) : int
Parameters
- $date : string
-
une date au format 'Y-m-d'
Tags
Return values
intphpMatrix()
Filtre fournissant un tableau de compatibilité SPIP/PHP.
public
static phpMatrix([bool $eol = false ]) : array<string|int, mixed>
Conditions d'affichage:
- une date de release initiale effective ou prévue est définie (non vide)
- une liste de versions compatible pour PHP est fournie (non vide)
- la date de fin de vie n'est pas communiquée (cas nominal)
Si les versions en fin de vie sont demandées, la date de fin de vie doit être fournie et inférieure à la date du jour
Parameters
- $eol : bool = false
-
true si on souhaite afficher les versions SPIP en fin de vie.
Return values
array<string|int, mixed>rectWidth()
Filtre calculant la largeur du rectangle, d'un état d'une branche.
public
static rectWidth(string $branch, string $state) : int|string
Parameters
- $branch : string
- $state : string
Return values
int|string —empty string or value
spipLoaderApi()
Version par défaut de l'API pour le script spip_loader.php.
public
static spipLoaderApi() : int
Return values
intstate()
Filtre qui détermine l'état d'une version par rapport à la date du jour.
public
static state(array<string|int, string> $valeurs) : string
le tableau de valeurs doit impérativement contenir les clés suivantes:
initial_release: Une date au format 'Y-m-d' indiquant la date de sortie de la première release stable (X.Y.0) Si la date est vide (''), la version n'a pas de date de sortie prévue, l'état est 'not-planned' Si la date est supérieure à la date du jour, l'état est 'future' Sinon elle est 'stable'
active_support: Une date indiquant le moment ou seuls des correctifs de sécurité sont assurés pour la version Si la date est vide (''), la version n'a pas de date de fin de support actif prévue, l'état reste à 'stable' Si la date est supérieure à la date du jour, l'état reste à 'stable' Sinon l'état est 'security'
eol: Une date à partir de laquelle il n'y a plus de mise à jour pour la version Si la date est vide (''), la version n'a pas de date de fin de vie prévue, l'état reste à 'security' Si la date est supérieure à la date du jour, l'état reste à 'security' Sinon l'état est 'eol'
Parameters
- $valeurs : array<string|int, string>
-
tableau correspondant aux dates de la version
Return values
stringstateOrGradient()
Filtre calculant la class CSS d'un rectangle SVG de l'état d'une branche.
public
static stateOrGradient(string $branch, string $state) : string
Si la branche est inconnue, renvoie une chaine vide (''). Si l'état n'est pas affichable, renvoie une chaine vide (''). Si cycle de vie de la branche est en dehors des bornes du calendrier, renvoie une chaine vide ('').
- i.e. : fin de vie avant la date de début, sortie effective ou prévue après la date de fin Si l'état de la branche se termine dans les bornes du calendrier, renvoie l'état.
- i.e : stable, security, future Si l'état de la branche n'a pas de fin prévue, renvoie l'état et la mention gradient.
- i.e. : stable-gradient, security-gradient, future-gradient.
Parameters
- $branch : string
- $state : string
Return values
stringtop()
Filtre servant à calculer la coordonnées 'y' dans le calendrier pour une branche données.
public
static top(string $branch) : int
Parameters
- $branch : string
Return values
inttopForText()
Filtre donnant la coordonnées 'y' du nom de la branche dans le calendrier.
public
static topForText(string $branch) : int
Cf. modeles/supportedversions_calendar.html
Parameters
- $branch : string
Tags
Return values
intwidth()
Filtre donnant la largeur du calendrier.
public
static width(int $margin_left) : int
Cf. modeles/supportedversions_calendar.html
Parameters
- $margin_left : int
Tags
Return values
intyears()
Filtre fournissant les années (format 'Y-m-d') composant le calendrier.
public
static years() : array<string|int, string>
Return values
array<string|int, string> —liste des années du calendrier (format 'Y-m-d')
dateHorizCoord()
Renvoie la coordonnée x d'une date dans le calendrier svg.
protected
static dateHorizCoord(DateTime $date) : int
- coordonnée 'x' de début du calendrier si la date est antérieure à la date de début du calendrier
- coordonnée 'x' de fin du calendrier si la date est postérieure à la date de fin du calendrier
Parameters
- $date : DateTime