Package Fonctions

Fichiers du package

FichierDescription
svp_admin_plugin_fonctions.php

Charger les fonctions d'outillage pour la page d'administration des plugins

svp_fonctions.php

Déclarations de fonctions

svp_outiller.php

Fichier de fonctions

Proposer une amélioration

Liste des constantes

Pour l'instant on ne connait pas la borne sup exacte

Valeur

  • '3.3.999'

Package

Version SPIP correspondant à l'apparition des plugins

Valeur

  • '1.9.0'

Package

Liste des fonctions

boolean balise_identique( array | string $balise1 , array | string $balise2 )

Paramètres

  1. array | string $balise1

    Balise à comparer

  2. array | string $balise2

    Balise à comparer

Retour

  • boolean

    True si elles sont identiques, false sinon.

Package

Balise

  • IDENTIQUE
Proposer une amélioration

Cette balise retourne une liste des branches de SPIP

Avec un paramètre indiquant une branche, la balise retourne une liste des bornes mini et maxi de cette branche.

\Champ balise_SVP_BRANCHES_SPIP( \Champ $p )

Paramètres

  1. \Champ $p

    Pile au niveau de la balise

Retour

  • \Champ

    Pile complétée par le code à générer

Exemples

  • SVP_BRANCHES_SPIP : array('1.9', '2.0', '2.1', ....)

    SVP_BRANCHES_SPIP{3.0} : array('3.0.0', '3.0.999')

Voir également

Package

Balise

  • SVP_BRANCHES_SPIP
Proposer une amélioration
array calcul_svp_branches_spip( string $branche )

Paramètres

  1. string $branche

    Branche dont on veut récupérer les bornes mini et maxi

Retour

  • array

    Liste des branches array('1.9', '2.0', '2.1', ....) ou liste mini et maxi d'une branche array('3.0.0', '3.0.999')

Package

Proposer une amélioration
string compiler_branches_spip( string $intervalle )

Paramètres

  1. string $intervalle

    Intervalle de compatibilité, tel que [2.0.0;3.0.0]

Retour

  • string

    Branches de SPIP séparées par des virgules, tel que 2.0,2.1,3.0

Package

Proposer une amélioration
string construire_intervalle( array $bornes , string $dtd = 'paquet' )

Paramètres

  1. array $bornes

    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.
  2. string $dtd = '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)

Retour

  • string

    Intervalle de compatibilité tel que '[2.1;3.0]'

Package

Proposer une amélioration

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.

void critere_compatible_spip_dist( string $idb , array & $boucles , \Critere $crit )

Paramètres

  1. string $idb

    Identifiant de la boucle

  2. array & $boucles

    AST du squelette

  3. \Critere $crit

    Paramètres du critère dans cette boucle

Retour

  • void

Exemples

  • {compatible_spip} {compatible_spip 2.0.8} ou {compatible_spip 1.9} {compatible_spip #ENV{vers}} ou {compatible_spip #ENV{vers, 1.9.2}} {compatible_spip #GET{vers}} ou {compatible_spip #GET{vers, 2.1}} {compatible_spip '2.0,2.1'} {!compatible_spip 2.0} {!compatible_spip '2.0,2.1'} {!compatible_spip #ENV{vers}} ou {!compatible_spip #GET{vers}}

Package

Critere

  • compatible_spip
Proposer une amélioration
array definir_licence( string $prefixe , string $nom , string $suffixe , string $version )

Paramètres

  1. string $prefixe

    Préfixe de la licence tel que gnu, free, cc, creative common

  2. string $nom

    Nom de la licence tel que gpl, lgpl, agpl, fdl, mit, bsd...

  3. string $suffixe

    Suffixe de la licence tel que licence, -sharealike, -nc-nd ...

  4. string $version

    Version de la licence tel que 3.0

Retour

  • array

    Si la licence est connu, retourne 2 index :

    • nom : le nom le la licence
    • url : lien vers la licence

Package

Proposer une amélioration

Retourne la chaine de la version x.y.z sous sa forme initiale, sans remplissage à gauche avec des 0.

string denormaliser_version( string $version_normalisee = '' )

Paramètres

  1. string $version_normalisee = ''

    Numéro de version normalisée

Retour

  • string

    Numéro de version dénormalisée

Voir également

Package

Proposer une amélioration
string entite2charset( string $texte , string $charset = null )

Paramètres

  1. string $texte

    Texte avec des entités HTML

  2. string $charset = null

Retour

  • string

    $texte Texte dans le charset du site

Package

Proposer une amélioration

Calcule les valeurs min, max et si ces valeurs sont intégrées ou non à l'intervalle.

array extraire_bornes( string $intervalle , boolean $initialiser = false )

Paramètres

  1. string $intervalle

    Intervalle de compatibilité, tel que '[2.1;3.0]'

  2. boolean $initialiser = 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.

Retour

  • array

    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.

Package

Proposer une amélioration
array filtre_construire_recherche_plugins( string $phrase = '' , string $etat = '' , string | integer $depot = '' , boolean | string $afficher_exclusions = true , boolean | string $afficher_doublons = false )

Paramètres

  1. string $phrase = ''

    Texte de la recherche

  2. string $etat = ''

    État de plugin (stable, test...)

  3. string | integer $depot = ''

    Identifiant de dépot

  4. boolean | string $afficher_exclusions = true

    Afficher aussi les paquets déjà installés (true ou 'oui') ou ceux qui ne le sont pas (false) ?

  5. boolean | string $afficher_doublons = false

    Afficher toutes les versions de paquet (true ou 'oui') ou seulement la plus récente (false) ?

Retour

  • array

    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)

