Fonctions
Table of Contents
Constants
- _SVP_VERSION_SPIP_MAX = '5.0.999'
- Version SPIP maximale
- _SVP_VERSION_SPIP_MIN = '1.9.0'
- Version SPIP minimale quand un plugin ne le precise pas
Functions
- fusionner_intervalles() : string
- Fusionne 2 intervalles de compatibilité
- extraire_bornes() : array<string|int, mixed>
- Extrait les valeurs d'un intervalle de compatibilité.
- construire_intervalle() : string
- Contruit un intervalle de compatibilité
- compiler_branches_spip() : string
- Retourne la liste des branches de SPIP comprises dans un intervalle de compatibilité donné.
- entite2charset() : string
- Transforme un texte écrit en entités HTML, dans le charset UTF-8
- entite2utf8() : string
- Transforme un texte écrit en entités HTML, dans le charset UTF-8
- balise_identique() : bool
- Teste si 2 balises XML sont identiques
- definir_licence() : array<string|int, mixed>
- Déterminer la licence exacte avec un nom et un lien de doc standardisé
- svp_lister_librairies() : array<string|int, mixed>
- Liste les librairies présentes
- normaliser_version() : string
- Retourne '00x.00y.00z' à partir de 'x.y.z'
- svp_importer_charset() : mixed
- svp_afficher_intervalle() : string
- Retourne un texte expliquant l'intervalle de compatibilité avec un plugin ou SPIP
- svp_afficher_etat() : string
- Traduit un type d'état de plugin
- svp_afficher_dependances() : string
- Retourne un texte HTML présentant la liste des dépendances d'un plugin
- svp_afficher_credits() : string
- Retourne un texte HTML présentant les crédits d'un plugin
- svp_afficher_langues() : string
- Retourne un texte HTML présentant la liste des langues et traducteurs d'un plugin
- svp_traduire_type_depot() : string
- Traduit un type de dépot de plugin
- svp_calculer_url_demo() : string
- Calcule l'url exacte d'un lien de démo en fonction de son écriture
- critere_compatible_spip_dist() : mixed
- Critère de compatibilité avec une version précise ou une branche de SPIP ou une liste de branches séparées par une virgule.
- filtre_construire_recherche_plugins() : array<string|int, mixed>
- Retourne la liste des plugins trouvés par une recherche
- filtre_svp_periode_actualisation_depots() : int
- Retourne le nombre d'heures entre chaque actualisation si le cron est activé.
- denormaliser_version() : string
- Retourne 'x.y.z' à partir de '00x.00y.00z'
- test_plugins_auto() : bool
- Teste l'utilisation du répertoire auto des plugins.
- filtre_svp_diff_xyz() : string
- Compare 2 numéros de versions et indique le composant principal qui change : X, Y ou Z.
- filtre_svp_affichage_filtrer_paquets_dist() : bool
- Appel a un pipeline pour filtrer eventuellement l'affichage de certains plugins (ie si on a zen-garden actif, les themes ne sont plus affiches dans la gestion des plugins, mais dans le zen garden)
Constants
_SVP_VERSION_SPIP_MAX
Version SPIP maximale
public
mixed
_SVP_VERSION_SPIP_MAX
= '5.0.999'
Pour l'instant on ne connait pas la borne sup exacte
_SVP_VERSION_SPIP_MIN
Version SPIP minimale quand un plugin ne le precise pas
public
mixed
_SVP_VERSION_SPIP_MIN
= '1.9.0'
Version SPIP correspondant à l'apparition des plugins
Functions
fusionner_intervalles()
Fusionne 2 intervalles de compatibilité
fusionner_intervalles(string $intervalle_a, string $intervalle_b) : string
Soit '[1.9;2.1]' et '[2.1;3.0.]', la fonction retourne '[1.9;3.0.]'
En gros la fonction est utilisé pour calculer l'intervalle de validité d'un plugin ayant plusieurs paquets avec des compatibilités différentes. La compatibilité du plugin est le total de toutes les compatibilités.
Parameters
- $intervalle_a : string
-
Intervalle de compatibilité
- $intervalle_b : string
-
Intervalle de compatibilité
Tags
Return values
string —Intervalle de compatibilité
extraire_bornes()
Extrait les valeurs d'un intervalle de compatibilité.
extraire_bornes(string $intervalle[, bool $initialiser = false ]) : array<string|int, mixed>
Calcule les valeurs min, max et si ces valeurs sont intégrées ou non à l'intervalle. Les bornes vides sont initialisées avec la borne min ou max de SPIP. Les caractères * sont renvoyés tels quels.
Parameters
- $intervalle : string
-
Intervalle de compatibilité, tel que '[2.1;3.0]'
- $initialiser : bool = false
-
- True pour mettre les valeurs connues mini et maxi de SPIP lorsque les bornes ne sont pas renseignées dans l'intervalle.
- False pour ne rien mettre sinon.
Tags
Return values
array<string|int, mixed> —Tableau avec les index :
- min : la borne inférieure, qui contient les index 'valeur' et 'incluse'
- max : la borne supérieure, qui contient les index 'valeur' et 'incluse' Le sous index 'incluse' vaut true si cette borne est incluse dans l'intervalle.
construire_intervalle()
Contruit un intervalle de compatibilité
construire_intervalle(array<string|int, mixed> $bornes[, string $dtd = 'paquet' ]) : string
Parameters
- $bornes : array<string|int, mixed>
-
L'intervalle décrit sous forme de tableau avec pour index :
- min : la borne inférieure, qui contient les index 'valeur' et 'incluse'
- max : la borne supérieure, qui contient les index 'valeur' et 'incluse' Le sous index 'incluse' vaut true si cette borne est incluse dans l'intervalle.
- $dtd : string = 'paquet'
-
DTD de destination (paquet ou plugin) qui influera sur l'écriture à faire en utilisant des parenthèses ou des crochets pour définir l'exclusion d'une intervalle tel que ']2.1.2,3.0.1[' (paquet) ou '(2.1.2,3.0.1)' (plugin)
Tags
Return values
string —Intervalle de compatibilité tel que '[2.1;3.0]'
compiler_branches_spip()
Retourne la liste des branches de SPIP comprises dans un intervalle de compatibilité donné.
compiler_branches_spip(string $intervalle) : string
La borne inférieure ne peut pas posséder le caractère * et peut être libellée x, x.y ou x.y.z (écriture recommandée).
La borne supérieure peut posséder des étoiles en y ou z.
Parameters
- $intervalle : string
-
Intervalle de compatibilité, tel que [2.0.0;3.0.0]
Tags
Return values
string —Branches de SPIP séparées par des virgules, tel que 2.0,2.1,3.0
entite2charset()
Transforme un texte écrit en entités HTML, dans le charset UTF-8
Utiliser entite2utf8 à la place
entite2charset(string $texte[, mixed $charset = null ]) : string
Parameters
- $texte : string
-
Texte avec des entités HTML
- $charset : mixed = null
Return values
string —Texte UTF-8
entite2utf8()
Transforme un texte écrit en entités HTML, dans le charset UTF-8
entite2utf8(string $texte) : string
Parameters
- $texte : string
-
Texte avec des entités HTML
Return values
string —Texte UTF-8
balise_identique()
Teste si 2 balises XML sont identiques
balise_identique(array<string|int, mixed>|string $balise1, array<string|int, mixed>|string $balise2) : bool
Parameters
- $balise1 : array<string|int, mixed>|string
-
Balise à comparer
- $balise2 : array<string|int, mixed>|string
-
Balise à comparer
Return values
bool —True si elles sont identiques, false sinon.
definir_licence()
Déterminer la licence exacte avec un nom et un lien de doc standardisé
definir_licence(string $prefixe, string $nom, string $suffixe, string $version) : array<string|int, mixed>
Parameters
- $prefixe : string
-
Préfixe de la licence tel que gnu, free, cc, creative common
- $nom : string
-
Nom de la licence tel que gpl, lgpl, agpl, fdl, mit, bsd...
- $suffixe : string
-
Suffixe de la licence tel que licence, -sharealike, -nc-nd ...
- $version : string
-
Version de la licence tel que 3.0
Return values
array<string|int, mixed> —Si la licence est connu, retourne 2 index :
- nom : le nom le la licence
- url : lien vers la licence
svp_lister_librairies()
Liste les librairies présentes
svp_lister_librairies() : array<string|int, mixed>
Cherche des librairie dans tous les dossiers 'lib' présents dans chaque chemin déclaré (plugins, squelettes, SPIP). Un répertoire dans un dossier 'lib' est considéré comme une librairie, et le nom de ce répertoire est utilisé comme nom de la librairie.
Return values
array<string|int, mixed> —Tableau de couples (nom de la librairie => répertoire de la librairie)
normaliser_version()
Retourne '00x.00y.00z' à partir de 'x.y.z'
normaliser_version([string $version = '' ]) : string
Retourne la chaine de la version x.y.z sous une forme normalisée permettant le tri naturel. On complète à gauche d'un nombre de zéro manquant pour aller à 3 caractères entre chaque point.
Parameters
- $version : string = ''
-
Numéro de version dénormalisée
Tags
Return values
string —Numéro de version normalisée
svp_importer_charset()
svp_importer_charset(mixed $texte) : mixed
Parameters
- $texte : mixed
svp_afficher_intervalle()
Retourne un texte expliquant l'intervalle de compatibilité avec un plugin ou SPIP
svp_afficher_intervalle(string $intervalle, string $logiciel) : string
Retourne par exemple "2.0 <= SPIP < 3.1"
Parameters
- $intervalle : string
-
L'intervalle tel que déclaré dans paquet.xml. Par exemple "[2.1;3.0.*]"
- $logiciel : string
-
Nom du plugin pour qui est cette intervalle
Return values
string —Texte expliquant l'intervalle
svp_afficher_etat()
Traduit un type d'état de plugin
svp_afficher_etat(string $etat) : string
Si l'état n'existe pas, prendra par défaut 'developpement'
Parameters
- $etat : string
-
Le type d'état (stable, test, ...)
Tags
Return values
string —Traduction de l'état dans la langue en cours
svp_afficher_dependances()
Retourne un texte HTML présentant la liste des dépendances d'un plugin
svp_afficher_dependances(string $balise_serialisee[, string $dependance = 'necessite' ][, string $sep = '<br />' ][, string $lien = 'local' ]) : string
Des liens vers les plugins dépendants sont présents lorsque les plugins en dépendance sont connus dans notre base.
Parameters
- $balise_serialisee : string
-
Informations des dépendances (tableau sérialisé) tel que stocké en base dans la table spip_paquets
- $dependance : string = 'necessite'
-
Type de dépendances à afficher (necessite ou utilise). Une autre valeur indique qu'on demande la liste des librairies dépendantes.
- $sep : string = '<br />'
-
Séparateur entre les noms de dépendances
- $lien : string = 'local'
-
Type de lien affecté au plugin référencé dans la base locale. Prend les valeurs :- local : le lien pointe vers la page publique du plugin sur le site lui-même. Il faut donc que le site propose des pages publiques pour les plugins sinon une 404 sera affichée;
- pluginspip : le lien pointe vers la page du plugin sur le site de référence Plugins SPIP;
- non : aucun lien n'est affiché.
Tags
Return values
string —Texte informant des dépendances
svp_afficher_credits()
Retourne un texte HTML présentant les crédits d'un plugin
svp_afficher_credits(string $balise_serialisee[, string $sep = ', ' ]) : string
Des liens vers les crédits sont présents lorsqu'ils sont déclarés dans le paquet.xml.
Parameters
- $balise_serialisee : string
-
Informations des crédits (tableau sérialisé) tel que stocké en base dans la table spip_paquets
- $sep : string = ', '
-
Séparateur entre les différents crédits
Return values
string —Texte informant des crédits
svp_afficher_langues()
Retourne un texte HTML présentant la liste des langues et traducteurs d'un plugin
svp_afficher_langues(array<string|int, mixed> $langues[, string $sep = ', ' ]) : string
Des liens vers les traducteurs sont présents lorsqu'ils sont connus.
Parameters
- $langues : array<string|int, mixed>
-
Tableau code de langue => traducteurs
- $sep : string = ', '
-
Séparateur entre les différentes langues
Return values
string —Texte informant des langues et traducteurs
svp_traduire_type_depot()
Traduit un type de dépot de plugin
svp_traduire_type_depot(string $type) : string
Parameters
- $type : string
-
Type de dépot (svn, git, manuel)
Return values
string —Titre complet et traduit du type de dépot
svp_calculer_url_demo()
Calcule l'url exacte d'un lien de démo en fonction de son écriture
svp_calculer_url_demo(string $url_demo[, bool $url_absolue = false ]) : string
Parameters
- $url_demo : string
-
URL de démonstration telle que saisie dans le paquet.xml
- $url_absolue : bool = false
-
Indique que seules les url absolues doivent être retournées par la fonction. Tous les autres types d'url renvoient une chaine vide
Return values
string —URL calculée en fonction de l'URL d'entrée
critere_compatible_spip_dist()
Critère de compatibilité avec une version précise ou une branche de SPIP ou une liste de branches séparées par une virgule.
critere_compatible_spip_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Fonctionne sur les tables spip_paquets et spip_plugins. Si aucune valeur n'est explicité dans le critère on interroge le contexte pour trouver une variable compatible_spip et sinon tous les objets sont retournés.
Le ! (NOT) ne fonctionne que sur une branche ou une liste de branches SPIP.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
filtre_construire_recherche_plugins()
Retourne la liste des plugins trouvés par une recherche
filtre_construire_recherche_plugins([string $phrase = '' ][, string $etat = '' ][, string|int $depot = '' ][, bool|string $afficher_exclusions = true ][, bool|string $afficher_doublons = false ]) : array<string|int, mixed>
Parameters
- $phrase : string = ''
-
Texte de la recherche
- $etat : string = ''
-
État de plugin (stable, test...)
- $depot : string|int = ''
-
Identifiant de dépot
- $afficher_exclusions : bool|string = true
-
Afficher aussi les paquets déjà installés (true ou 'oui') ou ceux qui ne le sont pas (false) ?
- $afficher_doublons : bool|string = false
-
Afficher toutes les versions de paquet (true ou 'oui') ou seulement la plus récente (false) ?
Tags
Return values
array<string|int, mixed> —Tableau classé par pertinence de résultat
- 'prefixe' => tableau de description du paquet (si pas de doublons demandé)
- n => tableau de descriptions du paquet (si doublons autorisés)
filtre_svp_periode_actualisation_depots()
Retourne le nombre d'heures entre chaque actualisation si le cron est activé.
filtre_svp_periode_actualisation_depots() : int
Return values
int —Nombre d'heures (sinon 0)
denormaliser_version()
Retourne 'x.y.z' à partir de '00x.00y.00z'
denormaliser_version([string $version_normalisee = '' ]) : string
Retourne la chaine de la version x.y.z sous sa forme initiale, sans remplissage à gauche avec des 0.
Parameters
- $version_normalisee : string = ''
-
Numéro de version normalisée
Tags
Return values
string —Numéro de version dénormalisée
test_plugins_auto()
Teste l'utilisation du répertoire auto des plugins.
test_plugins_auto() : bool
Ce répertoire permet de télécharger dedans des plugins lorsqu'il est présent.
Return values
bool —Le répertoire de chargement des plugins auto est-il présent et utilisable ?
filtre_svp_diff_xyz()
Compare 2 numéros de versions et indique le composant principal qui change : X, Y ou Z.
filtre_svp_diff_xyz(string $version1, string $version2) : string
Parameters
- $version1 : string
-
Numéro de version initial
- $version2 : string
-
Numéro de version à comparer
Tags
Return values
string —x | y | z ou une chaîne vide si pas de différence ou erreur.
filtre_svp_affichage_filtrer_paquets_dist()
Appel a un pipeline pour filtrer eventuellement l'affichage de certains plugins (ie si on a zen-garden actif, les themes ne sont plus affiches dans la gestion des plugins, mais dans le zen garden)
filtre_svp_affichage_filtrer_paquets_dist(int $id_paquet) : bool
Parameters
- $id_paquet : int