Changeset 64931 in spip-zone


Ignore:
Timestamp:
Aug 17, 2012, 6:50:21 PM (9 years ago)
Author:
marcimat@…
Message:

Du PHP Doc sur une partie de SVP

Location:
_core_/plugins/svp
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/svp/inc/svp_depoter_distant.php

    r64797 r64931  
    44 * Traitement des dépots distants
    55 *
    6  * Un dépot distant est est une liste de paquets que l'on peut télécharger.
     6 * Un dépot distant est une liste de paquets que l'on peut télécharger.
    77 * Cette liste est donnée par un fichier XML que l'on peut relire
    88 * régulièrement pour actualiser nos informations. Effectivement, chaque
  • _core_/plugins/svp/inc/svp_depoter_local.php

    r64251 r64931  
    11<?php
    22
    3 
    4 /**
    5  * Met a jour les tables paquets et plugins
    6  * en ce qui concerne les paquets locaux (presents sur le site).
    7  *
    8  * On ne met a jour que ce qui a change, sauf si :
    9  * - $force = true
    10  * - ou var_mode=vider_paquets_locaux
    11  * Dans ces cas, toutes les infos locales sont recalculees.
    12  *
     3/**
     4 * Traitement du dépot local
     5 *
     6 * Le dépot local est la liste de paquets qui sont présents sur l'hébergement
     7 * dans un des répertoires de plugins, actifs ou non actifs.
     8 *
     9 * Dans la base, un dépot local est représenté avec un id_dépot nul.
     10 * Il n'y a cependant pas de ligne spécifique décrivant le dépot local
     11 * dans la table SQL spip_depots, mais juste des valeurs id_depot=0 dans
     12 * la table spip_paquets.
     13 *
     14 * @plugin SVP pour SPIP
     15 * @license GPL
     16 * @package SPIP\Plugins\SVP\Depots
     17 */
     18
     19/**
     20 * Met à jour les tables SQL paquets et plugins pour qui concerne
     21 * les paquets locaux (ceux présents sur le site).
     22 *
     23 * On ne met à jour que ce qui a changé, sauf si on force le recalcule
     24 * de toutes les informations locales avec var_mode=vider_paquets_locaux
     25 * dans l'URL ou en mettant le paramètre $force à true.
     26 *
    1327 * @param bool $force
    14  *              Forcer les mises a jour des infos en base de tous les paquets locaux
     28 *     - false : n'actualise que les paquets modifiés
     29 *     - true : efface et recrée la liste de tous les paquets locaux
    1530 * @param array $erreurs_xml
    16  *              Si des erreurs XML sont présentes, elles se retrouvent dans ce tableau
    17  * @return
     31 *     Si des erreurs XML sont présentes, elles se retrouvent dans ce tableau
     32 * @return string
     33 *     Temps d'exécution
    1834**/
    1935function svp_actualiser_paquets_locaux($force = false, &$erreurs_xml = array()) {
     
    4056
    4157/**
    42  * Calcul la description de chaque paquet local
     58 * Calcule la description de chaque paquet local
    4359 *
    4460 * Les paquets peuvent être stockés à 3 endroits :
     
    4763 *
    4864 * @param array $erreurs_xml
    49  *              Les erreurs XML éventuelles des paquet.xml se retrouvent dedans s'il y en a
     65 *     Les erreurs XML éventuelles des paquet.xml se retrouvent dedans s'il y en a
    5066 * @return array
    51  *              Descriptions des paquets (intégrant un hash), stockés par
    52  *              constante, puis par chemin.
    53  *              array[_DIR_PLUGIN*][$chemin] = description
     67 *     Descriptions des paquets (intégrant un hash), stockés par
     68 *     constante, puis par chemin.
     69 *     array[_DIR_PLUGIN*][$chemin] = description
    5470**/
    5571function svp_descriptions_paquets_locaux(&$erreurs_xml = array()) {
     
    87103
    88104
    89 // supprime les paquets et plugins locaux.
     105/**
     106 * Supprime tous les paquets et plugins locaux.
     107**/
    90108function svp_base_supprimer_paquets_locaux() {
    91109        sql_delete('spip_paquets', 'id_depot = ' . 0); //_paquets locaux en 0
     
    95113
    96114/**
    97  * Actualise les informations en base
    98  * sur les paquets locaux
     115 * Actualise les informations en base sur les paquets locaux
    99116 * en ne modifiant que ce qui a changé.
    100117 *
    101  * @param array $plugins liste d'identifiant de plugins
     118 * @param array $paquets_locaux
     119 *     Descriptions des paquets (intégrant un hash), stockés par
     120 *     constante, puis par chemin.
     121 *     array[_DIR_PLUGIN*][$chemin] = description
    102122**/
    103123function svp_base_modifier_paquets_locaux($paquets_locaux) {
     
    151171
    152172
    153 
     173/**
     174 * Insère en base tous les paquets locaux transmis
     175 *
     176 * De chaque description est extrait la partie plugin (1 seul plugin
     177 * par préfixe de plugin connu) et la partie paquet (il peut y avoir plusieurs
     178 * paquets pour un même préfixe de plugin).
     179 *
     180 * @note
     181 *     On essaie au mieux de faire des requêtes d'insertions multiples,
     182 *     mieux gérées par les moteurs SQL (particulièrement pour SQLite)
     183 *
     184 * @param array $paquets_locaux
     185 *     Descriptions des paquets (intégrant un hash), stockés par
     186 *     constante, puis par chemin.
     187 *     array[_DIR_PLUGIN*][$chemin] = description
     188**/
    154189function svp_base_inserer_paquets_locaux($paquets_locaux) {
    155190        include_spip('inc/svp_depoter_distant');
     
    398433}
    399434
    400 // Construit le contenu multi des balises nom, slogan et description a partir des items de langue
    401 // contenus dans les fichiers paquet-prefixe_langue.php
     435/**
     436 * Construit le contenu multilangue (tag <multi>) des balises nom, slogan
     437 * et description à partir des items de langue contenus dans le fichier
     438 * paquet-prefixe_langue.php
     439 *
     440 * @param string $prefixe     Préfixe du plugin
     441 * @param string $dir_source  Chemin d'accès du plugin
     442 * @return array
     443 *     Tableau clé => texte multilangue entre <multi> et </multi>
     444 *     Les clés peuvent être 'nom', 'slogan' et 'description', mais
     445 *     seules les clés ayant une explication dans la chaine de langue
     446 *     sont retournées.
     447 */
    402448function svp_compiler_multis($prefixe, $dir_source) {
    403449
     
    444490
    445491/**
    446  * Met à jour les informations d'obsolescence
    447  * des paquets locaux.
    448  *
     492 * Met à jour les informations d'obsolescence des paquets locaux.
     493 *
     494 * L'obsolescence indique qu'un paquet est plus ancien (de version ou état
     495 * moins avancé) qu'un autre également présent localement.
     496 *
    449497 * @param array $ids_plugin
    450  *              Identifiant de plugins concernes par les mises a jour
    451  *              En cas d'absence, passera sur tous les paquets locaux
     498 *     Liste d'identifiants de plugins
     499 *     En cas d'absence, passera sur tous les paquets locaux
    452500**/
    453501function svp_corriger_obsolete_paquets($ids_plugin = array()) {
     
    552600 * Supprime les plugins devenus orphelins dans cette liste.
    553601 *
    554  * @param array $plugins liste d'identifiant de plugins
    555 **/
    556 function svp_supprimer_plugins_orphelins($plugins) {
     602 * @param array $ids_plugin
     603 *     Liste d'identifiants de plugins
     604 * @return array
     605 *     Liste de plugins non orphelins
     606**/
     607function svp_supprimer_plugins_orphelins($ids_plugin) {
    557608        // tous les plugins encore lies a des depots...
    558         if ($plugins) {
    559                 $p = sql_allfetsel('DISTINCT(p.id_plugin)', array('spip_plugins AS p', 'spip_paquets AS pa'), array(sql_in('p.id_plugin', $plugins), 'p.id_plugin=pa.id_plugin'));
     609        if ($ids_plugin) {
     610                $p = sql_allfetsel('DISTINCT(p.id_plugin)', array('spip_plugins AS p', 'spip_paquets AS pa'), array(sql_in('p.id_plugin', $ids_plugin), 'p.id_plugin=pa.id_plugin'));
    560611                $p = array_map('array_shift', $p);
    561                 $diff = array_diff($plugins, $p);
     612                $diff = array_diff($ids_plugin, $p);
    562613                // pour chaque plugin non encore utilise, on les vire !
    563614                sql_delete('spip_plugins', sql_in('id_plugin', $diff));
    564615                return $p; // les plugins encore en vie !
    565616        }
    566 }
    567 
    568 
    569 /**
    570  * Cherche dans les dépots distant
    571  * un plugin qui serait plus à jour que le prefixe, version et état que l'on transmet
     617        return array();
     618}
     619
     620
     621/**
     622 * Cherche dans les dépots distants un plugin qui serait plus à jour
     623 * que le prefixe, version et état que l'on transmet
    572624 *
    573625 * @param string $prefixe
    574626 *              Préfixe du plugin
    575627 * @param string $version
    576  *              Version du paquet a comparer
     628 *              Version du paquet à comparer
    577629 * @param int $etatnum
    578630 *              État du paquet numérique
    579631 * @return string
    580  *              Version plus a jour, sinon rien
     632 *              Version plus à jour, sinon rien
    581633**/
    582634function svp_rechercher_maj_version($prefixe, $version, $etatnum) {
     
    615667
    616668/**
    617  * Actualise maj_version pour tous les paquets locaux
    618  *
     669 * Actualise l'information 'maj_version' pour tous les paquets locaux
    619670**/
    620671function svp_actualiser_maj_version() {
  • _core_/plugins/svp/inc/svp_outiller.php

    r64797 r64931  
    272272
    273273
    274 // Determiner la licence exacte avec un nom et un lien de doc standardise
     274/**
     275 * Déterminer la licence exacte avec un nom et un lien de doc standardisé
     276 *
     277 * @param string $prefixe
     278 *     Préfixe de la licence tel que gnu, free, cc, creative common
     279 * @param string $nom
     280 *     Nom de la licence tel que gpl, lgpl, agpl, fdl, mit, bsd...
     281 * @param string $suffixe
     282 *     Suffixe de la licence tel que licence, -sharealike, -nc-nd ...
     283 * @param string $version
     284 *     Version de la licence tel que 3.0
     285 * @return array
     286 *     Si la licence est connu, retourne 2 index :
     287 *     - nom : le nom le la licence
     288 *     - url : lien vers la licence
     289 */
    275290function definir_licence($prefixe, $nom, $suffixe, $version) {
    276291        global $licences_plugin;
  • _core_/plugins/svp/inc/svp_phraser.php

    r62927 r64931  
    11<?php
     2
     3/**
     4 * Fichier permettant de phraser les XML des fichiers paquet.xml et plugin.xml
     5 * ainsi que des fichiers décrivant le contenu d'un dépot de paquets.
     6 *
     7 * @plugin SVP pour SPIP
     8 * @license GPL
     9 * @package SPIP\Plugins\SVP\Plugins
     10**/
    211
    312if (!defined("_ECRIRE_INC_VERSION")) return;
     
    615include_spip('inc/config');
    716
    8 // Mode d'utilisation de SVP runtime ou pas :
    9 // - En mode runtime (true), on ne charge que les plugins compatibles avec la version courante
    10 // - En mode non runtime (false) on charge tous les plugins : cas du site Plugins SPIP
    11 // Runtime est le mode par defaut
    1217if (!defined('_SVP_MODE_RUNTIME')) {
     18/**
     19 * Mode d'utilisation de SVP runtime ou pas :
     20 * - En mode runtime (true), on ne charge que les plugins compatibles avec la version courante
     21 * - En mode non runtime (false) on charge tous les plugins : cas du site Plugins SPIP
     22 * Runtime est le mode par defaut
     23 * @var bool */
    1324        define('_SVP_MODE_RUNTIME', (lire_config('svp/mode_runtime', 'oui') == 'oui' ? true : false));
    1425}
    1526
    1627
    17 // Type parseur XML a appliquer pour recuperer les infos du plugin
    18 // - plugin, pour utiliser plugin.xml
    19 // - paquet, pour paquet.xml
     28// Type parseur XML à appliquer pour récupérer les infos du plugin
     29/** @var string  Phraseur à utiliser pour un XML de plugin.xml */
    2030define('_SVP_DTD_PLUGIN', 'plugin');
     31/** @var string  Phraseur à utiliser pour un XML de paquet.xml */
    2132define('_SVP_DTD_PAQUET', 'paquet');
    2233
     
    5162);
    5263
    53 // Liste des balises techniques autorisees dans la balise <spip> et des balises autorisant une traduction
    54 # define('_BALISES_TECHNIQUES', serialize($balises_techniques));
     64/** Liste des balises techniques autorisées dans la balise <spip> */
    5565$GLOBALS['balises_techniques'] = array(
    5666        'menu', 'chemin', 'lib', 'necessite', 'onglet', 'procure', 'pipeline', 'utilise',
    5767        'options', 'fonctions', 'install');
    58        
    59 # define('_BALISES_MULTIS', serialize($balises_multis));
     68# define('_BALISES_TECHNIQUES', serialize($balises_techniques));
     69       
     70/** Liste des balises autorisant une traduction */
    6071$GLOBALS['balises_multis'] = array(
    6172        'nom', 'slogan', 'description');
    62 
    63 
    64 /**
    65  * Phraser un fichier de source dont l'url est donnee
    66  * Le fichier est un fichier XML contenant deux balises principales :
     73# define('_BALISES_MULTIS', serialize($balises_multis));
     74
     75
     76/**
     77 * Phrase un fichier décrivant un dépot, dont le chemin local est donné
     78 *
     79 * Le fichier est au format XML et contient deux balises principales :
    6780 * - <depot>...</depot> : informations de description du depot (facultatif)
    6881 * - <archives>...</archives> : liste des informations sur chaque archive (obligatoire)
    6982 *
     83 * La fonction met en cache le résultat du phrasage de chaque archive et ne
     84 * rephrase que les archives ayant changées.
     85 *
    7086 * @param string $fichier_xml
    71  *   nom du fichier XML de description du depot
     87 *     Chemin local du fichier XML de description du dépot
    7288 * @return array|bool
     89 *     false si erreur,
     90 *     Tableau de 2 index sinon :
     91 *     - depot : description du dépot
     92 *     - paquets :
    7393 */
    7494function svp_phraser_depot($fichier_xml) {
     
    120140
    121141
    122 // Phraser la liste des balises <archive>
    123         // Chaque bloc XML est constitue de 3 sous-blocs principaux :
    124         // - <zip> : contient les balises d'information sur le zip (obligatoire)
    125         // - <traductions> : contient la compilation des informations de traduction (facultatif)
    126         // - <plugin> ou <paquet> suivant la DTD : le contenu du fichier plugin.xml ou paquet.xml (facultatif)
     142/**
     143 * Phrase la liste des balises <archive>
     144 *
     145 * Chaque bloc XML est constitue de 3 sous-blocs principaux :
     146 * - <zip> : contient les balises d'information sur le zip (obligatoire)
     147 * - <traductions> : contient la compilation des informations de traduction (facultatif)
     148 * - <plugin> ou <paquet> suivant la DTD : le contenu du fichier plugin.xml ou paquet.xml (facultatif)
     149 *
     150 * @param array $archives
     151 *     Tableau de la liste des archives trouvées dans la description d'un dépot
     152 * @param array $md5_cache
     153 *     Tableau des descriptions d'archives déjà connues : on supprime
     154 *     à la fin celles qui ne font plus parties du dépot.
     155 * @return array
     156 *     Tableau décrivant chaque archive, avec en index l'url de l'archive.
     157 *     Tableau (url => Tableau de description de l'archive)
     158 */
    127159function svp_phraser_archives($archives,&$md5_cache=array()) {
    128160        include_spip('inc/plugin');
     
    201233
    202234
    203 // Phrase le contenu du xml, soit la ou les balises <plugin> ou <paquet> suivant la DTD
    204 // (peut etre appelee via archives.xml ou via un xml de plugin)
    205 // et phrase la balise <multis> dans le cas d'une DTD paquet qui contient les traductions du
    206 // nom, slogan et description
     235
     236/**
     237 * Phrase le contenu du XML décrivant une archive suivant une DTD
     238 * de plugin.xml ou de paquet.xml donnée
     239 *
     240 * La fonction peut-être appelée via archives.xml ou via un xml de plugin.
     241 * Elle phrase la balise <multi> dans le cas d'une DTD paquet qui contient
     242 * les traductions du nom, slogan et description
     243 *
     244 * @global $balises_multis
     245 *
     246 * @param string $dtd
     247 *     Nom du type de dtd : plugin ou paquet (pour phraser un plugin.xml ou un paquet.xml)
     248 * @param string $contenu
     249 *     Contenu XML à phraser
     250 * @return array
     251 *     Description du plugin
     252**/
    207253function svp_phraser_plugin($dtd, $contenu) {
    208254        global $balises_multis;
     
    254300
    255301
    256 // Phrase le contenu de la balise <zip>
    257 // -- nom du zip, taille, date, dernier commit, arborescence relative des sources...
     302/**
     303 * Phrase le contenu de la balise <zip>
     304 *
     305 * Extrait du XML les informations du zip
     306 *
     307 * @param string $contenu
     308 *     Description XML de l'archive
     309 * @return array
     310 *     Description du zip.
     311 *     - Index 'file' : nom du zip
     312 *     - Index 'size' : taille
     313 *     - Index 'date' : date de création
     314 *     - Index 'last_commit' : date du dernier commit
     315 *     - Index 'source' : arborescence relative des sources
     316 */
    258317function svp_phraser_zip($contenu) {
    259318        static $balises_zip = array('file', 'size', 'date', 'source', 'last_commit');
     
    267326
    268327
    269 // Phrase le contenu d'une balise <traductions> en un tableau plus facilement utilisable
    270 // -- Par module, la langue de reference, le gestionnaire, les langues traduites et leurs traducteurs
     328/**
     329 * Phrase le contenu d'une balise <traductions> en un tableau plus
     330 * facilement utilisable
     331 *
     332 * @param string $contenu
     333 *     Contenu XML de la balise <traductions>
     334 * @return array
     335 *     Tableau complexe avec pour index les noms des modules de langue et pour
     336 *     valeur leur description. Chaque description contient dedans 3 index :
     337 *     - reference : la langue de référence
     338 *     - gestionnaire : quel logiciel à servi à gérer les traductions
     339 *     - langues : tableau classé par langue puis par traducteurs, qui indique
     340 *       l'ensemble des traducteurs pour chacune des langues présentes
     341 */
    271342function svp_phraser_traductions($contenu) {
    272343       
     
    274345        if (is_array($arbre = spip_xml_parse($contenu))) {
    275346                foreach ($arbre as $_tag => $_langues) {
    276                         // On commence par les balises <traduction> et leurs attributs 
     347                        // On commence par les balises <traduction> et leurs attributs
    277348                        list($tag, $attributs_traduction) = spip_xml_decompose_tag($_tag);
    278349                        $traductions[$attributs_traduction['module']]['reference'] = $attributs_traduction['reference'];
     
    301372
    302373
    303 // Aplatit plusieurs cles d'un arbre xml dans un tableau
    304 // -- Effectue un trim() au passage
    305 // -- le mode 'nonvide' permet de ne pas modifier une valeur du tableau si sa valeur dans
    306 //    l'arbre est vide et d'y affecter sa valeur par defaut si elle existe, la chaine vide sinon
     374/**
     375 * Aplatit plusieurs clés d'un arbre xml dans un tableau
     376 *
     377 * Effectue un trim() de la valeur trouvée dans l'arbre
     378 *
     379 * @param array $balises
     380 *     Liste de noms de balises XML.
     381 *     Peut aussi être un tableau indiquant un renommage d'une balise
     382 *     au passage tel que 'x' => 'y' qui cherchera x dans l'arbre XML et
     383 *     l'applatira dans y.
     384 * @param array $arbre_xml
     385 *     Un arbre issu de spip_xml_parse()
     386 * @param string $mode
     387 *     Mode d'affectation des valeurs trouvées
     388 *     - 'vide_et_nonvide' : Affecte une chaine vide si la balise n'est
     389 *       pas trouvée dans l'arbre et affecte la valeur de la balise sinon.
     390 *     - 'nonvide' : Si la balise n'est pas trouvée dans l'arbre ou si son
     391 *       contenu est vide, affecte la valeur du tableau initial concernant
     392 *       cette balise si elle est connue.
     393 * @param array
     394 *     Tableau initial pouvant contenir des valeurs par défaut à affecter
     395 *     à chaque balise avec 'x' => 'valeur'
     396 */
    307397function svp_aplatir_balises($balises, $arbre_xml, $mode='vide_et_nonvide', $tableau_initial=array()) {
    308398        $tableau_aplati = array();
  • _core_/plugins/svp/plugins/fusion_paquet.php

    r62466 r64931  
    11<?php
     2
     3/**
     4 * Fichier permettant de calculer les descriptions
     5 * d'un paquet.xml contenant plusieurs balises <spip>
     6 *
     7 * @plugin SVP pour SPIP
     8 * @license GPL
     9 * @package SPIP\Plugins\SVP\Plugins
     10**/
    211
    312if (!defined('_ECRIRE_INC_VERSION')) return;
     
    514include_spip('inc/svp_outiller');
    615
    7 // Fusion des informations de chaque balise plugin en considerant la compatibilite SPIP
    8 // Pour les balise paquet sans balise spip incluse cette fonction permet de generer une structure
    9 // identique pour les balises dites techniques
     16
     17/**
     18 * Fusion des informations de chaque balise spip d'un paquet.xml en
     19 * considérant la compatibilité SPIP
     20 *
     21 * Pour les balises paquets sans balise spip cette fonction permet de générer
     22 * une structure identique pour les balises dites techniques
     23 *
     24 * @param array $plugins
     25 *     Arbre de description du paquet.xml
     26 * @return array
     27 *     Fusion des éléments classé par balise, puis par compatibilité à SPIP.
     28 *     L'index 0 dans la compatibilité est valable quelque soit la version de SPIP.
     29 */
    1030function plugins_fusion_paquet($plugins) {
    1131        global $balises_techniques;
     
    3656                else {
    3757                        // Balise spip
    38                         // On merge les balises techniques existantes en les rangeant das un sous tableau indexe par
     58                        // On merge les balises techniques existantes en les rangeant dans un sous tableau indexe par
    3959                        // la compatibilite et ce pour chaque balise
    4060                        foreach ($_paquet_spip as $_index => $_balise) {
  • _core_/plugins/svp/plugins/fusion_plugin.php

    r62466 r64931  
    11<?php
     2
     3/**
     4 * Fichier permettant de calculer les descriptions
     5 * d'un plugin.xml contenant plusieurs balises <plugin>
     6 *
     7 * @plugin SVP pour SPIP
     8 * @license GPL
     9 * @package SPIP\Plugins\SVP\Plugins
     10**/
    211
    312if (!defined('_ECRIRE_INC_VERSION')) return;
     
    514include_spip('inc/svp_outiller');
    615
    7 // Fusion des informations de chaque balise plugin en considerant la compatibilite SPIP
    8 // Pour les balise plugin unique cette fonction permet de generer une structure
    9 // identique pour les balises dites techniques
    10 // On limite le traitement a deux balises plugins maximum, ce qui est le cas de tous les plugin.xml actuellement
     16/**
     17 * Fusion des informations de chaque balise plugin d'un plugin.xml en
     18 * considérant la compatibilité SPIP
     19 *
     20 * Pour les balises plugins uniques cette fonction permet de générer une structure
     21 * identique pour les balises dites techniques
     22 *
     23 * On limite le traitement a deux balises plugins maximum,
     24 * ce qui est le cas de tous les plugin.xml actuellement connus
     25 *
     26 * @param array $plugins
     27 *     Arbre des balises plugins présents dans un plugin.xml
     28 * @return array
     29 *     Fusion des éléments classé par balise, puis par compatibilité à SPIP.
     30 *     L'index 0 dans la compatibilité est valable quelque soit la version de SPIP.
     31 */
    1132function plugins_fusion_plugin($plugins) {
    1233        global $balises_techniques;
  • _core_/plugins/svp/plugins/preparer_sql_paquet.php

    r62326 r64931  
    11<?php
    22
     3/**
     4 * Fichier permettant de transformer les données d'un arbre de description
     5 * originaire d'un paquet.xml dans un format compatible avec la base de données
     6 *
     7 * @plugin SVP pour SPIP
     8 * @license GPL
     9 * @package SPIP\Plugins\SVP\Plugins
     10**/
    311if (!defined('_ECRIRE_INC_VERSION')) return;
    412
     13/**
     14 * Pour une description de plugin donnée (issue de la dtd de paquet.xml),
     15 * prépare les données à installer en bdd
     16 *
     17 * Les données sont parfois sérialisées, parfois compilées
     18 * pour tenir compte des spécificités de cette DTD et du stockage en bdd.
     19 *
     20 * @param array $plugin
     21 *     Description de plugin
     22 * @return array
     23 *     Couples clés => valeurs de description du paquet
     24**/
    525function plugins_preparer_sql_paquet($plugin)
    626{
  • _core_/plugins/svp/plugins/preparer_sql_plugin.php

    r62466 r64931  
    11<?php
    22
     3/**
     4 * Fichier permettant de calculer les données SQL à insérer
     5 * à partir d'une arbre de description originaire d'un plugin.xml
     6 *
     7 * @plugin SVP pour SPIP
     8 * @license GPL
     9 * @package SPIP\Plugins\SVP\Plugins
     10**/
     11
    312if (!defined('_ECRIRE_INC_VERSION')) return;
    413
     14/**
     15 * Pour une description de plugin donnée (issue de la dtd de plugin.xml),
     16 * prépare les données à installer en bdd
     17 *
     18 * Les données sont parfois sérialisées, parfois transcodées, parfois compilées
     19 * pour tenir compte des spécificités de cette DTD et du stockage en bdd.
     20 *
     21 * @param array $plugin
     22 *     Description de plugin
     23 * @return array
     24 *     Couples clés => valeurs de description du paquet
     25**/
    526function plugins_preparer_sql_plugin($plugin)
    627{
     
    7899
    79100
     101/**
     102 * Normalise un nom issu d'un plugin.xml
     103 *
     104 * @todo Supprimer cette fonction qui ne sert nulle part ?
     105 *
     106 * @param string $nom
     107 *     Le nom
     108 * @param string $langue
     109 *     La langue à extraire
     110 * @param bool $supprimer_numero
     111 *     Supprimer les numéros ?
     112 * @return string
     113 *     Le nom
     114**/
    80115function normaliser_nom($nom, $langue='', $supprimer_numero=true) {
    81116        include_spip('inc/texte');
     
    108143
    109144
    110 // Eliminer les textes superflus dans les liens (raccourcis [XXX->http...])
    111 // et normaliser l'esperluete pour eviter l'erreur d'entite indefinie
     145/**
     146 * Normalise un lien issu d'un plugin.xml
     147 *
     148 * Éliminer les textes superflus dans les liens (raccourcis [XXX->http...])
     149 * et normaliser l'esperluete pour éviter l'erreur d'entité indéfinie
     150 *
     151 * @param string $url
     152 *     URL à normaliser
     153 * @return string
     154 *     URL normalisée
     155 */
    112156function normaliser_lien($url) {
    113157        if (!preg_match(',https?://[^]\s]+,', $url, $r))
     
    118162
    119163
    120 // - elimination des multi (exclue dans la nouvelle version)
    121 // - transformation en attribut des balises A
    122 // - interpretation des balises BR et LI et de la virgule et du espace+tiret comme separateurs
     164/**
     165 * Normalise un auteur ou une licence issue d'un plugin.xml
     166 *
     167 * - Élimination des multi (exclus dans la nouvelle version)
     168 * - Transformation en attribut des balises A
     169 * - Interprétation des balises BR et LI et de la virgule et du
     170 *   espace+tiret comme séparateurs
     171 *
     172 * @param string $texte
     173 *     Texte de la balise
     174 * @param string $balise
     175 *     Nom de la balise (auteur | licence)
     176 * @return array
     177 *     Tableau listant les auteurs, licences et copyright trouvés
     178 */
    123179function normaliser_auteur_licence($texte, $balise) {
    124180        include_spip('inc/filtres');
     
    199255
    200256
    201 // Expanse les multi en un tableau de textes complets, un par langue
     257/**
     258 * Expanse les multi en un tableau de textes complets, un par langue
     259 *
     260 * @param string $texte
     261 *     Le texte
     262 * @return array
     263 *     Texte expansé par code de langue : couples (code de langue => texte)
     264 */
    202265function normaliser_multi($texte) {
    203266        include_spip('inc/filtres');
  • _core_/plugins/svp/prive/squelettes/navigation/svp_admin_plugin_fonctions.php

    r57964 r64931  
    11<?php
    22
     3/**
     4 * Charger les fonctions d'outillage pour la page d'administration des plugins
     5 *
     6 * @package SPIP\Plugins\SVP\Fonctions
     7**/
    38if (!defined('_ECRIRE_INC_VERSION')) return;
    49
Note: See TracChangeset for help on using the changeset viewer.