Package

Filtre

  • construire_recherche_plugins
Proposer une amélioration
integer filtre_svp_periode_actualisation_depots( )

Retour

  • integer

    Nombre d'heures (sinon 0)

Package

Filtre

  • svp_periode_actualisation_depots
Proposer une amélioration

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.

string fusionner_intervalles( string $intervalle_a , string $intervalle_b )

Paramètres

  1. string $intervalle_a

    Intervalle de compatibilité

  2. string $intervalle_b

    Intervalle de compatibilité

Retour

  • string

    Intervalle de compatibilité

Package

Proposer une amélioration

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.

string normaliser_version( string $version = '' )

Paramètres

  1. string $version = ''

    Numéro de version dénormalisée

Retour

  • string

    Numéro de version normalisée

Voir également

Package

Proposer une amélioration

Des liens vers les crédits sont présents lorsqu'ils sont déclarés dans le paquet.xml.

string svp_afficher_credits( string $balise_serialisee , string $sep = ', ' )

Paramètres

  1. string $balise_serialisee

    Informations des crédits (tableau sérialisé) tel que stocké en base dans la table spip_paquets

  2. string $sep = ', '

    Séparateur entre les différents crédits

Retour

  • string

    Texte informant des crédits

Package

Proposer une amélioration

Des liens vers les plugins dépendants sont présents lorsque les plugins en dépendance sont connus dans notre base.

string svp_afficher_dependances( string $balise_serialisee , string $dependance = 'necessite' , string $sep = '<br />' , string $lien = 'local' )

Paramètres

  1. string $balise_serialisee

    Informations des dépendances (tableau sérialisé) tel que stocké en base dans la table spip_paquets

  2. string $dependance = 'necessite'

    Type de dépendances à afficher (necessite ou utilise). Une autre valeur indique qu'on demande la liste des librairies dépendantes.

  3. string $sep = '<br />'

    Séparateur entre les noms de dépendances

  4. string $lien = '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é.

Retour

  • string

    Texte informant des dépendances

Package

Proposer une amélioration

Si l'état n'existe pas, prendra par défaut 'developpement'

string svp_afficher_etat( string $etat )

Paramètres

  1. string $etat

    Le type d'état (stable, test, ...)

Retour

  • string

    Traduction de l'état dans la langue en cours

Voir également

Package

Proposer une amélioration

Retourne par exemple "2.0 <= SPIP < 3.1"

string svp_afficher_intervalle( string $intervalle , string $logiciel )

Paramètres

  1. string $intervalle

    L'intervalle tel que déclaré dans paquet.xml. Par exemple "[2.1;3.0.*]"

  2. string $logiciel

    Nom du plugin pour qui est cette intervalle

Retour

  • string

    Texte expliquant l'intervalle

Package

Proposer une amélioration

Des liens vers les traducteurs sont présents lorsqu'ils sont connus.

string svp_afficher_langues( array $langues , string $sep = ', ' )

Paramètres

  1. array $langues

    Tableau code de langue => traducteurs

  2. string $sep = ', '

    Séparateur entre les différentes langues

Retour

  • string

    Texte informant des langues et traducteurs

Package

Proposer une amélioration

Liste le nombre de plugins et de paquets d'un dépot Indique aussi le nombre de dépots si l'on ne demande pas de dépot particulier.

string svp_afficher_statistiques_globales( integer $id_depot )

Paramètres

  1. integer $id_depot

    Identifiant du dépot

Retour

  • string

    Code HTML présentant les statistiques du dépot

Utilise

Package

Proposer une amélioration
string svp_calculer_url_demo( string $url_demo , boolean $url_absolue = false )

Paramètres

  1. string $url_demo

    URL de démonstration telle que saisie dans le paquet.xml

  2. boolean $url_absolue = false

    Indique que seules les url absolues doivent être retournées par la fonction. Tous les autres types d'url renvoient une chaine vide

Retour

  • string

    URL calculée en fonction de l'URL d'entrée

Package

Proposer une amélioration

Calcule, pour un type d'entité demandé (depot, plugin, paquet, catégorie) leur nombre en fonction de certaines contraintes, tel que l'appartenance à un certain dépot, une certaine catégorie ou une certaine branche de SPIP.

Lorsque l'entité demandée est un dépot, le tableau des totaux possède, en plus du nombre de dépots, le nombre de plugins et paquets.

array svp_compter( string $entite , integer $id_depot , string $categorie = '' , string $compatible_spip = '' )

Paramètres

  1. string $entite

    De quoi veut-on obtenir des comptes. Peut être 'depot', 'plugin', 'paquet' ou 'categorie'

  2. integer $id_depot

    Identifiant du dépot Zéro (par défaut) signifie ici : «dans tous les dépots distants» (id_dépot>0) et non «dans le dépot local»

  3. string $categorie = ''

    Type de catégorie (auteur, communication, date...)

  4. string $compatible_spip = ''

    Numéro de branche de SPIP. (3.0, 2.1, ...)

Retour

  • array

    Couples (entite => nombre).

Package

Note

  • Attention le critère de compatibilite SPIP pris en compte est uniquement celui d'une branche SPIP
Proposer une amélioration

Calcule différents totaux pour un dépot donné et retourne un texte de ces différents totaux. Les totaux correspondent par défaut aux plugins et paquets, mais l'on peut demander le total des autres contributions avec le second paramètre.

string svp_compter_depots( integer $id_depot , string $contrib = 'plugin' )

Paramètres

  1. integer $id_depot

    Identifiant du dépot Zéro (par défaut) signifie ici : «dans tous les dépots distants» (id_dépot>0) et non «dans le dépot local»

  2. string $contrib = 'plugin'

    Type de total demandé ('plugin' ou autre) Si 'plugin' : indique le nombre de plugins et de paquets du dépot Si autre chose : indique le nombre des autres contributions, c'est à dire des zips qui ne sont pas des plugins, comme certaines libraires ou certains jeux de squelettes.

Retour

  • string

    Texte indiquant certains totaux tel que nombre de plugins, nombre de paquets...

Utilise

Package

Proposer une amélioration

Calcule le nombre de plugins correspondant à certaines contraintes, tel que l'appartenance à un certain dépot, une certaine catégorie ou une certaine branche de SPIP et retourne une phrase traduite tel que «64 plugins disponibles»

string svp_compter_plugins( integer $id_depot , string $categorie = '' , string $compatible_spip = '' )

Paramètres

  1. integer $id_depot

    Identifiant du dépot Zéro (par défaut) signifie ici : «dans tous les dépots distants» (id_dépot>0) et non «dans le dépot local»

  2. string $categorie = ''

    Type de catégorie (auteur, communication, date...)

  3. string $compatible_spip = ''

    Numéro de branche de SPIP. (3.0, 2.1, ...)

Retour

  • string

    Texte indiquant un nombre total de paquets

Utilise

Package

Proposer une amélioration

Calcule le nombre de paquets correspondant à certaines contraintes, tel que l'appartenance à un certain dépot, une certaine catégorie ou une certaine branche de SPIP et retourne une phrase traduite tel que «78 paquets disponibles»

string svp_compter_telechargements( integer $id_depot , string $categorie = '' , string $compatible_spip = '' )

Paramètres

  1. integer $id_depot

    Identifiant du dépot Zéro (par défaut) signifie ici : «dans tous les dépots distants» (id_dépot>0) et non «dans le dépot local»

  2. string $categorie = ''

    Type de catégorie (auteur, communication, date...)

  3. string $compatible_spip = ''

    Numéro de branche de SPIP. (3.0, 2.1, ...)

Retour

  • string

    Texte indiquant un nombre total de paquets

Utilise

Package

Proposer une amélioration
boolean svp_dependances_existe( string $balise_serialisee )

Paramètres

  1. string $balise_serialisee

    Informations des dépendances (tableau sérialisé) tel que stocké en base dans la table spip_paquets

Retour

  • boolean

    Le plugin possède t'il des dépendances ?

Package

Proposer une amélioration
void svp_importer_charset( $texte )

Paramètres

  1. $texte

Package

Proposer une amélioration

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.

array svp_lister_librairies( )

Retour

  • array

    Tableau de couples (nom de la librairie => répertoire de la librairie)

Package

Proposer une amélioration
string svp_traduire_type_depot( string $type )

Paramètres

  1. string $type

    Type de dépot (svn, git, manuel)

Retour

  • string

    Titre complet et traduit du type de dépot

Package

Proposer une amélioration

Ce répertoire permet de télécharger dedans des plugins lorsqu'il est présent.

boolean test_plugins_auto( )

Retour

  • boolean

    Le répertoire de chargement des plugins auto est-il présent et utilisable ?

Package

Proposer une amélioration